From 43064520aadfa933984d4dd3e609427155695633 Mon Sep 17 00:00:00 2001 From: MarJMue <49639740+MarJMue@users.noreply.github.com> Date: Tue, 23 Sep 2025 23:27:26 +0200 Subject: [PATCH 1/6] Add annotations to first set of examples --- examples/Basic Usage/Basic Usage.ipynb | 244 +++++----- examples/Bragg-mirror/Bragg-Mirror.ipynb | 187 ++++---- examples/Interfaces/Interferences.ipynb | 136 ++++-- .../Interfaces/interface-reflection.ipynb | 421 +++++++++++++----- 4 files changed, 631 insertions(+), 357 deletions(-) diff --git a/examples/Basic Usage/Basic Usage.ipynb b/examples/Basic Usage/Basic Usage.ipynb index 7cc1cd05..4b627e06 100644 --- a/examples/Basic Usage/Basic Usage.ipynb +++ b/examples/Basic Usage/Basic Usage.ipynb @@ -6,11 +6,11 @@ "metadata": { "collapsed": false, "execution": { - "iopub.execute_input": "2024-06-28T09:40:55.239337Z", - "iopub.status.busy": "2024-06-28T09:40:55.239204Z", - "iopub.status.idle": "2024-06-28T09:40:55.532451Z", - "shell.execute_reply": "2024-06-28T09:40:55.531753Z", - "shell.execute_reply.started": "2024-06-28T09:40:55.239324Z" + "iopub.execute_input": "2025-09-23T20:59:16.493611Z", + "iopub.status.busy": "2025-09-23T20:59:16.493455Z", + "iopub.status.idle": "2025-09-23T20:59:16.775860Z", + "shell.execute_reply": "2025-09-23T20:59:16.775560Z", + "shell.execute_reply.started": "2025-09-23T20:59:16.493596Z" }, "jupyter": { "outputs_hidden": false @@ -25,10 +25,16 @@ "cell_type": "markdown", "metadata": {}, "source": [ + "# Basic usage of pyElli\n", "\n", - "# Basic usage\n", - "\n", - "Basic usage of building a model and fitting it to measurement data of SiO2 on Si.\n" + "Basic usage of building a model and fitting it to measurement data of SiO2 on Si." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Import required libraries" ] }, { @@ -37,11 +43,11 @@ "metadata": { "collapsed": false, "execution": { - "iopub.execute_input": "2024-06-28T09:40:55.533120Z", - "iopub.status.busy": "2024-06-28T09:40:55.532970Z", - "iopub.status.idle": "2024-06-28T09:40:56.212872Z", - "shell.execute_reply": "2024-06-28T09:40:56.212325Z", - "shell.execute_reply.started": "2024-06-28T09:40:55.533105Z" + "iopub.execute_input": "2025-09-23T20:59:16.776296Z", + "iopub.status.busy": "2025-09-23T20:59:16.776161Z", + "iopub.status.idle": "2025-09-23T20:59:18.200236Z", + "shell.execute_reply": "2025-09-23T20:59:18.199917Z", + "shell.execute_reply.started": "2025-09-23T20:59:16.776285Z" }, "jupyter": { "outputs_hidden": false @@ -78,11 +84,11 @@ "metadata": { "collapsed": false, "execution": { - "iopub.execute_input": "2024-06-28T09:40:56.213562Z", - "iopub.status.busy": "2024-06-28T09:40:56.213372Z", - "iopub.status.idle": "2024-06-28T09:40:56.222229Z", - "shell.execute_reply": "2024-06-28T09:40:56.221782Z", - "shell.execute_reply.started": "2024-06-28T09:40:56.213551Z" + "iopub.execute_input": "2025-09-23T20:59:18.200754Z", + "iopub.status.busy": "2025-09-23T20:59:18.200569Z", + "iopub.status.idle": "2025-09-23T20:59:18.207084Z", + "shell.execute_reply": "2025-09-23T20:59:18.206687Z", + "shell.execute_reply.started": "2025-09-23T20:59:18.200743Z" }, "jupyter": { "outputs_hidden": false @@ -118,11 +124,11 @@ "metadata": { "collapsed": false, "execution": { - "iopub.execute_input": "2024-06-28T09:40:56.222867Z", - "iopub.status.busy": "2024-06-28T09:40:56.222729Z", - "iopub.status.idle": "2024-06-28T09:40:56.226619Z", - "shell.execute_reply": "2024-06-28T09:40:56.226318Z", - "shell.execute_reply.started": "2024-06-28T09:40:56.222856Z" + "iopub.execute_input": "2025-09-23T20:59:18.207502Z", + "iopub.status.busy": "2025-09-23T20:59:18.207383Z", + "iopub.status.idle": "2025-09-23T20:59:18.210591Z", + "shell.execute_reply": "2025-09-23T20:59:18.210288Z", + "shell.execute_reply.started": "2025-09-23T20:59:18.207492Z" }, "jupyter": { "outputs_hidden": false @@ -162,11 +168,11 @@ "metadata": { "collapsed": false, "execution": { - "iopub.execute_input": "2024-06-28T09:40:56.227173Z", - "iopub.status.busy": "2024-06-28T09:40:56.227044Z", - "iopub.status.idle": "2024-06-28T09:40:56.804251Z", - "shell.execute_reply": "2024-06-28T09:40:56.803638Z", - "shell.execute_reply.started": "2024-06-28T09:40:56.227162Z" + "iopub.execute_input": "2025-09-23T20:59:18.210985Z", + "iopub.status.busy": "2025-09-23T20:59:18.210884Z", + "iopub.status.idle": "2025-09-23T20:59:18.865286Z", + "shell.execute_reply": "2025-09-23T20:59:18.864982Z", + "shell.execute_reply.started": "2025-09-23T20:59:18.210975Z" }, "jupyter": { "outputs_hidden": false @@ -234,11 +240,11 @@ "metadata": { "collapsed": false, "execution": { - "iopub.execute_input": "2024-06-28T09:40:56.806192Z", - "iopub.status.busy": "2024-06-28T09:40:56.805780Z", - "iopub.status.idle": "2024-06-28T09:40:57.028076Z", - "shell.execute_reply": "2024-06-28T09:40:57.027451Z", - "shell.execute_reply.started": "2024-06-28T09:40:56.806174Z" + "iopub.execute_input": "2025-09-23T20:59:18.866759Z", + "iopub.status.busy": "2025-09-23T20:59:18.866566Z", + "iopub.status.idle": "2025-09-23T20:59:19.111406Z", + "shell.execute_reply": "2025-09-23T20:59:19.111105Z", + "shell.execute_reply.started": "2025-09-23T20:59:18.866747Z" }, "jupyter": { "outputs_hidden": false @@ -248,7 +254,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "96dcd81d9bfd47bb8a71c50eb1ce3721", + "model_id": "4b62f0b8e6874e34824c50c4c0378acd", "version_major": 2, "version_minor": 0 }, @@ -308,21 +314,31 @@ "metadata": { "collapsed": false, "execution": { - "iopub.execute_input": "2024-06-28T09:40:57.028949Z", - "iopub.status.busy": "2024-06-28T09:40:57.028764Z", - "iopub.status.idle": "2024-06-28T09:40:57.090217Z", - "shell.execute_reply": "2024-06-28T09:40:57.089849Z", - "shell.execute_reply.started": "2024-06-28T09:40:57.028931Z" + "iopub.execute_input": "2025-09-23T20:59:19.111927Z", + "iopub.status.busy": "2025-09-23T20:59:19.111791Z", + "iopub.status.idle": "2025-09-23T20:59:19.177411Z", + "shell.execute_reply": "2025-09-23T20:59:19.177001Z", + "shell.execute_reply.started": "2025-09-23T20:59:19.111914Z" }, "jupyter": { "outputs_hidden": false } }, "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/marius/.venv/pyelli/lib/python3.13/site-packages/uncertainties/core.py:1024: UserWarning:\n", + "\n", + "Using UFloat objects with std_dev==0 may give unexpected results.\n", + "\n" + ] + }, { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "7adb2c9cb86948cfbffde83449431635", + "model_id": "e8479b9ebbbb4d50bf7a621e231965d8", "version_major": 2, "version_minor": 0 }, @@ -336,10 +352,11 @@ " 'name': 'Ψ',\n", " 'showlegend': True,\n", " 'type': 'scattergl',\n", - " 'uid': '82cf629d-f648-499d-a112-785f4e1e9385',\n", - " 'x': array([210., 211., 212., ..., 798., 799., 800.]),\n", + " 'uid': '82c3f67c-a2ea-4aec-8dd3-7f62936a02a7',\n", + " 'x': array([210., 211., 212., ..., 798., 799., 800.], shape=(1182,)),\n", " 'xaxis': 'x',\n", - " 'y': array([36.548481, 36.480022, 36.433453, ..., nan, nan, nan]),\n", + " 'y': array([36.548481, 36.480022, 36.433453, ..., nan, nan, nan],\n", + " shape=(1182,)),\n", " 'yaxis': 'y'},\n", " {'hovertemplate': 'variable=Δ
Wavelength=%{x}
value=%{y}',\n", " 'legendgroup': 'Δ',\n", @@ -349,10 +366,11 @@ " 'name': 'Δ',\n", " 'showlegend': True,\n", " 'type': 'scattergl',\n", - " 'uid': 'bf596343-df40-4730-af99-c426fff31893',\n", - " 'x': array([210., 211., 212., ..., 798., 799., 800.]),\n", + " 'uid': '6878d3e3-4543-40a4-83e6-f07bf66fe99c',\n", + " 'x': array([210., 211., 212., ..., 798., 799., 800.], shape=(1182,)),\n", " 'xaxis': 'x',\n", - " 'y': array([97.499702, 97.92762 , 98.323624, ..., nan, nan, nan]),\n", + " 'y': array([97.499702, 97.92762 , 98.323624, ..., nan, nan, nan],\n", + " shape=(1182,)),\n", " 'yaxis': 'y'},\n", " {'hovertemplate': 'variable=Ψ_fit
Wavelength=%{x}
value=%{y}',\n", " 'legendgroup': 'Ψ_fit',\n", @@ -362,11 +380,11 @@ " 'name': 'Ψ_fit',\n", " 'showlegend': True,\n", " 'type': 'scattergl',\n", - " 'uid': 'a7a4c6f8-eb85-4bed-a381-269140c5fe89',\n", - " 'x': array([210., 211., 212., ..., 798., 799., 800.]),\n", + " 'uid': '27167a6c-0432-4f04-886c-8dba450ff958',\n", + " 'x': array([210., 211., 212., ..., 798., 799., 800.], shape=(1182,)),\n", " 'xaxis': 'x',\n", " 'y': array([ nan, nan, nan, ..., 9.18875929, 9.1824316 ,\n", - " 9.17610219]),\n", + " 9.17610219], shape=(1182,)),\n", " 'yaxis': 'y'},\n", " {'hovertemplate': 'variable=Δ_fit
Wavelength=%{x}
value=%{y}',\n", " 'legendgroup': 'Δ_fit',\n", @@ -376,11 +394,11 @@ " 'name': 'Δ_fit',\n", " 'showlegend': True,\n", " 'type': 'scattergl',\n", - " 'uid': '33f4b78b-660f-478c-bbba-c6c5fb90b884',\n", - " 'x': array([210., 211., 212., ..., 798., 799., 800.]),\n", + " 'uid': 'e9057adc-7221-4754-871d-aaa8a7f639c2',\n", + " 'x': array([210., 211., 212., ..., 798., 799., 800.], shape=(1182,)),\n", " 'xaxis': 'x',\n", " 'y': array([ nan, nan, nan, ..., 174.48896139,\n", - " 174.49555625, 174.50214175]),\n", + " 174.49555625, 174.50214175], shape=(1182,)),\n", " 'yaxis': 'y'}],\n", " 'layout': {'legend': {'title': {'text': 'variable'}, 'tracegroupgap': 0},\n", " 'margin': {'t': 60},\n", @@ -425,11 +443,11 @@ "metadata": { "collapsed": false, "execution": { - "iopub.execute_input": "2024-06-28T09:40:57.090871Z", - "iopub.status.busy": "2024-06-28T09:40:57.090707Z", - "iopub.status.idle": "2024-06-28T09:40:57.230288Z", - "shell.execute_reply": "2024-06-28T09:40:57.229827Z", - "shell.execute_reply.started": "2024-06-28T09:40:57.090856Z" + "iopub.execute_input": "2025-09-23T20:59:19.177974Z", + "iopub.status.busy": "2025-09-23T20:59:19.177853Z", + "iopub.status.idle": "2025-09-23T20:59:19.290294Z", + "shell.execute_reply": "2025-09-23T20:59:19.289969Z", + "shell.execute_reply.started": "2025-09-23T20:59:19.177963Z" }, "jupyter": { "outputs_hidden": false @@ -446,13 +464,13 @@ " require.undef(\"plotly\");\n", " define('plotly', function(require, exports, module) {\n", " /**\n", - "* plotly.js v2.32.0\n", + "* plotly.js v2.35.2\n", "* Copyright 2012-2024, Plotly, Inc.\n", "* All rights reserved.\n", "* Licensed under the MIT license\n", "*/\n", "/*! For license information please see plotly.min.js.LICENSE.txt */\n", - "!function(t,e){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define([],e):\"object\"==typeof exports?exports.Plotly=e():t.Plotly=e()}(self,(function(){return function(){var t={79288:function(t,e,r){\"use strict\";var n=r(3400),i={\"X,X div\":'direction:ltr;font-family:\"Open Sans\",verdana,arial,sans-serif;margin:0;padding:0;',\"X input,X button\":'font-family:\"Open Sans\",verdana,arial,sans-serif;',\"X input:focus,X button:focus\":\"outline:none;\",\"X a\":\"text-decoration:none;\",\"X a:hover\":\"text-decoration:none;\",\"X .crisp\":\"shape-rendering:crispEdges;\",\"X .user-select-none\":\"-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;\",\"X svg\":\"overflow:hidden;\",\"X svg a\":\"fill:#447adb;\",\"X svg a:hover\":\"fill:#3c6dc5;\",\"X .main-svg\":\"position:absolute;top:0;left:0;pointer-events:none;\",\"X .main-svg .draglayer\":\"pointer-events:all;\",\"X .cursor-default\":\"cursor:default;\",\"X .cursor-pointer\":\"cursor:pointer;\",\"X .cursor-crosshair\":\"cursor:crosshair;\",\"X .cursor-move\":\"cursor:move;\",\"X .cursor-col-resize\":\"cursor:col-resize;\",\"X .cursor-row-resize\":\"cursor:row-resize;\",\"X .cursor-ns-resize\":\"cursor:ns-resize;\",\"X .cursor-ew-resize\":\"cursor:ew-resize;\",\"X .cursor-sw-resize\":\"cursor:sw-resize;\",\"X .cursor-s-resize\":\"cursor:s-resize;\",\"X .cursor-se-resize\":\"cursor:se-resize;\",\"X .cursor-w-resize\":\"cursor:w-resize;\",\"X .cursor-e-resize\":\"cursor:e-resize;\",\"X .cursor-nw-resize\":\"cursor:nw-resize;\",\"X .cursor-n-resize\":\"cursor:n-resize;\",\"X .cursor-ne-resize\":\"cursor:ne-resize;\",\"X .cursor-grab\":\"cursor:-webkit-grab;cursor:grab;\",\"X .modebar\":\"position:absolute;top:2px;right:2px;\",\"X .ease-bg\":\"-webkit-transition:background-color .3s ease 0s;-moz-transition:background-color .3s ease 0s;-ms-transition:background-color .3s ease 0s;-o-transition:background-color .3s ease 0s;transition:background-color .3s ease 0s;\",\"X .modebar--hover>:not(.watermark)\":\"opacity:0;-webkit-transition:opacity .3s ease 0s;-moz-transition:opacity .3s ease 0s;-ms-transition:opacity .3s ease 0s;-o-transition:opacity .3s ease 0s;transition:opacity .3s ease 0s;\",\"X:hover .modebar--hover .modebar-group\":\"opacity:1;\",\"X .modebar-group\":\"float:left;display:inline-block;box-sizing:border-box;padding-left:8px;position:relative;vertical-align:middle;white-space:nowrap;\",\"X .modebar-btn\":\"position:relative;font-size:16px;padding:3px 4px;height:22px;cursor:pointer;line-height:normal;box-sizing:border-box;\",\"X .modebar-btn svg\":\"position:relative;top:2px;\",\"X .modebar.vertical\":\"display:flex;flex-direction:column;flex-wrap:wrap;align-content:flex-end;max-height:100%;\",\"X .modebar.vertical svg\":\"top:-1px;\",\"X .modebar.vertical .modebar-group\":\"display:block;float:none;padding-left:0px;padding-bottom:8px;\",\"X .modebar.vertical .modebar-group .modebar-btn\":\"display:block;text-align:center;\",\"X [data-title]:before,X [data-title]:after\":\"position:absolute;-webkit-transform:translate3d(0, 0, 0);-moz-transform:translate3d(0, 0, 0);-ms-transform:translate3d(0, 0, 0);-o-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);display:none;opacity:0;z-index:1001;pointer-events:none;top:110%;right:50%;\",\"X [data-title]:hover:before,X [data-title]:hover:after\":\"display:block;opacity:1;\",\"X [data-title]:before\":'content:\"\";position:absolute;background:rgba(0,0,0,0);border:6px solid rgba(0,0,0,0);z-index:1002;margin-top:-12px;border-bottom-color:#69738a;margin-right:-6px;',\"X [data-title]:after\":\"content:attr(data-title);background:#69738a;color:#fff;padding:8px 10px;font-size:12px;line-height:12px;white-space:nowrap;margin-right:-18px;border-radius:2px;\",\"X .vertical [data-title]:before,X .vertical [data-title]:after\":\"top:0%;right:200%;\",\"X .vertical [data-title]:before\":\"border:6px solid rgba(0,0,0,0);border-left-color:#69738a;margin-top:8px;margin-right:-30px;\",Y:'font-family:\"Open Sans\",verdana,arial,sans-serif;position:fixed;top:50px;right:20px;z-index:10000;font-size:10pt;max-width:180px;',\"Y p\":\"margin:0;\",\"Y .notifier-note\":\"min-width:180px;max-width:250px;border:1px solid #fff;z-index:3000;margin:0;background-color:#8c97af;background-color:rgba(140,151,175,.9);color:#fff;padding:10px;overflow-wrap:break-word;word-wrap:break-word;-ms-hyphens:auto;-webkit-hyphens:auto;hyphens:auto;\",\"Y .notifier-close\":\"color:#fff;opacity:.8;float:right;padding:0 5px;background:none;border:none;font-size:20px;font-weight:bold;line-height:20px;\",\"Y .notifier-close:hover\":\"color:#444;text-decoration:none;cursor:pointer;\"};for(var a in i){var o=a.replace(/^,/,\" ,\").replace(/X/g,\".js-plotly-plot .plotly\").replace(/Y/g,\".plotly-notifier\");n.addStyleRule(o,i[a])}},86712:function(t,e,r){\"use strict\";t.exports=r(84224)},37240:function(t,e,r){\"use strict\";t.exports=r(51132)},29744:function(t,e,r){\"use strict\";t.exports=r(94456)},29352:function(t,e,r){\"use strict\";t.exports=r(67244)},96144:function(t,e,r){\"use strict\";t.exports=r(97776)},53219:function(t,e,r){\"use strict\";t.exports=r(61712)},4624:function(t,e,r){\"use strict\";t.exports=r(95856)},54543:function(t,e,r){\"use strict\";t.exports=r(54272)},45e3:function(t,e,r){\"use strict\";t.exports=r(85404)},62300:function(t,e,r){\"use strict\";t.exports=r(26048)},6920:function(t,e,r){\"use strict\";t.exports=r(66240)},10264:function(t,e,r){\"use strict\";t.exports=r(40448)},32016:function(t,e,r){\"use strict\";t.exports=r(64884)},27528:function(t,e,r){\"use strict\";t.exports=r(15088)},75556:function(t,e,r){\"use strict\";t.exports=r(76744)},39204:function(t,e,r){\"use strict\";t.exports=r(94704)},73996:function(t,e,r){\"use strict\";t.exports=r(62396)},16489:function(t,e,r){\"use strict\";t.exports=r(32028)},5e3:function(t,e,r){\"use strict\";t.exports=r(81932)},77280:function(t,e,r){\"use strict\";t.exports=r(45536)},33992:function(t,e,r){\"use strict\";t.exports=r(42600)},17600:function(t,e,r){\"use strict\";t.exports=r(21536)},49116:function(t,e,r){\"use strict\";t.exports=r(65664)},46808:function(t,e,r){\"use strict\";t.exports=r(29044)},36168:function(t,e,r){\"use strict\";t.exports=r(48928)},13792:function(t,e,r){\"use strict\";var n=r(32016);n.register([r(37240),r(29352),r(5e3),r(33992),r(17600),r(49116),r(6920),r(67484),r(79440),r(39204),r(83096),r(36168),r(20260),r(63560),r(65832),r(46808),r(73996),r(48824),r(89904),r(25120),r(13752),r(4340),r(62300),r(29800),r(8363),r(54543),r(86636),r(42192),r(32140),r(77280),r(89296),r(56816),r(70192),r(45e3),r(27528),r(84764),r(3920),r(50248),r(4624),r(69967),r(10264),r(86152),r(53219),r(81604),r(63796),r(29744),r(89336),r(86712),r(75556),r(16489),r(97312),r(96144)]),t.exports=n},3920:function(t,e,r){\"use strict\";t.exports=r(43480)},25120:function(t,e,r){\"use strict\";t.exports=r(6296)},4340:function(t,e,r){\"use strict\";t.exports=r(7404)},86152:function(t,e,r){\"use strict\";t.exports=r(65456)},56816:function(t,e,r){\"use strict\";t.exports=r(22020)},89296:function(t,e,r){\"use strict\";t.exports=r(29928)},20260:function(t,e,r){\"use strict\";t.exports=r(75792)},32140:function(t,e,r){\"use strict\";t.exports=r(156)},84764:function(t,e,r){\"use strict\";t.exports=r(45499)},48824:function(t,e,r){\"use strict\";t.exports=r(3296)},69967:function(t,e,r){\"use strict\";t.exports=r(4184)},8363:function(t,e,r){\"use strict\";t.exports=r(36952)},86636:function(t,e,r){\"use strict\";t.exports=r(38983)},70192:function(t,e,r){\"use strict\";t.exports=r(11572)},81604:function(t,e,r){\"use strict\";t.exports=r(76924)},63796:function(t,e,r){\"use strict\";t.exports=r(62944)},89336:function(t,e,r){\"use strict\";t.exports=r(95443)},67484:function(t,e,r){\"use strict\";t.exports=r(34864)},97312:function(t,e,r){\"use strict\";t.exports=r(76272)},42192:function(t,e,r){\"use strict\";t.exports=r(97924)},29800:function(t,e,r){\"use strict\";t.exports=r(15436)},63560:function(t,e,r){\"use strict\";t.exports=r(5621)},89904:function(t,e,r){\"use strict\";t.exports=r(91304)},50248:function(t,e,r){\"use strict\";t.exports=r(41724)},65832:function(t,e,r){\"use strict\";t.exports=r(31991)},79440:function(t,e,r){\"use strict\";t.exports=r(22869)},13752:function(t,e,r){\"use strict\";t.exports=r(67776)},83096:function(t,e,r){\"use strict\";t.exports=r(95952)},72196:function(t){\"use strict\";t.exports=[{path:\"\",backoff:0},{path:\"M-2.4,-3V3L0.6,0Z\",backoff:.6},{path:\"M-3.7,-2.5V2.5L1.3,0Z\",backoff:1.3},{path:\"M-4.45,-3L-1.65,-0.2V0.2L-4.45,3L1.55,0Z\",backoff:1.55},{path:\"M-2.2,-2.2L-0.2,-0.2V0.2L-2.2,2.2L-1.4,3L1.6,0L-1.4,-3Z\",backoff:1.6},{path:\"M-4.4,-2.1L-0.6,-0.2V0.2L-4.4,2.1L-4,3L2,0L-4,-3Z\",backoff:2},{path:\"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z\",backoff:0,noRotate:!0},{path:\"M2,2V-2H-2V2Z\",backoff:0,noRotate:!0}]},13916:function(t,e,r){\"use strict\";var n=r(72196),i=r(25376),a=r(33816),o=r(31780).templatedArray;r(36208),t.exports=o(\"annotation\",{visible:{valType:\"boolean\",dflt:!0,editType:\"calc+arraydraw\"},text:{valType:\"string\",editType:\"calc+arraydraw\"},textangle:{valType:\"angle\",dflt:0,editType:\"calc+arraydraw\"},font:i({editType:\"calc+arraydraw\",colorEditType:\"arraydraw\"}),width:{valType:\"number\",min:1,dflt:null,editType:\"calc+arraydraw\"},height:{valType:\"number\",min:1,dflt:null,editType:\"calc+arraydraw\"},opacity:{valType:\"number\",min:0,max:1,dflt:1,editType:\"arraydraw\"},align:{valType:\"enumerated\",values:[\"left\",\"center\",\"right\"],dflt:\"center\",editType:\"arraydraw\"},valign:{valType:\"enumerated\",values:[\"top\",\"middle\",\"bottom\"],dflt:\"middle\",editType:\"arraydraw\"},bgcolor:{valType:\"color\",dflt:\"rgba(0,0,0,0)\",editType:\"arraydraw\"},bordercolor:{valType:\"color\",dflt:\"rgba(0,0,0,0)\",editType:\"arraydraw\"},borderpad:{valType:\"number\",min:0,dflt:1,editType:\"calc+arraydraw\"},borderwidth:{valType:\"number\",min:0,dflt:1,editType:\"calc+arraydraw\"},showarrow:{valType:\"boolean\",dflt:!0,editType:\"calc+arraydraw\"},arrowcolor:{valType:\"color\",editType:\"arraydraw\"},arrowhead:{valType:\"integer\",min:0,max:n.length,dflt:1,editType:\"arraydraw\"},startarrowhead:{valType:\"integer\",min:0,max:n.length,dflt:1,editType:\"arraydraw\"},arrowside:{valType:\"flaglist\",flags:[\"end\",\"start\"],extras:[\"none\"],dflt:\"end\",editType:\"arraydraw\"},arrowsize:{valType:\"number\",min:.3,dflt:1,editType:\"calc+arraydraw\"},startarrowsize:{valType:\"number\",min:.3,dflt:1,editType:\"calc+arraydraw\"},arrowwidth:{valType:\"number\",min:.1,editType:\"calc+arraydraw\"},standoff:{valType:\"number\",min:0,dflt:0,editType:\"calc+arraydraw\"},startstandoff:{valType:\"number\",min:0,dflt:0,editType:\"calc+arraydraw\"},ax:{valType:\"any\",editType:\"calc+arraydraw\"},ay:{valType:\"any\",editType:\"calc+arraydraw\"},axref:{valType:\"enumerated\",dflt:\"pixel\",values:[\"pixel\",a.idRegex.x.toString()],editType:\"calc\"},ayref:{valType:\"enumerated\",dflt:\"pixel\",values:[\"pixel\",a.idRegex.y.toString()],editType:\"calc\"},xref:{valType:\"enumerated\",values:[\"paper\",a.idRegex.x.toString()],editType:\"calc\"},x:{valType:\"any\",editType:\"calc+arraydraw\"},xanchor:{valType:\"enumerated\",values:[\"auto\",\"left\",\"center\",\"right\"],dflt:\"auto\",editType:\"calc+arraydraw\"},xshift:{valType:\"number\",dflt:0,editType:\"calc+arraydraw\"},yref:{valType:\"enumerated\",values:[\"paper\",a.idRegex.y.toString()],editType:\"calc\"},y:{valType:\"any\",editType:\"calc+arraydraw\"},yanchor:{valType:\"enumerated\",values:[\"auto\",\"top\",\"middle\",\"bottom\"],dflt:\"auto\",editType:\"calc+arraydraw\"},yshift:{valType:\"number\",dflt:0,editType:\"calc+arraydraw\"},clicktoshow:{valType:\"enumerated\",values:[!1,\"onoff\",\"onout\"],dflt:!1,editType:\"arraydraw\"},xclick:{valType:\"any\",editType:\"arraydraw\"},yclick:{valType:\"any\",editType:\"arraydraw\"},hovertext:{valType:\"string\",editType:\"arraydraw\"},hoverlabel:{bgcolor:{valType:\"color\",editType:\"arraydraw\"},bordercolor:{valType:\"color\",editType:\"arraydraw\"},font:i({editType:\"arraydraw\"}),editType:\"arraydraw\"},captureevents:{valType:\"boolean\",editType:\"arraydraw\"},editType:\"calc\",_deprecated:{ref:{valType:\"string\",editType:\"calc\"}}})},90272:function(t,e,r){\"use strict\";var n=r(3400),i=r(54460),a=r(23816).draw;function o(t){var e=t._fullLayout;n.filterVisible(e.annotations).forEach((function(e){var r=i.getFromId(t,e.xref),n=i.getFromId(t,e.yref),a=i.getRefType(e.xref),o=i.getRefType(e.yref);e._extremes={},\"range\"===a&&s(e,r),\"range\"===o&&s(e,n)}))}function s(t,e){var r,n=e._id,a=n.charAt(0),o=t[a],s=t[\"a\"+a],l=t[a+\"ref\"],u=t[\"a\"+a+\"ref\"],c=t[\"_\"+a+\"padplus\"],f=t[\"_\"+a+\"padminus\"],h={x:1,y:-1}[a]*t[a+\"shift\"],p=3*t.arrowsize*t.arrowwidth||0,d=p+h,v=p-h,g=3*t.startarrowsize*t.arrowwidth||0,y=g+h,m=g-h;if(u===l){var x=i.findExtremes(e,[e.r2c(o)],{ppadplus:d,ppadminus:v}),b=i.findExtremes(e,[e.r2c(s)],{ppadplus:Math.max(c,y),ppadminus:Math.max(f,m)});r={min:[x.min[0],b.min[0]],max:[x.max[0],b.max[0]]}}else y=s?y+s:y,m=s?m-s:m,r=i.findExtremes(e,[e.r2c(o)],{ppadplus:Math.max(c,d,y),ppadminus:Math.max(f,v,m)});t._extremes[n]=r}t.exports=function(t){var e=t._fullLayout;if(n.filterVisible(e.annotations).length&&t._fullData.length)return n.syncOrAsync([a,o],t)}},42300:function(t,e,r){\"use strict\";var n=r(3400),i=r(24040),a=r(31780).arrayEditor;function o(t,e){var r,n,i,a,o,l,u,c=t._fullLayout.annotations,f=[],h=[],p=[],d=(e||[]).length;for(r=0;r0||r.explicitOff.length>0},onClick:function(t,e){var r,s,l=o(t,e),u=l.on,c=l.off.concat(l.explicitOff),f={},h=t._fullLayout.annotations;if(u.length||c.length){for(r=0;r2/3?\"right\":\"center\"),{center:0,middle:0,left:.5,bottom:-.5,right:-.5,top:.5}[e]}for(var Y=!1,X=[\"x\",\"y\"],Z=0;Z1)&&(nt===rt?((pt=it.r2fraction(e[\"a\"+et]))<0||pt>1)&&(Y=!0):Y=!0),K=it._offset+it.r2p(e[et]),Q=.5}else{var dt=\"domain\"===ht;\"x\"===et?($=e[et],K=dt?it._offset+it._length*$:K=T.l+T.w*$):($=1-e[et],K=dt?it._offset+it._length*$:K=T.t+T.h*$),Q=e.showarrow?.5:$}if(e.showarrow){ft.head=K;var vt=e[\"a\"+et];if(tt=ot*H(.5,e.xanchor)-st*H(.5,e.yanchor),nt===rt){var gt=l.getRefType(nt);\"domain\"===gt?(\"y\"===et&&(vt=1-vt),ft.tail=it._offset+it._length*vt):\"paper\"===gt?\"y\"===et?(vt=1-vt,ft.tail=T.t+T.h*vt):ft.tail=T.l+T.w*vt:ft.tail=it._offset+it.r2p(vt),J=tt}else ft.tail=K+vt,J=tt+vt;ft.text=ft.tail+tt;var yt=w[\"x\"===et?\"width\":\"height\"];if(\"paper\"===rt&&(ft.head=o.constrain(ft.head,1,yt-1)),\"pixel\"===nt){var mt=-Math.max(ft.tail-3,ft.text),xt=Math.min(ft.tail+3,ft.text)-yt;mt>0?(ft.tail+=mt,ft.text+=mt):xt>0&&(ft.tail-=xt,ft.text-=xt)}ft.tail+=ct,ft.head+=ct}else J=tt=lt*H(Q,ut),ft.text=K+tt;ft.text+=ct,tt+=ct,J+=ct,e[\"_\"+et+\"padplus\"]=lt/2+J,e[\"_\"+et+\"padminus\"]=lt/2-J,e[\"_\"+et+\"size\"]=lt,e[\"_\"+et+\"shift\"]=tt}if(Y)R.remove();else{var bt=0,_t=0;if(\"left\"!==e.align&&(bt=(A-b)*(\"center\"===e.align?.5:1)),\"top\"!==e.valign&&(_t=(D-_)*(\"middle\"===e.valign?.5:1)),f)n.select(\"svg\").attr({x:N+bt-1,y:N+_t}).call(c.setClipUrl,U?L:null,t);else{var wt=N+_t-v.top,Tt=N+bt-v.left;G.call(h.positionText,Tt,wt).call(c.setClipUrl,U?L:null,t)}V.select(\"rect\").call(c.setRect,N,N,A,D),j.call(c.setRect,F/2,F/2,B-F,q-F),R.call(c.setTranslate,Math.round(C.x.text-B/2),Math.round(C.y.text-q/2)),I.attr({transform:\"rotate(\"+P+\",\"+C.x.text+\",\"+C.y.text+\")\"});var kt,At=function(r,n){O.selectAll(\".annotation-arrow-g\").remove();var l=C.x.head,f=C.y.head,h=C.x.tail+r,p=C.y.tail+n,v=C.x.text+r,b=C.y.text+n,_=o.rotationXYMatrix(P,v,b),w=o.apply2DTransform(_),A=o.apply2DTransform2(_),L=+j.attr(\"width\"),z=+j.attr(\"height\"),D=v-.5*L,F=D+L,B=b-.5*z,N=B+z,U=[[D,B,D,N],[D,N,F,N],[F,N,F,B],[F,B,D,B]].map(A);if(!U.reduce((function(t,e){return t^!!o.segmentsIntersect(l,f,l+1e6,f+1e6,e[0],e[1],e[2],e[3])}),!1)){U.forEach((function(t){var e=o.segmentsIntersect(h,p,l,f,t[0],t[1],t[2],t[3]);e&&(h=e.x,p=e.y)}));var V=e.arrowwidth,q=e.arrowcolor,H=e.arrowside,G=O.append(\"g\").style({opacity:u.opacity(q)}).classed(\"annotation-arrow-g\",!0),W=G.append(\"path\").attr(\"d\",\"M\"+h+\",\"+p+\"L\"+l+\",\"+f).style(\"stroke-width\",V+\"px\").call(u.stroke,u.rgb(q));if(g(W,H,e),k.annotationPosition&&W.node().parentNode&&!a){var Y=l,X=f;if(e.standoff){var Z=Math.sqrt(Math.pow(l-h,2)+Math.pow(f-p,2));Y+=e.standoff*(h-l)/Z,X+=e.standoff*(p-f)/Z}var K,J,$=G.append(\"path\").classed(\"annotation-arrow\",!0).classed(\"anndrag\",!0).classed(\"cursor-move\",!0).attr({d:\"M3,3H-3V-3H3ZM0,0L\"+(h-Y)+\",\"+(p-X),transform:s(Y,X)}).style(\"stroke-width\",V+6+\"px\").call(u.stroke,\"rgba(0,0,0,0)\").call(u.fill,\"rgba(0,0,0,0)\");d.init({element:$.node(),gd:t,prepFn:function(){var t=c.getTranslate(R);K=t.x,J=t.y,y&&y.autorange&&M(y._name+\".autorange\",!0),x&&x.autorange&&M(x._name+\".autorange\",!0)},moveFn:function(t,r){var n=w(K,J),i=n[0]+t,a=n[1]+r;R.call(c.setTranslate,i,a),S(\"x\",m(y,t,\"x\",T,e)),S(\"y\",m(x,r,\"y\",T,e)),e.axref===e.xref&&S(\"ax\",m(y,t,\"ax\",T,e)),e.ayref===e.yref&&S(\"ay\",m(x,r,\"ay\",T,e)),G.attr(\"transform\",s(t,r)),I.attr({transform:\"rotate(\"+P+\",\"+i+\",\"+a+\")\"})},doneFn:function(){i.call(\"_guiRelayout\",t,E());var e=document.querySelector(\".js-notes-box-panel\");e&&e.redraw(e.selectedObj)}})}}};e.showarrow&&At(0,0),z&&d.init({element:R.node(),gd:t,prepFn:function(){kt=I.attr(\"transform\")},moveFn:function(t,r){var n=\"pointer\";if(e.showarrow)e.axref===e.xref?S(\"ax\",m(y,t,\"ax\",T,e)):S(\"ax\",e.ax+t),e.ayref===e.yref?S(\"ay\",m(x,r,\"ay\",T.w,e)):S(\"ay\",e.ay+r),At(t,r);else{if(a)return;var i,o;if(y)i=m(y,t,\"x\",T,e);else{var l=e._xsize/T.w,u=e.x+(e._xshift-e.xshift)/T.w-l/2;i=d.align(u+t/T.w,l,0,1,e.xanchor)}if(x)o=m(x,r,\"y\",T,e);else{var c=e._ysize/T.h,f=e.y-(e._yshift+e.yshift)/T.h-c/2;o=d.align(f-r/T.h,c,0,1,e.yanchor)}S(\"x\",i),S(\"y\",o),y&&x||(n=d.getCursor(y?.5:i,x?.5:o,e.xanchor,e.yanchor))}I.attr({transform:s(t,r)+kt}),p(R,n)},clickFn:function(r,n){e.captureevents&&t.emit(\"plotly_clickannotation\",W(n))},doneFn:function(){p(R),i.call(\"_guiRelayout\",t,E());var e=document.querySelector(\".js-notes-box-panel\");e&&e.redraw(e.selectedObj)}})}}}t.exports={draw:function(t){var e=t._fullLayout;e._infolayer.selectAll(\".annotation\").remove();for(var r=0;r=0,x=e.indexOf(\"end\")>=0,b=d.backoff*g+r.standoff,_=v.backoff*y+r.startstandoff;if(\"line\"===p.nodeName){o={x:+t.attr(\"x1\"),y:+t.attr(\"y1\")},c={x:+t.attr(\"x2\"),y:+t.attr(\"y2\")};var w=o.x-c.x,T=o.y-c.y;if(h=(f=Math.atan2(T,w))+Math.PI,b&&_&&b+_>Math.sqrt(w*w+T*T))return void z();if(b){if(b*b>w*w+T*T)return void z();var k=b*Math.cos(f),A=b*Math.sin(f);c.x+=k,c.y+=A,t.attr({x2:c.x,y2:c.y})}if(_){if(_*_>w*w+T*T)return void z();var M=_*Math.cos(f),S=_*Math.sin(f);o.x-=M,o.y-=S,t.attr({x1:o.x,y1:o.y})}}else if(\"path\"===p.nodeName){var E=p.getTotalLength(),L=\"\";if(E1){u=!0;break}}u?t.fullLayout._infolayer.select(\".annotation-\"+t.id+'[data-index=\"'+s+'\"]').remove():(l._pdata=i(t.glplot.cameraParams,[e.xaxis.r2l(l.x)*r[0],e.yaxis.r2l(l.y)*r[1],e.zaxis.r2l(l.z)*r[2]]),n(t.graphDiv,l,s,t.id,l._xa,l._ya))}}},56864:function(t,e,r){\"use strict\";var n=r(24040),i=r(3400);t.exports={moduleType:\"component\",name:\"annotations3d\",schema:{subplots:{scene:{annotations:r(45899)}}},layoutAttributes:r(45899),handleDefaults:r(52808),includeBasePlot:function(t,e){var r=n.subplotsRegistry.gl3d;if(r)for(var a=r.attrRegex,o=Object.keys(t),s=0;s=0))return t;if(3===o)n[o]>1&&(n[o]=1);else if(n[o]>=1)return t}var s=Math.round(255*n[0])+\", \"+Math.round(255*n[1])+\", \"+Math.round(255*n[2]);return a?\"rgba(\"+s+\", \"+n[3]+\")\":\"rgb(\"+s+\")\"}o.tinyRGB=function(t){var e=t.toRgb();return\"rgb(\"+Math.round(e.r)+\", \"+Math.round(e.g)+\", \"+Math.round(e.b)+\")\"},o.rgb=function(t){return o.tinyRGB(n(t))},o.opacity=function(t){return t?n(t).getAlpha():0},o.addOpacity=function(t,e){var r=n(t).toRgb();return\"rgba(\"+Math.round(r.r)+\", \"+Math.round(r.g)+\", \"+Math.round(r.b)+\", \"+e+\")\"},o.combine=function(t,e){var r=n(t).toRgb();if(1===r.a)return n(t).toRgbString();var i=n(e||u).toRgb(),a=1===i.a?i:{r:255*(1-i.a)+i.r*i.a,g:255*(1-i.a)+i.g*i.a,b:255*(1-i.a)+i.b*i.a},o={r:a.r*(1-r.a)+r.r*r.a,g:a.g*(1-r.a)+r.g*r.a,b:a.b*(1-r.a)+r.b*r.a};return n(o).toRgbString()},o.interpolate=function(t,e,r){var i=n(t).toRgb(),a=n(e).toRgb(),o={r:r*i.r+(1-r)*a.r,g:r*i.g+(1-r)*a.g,b:r*i.b+(1-r)*a.b};return n(o).toRgbString()},o.contrast=function(t,e,r){var i=n(t);return 1!==i.getAlpha()&&(i=n(o.combine(t,u))),(i.isDark()?e?i.lighten(e):u:r?i.darken(r):l).toString()},o.stroke=function(t,e){var r=n(e);t.style({stroke:o.tinyRGB(r),\"stroke-opacity\":r.getAlpha()})},o.fill=function(t,e){var r=n(e);t.style({fill:o.tinyRGB(r),\"fill-opacity\":r.getAlpha()})},o.clean=function(t){if(t&&\"object\"==typeof t){var e,r,n,i,s=Object.keys(t);for(e=0;e0?n>=l:n<=l));i++)n>c&&n0?n>=l:n<=l));i++)n>r[0]&&n1){var pt=Math.pow(10,Math.floor(Math.log(ht)/Math.LN10));ct*=pt*u.roundUp(ht/pt,[2,5,10]),(Math.abs(W.start)/W.size+1e-6)%1<2e-6&&(lt.tick0=0)}lt.dtick=ct}lt.domain=o?[ot+O/B.h,ot+Q-O/B.h]:[ot+P/B.w,ot+Q-P/B.w],lt.setScale(),t.attr(\"transform\",c(Math.round(B.l),Math.round(B.t)));var dt,vt=t.select(\".\"+A.cbtitleunshift).attr(\"transform\",c(-Math.round(B.l),-Math.round(B.t))),gt=lt.ticklabelposition,yt=lt.title.font.size,mt=t.select(\".\"+A.cbaxis),xt=0,bt=0;function _t(n,i){var a={propContainer:lt,propName:e._propPrefix+\"title\",traceIndex:e._traceIndex,_meta:e._meta,placeholder:F._dfltTitle.colorbar,containerGroup:t.select(\".\"+A.cbtitle)},o=\"h\"===n.charAt(0)?n.substr(1):\"h\"+n;t.selectAll(\".\"+o+\",.\"+o+\"-math-group\").remove(),v.draw(r,n,f(a,i||{}))}return u.syncOrAsync([a.previousPromises,function(){var t,e;(o&&ut||!o&&!ut)&&(\"top\"===V&&(t=P+B.l+tt*I,e=O+B.t+et*(1-ot-Q)+3+.75*yt),\"bottom\"===V&&(t=P+B.l+tt*I,e=O+B.t+et*(1-ot)-3-.25*yt),\"right\"===V&&(e=O+B.t+et*z+3+.75*yt,t=P+B.l+tt*ot),_t(lt._id+\"title\",{attributes:{x:t,y:e,\"text-anchor\":o?\"start\":\"middle\"}}))},function(){if(!o&&!ut||o&&ut){var a,l=t.select(\".\"+A.cbtitle),f=l.select(\"text\"),h=[-M/2,M/2],d=l.select(\".h\"+lt._id+\"title-math-group\").node(),v=15.6;if(f.node()&&(v=parseInt(f.node().style.fontSize,10)*w),d?(a=p.bBox(d),bt=a.width,(xt=a.height)>v&&(h[1]-=(xt-v)/2)):f.node()&&!f.classed(A.jsPlaceholder)&&(a=p.bBox(f.node()),bt=a.width,xt=a.height),o){if(xt){if(xt+=5,\"top\"===V)lt.domain[1]-=xt/B.h,h[1]*=-1;else{lt.domain[0]+=xt/B.h;var y=g.lineCount(f);h[1]+=(1-y)*v}l.attr(\"transform\",c(h[0],h[1])),lt.setScale()}}else bt&&(\"right\"===V&&(lt.domain[0]+=(bt+yt/2)/B.w),l.attr(\"transform\",c(h[0],h[1])),lt.setScale())}t.selectAll(\".\"+A.cbfills+\",.\"+A.cblines).attr(\"transform\",o?c(0,Math.round(B.h*(1-lt.domain[1]))):c(Math.round(B.w*lt.domain[0]),0)),mt.attr(\"transform\",o?c(0,Math.round(-B.t)):c(Math.round(-B.l),0));var m=t.select(\".\"+A.cbfills).selectAll(\"rect.\"+A.cbfill).attr(\"style\",\"\").data(X);m.enter().append(\"rect\").classed(A.cbfill,!0).attr(\"style\",\"\"),m.exit().remove();var x=q.map(lt.c2p).map(Math.round).sort((function(t,e){return t-e}));m.each((function(t,a){var s=[0===a?q[0]:(X[a]+X[a-1])/2,a===X.length-1?q[1]:(X[a]+X[a+1])/2].map(lt.c2p).map(Math.round);o&&(s[1]=u.constrain(s[1]+(s[1]>s[0])?1:-1,x[0],x[1]));var l=n.select(this).attr(o?\"x\":\"y\",rt).attr(o?\"y\":\"x\",n.min(s)).attr(o?\"width\":\"height\",Math.max(K,2)).attr(o?\"height\":\"width\",Math.max(n.max(s)-n.min(s),2));if(e._fillgradient)p.gradient(l,r,e._id,o?\"vertical\":\"horizontalreversed\",e._fillgradient,\"fill\");else{var c=G(t).replace(\"e-\",\"\");l.attr(\"fill\",i(c).toHexString())}}));var b=t.select(\".\"+A.cblines).selectAll(\"path.\"+A.cbline).data(j.color&&j.width?Z:[]);b.enter().append(\"path\").classed(A.cbline,!0),b.exit().remove(),b.each((function(t){var e=rt,r=Math.round(lt.c2p(t))+j.width/2%1;n.select(this).attr(\"d\",\"M\"+(o?e+\",\"+r:r+\",\"+e)+(o?\"h\":\"v\")+K).call(p.lineGroupStyle,j.width,H(t),j.dash)})),mt.selectAll(\"g.\"+lt._id+\"tick,path\").remove();var _=rt+K+(M||0)/2-(\"outside\"===e.ticks?1:0),T=s.calcTicks(lt),k=s.getTickSigns(lt)[2];return s.drawTicks(r,lt,{vals:\"inside\"===lt.ticks?s.clipEnds(lt,T):T,layer:mt,path:s.makeTickPath(lt,_,k),transFn:s.makeTransTickFn(lt)}),s.drawLabels(r,lt,{vals:T,layer:mt,transFn:s.makeTransTickLabelFn(lt),labelFns:s.makeLabelFns(lt,_)})},function(){if(o&&!ut||!o&&ut){var t,i,a=lt.position||0,s=lt._offset+lt._length/2;if(\"right\"===V)i=s,t=B.l+tt*a+10+yt*(lt.showticklabels?1:.5);else if(t=s,\"bottom\"===V&&(i=B.t+et*a+10+(-1===gt.indexOf(\"inside\")?lt.tickfont.size:0)+(\"intside\"!==lt.ticks&&e.ticklen||0)),\"top\"===V){var l=U.text.split(\"
\").length;i=B.t+et*a+10-K-w*yt*l}_t((o?\"h\":\"v\")+lt._id+\"title\",{avoid:{selection:n.select(r).selectAll(\"g.\"+lt._id+\"tick\"),side:V,offsetTop:o?0:B.t,offsetLeft:o?B.l:0,maxShift:o?F.width:F.height},attributes:{x:t,y:i,\"text-anchor\":\"middle\"},transform:{rotate:o?-90:0,offset:0}})}},a.previousPromises,function(){var n,s=K+M/2;-1===gt.indexOf(\"inside\")&&(n=p.bBox(mt.node()),s+=o?n.width:n.height),dt=vt.select(\"text\");var u=0,f=o&&\"top\"===V,v=!o&&\"right\"===V,g=0;if(dt.node()&&!dt.classed(A.jsPlaceholder)){var m,x=vt.select(\".h\"+lt._id+\"title-math-group\").node();x&&(o&&ut||!o&&!ut)?(u=(n=p.bBox(x)).width,m=n.height):(u=(n=p.bBox(vt.node())).right-B.l-(o?rt:st),m=n.bottom-B.t-(o?st:rt),o||\"top\"!==V||(s+=n.height,g=n.height)),v&&(dt.attr(\"transform\",c(u/2+yt/2,0)),u*=2),s=Math.max(s,o?u:m)}var b=2*(o?P:O)+s+S+M/2,w=0;!o&&U.text&&\"bottom\"===C&&z<=0&&(b+=w=b/2,g+=w),F._hColorbarMoveTitle=w,F._hColorbarMoveCBTitle=g;var N=S+M,j=(o?rt:st)-N/2-(o?P:0),q=(o?st:rt)-(o?$:O+g-w);t.select(\".\"+A.cbbg).attr(\"x\",j).attr(\"y\",q).attr(o?\"width\":\"height\",Math.max(b-w,2)).attr(o?\"height\":\"width\",Math.max($+N,2)).call(d.fill,E).call(d.stroke,e.bordercolor).style(\"stroke-width\",S);var H=v?Math.max(u-10,0):0;t.selectAll(\".\"+A.cboutline).attr(\"x\",(o?rt:st+P)+H).attr(\"y\",(o?st+O-$:rt)+(f?xt:0)).attr(o?\"width\":\"height\",Math.max(K,2)).attr(o?\"height\":\"width\",Math.max($-(o?2*O+xt:2*P+H),2)).call(d.stroke,e.outlinecolor).style({fill:\"none\",\"stroke-width\":M});var G=o?nt*b:0,W=o?0:(1-it)*b-g;if(G=R?B.l-G:-G,W=D?B.t-W:-W,t.attr(\"transform\",c(G,W)),!o&&(S||i(E).getAlpha()&&!i.equals(F.paper_bgcolor,E))){var Y=mt.selectAll(\"text\"),X=Y[0].length,Z=t.select(\".\"+A.cbbg).node(),J=p.bBox(Z),Q=p.getTranslate(t);Y.each((function(t,e){var r=X-1;if(0===e||e===r){var n,i=p.bBox(this),a=p.getTranslate(this);if(e===r){var o=i.right+a.x;(n=J.right+Q.x+st-S-2+I-o)>0&&(n=0)}else if(0===e){var s=i.left+a.x;(n=J.left+Q.x+st+S+2-s)<0&&(n=0)}n&&(X<3?this.setAttribute(\"transform\",\"translate(\"+n+\",0) \"+this.getAttribute(\"transform\")):this.setAttribute(\"visibility\",\"hidden\"))}}))}var tt={},et=T[L],at=k[L],ot=T[C],ct=k[C],ft=b-K;o?(\"pixels\"===h?(tt.y=z,tt.t=$*ot,tt.b=$*ct):(tt.t=tt.b=0,tt.yt=z+l*ot,tt.yb=z-l*ct),\"pixels\"===_?(tt.x=I,tt.l=b*et,tt.r=b*at):(tt.l=ft*et,tt.r=ft*at,tt.xl=I-y*et,tt.xr=I+y*at)):(\"pixels\"===h?(tt.x=I,tt.l=$*et,tt.r=$*at):(tt.l=tt.r=0,tt.xl=I+l*et,tt.xr=I-l*at),\"pixels\"===_?(tt.y=1-z,tt.t=b*ot,tt.b=b*ct):(tt.t=ft*ot,tt.b=ft*ct,tt.yt=z-y*ot,tt.yb=z+y*ct));var ht=e.y<.5?\"b\":\"t\",pt=e.x<.5?\"l\":\"r\";r._fullLayout._reservedMargin[e._id]={};var bt={r:F.width-j-G,l:j+tt.r,b:F.height-q-W,t:q+tt.b};R&&D?a.autoMargin(r,e._id,tt):R?r._fullLayout._reservedMargin[e._id][ht]=bt[ht]:D||o?r._fullLayout._reservedMargin[e._id][pt]=bt[pt]:r._fullLayout._reservedMargin[e._id][ht]=bt[ht]}],r)}(r,e,t);y&&y.then&&(t._promises||[]).push(y),t._context.edits.colorbarPosition&&function(t,e,r){var n,i,a,s=\"v\"===e.orientation,u=r._fullLayout._size;l.init({element:t.node(),gd:r,prepFn:function(){n=t.attr(\"transform\"),h(t)},moveFn:function(r,o){t.attr(\"transform\",n+c(r,o)),i=l.align((s?e._uFrac:e._vFrac)+r/u.w,s?e._thickFrac:e._lenFrac,0,1,e.xanchor),a=l.align((s?e._vFrac:1-e._uFrac)-o/u.h,s?e._lenFrac:e._thickFrac,0,1,e.yanchor);var f=l.getCursor(i,a,e.xanchor,e.yanchor);h(t,f)},doneFn:function(){if(h(t),void 0!==i&&void 0!==a){var n={};n[e._propPrefix+\"x\"]=i,n[e._propPrefix+\"y\"]=a,void 0!==e._traceIndex?o.call(\"_guiRestyle\",r,n,e._traceIndex):o.call(\"_guiRelayout\",r,n)}}})}(r,e,t)})),e.exit().each((function(e){a.autoMargin(t,e._id)})).remove(),e.order()}}},90553:function(t,e,r){\"use strict\";var n=r(3400);t.exports=function(t){return n.isPlainObject(t.colorbar)}},55080:function(t,e,r){\"use strict\";t.exports={moduleType:\"component\",name:\"colorbar\",attributes:r(42996),supplyDefaults:r(64013),draw:r(37848).draw,hasColorbar:r(90553)}},49084:function(t,e,r){\"use strict\";var n=r(42996),i=r(53756).counter,a=r(95376),o=r(88304).scales;function s(t){return\"`\"+t+\"`\"}a(o),t.exports=function(t,e){t=t||\"\";var r,a=(e=e||{}).cLetter||\"c\",l=(\"onlyIfNumerical\"in e?e.onlyIfNumerical:Boolean(t),\"noScale\"in e?e.noScale:\"marker.line\"===t),u=\"showScaleDflt\"in e?e.showScaleDflt:\"z\"===a,c=\"string\"==typeof e.colorscaleDflt?o[e.colorscaleDflt]:null,f=e.editTypeOverride||\"\",h=t?t+\".\":\"\";\"colorAttr\"in e?(r=e.colorAttr,e.colorAttr):s(h+(r={z:\"z\",c:\"color\"}[a]));var p=a+\"auto\",d=a+\"min\",v=a+\"max\",g=a+\"mid\",y=(s(h+p),s(h+d),s(h+v),{});y[d]=y[v]=void 0;var m={};m[p]=!1;var x={};return\"color\"===r&&(x.color={valType:\"color\",arrayOk:!0,editType:f||\"style\"},e.anim&&(x.color.anim=!0)),x[p]={valType:\"boolean\",dflt:!0,editType:\"calc\",impliedEdits:y},x[d]={valType:\"number\",dflt:null,editType:f||\"plot\",impliedEdits:m},x[v]={valType:\"number\",dflt:null,editType:f||\"plot\",impliedEdits:m},x[g]={valType:\"number\",dflt:null,editType:\"calc\",impliedEdits:y},x.colorscale={valType:\"colorscale\",editType:\"calc\",dflt:c,impliedEdits:{autocolorscale:!1}},x.autocolorscale={valType:\"boolean\",dflt:!1!==e.autoColorDflt,editType:\"calc\",impliedEdits:{colorscale:void 0}},x.reversescale={valType:\"boolean\",dflt:!1,editType:\"plot\"},l||(x.showscale={valType:\"boolean\",dflt:u,editType:\"calc\"},x.colorbar=n),e.noColorAxis||(x.coloraxis={valType:\"subplotid\",regex:i(\"coloraxis\"),dflt:null,editType:\"calc\"}),x}},47128:function(t,e,r){\"use strict\";var n=r(38248),i=r(3400),a=r(94288).extractOpts;t.exports=function(t,e,r){var o,s=t._fullLayout,l=r.vals,u=r.containerStr,c=u?i.nestedProperty(e,u).get():e,f=a(c),h=!1!==f.auto,p=f.min,d=f.max,v=f.mid,g=function(){return i.aggNums(Math.min,null,l)},y=function(){return i.aggNums(Math.max,null,l)};void 0===p?p=g():h&&(p=c._colorAx&&n(p)?Math.min(p,g()):g()),void 0===d?d=y():h&&(d=c._colorAx&&n(d)?Math.max(d,y()):y()),h&&void 0!==v&&(d-v>v-p?p=v-(d-v):d-v=0?s.colorscale.sequential:s.colorscale.sequentialminus,f._sync(\"colorscale\",o))}},95504:function(t,e,r){\"use strict\";var n=r(3400),i=r(94288).hasColorscale,a=r(94288).extractOpts;t.exports=function(t,e){function r(t,e){var r=t[\"_\"+e];void 0!==r&&(t[e]=r)}function o(t,i){var o=i.container?n.nestedProperty(t,i.container).get():t;if(o)if(o.coloraxis)o._colorAx=e[o.coloraxis];else{var s=a(o),l=s.auto;(l||void 0===s.min)&&r(o,i.min),(l||void 0===s.max)&&r(o,i.max),s.autocolorscale&&r(o,\"colorscale\")}}for(var s=0;s=0;n--,i++){var a=t[n];r[i]=[1-a[0],a[1]]}return r}function d(t,e){e=e||{};for(var r=t.domain,o=t.range,l=o.length,u=new Array(l),c=0;c4/3-s?o:s}},67416:function(t,e,r){\"use strict\";var n=r(3400),i=[[\"sw-resize\",\"s-resize\",\"se-resize\"],[\"w-resize\",\"move\",\"e-resize\"],[\"nw-resize\",\"n-resize\",\"ne-resize\"]];t.exports=function(t,e,r,a){return t=\"left\"===r?0:\"center\"===r?1:\"right\"===r?2:n.constrain(Math.floor(3*t),0,2),e=\"bottom\"===a?0:\"middle\"===a?1:\"top\"===a?2:n.constrain(Math.floor(3*e),0,2),i[e][t]}},72760:function(t,e){\"use strict\";e.selectMode=function(t){return\"lasso\"===t||\"select\"===t},e.drawMode=function(t){return\"drawclosedpath\"===t||\"drawopenpath\"===t||\"drawline\"===t||\"drawrect\"===t||\"drawcircle\"===t},e.openMode=function(t){return\"drawline\"===t||\"drawopenpath\"===t},e.rectMode=function(t){return\"select\"===t||\"drawline\"===t||\"drawrect\"===t||\"drawcircle\"===t},e.freeMode=function(t){return\"lasso\"===t||\"drawclosedpath\"===t||\"drawopenpath\"===t},e.selectingOrDrawing=function(t){return e.freeMode(t)||e.rectMode(t)}},86476:function(t,e,r){\"use strict\";var n=r(29128),i=r(52264),a=r(89184),o=r(3400).removeElement,s=r(33816),l=t.exports={};l.align=r(78316),l.getCursor=r(67416);var u=r(2616);function c(){var t=document.createElement(\"div\");t.className=\"dragcover\";var e=t.style;return e.position=\"fixed\",e.left=0,e.right=0,e.top=0,e.bottom=0,e.zIndex=999999999,e.background=\"none\",document.body.appendChild(t),t}function f(t){return n(t.changedTouches?t.changedTouches[0]:t,document.body)}l.unhover=u.wrapped,l.unhoverRaw=u.raw,l.init=function(t){var e,r,n,u,h,p,d,v,g=t.gd,y=1,m=g._context.doubleClickDelay,x=t.element;g._mouseDownTime||(g._mouseDownTime=0),x.style.pointerEvents=\"all\",x.onmousedown=_,a?(x._ontouchstart&&x.removeEventListener(\"touchstart\",x._ontouchstart),x._ontouchstart=_,x.addEventListener(\"touchstart\",_,{passive:!1})):x.ontouchstart=_;var b=t.clampFn||function(t,e,r){return Math.abs(t)m&&(y=Math.max(y-1,1)),g._dragged)t.doneFn&&t.doneFn();else if(t.clickFn&&t.clickFn(y,p),!v){var r;try{r=new MouseEvent(\"click\",e)}catch(t){var n=f(e);(r=document.createEvent(\"MouseEvents\")).initMouseEvent(\"click\",e.bubbles,e.cancelable,e.view,e.detail,e.screenX,e.screenY,n[0],n[1],e.ctrlKey,e.altKey,e.shiftKey,e.metaKey,e.button,e.relatedTarget)}d.dispatchEvent(r)}g._dragging=!1,g._dragged=!1}else g._dragged=!1}},l.coverSlip=c},2616:function(t,e,r){\"use strict\";var n=r(95924),i=r(91200),a=r(52200).getGraphDiv,o=r(92456),s=t.exports={};s.wrapped=function(t,e,r){(t=a(t))._fullLayout&&i.clear(t._fullLayout._uid+o.HOVERID),s.raw(t,e,r)},s.raw=function(t,e){var r=t._fullLayout,i=t._hoverdata;e||(e={}),e.target&&!t._dragged&&!1===n.triggerHandler(t,\"plotly_beforehover\",e)||(r._hoverlayer.selectAll(\"g\").remove(),r._hoverlayer.selectAll(\"line\").remove(),r._hoverlayer.selectAll(\"circle\").remove(),t._hoverdata=void 0,e.target&&i&&t.emit(\"plotly_unhover\",{event:e,points:i}))}},98192:function(t,e){\"use strict\";e.u={valType:\"string\",values:[\"solid\",\"dot\",\"dash\",\"longdash\",\"dashdot\",\"longdashdot\"],dflt:\"solid\",editType:\"style\"},e.c={shape:{valType:\"enumerated\",values:[\"\",\"/\",\"\\\\\",\"x\",\"-\",\"|\",\"+\",\".\"],dflt:\"\",arrayOk:!0,editType:\"style\"},fillmode:{valType:\"enumerated\",values:[\"replace\",\"overlay\"],dflt:\"replace\",editType:\"style\"},bgcolor:{valType:\"color\",arrayOk:!0,editType:\"style\"},fgcolor:{valType:\"color\",arrayOk:!0,editType:\"style\"},fgopacity:{valType:\"number\",editType:\"style\",min:0,max:1},size:{valType:\"number\",min:0,dflt:8,arrayOk:!0,editType:\"style\"},solidity:{valType:\"number\",min:0,max:1,dflt:.3,arrayOk:!0,editType:\"style\"},editType:\"style\"}},43616:function(t,e,r){\"use strict\";var n=r(33428),i=r(3400),a=i.numberFormat,o=r(38248),s=r(49760),l=r(24040),u=r(76308),c=r(8932),f=i.strTranslate,h=r(72736),p=r(9616),d=r(84284).LINE_SPACING,v=r(13448).DESELECTDIM,g=r(43028),y=r(7152),m=r(10624).appendArrayPointValue,x=t.exports={};function b(t,e,r,n){var i=e.fillpattern,a=e.fillgradient,o=i&&x.getPatternAttr(i.shape,0,\"\");if(o){var s=x.getPatternAttr(i.bgcolor,0,null),l=x.getPatternAttr(i.fgcolor,0,null),c=i.fgopacity,f=x.getPatternAttr(i.size,0,8),h=x.getPatternAttr(i.solidity,0,.3),p=e.uid;x.pattern(t,\"point\",r,p,o,f,h,void 0,i.fillmode,s,l,c)}else if(a&&\"none\"!==a.type){var d,v,g=a.type,y=\"scatterfill-\"+e.uid;n&&(y=\"legendfill-\"+e.uid),n||void 0===a.start&&void 0===a.stop?(\"horizontal\"===g&&(g+=\"reversed\"),t.call(x.gradient,r,y,g,a.colorscale,\"fill\")):(\"horizontal\"===g?(d={x:a.start,y:0},v={x:a.stop,y:0}):\"vertical\"===g&&(d={x:0,y:a.start},v={x:0,y:a.stop}),d.x=e._xA.c2p(void 0===d.x?e._extremes.x.min[0].val:d.x,!0),d.y=e._yA.c2p(void 0===d.y?e._extremes.y.min[0].val:d.y,!0),v.x=e._xA.c2p(void 0===v.x?e._extremes.x.max[0].val:v.x,!0),v.y=e._yA.c2p(void 0===v.y?e._extremes.y.max[0].val:v.y,!0),t.call(M,r,y,\"linear\",a.colorscale,\"fill\",d,v,!0,!1))}else e.fillcolor&&t.call(u.fill,e.fillcolor)}x.font=function(t,e,r,n,a,o,s){i.isPlainObject(e)&&(s=e.variant,o=e.style,a=e.weight,n=e.color,r=e.size,e=e.family),e&&t.style(\"font-family\",e),r+1&&t.style(\"font-size\",r+\"px\"),n&&t.call(u.fill,n),a&&t.style(\"font-weight\",a),o&&t.style(\"font-style\",o),s&&t.style(\"font-variant\",s)},x.setPosition=function(t,e,r){t.attr(\"x\",e).attr(\"y\",r)},x.setSize=function(t,e,r){t.attr(\"width\",e).attr(\"height\",r)},x.setRect=function(t,e,r,n,i){t.call(x.setPosition,e,r).call(x.setSize,n,i)},x.translatePoint=function(t,e,r,n){var i=r.c2p(t.x),a=n.c2p(t.y);return!!(o(i)&&o(a)&&e.node())&&(\"text\"===e.node().nodeName?e.attr(\"x\",i).attr(\"y\",a):e.attr(\"transform\",f(i,a)),!0)},x.translatePoints=function(t,e,r){t.each((function(t){var i=n.select(this);x.translatePoint(t,i,e,r)}))},x.hideOutsideRangePoint=function(t,e,r,n,i,a){e.attr(\"display\",r.isPtWithinRange(t,i)&&n.isPtWithinRange(t,a)?null:\"none\")},x.hideOutsideRangePoints=function(t,e){if(e._hasClipOnAxisFalse){var r=e.xaxis,i=e.yaxis;t.each((function(e){var a=e[0].trace,o=a.xcalendar,s=a.ycalendar,u=l.traceIs(a,\"bar-like\")?\".bartext\":\".point,.textpoint\";t.selectAll(u).each((function(t){x.hideOutsideRangePoint(t,n.select(this),r,i,o,s)}))}))}},x.crispRound=function(t,e,r){return e&&o(e)?t._context.staticPlot?e:e<1?1:Math.round(e):r||0},x.singleLineStyle=function(t,e,r,n,i){e.style(\"fill\",\"none\");var a=(((t||[])[0]||{}).trace||{}).line||{},o=r||a.width||0,s=i||a.dash||\"\";u.stroke(e,n||a.color),x.dashLine(e,s,o)},x.lineGroupStyle=function(t,e,r,i){t.style(\"fill\",\"none\").each((function(t){var a=(((t||[])[0]||{}).trace||{}).line||{},o=e||a.width||0,s=i||a.dash||\"\";n.select(this).call(u.stroke,r||a.color).call(x.dashLine,s,o)}))},x.dashLine=function(t,e,r){r=+r||0,e=x.dashStyle(e,r),t.style({\"stroke-dasharray\":e,\"stroke-width\":r+\"px\"})},x.dashStyle=function(t,e){e=+e||1;var r=Math.max(e,3);return\"solid\"===t?t=\"\":\"dot\"===t?t=r+\"px,\"+r+\"px\":\"dash\"===t?t=3*r+\"px,\"+3*r+\"px\":\"longdash\"===t?t=5*r+\"px,\"+5*r+\"px\":\"dashdot\"===t?t=3*r+\"px,\"+r+\"px,\"+r+\"px,\"+r+\"px\":\"longdashdot\"===t&&(t=5*r+\"px,\"+2*r+\"px,\"+r+\"px,\"+2*r+\"px\"),t},x.singleFillStyle=function(t,e){var r=n.select(t.node());b(t,((r.data()[0]||[])[0]||{}).trace||{},e,!1)},x.fillGroupStyle=function(t,e,r){t.style(\"stroke-width\",0).each((function(t){var i=n.select(this);t[0].trace&&b(i,t[0].trace,e,r)}))};var _=r(71984);x.symbolNames=[],x.symbolFuncs=[],x.symbolBackOffs=[],x.symbolNeedLines={},x.symbolNoDot={},x.symbolNoFill={},x.symbolList=[],Object.keys(_).forEach((function(t){var e=_[t],r=e.n;x.symbolList.push(r,String(r),t,r+100,String(r+100),t+\"-open\"),x.symbolNames[r]=t,x.symbolFuncs[r]=e.f,x.symbolBackOffs[r]=e.backoff||0,e.needLine&&(x.symbolNeedLines[r]=!0),e.noDot?x.symbolNoDot[r]=!0:x.symbolList.push(r+200,String(r+200),t+\"-dot\",r+300,String(r+300),t+\"-open-dot\"),e.noFill&&(x.symbolNoFill[r]=!0)}));var w=x.symbolNames.length;function T(t,e,r,n){var i=t%100;return x.symbolFuncs[i](e,r,n)+(t>=200?\"M0,0.5L0.5,0L0,-0.5L-0.5,0Z\":\"\")}x.symbolNumber=function(t){if(o(t))t=+t;else if(\"string\"==typeof t){var e=0;t.indexOf(\"-open\")>0&&(e=100,t=t.replace(\"-open\",\"\")),t.indexOf(\"-dot\")>0&&(e+=200,t=t.replace(\"-dot\",\"\")),(t=x.symbolNames.indexOf(t))>=0&&(t+=e)}return t%100>=w||t>=400?0:Math.floor(Math.max(t,0))};var k=a(\"~f\"),A={radial:{type:\"radial\"},radialreversed:{type:\"radial\",reversed:!0},horizontal:{type:\"linear\",start:{x:1,y:0},stop:{x:0,y:0}},horizontalreversed:{type:\"linear\",start:{x:1,y:0},stop:{x:0,y:0},reversed:!0},vertical:{type:\"linear\",start:{x:0,y:1},stop:{x:0,y:0}},verticalreversed:{type:\"linear\",start:{x:0,y:1},stop:{x:0,y:0},reversed:!0}};function M(t,e,r,a,o,l,c,f,h,p){var d,v=o.length;\"linear\"===a?d={node:\"linearGradient\",attrs:{x1:c.x,y1:c.y,x2:f.x,y2:f.y,gradientUnits:h?\"userSpaceOnUse\":\"objectBoundingBox\"},reversed:p}:\"radial\"===a&&(d={node:\"radialGradient\",reversed:p});for(var g=new Array(v),y=0;y=0&&void 0===t.i&&(t.i=o.i),e.style(\"opacity\",n.selectedOpacityFn?n.selectedOpacityFn(t):void 0===t.mo?s.opacity:t.mo),n.ms2mrc){var c;c=\"various\"===t.ms||\"various\"===s.size?3:n.ms2mrc(t.ms),t.mrc=c,n.selectedSizeFn&&(c=t.mrc=n.selectedSizeFn(t));var f=x.symbolNumber(t.mx||s.symbol)||0;t.om=f%200>=100;var h=et(t,r),p=H(t,r);e.attr(\"d\",T(f,c,h,p))}var d,v,g,y=!1;if(t.so)g=l.outlierwidth,v=l.outliercolor,d=s.outliercolor;else{var m=(l||{}).width;g=(t.mlw+1||m+1||(t.trace?(t.trace.marker.line||{}).width:0)+1)-1||0,v=\"mlc\"in t?t.mlcc=n.lineScale(t.mlc):i.isArrayOrTypedArray(l.color)?u.defaultLine:l.color,i.isArrayOrTypedArray(s.color)&&(d=u.defaultLine,y=!0),d=\"mc\"in t?t.mcc=n.markerScale(t.mc):s.color||s.colors||\"rgba(0,0,0,0)\",n.selectedColorFn&&(d=n.selectedColorFn(t))}if(t.om)e.call(u.stroke,d).style({\"stroke-width\":(g||1)+\"px\",fill:\"none\"});else{e.style(\"stroke-width\",(t.isBlank?0:g)+\"px\");var b=s.gradient,_=t.mgt;_?y=!0:_=b&&b.type,i.isArrayOrTypedArray(_)&&(_=_[0],A[_]||(_=0));var w=s.pattern,k=w&&x.getPatternAttr(w.shape,t.i,\"\");if(_&&\"none\"!==_){var M=t.mgc;M?y=!0:M=b.color;var S=r.uid;y&&(S+=\"-\"+t.i),x.gradient(e,a,S,_,[[0,M],[1,d]],\"fill\")}else if(k){var E=!1,L=w.fgcolor;!L&&o&&o.color&&(L=o.color,E=!0);var C=x.getPatternAttr(L,t.i,o&&o.color||null),P=x.getPatternAttr(w.bgcolor,t.i,null),O=w.fgopacity,I=x.getPatternAttr(w.size,t.i,8),z=x.getPatternAttr(w.solidity,t.i,.3);E=E||t.mcc||i.isArrayOrTypedArray(w.shape)||i.isArrayOrTypedArray(w.bgcolor)||i.isArrayOrTypedArray(w.fgcolor)||i.isArrayOrTypedArray(w.size)||i.isArrayOrTypedArray(w.solidity);var D=r.uid;E&&(D+=\"-\"+t.i),x.pattern(e,\"point\",a,D,k,I,z,t.mcc,w.fillmode,P,C,O)}else i.isArrayOrTypedArray(d)?u.fill(e,d[t.i]):u.fill(e,d);g&&u.stroke(e,v)}},x.makePointStyleFns=function(t){var e={},r=t.marker;return e.markerScale=x.tryColorscale(r,\"\"),e.lineScale=x.tryColorscale(r,\"line\"),l.traceIs(t,\"symbols\")&&(e.ms2mrc=g.isBubble(t)?y(t):function(){return(r.size||6)/2}),t.selectedpoints&&i.extendFlat(e,x.makeSelectedPointStyleFns(t)),e},x.makeSelectedPointStyleFns=function(t){var e={},r=t.selected||{},n=t.unselected||{},a=t.marker||{},o=r.marker||{},s=n.marker||{},u=a.opacity,c=o.opacity,f=s.opacity,h=void 0!==c,p=void 0!==f;(i.isArrayOrTypedArray(u)||h||p)&&(e.selectedOpacityFn=function(t){var e=void 0===t.mo?a.opacity:t.mo;return t.selected?h?c:e:p?f:v*e});var d=a.color,g=o.color,y=s.color;(g||y)&&(e.selectedColorFn=function(t){var e=t.mcc||d;return t.selected?g||e:y||e});var m=a.size,x=o.size,b=s.size,_=void 0!==x,w=void 0!==b;return l.traceIs(t,\"symbols\")&&(_||w)&&(e.selectedSizeFn=function(t){var e=t.mrc||m/2;return t.selected?_?x/2:e:w?b/2:e}),e},x.makeSelectedTextStyleFns=function(t){var e={},r=t.selected||{},n=t.unselected||{},i=t.textfont||{},a=r.textfont||{},o=n.textfont||{},s=i.color,l=a.color,c=o.color;return e.selectedTextColorFn=function(t){var e=t.tc||s;return t.selected?l||e:c||(l?e:u.addOpacity(e,v))},e},x.selectedPointStyle=function(t,e){if(t.size()&&e.selectedpoints){var r=x.makeSelectedPointStyleFns(e),i=e.marker||{},a=[];r.selectedOpacityFn&&a.push((function(t,e){t.style(\"opacity\",r.selectedOpacityFn(e))})),r.selectedColorFn&&a.push((function(t,e){u.fill(t,r.selectedColorFn(e))})),r.selectedSizeFn&&a.push((function(t,n){var a=n.mx||i.symbol||0,o=r.selectedSizeFn(n);t.attr(\"d\",T(x.symbolNumber(a),o,et(n,e),H(n,e))),n.mrc2=o})),a.length&&t.each((function(t){for(var e=n.select(this),r=0;r0?r:0}function O(t,e,r){return r&&(t=B(t)),e?z(t[1]):I(t[0])}function I(t){var e=n.round(t,2);return S=e,e}function z(t){var e=n.round(t,2);return E=e,e}function D(t,e,r,n){var i=t[0]-e[0],a=t[1]-e[1],o=r[0]-e[0],s=r[1]-e[1],l=Math.pow(i*i+a*a,.25),u=Math.pow(o*o+s*s,.25),c=(u*u*i-l*l*o)*n,f=(u*u*a-l*l*s)*n,h=3*u*(l+u),p=3*l*(l+u);return[[I(e[0]+(h&&c/h)),z(e[1]+(h&&f/h))],[I(e[0]-(p&&c/p)),z(e[1]-(p&&f/p))]]}x.textPointStyle=function(t,e,r){if(t.size()){var a;if(e.selectedpoints){var o=x.makeSelectedTextStyleFns(e);a=o.selectedTextColorFn}var s=e.texttemplate,l=r._fullLayout;t.each((function(t){var o=n.select(this),u=s?i.extractOption(t,e,\"txt\",\"texttemplate\"):i.extractOption(t,e,\"tx\",\"text\");if(u||0===u){if(s){var c=e._module.formatLabels,f=c?c(t,e,l):{},p={};m(p,e,t.i);var d=e._meta||{};u=i.texttemplateString(u,f,l._d3locale,p,t,d)}var v=t.tp||e.textposition,g=P(t,e),y=a?a(t):t.tc||e.textfont.color;o.call(x.font,{family:t.tf||e.textfont.family,weight:t.tw||e.textfont.weight,style:t.ty||e.textfont.style,variant:t.tv||e.textfont.variant,size:g,color:y}).text(u).call(h.convertToTspans,r).call(C,v,g,t.mrc)}else o.remove()}))}},x.selectedTextStyle=function(t,e){if(t.size()&&e.selectedpoints){var r=x.makeSelectedTextStyleFns(e);t.each((function(t){var i=n.select(this),a=r.selectedTextColorFn(t),o=t.tp||e.textposition,s=P(t,e);u.fill(i,a);var c=l.traceIs(e,\"bar-like\");C(i,o,s,t.mrc2||t.mrc,c)}))}},x.smoothopen=function(t,e){if(t.length<3)return\"M\"+t.join(\"L\");var r,n=\"M\"+t[0],i=[];for(r=1;r=u||w>=f&&w<=u)&&(T<=h&&T>=c||T>=h&&T<=c)&&(t=[w,T])}return t}x.steps=function(t){var e=R[t]||F;return function(t){for(var r=\"M\"+I(t[0][0])+\",\"+z(t[0][1]),n=t.length,i=1;i=1e4&&(x.savedBBoxes={},N=0),r&&(x.savedBBoxes[r]=g),N++,i.extendFlat({},g)},x.setClipUrl=function(t,e,r){t.attr(\"clip-path\",U(e,r))},x.getTranslate=function(t){var e=(t[t.attr?\"attr\":\"getAttribute\"](\"transform\")||\"\").replace(/.*\\btranslate\\((-?\\d*\\.?\\d*)[^-\\d]*(-?\\d*\\.?\\d*)[^\\d].*/,(function(t,e,r){return[e,r].join(\" \")})).split(\" \");return{x:+e[0]||0,y:+e[1]||0}},x.setTranslate=function(t,e,r){var n=t.attr?\"attr\":\"getAttribute\",i=t.attr?\"attr\":\"setAttribute\",a=t[n](\"transform\")||\"\";return e=e||0,r=r||0,a=a.replace(/(\\btranslate\\(.*?\\);?)/,\"\").trim(),a=(a+=f(e,r)).trim(),t[i](\"transform\",a),a},x.getScale=function(t){var e=(t[t.attr?\"attr\":\"getAttribute\"](\"transform\")||\"\").replace(/.*\\bscale\\((\\d*\\.?\\d*)[^\\d]*(\\d*\\.?\\d*)[^\\d].*/,(function(t,e,r){return[e,r].join(\" \")})).split(\" \");return{x:+e[0]||1,y:+e[1]||1}},x.setScale=function(t,e,r){var n=t.attr?\"attr\":\"getAttribute\",i=t.attr?\"attr\":\"setAttribute\",a=t[n](\"transform\")||\"\";return e=e||1,r=r||1,a=a.replace(/(\\bscale\\(.*?\\);?)/,\"\").trim(),a=(a+=\"scale(\"+e+\",\"+r+\")\").trim(),t[i](\"transform\",a),a};var V=/\\s*sc.*/;x.setPointGroupScale=function(t,e,r){if(e=e||1,r=r||1,t){var n=1===e&&1===r?\"\":\"scale(\"+e+\",\"+r+\")\";t.each((function(){var t=(this.getAttribute(\"transform\")||\"\").replace(V,\"\");t=(t+=n).trim(),this.setAttribute(\"transform\",t)}))}};var q=/translate\\([^)]*\\)\\s*$/;function H(t,e){var r;return t&&(r=t.mf),void 0===r&&(r=e.marker&&e.marker.standoff||0),e._geo||e._xA?r:-r}x.setTextPointsScale=function(t,e,r){t&&t.each((function(){var t,i=n.select(this),a=i.select(\"text\");if(a.node()){var o=parseFloat(a.attr(\"x\")||0),s=parseFloat(a.attr(\"y\")||0),l=(i.attr(\"transform\")||\"\").match(q);t=1===e&&1===r?[]:[f(o,s),\"scale(\"+e+\",\"+r+\")\",f(-o,-s)],l&&t.push(l),i.attr(\"transform\",t.join(\"\"))}}))},x.getMarkerStandoff=H;var G,W,Y,X,Z,K,J=Math.atan2,$=Math.cos,Q=Math.sin;function tt(t,e){var r=e[0],n=e[1];return[r*$(t)-n*Q(t),r*Q(t)+n*$(t)]}function et(t,e){var r,n,a=t.ma;void 0===a&&((a=e.marker.angle)&&!i.isArrayOrTypedArray(a)||(a=0));var s=e.marker.angleref;if(\"previous\"===s||\"north\"===s){if(e._geo){var l=e._geo.project(t.lonlat);r=l[0],n=l[1]}else{var u=e._xA,c=e._yA;if(!u||!c)return 90;r=u.c2p(t.x),n=c.c2p(t.y)}if(e._geo){var f,h=t.lonlat[0],p=t.lonlat[1],d=e._geo.project([h,p+1e-5]),v=e._geo.project([h+1e-5,p]),g=J(v[1]-n,v[0]-r),y=J(d[1]-n,d[0]-r);if(\"north\"===s)f=a/180*Math.PI;else if(\"previous\"===s){var m=h/180*Math.PI,x=p/180*Math.PI,b=G/180*Math.PI,_=W/180*Math.PI,w=b-m,T=$(_)*Q(w),k=Q(_)*$(x)-$(_)*Q(x)*$(w);f=-J(T,k)-Math.PI,G=h,W=p}var A=tt(g,[$(f),0]),M=tt(y,[Q(f),0]);a=J(A[1]+M[1],A[0]+M[0])/Math.PI*180,\"previous\"!==s||K===e.uid&&t.i===Z+1||(a=null)}if(\"previous\"===s&&!e._geo)if(K===e.uid&&t.i===Z+1&&o(r)&&o(n)){var S=r-Y,E=n-X,L=e.line&&e.line.shape||\"\",C=L.slice(L.length-1);\"h\"===C&&(E=0),\"v\"===C&&(S=0),a+=J(E,S)/Math.PI*180+90}else a=null}return Y=r,X=n,Z=t.i,K=e.uid,a}x.getMarkerAngle=et},71984:function(t,e,r){\"use strict\";var n,i,a,o,s=r(21984),l=r(33428).round,u=\"M0,0Z\",c=Math.sqrt(2),f=Math.sqrt(3),h=Math.PI,p=Math.cos,d=Math.sin;function v(t){return null===t}function g(t,e,r){if(!(t&&t%360!=0||e))return r;if(a===t&&o===e&&n===r)return i;function l(t,r){var n=p(t),i=d(t),a=r[0],o=r[1]+(e||0);return[a*n-o*i,a*i+o*n]}a=t,o=e,n=r;for(var u=t/180*h,c=0,f=0,v=s(r),g=\"\",y=0;y0,f=t._context.staticPlot;e.each((function(e){var h,p=e[0].trace,d=p.error_x||{},v=p.error_y||{};p.ids&&(h=function(t){return t.id});var g=o.hasMarkers(p)&&p.marker.maxdisplayed>0;v.visible||d.visible||(e=[]);var y=n.select(this).selectAll(\"g.errorbar\").data(e,h);if(y.exit().remove(),e.length){d.visible||y.selectAll(\"path.xerror\").remove(),v.visible||y.selectAll(\"path.yerror\").remove(),y.style(\"opacity\",1);var m=y.enter().append(\"g\").classed(\"errorbar\",!0);c&&m.style(\"opacity\",0).transition().duration(s.duration).style(\"opacity\",1),a.setClipUrl(y,r.layerClipId,t),y.each((function(t){var e=n.select(this),r=function(t,e,r){var n={x:e.c2p(t.x),y:r.c2p(t.y)};return void 0!==t.yh&&(n.yh=r.c2p(t.yh),n.ys=r.c2p(t.ys),i(n.ys)||(n.noYS=!0,n.ys=r.c2p(t.ys,!0))),void 0!==t.xh&&(n.xh=e.c2p(t.xh),n.xs=e.c2p(t.xs),i(n.xs)||(n.noXS=!0,n.xs=e.c2p(t.xs,!0))),n}(t,l,u);if(!g||t.vis){var a,o=e.select(\"path.yerror\");if(v.visible&&i(r.x)&&i(r.yh)&&i(r.ys)){var h=v.width;a=\"M\"+(r.x-h)+\",\"+r.yh+\"h\"+2*h+\"m-\"+h+\",0V\"+r.ys,r.noYS||(a+=\"m-\"+h+\",0h\"+2*h),o.size()?c&&(o=o.transition().duration(s.duration).ease(s.easing)):o=e.append(\"path\").style(\"vector-effect\",f?\"none\":\"non-scaling-stroke\").classed(\"yerror\",!0),o.attr(\"d\",a)}else o.remove();var p=e.select(\"path.xerror\");if(d.visible&&i(r.y)&&i(r.xh)&&i(r.xs)){var y=(d.copy_ystyle?v:d).width;a=\"M\"+r.xh+\",\"+(r.y-y)+\"v\"+2*y+\"m0,-\"+y+\"H\"+r.xs,r.noXS||(a+=\"m0,-\"+y+\"v\"+2*y),p.size()?c&&(p=p.transition().duration(s.duration).ease(s.easing)):p=e.append(\"path\").style(\"vector-effect\",f?\"none\":\"non-scaling-stroke\").classed(\"xerror\",!0),p.attr(\"d\",a)}else p.remove()}}))}}))}},92036:function(t,e,r){\"use strict\";var n=r(33428),i=r(76308);t.exports=function(t){t.each((function(t){var e=t[0].trace,r=e.error_y||{},a=e.error_x||{},o=n.select(this);o.selectAll(\"path.yerror\").style(\"stroke-width\",r.thickness+\"px\").call(i.stroke,r.color),a.copy_ystyle&&(a=r),o.selectAll(\"path.xerror\").style(\"stroke-width\",a.thickness+\"px\").call(i.stroke,a.color)}))}},55756:function(t,e,r){\"use strict\";var n=r(25376),i=r(65460).hoverlabel,a=r(92880).extendFlat;t.exports={hoverlabel:{bgcolor:a({},i.bgcolor,{arrayOk:!0}),bordercolor:a({},i.bordercolor,{arrayOk:!0}),font:n({arrayOk:!0,editType:\"none\"}),align:a({},i.align,{arrayOk:!0}),namelength:a({},i.namelength,{arrayOk:!0}),editType:\"none\"}}},55056:function(t,e,r){\"use strict\";var n=r(3400),i=r(24040);function a(t,e,r,i){i=i||n.identity,Array.isArray(t)&&(e[0][r]=i(t))}t.exports=function(t){var e=t.calcdata,r=t._fullLayout;function o(t){return function(e){return n.coerceHoverinfo({hoverinfo:e},{_module:t._module},r)}}for(var s=0;s=0&&r.indexZ[0]._length||bt<0||bt>K[0]._length)return v.unhoverRaw(t,e)}else xt=\"xpx\"in e?e.xpx:Z[0]._length/2,bt=\"ypx\"in e?e.ypx:K[0]._length/2;if(e.pointerX=xt+Z[0]._offset,e.pointerY=bt+K[0]._offset,rt=\"xval\"in e?m.flat(x,e.xval):m.p2c(Z,xt),nt=\"yval\"in e?m.flat(x,e.yval):m.p2c(K,bt),!i(rt[0])||!i(nt[0]))return o.warn(\"Fx.hover failed\",e,t),v.unhoverRaw(t,e)}var kt=1/0;function At(r,n){for(at=0;atdt&&(vt.splice(0,dt),kt=vt[0].distance),A&&0!==et&&0===vt.length){pt.distance=et,pt.index=!1;var c=st._module.hoverPoints(pt,ft,ht,\"closest\",{hoverLayer:b._hoverlayer});if(c&&(c=c.filter((function(t){return t.spikeDistance<=et}))),c&&c.length){var f,h=c.filter((function(t){return t.xa.showspikes&&\"hovered data\"!==t.xa.spikesnap}));if(h.length){var p=h[0];i(p.x0)&&i(p.y0)&&(f=St(p),(!yt.vLinePoint||yt.vLinePoint.spikeDistance>f.spikeDistance)&&(yt.vLinePoint=f))}var v=c.filter((function(t){return t.ya.showspikes&&\"hovered data\"!==t.ya.spikesnap}));if(v.length){var g=v[0];i(g.x0)&&i(g.y0)&&(f=St(g),(!yt.hLinePoint||yt.hLinePoint.spikeDistance>f.spikeDistance)&&(yt.hLinePoint=f))}}}}}function Mt(t,e,r){for(var n,i=null,a=1/0,o=0;o0&&Math.abs(t.distance)Bt-1;Nt--)qt(vt[Nt]);vt=jt,Pt()}var Ht=t._hoverdata,Gt=[],Wt=q(t),Yt=H(t);for(it=0;it1||vt.length>1)||\"closest\"===M&&mt&&vt.length>1,oe=d.combine(b.plot_bgcolor||d.background,b.paper_bgcolor),se=z(vt,{gd:t,hovermode:M,rotateLabels:ae,bgColor:oe,container:b._hoverlayer,outerContainer:b._paper.node(),commonLabelOpts:b.hoverlabel,hoverdistance:b.hoverdistance}),le=se.hoverLabels;if(m.isUnifiedHover(M)||(function(t,e,r,n){var i,a,o,s,l,u,c,f=e?\"xa\":\"ya\",h=e?\"ya\":\"xa\",p=0,d=1,v=t.size(),g=new Array(v),y=0,m=n.minX,x=n.maxX,b=n.minY,_=n.maxY,w=function(t){return t*r._invScaleX},T=function(t){return t*r._invScaleY};function A(t){var e=t[0],r=t[t.length-1];if(a=e.pmin-e.pos-e.dp+e.size,o=r.pos+r.dp+r.size-e.pmax,a>.01){for(l=t.length-1;l>=0;l--)t[l].dp+=a;i=!1}if(!(o<.01)){if(a<-.01){for(l=t.length-1;l>=0;l--)t[l].dp-=o;i=!1}if(i){var n=0;for(s=0;se.pmax&&n++;for(s=t.length-1;s>=0&&!(n<=0);s--)(u=t[s]).pos>e.pmax-1&&(u.del=!0,n--);for(s=0;s=0;l--)t[l].dp-=o;for(s=t.length-1;s>=0&&!(n<=0);s--)(u=t[s]).pos+u.dp+u.size>e.pmax&&(u.del=!0,n--)}}}for(t.each((function(t){var n=t[f],i=t[h],a=\"x\"===n._id.charAt(0),o=n.range;0===y&&o&&o[0]>o[1]!==a&&(d=-1);var s=0,l=a?r.width:r.height;if(\"x\"===r.hovermode||\"y\"===r.hovermode){var u,c,p=R(t,e),v=t.anchor,A=\"end\"===v?-1:1;if(\"middle\"===v)c=(u=t.crossPos+(a?T(p.y-t.by/2):w(t.bx/2+t.tx2width/2)))+(a?T(t.by):w(t.bx));else if(a)c=(u=t.crossPos+T(S+p.y)-T(t.by/2-S))+T(t.by);else{var M=w(A*S+p.x),E=M+w(A*t.bx);u=t.crossPos+Math.min(M,E),c=t.crossPos+Math.max(M,E)}a?void 0!==b&&void 0!==_&&Math.min(c,_)-Math.max(u,b)>1&&(\"left\"===i.side?(s=i._mainLinePosition,l=r.width):l=i._mainLinePosition):void 0!==m&&void 0!==x&&Math.min(c,x)-Math.max(u,m)>1&&(\"top\"===i.side?(s=i._mainLinePosition,l=r.height):l=i._mainLinePosition)}g[y++]=[{datum:t,traceIndex:t.trace.index,dp:0,pos:t.pos,posref:t.posref,size:t.by*(a?k:1)/2,pmin:s,pmax:l}]})),g.sort((function(t,e){return t[0].posref-e[0].posref||d*(e[0].traceIndex-t[0].traceIndex)}));!i&&p<=v;){for(p++,i=!0,s=0;s.01&&L.pmin===C.pmin&&L.pmax===C.pmax){for(l=E.length-1;l>=0;l--)E[l].dp+=a;for(M.push.apply(M,E),g.splice(s+1,1),c=0,l=M.length-1;l>=0;l--)c+=M[l].dp;for(o=c/M.length,l=M.length-1;l>=0;l--)M[l].dp-=o;i=!1}else s++}g.forEach(A)}for(s=g.length-1;s>=0;s--){var P=g[s];for(l=P.length-1;l>=0;l--){var O=P[l],I=O.datum;I.offset=O.dp,I.del=O.del}}}(le,ae,b,se.commonLabelBoundingBox),F(le,ae,b._invScaleX,b._invScaleY)),l&&l.tagName){var ue=y.getComponentMethod(\"annotations\",\"hasClickToShow\")(t,Gt);h(n.select(l),ue?\"pointer\":\"\")}l&&!a&&function(t,e,r){if(!r||r.length!==t._hoverdata.length)return!0;for(var n=r.length-1;n>=0;n--){var i=r[n],a=t._hoverdata[n];if(i.curveNumber!==a.curveNumber||String(i.pointNumber)!==String(a.pointNumber)||String(i.pointNumbers)!==String(a.pointNumbers))return!0}return!1}(t,0,Ht)&&(Ht&&t.emit(\"plotly_unhover\",{event:e,points:Ht}),t.emit(\"plotly_hover\",{event:e,points:t._hoverdata,xaxes:Z,yaxes:K,xvals:rt,yvals:nt}))}(t,e,r,a,l)}))},e.loneHover=function(t,e){var r=!0;Array.isArray(t)||(r=!1,t=[t]);var i=e.gd,a=q(i),o=H(i),s=z(t.map((function(t){var r=t._x0||t.x0||t.x||0,n=t._x1||t.x1||t.x||0,s=t._y0||t.y0||t.y||0,l=t._y1||t.y1||t.y||0,u=t.eventData;if(u){var c=Math.min(r,n),f=Math.max(r,n),h=Math.min(s,l),p=Math.max(s,l),v=t.trace;if(y.traceIs(v,\"gl3d\")){var g=i._fullLayout[v.scene]._scene.container,m=g.offsetLeft,x=g.offsetTop;c+=m,f+=m,h+=x,p+=x}u.bbox={x0:c+o,x1:f+o,y0:h+a,y1:p+a},e.inOut_bbox&&e.inOut_bbox.push(u.bbox)}else u=!1;return{color:t.color||d.defaultLine,x0:t.x0||t.x||0,x1:t.x1||t.x||0,y0:t.y0||t.y||0,y1:t.y1||t.y||0,xLabel:t.xLabel,yLabel:t.yLabel,zLabel:t.zLabel,text:t.text,name:t.name,idealAlign:t.idealAlign,borderColor:t.borderColor,fontFamily:t.fontFamily,fontSize:t.fontSize,fontColor:t.fontColor,fontWeight:t.fontWeight,fontStyle:t.fontStyle,fontVariant:t.fontVariant,nameLength:t.nameLength,textAlign:t.textAlign,trace:t.trace||{index:0,hoverinfo:\"\"},xa:{_offset:0},ya:{_offset:0},index:0,hovertemplate:t.hovertemplate||!1,hovertemplateLabels:t.hovertemplateLabels||!1,eventData:u}})),{gd:i,hovermode:\"closest\",rotateLabels:!1,bgColor:e.bgColor||d.background,container:n.select(e.container),outerContainer:e.outerContainer||e.container}).hoverLabels,l=0,u=0;return s.sort((function(t,e){return t.y0-e.y0})).each((function(t,r){var n=t.y0-t.by/2;t.offset=n-5([\\s\\S]*)<\\/extra>/;function z(t,e){var r=e.gd,i=r._fullLayout,a=e.hovermode,s=e.rotateLabels,c=e.bgColor,h=e.container,v=e.outerContainer,g=e.commonLabelOpts||{};if(0===t.length)return[[]];var T=e.fontFamily||x.HOVERFONT,k=e.fontSize||x.HOVERFONTSIZE,A=e.fontWeight||i.font.weight,M=e.fontStyle||i.font.style,L=e.fontVariant||i.font.variant,C=t[0],P=C.xa,I=C.ya,z=a.charAt(0),R=z+\"Label\",F=C[R];if(void 0===F&&\"multicategory\"===P.type)for(var B=0;Bi.width-_&&(w=i.width-_),e.attr(\"d\",\"M\"+(y-w)+\",0L\"+(y-w+S)+\",\"+b+S+\"H\"+_+\"v\"+b+(2*E+x.height)+\"H\"+-_+\"V\"+b+S+\"H\"+(y-w-S)+\"Z\"),y=w,K.minX=y-_,K.maxX=y+_,\"top\"===P.side?(K.minY=m-(2*E+x.height),K.maxY=m-E):(K.minY=m+E,K.maxY=m+(2*E+x.height))}else{var O,z,D;\"right\"===I.side?(O=\"start\",z=1,D=\"\",y=P._offset+P._length):(O=\"end\",z=-1,D=\"-\",y=P._offset),m=I._offset+(C.y0+C.y1)/2,s.attr(\"text-anchor\",O),e.attr(\"d\",\"M0,0L\"+D+S+\",\"+S+\"V\"+(E+x.height/2)+\"h\"+D+(2*E+x.width)+\"V-\"+(E+x.height/2)+\"H\"+D+S+\"V-\"+S+\"Z\"),K.minY=m-(E+x.height/2),K.maxY=m+(E+x.height/2),\"right\"===I.side?(K.minX=y+S,K.maxX=y+S+(2*E+x.width)):(K.minX=y-S-(2*E+x.width),K.maxX=y-S);var R,B=x.height/2,N=j-x.top-B,U=\"clip\"+i._uid+\"commonlabel\"+I._id;if(y=0?ft:ht+vt=0?ht:Tt+vt=0?ut:ct+gt=0?ct:kt+gt=0,\"top\"!==t.idealAlign&&X||!Z?X?(R+=N/2,t.anchor=\"start\"):t.anchor=\"middle\":(R-=N/2,t.anchor=\"end\"),t.crossPos=R;else{if(t.pos=R,X=z+B/2+K<=U,Z=z-B/2-K>=0,\"left\"!==t.idealAlign&&X||!Z)if(X)z+=B/2,t.anchor=\"start\";else{t.anchor=\"middle\";var J=K/2,$=z+J-U,Q=z-J;$>0&&(z-=$),Q<0&&(z+=-Q)}else z-=B/2,t.anchor=\"end\";t.crossPos=z}_.attr(\"text-anchor\",t.anchor),P&&C.attr(\"text-anchor\",t.anchor),e.attr(\"transform\",l(z,R)+(s?u(w):\"\"))})),{hoverLabels:At,commonLabelBoundingBox:K}}function D(t,e,r,n,i,a){var s=\"\",l=\"\";void 0!==t.nameOverride&&(t.name=t.nameOverride),t.name&&(t.trace._meta&&(t.name=o.templateString(t.name,t.trace._meta)),s=U(t.name,t.nameLength));var u=r.charAt(0),c=\"x\"===u?\"y\":\"x\";void 0!==t.zLabel?(void 0!==t.xLabel&&(l+=\"x: \"+t.xLabel+\"
\"),void 0!==t.yLabel&&(l+=\"y: \"+t.yLabel+\"
\"),\"choropleth\"!==t.trace.type&&\"choroplethmapbox\"!==t.trace.type&&(l+=(l?\"z: \":\"\")+t.zLabel)):e&&t[u+\"Label\"]===i?l=t[c+\"Label\"]||\"\":void 0===t.xLabel?void 0!==t.yLabel&&\"scattercarpet\"!==t.trace.type&&(l=t.yLabel):l=void 0===t.yLabel?t.xLabel:\"(\"+t.xLabel+\", \"+t.yLabel+\")\",!t.text&&0!==t.text||Array.isArray(t.text)||(l+=(l?\"
\":\"\")+t.text),void 0!==t.extraText&&(l+=(l?\"
\":\"\")+t.extraText),a&&\"\"===l&&!t.hovertemplate&&(\"\"===s&&a.remove(),l=s);var f=t.hovertemplate||!1;if(f){var h=t.hovertemplateLabels||t;t[u+\"Label\"]!==i&&(h[u+\"other\"]=h[u+\"Val\"],h[u+\"otherLabel\"]=h[u+\"Label\"]),l=(l=o.hovertemplateString(f,h,n._d3locale,t.eventData[0]||{},t.trace._meta)).replace(I,(function(e,r){return s=U(r,t.nameLength),\"\"}))}return[l,s]}function R(t,e){var r=0,n=t.offset;return e&&(n*=-M,r=t.offset*A),{x:r,y:n}}function F(t,e,r,i){var a=function(t){return t*r},o=function(t){return t*i};t.each((function(t){var r=n.select(this);if(t.del)return r.remove();var i,s,l,u,c=r.select(\"text.nums\"),h=t.anchor,d=\"end\"===h?-1:1,v=(u=(l=(s={start:1,end:-1,middle:0}[(i=t).anchor])*(S+E))+s*(i.txwidth+E),\"middle\"===i.anchor&&(l-=i.tx2width/2,u+=i.txwidth/2+E),{alignShift:s,textShiftX:l,text2ShiftX:u}),g=R(t,e),y=g.x,m=g.y,x=\"middle\"===h;r.select(\"path\").attr(\"d\",x?\"M-\"+a(t.bx/2+t.tx2width/2)+\",\"+o(m-t.by/2)+\"h\"+a(t.bx)+\"v\"+o(t.by)+\"h-\"+a(t.bx)+\"Z\":\"M0,0L\"+a(d*S+y)+\",\"+o(S+m)+\"v\"+o(t.by/2-S)+\"h\"+a(d*t.bx)+\"v-\"+o(t.by)+\"H\"+a(d*S+y)+\"V\"+o(m-S)+\"Z\");var b=y+v.textShiftX,_=m+t.ty0-t.by/2+E,w=t.textAlign||\"auto\";\"auto\"!==w&&(\"left\"===w&&\"start\"!==h?(c.attr(\"text-anchor\",\"start\"),b=x?-t.bx/2-t.tx2width/2+E:-t.bx-E):\"right\"===w&&\"end\"!==h&&(c.attr(\"text-anchor\",\"end\"),b=x?t.bx/2-t.tx2width/2-E:t.bx+E)),c.call(f.positionText,a(b),o(_)),t.tx2width&&(r.select(\"text.name\").call(f.positionText,a(v.text2ShiftX+v.alignShift*E+y),o(m+t.ty0-t.by/2+E)),r.select(\"rect\").call(p.setRect,a(v.text2ShiftX+(v.alignShift-1)*t.tx2width/2+y),o(m-t.by/2-1),a(t.tx2width),o(t.by+2)))}))}function B(t,e){var r=t.index,n=t.trace||{},a=t.cd[0],s=t.cd[r]||{};function l(t){return t||i(t)&&0===t}var u=Array.isArray(r)?function(t,e){var i=o.castOption(a,r,t);return l(i)?i:o.extractOption({},n,\"\",e)}:function(t,e){return o.extractOption(s,n,t,e)};function c(e,r,n){var i=u(r,n);l(i)&&(t[e]=i)}if(c(\"hoverinfo\",\"hi\",\"hoverinfo\"),c(\"bgcolor\",\"hbg\",\"hoverlabel.bgcolor\"),c(\"borderColor\",\"hbc\",\"hoverlabel.bordercolor\"),c(\"fontFamily\",\"htf\",\"hoverlabel.font.family\"),c(\"fontSize\",\"hts\",\"hoverlabel.font.size\"),c(\"fontColor\",\"htc\",\"hoverlabel.font.color\"),c(\"fontWeight\",\"htw\",\"hoverlabel.font.weight\"),c(\"fontStyle\",\"hty\",\"hoverlabel.font.style\"),c(\"fontVariant\",\"htv\",\"hoverlabel.font.variant\"),c(\"nameLength\",\"hnl\",\"hoverlabel.namelength\"),c(\"textAlign\",\"hta\",\"hoverlabel.align\"),t.posref=\"y\"===e||\"closest\"===e&&\"h\"===n.orientation?t.xa._offset+(t.x0+t.x1)/2:t.ya._offset+(t.y0+t.y1)/2,t.x0=o.constrain(t.x0,0,t.xa._length),t.x1=o.constrain(t.x1,0,t.xa._length),t.y0=o.constrain(t.y0,0,t.ya._length),t.y1=o.constrain(t.y1,0,t.ya._length),void 0!==t.xLabelVal&&(t.xLabel=\"xLabel\"in t?t.xLabel:g.hoverLabelText(t.xa,t.xLabelVal,n.xhoverformat),t.xVal=t.xa.c2d(t.xLabelVal)),void 0!==t.yLabelVal&&(t.yLabel=\"yLabel\"in t?t.yLabel:g.hoverLabelText(t.ya,t.yLabelVal,n.yhoverformat),t.yVal=t.ya.c2d(t.yLabelVal)),void 0!==t.zLabelVal&&void 0===t.zLabel&&(t.zLabel=String(t.zLabelVal)),!(isNaN(t.xerr)||\"log\"===t.xa.type&&t.xerr<=0)){var f=g.tickText(t.xa,t.xa.c2l(t.xerr),\"hover\").text;void 0!==t.xerrneg?t.xLabel+=\" +\"+f+\" / -\"+g.tickText(t.xa,t.xa.c2l(t.xerrneg),\"hover\").text:t.xLabel+=\" ± \"+f,\"x\"===e&&(t.distance+=1)}if(!(isNaN(t.yerr)||\"log\"===t.ya.type&&t.yerr<=0)){var h=g.tickText(t.ya,t.ya.c2l(t.yerr),\"hover\").text;void 0!==t.yerrneg?t.yLabel+=\" +\"+h+\" / -\"+g.tickText(t.ya,t.ya.c2l(t.yerrneg),\"hover\").text:t.yLabel+=\" ± \"+h,\"y\"===e&&(t.distance+=1)}var p=t.hoverinfo||t.trace.hoverinfo;return p&&\"all\"!==p&&(-1===(p=Array.isArray(p)?p:p.split(\"+\")).indexOf(\"x\")&&(t.xLabel=void 0),-1===p.indexOf(\"y\")&&(t.yLabel=void 0),-1===p.indexOf(\"z\")&&(t.zLabel=void 0),-1===p.indexOf(\"text\")&&(t.text=void 0),-1===p.indexOf(\"name\")&&(t.name=void 0)),t}function N(t,e,r){var n,i,o=r.container,s=r.fullLayout,l=s._size,u=r.event,c=!!e.hLinePoint,f=!!e.vLinePoint;if(o.selectAll(\".spikeline\").remove(),f||c){var h=d.combine(s.plot_bgcolor,s.paper_bgcolor);if(c){var v,y,m=e.hLinePoint;n=m&&m.xa,\"cursor\"===(i=m&&m.ya).spikesnap?(v=u.pointerX,y=u.pointerY):(v=n._offset+m.x,y=i._offset+m.y);var x,b,_=a.readability(m.color,h)<1.5?d.contrast(h):m.color,w=i.spikemode,T=i.spikethickness,k=i.spikecolor||_,A=g.getPxPosition(t,i);if(-1!==w.indexOf(\"toaxis\")||-1!==w.indexOf(\"across\")){if(-1!==w.indexOf(\"toaxis\")&&(x=A,b=v),-1!==w.indexOf(\"across\")){var M=i._counterDomainMin,S=i._counterDomainMax;\"free\"===i.anchor&&(M=Math.min(M,i.position),S=Math.max(S,i.position)),x=l.l+M*l.w,b=l.l+S*l.w}o.insert(\"line\",\":first-child\").attr({x1:x,x2:b,y1:y,y2:y,\"stroke-width\":T,stroke:k,\"stroke-dasharray\":p.dashStyle(i.spikedash,T)}).classed(\"spikeline\",!0).classed(\"crisp\",!0),o.insert(\"line\",\":first-child\").attr({x1:x,x2:b,y1:y,y2:y,\"stroke-width\":T+2,stroke:h}).classed(\"spikeline\",!0).classed(\"crisp\",!0)}-1!==w.indexOf(\"marker\")&&o.insert(\"circle\",\":first-child\").attr({cx:A+(\"right\"!==i.side?T:-T),cy:y,r:T,fill:k}).classed(\"spikeline\",!0)}if(f){var E,L,C=e.vLinePoint;n=C&&C.xa,i=C&&C.ya,\"cursor\"===n.spikesnap?(E=u.pointerX,L=u.pointerY):(E=n._offset+C.x,L=i._offset+C.y);var P,O,I=a.readability(C.color,h)<1.5?d.contrast(h):C.color,z=n.spikemode,D=n.spikethickness,R=n.spikecolor||I,F=g.getPxPosition(t,n);if(-1!==z.indexOf(\"toaxis\")||-1!==z.indexOf(\"across\")){if(-1!==z.indexOf(\"toaxis\")&&(P=F,O=L),-1!==z.indexOf(\"across\")){var B=n._counterDomainMin,N=n._counterDomainMax;\"free\"===n.anchor&&(B=Math.min(B,n.position),N=Math.max(N,n.position)),P=l.t+(1-N)*l.h,O=l.t+(1-B)*l.h}o.insert(\"line\",\":first-child\").attr({x1:E,x2:E,y1:P,y2:O,\"stroke-width\":D,stroke:R,\"stroke-dasharray\":p.dashStyle(n.spikedash,D)}).classed(\"spikeline\",!0).classed(\"crisp\",!0),o.insert(\"line\",\":first-child\").attr({x1:E,x2:E,y1:P,y2:O,\"stroke-width\":D+2,stroke:h}).classed(\"spikeline\",!0).classed(\"crisp\",!0)}-1!==z.indexOf(\"marker\")&&o.insert(\"circle\",\":first-child\").attr({cx:E,cy:F-(\"top\"!==n.side?D:-D),r:D,fill:R}).classed(\"spikeline\",!0)}}}function j(t,e){return!e||e.vLinePoint!==t._spikepoints.vLinePoint||e.hLinePoint!==t._spikepoints.hLinePoint}function U(t,e){return f.plainText(t||\"\",{len:e,allowedTags:[\"br\",\"sub\",\"sup\",\"b\",\"i\",\"em\"]})}function V(t,e,r){var n=e[t+\"a\"],i=e[t+\"Val\"],a=e.cd[0];if(\"category\"===n.type||\"multicategory\"===n.type)i=n._categoriesMap[i];else if(\"date\"===n.type){var o=e.trace[t+\"periodalignment\"];if(o){var s=e.cd[e.index],l=s[t+\"Start\"];void 0===l&&(l=s[t]);var u=s[t+\"End\"];void 0===u&&(u=s[t]);var c=u-l;\"end\"===o?i+=c:\"middle\"===o&&(i+=c/2)}i=n.d2c(i)}return a&&a.t&&a.t.posLetter===n._id&&(\"group\"!==r.boxmode&&\"group\"!==r.violinmode||(i+=a.t.dPos)),i}function q(t){return t.offsetTop+t.clientTop}function H(t){return t.offsetLeft+t.clientLeft}function G(t,e){var r=t._fullLayout,n=e.getBoundingClientRect(),i=n.left,a=n.top,s=i+n.width,l=a+n.height,u=o.apply3DTransform(r._invTransform)(i,a),c=o.apply3DTransform(r._invTransform)(s,l),f=u[0],h=u[1],p=c[0],d=c[1];return{x:f,y:h,width:p-f,height:d-h,top:Math.min(h,d),left:Math.min(f,p),right:Math.max(f,p),bottom:Math.max(h,d)}}},16132:function(t,e,r){\"use strict\";var n=r(3400),i=r(76308),a=r(10624).isUnifiedHover;t.exports=function(t,e,r,o){o=o||{};var s=e.legend;function l(t){o.font[t]||(o.font[t]=s?e.legend.font[t]:e.font[t])}e&&a(e.hovermode)&&(o.font||(o.font={}),l(\"size\"),l(\"family\"),l(\"color\"),l(\"weight\"),l(\"style\"),l(\"variant\"),s?(o.bgcolor||(o.bgcolor=i.combine(e.legend.bgcolor,e.paper_bgcolor)),o.bordercolor||(o.bordercolor=e.legend.bordercolor)):o.bgcolor||(o.bgcolor=e.paper_bgcolor)),r(\"hoverlabel.bgcolor\",o.bgcolor),r(\"hoverlabel.bordercolor\",o.bordercolor),r(\"hoverlabel.namelength\",o.namelength),n.coerceFont(r,\"hoverlabel.font\",o.font),r(\"hoverlabel.align\",o.align)}},41008:function(t,e,r){\"use strict\";var n=r(3400),i=r(65460);t.exports=function(t,e){function r(r,a){return void 0!==e[r]?e[r]:n.coerce(t,e,i,r,a)}return r(\"clickmode\"),r(\"hoversubplots\"),r(\"hovermode\")}},93024:function(t,e,r){\"use strict\";var n=r(33428),i=r(3400),a=r(86476),o=r(10624),s=r(65460),l=r(83292);t.exports={moduleType:\"component\",name:\"fx\",constants:r(92456),schema:{layout:s},attributes:r(55756),layoutAttributes:s,supplyLayoutGlobalDefaults:r(81976),supplyDefaults:r(95448),supplyLayoutDefaults:r(88336),calc:r(55056),getDistanceFunction:o.getDistanceFunction,getClosest:o.getClosest,inbox:o.inbox,quadrature:o.quadrature,appendArrayPointValue:o.appendArrayPointValue,castHoverOption:function(t,e,r){return i.castOption(t,e,\"hoverlabel.\"+r)},castHoverinfo:function(t,e,r){return i.castOption(t,r,\"hoverinfo\",(function(r){return i.coerceHoverinfo({hoverinfo:r},{_module:t._module},e)}))},hover:l.hover,unhover:a.unhover,loneHover:l.loneHover,loneUnhover:function(t){var e=i.isD3Selection(t)?t:n.select(t);e.selectAll(\"g.hovertext\").remove(),e.selectAll(\".spikeline\").remove()},click:r(62376)}},65460:function(t,e,r){\"use strict\";var n=r(92456),i=r(25376),a=i({editType:\"none\"});a.family.dflt=n.HOVERFONT,a.size.dflt=n.HOVERFONTSIZE,t.exports={clickmode:{valType:\"flaglist\",flags:[\"event\",\"select\"],dflt:\"event\",editType:\"plot\",extras:[\"none\"]},dragmode:{valType:\"enumerated\",values:[\"zoom\",\"pan\",\"select\",\"lasso\",\"drawclosedpath\",\"drawopenpath\",\"drawline\",\"drawrect\",\"drawcircle\",\"orbit\",\"turntable\",!1],dflt:\"zoom\",editType:\"modebar\"},hovermode:{valType:\"enumerated\",values:[\"x\",\"y\",\"closest\",!1,\"x unified\",\"y unified\"],dflt:\"closest\",editType:\"modebar\"},hoversubplots:{valType:\"enumerated\",values:[\"single\",\"overlaying\",\"axis\"],dflt:\"overlaying\",editType:\"none\"},hoverdistance:{valType:\"integer\",min:-1,dflt:20,editType:\"none\"},spikedistance:{valType:\"integer\",min:-1,dflt:-1,editType:\"none\"},hoverlabel:{bgcolor:{valType:\"color\",editType:\"none\"},bordercolor:{valType:\"color\",editType:\"none\"},font:a,grouptitlefont:i({editType:\"none\"}),align:{valType:\"enumerated\",values:[\"left\",\"right\",\"auto\"],dflt:\"auto\",editType:\"none\"},namelength:{valType:\"integer\",min:-1,dflt:15,editType:\"none\"},editType:\"none\"},selectdirection:{valType:\"enumerated\",values:[\"h\",\"v\",\"d\",\"any\"],dflt:\"any\",editType:\"none\"}}},88336:function(t,e,r){\"use strict\";var n=r(3400),i=r(65460),a=r(41008),o=r(16132);t.exports=function(t,e){function r(r,a){return n.coerce(t,e,i,r,a)}a(t,e)&&(r(\"hoverdistance\"),r(\"spikedistance\")),\"select\"===r(\"dragmode\")&&r(\"selectdirection\");var s=e._has(\"mapbox\"),l=e._has(\"geo\"),u=e._basePlotModules.length;\"zoom\"===e.dragmode&&((s||l)&&1===u||s&&l&&2===u)&&(e.dragmode=\"pan\"),o(t,e,r),n.coerceFont(r,\"hoverlabel.grouptitlefont\",e.hoverlabel.font)}},81976:function(t,e,r){\"use strict\";var n=r(3400),i=r(16132),a=r(65460);t.exports=function(t,e){i(t,e,(function(r,i){return n.coerce(t,e,a,r,i)}))}},12704:function(t,e,r){\"use strict\";var n=r(3400),i=r(53756).counter,a=r(86968).u,o=r(33816).idRegex,s=r(31780),l={rows:{valType:\"integer\",min:1,editType:\"plot\"},roworder:{valType:\"enumerated\",values:[\"top to bottom\",\"bottom to top\"],dflt:\"top to bottom\",editType:\"plot\"},columns:{valType:\"integer\",min:1,editType:\"plot\"},subplots:{valType:\"info_array\",freeLength:!0,dimensions:2,items:{valType:\"enumerated\",values:[i(\"xy\").toString(),\"\"],editType:\"plot\"},editType:\"plot\"},xaxes:{valType:\"info_array\",freeLength:!0,items:{valType:\"enumerated\",values:[o.x.toString(),\"\"],editType:\"plot\"},editType:\"plot\"},yaxes:{valType:\"info_array\",freeLength:!0,items:{valType:\"enumerated\",values:[o.y.toString(),\"\"],editType:\"plot\"},editType:\"plot\"},pattern:{valType:\"enumerated\",values:[\"independent\",\"coupled\"],dflt:\"coupled\",editType:\"plot\"},xgap:{valType:\"number\",min:0,max:1,editType:\"plot\"},ygap:{valType:\"number\",min:0,max:1,editType:\"plot\"},domain:a({name:\"grid\",editType:\"plot\",noGridCell:!0},{}),xside:{valType:\"enumerated\",values:[\"bottom\",\"bottom plot\",\"top plot\",\"top\"],dflt:\"bottom plot\",editType:\"plot\"},yside:{valType:\"enumerated\",values:[\"left\",\"left plot\",\"right plot\",\"right\"],dflt:\"left plot\",editType:\"plot\"},editType:\"plot\"};function u(t,e,r){var n=e[r+\"axes\"],i=Object.keys((t._splomAxes||{})[r]||{});return Array.isArray(n)?n:i.length?i:void 0}function c(t,e,r,n,i,a){var o=e(t+\"gap\",r),s=e(\"domain.\"+t);e(t+\"side\",n);for(var l=new Array(i),u=s[0],c=(s[1]-u)/(i-o),f=c*(1-o),h=0;h1){h||p||d||\"independent\"===k(\"pattern\")&&(h=!0),g._hasSubplotGrid=h;var x,b,_=\"top to bottom\"===k(\"roworder\"),w=h?.2:.1,T=h?.3:.1;v&&e._splomGridDflt&&(x=e._splomGridDflt.xside,b=e._splomGridDflt.yside),g._domains={x:c(\"x\",k,w,x,m),y:c(\"y\",k,T,b,y,_)}}else delete e.grid}function k(t,e){return n.coerce(r,g,l,t,e)}},contentDefaults:function(t,e){var r=e.grid;if(r&&r._domains){var n,i,a,o,s,l,c,h=t.grid||{},p=e._subplots,d=r._hasSubplotGrid,v=r.rows,g=r.columns,y=\"independent\"===r.pattern,m=r._axisMap={};if(d){var x=h.subplots||[];l=r.subplots=new Array(v);var b=1;for(n=0;n(\"legend\"===t?1:0));if(!1===M&&(r[t]=void 0),(!1!==M||f.uirevision)&&(p(\"uirevision\",r.uirevision),!1!==M)){p(\"borderwidth\");var S,E,L,C=\"h\"===p(\"orientation\"),P=\"paper\"===p(\"yref\"),O=\"paper\"===p(\"xref\"),I=\"left\";if(C?(S=0,n.getComponentMethod(\"rangeslider\",\"isVisible\")(e.xaxis)?P?(E=1.1,L=\"bottom\"):(E=1,L=\"top\"):P?(E=-.1,L=\"top\"):(E=0,L=\"bottom\")):(E=1,L=\"auto\",O?S=1.02:(S=1,I=\"right\")),i.coerce(f,h,{x:{valType:\"number\",editType:\"legend\",min:O?-2:0,max:O?3:1,dflt:S}},\"x\"),i.coerce(f,h,{y:{valType:\"number\",editType:\"legend\",min:P?-2:0,max:P?3:1,dflt:E}},\"y\"),p(\"traceorder\",_),u.isGrouped(r[t])&&p(\"tracegroupgap\"),p(\"entrywidth\"),p(\"entrywidthmode\"),p(\"indentation\"),p(\"itemsizing\"),p(\"itemwidth\"),p(\"itemclick\"),p(\"itemdoubleclick\"),p(\"groupclick\"),p(\"xanchor\",I),p(\"yanchor\",L),p(\"valign\"),i.noneOrAll(f,h,[\"x\",\"y\"]),p(\"title.text\")){p(\"title.side\",C?\"left\":\"top\");var z=i.extendFlat({},d,{size:i.bigFont(d.size)});i.coerceFont(p,\"title.font\",z)}}}}t.exports=function(t,e,r){var n,a=r.slice(),o=e.shapes;if(o)for(n=0;n1)}var B=d.hiddenlabels||[];if(!(T||d.showlegend&&S.length))return s.selectAll(\".\"+w).remove(),d._topdefs.select(\"#\"+r).remove(),a.autoMargin(t,w);var N=i.ensureSingle(s,\"g\",w,(function(t){T||t.attr(\"pointer-events\",\"all\")})),j=i.ensureSingleById(d._topdefs,\"clipPath\",r,(function(t){t.append(\"rect\")})),U=i.ensureSingle(N,\"rect\",\"bg\",(function(t){t.attr(\"shape-rendering\",\"crispEdges\")}));U.call(c.stroke,h.bordercolor).call(c.fill,h.bgcolor).style(\"stroke-width\",h.borderwidth+\"px\");var V,q=i.ensureSingle(N,\"g\",\"scrollbox\"),H=h.title;h._titleWidth=0,h._titleHeight=0,H.text?((V=i.ensureSingle(q,\"text\",w+\"titletext\")).attr(\"text-anchor\",\"start\").call(u.font,H.font).text(H.text),L(V,q,t,h,_)):q.selectAll(\".\"+w+\"titletext\").remove();var G=i.ensureSingle(N,\"rect\",\"scrollbar\",(function(t){t.attr(p.scrollBarEnterAttrs).call(c.fill,p.scrollBarColor)})),W=q.selectAll(\"g.groups\").data(S);W.enter().append(\"g\").attr(\"class\",\"groups\"),W.exit().remove();var Y=W.selectAll(\"g.traces\").data(i.identity);Y.enter().append(\"g\").attr(\"class\",\"traces\"),Y.exit().remove(),Y.style(\"opacity\",(function(t){var e=t[0].trace;return o.traceIs(e,\"pie-like\")?-1!==B.indexOf(t[0].label)?.5:1:\"legendonly\"===e.visible?.5:1})).each((function(){n.select(this).call(M,t,h)})).call(x,t,h).each((function(){T||n.select(this).call(E,t,w)})),i.syncOrAsync([a.previousPromises,function(){return function(t,e,r,i){var a=t._fullLayout,o=O(i);i||(i=a[o]);var s=a._size,l=b.isVertical(i),c=b.isGrouped(i),f=\"fraction\"===i.entrywidthmode,h=i.borderwidth,d=2*h,v=p.itemGap,g=i.indentation+i.itemwidth+2*v,y=2*(h+v),m=P(i),x=i.y<0||0===i.y&&\"top\"===m,_=i.y>1||1===i.y&&\"bottom\"===m,w=i.tracegroupgap,T={};i._maxHeight=Math.max(x||_?a.height/2:s.h,30);var A=0;i._width=0,i._height=0;var M=function(t){var e=0,r=0,n=t.title.side;return n&&(-1!==n.indexOf(\"left\")&&(e=t._titleWidth),-1!==n.indexOf(\"top\")&&(r=t._titleHeight)),[e,r]}(i);if(l)r.each((function(t){var e=t[0].height;u.setTranslate(this,h+M[0],h+M[1]+i._height+e/2+v),i._height+=e,i._width=Math.max(i._width,t[0].width)})),A=g+i._width,i._width+=v+g+d,i._height+=y,c&&(e.each((function(t,e){u.setTranslate(this,0,e*i.tracegroupgap)})),i._height+=(i._lgroupsLength-1)*i.tracegroupgap);else{var S=C(i),E=i.x<0||0===i.x&&\"right\"===S,L=i.x>1||1===i.x&&\"left\"===S,I=_||x,z=a.width/2;i._maxWidth=Math.max(E?I&&\"left\"===S?s.l+s.w:z:L?I&&\"right\"===S?s.r+s.w:z:s.w,2*g);var D=0,R=0;r.each((function(t){var e=k(t,i,g);D=Math.max(D,e),R+=e})),A=null;var F=0;if(c){var B=0,N=0,j=0;e.each((function(){var t=0,e=0;n.select(this).selectAll(\"g.traces\").each((function(r){var n=k(r,i,g),a=r[0].height;u.setTranslate(this,M[0],M[1]+h+v+a/2+e),e+=a,t=Math.max(t,n),T[r[0].trace.legendgroup]=t}));var r=t+v;N>0&&r+h+N>i._maxWidth?(F=Math.max(F,N),N=0,j+=B+w,B=e):B=Math.max(B,e),u.setTranslate(this,N,j),N+=r})),i._width=Math.max(F,N)+h,i._height=j+B+y}else{var U=r.size(),V=R+d+(U-1)*v=i._maxWidth&&(F=Math.max(F,W),H=0,G+=q,i._height+=q,q=0),u.setTranslate(this,M[0]+h+H,M[1]+h+G+e/2+v),W=H+r+v,H+=n,q=Math.max(q,e)})),V?(i._width=H+d,i._height=q+y):(i._width=Math.max(F,W)+d,i._height+=q+y)}}i._width=Math.ceil(Math.max(i._width+M[0],i._titleWidth+2*(h+p.titlePad))),i._height=Math.ceil(Math.max(i._height+M[1],i._titleHeight+2*(h+p.itemGap))),i._effHeight=Math.min(i._height,i._maxHeight);var Y=t._context.edits,X=Y.legendText||Y.legendPosition;r.each((function(t){var e=n.select(this).select(\".\"+o+\"toggle\"),r=t[0].height,a=t[0].trace.legendgroup,s=k(t,i,g);c&&\"\"!==a&&(s=T[a]);var h=X?g:A||s;l||f||(h+=v/2),u.setRect(e,0,-r/2,h,r)}))}(t,W,Y,h)},function(){var e,c,m,x,b=d._size,_=h.borderwidth,k=\"paper\"===h.xref,M=\"paper\"===h.yref;if(H.text&&function(t,e,r){if(\"top center\"===e.title.side||\"top right\"===e.title.side){var n=e.title.font.size*v,i=0,a=t.node(),o=u.bBox(a).width;\"top center\"===e.title.side?i=.5*(e._width-2*r-2*p.titlePad-o):\"top right\"===e.title.side&&(i=e._width-2*r-2*p.titlePad-o),f.positionText(t,r+p.titlePad+i,r+n)}}(V,h,_),!T){var S,E;S=k?b.l+b.w*h.x-g[C(h)]*h._width:d.width*h.x-g[C(h)]*h._width,E=M?b.t+b.h*(1-h.y)-g[P(h)]*h._effHeight:d.height*(1-h.y)-g[P(h)]*h._effHeight;var L=function(t,e,r,n){var i=t._fullLayout,o=i[e],s=C(o),l=P(o),u=\"paper\"===o.xref,c=\"paper\"===o.yref;t._fullLayout._reservedMargin[e]={};var f=o.y<.5?\"b\":\"t\",h=o.x<.5?\"l\":\"r\",p={r:i.width-r,l:r+o._width,b:i.height-n,t:n+o._effHeight};if(u&&c)return a.autoMargin(t,e,{x:o.x,y:o.y,l:o._width*g[s],r:o._width*y[s],b:o._effHeight*y[l],t:o._effHeight*g[l]});u?t._fullLayout._reservedMargin[e][f]=p[f]:c||\"v\"===o.orientation?t._fullLayout._reservedMargin[e][h]=p[h]:t._fullLayout._reservedMargin[e][f]=p[f]}(t,w,S,E);if(L)return;if(d.margin.autoexpand){var O=S,I=E;S=k?i.constrain(S,0,d.width-h._width):O,E=M?i.constrain(E,0,d.height-h._effHeight):I,S!==O&&i.log(\"Constrain \"+w+\".x to make legend fit inside graph\"),E!==I&&i.log(\"Constrain \"+w+\".y to make legend fit inside graph\")}u.setTranslate(N,S,E)}if(G.on(\".drag\",null),N.on(\"wheel\",null),T||h._height<=h._maxHeight||t._context.staticPlot){var z=h._effHeight;T&&(z=h._height),U.attr({width:h._width-_,height:z-_,x:_/2,y:_/2}),u.setTranslate(q,0,0),j.select(\"rect\").attr({width:h._width-2*_,height:z-2*_,x:_,y:_}),u.setClipUrl(q,r,t),u.setRect(G,0,0,0,0),delete h._scrollY}else{var D,R,F,B=Math.max(p.scrollBarMinHeight,h._effHeight*h._effHeight/h._height),W=h._effHeight-B-2*p.scrollBarMargin,Y=h._height-h._effHeight,X=W/Y,Z=Math.min(h._scrollY||0,Y);U.attr({width:h._width-2*_+p.scrollBarWidth+p.scrollBarMargin,height:h._effHeight-_,x:_/2,y:_/2}),j.select(\"rect\").attr({width:h._width-2*_+p.scrollBarWidth+p.scrollBarMargin,height:h._effHeight-2*_,x:_,y:_+Z}),u.setClipUrl(q,r,t),$(Z,B,X),N.on(\"wheel\",(function(){$(Z=i.constrain(h._scrollY+n.event.deltaY/W*Y,0,Y),B,X),0!==Z&&Z!==Y&&n.event.preventDefault()}));var K=n.behavior.drag().on(\"dragstart\",(function(){var t=n.event.sourceEvent;D=\"touchstart\"===t.type?t.changedTouches[0].clientY:t.clientY,F=Z})).on(\"drag\",(function(){var t=n.event.sourceEvent;2===t.buttons||t.ctrlKey||(R=\"touchmove\"===t.type?t.changedTouches[0].clientY:t.clientY,Z=function(t,e,r){var n=(r-e)/X+t;return i.constrain(n,0,Y)}(F,D,R),$(Z,B,X))}));G.call(K);var J=n.behavior.drag().on(\"dragstart\",(function(){var t=n.event.sourceEvent;\"touchstart\"===t.type&&(D=t.changedTouches[0].clientY,F=Z)})).on(\"drag\",(function(){var t=n.event.sourceEvent;\"touchmove\"===t.type&&(R=t.changedTouches[0].clientY,Z=function(t,e,r){var n=(e-r)/X+t;return i.constrain(n,0,Y)}(F,D,R),$(Z,B,X))}));q.call(J)}function $(e,r,n){h._scrollY=t._fullLayout[w]._scrollY=e,u.setTranslate(q,0,-e),u.setRect(G,h._width,p.scrollBarMargin+e*n,p.scrollBarWidth,r),j.select(\"rect\").attr(\"y\",_+e)}t._context.edits.legendPosition&&(N.classed(\"cursor-move\",!0),l.init({element:N.node(),gd:t,prepFn:function(){var t=u.getTranslate(N);m=t.x,x=t.y},moveFn:function(t,r){var n=m+t,i=x+r;u.setTranslate(N,n,i),e=l.align(n,h._width,b.l,b.l+b.w,h.xanchor),c=l.align(i+h._height,-h._height,b.t+b.h,b.t,h.yanchor)},doneFn:function(){if(void 0!==e&&void 0!==c){var r={};r[w+\".x\"]=e,r[w+\".y\"]=c,o.call(\"_guiRelayout\",t,r)}},clickFn:function(e,r){var n=s.selectAll(\"g.traces\").filter((function(){var t=this.getBoundingClientRect();return r.clientX>=t.left&&r.clientX<=t.right&&r.clientY>=t.top&&r.clientY<=t.bottom}));n.size()>0&&A(t,N,n,e,r)}}))}],t)}}function k(t,e,r){var n=t[0],i=n.width,a=e.entrywidthmode,o=n.trace.legendwidth||e.entrywidth;return\"fraction\"===a?e._maxWidth*o:r+(o||i)}function A(t,e,r,n,i){var a=r.data()[0][0].trace,l={event:i,node:r.node(),curveNumber:a.index,expandedIndex:a._expandedIndex,data:t.data,layout:t.layout,frames:t._transitionData._frames,config:t._context,fullData:t._fullData,fullLayout:t._fullLayout};a._group&&(l.group=a._group),o.traceIs(a,\"pie-like\")&&(l.label=r.datum()[0].label);var u=s.triggerHandler(t,\"plotly_legendclick\",l);if(1===n){if(!1===u)return;e._clickTimeout=setTimeout((function(){t._fullLayout&&h(r,t,n)}),t._context.doubleClickDelay)}else 2===n&&(e._clickTimeout&&clearTimeout(e._clickTimeout),t._legendMouseDownTime=0,!1!==s.triggerHandler(t,\"plotly_legenddoubleclick\",l)&&!1!==u&&h(r,t,n))}function M(t,e,r){var n,a,s=O(r),l=t.data()[0][0],c=l.trace,h=o.traceIs(c,\"pie-like\"),d=!r._inHover&&e._context.edits.legendText&&!h,v=r._maxNameLength;l.groupTitle?(n=l.groupTitle.text,a=l.groupTitle.font):(a=r.font,r.entries?n=l.text:(n=h?l.label:c.name,c._meta&&(n=i.templateString(n,c._meta))));var g=i.ensureSingle(t,\"text\",s+\"text\");g.attr(\"text-anchor\",\"start\").call(u.font,a).text(d?S(n,v):n);var y=r.indentation+r.itemwidth+2*p.itemGap;f.positionText(g,y,0),d?g.call(f.makeEditable,{gd:e,text:n}).call(L,t,e,r).on(\"edit\",(function(n){this.text(S(n,v)).call(L,t,e,r);var a=l.trace._fullInput||{},s={};if(o.hasTransform(a,\"groupby\")){var u=o.getTransformIndices(a,\"groupby\"),f=u[u.length-1],h=i.keyedContainer(a,\"transforms[\"+f+\"].styles\",\"target\",\"value.name\");h.set(l.trace._group,n),s=h.constructUpdate()}else s.name=n;return a._isShape?o.call(\"_guiRelayout\",e,\"shapes[\"+c.index+\"].name\",s.name):o.call(\"_guiRestyle\",e,s,c.index)})):L(g,t,e,r)}function S(t,e){var r=Math.max(4,e);if(t&&t.trim().length>=r/2)return t;for(var n=r-(t=t||\"\").length;n>0;n--)t+=\" \";return t}function E(t,e,r){var a,o=e._context.doubleClickDelay,s=1,l=i.ensureSingle(t,\"rect\",r+\"toggle\",(function(t){e._context.staticPlot||t.style(\"cursor\",\"pointer\").attr(\"pointer-events\",\"all\"),t.call(c.fill,\"rgba(0,0,0,0)\")}));e._context.staticPlot||(l.on(\"mousedown\",(function(){(a=(new Date).getTime())-e._legendMouseDownTimeo&&(s=Math.max(s-1,1)),A(e,i,t,s,n.event)}})))}function L(t,e,r,n,i){n._inHover&&t.attr(\"data-notex\",!0),f.convertToTspans(t,r,(function(){!function(t,e,r,n){var i=t.data()[0][0];if(r._inHover||!i||i.trace.showlegend){var a=t.select(\"g[class*=math-group]\"),o=a.node(),s=O(r);r||(r=e._fullLayout[s]);var l,c,h=r.borderwidth,d=(n===_?r.title.font:i.groupTitle?i.groupTitle.font:r.font).size*v;if(o){var g=u.bBox(o);l=g.height,c=g.width,n===_?u.setTranslate(a,h,h+.75*l):u.setTranslate(a,0,.25*l)}else{var y=\".\"+s+(n===_?\"title\":\"\")+\"text\",m=t.select(y),x=f.lineCount(m),b=m.node();if(l=d*x,c=b?u.bBox(b).width:0,n===_)\"left\"===r.title.side&&(c+=2*p.itemGap),f.positionText(m,h+p.titlePad,h+d);else{var w=2*p.itemGap+r.indentation+r.itemwidth;i.groupTitle&&(w=p.itemGap,c-=r.indentation+r.itemwidth),f.positionText(m,w,-d*((x-1)/2-.3))}}n===_?(r._titleWidth=c,r._titleHeight=l):(i.lineHeight=d,i.height=Math.max(l,16)+3,i.width=c)}else t.remove()}(e,r,n,i)}))}function C(t){return i.isRightAnchor(t)?\"right\":i.isCenterAnchor(t)?\"center\":\"left\"}function P(t){return i.isBottomAnchor(t)?\"bottom\":i.isMiddleAnchor(t)?\"middle\":\"top\"}function O(t){return t._id||\"legend\"}t.exports=function(t,e){if(e)T(t,e);else{var r=t._fullLayout,i=r._legends;r._infolayer.selectAll('[class^=\"legend\"]').each((function(){var t=n.select(this),e=t.attr(\"class\").split(\" \")[0];e.match(w)&&-1===i.indexOf(e)&&t.remove()}));for(var a=0;aS&&(M=S)}k[a][0]._groupMinRank=M,k[a][0]._preGroupSort=a}var E=function(t,e){return t.trace.legendrank-e.trace.legendrank||t._preSort-e._preSort};for(k.forEach((function(t,e){t[0]._preGroupSort=e})),k.sort((function(t,e){return t[0]._groupMinRank-e[0]._groupMinRank||t[0]._preGroupSort-e[0]._preGroupSort})),a=0;ar?r:t}t.exports=function(t,e,r){var y=e._fullLayout;r||(r=y.legend);var m=\"constant\"===r.itemsizing,x=r.itemwidth,b=(x+2*p.itemGap)/2,_=o(b,0),w=function(t,e,r,n){var i;if(t+1)i=t;else{if(!(e&&e.width>0))return 0;i=e.width}return m?n:Math.min(i,r)};function T(t,a,o){var c=t[0].trace,f=c.marker||{},h=f.line||{},p=f.cornerradius?\"M6,3a3,3,0,0,1-3,3H-3a3,3,0,0,1-3-3V-3a3,3,0,0,1,3-3H3a3,3,0,0,1,3,3Z\":\"M6,6H-6V-6H6Z\",d=o?c.visible&&c.type===o:i.traceIs(c,\"bar\"),v=n.select(a).select(\"g.legendpoints\").selectAll(\"path.legend\"+o).data(d?[t]:[]);v.enter().append(\"path\").classed(\"legend\"+o,!0).attr(\"d\",p).attr(\"transform\",_),v.exit().remove(),v.each((function(t){var i=n.select(this),a=t[0],o=w(a.mlw,f.line,5,2);i.style(\"stroke-width\",o+\"px\");var p=a.mcc;if(!r._inHover&&\"mc\"in a){var d=u(f),v=d.mid;void 0===v&&(v=(d.max+d.min)/2),p=s.tryColorscale(f,\"\")(v)}var y=p||a.mc||f.color,m=f.pattern,x=m&&s.getPatternAttr(m.shape,0,\"\");if(x){var b=s.getPatternAttr(m.bgcolor,0,null),_=s.getPatternAttr(m.fgcolor,0,null),T=m.fgopacity,k=g(m.size,8,10),A=g(m.solidity,.5,1),M=\"legend-\"+c.uid;i.call(s.pattern,\"legend\",e,M,x,k,A,p,m.fillmode,b,_,T)}else i.call(l.fill,y);o&&l.stroke(i,a.mlc||h.color)}))}function k(t,r,o){var s=t[0],l=s.trace,u=o?l.visible&&l.type===o:i.traceIs(l,o),c=n.select(r).select(\"g.legendpoints\").selectAll(\"path.legend\"+o).data(u?[t]:[]);if(c.enter().append(\"path\").classed(\"legend\"+o,!0).attr(\"d\",\"M6,6H-6V-6H6Z\").attr(\"transform\",_),c.exit().remove(),c.size()){var p=l.marker||{},d=w(h(p.line.width,s.pts),p.line,5,2),v=\"pieLike\",g=a.minExtend(l,{marker:{line:{width:d}}},v),y=a.minExtend(s,{trace:g},v);f(c,y,g,e)}}t.each((function(t){var e=n.select(this),i=a.ensureSingle(e,\"g\",\"layers\");i.style(\"opacity\",t[0].trace.opacity);var s=r.indentation,l=r.valign,u=t[0].lineHeight,c=t[0].height;if(\"middle\"===l&&0===s||!u||!c)i.attr(\"transform\",null);else{var f={top:1,bottom:-1}[l]*(.5*(u-c+3))||0,h=r.indentation;i.attr(\"transform\",o(h,f))}i.selectAll(\"g.legendfill\").data([t]).enter().append(\"g\").classed(\"legendfill\",!0),i.selectAll(\"g.legendlines\").data([t]).enter().append(\"g\").classed(\"legendlines\",!0);var p=i.selectAll(\"g.legendsymbols\").data([t]);p.enter().append(\"g\").classed(\"legendsymbols\",!0),p.selectAll(\"g.legendpoints\").data([t]).enter().append(\"g\").classed(\"legendpoints\",!0)})).each((function(t){var r,i=t[0].trace,o=[];if(i.visible)switch(i.type){case\"histogram2d\":case\"heatmap\":o=[[\"M-15,-2V4H15V-2Z\"]],r=!0;break;case\"choropleth\":case\"choroplethmapbox\":o=[[\"M-6,-6V6H6V-6Z\"]],r=!0;break;case\"densitymapbox\":o=[[\"M-6,0 a6,6 0 1,0 12,0 a 6,6 0 1,0 -12,0\"]],r=\"radial\";break;case\"cone\":o=[[\"M-6,2 A2,2 0 0,0 -6,6 V6L6,4Z\"],[\"M-6,-6 A2,2 0 0,0 -6,-2 L6,-4Z\"],[\"M-6,-2 A2,2 0 0,0 -6,2 L6,0Z\"]],r=!1;break;case\"streamtube\":o=[[\"M-6,2 A2,2 0 0,0 -6,6 H6 A2,2 0 0,1 6,2 Z\"],[\"M-6,-6 A2,2 0 0,0 -6,-2 H6 A2,2 0 0,1 6,-6 Z\"],[\"M-6,-2 A2,2 0 0,0 -6,2 H6 A2,2 0 0,1 6,-2 Z\"]],r=!1;break;case\"surface\":o=[[\"M-6,-6 A2,3 0 0,0 -6,0 H6 A2,3 0 0,1 6,-6 Z\"],[\"M-6,1 A2,3 0 0,1 -6,6 H6 A2,3 0 0,0 6,0 Z\"]],r=!0;break;case\"mesh3d\":o=[[\"M-6,6H0L-6,-6Z\"],[\"M6,6H0L6,-6Z\"],[\"M-6,-6H6L0,6Z\"]],r=!1;break;case\"volume\":o=[[\"M-6,6H0L-6,-6Z\"],[\"M6,6H0L6,-6Z\"],[\"M-6,-6H6L0,6Z\"]],r=!0;break;case\"isosurface\":o=[[\"M-6,6H0L-6,-6Z\"],[\"M6,6H0L6,-6Z\"],[\"M-6,-6 A12,24 0 0,0 6,-6 L0,6Z\"]],r=!1}var c=n.select(this).select(\"g.legendpoints\").selectAll(\"path.legend3dandfriends\").data(o);c.enter().append(\"path\").classed(\"legend3dandfriends\",!0).attr(\"transform\",_).style(\"stroke-miterlimit\",1),c.exit().remove(),c.each((function(t,o){var c,f=n.select(this),h=u(i),p=h.colorscale,v=h.reversescale;if(p){if(!r){var g=p.length;c=0===o?p[v?g-1:0][1]:1===o?p[v?0:g-1][1]:p[Math.floor((g-1)/2)][1]}}else{var y=i.vertexcolor||i.facecolor||i.color;c=a.isArrayOrTypedArray(y)?y[o]||y[0]:y}f.attr(\"d\",t[0]),c?f.call(l.fill,c):f.call((function(t){if(t.size()){var n=\"legendfill-\"+i.uid;s.gradient(t,e,n,d(v,\"radial\"===r),p,\"fill\")}}))}))})).each((function(t){var e=t[0].trace,r=\"waterfall\"===e.type;if(t[0]._distinct&&r){var i=t[0].trace[t[0].dir].marker;return t[0].mc=i.color,t[0].mlw=i.line.width,t[0].mlc=i.line.color,T(t,this,\"waterfall\")}var a=[];e.visible&&r&&(a=t[0].hasTotals?[[\"increasing\",\"M-6,-6V6H0Z\"],[\"totals\",\"M6,6H0L-6,-6H-0Z\"],[\"decreasing\",\"M6,6V-6H0Z\"]]:[[\"increasing\",\"M-6,-6V6H6Z\"],[\"decreasing\",\"M6,6V-6H-6Z\"]]);var o=n.select(this).select(\"g.legendpoints\").selectAll(\"path.legendwaterfall\").data(a);o.enter().append(\"path\").classed(\"legendwaterfall\",!0).attr(\"transform\",_).style(\"stroke-miterlimit\",1),o.exit().remove(),o.each((function(t){var r=n.select(this),i=e[t[0]].marker,a=w(void 0,i.line,5,2);r.attr(\"d\",t[1]).style(\"stroke-width\",a+\"px\").call(l.fill,i.color),a&&r.call(l.stroke,i.line.color)}))})).each((function(t){T(t,this,\"funnel\")})).each((function(t){T(t,this)})).each((function(t){var r=t[0].trace,o=n.select(this).select(\"g.legendpoints\").selectAll(\"path.legendbox\").data(r.visible&&i.traceIs(r,\"box-violin\")?[t]:[]);o.enter().append(\"path\").classed(\"legendbox\",!0).attr(\"d\",\"M6,6H-6V-6H6Z\").attr(\"transform\",_),o.exit().remove(),o.each((function(){var t=n.select(this);if(\"all\"!==r.boxpoints&&\"all\"!==r.points||0!==l.opacity(r.fillcolor)||0!==l.opacity((r.line||{}).color)){var i=w(void 0,r.line,5,2);t.style(\"stroke-width\",i+\"px\").call(l.fill,r.fillcolor),i&&l.stroke(t,r.line.color)}else{var u=a.minExtend(r,{marker:{size:m?12:a.constrain(r.marker.size,2,16),sizeref:1,sizemin:1,sizemode:\"diameter\"}});o.call(s.pointStyle,u,e)}}))})).each((function(t){k(t,this,\"funnelarea\")})).each((function(t){k(t,this,\"pie\")})).each((function(t){var r,i,o=v(t),l=o.showFill,f=o.showLine,h=o.showGradientLine,p=o.showGradientFill,g=o.anyFill,y=o.anyLine,m=t[0],b=m.trace,_=u(b),T=_.colorscale,k=_.reversescale,A=c.hasMarkers(b)||!g?\"M5,0\":y?\"M5,-2\":\"M5,-3\",M=n.select(this),S=M.select(\".legendfill\").selectAll(\"path\").data(l||p?[t]:[]);if(S.enter().append(\"path\").classed(\"js-fill\",!0),S.exit().remove(),S.attr(\"d\",A+\"h\"+x+\"v6h-\"+x+\"z\").call((function(t){if(t.size())if(l)s.fillGroupStyle(t,e,!0);else{var r=\"legendfill-\"+b.uid;s.gradient(t,e,r,d(k),T,\"fill\")}})),f||h){var E=w(void 0,b.line,10,5);i=a.minExtend(b,{line:{width:E}}),r=[a.minExtend(m,{trace:i})]}var L=M.select(\".legendlines\").selectAll(\"path\").data(f||h?[r]:[]);L.enter().append(\"path\").classed(\"js-line\",!0),L.exit().remove(),L.attr(\"d\",A+(h?\"l\"+x+\",0.0001\":\"h\"+x)).call(f?s.lineGroupStyle:function(t){if(t.size()){var r=\"legendline-\"+b.uid;s.lineGroupStyle(t),s.gradient(t,e,r,d(k),T,\"stroke\")}})})).each((function(t){var r,i,o=v(t),l=o.anyFill,u=o.anyLine,f=o.showLine,h=o.showMarker,p=t[0],d=p.trace,g=!h&&!u&&!l&&c.hasText(d);function y(t,e,r,n){var i=a.nestedProperty(d,t).get(),o=a.isArrayOrTypedArray(i)&&e?e(i):i;if(m&&o&&void 0!==n&&(o=n),r){if(or[1])return r[1]}return o}function x(t){return p._distinct&&p.index&&t[p.index]?t[p.index]:t[0]}if(h||g||f){var b={},w={};if(h){b.mc=y(\"marker.color\",x),b.mx=y(\"marker.symbol\",x),b.mo=y(\"marker.opacity\",a.mean,[.2,1]),b.mlc=y(\"marker.line.color\",x),b.mlw=y(\"marker.line.width\",a.mean,[0,5],2),w.marker={sizeref:1,sizemin:1,sizemode:\"diameter\"};var T=y(\"marker.size\",a.mean,[2,16],12);b.ms=T,w.marker.size=T}f&&(w.line={width:y(\"line.width\",x,[0,10],5)}),g&&(b.tx=\"Aa\",b.tp=y(\"textposition\",x),b.ts=10,b.tc=y(\"textfont.color\",x),b.tf=y(\"textfont.family\",x),b.tw=y(\"textfont.weight\",x),b.ty=y(\"textfont.style\",x),b.tv=y(\"textfont.variant\",x)),r=[a.minExtend(p,b)],(i=a.minExtend(d,w)).selectedpoints=null,i.texttemplate=null}var k=n.select(this).select(\"g.legendpoints\"),A=k.selectAll(\"path.scatterpts\").data(h?r:[]);A.enter().insert(\"path\",\":first-child\").classed(\"scatterpts\",!0).attr(\"transform\",_),A.exit().remove(),A.call(s.pointStyle,i,e),h&&(r[0].mrc=3);var M=k.selectAll(\"g.pointtext\").data(g?r:[]);M.enter().append(\"g\").classed(\"pointtext\",!0).append(\"text\").attr(\"transform\",_),M.exit().remove(),M.selectAll(\"text\").call(s.textPointStyle,i,e)})).each((function(t){var e=t[0].trace,r=n.select(this).select(\"g.legendpoints\").selectAll(\"path.legendcandle\").data(e.visible&&\"candlestick\"===e.type?[t,t]:[]);r.enter().append(\"path\").classed(\"legendcandle\",!0).attr(\"d\",(function(t,e){return e?\"M-15,0H-8M-8,6V-6H8Z\":\"M15,0H8M8,-6V6H-8Z\"})).attr(\"transform\",_).style(\"stroke-miterlimit\",1),r.exit().remove(),r.each((function(t,r){var i=n.select(this),a=e[r?\"increasing\":\"decreasing\"],o=w(void 0,a.line,5,2);i.style(\"stroke-width\",o+\"px\").call(l.fill,a.fillcolor),o&&l.stroke(i,a.line.color)}))})).each((function(t){var e=t[0].trace,r=n.select(this).select(\"g.legendpoints\").selectAll(\"path.legendohlc\").data(e.visible&&\"ohlc\"===e.type?[t,t]:[]);r.enter().append(\"path\").classed(\"legendohlc\",!0).attr(\"d\",(function(t,e){return e?\"M-15,0H0M-8,-6V0\":\"M15,0H0M8,6V0\"})).attr(\"transform\",_).style(\"stroke-miterlimit\",1),r.exit().remove(),r.each((function(t,r){var i=n.select(this),a=e[r?\"increasing\":\"decreasing\"],o=w(void 0,a.line,5,2);i.style(\"fill\",\"none\").call(s.dashLine,a.line.dash,o),o&&l.stroke(i,a.line.color)}))}))}},66540:function(t,e,r){\"use strict\";r(76052),t.exports={editType:\"modebar\",orientation:{valType:\"enumerated\",values:[\"v\",\"h\"],dflt:\"h\",editType:\"modebar\"},bgcolor:{valType:\"color\",editType:\"modebar\"},color:{valType:\"color\",editType:\"modebar\"},activecolor:{valType:\"color\",editType:\"modebar\"},uirevision:{valType:\"any\",editType:\"none\"},add:{valType:\"string\",arrayOk:!0,dflt:\"\",editType:\"modebar\"},remove:{valType:\"string\",arrayOk:!0,dflt:\"\",editType:\"modebar\"}}},44248:function(t,e,r){\"use strict\";var n=r(24040),i=r(7316),a=r(79811),o=r(9224),s=r(4016).eraseActiveShape,l=r(3400),u=l._,c=t.exports={};function f(t,e){var r,i,o=e.currentTarget,s=o.getAttribute(\"data-attr\"),l=o.getAttribute(\"data-val\")||!0,u=t._fullLayout,c={},f=a.list(t,null,!0),h=u._cartesianSpikesEnabled;if(\"zoom\"===s){var p,d=\"in\"===l?.5:2,v=(1+d)/2,g=(1-d)/2;for(i=0;i1?(O=[\"toggleHover\"],I=[\"resetViews\"]):y?(P=[\"zoomInGeo\",\"zoomOutGeo\"],O=[\"hoverClosestGeo\"],I=[\"resetGeo\"]):g?(O=[\"hoverClosest3d\"],I=[\"resetCameraDefault3d\",\"resetCameraLastSave3d\"]):w?(P=[\"zoomInMapbox\",\"zoomOutMapbox\"],O=[\"toggleHover\"],I=[\"resetViewMapbox\"]):b?O=[\"hoverClosestGl2d\"]:m?O=[\"hoverClosestPie\"]:A?(O=[\"hoverClosestCartesian\",\"hoverCompareCartesian\"],I=[\"resetViewSankey\"]):O=[\"toggleHover\"],v&&(O=[\"toggleSpikelines\",\"hoverClosestCartesian\",\"hoverCompareCartesian\"]),(function(t){for(var e=0;e0)){var v=function(t,e,r){for(var n=r.filter((function(r){return e[r].anchor===t._id})),i=0,a=0;a0?t.touches[0].clientX:0}function y(t,e,r,n){var i=o.ensureSingle(t,\"rect\",v.bgClassName,(function(t){t.attr({x:0,y:0,\"shape-rendering\":\"crispEdges\"})})),a=n.borderwidth%2==0?n.borderwidth:n.borderwidth-1,c=-n._offsetShift,f=l.crispRound(e,n.borderwidth);i.attr({width:n._width+a,height:n._height+a,transform:s(c,c),\"stroke-width\":f}).call(u.stroke,n.bordercolor).call(u.fill,n.bgcolor)}function m(t,e,r,n){var i=e._fullLayout;o.ensureSingleById(i._topdefs,\"clipPath\",n._clipId,(function(t){t.append(\"rect\").attr({x:0,y:0})})).select(\"rect\").attr({width:n._width,height:n._height})}function x(t,e,r,i){var s,u=e.calcdata,c=t.selectAll(\"g.\"+v.rangePlotClassName).data(r._subplotsWith,o.identity);c.enter().append(\"g\").attr(\"class\",(function(t){return v.rangePlotClassName+\" \"+t})).call(l.setClipUrl,i._clipId,e),c.order(),c.exit().remove(),c.each((function(t,o){var l=n.select(this),c=0===o,p=h.getFromId(e,t,\"y\"),d=p._name,v=i[d],g={data:[],layout:{xaxis:{type:r.type,domain:[0,1],range:i.range.slice(),calendar:r.calendar},width:i._width,height:i._height,margin:{t:0,b:0,l:0,r:0}},_context:e._context};r.rangebreaks&&(g.layout.xaxis.rangebreaks=r.rangebreaks),g.layout[d]={type:p.type,domain:[0,1],range:\"match\"!==v.rangemode?v.range.slice():p.range.slice(),calendar:p.calendar},p.rangebreaks&&(g.layout[d].rangebreaks=p.rangebreaks),a.supplyDefaults(g);var y=g._fullLayout.xaxis,m=g._fullLayout[d];y.clearCalc(),y.setScale(),m.clearCalc(),m.setScale();var x={id:t,plotgroup:l,xaxis:y,yaxis:m,isRangePlot:!0};c?s=x:(x.mainplot=\"xy\",x.mainplotinfo=s),f.rangePlot(e,x,function(t,e){for(var r=[],n=0;n=n.max)e=B[r+1];else if(t=n.pmax)e=B[r+1];else if(tr._length||m+_<0)return;c=y+_,p=m+_;break;case l:if(b=\"col-resize\",y+_>r._length)return;c=y+_,p=m;break;case u:if(b=\"col-resize\",m+_<0)return;c=y,p=m+_;break;default:b=\"ew-resize\",c=v,p=v+_}if(p=0;k--){var A=r.append(\"path\").attr(g).style(\"opacity\",k?.1:y).call(o.stroke,x).call(o.fill,m).call(s.dashLine,k?\"solid\":_,k?4+b:b);if(d(A,t,a),w){var M=l(t.layout,\"selections\",a);A.style({cursor:\"move\"});var S={element:A.node(),plotinfo:p,gd:t,editHelpers:M,isActiveSelection:!0},E=n(u,t);i(E,A,S)}else A.style(\"pointer-events\",k?\"all\":\"none\");T[k]=A}var L=T[0];T[1].node().addEventListener(\"click\",(function(){return function(t,e){if(h(t)){var r=+e.node().getAttribute(\"data-index\");if(r>=0){if(r===t._fullLayout._activeSelectionIndex)return void v(t);t._fullLayout._activeSelectionIndex=r,t._fullLayout._deactivateSelection=v,f(t)}}}(t,L)}))}(t._fullLayout._selectionLayer)}function d(t,e,r){var n=r.xref+r.yref;s.setClipUrl(t,\"clip\"+e._fullLayout._uid+n,e)}function v(t){h(t)&&t._fullLayout._activeSelectionIndex>=0&&(a(t),delete t._fullLayout._activeSelectionIndex,f(t))}t.exports={draw:f,drawOne:p,activateLastSelection:function(t){if(h(t)){var e=t._fullLayout.selections.length-1;t._fullLayout._activeSelectionIndex=e,t._fullLayout._deactivateSelection=v,f(t)}}}},34200:function(t,e,r){\"use strict\";var n=r(98192).u,i=r(92880).extendFlat;t.exports={newselection:{mode:{valType:\"enumerated\",values:[\"immediate\",\"gradual\"],dflt:\"immediate\",editType:\"none\"},line:{color:{valType:\"color\",editType:\"none\"},width:{valType:\"number\",min:1,dflt:1,editType:\"none\"},dash:i({},n,{dflt:\"dot\",editType:\"none\"}),editType:\"none\"},editType:\"none\"},activeselection:{fillcolor:{valType:\"color\",dflt:\"rgba(0,0,0,0)\",editType:\"none\"},opacity:{valType:\"number\",min:0,max:1,dflt:.5,editType:\"none\"},editType:\"none\"}}},81004:function(t){\"use strict\";t.exports=function(t,e,r){r(\"newselection.mode\"),r(\"newselection.line.width\")&&(r(\"newselection.line.color\"),r(\"newselection.line.dash\")),r(\"activeselection.fillcolor\"),r(\"activeselection.opacity\")}},5968:function(t,e,r){\"use strict\";var n=r(72760).selectMode,i=r(1936).clearOutline,a=r(9856),o=a.readPaths,s=a.writePaths,l=a.fixDatesForPaths;t.exports=function(t,e){if(t.length){var r=t[0][0];if(r){var a=r.getAttribute(\"d\"),u=e.gd,c=u._fullLayout.newselection,f=e.plotinfo,h=f.xaxis,p=f.yaxis,d=e.isActiveSelection,v=e.dragmode,g=(u.layout||{}).selections||[];if(!n(v)&&void 0!==d){var y=u._fullLayout._activeSelectionIndex;if(y-1,b=[];if(function(t){return t&&Array.isArray(t)&&!0!==t[0].hoverOnBox}(y)){W(t,e,a);var _=function(t,e){var r,n,i=t[0],a=-1,o=[];for(n=0;n0?function(t,e){var r,n,i,a=[];for(i=0;i0&&a.push(r);if(1===a.length&&a[0]===e.searchInfo&&(n=e.searchInfo.cd[0].trace).selectedpoints.length===e.pointNumbers.length){for(i=0;i1)return!1;if((n+=e.selectedpoints.length)>1)return!1}return 1===n}(s)&&(h=J(_))){for(o&&o.remove(),g=0;g=0})(i)&&i._fullLayout._deactivateShape(i),function(t){return t._fullLayout._activeSelectionIndex>=0}(i)&&i._fullLayout._deactivateSelection(i);var o=i._fullLayout._zoomlayer,s=p(r),l=v(r);if(s||l){var u,c,f=o.selectAll(\".select-outline-\"+n.id);f&&i._fullLayout._outlining&&(s&&(u=T(f,t)),u&&a.call(\"_guiRelayout\",i,{shapes:u}),l&&!U(t)&&(c=k(f,t)),c&&(i._fullLayout._noEmitSelectedAtStart=!0,a.call(\"_guiRelayout\",i,{selections:c}).then((function(){e&&A(i)}))),i._fullLayout._outlining=!1)}n.selection={},n.selection.selectionDefs=t.selectionDefs=[],n.selection.mergedPolygons=t.mergedPolygons=[]}function X(t){return t._id}function Z(t,e,r,n){if(!t.calcdata)return[];var i,a,o,s=[],l=e.map(X),u=r.map(X);for(o=0;o0?n[0]:r;return!!e.selectedpoints&&e.selectedpoints.indexOf(i)>-1}function $(t,e,r){var n,i;for(n=0;n-1&&e;if(!a&&e){var et=ot(t,!0);if(et.length){var nt=et[0].xref,pt=et[0].yref;if(nt&&pt){var dt=ut(et);ct([C(t,nt,\"x\"),C(t,pt,\"y\")])(Q,dt)}}t._fullLayout._noEmitSelectedAtStart?t._fullLayout._noEmitSelectedAtStart=!1:tt&&ft(t,Q),h._reselect=!1}if(!a&&h._deselect){var vt=h._deselect;(function(t,e,r){for(var n=0;n=0)k._fullLayout._deactivateShape(k);else if(!x){var r=A.clickmode;L.done(Mt).then((function(){if(L.clear(Mt),2===t){for(bt.remove(),J=0;J-1&&V(e,k,n.xaxes,n.yaxes,n.subplot,n,bt),\"event\"===r&&ft(k,void 0);l.click(k,e,P.id)})).catch(M.error)}},n.doneFn=function(){kt.remove(),L.done(Mt).then((function(){L.clear(Mt),!S&&K&&n.selectionDefs&&(K.subtract=xt,n.selectionDefs.push(K),n.mergedPolygons.length=0,[].push.apply(n.mergedPolygons,X)),(S||x)&&Y(n,S),n.doneFnCompleted&&n.doneFnCompleted(St),b&&ft(k,at)})).catch(M.error)}},clearOutline:x,clearSelectionsCache:Y,selectOnClick:V}},46056:function(t,e,r){\"use strict\";var n=r(13916),i=r(25376),a=r(52904).line,o=r(98192).u,s=r(92880).extendFlat,l=r(31780).templatedArray,u=(r(36208),r(45464)),c=r(21776).ye,f=r(97728);t.exports=l(\"shape\",{visible:s({},u.visible,{editType:\"calc+arraydraw\"}),showlegend:{valType:\"boolean\",dflt:!1,editType:\"calc+arraydraw\"},legend:s({},u.legend,{editType:\"calc+arraydraw\"}),legendgroup:s({},u.legendgroup,{editType:\"calc+arraydraw\"}),legendgrouptitle:{text:s({},u.legendgrouptitle.text,{editType:\"calc+arraydraw\"}),font:i({editType:\"calc+arraydraw\"}),editType:\"calc+arraydraw\"},legendrank:s({},u.legendrank,{editType:\"calc+arraydraw\"}),legendwidth:s({},u.legendwidth,{editType:\"calc+arraydraw\"}),type:{valType:\"enumerated\",values:[\"circle\",\"rect\",\"path\",\"line\"],editType:\"calc+arraydraw\"},layer:{valType:\"enumerated\",values:[\"below\",\"above\",\"between\"],dflt:\"above\",editType:\"arraydraw\"},xref:s({},n.xref,{}),xsizemode:{valType:\"enumerated\",values:[\"scaled\",\"pixel\"],dflt:\"scaled\",editType:\"calc+arraydraw\"},xanchor:{valType:\"any\",editType:\"calc+arraydraw\"},x0:{valType:\"any\",editType:\"calc+arraydraw\"},x1:{valType:\"any\",editType:\"calc+arraydraw\"},yref:s({},n.yref,{}),ysizemode:{valType:\"enumerated\",values:[\"scaled\",\"pixel\"],dflt:\"scaled\",editType:\"calc+arraydraw\"},yanchor:{valType:\"any\",editType:\"calc+arraydraw\"},y0:{valType:\"any\",editType:\"calc+arraydraw\"},y1:{valType:\"any\",editType:\"calc+arraydraw\"},path:{valType:\"string\",editType:\"calc+arraydraw\"},opacity:{valType:\"number\",min:0,max:1,dflt:1,editType:\"arraydraw\"},line:{color:s({},a.color,{editType:\"arraydraw\"}),width:s({},a.width,{editType:\"calc+arraydraw\"}),dash:s({},o,{editType:\"arraydraw\"}),editType:\"calc+arraydraw\"},fillcolor:{valType:\"color\",dflt:\"rgba(0,0,0,0)\",editType:\"arraydraw\"},fillrule:{valType:\"enumerated\",values:[\"evenodd\",\"nonzero\"],dflt:\"evenodd\",editType:\"arraydraw\"},editable:{valType:\"boolean\",dflt:!1,editType:\"calc+arraydraw\"},label:{text:{valType:\"string\",dflt:\"\",editType:\"arraydraw\"},texttemplate:c({},{keys:Object.keys(f)}),font:i({editType:\"calc+arraydraw\",colorEditType:\"arraydraw\"}),textposition:{valType:\"enumerated\",values:[\"top left\",\"top center\",\"top right\",\"middle left\",\"middle center\",\"middle right\",\"bottom left\",\"bottom center\",\"bottom right\",\"start\",\"middle\",\"end\"],editType:\"arraydraw\"},textangle:{valType:\"angle\",dflt:\"auto\",editType:\"calc+arraydraw\"},xanchor:{valType:\"enumerated\",values:[\"auto\",\"left\",\"center\",\"right\"],dflt:\"auto\",editType:\"calc+arraydraw\"},yanchor:{valType:\"enumerated\",values:[\"top\",\"middle\",\"bottom\"],editType:\"calc+arraydraw\"},padding:{valType:\"number\",dflt:3,min:0,editType:\"arraydraw\"},editType:\"arraydraw\"},editType:\"arraydraw\"})},96084:function(t,e,r){\"use strict\";var n=r(3400),i=r(54460),a=r(85448),o=r(65152);function s(t){return u(t.line.width,t.xsizemode,t.x0,t.x1,t.path,!1)}function l(t){return u(t.line.width,t.ysizemode,t.y0,t.y1,t.path,!0)}function u(t,e,r,i,s,l){var u=t/2,c=l;if(\"pixel\"===e){var f=s?o.extractPathCoords(s,l?a.paramIsY:a.paramIsX):[r,i],h=n.aggNums(Math.max,null,f),p=n.aggNums(Math.min,null,f),d=p<0?Math.abs(p)+u:u,v=h>0?h+u:u;return{ppad:u,ppadplus:c?d:v,ppadminus:c?v:d}}return{ppad:u}}function c(t,e,r,n,i){var s=\"category\"===t.type||\"multicategory\"===t.type?t.r2c:t.d2c;if(void 0!==e)return[s(e),s(r)];if(n){var l,u,c,f,h=1/0,p=-1/0,d=n.match(a.segmentRE);for(\"date\"===t.type&&(s=o.decodeDate(s)),l=0;lp&&(p=f)));return p>=h?[h,p]:void 0}}t.exports=function(t){var e=t._fullLayout,r=n.filterVisible(e.shapes);if(r.length&&t._fullData.length)for(var o=0;o=t?e-n:n-e,-180/Math.PI*Math.atan2(i,a)}(x,_,b,w):0),A.call((function(e){return e.call(o.font,k).attr({}),a.convertToTspans(e,t),e}));var U=function(t,e,r,n,i,a,o){var s,l,u,c,h=i.label.textposition,p=i.label.textangle,d=i.label.padding,v=i.type,g=Math.PI/180*a,y=Math.sin(g),m=Math.cos(g),x=i.label.xanchor,b=i.label.yanchor;if(\"line\"===v){\"start\"===h?(s=t,l=e):\"end\"===h?(s=r,l=n):(s=(t+r)/2,l=(e+n)/2),\"auto\"===x&&(x=\"start\"===h?\"auto\"===p?r>t?\"left\":rt?\"right\":rt?\"right\":rt?\"left\":r1&&(2!==t.length||\"Z\"!==t[1][0])&&(0===C&&(t[0][0]=\"M\"),e[L]=t,A(),M())}}()}}function V(t,r){!function(t,r){if(e.length)for(var n=0;n_?(M=p,C=\"y0\",S=_,P=\"y1\"):(M=_,C=\"y1\",S=p,P=\"y0\"),tt(n),nt(l,r),function(t,e,r){var n=e.xref,i=e.yref,a=o.getFromId(r,n),s=o.getFromId(r,i),l=\"\";\"paper\"===n||a.autorange||(l+=n),\"paper\"===i||s.autorange||(l+=i),h.setClipUrl(t,l?\"clip\"+r._fullLayout._uid+l:null,r)}(e,r,t),Q.moveFn=\"move\"===D?et:rt,Q.altKey=n.altKey)},doneFn:function(){b(t)||(v(e),it(l),T(e,t,r),i.call(\"_guiRelayout\",t,c.getUpdateObj()))},clickFn:function(){b(t)||it(l)}};function tt(r){if(b(t))D=null;else if(j)D=\"path\"===r.target.tagName?\"move\":\"start-point\"===r.target.attributes[\"data-line-point\"].value?\"resize-over-start-point\":\"resize-over-end-point\";else{var n=Q.element.getBoundingClientRect(),i=n.right-n.left,a=n.bottom-n.top,o=r.clientX-n.left,s=r.clientY-n.top,l=!U&&i>R&&a>F&&!r.shiftKey?d.getCursor(o/i,1-s/a):\"move\";v(e,l),D=l.split(\"-\")[0]}}function et(n,i){if(\"path\"===r.type){var a=function(t){return t},o=a,c=a;B?V(\"xanchor\",r.xanchor=K(w+n)):(o=function(t){return K(X(t)+n)},H&&\"date\"===H.type&&(o=y.encodeDate(o))),N?V(\"yanchor\",r.yanchor=J(A+i)):(c=function(t){return J(Z(t)+i)},W&&\"date\"===W.type&&(c=y.encodeDate(c))),V(\"path\",r.path=k(z,o,c))}else B?V(\"xanchor\",r.xanchor=K(w+n)):(V(\"x0\",r.x0=K(f+n)),V(\"x1\",r.x1=K(x+n))),N?V(\"yanchor\",r.yanchor=J(A+i)):(V(\"y0\",r.y0=J(p+i)),V(\"y1\",r.y1=J(_+i)));e.attr(\"d\",m(t,r)),nt(l,r),u(t,s,r,q)}function rt(n,i){if(U){var a=function(t){return t},o=a,c=a;B?V(\"xanchor\",r.xanchor=K(w+n)):(o=function(t){return K(X(t)+n)},H&&\"date\"===H.type&&(o=y.encodeDate(o))),N?V(\"yanchor\",r.yanchor=J(A+i)):(c=function(t){return J(Z(t)+i)},W&&\"date\"===W.type&&(c=y.encodeDate(c))),V(\"path\",r.path=k(z,o,c))}else if(j){if(\"resize-over-start-point\"===D){var h=f+n,d=N?p-i:p+i;V(\"x0\",r.x0=B?h:K(h)),V(\"y0\",r.y0=N?d:J(d))}else if(\"resize-over-end-point\"===D){var v=x+n,g=N?_-i:_+i;V(\"x1\",r.x1=B?v:K(v)),V(\"y1\",r.y1=N?g:J(g))}}else{var b=function(t){return-1!==D.indexOf(t)},T=b(\"n\"),G=b(\"s\"),Y=b(\"w\"),$=b(\"e\"),Q=T?M+i:M,tt=G?S+i:S,et=Y?E+n:E,rt=$?L+n:L;N&&(T&&(Q=M-i),G&&(tt=S-i)),(!N&&tt-Q>F||N&&Q-tt>F)&&(V(C,r[C]=N?Q:J(Q)),V(P,r[P]=N?tt:J(tt))),rt-et>R&&(V(O,r[O]=B?et:K(et)),V(I,r[I]=B?rt:K(rt)))}e.attr(\"d\",m(t,r)),nt(l,r),u(t,s,r,q)}function nt(t,e){(B||N)&&function(){var r=\"path\"!==e.type,n=t.selectAll(\".visual-cue\").data([0]);n.enter().append(\"path\").attr({fill:\"#fff\",\"fill-rule\":\"evenodd\",stroke:\"#000\",\"stroke-width\":1}).classed(\"visual-cue\",!0);var i=X(B?e.xanchor:a.midRange(r?[e.x0,e.x1]:y.extractPathCoords(e.path,g.paramIsX))),o=Z(N?e.yanchor:a.midRange(r?[e.y0,e.y1]:y.extractPathCoords(e.path,g.paramIsY)));if(i=y.roundPositionForSharpStrokeRendering(i,1),o=y.roundPositionForSharpStrokeRendering(o,1),B&&N){var s=\"M\"+(i-1-1)+\",\"+(o-1-1)+\"h-8v2h8 v8h2v-8 h8v-2h-8 v-8h-2 Z\";n.attr(\"d\",s)}else if(B){var l=\"M\"+(i-1-1)+\",\"+(o-9-1)+\"v18 h2 v-18 Z\";n.attr(\"d\",l)}else{var u=\"M\"+(i-9-1)+\",\"+(o-1-1)+\"h18 v2 h-18 Z\";n.attr(\"d\",u)}}()}function it(t){t.selectAll(\".visual-cue\").remove()}d.init(Q),$.node().onmousemove=tt}(t,F,c,e,r,D):!0===c.editable&&F.style(\"pointer-events\",I||f.opacity(L)*E<=.5?\"stroke\":\"all\");F.node().addEventListener(\"click\",(function(){return function(t,e){if(_(t)){var r=+e.node().getAttribute(\"data-index\");if(r>=0){if(r===t._fullLayout._activeShapeIndex)return void A(t);t._fullLayout._activeShapeIndex=r,t._fullLayout._deactivateShape=A,x(t)}}}(t,F)}))}c._input&&!0===c.visible&&(\"above\"===c.layer?M(t._fullLayout._shapeUpperLayer):\"paper\"===c.xref||\"paper\"===c.yref?M(t._fullLayout._shapeLowerLayer):\"between\"===c.layer?M(w.shapelayerBetween):w._hadPlotinfo?M((w.mainplotinfo||w).shapelayer):M(t._fullLayout._shapeLowerLayer))}function T(t,e,r){var n=(r.xref+r.yref).replace(/paper/g,\"\").replace(/[xyz][1-9]* *domain/g,\"\");h.setClipUrl(t,n?\"clip\"+e._fullLayout._uid+n:null,e)}function k(t,e,r){return t.replace(g.segmentRE,(function(t){var n=0,i=t.charAt(0),a=g.paramIsX[i],o=g.paramIsY[i],s=g.numParams[i];return i+t.substr(1).replace(g.paramRE,(function(t){return n>=s||(a[n]?t=e(t):o[n]&&(t=r(t)),n++),t}))}))}function A(t){_(t)&&t._fullLayout._activeShapeIndex>=0&&(c(t),delete t._fullLayout._activeShapeIndex,x(t))}t.exports={draw:x,drawOne:w,eraseActiveShape:function(t){if(_(t)){c(t);var e=t._fullLayout._activeShapeIndex,r=(t.layout||{}).shapes||[];if(e0&&lp&&(t=\"X\"),t}));return a>p&&(d=d.replace(/[\\s,]*X.*/,\"\"),i.log(\"Ignoring extra params in segment \"+t)),c+d}))}(r,s,u);if(\"pixel\"===r.xsizemode){var b=s(r.xanchor);c=b+r.x0,f=b+r.x1}else c=s(r.x0),f=s(r.x1);if(\"pixel\"===r.ysizemode){var _=u(r.yanchor);h=_-r.y0,p=_-r.y1}else h=u(r.y0),p=u(r.y1);if(\"line\"===d)return\"M\"+c+\",\"+h+\"L\"+f+\",\"+p;if(\"rect\"===d)return\"M\"+c+\",\"+h+\"H\"+f+\"V\"+p+\"H\"+c+\"Z\";var w=(c+f)/2,T=(h+p)/2,k=Math.abs(w-c),A=Math.abs(T-h),M=\"A\"+k+\",\"+A,S=w+k+\",\"+T;return\"M\"+S+M+\" 0 1,1 \"+w+\",\"+(T-A)+M+\" 0 0,1 \"+S+\"Z\"}},41592:function(t,e,r){\"use strict\";var n=r(4016);t.exports={moduleType:\"component\",name:\"shapes\",layoutAttributes:r(46056),supplyLayoutDefaults:r(43712),supplyDrawNewShapeDefaults:r(65144),includeBasePlot:r(36632)(\"shapes\"),calcAutorange:r(96084),draw:n.draw,drawOne:n.drawOne}},97728:function(t){\"use strict\";function e(t,e){return e?e.d2l(t):t}function r(t,e){return e?e.l2d(t):t}function n(t,r){return e(t.x1,r)-e(t.x0,r)}function i(t,r,n){return e(t.y1,n)-e(t.y0,n)}t.exports={x0:function(t){return t.x0},x1:function(t){return t.x1},y0:function(t){return t.y0},y1:function(t){return t.y1},slope:function(t,e,r){return\"line\"!==t.type?void 0:i(t,0,r)/n(t,e)},dx:n,dy:i,width:function(t,e){return Math.abs(n(t,e))},height:function(t,e,r){return Math.abs(i(t,0,r))},length:function(t,e,r){return\"line\"!==t.type?void 0:Math.sqrt(Math.pow(n(t,e),2)+Math.pow(i(t,0,r),2))},xcenter:function(t,n){return r((e(t.x1,n)+e(t.x0,n))/2,n)},ycenter:function(t,n,i){return r((e(t.y1,i)+e(t.y0,i))/2,i)}}},89861:function(t,e,r){\"use strict\";var n=r(25376),i=r(66741),a=r(92880).extendDeepAll,o=r(67824).overrideAll,s=r(85656),l=r(31780).templatedArray,u=r(60876),c=l(\"step\",{visible:{valType:\"boolean\",dflt:!0},method:{valType:\"enumerated\",values:[\"restyle\",\"relayout\",\"animate\",\"update\",\"skip\"],dflt:\"restyle\"},args:{valType:\"info_array\",freeLength:!0,items:[{valType:\"any\"},{valType:\"any\"},{valType:\"any\"}]},label:{valType:\"string\"},value:{valType:\"string\"},execute:{valType:\"boolean\",dflt:!0}});t.exports=o(l(\"slider\",{visible:{valType:\"boolean\",dflt:!0},active:{valType:\"number\",min:0,dflt:0},steps:c,lenmode:{valType:\"enumerated\",values:[\"fraction\",\"pixels\"],dflt:\"fraction\"},len:{valType:\"number\",min:0,dflt:1},x:{valType:\"number\",min:-2,max:3,dflt:0},pad:a(i({editType:\"arraydraw\"}),{},{t:{dflt:20}}),xanchor:{valType:\"enumerated\",values:[\"auto\",\"left\",\"center\",\"right\"],dflt:\"left\"},y:{valType:\"number\",min:-2,max:3,dflt:0},yanchor:{valType:\"enumerated\",values:[\"auto\",\"top\",\"middle\",\"bottom\"],dflt:\"top\"},transition:{duration:{valType:\"number\",min:0,dflt:150},easing:{valType:\"enumerated\",values:s.transition.easing.values,dflt:\"cubic-in-out\"}},currentvalue:{visible:{valType:\"boolean\",dflt:!0},xanchor:{valType:\"enumerated\",values:[\"left\",\"center\",\"right\"],dflt:\"left\"},offset:{valType:\"number\",dflt:10},prefix:{valType:\"string\"},suffix:{valType:\"string\"},font:n({})},font:n({}),activebgcolor:{valType:\"color\",dflt:u.gripBgActiveColor},bgcolor:{valType:\"color\",dflt:u.railBgColor},bordercolor:{valType:\"color\",dflt:u.railBorderColor},borderwidth:{valType:\"number\",min:0,dflt:u.railBorderWidth},ticklen:{valType:\"number\",min:0,dflt:u.tickLength},tickcolor:{valType:\"color\",dflt:u.tickColor},tickwidth:{valType:\"number\",min:0,dflt:1},minorticklen:{valType:\"number\",min:0,dflt:u.minorTickLength}}),\"arraydraw\",\"from-root\")},60876:function(t){\"use strict\";t.exports={name:\"sliders\",containerClassName:\"slider-container\",groupClassName:\"slider-group\",inputAreaClass:\"slider-input-area\",railRectClass:\"slider-rail-rect\",railTouchRectClass:\"slider-rail-touch-rect\",gripRectClass:\"slider-grip-rect\",tickRectClass:\"slider-tick-rect\",inputProxyClass:\"slider-input-proxy\",labelsClass:\"slider-labels\",labelGroupClass:\"slider-label-group\",labelClass:\"slider-label\",currentValueClass:\"slider-current-value\",railHeight:5,menuIndexAttrName:\"slider-active-index\",autoMarginIdRoot:\"slider-\",minWidth:30,minHeight:30,textPadX:40,arrowOffsetX:4,railRadius:2,railWidth:5,railBorder:4,railBorderWidth:1,railBorderColor:\"#bec8d9\",railBgColor:\"#f8fafc\",railInset:8,stepInset:10,gripRadius:10,gripWidth:20,gripHeight:20,gripBorder:20,gripBorderWidth:1,gripBorderColor:\"#bec8d9\",gripBgColor:\"#f6f8fa\",gripBgActiveColor:\"#dbdde0\",labelPadding:8,labelOffset:0,tickWidth:1,tickColor:\"#333\",tickOffset:25,tickLength:7,minorTickOffset:25,minorTickColor:\"#333\",minorTickLength:4,currentValuePadding:8,currentValueInset:0}},8132:function(t,e,r){\"use strict\";var n=r(3400),i=r(51272),a=r(89861),o=r(60876).name,s=a.steps;function l(t,e,r){function o(r,i){return n.coerce(t,e,a,r,i)}for(var s=i(t,e,{name:\"steps\",handleItemDefaults:u}),l=0,c=0;c0&&(s=s.transition().duration(e.transition.duration).ease(e.transition.easing)),s.attr(\"transform\",l(o-.5*f.gripWidth,e._dims.currentValueTotalHeight))}}function E(t,e){var r=t._dims;return r.inputAreaStart+f.stepInset+(r.inputAreaLength-2*f.stepInset)*Math.min(1,Math.max(0,e))}function L(t,e){var r=t._dims;return Math.min(1,Math.max(0,(e-f.stepInset-r.inputAreaStart)/(r.inputAreaLength-2*f.stepInset-2*r.inputAreaStart)))}function C(t,e,r){var n=r._dims,i=s.ensureSingle(t,\"rect\",f.railTouchRectClass,(function(n){n.call(A,e,t,r).style(\"pointer-events\",\"all\")}));i.attr({width:n.inputAreaLength,height:Math.max(n.inputAreaWidth,f.tickOffset+r.ticklen+n.labelHeight)}).call(a.fill,r.bgcolor).attr(\"opacity\",0),o.setTranslate(i,0,n.currentValueTotalHeight)}function P(t,e){var r=e._dims,n=r.inputAreaLength-2*f.railInset,i=s.ensureSingle(t,\"rect\",f.railRectClass);i.attr({width:n,height:f.railWidth,rx:f.railRadius,ry:f.railRadius,\"shape-rendering\":\"crispEdges\"}).call(a.stroke,e.bordercolor).call(a.fill,e.bgcolor).style(\"stroke-width\",e.borderwidth+\"px\"),o.setTranslate(i,f.railInset,.5*(r.inputAreaWidth-f.railWidth)+r.currentValueTotalHeight)}t.exports=function(t){var e=t._context.staticPlot,r=t._fullLayout,a=function(t,e){for(var r=t[f.name],n=[],i=0;i0?[0]:[]);function l(e){e._commandObserver&&(e._commandObserver.remove(),delete e._commandObserver),i.autoMargin(t,g(e))}if(s.enter().append(\"g\").classed(f.containerClassName,!0).style(\"cursor\",e?null:\"ew-resize\"),s.exit().each((function(){n.select(this).selectAll(\"g.\"+f.groupClassName).each(l)})).remove(),0!==a.length){var u=s.selectAll(\"g.\"+f.groupClassName).data(a,y);u.enter().append(\"g\").classed(f.groupClassName,!0),u.exit().each(l).remove();for(var c=0;c0||_<0){var M={left:[-w,0],right:[w,0],top:[0,-w],bottom:[0,w]}[b.side];r.attr(\"transform\",l(M[0],M[1]))}}}return N.call(j),R&&(E?N.on(\".opacity\",null):(A=0,M=!0,N.text(m).on(\"mouseover.opacity\",(function(){n.select(this).transition().duration(h.SHOW_PLACEHOLDER).style(\"opacity\",1)})).on(\"mouseout.opacity\",(function(){n.select(this).transition().duration(h.HIDE_PLACEHOLDER).style(\"opacity\",0)}))),N.call(f.makeEditable,{gd:t}).on(\"edit\",(function(e){void 0!==x?o.call(\"_guiRestyle\",t,y,e,x):o.call(\"_guiRelayout\",t,y,e)})).on(\"cancel\",(function(){this.text(this.attr(\"data-unformatted\")).call(j)})).on(\"input\",(function(t){this.text(t||\" \").call(f.positionText,_.x,_.y)}))),N.classed(\"js-placeholder\",M),T}}},88444:function(t,e,r){\"use strict\";var n=r(25376),i=r(22548),a=r(92880).extendFlat,o=r(67824).overrideAll,s=r(66741),l=r(31780).templatedArray,u=l(\"button\",{visible:{valType:\"boolean\"},method:{valType:\"enumerated\",values:[\"restyle\",\"relayout\",\"animate\",\"update\",\"skip\"],dflt:\"restyle\"},args:{valType:\"info_array\",freeLength:!0,items:[{valType:\"any\"},{valType:\"any\"},{valType:\"any\"}]},args2:{valType:\"info_array\",freeLength:!0,items:[{valType:\"any\"},{valType:\"any\"},{valType:\"any\"}]},label:{valType:\"string\",dflt:\"\"},execute:{valType:\"boolean\",dflt:!0}});t.exports=o(l(\"updatemenu\",{_arrayAttrRegexps:[/^updatemenus\\[(0|[1-9][0-9]+)\\]\\.buttons/],visible:{valType:\"boolean\"},type:{valType:\"enumerated\",values:[\"dropdown\",\"buttons\"],dflt:\"dropdown\"},direction:{valType:\"enumerated\",values:[\"left\",\"right\",\"up\",\"down\"],dflt:\"down\"},active:{valType:\"integer\",min:-1,dflt:0},showactive:{valType:\"boolean\",dflt:!0},buttons:u,x:{valType:\"number\",min:-2,max:3,dflt:-.05},xanchor:{valType:\"enumerated\",values:[\"auto\",\"left\",\"center\",\"right\"],dflt:\"right\"},y:{valType:\"number\",min:-2,max:3,dflt:1},yanchor:{valType:\"enumerated\",values:[\"auto\",\"top\",\"middle\",\"bottom\"],dflt:\"top\"},pad:a(s({editType:\"arraydraw\"}),{}),font:n({}),bgcolor:{valType:\"color\"},bordercolor:{valType:\"color\",dflt:i.borderLine},borderwidth:{valType:\"number\",min:0,dflt:1,editType:\"arraydraw\"}}),\"arraydraw\",\"from-root\")},73712:function(t){\"use strict\";t.exports={name:\"updatemenus\",containerClassName:\"updatemenu-container\",headerGroupClassName:\"updatemenu-header-group\",headerClassName:\"updatemenu-header\",headerArrowClassName:\"updatemenu-header-arrow\",dropdownButtonGroupClassName:\"updatemenu-dropdown-button-group\",dropdownButtonClassName:\"updatemenu-dropdown-button\",buttonClassName:\"updatemenu-button\",itemRectClassName:\"updatemenu-item-rect\",itemTextClassName:\"updatemenu-item-text\",menuIndexAttrName:\"updatemenu-active-index\",autoMarginIdRoot:\"updatemenu-\",blankHeaderOpts:{label:\" \"},minWidth:30,minHeight:30,textPadX:24,arrowPadX:16,rx:2,ry:2,textOffsetX:12,textOffsetY:3,arrowOffsetX:4,gapButtonHeader:5,gapButton:2,activeColor:\"#F4FAFF\",hoverColor:\"#F4FAFF\",arrowSymbol:{left:\"◄\",right:\"►\",up:\"▲\",down:\"▼\"}}},91384:function(t,e,r){\"use strict\";var n=r(3400),i=r(51272),a=r(88444),o=r(73712).name,s=a.buttons;function l(t,e,r){function o(r,i){return n.coerce(t,e,a,r,i)}o(\"visible\",i(t,e,{name:\"buttons\",handleItemDefaults:u}).length>0)&&(o(\"active\"),o(\"direction\"),o(\"type\"),o(\"showactive\"),o(\"x\"),o(\"y\"),n.noneOrAll(t,e,[\"x\",\"y\"]),o(\"xanchor\"),o(\"yanchor\"),o(\"pad.t\"),o(\"pad.r\"),o(\"pad.b\"),o(\"pad.l\"),n.coerceFont(o,\"font\",r.font),o(\"bgcolor\",r.paper_bgcolor),o(\"bordercolor\"),o(\"borderwidth\"))}function u(t,e){function r(r,i){return n.coerce(t,e,s,r,i)}r(\"visible\",\"skip\"===t.method||Array.isArray(t.args))&&(r(\"method\"),r(\"args\"),r(\"args2\"),r(\"label\"),r(\"execute\"))}t.exports=function(t,e){i(t,e,{name:o,handleItemDefaults:l})}},14420:function(t,e,r){\"use strict\";var n=r(33428),i=r(7316),a=r(76308),o=r(43616),s=r(3400),l=r(72736),u=r(31780).arrayEditor,c=r(84284).LINE_SPACING,f=r(73712),h=r(37400);function p(t){return t._index}function d(t,e){return+t.attr(f.menuIndexAttrName)===e._index}function v(t,e,r,n,i,a,o,s){e.active=o,u(t.layout,f.name,e).applyUpdate(\"active\",o),\"buttons\"===e.type?y(t,n,null,null,e):\"dropdown\"===e.type&&(i.attr(f.menuIndexAttrName,\"-1\"),g(t,n,i,a,e),s||y(t,n,i,a,e))}function g(t,e,r,n,i){var a=s.ensureSingle(e,\"g\",f.headerClassName,(function(t){t.style(\"pointer-events\",\"all\")})),l=i._dims,u=i.active,c=i.buttons[u]||f.blankHeaderOpts,h={y:i.pad.t,yPad:0,x:i.pad.l,xPad:0,index:0},p={width:l.headerWidth,height:l.headerHeight};a.call(m,i,c,t).call(M,i,h,p),s.ensureSingle(e,\"text\",f.headerArrowClassName,(function(t){t.attr(\"text-anchor\",\"end\").call(o.font,i.font).text(f.arrowSymbol[i.direction])})).attr({x:l.headerWidth-f.arrowOffsetX+i.pad.l,y:l.headerHeight/2+f.textOffsetY+i.pad.t}),a.on(\"click\",(function(){r.call(S,String(d(r,i)?-1:i._index)),y(t,e,r,n,i)})),a.on(\"mouseover\",(function(){a.call(w)})),a.on(\"mouseout\",(function(){a.call(T,i)})),o.setTranslate(e,l.lx,l.ly)}function y(t,e,r,a,o){r||(r=e).attr(\"pointer-events\",\"all\");var l=function(t){return-1==+t.attr(f.menuIndexAttrName)}(r)&&\"buttons\"!==o.type?[]:o.buttons,u=\"dropdown\"===o.type?f.dropdownButtonClassName:f.buttonClassName,c=r.selectAll(\"g.\"+u).data(s.filterVisible(l)),h=c.enter().append(\"g\").classed(u,!0),p=c.exit();\"dropdown\"===o.type?(h.attr(\"opacity\",\"0\").transition().attr(\"opacity\",\"1\"),p.transition().attr(\"opacity\",\"0\").remove()):p.remove();var d=0,g=0,y=o._dims,x=-1!==[\"up\",\"down\"].indexOf(o.direction);\"dropdown\"===o.type&&(x?g=y.headerHeight+f.gapButtonHeader:d=y.headerWidth+f.gapButtonHeader),\"dropdown\"===o.type&&\"up\"===o.direction&&(g=-f.gapButtonHeader+f.gapButton-y.openHeight),\"dropdown\"===o.type&&\"left\"===o.direction&&(d=-f.gapButtonHeader+f.gapButton-y.openWidth);var b={x:y.lx+d+o.pad.l,y:y.ly+g+o.pad.t,yPad:f.gapButton,xPad:f.gapButton,index:0},k={l:b.x+o.borderwidth,t:b.y+o.borderwidth};c.each((function(s,l){var u=n.select(this);u.call(m,o,s,t).call(M,o,b),u.on(\"click\",(function(){n.event.defaultPrevented||(s.execute&&(s.args2&&o.active===l?(v(t,o,0,e,r,a,-1),i.executeAPICommand(t,s.method,s.args2)):(v(t,o,0,e,r,a,l),i.executeAPICommand(t,s.method,s.args))),t.emit(\"plotly_buttonclicked\",{menu:o,button:s,active:o.active}))})),u.on(\"mouseover\",(function(){u.call(w)})),u.on(\"mouseout\",(function(){u.call(T,o),c.call(_,o)}))})),c.call(_,o),x?(k.w=Math.max(y.openWidth,y.headerWidth),k.h=b.y-k.t):(k.w=b.x-k.l,k.h=Math.max(y.openHeight,y.headerHeight)),k.direction=o.direction,a&&(c.size()?function(t,e,r,n,i,a){var o,s,l,u=i.direction,c=\"up\"===u||\"down\"===u,h=i._dims,p=i.active;if(c)for(s=0,l=0;l0?[0]:[]);if(o.enter().append(\"g\").classed(f.containerClassName,!0).style(\"cursor\",\"pointer\"),o.exit().each((function(){n.select(this).selectAll(\"g.\"+f.headerGroupClassName).each(a)})).remove(),0!==r.length){var l=o.selectAll(\"g.\"+f.headerGroupClassName).data(r,p);l.enter().append(\"g\").classed(f.headerGroupClassName,!0);for(var u=s.ensureSingle(o,\"g\",f.dropdownButtonGroupClassName,(function(t){t.style(\"pointer-events\",\"all\")})),c=0;cw,A=s.barLength+2*s.barPad,M=s.barWidth+2*s.barPad,S=d,E=g+y;E+M>u&&(E=u-M);var L=this.container.selectAll(\"rect.scrollbar-horizontal\").data(k?[0]:[]);L.exit().on(\".drag\",null).remove(),L.enter().append(\"rect\").classed(\"scrollbar-horizontal\",!0).call(i.fill,s.barColor),k?(this.hbar=L.attr({rx:s.barRadius,ry:s.barRadius,x:S,y:E,width:A,height:M}),this._hbarXMin=S+A/2,this._hbarTranslateMax=w-A):(delete this.hbar,delete this._hbarXMin,delete this._hbarTranslateMax);var C=y>T,P=s.barWidth+2*s.barPad,O=s.barLength+2*s.barPad,I=d+v,z=g;I+P>l&&(I=l-P);var D=this.container.selectAll(\"rect.scrollbar-vertical\").data(C?[0]:[]);D.exit().on(\".drag\",null).remove(),D.enter().append(\"rect\").classed(\"scrollbar-vertical\",!0).call(i.fill,s.barColor),C?(this.vbar=D.attr({rx:s.barRadius,ry:s.barRadius,x:I,y:z,width:P,height:O}),this._vbarYMin=z+O/2,this._vbarTranslateMax=T-O):(delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax);var R=this.id,F=c-.5,B=C?f+P+.5:f+.5,N=h-.5,j=k?p+M+.5:p+.5,U=o._topdefs.selectAll(\"#\"+R).data(k||C?[0]:[]);if(U.exit().remove(),U.enter().append(\"clipPath\").attr(\"id\",R).append(\"rect\"),k||C?(this._clipRect=U.select(\"rect\").attr({x:Math.floor(F),y:Math.floor(N),width:Math.ceil(B)-Math.floor(F),height:Math.ceil(j)-Math.floor(N)}),this.container.call(a.setClipUrl,R,this.gd),this.bg.attr({x:d,y:g,width:v,height:y})):(this.bg.attr({width:0,height:0}),this.container.on(\"wheel\",null).on(\".drag\",null).call(a.setClipUrl,null),delete this._clipRect),k||C){var V=n.behavior.drag().on(\"dragstart\",(function(){n.event.sourceEvent.preventDefault()})).on(\"drag\",this._onBoxDrag.bind(this));this.container.on(\"wheel\",null).on(\"wheel\",this._onBoxWheel.bind(this)).on(\".drag\",null).call(V);var q=n.behavior.drag().on(\"dragstart\",(function(){n.event.sourceEvent.preventDefault(),n.event.sourceEvent.stopPropagation()})).on(\"drag\",this._onBarDrag.bind(this));k&&this.hbar.on(\".drag\",null).call(q),C&&this.vbar.on(\".drag\",null).call(q)}this.setTranslate(e,r)},s.prototype.disable=function(){(this.hbar||this.vbar)&&(this.bg.attr({width:0,height:0}),this.container.on(\"wheel\",null).on(\".drag\",null).call(a.setClipUrl,null),delete this._clipRect),this.hbar&&(this.hbar.on(\".drag\",null),this.hbar.remove(),delete this.hbar,delete this._hbarXMin,delete this._hbarTranslateMax),this.vbar&&(this.vbar.on(\".drag\",null),this.vbar.remove(),delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax)},s.prototype._onBoxDrag=function(){var t=this.translateX,e=this.translateY;this.hbar&&(t-=n.event.dx),this.vbar&&(e-=n.event.dy),this.setTranslate(t,e)},s.prototype._onBoxWheel=function(){var t=this.translateX,e=this.translateY;this.hbar&&(t+=n.event.deltaY),this.vbar&&(e+=n.event.deltaY),this.setTranslate(t,e)},s.prototype._onBarDrag=function(){var t=this.translateX,e=this.translateY;if(this.hbar){var r=t+this._hbarXMin,i=r+this._hbarTranslateMax;t=(o.constrain(n.event.x,r,i)-r)/(i-r)*(this.position.w-this._box.w)}if(this.vbar){var a=e+this._vbarYMin,s=a+this._vbarTranslateMax;e=(o.constrain(n.event.y,a,s)-a)/(s-a)*(this.position.h-this._box.h)}this.setTranslate(t,e)},s.prototype.setTranslate=function(t,e){var r=this.position.w-this._box.w,n=this.position.h-this._box.h;if(t=o.constrain(t||0,0,r),e=o.constrain(e||0,0,n),this.translateX=t,this.translateY=e,this.container.call(a.setTranslate,this._box.l-this.position.l-t,this._box.t-this.position.t-e),this._clipRect&&this._clipRect.attr({x:Math.floor(this.position.l+t-.5),y:Math.floor(this.position.t+e-.5)}),this.hbar){var i=t/r;this.hbar.call(a.setTranslate,t+i*this._hbarTranslateMax,e)}if(this.vbar){var s=e/n;this.vbar.call(a.setTranslate,t,e+s*this._vbarTranslateMax)}}},84284:function(t){\"use strict\";t.exports={FROM_BL:{left:0,center:.5,right:1,bottom:0,middle:.5,top:1},FROM_TL:{left:0,center:.5,right:1,bottom:1,middle:.5,top:0},FROM_BR:{left:1,center:.5,right:0,bottom:0,middle:.5,top:1},LINE_SPACING:1.3,CAP_SHIFT:.7,MID_SHIFT:.35,OPPOSITE_SIDE:{left:\"right\",right:\"left\",top:\"bottom\",bottom:\"top\"}}},36208:function(t){\"use strict\";t.exports={axisRefDescription:function(t,e,r){return[\"If set to a\",t,\"axis id (e.g. *\"+t+\"* or\",\"*\"+t+\"2*), the `\"+t+\"` position refers to a\",t,\"coordinate. If set to *paper*, the `\"+t+\"`\",\"position refers to the distance from the\",e,\"of the plotting\",\"area in normalized coordinates where *0* (*1*) corresponds to the\",e,\"(\"+r+\"). If set to a\",t,\"axis ID followed by\",\"*domain* (separated by a space), the position behaves like for\",\"*paper*, but refers to the distance in fractions of the domain\",\"length from the\",e,\"of the domain of that axis: e.g.,\",\"*\"+t+\"2 domain* refers to the domain of the second\",t,\" axis and a\",t,\"position of 0.5 refers to the\",\"point between the\",e,\"and the\",r,\"of the domain of the\",\"second\",t,\"axis.\"].join(\" \")}}},48164:function(t){\"use strict\";t.exports={INCREASING:{COLOR:\"#3D9970\",SYMBOL:\"▲\"},DECREASING:{COLOR:\"#FF4136\",SYMBOL:\"▼\"}}},26880:function(t){\"use strict\";t.exports={FORMAT_LINK:\"https://github.com/d3/d3-format/tree/v1.4.5#d3-format\",DATE_FORMAT_LINK:\"https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format\"}},69104:function(t){\"use strict\";t.exports={COMPARISON_OPS:[\"=\",\"!=\",\"<\",\">=\",\">\",\"<=\"],COMPARISON_OPS2:[\"=\",\"<\",\">=\",\">\",\"<=\"],INTERVAL_OPS:[\"[]\",\"()\",\"[)\",\"(]\",\"][\",\")(\",\"](\",\")[\"],SET_OPS:[\"{}\",\"}{\"],CONSTRAINT_REDUCTION:{\"=\":\"=\",\"<\":\"<\",\"<=\":\"<\",\">\":\">\",\">=\":\">\",\"[]\":\"[]\",\"()\":\"[]\",\"[)\":\"[]\",\"(]\":\"[]\",\"][\":\"][\",\")(\":\"][\",\"](\":\"][\",\")[\":\"][\"}}},99168:function(t){\"use strict\";t.exports={solid:[[],0],dot:[[.5,1],200],dash:[[.5,1],50],longdash:[[.5,1],10],dashdot:[[.5,.625,.875,1],50],longdashdot:[[.5,.7,.8,1],10]}},87792:function(t){\"use strict\";t.exports={circle:\"●\",\"circle-open\":\"○\",square:\"■\",\"square-open\":\"□\",diamond:\"◆\",\"diamond-open\":\"◇\",cross:\"+\",x:\"❌\"}},13448:function(t){\"use strict\";t.exports={SHOW_PLACEHOLDER:100,HIDE_PLACEHOLDER:1e3,DESELECTDIM:.2}},39032:function(t){\"use strict\";t.exports={BADNUM:void 0,FP_SAFE:1e-4*Number.MAX_VALUE,ONEMAXYEAR:316224e5,ONEAVGYEAR:315576e5,ONEMINYEAR:31536e6,ONEMAXQUARTER:79488e5,ONEAVGQUARTER:78894e5,ONEMINQUARTER:76896e5,ONEMAXMONTH:26784e5,ONEAVGMONTH:26298e5,ONEMINMONTH:24192e5,ONEWEEK:6048e5,ONEDAY:864e5,ONEHOUR:36e5,ONEMIN:6e4,ONESEC:1e3,EPOCHJD:2440587.5,ALMOST_EQUAL:.999999,LOG_CLIP:10,MINUS_SIGN:\"−\"}},2264:function(t,e){\"use strict\";e.CSS_DECLARATIONS=[[\"image-rendering\",\"optimizeSpeed\"],[\"image-rendering\",\"-moz-crisp-edges\"],[\"image-rendering\",\"-o-crisp-edges\"],[\"image-rendering\",\"-webkit-optimize-contrast\"],[\"image-rendering\",\"optimize-contrast\"],[\"image-rendering\",\"crisp-edges\"],[\"image-rendering\",\"pixelated\"]],e.STYLE=e.CSS_DECLARATIONS.map((function(t){return t.join(\": \")+\"; \"})).join(\"\")},9616:function(t,e){\"use strict\";e.xmlns=\"http://www.w3.org/2000/xmlns/\",e.svg=\"http://www.w3.org/2000/svg\",e.xlink=\"http://www.w3.org/1999/xlink\",e.svgAttrs={xmlns:e.svg,\"xmlns:xlink\":e.xlink}},64884:function(t,e,r){\"use strict\";e.version=r(25788).version,r(88324),r(79288);for(var n=r(24040),i=e.register=n.register,a=r(22448),o=Object.keys(a),s=0;s\",\"\",\" \",\"\",\" plotly-logomark\",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\"\"].join(\"\")}}},98308:function(t,e){\"use strict\";e.isLeftAnchor=function(t){return\"left\"===t.xanchor||\"auto\"===t.xanchor&&t.x<=1/3},e.isCenterAnchor=function(t){return\"center\"===t.xanchor||\"auto\"===t.xanchor&&t.x>1/3&&t.x<2/3},e.isRightAnchor=function(t){return\"right\"===t.xanchor||\"auto\"===t.xanchor&&t.x>=2/3},e.isTopAnchor=function(t){return\"top\"===t.yanchor||\"auto\"===t.yanchor&&t.y>=2/3},e.isMiddleAnchor=function(t){return\"middle\"===t.yanchor||\"auto\"===t.yanchor&&t.y>1/3&&t.y<2/3},e.isBottomAnchor=function(t){return\"bottom\"===t.yanchor||\"auto\"===t.yanchor&&t.y<=1/3}},11864:function(t,e,r){\"use strict\";var n=r(20435),i=n.mod,a=n.modHalf,o=Math.PI,s=2*o;function l(t){return Math.abs(t[1]-t[0])>s-1e-14}function u(t,e){return a(e-t,s)}function c(t,e){if(l(e))return!0;var r,n;e[0](n=i(n,s))&&(n+=s);var a=i(t,s),o=a+s;return a>=r&&a<=n||o>=r&&o<=n}function f(t,e,r,n,i,a,u){i=i||0,a=a||0;var c,f,h,p,d,v=l([r,n]);function g(t,e){return[t*Math.cos(e)+i,a-t*Math.sin(e)]}v?(c=0,f=o,h=s):r=i&&t<=a);var i,a},pathArc:function(t,e,r,n,i){return f(null,t,e,r,n,i,0)},pathSector:function(t,e,r,n,i){return f(null,t,e,r,n,i,1)},pathAnnulus:function(t,e,r,n,i,a){return f(t,e,r,n,i,a,1)}}},38116:function(t,e,r){\"use strict\";var n=r(83160).decode,i=r(63620),a=Array.isArray,o=ArrayBuffer,s=DataView;function l(t){return o.isView(t)&&!(t instanceof s)}function u(t){return a(t)||l(t)}e.isTypedArray=l,e.isArrayOrTypedArray=u,e.isArray1D=function(t){return!u(t[0])},e.ensureArray=function(t,e){return a(t)||(t=[]),t.length=e,t};var c={u1c:\"undefined\"==typeof Uint8ClampedArray?void 0:Uint8ClampedArray,i1:\"undefined\"==typeof Int8Array?void 0:Int8Array,u1:\"undefined\"==typeof Uint8Array?void 0:Uint8Array,i2:\"undefined\"==typeof Int16Array?void 0:Int16Array,u2:\"undefined\"==typeof Uint16Array?void 0:Uint16Array,i4:\"undefined\"==typeof Int32Array?void 0:Int32Array,u4:\"undefined\"==typeof Uint32Array?void 0:Uint32Array,f4:\"undefined\"==typeof Float32Array?void 0:Float32Array,f8:\"undefined\"==typeof Float64Array?void 0:Float64Array};function f(t){return t.constructor===ArrayBuffer}function h(t,e,r){if(u(t)){if(u(t[0])){for(var n=r,i=0;ii.max?e.set(r):e.set(+t)}},integer:{coerceFunction:function(t,e,r,i){t%1||!n(t)||void 0!==i.min&&ti.max?e.set(r):e.set(+t)}},string:{coerceFunction:function(t,e,r,n){if(\"string\"!=typeof t){var i=\"number\"==typeof t;!0!==n.strict&&i?e.set(String(t)):e.set(r)}else n.noBlank&&!t?e.set(r):e.set(t)}},color:{coerceFunction:function(t,e,r){i(t).isValid()?e.set(t):e.set(r)}},colorlist:{coerceFunction:function(t,e,r){Array.isArray(t)&&t.length&&t.every((function(t){return i(t).isValid()}))?e.set(t):e.set(r)}},colorscale:{coerceFunction:function(t,e,r){e.set(o.get(t,r))}},angle:{coerceFunction:function(t,e,r){\"auto\"===t?e.set(\"auto\"):n(t)?e.set(f(+t,360)):e.set(r)}},subplotid:{coerceFunction:function(t,e,r,n){var i=n.regex||c(r);\"string\"==typeof t&&i.test(t)?e.set(t):e.set(r)},validateFunction:function(t,e){var r=e.dflt;return t===r||\"string\"==typeof t&&!!c(r).test(t)}},flaglist:{coerceFunction:function(t,e,r,n){if(-1===(n.extras||[]).indexOf(t))if(\"string\"==typeof t){for(var i=t.split(\"+\"),a=0;a=n&&t<=i?t:c}if(\"string\"!=typeof t&&\"number\"!=typeof t)return c;t=String(t);var u=_(r),y=t.charAt(0);!u||\"G\"!==y&&\"g\"!==y||(t=t.substr(1),r=\"\");var w=u&&\"chinese\"===r.substr(0,7),T=t.match(w?x:m);if(!T)return c;var k=T[1],A=T[3]||\"1\",M=Number(T[5]||1),S=Number(T[7]||0),E=Number(T[9]||0),L=Number(T[11]||0);if(u){if(2===k.length)return c;var C;k=Number(k);try{var P=g.getComponentMethod(\"calendars\",\"getCal\")(r);if(w){var O=\"i\"===A.charAt(A.length-1);A=parseInt(A,10),C=P.newDate(k,P.toMonthIndex(k,A,O),M)}else C=P.newDate(k,Number(A),M)}catch(t){return c}return C?(C.toJD()-v)*f+S*h+E*p+L*d:c}k=2===k.length?(Number(k)+2e3-b)%100+b:Number(k),A-=1;var I=new Date(Date.UTC(2e3,A,M,S,E));return I.setUTCFullYear(k),I.getUTCMonth()!==A||I.getUTCDate()!==M?c:I.getTime()+L*d},n=e.MIN_MS=e.dateTime2ms(\"-9999\"),i=e.MAX_MS=e.dateTime2ms(\"9999-12-31 23:59:59.9999\"),e.isDateTime=function(t,r){return e.dateTime2ms(t,r)!==c};var T=90*f,k=3*h,A=5*p;function M(t,e,r,n,i){if((e||r||n||i)&&(t+=\" \"+w(e,2)+\":\"+w(r,2),(n||i)&&(t+=\":\"+w(n,2),i))){for(var a=4;i%10==0;)a-=1,i/=10;t+=\".\"+w(i,a)}return t}e.ms2DateTime=function(t,e,r){if(\"number\"!=typeof t||!(t>=n&&t<=i))return c;e||(e=0);var a,o,s,u,m,x,b=Math.floor(10*l(t+.05,1)),w=Math.round(t-b/10);if(_(r)){var S=Math.floor(w/f)+v,E=Math.floor(l(t,f));try{a=g.getComponentMethod(\"calendars\",\"getCal\")(r).fromJD(S).formatDate(\"yyyy-mm-dd\")}catch(t){a=y(\"G%Y-%m-%d\")(new Date(w))}if(\"-\"===a.charAt(0))for(;a.length<11;)a=\"-0\"+a.substr(1);else for(;a.length<10;)a=\"0\"+a;o=e=n+f&&t<=i-f))return c;var e=Math.floor(10*l(t+.05,1)),r=new Date(Math.round(t-e/10));return M(a(\"%Y-%m-%d\")(r),r.getHours(),r.getMinutes(),r.getSeconds(),10*r.getUTCMilliseconds()+e)},e.cleanDate=function(t,r,n){if(t===c)return r;if(e.isJSDate(t)||\"number\"==typeof t&&isFinite(t)){if(_(n))return s.error(\"JS Dates and milliseconds are incompatible with world calendars\",t),r;if(!(t=e.ms2DateTimeLocal(+t))&&void 0!==r)return r}else if(!e.isDateTime(t,n))return s.error(\"unrecognized date\",t),r;return t};var S=/%\\d?f/g,E=/%h/g,L={1:\"1\",2:\"1\",3:\"2\",4:\"2\"};function C(t,e,r,n){t=t.replace(S,(function(t){var r=Math.min(+t.charAt(1)||6,6);return(e/1e3%1+2).toFixed(r).substr(2).replace(/0+$/,\"\")||\"0\"}));var i=new Date(Math.floor(e+.05));if(t=t.replace(E,(function(){return L[r(\"%q\")(i)]})),_(n))try{t=g.getComponentMethod(\"calendars\",\"worldCalFmt\")(t,e,n)}catch(t){return\"Invalid\"}return r(t)(i)}var P=[59,59.9,59.99,59.999,59.9999];e.formatDate=function(t,e,r,n,i,a){if(i=_(i)&&i,!e)if(\"y\"===r)e=a.year;else if(\"m\"===r)e=a.month;else{if(\"d\"!==r)return function(t,e){var r=l(t+.05,f),n=w(Math.floor(r/h),2)+\":\"+w(l(Math.floor(r/p),60),2);if(\"M\"!==e){o(e)||(e=0);var i=(100+Math.min(l(t/d,60),P[e])).toFixed(e).substr(1);e>0&&(i=i.replace(/0+$/,\"\").replace(/[\\.]$/,\"\")),n+=\":\"+i}return n}(t,r)+\"\\n\"+C(a.dayMonthYear,t,n,i);e=a.dayMonth+\"\\n\"+a.year}return C(e,t,n,i)};var O=3*f;e.incrementMonth=function(t,e,r){r=_(r)&&r;var n=l(t,f);if(t=Math.round(t-n),r)try{var i=Math.round(t/f)+v,a=g.getComponentMethod(\"calendars\",\"getCal\")(r),o=a.fromJD(i);return e%12?a.add(o,e,\"m\"):a.add(o,e/12,\"y\"),(o.toJD()-v)*f+n}catch(e){s.error(\"invalid ms \"+t+\" in calendar \"+r)}var u=new Date(t+O);return u.setUTCMonth(u.getUTCMonth()+e)+n-O},e.findExactDates=function(t,e){for(var r,n,i=0,a=0,s=0,l=0,u=_(e)&&g.getComponentMethod(\"calendars\",\"getCal\")(e),c=0;c0&&t[e+1][0]<0)return e;return null}switch(e=\"RUS\"===s||\"FJI\"===s?function(t){var e;if(null===u(t))e=t;else for(e=new Array(t.length),i=0;ie?r[n++]=[t[i][0]+360,t[i][1]]:i===e?(r[n++]=t[i],r[n++]=[t[i][0],-90]):r[n++]=t[i];var a=h.tester(r);a.pts.pop(),l.push(a)}:function(t){l.push(h.tester(t))},a.type){case\"MultiPolygon\":for(r=0;ri&&(i=u,e=l)}else e=r;return o.default(e).geometry.coordinates}(c),n.fIn=t,n.fOut=c,s.push(c)}else u.log([\"Location\",n.loc,\"does not have a valid GeoJSON geometry.\",\"Traces with locationmode *geojson-id* only support\",\"*Polygon* and *MultiPolygon* geometries.\"].join(\" \"))}delete i[r]}switch(r.type){case\"FeatureCollection\":var h=r.features;for(n=0;n100?(clearInterval(a),n(\"Unexpected error while fetching from \"+t)):void i++}),50)}))}for(var o=0;o0&&(r.push(i),i=[])}return i.length>0&&r.push(i),r},e.makeLine=function(t){return 1===t.length?{type:\"LineString\",coordinates:t[0]}:{type:\"MultiLineString\",coordinates:t}},e.makePolygon=function(t){if(1===t.length)return{type:\"Polygon\",coordinates:t};for(var e=new Array(t.length),r=0;r1||v<0||v>1?null:{x:t+l*v,y:e+f*v}}function l(t,e,r,n,i){var a=n*t+i*e;if(a<0)return n*n+i*i;if(a>r){var o=n-t,s=i-e;return o*o+s*s}var l=n*e-i*t;return l*l/r}e.segmentsIntersect=s,e.segmentDistance=function(t,e,r,n,i,a,o,u){if(s(t,e,r,n,i,a,o,u))return 0;var c=r-t,f=n-e,h=o-i,p=u-a,d=c*c+f*f,v=h*h+p*p,g=Math.min(l(c,f,d,i-t,a-e),l(c,f,d,o-t,u-e),l(h,p,v,t-i,e-a),l(h,p,v,r-i,n-a));return Math.sqrt(g)},e.getTextLocation=function(t,e,r,s){if(t===i&&s===a||(n={},i=t,a=s),n[r])return n[r];var l=t.getPointAtLength(o(r-s/2,e)),u=t.getPointAtLength(o(r+s/2,e)),c=Math.atan((u.y-l.y)/(u.x-l.x)),f=t.getPointAtLength(o(r,e)),h={x:(4*f.x+l.x+u.x)/6,y:(4*f.y+l.y+u.y)/6,theta:c};return n[r]=h,h},e.clearLocationCache=function(){i=null},e.getVisibleSegment=function(t,e,r){var n,i,a=e.left,o=e.right,s=e.top,l=e.bottom,u=0,c=t.getTotalLength(),f=c;function h(e){var r=t.getPointAtLength(e);0===e?n=r:e===c&&(i=r);var u=r.xo?r.x-o:0,f=r.yl?r.y-l:0;return Math.sqrt(u*u+f*f)}for(var p=h(u);p;){if((u+=p+r)>f)return;p=h(u)}for(p=h(f);p;){if(u>(f-=p+r))return;p=h(f)}return{min:u,max:f,len:f-u,total:c,isClosed:0===u&&f===c&&Math.abs(n.x-i.x)<.1&&Math.abs(n.y-i.y)<.1}},e.findPointOnPath=function(t,e,r,n){for(var i,a,o,s=(n=n||{}).pathLength||t.getTotalLength(),l=n.tolerance||.001,u=n.iterationLimit||30,c=t.getPointAtLength(0)[r]>t.getPointAtLength(s)[r]?-1:1,f=0,h=0,p=s;f0?p=i:h=i,f++}return a}},33040:function(t,e,r){\"use strict\";var n=r(38248),i=r(49760),a=r(72160),o=r(8932),s=r(22548).defaultLine,l=r(38116).isArrayOrTypedArray,u=a(s);function c(t,e){var r=t;return r[3]*=e,r}function f(t){if(n(t))return u;var e=a(t);return e.length?e:u}function h(t){return n(t)?t:1}t.exports={formatColor:function(t,e,r){var n=t.color;n&&n._inputArray&&(n=n._inputArray);var i,s,p,d,v,g=l(n),y=l(e),m=o.extractOpts(t),x=[];if(i=void 0!==m.colorscale?o.makeColorScaleFuncFromTrace(t):f,s=g?function(t,e){return void 0===t[e]?u:a(i(t[e]))}:f,p=y?function(t,e){return void 0===t[e]?1:h(t[e])}:h,g||y)for(var b=0;b1?(r*t+r*e)/r:t+e,i=String(n).length;if(i>16){var a=String(e).length;if(i>=String(t).length+a){var o=parseFloat(n).toPrecision(12);-1===o.indexOf(\"e+\")&&(n=+o)}}return n}},3400:function(t,e,r){\"use strict\";var n=r(33428),i=r(94336).E9,a=r(57624).E9,o=r(38248),s=r(39032),l=s.FP_SAFE,u=-l,c=s.BADNUM,f=t.exports={};f.adjustFormat=function(t){return!t||/^\\d[.]\\df/.test(t)||/[.]\\d%/.test(t)?t:\"0.f\"===t?\"~f\":/^\\d%/.test(t)?\"~%\":/^\\ds/.test(t)?\"~s\":!/^[~,.0$]/.test(t)&&/[&fps]/.test(t)?\"~\"+t:t};var h={};f.warnBadFormat=function(t){var e=String(t);h[e]||(h[e]=1,f.warn('encountered bad format: \"'+e+'\"'))},f.noFormat=function(t){return String(t)},f.numberFormat=function(t){var e;try{e=a(f.adjustFormat(t))}catch(e){return f.warnBadFormat(t),f.noFormat}return e},f.nestedProperty=r(22296),f.keyedContainer=r(37804),f.relativeAttr=r(23193),f.isPlainObject=r(63620),f.toLogRange=r(36896),f.relinkPrivateKeys=r(51528);var p=r(38116);f.isArrayBuffer=p.isArrayBuffer,f.isTypedArray=p.isTypedArray,f.isArrayOrTypedArray=p.isArrayOrTypedArray,f.isArray1D=p.isArray1D,f.ensureArray=p.ensureArray,f.concat=p.concat,f.maxRowLength=p.maxRowLength,f.minRowLength=p.minRowLength;var d=r(20435);f.mod=d.mod,f.modHalf=d.modHalf;var v=r(63064);f.valObjectMeta=v.valObjectMeta,f.coerce=v.coerce,f.coerce2=v.coerce2,f.coerceFont=v.coerceFont,f.coercePattern=v.coercePattern,f.coerceHoverinfo=v.coerceHoverinfo,f.coerceSelectionMarkerOpacity=v.coerceSelectionMarkerOpacity,f.validate=v.validate;var g=r(67555);f.dateTime2ms=g.dateTime2ms,f.isDateTime=g.isDateTime,f.ms2DateTime=g.ms2DateTime,f.ms2DateTimeLocal=g.ms2DateTimeLocal,f.cleanDate=g.cleanDate,f.isJSDate=g.isJSDate,f.formatDate=g.formatDate,f.incrementMonth=g.incrementMonth,f.dateTick0=g.dateTick0,f.dfltRange=g.dfltRange,f.findExactDates=g.findExactDates,f.MIN_MS=g.MIN_MS,f.MAX_MS=g.MAX_MS;var y=r(14952);f.findBin=y.findBin,f.sorterAsc=y.sorterAsc,f.sorterDes=y.sorterDes,f.distinctVals=y.distinctVals,f.roundUp=y.roundUp,f.sort=y.sort,f.findIndexOfMin=y.findIndexOfMin,f.sortObjectKeys=r(95376);var m=r(63084);f.aggNums=m.aggNums,f.len=m.len,f.mean=m.mean,f.median=m.median,f.midRange=m.midRange,f.variance=m.variance,f.stdev=m.stdev,f.interp=m.interp;var x=r(52248);f.init2dArray=x.init2dArray,f.transposeRagged=x.transposeRagged,f.dot=x.dot,f.translationMatrix=x.translationMatrix,f.rotationMatrix=x.rotationMatrix,f.rotationXYMatrix=x.rotationXYMatrix,f.apply3DTransform=x.apply3DTransform,f.apply2DTransform=x.apply2DTransform,f.apply2DTransform2=x.apply2DTransform2,f.convertCssMatrix=x.convertCssMatrix,f.inverseTransformMatrix=x.inverseTransformMatrix;var b=r(11864);f.deg2rad=b.deg2rad,f.rad2deg=b.rad2deg,f.angleDelta=b.angleDelta,f.angleDist=b.angleDist,f.isFullCircle=b.isFullCircle,f.isAngleInsideSector=b.isAngleInsideSector,f.isPtInsideSector=b.isPtInsideSector,f.pathArc=b.pathArc,f.pathSector=b.pathSector,f.pathAnnulus=b.pathAnnulus;var _=r(98308);f.isLeftAnchor=_.isLeftAnchor,f.isCenterAnchor=_.isCenterAnchor,f.isRightAnchor=_.isRightAnchor,f.isTopAnchor=_.isTopAnchor,f.isMiddleAnchor=_.isMiddleAnchor,f.isBottomAnchor=_.isBottomAnchor;var w=r(92348);f.segmentsIntersect=w.segmentsIntersect,f.segmentDistance=w.segmentDistance,f.getTextLocation=w.getTextLocation,f.clearLocationCache=w.clearLocationCache,f.getVisibleSegment=w.getVisibleSegment,f.findPointOnPath=w.findPointOnPath;var T=r(92880);f.extendFlat=T.extendFlat,f.extendDeep=T.extendDeep,f.extendDeepAll=T.extendDeepAll,f.extendDeepNoArrays=T.extendDeepNoArrays;var k=r(24248);f.log=k.log,f.warn=k.warn,f.error=k.error;var A=r(53756);f.counterRegex=A.counter;var M=r(91200);f.throttle=M.throttle,f.throttleDone=M.done,f.clearThrottle=M.clear;var S=r(52200);function E(t){var e={};for(var r in t)for(var n=t[r],i=0;il||t=e)&&o(t)&&t>=0&&t%1==0},f.noop=r(16628),f.identity=r(35536),f.repeat=function(t,e){for(var r=new Array(e),n=0;nr?Math.max(r,Math.min(e,t)):Math.max(e,Math.min(r,t))},f.bBoxIntersect=function(t,e,r){return r=r||0,t.left<=e.right+r&&e.left<=t.right+r&&t.top<=e.bottom+r&&e.top<=t.bottom+r},f.simpleMap=function(t,e,r,n,i){for(var a=t.length,o=new Array(a),s=0;s=Math.pow(2,r)?i>10?(f.warn(\"randstr failed uniqueness\"),l):t(e,r,n,(i||0)+1):l},f.OptionControl=function(t,e){t||(t={}),e||(e=\"opt\");var r={optionList:[],_newoption:function(n){n[e]=t,r[n.name]=n,r.optionList.push(n)}};return r[\"_\"+e]=t,r},f.smooth=function(t,e){if((e=Math.round(e)||0)<2)return t;var r,n,i,a,o=t.length,s=2*o,l=2*e-1,u=new Array(l),c=new Array(o);for(r=0;r=s&&(i-=s*Math.floor(i/s)),i<0?i=-1-i:i>=o&&(i=s-1-i),a+=t[i]*u[n];c[r]=a}return c},f.syncOrAsync=function(t,e,r){var n;function i(){return f.syncOrAsync(t,e,r)}for(;t.length;)if((n=(0,t.splice(0,1)[0])(e))&&n.then)return n.then(i);return r&&r(e)},f.stripTrailingSlash=function(t){return\"/\"===t.substr(-1)?t.substr(0,t.length-1):t},f.noneOrAll=function(t,e,r){if(t){var n,i=!1,a=!0;for(n=0;n0?e:0}))},f.fillArray=function(t,e,r,n){if(n=n||f.identity,f.isArrayOrTypedArray(t))for(var i=0;i1?i+o[1]:\"\";if(a&&(o.length>1||s.length>4||r))for(;n.test(s);)s=s.replace(n,\"$1\"+a+\"$2\");return s+l},f.TEMPLATE_STRING_REGEX=/%{([^\\s%{}:]*)([:|\\|][^}]*)?}/g;var D=/^\\w*$/;f.templateString=function(t,e){var r={};return t.replace(f.TEMPLATE_STRING_REGEX,(function(t,n){var i;return D.test(n)?i=e[n]:(r[n]=r[n]||f.nestedProperty(e,n).get,i=r[n]()),f.isValidTextValue(i)?i:\"\"}))};var R={max:10,count:0,name:\"hovertemplate\"};f.hovertemplateString=function(){return U.apply(R,arguments)};var F={max:10,count:0,name:\"texttemplate\"};f.texttemplateString=function(){return U.apply(F,arguments)};var B=/^(\\S+)([\\*\\/])(-?\\d+(\\.\\d+)?)$/,N={max:10,count:0,name:\"texttemplate\",parseMultDiv:!0};f.texttemplateStringForShapes=function(){return U.apply(N,arguments)};var j=/^[:|\\|]/;function U(t,e,r){var n=this,a=arguments;e||(e={});var o={};return t.replace(f.TEMPLATE_STRING_REGEX,(function(t,s,l){var u=\"_xother\"===s||\"_yother\"===s,c=\"_xother_\"===s||\"_yother_\"===s,h=\"xother_\"===s||\"yother_\"===s,p=\"xother\"===s||\"yother\"===s||u||h||c,d=s;(u||c)&&(d=d.substring(1)),(h||c)&&(d=d.substring(0,d.length-1));var v,g,y,m=null,x=null;if(n.parseMultDiv){var b=function(t){var e=t.match(B);return e?{key:e[1],op:e[2],number:Number(e[3])}:{key:t,op:null,number:null}}(d);d=b.key,m=b.op,x=b.number}if(p){if(void 0===(v=e[d]))return\"\"}else for(y=3;y=48&&o<=57,u=s>=48&&s<=57;if(l&&(n=10*n+o-48),u&&(i=10*i+s-48),!l||!u){if(n!==i)return n-i;if(o!==s)return o-s}}return i-n};var V=2e9;f.seedPseudoRandom=function(){V=2e9},f.pseudoRandom=function(){var t=V;return V=(69069*V+1)%4294967296,Math.abs(V-t)<429496729?f.pseudoRandom():V/4294967296},f.fillText=function(t,e,r){var n=Array.isArray(r)?function(t){r.push(t)}:function(t){r.text=t},i=f.extractOption(t,e,\"htx\",\"hovertext\");if(f.isValidTextValue(i))return n(i);var a=f.extractOption(t,e,\"tx\",\"text\");return f.isValidTextValue(a)?n(a):void 0},f.isValidTextValue=function(t){return t||0===t},f.formatPercent=function(t,e){e=e||0;for(var r=(Math.round(100*t*Math.pow(10,e))*Math.pow(.1,e)).toFixed(e)+\"%\",n=0;n1&&(u=1):u=0,f.strTranslate(i-u*(r+o),a-u*(n+s))+f.strScale(u)+(l?\"rotate(\"+l+(e?\"\":\" \"+r+\" \"+n)+\")\":\"\")},f.setTransormAndDisplay=function(t,e){t.attr(\"transform\",f.getTextTransform(e)),t.style(\"display\",e.scale?null:\"none\")},f.ensureUniformFontSize=function(t,e){var r=f.extendFlat({},e);return r.size=Math.max(e.size,t._fullLayout.uniformtext.minsize||0),r},f.join2=function(t,e,r){var n=t.length;return n>1?t.slice(0,-1).join(e)+r+t[n-1]:t.join(e)},f.bigFont=function(t){return Math.round(1.2*t)};var q=f.getFirefoxVersion(),H=null!==q&&q<86;f.getPositionFromD3Event=function(){return H?[n.event.layerX,n.event.layerY]:[n.event.offsetX,n.event.offsetY]}},63620:function(t){\"use strict\";t.exports=function(t){return window&&window.process&&window.process.versions?\"[object Object]\"===Object.prototype.toString.call(t):\"[object Object]\"===Object.prototype.toString.call(t)&&Object.getPrototypeOf(t).hasOwnProperty(\"hasOwnProperty\")}},37804:function(t,e,r){\"use strict\";var n=r(22296),i=/^\\w*$/;t.exports=function(t,e,r,a){var o,s,l;r=r||\"name\",a=a||\"value\";var u={};e&&e.length?(l=n(t,e),s=l.get()):s=t,e=e||\"\";var c={};if(s)for(o=0;o2)return u[e]=2|u[e],h.set(t,null);if(f){for(o=e;o1){var e=[\"LOG:\"];for(t=0;t1){var r=[];for(t=0;t\"),\"long\")}},a.warn=function(){var t;if(n.logging>0){var e=[\"WARN:\"];for(t=0;t0){var r=[];for(t=0;t\"),\"stick\")}},a.error=function(){var t;if(n.logging>0){var e=[\"ERROR:\"];for(t=0;t0){var r=[];for(t=0;t\"),\"stick\")}}},30988:function(t,e,r){\"use strict\";var n=r(33428);t.exports=function(t,e,r){var i=t.selectAll(\"g.\"+r.replace(/\\s/g,\".\")).data(e,(function(t){return t[0].trace.uid}));i.exit().remove(),i.enter().append(\"g\").attr(\"class\",r),i.order();var a=t.classed(\"rangeplot\")?\"nodeRangePlot3\":\"node3\";return i.each((function(t){t[0][a]=n.select(this)})),i}},52248:function(t,e,r){\"use strict\";var n=r(36524);e.init2dArray=function(t,e){for(var r=new Array(t),n=0;ne/2?t-Math.round(t/e)*e:t}}},22296:function(t,e,r){\"use strict\";var n=r(38248),i=r(38116).isArrayOrTypedArray;function a(t,e){return function(){var r,n,o,s,l,u=t;for(s=0;s/g),l=0;la||u===i||us||e&&l(t))}:function(t,e){var l=t[0],u=t[1];if(l===i||la||u===i||us)return!1;var c,f,h,p,d,v=r.length,g=r[0][0],y=r[0][1],m=0;for(c=1;cMath.max(f,g)||u>Math.max(h,y)))if(uc||Math.abs(n(o,h))>i)return!0;return!1},a.filter=function(t,e){var r=[t[0]],n=0,i=0;function o(o){t.push(o);var s=r.length,l=n;r.splice(i+1);for(var u=l+1;u1&&o(t.pop()),{addPt:o,raw:t,filtered:r}}},5048:function(t,e,r){\"use strict\";var n=r(16576),i=r(28624);t.exports=function(t,e,a){var o=t._fullLayout,s=!0;return o._glcanvas.each((function(n){if(n.regl)n.regl.preloadCachedCode(a);else if(!n.pick||o._has(\"parcoords\")){try{n.regl=i({canvas:this,attributes:{antialias:!n.pick,preserveDrawingBuffer:!0},pixelRatio:t._context.plotGlPixelRatio||r.g.devicePixelRatio,extensions:e||[],cachedCode:a||{}})}catch(t){s=!1}n.regl||(s=!1),s&&this.addEventListener(\"webglcontextlost\",(function(e){t&&t.emit&&t.emit(\"plotly_webglcontextlost\",{event:e,layer:n.key})}),!1)}})),s||n({container:o._glcontainer.node()}),s}},34296:function(t,e,r){\"use strict\";var n=r(38248),i=r(25928);t.exports=function(t){var e;if(\"string\"!=typeof(e=t&&t.hasOwnProperty(\"userAgent\")?t.userAgent:function(){var t;return\"undefined\"!=typeof navigator&&(t=navigator.userAgent),t&&t.headers&&\"string\"==typeof t.headers[\"user-agent\"]&&(t=t.headers[\"user-agent\"]),t}()))return!0;var r=i({ua:{headers:{\"user-agent\":e}},tablet:!0,featureDetect:!1});if(!r)for(var a=e.split(\" \"),o=1;o-1;s--){var l=a[s];if(\"Version/\"===l.substr(0,8)){var u=l.substr(8).split(\".\")[0];if(n(u)&&(u=+u),u>=13)return!0}}return r}},52416:function(t){\"use strict\";t.exports=function(t,e){if(e instanceof RegExp){for(var r=e.toString(),n=0;ni.queueLength&&(t.undoQueue.queue.shift(),t.undoQueue.index--))},startSequence:function(t){t.undoQueue=t.undoQueue||{index:0,queue:[],sequence:!1},t.undoQueue.sequence=!0,t.undoQueue.beginSequence=!0},stopSequence:function(t){t.undoQueue=t.undoQueue||{index:0,queue:[],sequence:!1},t.undoQueue.sequence=!1,t.undoQueue.beginSequence=!1},undo:function(t){var e,r;if(!(void 0===t.undoQueue||isNaN(t.undoQueue.index)||t.undoQueue.index<=0)){for(t.undoQueue.index--,e=t.undoQueue.queue[t.undoQueue.index],t.undoQueue.inSequence=!0,r=0;r=t.undoQueue.queue.length)){for(e=t.undoQueue.queue[t.undoQueue.index],t.undoQueue.inSequence=!0,r=0;re}function f(t,e){return t>=e}e.findBin=function(t,e,r){if(n(e.start))return r?Math.ceil((t-e.start)/e.size-s)-1:Math.floor((t-e.start)/e.size+s);var a,o,h=0,p=e.length,d=0,v=p>1?(e[p-1]-e[0])/(p-1):1;for(o=v>=0?r?l:u:r?f:c,t+=v*s*(r?-1:1)*(v>=0?1:-1);h90&&i.log(\"Long binary search...\"),h-1},e.sorterAsc=function(t,e){return t-e},e.sorterDes=function(t,e){return e-t},e.distinctVals=function(t){var r,n=t.slice();for(n.sort(e.sorterAsc),r=n.length-1;r>-1&&n[r]===o;r--);for(var i,a=n[r]-n[0]||1,s=a/(r||1)/1e4,l=[],u=0;u<=r;u++){var c=n[u],f=c-i;void 0===i?(l.push(c),i=c):f>s&&(a=Math.min(a,f),l.push(c),i=c)}return{vals:l,minDiff:a}},e.roundUp=function(t,e,r){for(var n,i=0,a=e.length-1,o=0,s=r?0:1,l=r?1:0,u=r?Math.ceil:Math.floor;i0&&(n=1),r&&n)return t.sort(e)}return n?t:t.reverse()},e.findIndexOfMin=function(t,e){e=e||a;for(var r,n=1/0,i=0;ia.length)&&(o=a.length),n(r)||(r=!1),i(a[0])){for(l=new Array(o),s=0;st.length-1)return t[t.length-1];var r=e%1;return r*t[Math.ceil(e)]+(1-r)*t[Math.floor(e)]}},43080:function(t,e,r){\"use strict\";var n=r(72160);t.exports=function(t){return t?n(t):[0,0,0,1]}},9188:function(t,e,r){\"use strict\";var n=r(2264),i=r(43616),a=r(3400),o=null;t.exports=function(){if(null!==o)return o;o=!1;var t=a.isIE()||a.isSafari()||a.isIOS();if(window.navigator.userAgent&&!t){var e=Array.from(n.CSS_DECLARATIONS).reverse(),r=window.CSS&&window.CSS.supports||window.supportsCSS;if(\"function\"==typeof r)o=e.some((function(t){return r.apply(null,t)}));else{var s=i.tester.append(\"image\").attr(\"style\",n.STYLE),l=window.getComputedStyle(s.node()).imageRendering;o=e.some((function(t){var e=t[1];return l===e||l===e.toLowerCase()})),s.remove()}}return o}},72736:function(t,e,r){\"use strict\";var n=r(33428),i=r(3400),a=i.strTranslate,o=r(9616),s=r(84284).LINE_SPACING,l=/([^$]*)([$]+[^$]*[$]+)([^$]*)/;e.convertToTspans=function(t,r,g){var S=t.text(),E=!t.attr(\"data-notex\")&&r&&r._context.typesetMath&&\"undefined\"!=typeof MathJax&&S.match(l),P=n.select(t.node().parentNode);if(!P.empty()){var O=t.attr(\"class\")?t.attr(\"class\").split(\" \")[0]:\"text\";return O+=\"-math\",P.selectAll(\"svg.\"+O).remove(),P.selectAll(\"g.\"+O+\"-group\").remove(),t.style(\"display\",null).attr({\"data-unformatted\":S,\"data-math\":\"N\"}),E?(r&&r._promises||[]).push(new Promise((function(e){t.style(\"display\",\"none\");var r=parseInt(t.node().style.fontSize,10),o={fontSize:r};!function(t,e,r){var a,o,s,l,h=parseInt((MathJax.version||\"\").split(\".\")[0]);if(2===h||3===h){var p=function(){var r=\"math-output-\"+i.randstr({},64),a=(l=n.select(\"body\").append(\"div\").attr({id:r}).style({visibility:\"hidden\",position:\"absolute\",\"font-size\":e.fontSize+\"px\"}).text(t.replace(u,\"\\\\lt \").replace(c,\"\\\\gt \"))).node();return 2===h?MathJax.Hub.Typeset(a):MathJax.typeset([a])},d=function(){var e=l.select(2===h?\".MathJax_SVG\":\".MathJax\"),a=!e.empty()&&l.select(\"svg\").node();if(a){var o,s=a.getBoundingClientRect();o=2===h?n.select(\"body\").select(\"#MathJax_SVG_glyphs\"):e.select(\"defs\"),r(e,o,s)}else i.log(\"There was an error in the tex syntax.\",t),r();l.remove()};2===h?MathJax.Hub.Queue((function(){return o=i.extendDeepAll({},MathJax.Hub.config),s=MathJax.Hub.processSectionDelay,void 0!==MathJax.Hub.processSectionDelay&&(MathJax.Hub.processSectionDelay=0),MathJax.Hub.Config({messageStyle:\"none\",tex2jax:{inlineMath:f},displayAlign:\"left\"})}),(function(){if(\"SVG\"!==(a=MathJax.Hub.config.menuSettings.renderer))return MathJax.Hub.setRenderer(\"SVG\")}),p,d,(function(){if(\"SVG\"!==a)return MathJax.Hub.setRenderer(a)}),(function(){return void 0!==s&&(MathJax.Hub.processSectionDelay=s),MathJax.Hub.Config(o)})):3===h&&(o=i.extendDeepAll({},MathJax.config),MathJax.config.tex||(MathJax.config.tex={}),MathJax.config.tex.inlineMath=f,\"svg\"!==(a=MathJax.config.startup.output)&&(MathJax.config.startup.output=\"svg\"),MathJax.startup.defaultReady(),MathJax.startup.promise.then((function(){p(),d(),\"svg\"!==a&&(MathJax.config.startup.output=a),MathJax.config=o})))}else i.warn(\"No MathJax version:\",MathJax.version)}(E[2],o,(function(n,i,o){P.selectAll(\"svg.\"+O).remove(),P.selectAll(\"g.\"+O+\"-group\").remove();var s=n&&n.select(\"svg\");if(!s||!s.node())return I(),void e();var l=P.append(\"g\").classed(O+\"-group\",!0).attr({\"pointer-events\":\"none\",\"data-unformatted\":S,\"data-math\":\"Y\"});l.node().appendChild(s.node()),i&&i.node()&&s.node().insertBefore(i.node().cloneNode(!0),s.node().firstChild);var u=o.width,c=o.height;s.attr({class:O,height:c,preserveAspectRatio:\"xMinYMin meet\"}).style({overflow:\"visible\",\"pointer-events\":\"none\"});var f=t.node().style.fill||\"black\",h=s.select(\"g\");h.attr({fill:f,stroke:f});var p=h.node().getBoundingClientRect(),d=p.width,v=p.height;(d>u||v>c)&&(s.style(\"overflow\",\"hidden\"),d=(p=s.node().getBoundingClientRect()).width,v=p.height);var y=+t.attr(\"x\"),m=+t.attr(\"y\"),x=-(r||t.node().getBoundingClientRect().height)/4;if(\"y\"===O[0])l.attr({transform:\"rotate(\"+[-90,y,m]+\")\"+a(-d/2,x-v/2)});else if(\"l\"===O[0])m=x-v/2;else if(\"a\"===O[0]&&0!==O.indexOf(\"atitle\"))y=0,m=x;else{var b=t.attr(\"text-anchor\");y-=d*(\"middle\"===b?.5:\"end\"===b?1:0),m=m+x-v/2}s.attr({x:y,y:m}),g&&g.call(t,l),e(l)}))}))):I(),t}function I(){P.empty()||(O=t.attr(\"class\")+\"-math\",P.select(\"svg.\"+O).remove()),t.text(\"\").style(\"white-space\",\"pre\");var r=function(t,e){e=e.replace(y,\" \");var r,a=!1,l=[],u=-1;function c(){u++;var e=document.createElementNS(o.svg,\"tspan\");n.select(e).attr({class:\"line\",dy:u*s+\"em\"}),t.appendChild(e),r=e;var i=l;if(l=[{node:e}],i.length>1)for(var a=1;a doesnt match end tag <\"+t+\">. Pretending it did match.\",e),r=l[l.length-1].node}else i.log(\"Ignoring unexpected end tag .\",e)}b.test(e)?c():(r=t,l=[{node:t}]);for(var E=e.split(m),P=0;P|>|>)/g,f=[[\"$\",\"$\"],[\"\\\\(\",\"\\\\)\"]],h={sup:\"font-size:70%\",sub:\"font-size:70%\",b:\"font-weight:bold\",i:\"font-style:italic\",a:\"cursor:pointer\",span:\"\",em:\"font-style:italic;font-weight:bold\"},p={sub:\"0.3em\",sup:\"-0.6em\"},d={sub:\"-0.21em\",sup:\"0.42em\"},v=\"​\",g=[\"http:\",\"https:\",\"mailto:\",\"\",void 0,\":\"],y=e.NEWLINES=/(\\r\\n?|\\n)/g,m=/(<[^<>]*>)/,x=/<(\\/?)([^ >]*)(\\s+(.*))?>/i,b=//i;e.BR_TAG_ALL=//gi;var _=/(^|[\\s\"'])style\\s*=\\s*(\"([^\"]*);?\"|'([^']*);?')/i,w=/(^|[\\s\"'])href\\s*=\\s*(\"([^\"]*)\"|'([^']*)')/i,T=/(^|[\\s\"'])target\\s*=\\s*(\"([^\"\\s]*)\"|'([^'\\s]*)')/i,k=/(^|[\\s\"'])popup\\s*=\\s*(\"([\\w=,]*)\"|'([\\w=,]*)')/i;function A(t,e){if(!t)return null;var r=t.match(e),n=r&&(r[3]||r[4]);return n&&L(n)}var M=/(^|;)\\s*color:/;e.plainText=function(t,e){for(var r=void 0!==(e=e||{}).len&&-1!==e.len?e.len:1/0,n=void 0!==e.allowedTags?e.allowedTags:[\"br\"],i=t.split(m),a=[],o=\"\",s=0,l=0;l3?a.push(u.substr(0,p-3)+\"...\"):a.push(u.substr(0,p));break}o=\"\"}}return a.join(\"\")};var S={mu:\"μ\",amp:\"&\",lt:\"<\",gt:\">\",nbsp:\" \",times:\"×\",plusmn:\"±\",deg:\"°\"},E=/&(#\\d+|#x[\\da-fA-F]+|[a-z]+);/g;function L(t){return t.replace(E,(function(t,e){return(\"#\"===e.charAt(0)?function(t){if(!(t>1114111)){var e=String.fromCodePoint;if(e)return e(t);var r=String.fromCharCode;return t<=65535?r(t):r(55232+(t>>10),t%1024+56320)}}(\"x\"===e.charAt(1)?parseInt(e.substr(2),16):parseInt(e.substr(1),10)):S[e])||t}))}function C(t){var e=encodeURI(decodeURI(t)),r=document.createElement(\"a\"),n=document.createElement(\"a\");r.href=t,n.href=e;var i=r.protocol,a=n.protocol;return-1!==g.indexOf(i)&&-1!==g.indexOf(a)?e:\"\"}function P(t,e,r){var n,a,o,s=r.horizontalAlign,l=r.verticalAlign||\"top\",u=t.node().getBoundingClientRect(),c=e.node().getBoundingClientRect();return a=\"bottom\"===l?function(){return u.bottom-n.height}:\"middle\"===l?function(){return u.top+(u.height-n.height)/2}:function(){return u.top},o=\"right\"===s?function(){return u.right-n.width}:\"center\"===s?function(){return u.left+(u.width-n.width)/2}:function(){return u.left},function(){n=this.node().getBoundingClientRect();var t=o()-c.left,e=a()-c.top,s=r.gd||{};if(r.gd){s._fullLayout._calcInverseTransform(s);var l=i.apply3DTransform(s._fullLayout._invTransform)(t,e);t=l[0],e=l[1]}return this.style({top:e+\"px\",left:t+\"px\",\"z-index\":1e3}),this}}e.convertEntities=L,e.sanitizeHTML=function(t){t=t.replace(y,\" \");for(var e=document.createElement(\"p\"),r=e,i=[],a=t.split(m),o=0;oa.ts+e?l():a.timer=setTimeout((function(){l(),a.timer=null}),e)},e.done=function(t){var e=r[t];return e&&e.timer?new Promise((function(t){var r=e.onDone;e.onDone=function(){r&&r(),t(),e.onDone=null}})):Promise.resolve()},e.clear=function(t){if(t)n(r[t]),delete r[t];else for(var i in r)e.clear(i)}},36896:function(t,e,r){\"use strict\";var n=r(38248);t.exports=function(t,e){if(t>0)return Math.log(t)/Math.LN10;var r=Math.log(Math.min(e[0],e[1]))/Math.LN10;return n(r)||(r=Math.log(Math.max(e[0],e[1]))/Math.LN10-6),r}},59972:function(t,e,r){\"use strict\";var n=t.exports={},i=r(79552).locationmodeToLayer,a=r(55712).NO;n.getTopojsonName=function(t){return[t.scope.replace(/ /g,\"-\"),\"_\",t.resolution.toString(),\"m\"].join(\"\")},n.getTopojsonPath=function(t,e){return t+e+\".json\"},n.getTopojsonFeatures=function(t,e){var r=i[t.locationmode],n=e.objects[r];return a(e,n).features}},11680:function(t){\"use strict\";t.exports={moduleType:\"locale\",name:\"en-US\",dictionary:{\"Click to enter Colorscale title\":\"Click to enter Colorscale title\"},format:{date:\"%m/%d/%Y\"}}},6580:function(t){\"use strict\";t.exports={moduleType:\"locale\",name:\"en\",dictionary:{\"Click to enter Colorscale title\":\"Click to enter Colourscale title\"},format:{days:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],shortDays:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],months:[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],shortMonths:[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"],periods:[\"AM\",\"PM\"],dateTime:\"%a %b %e %X %Y\",date:\"%d/%m/%Y\",time:\"%H:%M:%S\",decimal:\".\",thousands:\",\",grouping:[3],currency:[\"$\",\"\"],year:\"%Y\",month:\"%b %Y\",dayMonth:\"%b %-d\",dayMonthYear:\"%b %-d, %Y\"}}},69820:function(t,e,r){\"use strict\";var n=r(24040);t.exports=function(t){for(var e,r,i=n.layoutArrayContainers,a=n.layoutArrayRegexes,o=t.split(\"[\")[0],s=0;s0&&o.log(\"Clearing previous rejected promises from queue.\"),t._promises=[]},e.cleanLayout=function(t){var r,n;t||(t={}),t.xaxis1&&(t.xaxis||(t.xaxis=t.xaxis1),delete t.xaxis1),t.yaxis1&&(t.yaxis||(t.yaxis=t.yaxis1),delete t.yaxis1),t.scene1&&(t.scene||(t.scene=t.scene1),delete t.scene1);var a=(s.subplotsRegistry.cartesian||{}).attrRegex,l=(s.subplotsRegistry.polar||{}).attrRegex,f=(s.subplotsRegistry.ternary||{}).attrRegex,h=(s.subplotsRegistry.gl3d||{}).attrRegex,v=Object.keys(t);for(r=0;r3?(I.x=1.02,I.xanchor=\"left\"):I.x<-2&&(I.x=-.02,I.xanchor=\"right\"),I.y>3?(I.y=1.02,I.yanchor=\"bottom\"):I.y<-2&&(I.y=-.02,I.yanchor=\"top\")),d(t),\"rotate\"===t.dragmode&&(t.dragmode=\"orbit\"),u.clean(t),t.template&&t.template.layout&&e.cleanLayout(t.template.layout),t},e.cleanData=function(t){for(var r=0;r0)return t.substr(0,e)}e.hasParent=function(t,e){for(var r=b(e);r;){if(r in t)return!0;r=b(r)}return!1};var _=[\"x\",\"y\",\"z\"];e.clearAxisTypes=function(t,e,r){for(var n=0;n1&&a.warn(\"Full array edits are incompatible with other edits\",f);var m=r[\"\"][\"\"];if(u(m))e.set(null);else{if(!Array.isArray(m))return a.warn(\"Unrecognized full array edit value\",f,m),!0;e.set(m)}return!v&&(h(g,y),p(t),!0)}var x,b,_,w,T,k,A,M,S=Object.keys(r).map(Number).sort(o),E=e.get(),L=E||[],C=c(y,f).get(),P=[],O=-1,I=L.length;for(x=0;xL.length-(A?0:1))a.warn(\"index out of range\",f,_);else if(void 0!==k)T.length>1&&a.warn(\"Insertion & removal are incompatible with edits to the same index.\",f,_),u(k)?P.push(_):A?(\"add\"===k&&(k={}),L.splice(_,0,k),C&&C.splice(_,0,{})):a.warn(\"Unrecognized full object edit value\",f,_,k),-1===O&&(O=_);else for(b=0;b=0;x--)L.splice(P[x],1),C&&C.splice(P[x],1);if(L.length?E||e.set(L):e.set(null),v)return!1;if(h(g,y),d!==i){var z;if(-1===O)z=S;else{for(I=Math.max(L.length,I),z=[],x=0;x=O);x++)z.push(_);for(x=O;x=t.data.length||i<-t.data.length)throw new Error(r+\" must be valid indices for gd.data.\");if(e.indexOf(i,n+1)>-1||i>=0&&e.indexOf(-t.data.length+i)>-1||i<0&&e.indexOf(t.data.length+i)>-1)throw new Error(\"each index in \"+r+\" must be unique.\")}}function z(t,e,r){if(!Array.isArray(t.data))throw new Error(\"gd.data must be an array.\");if(void 0===e)throw new Error(\"currentIndices is a required argument.\");if(Array.isArray(e)||(e=[e]),I(t,e,\"currentIndices\"),void 0===r||Array.isArray(r)||(r=[r]),void 0!==r&&I(t,r,\"newIndices\"),void 0!==r&&e.length!==r.length)throw new Error(\"current and new indices must be of equal length.\")}function D(t,e,r,n,a){!function(t,e,r,n){var i=o.isPlainObject(n);if(!Array.isArray(t.data))throw new Error(\"gd.data must be an array\");if(!o.isPlainObject(e))throw new Error(\"update must be a key:value object\");if(void 0===r)throw new Error(\"indices must be an integer or array of integers\");for(var a in I(t,r,\"indices\"),e){if(!Array.isArray(e[a])||e[a].length!==r.length)throw new Error(\"attribute \"+a+\" must be an array of length equal to indices array length\");if(i&&(!(a in n)||!Array.isArray(n[a])||n[a].length!==e[a].length))throw new Error(\"when maxPoints is set as a key:value object it must contain a 1:1 corrispondence with the keys and number of traces in the update object\")}}(t,e,r,n);for(var l=function(t,e,r,n){var a,l,u,c,f,h=o.isPlainObject(n),p=[];for(var d in Array.isArray(r)||(r=[r]),r=O(r,t.data.length-1),e)for(var v=0;v-1&&-1===r.indexOf(\"grouptitlefont\")?l(r,r.replace(\"titlefont\",\"title.font\")):r.indexOf(\"titleposition\")>-1?l(r,r.replace(\"titleposition\",\"title.position\")):r.indexOf(\"titleside\")>-1?l(r,r.replace(\"titleside\",\"title.side\")):r.indexOf(\"titleoffset\")>-1&&l(r,r.replace(\"titleoffset\",\"title.offset\")):l(r,r.replace(\"title\",\"title.text\"));function l(e,r){t[r]=t[e],delete t[e]}}function q(t,e,r){t=o.getGraphDiv(t),T.clearPromiseQueue(t);var n={};if(\"string\"==typeof e)n[e]=r;else{if(!o.isPlainObject(e))return o.warn(\"Relayout fail.\",e,r),Promise.reject();n=o.extendFlat({},e)}Object.keys(n).length&&(t.changed=!0);var i=Z(t,n),a=i.flags;a.calc&&(t.calcdata=void 0);var s=[h.previousPromises];a.layoutReplot?s.push(k.layoutReplot):Object.keys(n).length&&(H(t,a,i)||h.supplyDefaults(t),a.legend&&s.push(k.doLegend),a.layoutstyle&&s.push(k.layoutStyles),a.axrange&&G(s,i.rangesAltered),a.ticks&&s.push(k.doTicksRelayout),a.modebar&&s.push(k.doModeBar),a.camera&&s.push(k.doCamera),a.colorbars&&s.push(k.doColorBars),s.push(E)),s.push(h.rehover,h.redrag,h.reselect),u.add(t,q,[t,i.undoit],q,[t,i.redoit]);var l=o.syncOrAsync(s,t);return l&&l.then||(l=Promise.resolve(t)),l.then((function(){return t.emit(\"plotly_relayout\",i.eventData),t}))}function H(t,e,r){var n,i,a=t._fullLayout;if(!e.axrange)return!1;for(var s in e)if(\"axrange\"!==s&&e[s])return!1;var l=function(t,e){return o.coerce(n,i,v,t,e)},u={};for(var c in r.rangesAltered){var f=p.id2name(c);if(n=t.layout[f],i=a[f],d(n,i,l,u),i._matchGroup)for(var h in i._matchGroup)if(h!==c){var g=a[p.id2name(h)];g.autorange=i.autorange,g.range=i.range.slice(),g._input.range=i.range.slice()}}return!0}function G(t,e){var r=e?function(t){var r=[];for(var n in e){var i=p.getFromId(t,n);if(r.push(n),-1!==(i.ticklabelposition||\"\").indexOf(\"inside\")&&i._anchorAxis&&r.push(i._anchorAxis._id),i._matchGroup)for(var a in i._matchGroup)e[a]||r.push(a)}return p.draw(t,r,{skipTitle:!0})}:function(t){return p.draw(t,\"redraw\")};t.push(b,k.doAutoRangeAndConstraints,r,k.drawData,k.finalDraw)}var W=/^[xyz]axis[0-9]*\\.range(\\[[0|1]\\])?$/,Y=/^[xyz]axis[0-9]*\\.autorange$/,X=/^[xyz]axis[0-9]*\\.domain(\\[[0|1]\\])?$/;function Z(t,e){var r,n,i,a=t.layout,l=t._fullLayout,u=l._guiEditing,h=N(l._preGUI,u),d=Object.keys(e),v=p.list(t),g=o.extendDeepAll({},e),y={};for(V(e),d=Object.keys(e),n=0;n0&&\"string\"!=typeof I.parts[D];)D--;var R=I.parts[D],F=I.parts[D-1]+\".\"+R,j=I.parts.slice(0,D).join(\".\"),U=s(t.layout,j).get(),q=s(l,j).get(),H=I.get();if(void 0!==z){k[O]=z,S[O]=\"reverse\"===R?z:B(H);var G=f.getLayoutValObject(l,I.parts);if(G&&G.impliedEdits&&null!==z)for(var Z in G.impliedEdits)E(o.relativeAttr(O,Z),G.impliedEdits[Z]);if(-1!==[\"width\",\"height\"].indexOf(O))if(z){E(\"autosize\",null);var J=\"height\"===O?\"width\":\"height\";E(J,l[J])}else l[O]=t._initialAutoSize[O];else if(\"autosize\"===O)E(\"width\",z?null:l.width),E(\"height\",z?null:l.height);else if(F.match(W))P(F),s(l,j+\"._inputRange\").set(null);else if(F.match(Y)){P(F),s(l,j+\"._inputRange\").set(null);var $=s(l,j).get();$._inputDomain&&($._input.domain=$._inputDomain.slice())}else F.match(X)&&s(l,j+\"._inputDomain\").set(null);if(\"type\"===R){L=U;var Q=\"linear\"===q.type&&\"log\"===z,tt=\"log\"===q.type&&\"linear\"===z;if(Q||tt){if(L&&L.range)if(q.autorange)Q&&(L.range=L.range[1]>L.range[0]?[1,2]:[2,1]);else{var et=L.range[0],rt=L.range[1];Q?(et<=0&&rt<=0&&E(j+\".autorange\",!0),et<=0?et=rt/1e6:rt<=0&&(rt=et/1e6),E(j+\".range[0]\",Math.log(et)/Math.LN10),E(j+\".range[1]\",Math.log(rt)/Math.LN10)):(E(j+\".range[0]\",Math.pow(10,et)),E(j+\".range[1]\",Math.pow(10,rt)))}else E(j+\".autorange\",!0);Array.isArray(l._subplots.polar)&&l._subplots.polar.length&&l[I.parts[0]]&&\"radialaxis\"===I.parts[1]&&delete l[I.parts[0]]._subplot.viewInitial[\"radialaxis.range\"],c.getComponentMethod(\"annotations\",\"convertCoords\")(t,q,z,E),c.getComponentMethod(\"images\",\"convertCoords\")(t,q,z,E)}else E(j+\".autorange\",!0),E(j+\".range\",null);s(l,j+\"._inputRange\").set(null)}else if(R.match(M)){var nt=s(l,O).get(),it=(z||{}).type;it&&\"-\"!==it||(it=\"linear\"),c.getComponentMethod(\"annotations\",\"convertCoords\")(t,nt,it,E),c.getComponentMethod(\"images\",\"convertCoords\")(t,nt,it,E)}var at=w.containerArrayMatch(O);if(at){r=at.array,n=at.index;var ot=at.property,st=G||{editType:\"calc\"};\"\"!==n&&\"\"===ot&&(w.isAddVal(z)?S[O]=null:w.isRemoveVal(z)?S[O]=(s(a,r).get()||[])[n]:o.warn(\"unrecognized full object value\",e)),A.update(_,st),y[r]||(y[r]={});var lt=y[r][n];lt||(lt=y[r][n]={}),lt[ot]=z,delete e[O]}else\"reverse\"===R?(U.range?U.range.reverse():(E(j+\".autorange\",!0),U.range=[1,0]),q.autorange?_.calc=!0:_.plot=!0):(\"dragmode\"===O&&(!1===z&&!1!==H||!1!==z&&!1===H)||l._has(\"scatter-like\")&&l._has(\"regl\")&&\"dragmode\"===O&&(\"lasso\"===z||\"select\"===z)&&\"lasso\"!==H&&\"select\"!==H||l._has(\"gl2d\")?_.plot=!0:G?A.update(_,G):_.calc=!0,I.set(z))}}for(r in y)w.applyContainerArrayChanges(t,h(a,r),y[r],_,h)||(_.plot=!0);for(var ut in C){var ct=(L=p.getFromId(t,ut))&&L._constraintGroup;if(ct)for(var ft in _.calc=!0,ct)C[ft]||(p.getFromId(t,ft)._constraintShrinkable=!0)}(K(t)||e.height||e.width)&&(_.plot=!0);var ht=l.shapes;for(n=0;n1;)if(n.pop(),void 0!==(r=s(e,n.join(\".\")+\".uirevision\").get()))return r;return e.uirevision}function nt(t,e){for(var r=0;r=i.length?i[0]:i[t]:i}function l(t){return Array.isArray(a)?t>=a.length?a[0]:a[t]:a}function u(t,e){var r=0;return function(){if(t&&++r===e)return t()}}return void 0===n._frameWaitingCnt&&(n._frameWaitingCnt=0),new Promise((function(a,c){function f(){t.emit(\"plotly_animating\"),n._lastFrameAt=-1/0,n._timeToNext=0,n._runningTransitions=0,n._currentFrame=null;var e=function(){n._animationRaf=window.requestAnimationFrame(e),Date.now()-n._lastFrameAt>n._timeToNext&&function(){n._currentFrame&&n._currentFrame.onComplete&&n._currentFrame.onComplete();var e=n._currentFrame=n._frameQueue.shift();if(e){var r=e.name?e.name.toString():null;t._fullLayout._currentFrame=r,n._lastFrameAt=Date.now(),n._timeToNext=e.frameOpts.duration,h.transition(t,e.frame.data,e.frame.layout,T.coerceTraceIndices(t,e.frame.traces),e.frameOpts,e.transitionOpts).then((function(){e.onComplete&&e.onComplete()})),t.emit(\"plotly_animatingframe\",{name:r,frame:e.frame,animation:{frame:e.frameOpts,transition:e.transitionOpts}})}else t.emit(\"plotly_animated\"),window.cancelAnimationFrame(n._animationRaf),n._animationRaf=null}()};e()}var p,d,v=0;function g(t){return Array.isArray(i)?v>=i.length?t.transitionOpts=i[v]:t.transitionOpts=i[0]:t.transitionOpts=i,v++,t}var y=[],m=null==e,x=Array.isArray(e);if(m||x||!o.isPlainObject(e)){if(m||-1!==[\"string\",\"number\"].indexOf(typeof e))for(p=0;p0&&ww)&&k.push(d);y=k}}y.length>0?function(e){if(0!==e.length){for(var i=0;i=0;n--)if(o.isPlainObject(e[n])){var v=e[n].name,g=(c[v]||d[v]||{}).name,y=e[n].name,m=c[g]||d[g];g&&y&&\"number\"==typeof y&&m&&S<5&&(S++,o.warn('addFrames: overwriting frame \"'+(c[g]||d[g]).name+'\" with a frame whose name of type \"number\" also equates to \"'+g+'\". This is valid but may potentially lead to unexpected behavior since all plotly.js frame names are stored internally as strings.'),5===S&&o.warn(\"addFrames: This API call has yielded too many of these warnings. For the rest of this call, further warnings about numeric frame names will be suppressed.\")),d[v]={name:v},p.push({frame:h.supplyFrameDefaults(e[n]),index:r&&void 0!==r[n]&&null!==r[n]?r[n]:f+n})}p.sort((function(t,e){return t.index>e.index?-1:t.index=0;n--){if(\"number\"==typeof(i=p[n].frame).name&&o.warn(\"Warning: addFrames accepts frames with numeric names, but the numbers areimplicitly cast to strings\"),!i.name)for(;c[i.name=\"frame \"+t._transitionData._counter++];);if(c[i.name]){for(a=0;a=0;r--)n=e[r],a.push({type:\"delete\",index:n}),s.unshift({type:\"insert\",index:n,value:i[n]});var l=h.modifyFrames,c=h.modifyFrames,f=[t,s],p=[t,a];return u&&u.add(t,l,f,c,p),h.modifyFrames(t,a)},e.addTraces=function t(r,n,i){r=o.getGraphDiv(r);var a,s,l=[],c=e.deleteTraces,f=t,h=[r,l],p=[r,n];for(function(t,e,r){var n,i;if(!Array.isArray(t.data))throw new Error(\"gd.data must be an array.\");if(void 0===e)throw new Error(\"traces must be defined.\");for(Array.isArray(e)||(e=[e]),n=0;n=0&&r=0&&r=a.length)return!1;if(2===t.dimensions){if(r++,e.length===r)return t;var o=e[r];if(!_(o))return!1;t=a[i][o]}else t=a[i]}else t=a}}return t}function _(t){return t===Math.round(t)&&t>=0}function w(){var t,e,r={};for(t in f(r,o),n.subplotsRegistry)if((e=n.subplotsRegistry[t]).layoutAttributes)if(Array.isArray(e.attr))for(var i=0;i=l.length)return!1;i=(r=(n.transformsRegistry[l[u].type]||{}).attributes)&&r[e[2]],s=3}else{var c=t._module;if(c||(c=(n.modules[t.type||a.type.dflt]||{})._module),!c)return!1;if(!(i=(r=c.attributes)&&r[o])){var f=c.basePlotModule;f&&f.attributes&&(i=f.attributes[o])}i||(i=a[o])}return b(i,e,s)},e.getLayoutValObject=function(t,e){var r=function(t,e){var r,i,a,s,l=t._basePlotModules;if(l){var u;for(r=0;r=i&&(r._input||{})._templateitemname;s&&(o=i);var l,u=e+\"[\"+o+\"]\";function c(){l={},s&&(l[u]={},l[u][a]=s)}function f(t,e){s?n.nestedProperty(l[u],t).set(e):l[u+\".\"+t]=e}function h(){var t=l;return c(),t}return c(),{modifyBase:function(t,e){l[t]=e},modifyItem:f,getUpdateObj:h,applyUpdate:function(e,r){e&&f(e,r);var i=h();for(var a in i)n.nestedProperty(t,a).set(i[a])}}}},39172:function(t,e,r){\"use strict\";var n=r(33428),i=r(24040),a=r(7316),o=r(3400),s=r(72736),l=r(73696),u=r(76308),c=r(43616),f=r(81668),h=r(45460),p=r(54460),d=r(84284),v=r(71888),g=v.enforce,y=v.clean,m=r(19280).doAutoRange,x=\"start\";function b(t,e,r){for(var n=0;n=t[1]||i[1]<=t[0])&&a[0]e[0])return!0}return!1}function _(t){var r,i,s,l,f,v,g=t._fullLayout,y=g._size,m=y.p,x=p.list(t,\"\",!0);if(g._paperdiv.style({width:t._context.responsive&&g.autosize&&!t._context._hasZeroWidth&&!t.layout.width?\"100%\":g.width+\"px\",height:t._context.responsive&&g.autosize&&!t._context._hasZeroHeight&&!t.layout.height?\"100%\":g.height+\"px\"}).selectAll(\".main-svg\").call(c.setSize,g.width,g.height),t._context.setBackground(t,g.paper_bgcolor),e.drawMainTitle(t),h.manage(t),!g._has(\"cartesian\"))return a.previousPromises(t);function _(t,e,r){var n=t._lw/2;return\"x\"===t._id.charAt(0)?e?\"top\"===r?e._offset-m-n:e._offset+e._length+m+n:y.t+y.h*(1-(t.position||0))+n%1:e?\"right\"===r?e._offset+e._length+m+n:e._offset-m-n:y.l+y.w*(t.position||0)+n%1}for(r=0;r.5?\"t\":\"b\",o=t._fullLayout.margin[a],s=0;return\"paper\"===e.yref?s=r+e.pad.t+e.pad.b:\"container\"===e.yref&&(s=function(t,e,r,n,i){var a=0;return\"middle\"===r&&(a+=i/2),\"t\"===t?(\"top\"===r&&(a+=i),a+=n-e*n):(\"bottom\"===r&&(a+=i),a+=e*n),a}(a,n,i,t._fullLayout.height,r)+e.pad.t+e.pad.b),s>o?s:0}(t,r,g);if(y>0){!function(t,e,r,n){var i=\"title.automargin\",s=t._fullLayout.title,l=s.y>.5?\"t\":\"b\",u={x:s.x,y:s.y,t:0,b:0},c={};\"paper\"===s.yref&&function(t,e,r,n,i){var a=\"paper\"===e.yref?t._fullLayout._size.h:t._fullLayout.height,s=o.isTopAnchor(e)?n:n-i,l=\"b\"===r?a-s:s;return!(o.isTopAnchor(e)&&\"t\"===r||o.isBottomAnchor(e)&&\"b\"===r)&&lT?c.push({code:\"unused\",traceType:m,templateCount:w,dataCount:T}):T>w&&c.push({code:\"reused\",traceType:m,templateCount:w,dataCount:T})}}else c.push({code:\"data\"});if(function t(e,r){for(var n in e)if(\"_\"!==n.charAt(0)){var a=e[n],o=v(e,n,r);i(a)?(Array.isArray(e)&&!1===a._template&&a.templateitemname&&c.push({code:\"missing\",path:o,templateitemname:a.templateitemname}),t(a,o)):Array.isArray(a)&&g(a)&&t(a,o)}}({data:p,layout:h},\"\"),c.length)return c.map(y)}},67024:function(t,e,r){\"use strict\";var n=r(38248),i=r(36424),a=r(7316),o=r(3400),s=r(81792),l=r(37164),u=r(63268),c=r(25788).version,f={format:{valType:\"enumerated\",values:[\"png\",\"jpeg\",\"webp\",\"svg\",\"full-json\"],dflt:\"png\"},width:{valType:\"number\",min:1},height:{valType:\"number\",min:1},scale:{valType:\"number\",min:0,dflt:1},setBackground:{valType:\"any\",dflt:!1},imageDataOnly:{valType:\"boolean\",dflt:!1}};t.exports=function(t,e){var r,h,p,d;function v(t){return!(t in e)||o.validate(e[t],f[t])}if(e=e||{},o.isPlainObject(t)?(r=t.data||[],h=t.layout||{},p=t.config||{},d={}):(t=o.getGraphDiv(t),r=o.extendDeep([],t.data),h=o.extendDeep({},t.layout),p=t._context,d=t._fullLayout||{}),!v(\"width\")&&null!==e.width||!v(\"height\")&&null!==e.height)throw new Error(\"Height and width should be pixel values.\");if(!v(\"format\"))throw new Error(\"Export format is not \"+o.join2(f.format.values,\", \",\" or \")+\".\");var g={};function y(t,r){return o.coerce(e,g,f,t,r)}var m=y(\"format\"),x=y(\"width\"),b=y(\"height\"),_=y(\"scale\"),w=y(\"setBackground\"),T=y(\"imageDataOnly\"),k=document.createElement(\"div\");k.style.position=\"absolute\",k.style.left=\"-5000px\",document.body.appendChild(k);var A=o.extendFlat({},h);x?A.width=x:null===e.width&&n(d.width)&&(A.width=d.width),b?A.height=b:null===e.height&&n(d.height)&&(A.height=d.height);var M=o.extendFlat({},p,{_exportedPlot:!0,staticPlot:!0,setBackground:w}),S=s.getRedrawFunc(k);function E(){return new Promise((function(t){setTimeout(t,s.getDelay(k._fullLayout))}))}function L(){return new Promise((function(t,e){var r=l(k,m,_),n=k._fullLayout.width,f=k._fullLayout.height;function h(){i.purge(k),document.body.removeChild(k)}if(\"full-json\"===m){var p=a.graphJson(k,!1,\"keepdata\",\"object\",!0,!0);return p.version=c,p=JSON.stringify(p),h(),t(T?p:s.encodeJSON(p))}if(h(),\"svg\"===m)return t(T?r:s.encodeSVG(r));var d=document.createElement(\"canvas\");d.id=o.randstr(),u({format:m,width:n,height:f,scale:_,canvas:d,svg:r,promise:!0}).then(t).catch(e)}))}return new Promise((function(t,e){i.newPlot(k,r,A,M).then(S).then(E).then(L).then((function(e){t(function(t){return T?t.replace(s.IMAGE_URL_PREFIX,\"\"):t}(e))})).catch((function(t){e(t)}))}))}},21480:function(t,e,r){\"use strict\";var n=r(3400),i=r(7316),a=r(73060),o=r(20556).dfltConfig,s=n.isPlainObject,l=Array.isArray,u=n.isArrayOrTypedArray;function c(t,e,r,i,a,o){o=o||[];for(var f=Object.keys(t),h=0;hx.length&&i.push(p(\"unused\",a,y.concat(x.length)));var A,M,S,E,L,C=x.length,P=Array.isArray(k);if(P&&(C=Math.min(C,k.length)),2===b.dimensions)for(M=0;Mx[M].length&&i.push(p(\"unused\",a,y.concat(M,x[M].length)));var O=x[M].length;for(A=0;A<(P?Math.min(O,k[M].length):O);A++)S=P?k[M][A]:k,E=m[M][A],L=x[M][A],n.validate(E,S)?L!==E&&L!==+E&&i.push(p(\"dynamic\",a,y.concat(M,A),E,L)):i.push(p(\"value\",a,y.concat(M,A),E))}else i.push(p(\"array\",a,y.concat(M),m[M]));else for(M=0;M1&&h.push(p(\"object\",\"layout\"))),i.supplyDefaults(d);for(var v=d._fullData,g=r.length,y=0;y0&&Math.round(f)===f))return{vals:i};u=f}for(var h=e.calendar,p=\"start\"===l,d=\"end\"===l,v=t[r+\"period0\"],g=a(v,h)||0,y=[],m=[],x=[],b=i.length,_=0;_A;)k=o(k,-u,h);for(;k<=A;)k=o(k,u,h);T=o(k,-u,h)}else{for(k=g+(w=Math.round((A-g)/c))*c;k>A;)k-=c;for(;k<=A;)k+=c;T=k-c}y[_]=p?T:d?k:(T+k)/2,m[_]=T,x[_]=k}return{vals:y,starts:m,ends:x}}},26720:function(t){\"use strict\";t.exports={xaxis:{valType:\"subplotid\",dflt:\"x\",editType:\"calc+clearAxisTypes\"},yaxis:{valType:\"subplotid\",dflt:\"y\",editType:\"calc+clearAxisTypes\"}}},19280:function(t,e,r){\"use strict\";var n=r(33428),i=r(38248),a=r(3400),o=r(39032).FP_SAFE,s=r(24040),l=r(43616),u=r(79811),c=u.getFromId,f=u.isLinked;function h(t,e){var r,n,i=[],o=t._fullLayout,s=d(o,e,0),l=d(o,e,1),u=g(t,e),c=u.min,f=u.max;if(0===c.length||0===f.length)return a.simpleMap(e.range,e.r2l);var h=c[0].val,v=f[0].val;for(r=1;r0&&((A=C-s(b)-l(_))>P?M/A>O&&(w=b,T=_,O=M/A):M/C>O&&(w={val:b.val,nopad:1},T={val:_.val,nopad:1},O=M/C));if(h===v){var I=h-1,z=h+1;if(E)if(0===h)i=[0,1];else{var D=(h>0?f:c).reduce((function(t,e){return Math.max(t,l(e))}),0),R=h/(1-Math.min(.5,D/C));i=h>0?[0,R]:[R,0]}else i=L?[Math.max(0,I),Math.max(1,z)]:[I,z]}else E?(w.val>=0&&(w={val:0,nopad:1}),T.val<=0&&(T={val:0,nopad:1})):L&&(w.val-O*s(w)<0&&(w={val:0,nopad:1}),T.val<=0&&(T={val:1,nopad:1})),O=(T.val-w.val-p(e,b.val,_.val))/(C-s(w)-l(T)),i=[w.val-O*s(w),T.val+O*l(T)];return i=k(i,e),e.limitRange&&e.limitRange(),m&&i.reverse(),a.simpleMap(i,e.l2r||Number)}function p(t,e,r){var n=0;if(t.rangebreaks)for(var i=t.locateBreaks(e,r),a=0;a0?r.ppadplus:r.ppadminus)||r.ppad||0),S=A((t._m>0?r.ppadminus:r.ppadplus)||r.ppad||0),E=A(r.vpadplus||r.vpad),L=A(r.vpadminus||r.vpad);if(!T){if(h=1/0,p=-1/0,w)for(n=0;n0&&(h=a),a>p&&a-o&&(h=a),a>p&&a=O;n--)P(n);return{min:d,max:v,opts:r}},concatExtremes:g};var v=3;function g(t,e,r){var n,i,a,o=e._id,s=t._fullData,l=t._fullLayout,u=[],f=[];function h(t,e){for(n=0;n=r&&(u.extrapad||!o)){s=!1;break}i(e,u.val)&&u.pad<=r&&(o||!u.extrapad)&&(t.splice(l,1),l--)}if(s){var c=a&&0===e;t.push({val:e,pad:c?0:r,extrapad:!c&&o})}}function b(t){return i(t)&&Math.abs(t)=e}function T(t,e,r){return void 0===e||void 0===r||(e=t.d2l(e))=u&&(o=u,r=u),s<=u&&(s=u,n=u)}}return r=function(t,e){var r=e.autorangeoptions;return r&&void 0!==r.minallowed&&T(e,r.minallowed,r.maxallowed)?r.minallowed:r&&void 0!==r.clipmin&&T(e,r.clipmin,r.clipmax)?Math.max(t,e.d2l(r.clipmin)):t}(r,e),n=function(t,e){var r=e.autorangeoptions;return r&&void 0!==r.maxallowed&&T(e,r.minallowed,r.maxallowed)?r.maxallowed:r&&void 0!==r.clipmax&&T(e,r.clipmin,r.clipmax)?Math.min(t,e.d2l(r.clipmax)):t}(n,e),[r,n]}},76808:function(t){\"use strict\";t.exports=function(t,e,r){var n,i;if(r){var a=\"reversed\"===e||\"min reversed\"===e||\"max reversed\"===e;n=r[a?1:0],i=r[a?0:1]}var o=t(\"autorangeoptions.minallowed\",null===i?n:void 0),s=t(\"autorangeoptions.maxallowed\",null===n?i:void 0);void 0===o&&t(\"autorangeoptions.clipmin\"),void 0===s&&t(\"autorangeoptions.clipmax\"),t(\"autorangeoptions.include\")}},54460:function(t,e,r){\"use strict\";var n=r(33428),i=r(38248),a=r(7316),o=r(24040),s=r(3400),l=s.strTranslate,u=r(72736),c=r(81668),f=r(76308),h=r(43616),p=r(94724),d=r(98728),v=r(39032),g=v.ONEMAXYEAR,y=v.ONEAVGYEAR,m=v.ONEMINYEAR,x=v.ONEMAXQUARTER,b=v.ONEAVGQUARTER,_=v.ONEMINQUARTER,w=v.ONEMAXMONTH,T=v.ONEAVGMONTH,k=v.ONEMINMONTH,A=v.ONEWEEK,M=v.ONEDAY,S=M/2,E=v.ONEHOUR,L=v.ONEMIN,C=v.ONESEC,P=v.MINUS_SIGN,O=v.BADNUM,I={K:\"zeroline\"},z={K:\"gridline\",L:\"path\"},D={K:\"minor-gridline\",L:\"path\"},R={K:\"tick\",L:\"path\"},F={K:\"tick\",L:\"text\"},B={width:[\"x\",\"r\",\"l\",\"xl\",\"xr\"],height:[\"y\",\"t\",\"b\",\"yt\",\"yb\"],right:[\"r\",\"xr\"],left:[\"l\",\"xl\"],top:[\"t\",\"yt\"],bottom:[\"b\",\"yb\"]},N=r(84284),j=N.MID_SHIFT,U=N.CAP_SHIFT,V=N.LINE_SPACING,q=N.OPPOSITE_SIDE,H=t.exports={};H.setConvert=r(78344);var G=r(52976),W=r(79811),Y=W.idSort,X=W.isLinked;H.id2name=W.id2name,H.name2id=W.name2id,H.cleanId=W.cleanId,H.list=W.list,H.listIds=W.listIds,H.getFromId=W.getFromId,H.getFromTrace=W.getFromTrace;var Z=r(19280);H.getAutoRange=Z.getAutoRange,H.findExtremes=Z.findExtremes;var K=1e-4;function J(t){var e=(t[1]-t[0])*K;return[t[0]-e,t[1]+e]}H.coerceRef=function(t,e,r,n,i,a){var o=n.charAt(n.length-1),l=r._fullLayout._subplots[o+\"axis\"],u=n+\"ref\",c={};return i||(i=l[0]||(\"string\"==typeof a?a:a[0])),a||(a=i),l=l.concat(l.map((function(t){return t+\" domain\"}))),c[u]={valType:\"enumerated\",values:l.concat(a?\"string\"==typeof a?[a]:a:[]),dflt:i},s.coerce(t,e,c,u)},H.getRefType=function(t){return void 0===t?t:\"paper\"===t?\"paper\":\"pixel\"===t?\"pixel\":/( domain)$/.test(t)?\"domain\":\"range\"},H.coercePosition=function(t,e,r,n,i,a){var o,l;if(\"range\"!==H.getRefType(n))o=s.ensureNumber,l=r(i,a);else{var u=H.getFromId(e,n);l=r(i,a=u.fraction2r(a)),o=u.cleanPos}t[i]=o(l)},H.cleanPosition=function(t,e,r){return(\"paper\"===r||\"pixel\"===r?s.ensureNumber:H.getFromId(e,r).cleanPos)(t)},H.redrawComponents=function(t,e){e=e||H.listIds(t);var r=t._fullLayout;function n(n,i,a,s){for(var l=o.getComponentMethod(n,i),u={},c=0;cn&&h2e-6||((r-t._forceTick0)/t._minDtick%1+1.000001)%1>2e-6)&&(t._minDtick=0)):t._minDtick=0},H.saveRangeInitial=function(t,e){for(var r=H.list(t,\"\",!0),n=!1,i=0;i.3*h||c(n)||c(a))){var p=r.dtick/2;t+=t+p.8){var o=Number(r.substr(1));a.exactYears>.8&&o%12==0?t=H.tickIncrement(t,\"M6\",\"reverse\")+1.5*M:a.exactMonths>.8?t=H.tickIncrement(t,\"M1\",\"reverse\")+15.5*M:t-=S;var l=H.tickIncrement(t,r);if(l<=n)return l}return t}(m,t,y,u,a)),g=m;g<=c;)g=H.tickIncrement(g,y,!1,a);return{start:e.c2r(m,0,a),end:e.c2r(g,0,a),size:y,_dataSpan:c-u}},H.prepMinorTicks=function(t,e,r){if(!e.minor.dtick){delete t.dtick;var n,a=e.dtick&&i(e._tmin);if(a){var o=H.tickIncrement(e._tmin,e.dtick,!0);n=[e._tmin,.99*o+.01*e._tmin]}else{var l=s.simpleMap(e.range,e.r2l);n=[l[0],.8*l[0]+.2*l[1]]}if(t.range=s.simpleMap(n,e.l2r),t._isMinor=!0,H.prepTicks(t,r),a){var u=i(e.dtick),c=i(t.dtick),f=u?e.dtick:+e.dtick.substring(1),h=c?t.dtick:+t.dtick.substring(1);u&&c?et(f,h)?f===2*A&&h===2*M&&(t.dtick=A):f===2*A&&h===3*M?t.dtick=A:f!==A||(e._input.minor||{}).nticks?rt(f/h,2.5)?t.dtick=f/2:t.dtick=f:t.dtick=M:\"M\"===String(e.dtick).charAt(0)?c?t.dtick=\"M1\":et(f,h)?f>=12&&2===h&&(t.dtick=\"M3\"):t.dtick=e.dtick:\"L\"===String(t.dtick).charAt(0)?\"L\"===String(e.dtick).charAt(0)?et(f,h)||(t.dtick=rt(f/h,2.5)?e.dtick/2:e.dtick):t.dtick=\"D1\":\"D2\"===t.dtick&&+e.dtick>1&&(t.dtick=1)}t.range=e.range}void 0===e.minor._tick0Init&&(t.tick0=e.tick0)},H.prepTicks=function(t,e){var r=s.simpleMap(t.range,t.r2l,void 0,void 0,e);if(\"auto\"===t.tickmode||!t.dtick){var n,a=t.nticks;a||(\"category\"===t.type||\"multicategory\"===t.type?(n=t.tickfont?s.bigFont(t.tickfont.size||12):15,a=t._length/n):(n=\"y\"===t._id.charAt(0)?40:80,a=s.constrain(t._length/n,4,9)+1),\"radialaxis\"===t._name&&(a*=2)),t.minor&&\"array\"!==t.minor.tickmode||\"array\"===t.tickmode&&(a*=100),t._roughDTick=Math.abs(r[1]-r[0])/a,H.autoTicks(t,t._roughDTick),t._minDtick>0&&t.dtick<2*t._minDtick&&(t.dtick=t._minDtick,t.tick0=t.l2r(t._forceTick0))}\"period\"===t.ticklabelmode&&function(t){var e;function r(){return!(i(t.dtick)||\"M\"!==t.dtick.charAt(0))}var n=r(),a=H.getTickFormat(t);if(a){var o=t._dtickInit!==t.dtick;/%[fLQsSMX]/.test(a)||(/%[HI]/.test(a)?(e=E,o&&!n&&t.dtick=(I?0:1);z--){var D=!z;z?(t._dtickInit=t.dtick,t._tick0Init=t.tick0):(t.minor._dtickInit=t.minor.dtick,t.minor._tick0Init=t.minor.tick0);var R=z?t:s.extendFlat({},t,t.minor);if(D?H.prepMinorTicks(R,t,e):H.prepTicks(R,e),\"array\"!==R.tickmode)if(\"sync\"!==R.tickmode){var F=J(c),B=F[0],N=F[1],j=i(R.dtick),U=\"log\"===a&&!(j||\"L\"===R.dtick.charAt(0)),V=H.tickFirst(R,e);if(z){if(t._tmin=V,V=N:Y<=N;Y=H.tickIncrement(Y,X,f,o)){if(z&&q++,R.rangebreaks&&!f){if(Y=p)break}if(C.length>d||Y===W)break;W=Y;var Z={value:Y};z?(U&&Y!==(0|Y)&&(Z.simpleLabel=!0),l>1&&q%l&&(Z.skipLabel=!0),C.push(Z)):(Z.minor=!0,P.push(Z))}}else C=[],v=at(t);else z?(C=[],v=ot(t,!D)):(P=[],L=ot(t,!D))}if(I&&!(\"inside\"===t.minor.ticks&&\"outside\"===t.ticks||\"outside\"===t.minor.ticks&&\"inside\"===t.ticks)){for(var K=C.map((function(t){return t.value})),$=[],Q=0;Q0?(a=n-1,o=n):(a=n,o=n);var s,l=t[a].value,u=t[o].value,c=Math.abs(u-l),f=r||c,h=0;f>=m?h=c>=m&&c<=g?c:y:r===b&&f>=_?h=c>=_&&c<=x?c:b:f>=k?h=c>=k&&c<=w?c:T:r===A&&f>=A?h=A:f>=M?h=M:r===S&&f>=S?h=S:r===E&&f>=E&&(h=E),h>=c&&(h=c,s=!0);var p=i+h;if(e.rangebreaks&&h>0){for(var d=0,v=0;v<84;v++){var L=(v+.5)/84;e.maskBreaks(i*(1-L)+L*p)!==O&&d++}(h*=d/84)||(t[n].drop=!0),s&&c>A&&(h=c)}(h>0||0===n)&&(t[n].periodX=i+h/2)}}(C,t,t._definedDelta),t.rangebreaks){var it=\"y\"===t._id.charAt(0),st=1;\"auto\"===t.tickmode&&(st=t.tickfont?t.tickfont.size:12);var lt=NaN;for(r=C.length-1;r>-1;r--)if(C[r].drop)C.splice(r,1);else{C[r].value=Dt(C[r].value,t);var ut=t.c2p(C[r].value);(it?lt>ut-st:ltp||ftp&&(ct.periodX=p),ft10||\"01-01\"!==n.substr(5)?t._tickround=\"d\":t._tickround=+e.substr(1)%12==0?\"y\":\"m\";else if(e>=M&&a<=10||e>=15*M)t._tickround=\"d\";else if(e>=L&&a<=16||e>=E)t._tickround=\"M\";else if(e>=C&&a<=19||e>=L)t._tickround=\"S\";else{var o=t.l2r(r+e).replace(/^-/,\"\").length;t._tickround=Math.max(a,o)-20,t._tickround<0&&(t._tickround=4)}}else if(i(e)||\"L\"===e.charAt(0)){var s=t.range.map(t.r2d||Number);i(e)||(e=Number(e.substr(1))),t._tickround=2-Math.floor(Math.log(e)/Math.LN10+.01);var l=Math.max(Math.abs(s[0]),Math.abs(s[1])),u=Math.floor(Math.log(l)/Math.LN10+.01),c=void 0===t.minexponent?3:t.minexponent;Math.abs(u)>c&&(mt(t.exponentformat)&&!xt(u)?t._tickexponent=3*Math.round((u-1)/3):t._tickexponent=u)}else t._tickround=null}function gt(t,e,r){var n=t.tickfont||{};return{x:e,dx:0,dy:0,text:r||\"\",fontSize:n.size,font:n.family,fontWeight:n.weight,fontStyle:n.style,fontVariant:n.variant,fontColor:n.color}}H.autoTicks=function(t,e,r){var n;function a(t){return Math.pow(t,Math.floor(Math.log(e)/Math.LN10))}if(\"date\"===t.type){t.tick0=s.dateTick0(t.calendar,0);var o=2*e;if(o>y)e/=y,n=a(10),t.dtick=\"M\"+12*dt(e,n,st);else if(o>T)e/=T,t.dtick=\"M\"+dt(e,1,lt);else if(o>M){if(t.dtick=dt(e,M,t._hasDayOfWeekBreaks?[1,2,7,14]:ct),!r){var l=H.getTickFormat(t),u=\"period\"===t.ticklabelmode;u&&(t._rawTick0=t.tick0),/%[uVW]/.test(l)?t.tick0=s.dateTick0(t.calendar,2):t.tick0=s.dateTick0(t.calendar,1),u&&(t._dowTick0=t.tick0)}}else o>E?t.dtick=dt(e,E,lt):o>L?t.dtick=dt(e,L,ut):o>C?t.dtick=dt(e,C,ut):(n=a(10),t.dtick=dt(e,n,st))}else if(\"log\"===t.type){t.tick0=0;var c=s.simpleMap(t.range,t.r2l);if(t._isMinor&&(e*=1.5),e>.7)t.dtick=Math.ceil(e);else if(Math.abs(c[1]-c[0])<1){var f=1.5*Math.abs((c[1]-c[0])/e);e=Math.abs(Math.pow(10,c[1])-Math.pow(10,c[0]))/f,n=a(10),t.dtick=\"L\"+dt(e,n,st)}else t.dtick=e>.3?\"D2\":\"D1\"}else\"category\"===t.type||\"multicategory\"===t.type?(t.tick0=0,t.dtick=Math.ceil(Math.max(e,1))):zt(t)?(t.tick0=0,n=1,t.dtick=dt(e,n,pt)):(t.tick0=0,n=a(10),t.dtick=dt(e,n,st));if(0===t.dtick&&(t.dtick=1),!i(t.dtick)&&\"string\"!=typeof t.dtick){var h=t.dtick;throw t.dtick=1,\"ax.dtick error: \"+String(h)}},H.tickIncrement=function(t,e,r,a){var o=r?-1:1;if(i(e))return s.increment(t,o*e);var l=e.charAt(0),u=o*Number(e.substr(1));if(\"M\"===l)return s.incrementMonth(t,u,a);if(\"L\"===l)return Math.log(Math.pow(10,t)+u)/Math.LN10;if(\"D\"===l){var c=\"D2\"===e?ht:ft,f=t+.01*o,h=s.roundUp(s.mod(f,1),c,r);return Math.floor(f)+Math.log(n.round(Math.pow(10,h),1))/Math.LN10}throw\"unrecognized dtick \"+String(e)},H.tickFirst=function(t,e){var r=t.r2l||Number,a=s.simpleMap(t.range,r,void 0,void 0,e),o=a[1]=0&&r<=t._length?e:null};if(l&&s.isArrayOrTypedArray(t.ticktext)){var p=s.simpleMap(t.range,t.r2l),d=(Math.abs(p[1]-p[0])-(t._lBreaks||0))/1e4;for(a=0;a \")}else t._prevDateHead=l,u+=\"
\"+l;e.text=u}(t,o,r,u):\"log\"===c?function(t,e,r,n,a){var o=t.dtick,l=e.x,u=t.tickformat,c=\"string\"==typeof o&&o.charAt(0);if(\"never\"===a&&(a=\"\"),n&&\"L\"!==c&&(o=\"L3\",c=\"L\"),u||\"L\"===c)e.text=bt(Math.pow(10,l),t,a,n);else if(i(o)||\"D\"===c&&s.mod(l+.01,1)<.1){var f=Math.round(l),h=Math.abs(f),p=t.exponentformat;\"power\"===p||mt(p)&&xt(f)?(e.text=0===f?1:1===f?\"10\":\"10\"+(f>1?\"\":P)+h+\"\",e.fontSize*=1.25):(\"e\"===p||\"E\"===p)&&h>2?e.text=\"1\"+p+(f>0?\"+\":P)+h:(e.text=bt(Math.pow(10,l),t,\"\",\"fakehover\"),\"D1\"===o&&\"y\"===t._id.charAt(0)&&(e.dy-=e.fontSize/6))}else{if(\"D\"!==c)throw\"unrecognized dtick \"+String(o);e.text=String(Math.round(Math.pow(10,s.mod(l,1)))),e.fontSize*=.75}if(\"D1\"===t.dtick){var d=String(e.text).charAt(0);\"0\"!==d&&\"1\"!==d||(\"y\"===t._id.charAt(0)?e.dx-=e.fontSize/4:(e.dy+=e.fontSize/2,e.dx+=(t.range[1]>t.range[0]?1:-1)*e.fontSize*(l<0?.5:.25)))}}(t,o,0,u,g):\"category\"===c?function(t,e){var r=t._categories[Math.round(e.x)];void 0===r&&(r=\"\"),e.text=String(r)}(t,o):\"multicategory\"===c?function(t,e,r){var n=Math.round(e.x),i=t._categories[n]||[],a=void 0===i[1]?\"\":String(i[1]),o=void 0===i[0]?\"\":String(i[0]);r?e.text=o+\" - \"+a:(e.text=a,e.text2=o)}(t,o,r):zt(t)?function(t,e,r,n,i){if(\"radians\"!==t.thetaunit||r)e.text=bt(e.x,t,i,n);else{var a=e.x/180;if(0===a)e.text=\"0\";else{var o=function(t){function e(t,e){return Math.abs(t-e)<=1e-6}var r=function(t){for(var r=1;!e(Math.round(t*r)/r,t);)r*=10;return r}(t),n=t*r,i=Math.abs(function t(r,n){return e(n,0)?r:t(n,r%n)}(n,r));return[Math.round(n/i),Math.round(r/i)]}(a);if(o[1]>=100)e.text=bt(s.deg2rad(e.x),t,i,n);else{var l=e.x<0;1===o[1]?1===o[0]?e.text=\"π\":e.text=o[0]+\"π\":e.text=[\"\",o[0],\"\",\"⁄\",\"\",o[1],\"\",\"π\"].join(\"\"),l&&(e.text=P+e.text)}}}}(t,o,r,u,g):function(t,e,r,n,i){\"never\"===i?i=\"\":\"all\"===t.showexponent&&Math.abs(e.x/t.dtick)<1e-6&&(i=\"hide\"),e.text=bt(e.x,t,i,n)}(t,o,0,u,g),n||(t.tickprefix&&!v(t.showtickprefix)&&(o.text=t.tickprefix+o.text),t.ticksuffix&&!v(t.showticksuffix)&&(o.text+=t.ticksuffix)),t.labelalias&&t.labelalias.hasOwnProperty(o.text)){var y=t.labelalias[o.text];\"string\"==typeof y&&(o.text=y)}return(\"boundaries\"===t.tickson||t.showdividers)&&(o.xbnd=[h(o.x-.5),h(o.x+t.dtick-.5)]),o},H.hoverLabelText=function(t,e,r){r&&(t=s.extendFlat({},t,{hoverformat:r}));var n=s.isArrayOrTypedArray(e)?e[0]:e,i=s.isArrayOrTypedArray(e)?e[1]:void 0;if(void 0!==i&&i!==n)return H.hoverLabelText(t,n,r)+\" - \"+H.hoverLabelText(t,i,r);var a=\"log\"===t.type&&n<=0,o=H.tickText(t,t.c2l(a?-n:n),\"hover\").text;return a?0===n?\"0\":P+o:o};var yt=[\"f\",\"p\",\"n\",\"μ\",\"m\",\"\",\"k\",\"M\",\"G\",\"T\"];function mt(t){return\"SI\"===t||\"B\"===t}function xt(t){return t>14||t<-15}function bt(t,e,r,n){var a=t<0,o=e._tickround,l=r||e.exponentformat||\"B\",u=e._tickexponent,c=H.getTickFormat(e),f=e.separatethousands;if(n){var h={exponentformat:l,minexponent:e.minexponent,dtick:\"none\"===e.showexponent?e.dtick:i(t)&&Math.abs(t)||1,range:\"none\"===e.showexponent?e.range.map(e.r2d):[0,t||1]};vt(h),o=(Number(h._tickround)||0)+4,u=h._tickexponent,e.hoverformat&&(c=e.hoverformat)}if(c)return e._numFormat(c)(t).replace(/-/g,P);var p,d=Math.pow(10,-o)/2;if(\"none\"===l&&(u=0),(t=Math.abs(t))\"+p+\"\":\"B\"===l&&9===u?t+=\"B\":mt(l)&&(t+=yt[u/3+5])),a?P+t:t}function _t(t,e){if(t){var r=Object.keys(B).reduce((function(t,r){return-1!==e.indexOf(r)&&B[r].forEach((function(e){t[e]=1})),t}),{});Object.keys(t).forEach((function(e){r[e]||(1===e.length?t[e]=0:delete t[e])}))}}function wt(t,e){for(var r=[],n={},i=0;i1&&r=i.min&&t=0,a=c(t,e[1])<=0;return(r||i)&&(n||a)}if(t.tickformatstops&&t.tickformatstops.length>0)switch(t.type){case\"date\":case\"linear\":for(e=0;e=o(i)))){r=n;break}break;case\"log\":for(e=0;e=0&&i.unshift(i.splice(n,1).shift())}}));var o={false:{left:0,right:0}};return s.syncOrAsync(i.map((function(e){return function(){if(e){var n=H.getFromId(t,e);r||(r={}),r.axShifts=o,r.overlayingShiftedAx=a;var i=H.drawOne(t,n,r);return n._shiftPusher&&Bt(n,n._fullDepth||0,o,!0),n._r=n.range.slice(),n._rl=s.simpleMap(n._r,n.r2l),i}}})))},H.drawOne=function(t,e,r){var n,i,l,p=(r=r||{}).axShifts||{},d=r.overlayingShiftedAx||[];e.setScale();var v=t._fullLayout,g=e._id,y=g.charAt(0),m=H.counterLetter(g),x=v._plots[e._mainSubplot];if(x){if(e._shiftPusher=e.autoshift||-1!==d.indexOf(e._id)||-1!==d.indexOf(e.overlaying),e._shiftPusher&\"free\"===e.anchor){var b=e.linewidth/2||0;\"inside\"===e.ticks&&(b+=e.ticklen),Bt(e,b,p,!0),Bt(e,e.shift||0,p,!1)}!0===r.skipTitle&&void 0!==e._shift||(e._shift=function(t,e){return t.autoshift?e[t.overlaying][t.side]:t.shift||0}(e,p));var _=x[y+\"axislayer\"],w=e._mainLinePosition,T=w+=e._shift,k=e._mainMirrorPosition,A=e._vals=H.calcTicks(e),M=[e.mirror,T,k].join(\"_\");for(n=0;n0?r.bottom-c:0,f))));var h=0,p=0;if(e._shiftPusher&&(h=Math.max(f,r.height>0?\"l\"===l?c-r.left:r.right-c:0),e.title.text!==v._dfltTitle[y]&&(p=(e._titleStandoff||0)+(e._titleScoot||0),\"l\"===l&&(p+=At(e))),e._fullDepth=Math.max(h,p)),e.automargin){n={x:0,y:0,r:0,l:0,t:0,b:0};var d=[0,1],g=\"number\"==typeof e._shift?e._shift:0;if(\"x\"===y){if(\"b\"===l?n[l]=e._depth:(n[l]=e._depth=Math.max(r.width>0?c-r.top:0,f),d.reverse()),r.width>0){var x=r.right-(e._offset+e._length);x>0&&(n.xr=1,n.r=x);var b=e._offset-r.left;b>0&&(n.xl=0,n.l=b)}}else if(\"l\"===l?(e._depth=Math.max(r.height>0?c-r.left:0,f),n[l]=e._depth-g):(e._depth=Math.max(r.height>0?r.right-c:0,f),n[l]=e._depth+g,d.reverse()),r.height>0){var _=r.bottom-(e._offset+e._length);_>0&&(n.yb=0,n.b=_);var w=e._offset-r.top;w>0&&(n.yt=1,n.t=w)}n[m]=\"free\"===e.anchor?e.position:e._anchorAxis.domain[d[0]],e.title.text!==v._dfltTitle[y]&&(n[l]+=At(e)+(e.title.standoff||0)),e.mirror&&\"free\"!==e.anchor&&((i={x:0,y:0,r:0,l:0,t:0,b:0})[u]=e.linewidth,e.mirror&&!0!==e.mirror&&(i[u]+=f),!0===e.mirror||\"ticks\"===e.mirror?i[m]=e._anchorAxis.domain[d[1]]:\"all\"!==e.mirror&&\"allticks\"!==e.mirror||(i[m]=[e._counterDomainMin,e._counterDomainMax][d[1]]))}ft&&(s=o.getComponentMethod(\"rangeslider\",\"autoMarginOpts\")(t,e)),\"string\"==typeof e.automargin&&(_t(n,e.automargin),_t(i,e.automargin)),a.autoMargin(t,Et(e),n),a.autoMargin(t,Lt(e),i),a.autoMargin(t,Ct(e),s)})),s.syncOrAsync(ut)}}function ht(t){var r=g+(t||\"tick\");return S[r]||(S[r]=function(t,e,r){var n,i,a,o;if(t._selections[e].size())n=1/0,i=-1/0,a=1/0,o=-1/0,t._selections[e].each((function(){var t=St(this),e=h.bBox(t.node().parentNode);n=Math.min(n,e.top),i=Math.max(i,e.bottom),a=Math.min(a,e.left),o=Math.max(o,e.right)}));else{var s=H.makeLabelFns(t,r);n=i=s.yFn({dx:0,dy:0,fontSize:0}),a=o=s.xFn({dx:0,dy:0,fontSize:0})}return{top:n,bottom:i,left:a,right:o,height:i-n,width:o-a}}(e,r,T)),S[r]}},H.getTickSigns=function(t,e){var r=t._id.charAt(0),n={x:\"top\",y:\"right\"}[r],i=t.side===n?1:-1,a=[-1,1,i,-i];return\"inside\"!==(e?(t.minor||{}).ticks:t.ticks)==(\"x\"===r)&&(a=a.map((function(t){return-t}))),t.side&&a.push({l:-1,t:-1,r:1,b:1}[t.side.charAt(0)]),a},H.makeTransTickFn=function(t){return\"x\"===t._id.charAt(0)?function(e){return l(t._offset+t.l2p(e.x),0)}:function(e){return l(0,t._offset+t.l2p(e.x))}},H.makeTransTickLabelFn=function(t){var e=function(t){var e=t.ticklabelposition||\"\",r=function(t){return-1!==e.indexOf(t)},n=r(\"top\"),i=r(\"left\"),a=r(\"right\"),o=r(\"bottom\"),s=r(\"inside\"),l=o||i||n||a;if(!l&&!s)return[0,0];var u=t.side,c=l?(t.tickwidth||0)/2:0,f=3,h=t.tickfont?t.tickfont.size:12;return(o||n)&&(c+=h*U,f+=(t.linewidth||0)/2),(i||a)&&(c+=(t.linewidth||0)/2,f+=3),s&&\"top\"===u&&(f-=h*(1-U)),(i||n)&&(c=-c),\"bottom\"!==u&&\"right\"!==u||(f=-f),[l?c:0,s?f:0]}(t),r=e[0],n=e[1];return\"x\"===t._id.charAt(0)?function(e){return l(r+t._offset+t.l2p(Tt(e)),n)}:function(e){return l(n,r+t._offset+t.l2p(Tt(e)))}},H.makeTickPath=function(t,e,r,n){n||(n={});var i=n.minor;if(i&&!t.minor)return\"\";var a=void 0!==n.len?n.len:i?t.minor.ticklen:t.ticklen,o=t._id.charAt(0),s=(t.linewidth||1)/2;return\"x\"===o?\"M0,\"+(e+s*r)+\"v\"+a*r:\"M\"+(e+s*r)+\",0h\"+a*r},H.makeLabelFns=function(t,e,r){var n=t.ticklabelposition||\"\",a=function(t){return-1!==n.indexOf(t)},o=a(\"top\"),l=a(\"left\"),u=a(\"right\"),c=a(\"bottom\")||l||o||u,f=a(\"inside\"),h=\"inside\"===n&&\"inside\"===t.ticks||!f&&\"outside\"===t.ticks&&\"boundaries\"!==t.tickson,p=0,d=0,v=h?t.ticklen:0;if(f?v*=-1:c&&(v=0),h&&(p+=v,r)){var g=s.deg2rad(r);p=v*Math.cos(g)+1,d=v*Math.sin(g)}t.showticklabels&&(h||t.showline)&&(p+=.2*t.tickfont.size);var y,m,x,b,_,w={labelStandoff:p+=(t.linewidth||1)/2*(f?-1:1),labelShift:d},T=0,k=t.side,A=t._id.charAt(0),M=t.tickangle;if(\"x\"===A)b=(_=!f&&\"bottom\"===k||f&&\"top\"===k)?1:-1,f&&(b*=-1),y=d*b,m=e+p*b,x=_?1:-.2,90===Math.abs(M)&&(f?x+=j:x=-90===M&&\"bottom\"===k?U:90===M&&\"top\"===k?j:.5,T=j/2*(M/90)),w.xFn=function(t){return t.dx+y+T*t.fontSize},w.yFn=function(t){return t.dy+m+t.fontSize*x},w.anchorFn=function(t,e){if(c){if(l)return\"end\";if(u)return\"start\"}return i(e)&&0!==e&&180!==e?e*b<0!==f?\"end\":\"start\":\"middle\"},w.heightFn=function(e,r,n){return r<-60||r>60?-.5*n:\"top\"===t.side!==f?-n:0};else if(\"y\"===A){if(b=(_=!f&&\"left\"===k||f&&\"right\"===k)?1:-1,f&&(b*=-1),y=p,m=d*b,x=0,f||90!==Math.abs(M)||(x=-90===M&&\"left\"===k||90===M&&\"right\"===k?U:.5),f){var S=i(M)?+M:0;if(0!==S){var E=s.deg2rad(S);T=Math.abs(Math.sin(E))*U*b,x=0}}w.xFn=function(t){return t.dx+e-(y+t.fontSize*x)*b+T*t.fontSize},w.yFn=function(t){return t.dy+m+t.fontSize*j},w.anchorFn=function(t,e){return i(e)&&90===Math.abs(e)?\"middle\":_?\"end\":\"start\"},w.heightFn=function(e,r,n){return\"right\"===t.side&&(r*=-1),r<-30?-n:r<30?-.5*n:0}}return w},H.drawTicks=function(t,e,r){r=r||{};var i=e._id+\"tick\",a=[].concat(e.minor&&e.minor.ticks?r.vals.filter((function(t){return t.minor&&!t.noTick})):[]).concat(e.ticks?r.vals.filter((function(t){return!t.minor&&!t.noTick})):[]),o=r.layer.selectAll(\"path.\"+i).data(a,kt);o.exit().remove(),o.enter().append(\"path\").classed(i,1).classed(\"ticks\",1).classed(\"crisp\",!1!==r.crisp).each((function(t){return f.stroke(n.select(this),t.minor?e.minor.tickcolor:e.tickcolor)})).style(\"stroke-width\",(function(r){return h.crispRound(t,r.minor?e.minor.tickwidth:e.tickwidth,1)+\"px\"})).attr(\"d\",r.path).style(\"display\",null),Ft(e,[R]),o.attr(\"transform\",r.transFn)},H.drawGrid=function(t,e,r){if(r=r||{},\"sync\"!==e.tickmode){var i=e._id+\"grid\",a=e.minor&&e.minor.showgrid,o=a?r.vals.filter((function(t){return t.minor})):[],s=e.showgrid?r.vals.filter((function(t){return!t.minor})):[],l=r.counterAxis;if(l&&H.shouldShowZeroLine(t,e,l))for(var u=\"array\"===e.tickmode,c=0;c=0;y--){var m=y?v:g;if(m){var x=m.selectAll(\"path.\"+i).data(y?s:o,kt);x.exit().remove(),x.enter().append(\"path\").classed(i,1).classed(\"crisp\",!1!==r.crisp),x.attr(\"transform\",r.transFn).attr(\"d\",r.path).each((function(t){return f.stroke(n.select(this),t.minor?e.minor.gridcolor:e.gridcolor||\"#ddd\")})).style(\"stroke-dasharray\",(function(t){return h.dashStyle(t.minor?e.minor.griddash:e.griddash,t.minor?e.minor.gridwidth:e.gridwidth)})).style(\"stroke-width\",(function(t){return(t.minor?d:e._gw)+\"px\"})).style(\"display\",null),\"function\"==typeof r.path&&x.attr(\"d\",r.path)}}Ft(e,[z,D])}},H.drawZeroLine=function(t,e,r){r=r||r;var n=e._id+\"zl\",i=H.shouldShowZeroLine(t,e,r.counterAxis),a=r.layer.selectAll(\"path.\"+n).data(i?[{x:0,id:e._id}]:[]);a.exit().remove(),a.enter().append(\"path\").classed(n,1).classed(\"zl\",1).classed(\"crisp\",!1!==r.crisp).each((function(){r.layer.selectAll(\"path\").sort((function(t,e){return Y(t.id,e.id)}))})),a.attr(\"transform\",r.transFn).attr(\"d\",r.path).call(f.stroke,e.zerolinecolor||f.defaultLine).style(\"stroke-width\",h.crispRound(t,e.zerolinewidth,e._gw||1)+\"px\").style(\"display\",null),Ft(e,[I])},H.drawLabels=function(t,e,r){r=r||{};var a=t._fullLayout,o=e._id,c=r.cls||o+\"tick\",f=r.vals.filter((function(t){return t.text})),p=r.labelFns,d=r.secondary?0:e.tickangle,v=(e._prevTickAngles||{})[c],g=r.layer.selectAll(\"g.\"+c).data(e.showticklabels?f:[],kt),y=[];function m(t,a){t.each((function(t){var o=n.select(this),s=o.select(\".text-math-group\"),c=p.anchorFn(t,a),f=r.transFn.call(o.node(),t)+(i(a)&&0!=+a?\" rotate(\"+a+\",\"+p.xFn(t)+\",\"+(p.yFn(t)-t.fontSize/2)+\")\":\"\"),d=u.lineCount(o),v=V*t.fontSize,g=p.heightFn(t,i(a)?+a:0,(d-1)*v);if(g&&(f+=l(0,g)),s.empty()){var y=o.select(\"text\");y.attr({transform:f,\"text-anchor\":c}),y.style(\"opacity\",1),e._adjustTickLabelsOverflow&&e._adjustTickLabelsOverflow()}else{var m=h.bBox(s.node()).width*{end:-.5,start:.5}[c];s.attr(\"transform\",f+l(m,0))}}))}g.enter().append(\"g\").classed(c,1).append(\"text\").attr(\"text-anchor\",\"middle\").each((function(e){var r=n.select(this),i=t._promises.length;r.call(u.positionText,p.xFn(e),p.yFn(e)).call(h.font,{family:e.font,size:e.fontSize,color:e.fontColor,weight:e.fontWeight,style:e.fontStyle,variant:e.fontVariant}).text(e.text).call(u.convertToTspans,t),t._promises[i]?y.push(t._promises.pop().then((function(){m(r,d)}))):m(r,d)})),Ft(e,[F]),g.exit().remove(),r.repositionOnUpdate&&g.each((function(t){n.select(this).select(\"text\").call(u.positionText,p.xFn(t),p.yFn(t))})),e._adjustTickLabelsOverflow=function(){var r=e.ticklabeloverflow;if(r&&\"allow\"!==r){var i=-1!==r.indexOf(\"hide\"),o=\"x\"===e._id.charAt(0),l=0,u=o?t._fullLayout.width:t._fullLayout.height;if(-1!==r.indexOf(\"domain\")){var c=s.simpleMap(e.range,e.r2l);l=e.l2p(c[0])+e._offset,u=e.l2p(c[1])+e._offset}var f=Math.min(l,u),p=Math.max(l,u),d=e.side,v=1/0,y=-1/0;for(var m in g.each((function(t){var r=n.select(this);if(r.select(\".text-math-group\").empty()){var a=h.bBox(r.node()),s=0;o?(a.right>p||a.leftp||a.top+(e.tickangle?0:t.fontSize/4)e[\"_visibleLabelMin_\"+r._id]?l.style(\"display\",\"none\"):\"tick\"!==t.K||i||l.style(\"display\",null)}))}))}))}))},m(g,v+1?v:d);var x=null;e._selections&&(e._selections[c]=g);var b=[function(){return y.length&&Promise.all(y)}];e.automargin&&a._redrawFromAutoMarginCount&&90===v?(x=v,b.push((function(){m(g,v)}))):b.push((function(){if(m(g,d),f.length&&e.autotickangles&&(\"log\"!==e.type||\"D\"!==String(e.dtick).charAt(0))){x=e.autotickangles[0];var t,n=0,i=[],a=1;g.each((function(t){n=Math.max(n,t.fontSize);var r=e.l2p(t.x),o=St(this),s=h.bBox(o.node());a=Math.max(a,u.lineCount(o)),i.push({top:0,bottom:10,height:10,left:r-s.width/2,right:r+s.width/2+2,width:s.width+2})}));var o=(\"boundaries\"===e.tickson||e.showdividers)&&!r.secondary,l=f.length,c=Math.abs((f[l-1].x-f[0].x)*e._m)/(l-1),p=o?c/2:c,v=o?e.ticklen:1.25*n*a,y=p/Math.sqrt(Math.pow(p,2)+Math.pow(v,2)),b=e.autotickangles.map((function(t){return t*Math.PI/180})),_=b.find((function(t){return Math.abs(Math.cos(t))<=y}));void 0===_&&(_=b.reduce((function(t,e){return Math.abs(Math.cos(t))j*N&&(P=N,E[S]=L[S]=O[S])}var U=Math.abs(P-C);U-k>0?k*=1+k/(U-=k):k=0,\"y\"!==e._id.charAt(0)&&(k=-k),E[M]=w.p2r(w.r2p(L[M])+A*k),\"min\"===w.autorange||\"max reversed\"===w.autorange?(E[0]=null,w._rangeInitial0=void 0,w._rangeInitial1=void 0):\"max\"!==w.autorange&&\"min reversed\"!==w.autorange||(E[1]=null,w._rangeInitial0=void 0,w._rangeInitial1=void 0),a._insideTickLabelsUpdaterange[w._name+\".range\"]=E}var q=s.syncOrAsync(b);return q&&q.then&&t._promises.push(q),q},H.getPxPosition=function(t,e){var r,n=t._fullLayout._size,i=e._id.charAt(0),a=e.side;return\"free\"!==e.anchor?r=e._anchorAxis:\"x\"===i?r={_offset:n.t+(1-(e.position||0))*n.h,_length:0}:\"y\"===i&&(r={_offset:n.l+(e.position||0)*n.w+e._shift,_length:0}),\"top\"===a||\"left\"===a?r._offset:\"bottom\"===a||\"right\"===a?r._offset+r._length:void 0},H.shouldShowZeroLine=function(t,e,r){var n=s.simpleMap(e.range,e.r2l);return n[0]*n[1]<=0&&e.zeroline&&(\"linear\"===e.type||\"-\"===e.type)&&!(e.rangebreaks&&e.maskBreaks(0)===O)&&(Mt(e,0)||!function(t,e,r,n){var i=r._mainAxis;if(i){var a=t._fullLayout,o=e._id.charAt(0),s=H.counterLetter(e._id),l=e._offset+(Math.abs(n[0])1)for(n=1;n2*o}(i,e))return\"date\";var g=\"strict\"!==r.autotypenumbers;return function(t,e){for(var r=t.length,n=f(r),i=0,o=0,s={},c=0;c2*i}(i,g)?\"category\":function(t,e){for(var r=t.length,n=0;n=2){var s,u,c=\"\";if(2===o.length)for(s=0;s<2;s++)if(u=_(o[s])){c=y;break}var f=i(\"pattern\",c);if(f===y)for(s=0;s<2;s++)(u=_(o[s]))&&(e.bounds[s]=o[s]=u-1);if(f)for(s=0;s<2;s++)switch(u=o[s],f){case y:if(!n(u))return void(e.enabled=!1);if((u=+u)!==Math.floor(u)||u<0||u>=7)return void(e.enabled=!1);e.bounds[s]=o[s]=u;break;case m:if(!n(u))return void(e.enabled=!1);if((u=+u)<0||u>24)return void(e.enabled=!1);e.bounds[s]=o[s]=u}if(!1===r.autorange){var h=r.range;if(h[0]h[1])return void(e.enabled=!1)}else if(o[0]>h[0]&&o[1]n?1:-1:+(t.substr(1)||1)-+(e.substr(1)||1)},e.ref2id=function(t){return!!/^[xyz]/.test(t)&&t.split(\" \")[0]},e.isLinked=function(t,e){return a(e,t._axisMatchGroups)||a(e,t._axisConstraintGroups)}},22416:function(t,e,r){\"use strict\";var n=r(38116).isTypedArraySpec;t.exports=function(t,e,r,i){if(\"category\"===e.type){var a,o=t.categoryarray,s=Array.isArray(o)&&o.length>0||n(o);s&&(a=\"array\");var l,u=r(\"categoryorder\",a);\"array\"===u&&(l=r(\"categoryarray\")),s||\"array\"!==u||(u=e.categoryorder=\"trace\"),\"trace\"===u?e._initialCategories=[]:\"array\"===u?e._initialCategories=l.slice():(l=function(t,e){var r,n,i,a=e.dataAttr||t._id.charAt(0),o={};if(e.axData)r=e.axData;else for(r=[],n=0;nn?i.substr(n):a.substr(r))+o:i+a+t*e:o}function g(t,e){for(var r=e._size,n=r.h/r.w,i={},a=Object.keys(t),o=0;ou*x)||T)for(r=0;rI&&FP&&(P=F);h/=(P-C)/(2*O),C=l.l2r(C),P=l.l2r(P),l.range=l._input.range=S=0?Math.min(t,.9):1/(1/Math.max(t,-.3)+3.222))}function N(t,e,r,n,i){return t.append(\"path\").attr(\"class\",\"zoombox\").style({fill:e>.2?\"rgba(0,0,0,0)\":\"rgba(255,255,255,0)\",\"stroke-width\":0}).attr(\"transform\",u(r,n)).attr(\"d\",i+\"Z\")}function j(t,e,r){return t.append(\"path\").attr(\"class\",\"zoombox-corners\").style({fill:f.background,stroke:f.defaultLine,\"stroke-width\":1,opacity:0}).attr(\"transform\",u(e,r)).attr(\"d\",\"M0,0Z\")}function U(t,e,r,n,i,a){t.attr(\"d\",n+\"M\"+r.l+\",\"+r.t+\"v\"+r.h+\"h\"+r.w+\"v-\"+r.h+\"h-\"+r.w+\"Z\"),V(t,e,i,a)}function V(t,e,r,n){r||(t.transition().style(\"fill\",n>.2?\"rgba(0,0,0,0.4)\":\"rgba(255,255,255,0.3)\").duration(200),e.transition().style(\"opacity\",1).duration(200))}function q(t){n.select(t).selectAll(\".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners\").remove()}function H(t){O&&t.data&&t._context.showTips&&(i.notifier(i._(t,\"Double-click to zoom back out\"),\"long\"),O=!1)}function G(t){var e=Math.floor(Math.min(t.b-t.t,t.r-t.l,P)/2);return\"M\"+(t.l-3.5)+\",\"+(t.t-.5+e)+\"h3v\"+-e+\"h\"+e+\"v-3h-\"+(e+3)+\"ZM\"+(t.r+3.5)+\",\"+(t.t-.5+e)+\"h-3v\"+-e+\"h\"+-e+\"v-3h\"+(e+3)+\"ZM\"+(t.r+3.5)+\",\"+(t.b+.5-e)+\"h-3v\"+e+\"h\"+-e+\"v3h\"+(e+3)+\"ZM\"+(t.l-3.5)+\",\"+(t.b+.5-e)+\"h3v\"+e+\"h\"+e+\"v3h-\"+(e+3)+\"Z\"}function W(t,e,r,n,a){for(var o,s,l,u,c=!1,f={},h={},p=(a||{}).xaHash,d=(a||{}).yaHash,v=0;v=0)i._fullLayout._deactivateShape(i);else{var o=i._fullLayout.clickmode;if(q(i),2!==t||yt||Ht(),gt)o.indexOf(\"select\")>-1&&S(r,i,K,J,e.id,Pt),o.indexOf(\"event\")>-1&&p.click(i,r,e.id);else if(1===t&&yt){var s=v?I:O,u=\"s\"===v||\"w\"===y?0:1,f=s._name+\".range[\"+u+\"]\",h=function(t,e){var r,n=t.range[e],i=Math.abs(n-t.range[1-e]);return\"date\"===t.type?n:\"log\"===t.type?(r=Math.ceil(Math.max(0,-Math.log(i)/Math.LN10))+3,a(\".\"+r+\"g\")(Math.pow(10,n))):(r=Math.floor(Math.log(Math.abs(n))/Math.LN10)-Math.floor(Math.log(i)/Math.LN10)+4,a(\".\"+String(r)+\"g\")(n))}(s,u),d=\"left\",g=\"middle\";if(s.fixedrange)return;v?(g=\"n\"===v?\"top\":\"bottom\",\"right\"===s.side&&(d=\"right\")):\"e\"===y&&(d=\"right\"),i._context.showAxisRangeEntryBoxes&&n.select(bt).call(c.makeEditable,{gd:i,immediate:!0,background:i._fullLayout.paper_bgcolor,text:String(h),fill:s.tickfont?s.tickfont.color:\"#444\",horizontalAlign:d,verticalAlign:g}).on(\"edit\",(function(t){var e=s.d2r(t);void 0!==e&&l.call(\"_guiRelayout\",i,f,e)}))}}}function zt(e,r){if(t._transitioningWithDuration)return!1;var n=Math.max(0,Math.min(tt,pt*e+_t)),i=Math.max(0,Math.min(et,dt*r+wt)),a=Math.abs(n-_t),o=Math.abs(i-wt);function s(){St=\"\",Tt.r=Tt.l,Tt.t=Tt.b,Lt.attr(\"d\",\"M0,0Z\")}if(Tt.l=Math.min(_t,n),Tt.r=Math.max(_t,n),Tt.t=Math.min(wt,i),Tt.b=Math.max(wt,i),rt.isSubplotConstrained)a>P||o>P?(St=\"xy\",a/tt>o/et?(o=a*et/tt,wt>i?Tt.t=wt-o:Tt.b=wt+o):(a=o*tt/et,_t>n?Tt.l=_t-a:Tt.r=_t+a),Lt.attr(\"d\",G(Tt))):s();else if(nt.isSubplotConstrained)if(a>P||o>P){St=\"xy\";var l=Math.min(Tt.l/tt,(et-Tt.b)/et),u=Math.max(Tt.r/tt,(et-Tt.t)/et);Tt.l=l*tt,Tt.r=u*tt,Tt.b=(1-l)*et,Tt.t=(1-u)*et,Lt.attr(\"d\",G(Tt))}else s();else!at||o0){var c;if(nt.isSubplotConstrained||!it&&1===at.length){for(c=0;c1&&(void 0!==a.maxallowed&&st===(a.range[0]1&&(void 0!==o.maxallowed&<===(o.range[0]b[1]-1/4096&&(e.domain=s),i.noneOrAll(t.domain,e.domain,s),\"sync\"===e.tickmode&&(e.tickmode=\"auto\")}return r(\"layer\"),e}},42568:function(t,e,r){\"use strict\";var n=r(85024);t.exports=function(t,e,r,i,a){a||(a={});var o=a.tickSuffixDflt,s=n(t);r(\"tickprefix\")&&r(\"showtickprefix\",s),r(\"ticksuffix\",o)&&r(\"showticksuffix\",s)}},96312:function(t,e,r){\"use strict\";var n=r(76808);t.exports=function(t,e,r,i){var a=e._template||{},o=e.type||a.type||\"-\";r(\"minallowed\"),r(\"maxallowed\");var s,l=r(\"range\");l||i.noInsiderange||\"log\"===o||(!(s=r(\"insiderange\"))||null!==s[0]&&null!==s[1]||(e.insiderange=!1,s=void 0),s&&(l=r(\"range\",s)));var u,c=e.getAutorangeDflt(l,i),f=r(\"autorange\",c);!l||(null!==l[0]||null!==l[1])&&(null!==l[0]&&null!==l[1]||\"reversed\"!==f&&!0!==f)&&(null===l[0]||\"min\"!==f&&\"max reversed\"!==f)&&(null===l[1]||\"max\"!==f&&\"min reversed\"!==f)||(l=void 0,delete e.range,e.autorange=!0,u=!0),u||(f=r(\"autorange\",c=e.getAutorangeDflt(l,i))),f&&(n(r,f,l),\"linear\"!==o&&\"-\"!==o||r(\"rangemode\")),e.cleanRange()}},21160:function(t,e,r){\"use strict\";var n=r(84284).FROM_BL;t.exports=function(t,e,r){void 0===r&&(r=n[t.constraintoward||\"center\"]);var i=[t.r2l(t.range[0]),t.r2l(t.range[1])],a=i[0]+(i[1]-i[0])*r;t.range=t._input.range=[t.l2r(a+(i[0]-a)*e),t.l2r(a+(i[1]-a)*e)],t.setScale()}},78344:function(t,e,r){\"use strict\";var n=r(33428),i=r(94336).E9,a=r(3400),o=a.numberFormat,s=r(38248),l=a.cleanNumber,u=a.ms2DateTime,c=a.dateTime2ms,f=a.ensureNumber,h=a.isArrayOrTypedArray,p=r(39032),d=p.FP_SAFE,v=p.BADNUM,g=p.LOG_CLIP,y=p.ONEWEEK,m=p.ONEDAY,x=p.ONEHOUR,b=p.ONEMIN,_=p.ONESEC,w=r(79811),T=r(33816),k=T.HOUR_PATTERN,A=T.WEEKDAY_PATTERN;function M(t){return Math.pow(10,t)}function S(t){return null!=t}t.exports=function(t,e){e=e||{};var r=t._id||\"x\",p=r.charAt(0);function E(e,r){if(e>0)return Math.log(e)/Math.LN10;if(e<=0&&r&&t.range&&2===t.range.length){var n=t.range[0],i=t.range[1];return.5*(n+i-2*g*Math.abs(n-i))}return v}function L(e,r,n,i){if((i||{}).msUTC&&s(e))return+e;var o=c(e,n||t.calendar);if(o===v){if(!s(e))return v;e=+e;var l=Math.floor(10*a.mod(e+.05,1)),u=Math.round(e-l/10);o=c(new Date(u))+l/10}return o}function C(e,r,n){return u(e,r,n||t.calendar)}function P(e){return t._categories[Math.round(e)]}function O(e){if(S(e)){if(void 0===t._categoriesMap&&(t._categoriesMap={}),void 0!==t._categoriesMap[e])return t._categoriesMap[e];t._categories.push(\"number\"==typeof e?String(e):e);var r=t._categories.length-1;return t._categoriesMap[e]=r,r}return v}function I(e){if(t._categoriesMap)return t._categoriesMap[e]}function z(t){var e=I(t);return void 0!==e?e:s(t)?+t:void 0}function D(t){return s(t)?+t:I(t)}function R(t,e,r){return n.round(r+e*t,2)}function F(t,e,r){return(t-r)/e}var B=function(e){return s(e)?R(e,t._m,t._b):v},N=function(e){return F(e,t._m,t._b)};if(t.rangebreaks){var j=\"y\"===p;B=function(e){if(!s(e))return v;var r=t._rangebreaks.length;if(!r)return R(e,t._m,t._b);var n=j;t.range[0]>t.range[1]&&(n=!n);for(var i=n?-1:1,a=i*e,o=0,l=0;lc)){o=a<(u+c)/2?l:l+1;break}o=l+1}var f=t._B[o]||0;return isFinite(f)?R(e,t._m2,f):0},N=function(e){var r=t._rangebreaks.length;if(!r)return F(e,t._m,t._b);for(var n=0,i=0;it._rangebreaks[i].pmax&&(n=i+1);return F(e,t._m2,t._B[n])}}t.c2l=\"log\"===t.type?E:f,t.l2c=\"log\"===t.type?M:f,t.l2p=B,t.p2l=N,t.c2p=\"log\"===t.type?function(t,e){return B(E(t,e))}:B,t.p2c=\"log\"===t.type?function(t){return M(N(t))}:N,-1!==[\"linear\",\"-\"].indexOf(t.type)?(t.d2r=t.r2d=t.d2c=t.r2c=t.d2l=t.r2l=l,t.c2d=t.c2r=t.l2d=t.l2r=f,t.d2p=t.r2p=function(e){return t.l2p(l(e))},t.p2d=t.p2r=N,t.cleanPos=f):\"log\"===t.type?(t.d2r=t.d2l=function(t,e){return E(l(t),e)},t.r2d=t.r2c=function(t){return M(l(t))},t.d2c=t.r2l=l,t.c2d=t.l2r=f,t.c2r=E,t.l2d=M,t.d2p=function(e,r){return t.l2p(t.d2r(e,r))},t.p2d=function(t){return M(N(t))},t.r2p=function(e){return t.l2p(l(e))},t.p2r=N,t.cleanPos=f):\"date\"===t.type?(t.d2r=t.r2d=a.identity,t.d2c=t.r2c=t.d2l=t.r2l=L,t.c2d=t.c2r=t.l2d=t.l2r=C,t.d2p=t.r2p=function(e,r,n){return t.l2p(L(e,0,n))},t.p2d=t.p2r=function(t,e,r){return C(N(t),e,r)},t.cleanPos=function(e){return a.cleanDate(e,v,t.calendar)}):\"category\"===t.type?(t.d2c=t.d2l=O,t.r2d=t.c2d=t.l2d=P,t.d2r=t.d2l_noadd=z,t.r2c=function(e){var r=D(e);return void 0!==r?r:t.fraction2r(.5)},t.l2r=t.c2r=f,t.r2l=D,t.d2p=function(e){return t.l2p(t.r2c(e))},t.p2d=function(t){return P(N(t))},t.r2p=t.d2p,t.p2r=N,t.cleanPos=function(t){return\"string\"==typeof t&&\"\"!==t?t:f(t)}):\"multicategory\"===t.type&&(t.r2d=t.c2d=t.l2d=P,t.d2r=t.d2l_noadd=z,t.r2c=function(e){var r=z(e);return void 0!==r?r:t.fraction2r(.5)},t.r2c_just_indices=I,t.l2r=t.c2r=f,t.r2l=z,t.d2p=function(e){return t.l2p(t.r2c(e))},t.p2d=function(t){return P(N(t))},t.r2p=t.d2p,t.p2r=N,t.cleanPos=function(t){return Array.isArray(t)||\"string\"==typeof t&&\"\"!==t?t:f(t)},t.setupMultiCategory=function(n){var i,o,s=t._traceIndices,l=t._matchGroup;if(l&&0===t._categories.length)for(var u in l)if(u!==r){var c=e[w.id2name(u)];s=s.concat(c._traceIndices)}var f=[[0,{}],[0,{}]],d=[];for(i=0;il[1]&&(i[s?0:1]=n),i[0]===i[1]){var u=t.l2r(r),c=t.l2r(n);if(void 0!==r){var f=u+1;void 0!==n&&(f=Math.min(f,c)),i[s?1:0]=f}if(void 0!==n){var h=c+1;void 0!==r&&(h=Math.max(h,u)),i[s?0:1]=h}}}},t.cleanRange=function(e,r){t._cleanRange(e,r),t.limitRange(e)},t._cleanRange=function(e,r){r||(r={}),e||(e=\"range\");var n,i,o=a.nestedProperty(t,e).get();if(i=(i=\"date\"===t.type?a.dfltRange(t.calendar):\"y\"===p?T.DFLTRANGEY:\"realaxis\"===t._name?[0,1]:r.dfltRange||T.DFLTRANGEX).slice(),\"tozero\"!==t.rangemode&&\"nonnegative\"!==t.rangemode||(i[0]=0),o&&2===o.length){var l=null===o[0],u=null===o[1];for(\"date\"!==t.type||t.autorange||(o[0]=a.cleanDate(o[0],v,t.calendar),o[1]=a.cleanDate(o[1],v,t.calendar)),n=0;n<2;n++)if(\"date\"===t.type){if(!a.isDateTime(o[n],t.calendar)){t[e]=i;break}if(t.r2l(o[0])===t.r2l(o[1])){var c=a.constrain(t.r2l(o[0]),a.MIN_MS+1e3,a.MAX_MS-1e3);o[0]=t.l2r(c-1e3),o[1]=t.l2r(c+1e3);break}}else{if(!s(o[n])){if(l||u||!s(o[1-n])){t[e]=i;break}o[n]=o[1-n]*(n?10:.1)}if(o[n]<-d?o[n]=-d:o[n]>d&&(o[n]=d),o[0]===o[1]){var f=Math.max(1,Math.abs(1e-6*o[0]));o[0]-=f,o[1]+=f}}}else a.nestedProperty(t,e).set(i)},t.setScale=function(r){var n=e._size;if(t.overlaying){var i=w.getFromId({_fullLayout:e},t.overlaying);t.domain=i.domain}var a=r&&t._r?\"_r\":\"range\",o=t.calendar;t.cleanRange(a);var s,l,u=t.r2l(t[a][0],o),c=t.r2l(t[a][1],o),f=\"y\"===p;if(f?(t._offset=n.t+(1-t.domain[1])*n.h,t._length=n.h*(t.domain[1]-t.domain[0]),t._m=t._length/(u-c),t._b=-t._m*c):(t._offset=n.l+t.domain[0]*n.w,t._length=n.w*(t.domain[1]-t.domain[0]),t._m=t._length/(c-u),t._b=-t._m*u),t._rangebreaks=[],t._lBreaks=0,t._m2=0,t._B=[],t.rangebreaks&&(t._rangebreaks=t.locateBreaks(Math.min(u,c),Math.max(u,c)),t._rangebreaks.length)){for(s=0;sc&&(h=!h),h&&t._rangebreaks.reverse();var d=h?-1:1;for(t._m2=d*t._length/(Math.abs(c-u)-t._lBreaks),t._B.push(-t._m2*(f?c:u)),s=0;si&&(i+=7,oi&&(i+=24,o=n&&o=n&&e=s.min&&(ts.max&&(s.max=n),i=!1)}i&&u.push({min:t,max:n})}};for(n=0;nr.duration?(function(){for(var r={},n=0;n rect\").call(o.setTranslate,0,0).call(o.setScale,1,1),t.plot.call(o.setTranslate,e._offset,r._offset).call(o.setScale,1,1);var n=t.plot.selectAll(\".scatterlayer .trace\");n.selectAll(\".point\").call(o.setPointGroupScale,1,1),n.selectAll(\".textpoint\").call(o.setTextPointsScale,1,1),n.call(o.hideOutsideRangePoints,t)}function g(e,r){var n=e.plotinfo,i=n.xaxis,l=n.yaxis,u=i._length,c=l._length,f=!!e.xr1,h=!!e.yr1,p=[];if(f){var d=a.simpleMap(e.xr0,i.r2l),v=a.simpleMap(e.xr1,i.r2l),g=d[1]-d[0],y=v[1]-v[0];p[0]=(d[0]*(1-r)+r*v[0]-d[0])/(d[1]-d[0])*u,p[2]=u*(1-r+r*y/g),i.range[0]=i.l2r(d[0]*(1-r)+r*v[0]),i.range[1]=i.l2r(d[1]*(1-r)+r*v[1])}else p[0]=0,p[2]=u;if(h){var m=a.simpleMap(e.yr0,l.r2l),x=a.simpleMap(e.yr1,l.r2l),b=m[1]-m[0],_=x[1]-x[0];p[1]=(m[1]*(1-r)+r*x[1]-m[1])/(m[0]-m[1])*c,p[3]=c*(1-r+r*_/b),l.range[0]=i.l2r(m[0]*(1-r)+r*x[0]),l.range[1]=l.l2r(m[1]*(1-r)+r*x[1])}else p[1]=0,p[3]=c;s.drawOne(t,i,{skipTitle:!0}),s.drawOne(t,l,{skipTitle:!0}),s.redrawComponents(t,[i._id,l._id]);var w=f?u/p[2]:1,T=h?c/p[3]:1,k=f?p[0]:0,A=h?p[1]:0,M=f?p[0]/p[2]*u:0,S=h?p[1]/p[3]*c:0,E=i._offset-M,L=l._offset-S;n.clipRect.call(o.setTranslate,k,A).call(o.setScale,1/w,1/T),n.plot.call(o.setTranslate,E,L).call(o.setScale,w,T),o.setPointGroupScale(n.zoomScalePts,1/w,1/T),o.setTextPointsScale(n.zoomScaleTxt,1/w,1/T)}s.redrawComponents(t)}},14944:function(t,e,r){\"use strict\";var n=r(24040).traceIs,i=r(52976);function a(t){return{v:\"x\",h:\"y\"}[t.orientation||\"v\"]}function o(t,e){var r=a(t),i=n(t,\"box-violin\"),o=n(t._fullInput||{},\"candlestick\");return i&&!o&&e===r&&void 0===t[r]&&void 0===t[r+\"0\"]}t.exports=function(t,e,r,s){r(\"autotypenumbers\",s.autotypenumbersDflt),\"-\"===r(\"type\",(s.splomStash||{}).type)&&(function(t,e){if(\"-\"===t.type){var r,s=t._id,l=s.charAt(0);-1!==s.indexOf(\"scene\")&&(s=l);var u=function(t,e,r){for(var n=0;n0&&(i[\"_\"+r+\"axes\"]||{})[e])return i;if((i[r+\"axis\"]||r)===e){if(o(i,r))return i;if((i[r]||[]).length||i[r+\"0\"])return i}}}(e,s,l);if(u)if(\"histogram\"!==u.type||l!=={v:\"y\",h:\"x\"}[u.orientation||\"v\"]){var c=l+\"calendar\",f=u[c],h={noMultiCategory:!n(u,\"cartesian\")||n(u,\"noMultiCategory\")};if(\"box\"===u.type&&u._hasPreCompStats&&l==={h:\"x\",v:\"y\"}[u.orientation||\"v\"]&&(h.noMultiCategory=!0),h.autotypenumbers=t.autotypenumbers,o(u,l)){var p=a(u),d=[];for(r=0;r0?\".\":\"\")+a;i.isPlainObject(o)?l(o,e,s,n+1):e(s,a,o)}}))}e.manageCommandObserver=function(t,r,n,o){var s={},l=!0;r&&r._commandObserver&&(s=r._commandObserver),s.cache||(s.cache={}),s.lookupTable={};var u=e.hasSimpleAPICommandBindings(t,n,s.lookupTable);if(r&&r._commandObserver){if(u)return s;if(r._commandObserver.remove)return r._commandObserver.remove(),r._commandObserver=null,s}if(u){a(t,u,s.cache),s.check=function(){if(l){var e=a(t,u,s.cache);return e.changed&&o&&void 0!==s.lookupTable[e.value]&&(s.disable(),Promise.resolve(o({value:e.value,type:u.type,prop:u.prop,traces:u.traces,index:s.lookupTable[e.value]})).then(s.enable,s.enable)),e.changed}};for(var c=[\"plotly_relayout\",\"plotly_redraw\",\"plotly_restyle\",\"plotly_update\",\"plotly_animatingframe\",\"plotly_afterplot\"],f=0;f0&&i<0&&(i+=360);var s=(i-n)/4;return{type:\"Polygon\",coordinates:[[[n,a],[n,o],[n+s,o],[n+2*s,o],[n+3*s,o],[i,o],[i,a],[i-s,a],[i-2*s,a],[i-3*s,a],[n,a]]]}}t.exports=function(t){return new M(t)},S.plot=function(t,e,r,n){var i=this;if(n)return i.update(t,e,!0);i._geoCalcData=t,i._fullLayout=e;var a=e[this.id],o=[],s=!1;for(var l in w.layerNameToAdjective)if(\"frame\"!==l&&a[\"show\"+l]){s=!0;break}for(var u=!1,c=0;c0&&o._module.calcGeoJSON(a,e)}if(!r){if(this.updateProjection(t,e))return;this.viewInitial&&this.scope===n.scope||this.saveViewInitial(n)}this.scope=n.scope,this.updateBaseLayers(e,n),this.updateDims(e,n),this.updateFx(e,n),d.generalUpdatePerTraceModule(this.graphDiv,this,t,n);var s=this.layers.frontplot.select(\".scatterlayer\");this.dataPoints.point=s.selectAll(\".point\"),this.dataPoints.text=s.selectAll(\"text\"),this.dataPaths.line=s.selectAll(\".js-line\");var l=this.layers.backplot.select(\".choroplethlayer\");this.dataPaths.choropleth=l.selectAll(\"path\"),this._render()},S.updateProjection=function(t,e){var r=this.graphDiv,n=e[this.id],l=e._size,c=n.domain,f=n.projection,h=n.lonaxis,p=n.lataxis,d=h._ax,v=p._ax,y=this.projection=function(t){var e=t.projection,r=e.type,n=w.projNames[r];n=\"geo\"+u.titleCase(n);for(var l=(i[n]||s[n])(),c=t._isSatellite?180*Math.acos(1/e.distance)/Math.PI:t._isClipped?w.lonaxisSpan[r]/2:null,f=[\"center\",\"rotate\",\"parallels\",\"clipExtent\"],h=function(t){return t?l:[]},p=0;pc*Math.PI/180}return!1},l.getPath=function(){return a().projection(l)},l.getBounds=function(t){return l.getPath().bounds(t)},l.precision(w.precision),t._isSatellite&&l.tilt(e.tilt).distance(e.distance),c&&l.clipAngle(c-w.clipPad),l}(n),m=[[l.l+l.w*c.x[0],l.t+l.h*(1-c.y[1])],[l.l+l.w*c.x[1],l.t+l.h*(1-c.y[0])]],x=n.center||{},b=f.rotation||{},_=h.range||[],T=p.range||[];if(n.fitbounds){d._length=m[1][0]-m[0][0],v._length=m[1][1]-m[0][1],d.range=g(r,d),v.range=g(r,v);var k=(d.range[0]+d.range[1])/2,A=(v.range[0]+v.range[1])/2;if(n._isScoped)x={lon:k,lat:A};else if(n._isClipped){x={lon:k,lat:A},b={lon:k,lat:A,roll:b.roll};var M=f.type,S=w.lonaxisSpan[M]/2||180,L=w.lataxisSpan[M]/2||90;_=[k-S,k+S],T=[A-L,A+L]}else x={lon:k,lat:A},b={lon:k,lat:b.lat,roll:b.roll}}y.center([x.lon-b.lon,x.lat-b.lat]).rotate([-b.lon,-b.lat,b.roll]).parallels(f.parallels);var C=E(_,T);y.fitExtent(m,C);var P=this.bounds=y.getBounds(C),O=this.fitScale=y.scale(),I=y.translate();if(n.fitbounds){var z=y.getBounds(E(d.range,v.range)),D=Math.min((P[1][0]-P[0][0])/(z[1][0]-z[0][0]),(P[1][1]-P[0][1])/(z[1][1]-z[0][1]));isFinite(D)?y.scale(D*O):u.warn(\"Something went wrong during\"+this.id+\"fitbounds computations.\")}else y.scale(f.scale*O);var R=this.midPt=[(P[0][0]+P[1][0])/2,(P[0][1]+P[1][1])/2];if(y.translate([I[0]+(R[0]-I[0]),I[1]+(R[1]-I[1])]).clipExtent(P),n._isAlbersUsa){var F=y([x.lon,x.lat]),B=y.translate();y.translate([B[0]-(F[0]-B[0]),B[1]-(F[1]-B[1])])}},S.updateBaseLayers=function(t,e){var r=this,i=r.topojson,a=r.layers,o=r.basePaths;function s(t){return\"lonaxis\"===t||\"lataxis\"===t}function l(t){return Boolean(w.lineLayers[t])}function u(t){return Boolean(w.fillLayers[t])}var c=(this.hasChoropleth?w.layersForChoropleth:w.layers).filter((function(t){return l(t)||u(t)?e[\"show\"+t]:!s(t)||e[t].showgrid})),p=r.framework.selectAll(\".layer\").data(c,String);p.exit().each((function(t){delete a[t],delete o[t],n.select(this).remove()})),p.enter().append(\"g\").attr(\"class\",(function(t){return\"layer \"+t})).each((function(t){var e=a[t]=n.select(this);\"bg\"===t?r.bgRect=e.append(\"rect\").style(\"pointer-events\",\"all\"):s(t)?o[t]=e.append(\"path\").style(\"fill\",\"none\"):\"backplot\"===t?e.append(\"g\").classed(\"choroplethlayer\",!0):\"frontplot\"===t?e.append(\"g\").classed(\"scatterlayer\",!0):l(t)?o[t]=e.append(\"path\").style(\"fill\",\"none\").style(\"stroke-miterlimit\",2):u(t)&&(o[t]=e.append(\"path\").style(\"stroke\",\"none\"))})),p.order(),p.each((function(r){var n=o[r],a=w.layerNameToAdjective[r];\"frame\"===r?n.datum(w.sphereSVG):l(r)||u(r)?n.datum(A(i,i.objects[r])):s(r)&&n.datum(function(t,e,r){var n,i,a,o=e[t],s=w.scopeDefaults[e.scope];\"lonaxis\"===t?(n=s.lonaxisRange,i=s.lataxisRange,a=function(t,e){return[t,e]}):\"lataxis\"===t&&(n=s.lataxisRange,i=s.lonaxisRange,a=function(t,e){return[e,t]});var l={type:\"linear\",range:[n[0],n[1]-1e-6],tick0:o.tick0,dtick:o.dtick};v.setConvert(l,r);var u=v.calcTicks(l);e.isScoped||\"lonaxis\"!==t||u.pop();for(var c=u.length,f=new Array(c),h=0;h-1&&b(n.event,i,[r.xaxis],[r.yaxis],r.id,c),s.indexOf(\"event\")>-1&&p.click(i,n.event))}))}function f(t){return r.projection.invert([t[0]+r.xaxis._offset,t[1]+r.yaxis._offset])}},S.makeFramework=function(){var t=this,e=t.graphDiv,r=e._fullLayout,i=\"clip\"+r._uid+t.id;t.clipDef=r._clips.append(\"clipPath\").attr(\"id\",i),t.clipRect=t.clipDef.append(\"rect\"),t.framework=n.select(t.container).append(\"g\").attr(\"class\",\"geo \"+t.id).call(h.setClipUrl,i,e),t.project=function(e){var r=t.projection(e);return r?[r[0]-t.xaxis._offset,r[1]-t.yaxis._offset]:[null,null]},t.xaxis={_id:\"x\",c2p:function(e){return t.project(e)[0]}},t.yaxis={_id:\"y\",c2p:function(e){return t.project(e)[1]}},t.mockAxis={type:\"linear\",showexponent:\"all\",exponentformat:\"B\"},v.setConvert(t.mockAxis,r)},S.saveViewInitial=function(t){var e,r=t.center||{},n=t.projection,i=n.rotation||{};this.viewInitial={fitbounds:t.fitbounds,\"projection.scale\":n.scale},e=t._isScoped?{\"center.lon\":r.lon,\"center.lat\":r.lat}:t._isClipped?{\"projection.rotation.lon\":i.lon,\"projection.rotation.lat\":i.lat}:{\"center.lon\":r.lon,\"center.lat\":r.lat,\"projection.rotation.lon\":i.lon},u.extendFlat(this.viewInitial,e)},S.render=function(t){this._hasMarkerAngles&&t?this.plot(this._geoCalcData,this._fullLayout,[],!0):this._render()},S._render=function(){var t,e=this.projection,r=e.getPath();function n(t){var r=e(t.lonlat);return r?c(r[0],r[1]):null}function i(t){return e.isLonLatOverEdges(t.lonlat)?\"none\":null}for(t in this.basePaths)this.basePaths[t].attr(\"d\",r);for(t in this.dataPaths)this.dataPaths[t].attr(\"d\",(function(t){return r(t.geojson)}));for(t in this.dataPoints)this.dataPoints[t].attr(\"display\",i).attr(\"transform\",n)}},10816:function(t,e,r){\"use strict\";var n=r(84888).KY,i=r(3400).counterRegex,a=r(43520),o=\"geo\",s=i(o),l={};l[o]={valType:\"subplotid\",dflt:o,editType:\"calc\"},t.exports={attr:o,name:o,idRoot:o,idRegex:s,attrRegex:s,attributes:l,layoutAttributes:r(40384),supplyLayoutDefaults:r(86920),plot:function(t){for(var e=t._fullLayout,r=t.calcdata,i=e._subplots[o],s=0;s0&&P<0&&(P+=360);var O,I,z,D=(C+P)/2;if(!p){var R=d?f.projRotate:[D,0,0];O=r(\"projection.rotation.lon\",R[0]),r(\"projection.rotation.lat\",R[1]),r(\"projection.rotation.roll\",R[2]),r(\"showcoastlines\",!d&&x)&&(r(\"coastlinecolor\"),r(\"coastlinewidth\")),r(\"showocean\",!!x&&void 0)&&r(\"oceancolor\")}p?(I=-96.6,z=38.7):(I=d?D:O,z=(L[0]+L[1])/2),r(\"center.lon\",I),r(\"center.lat\",z),v&&(r(\"projection.tilt\"),r(\"projection.distance\")),g&&r(\"projection.parallels\",f.projParallels||[0,60]),r(\"projection.scale\"),r(\"showland\",!!x&&void 0)&&r(\"landcolor\"),r(\"showlakes\",!!x&&void 0)&&r(\"lakecolor\"),r(\"showrivers\",!!x&&void 0)&&(r(\"rivercolor\"),r(\"riverwidth\")),r(\"showcountries\",d&&\"usa\"!==c&&x)&&(r(\"countrycolor\"),r(\"countrywidth\")),(\"usa\"===c||\"north america\"===c&&50===u)&&(r(\"showsubunits\",x),r(\"subunitcolor\"),r(\"subunitwidth\")),d||r(\"showframe\",x)&&(r(\"framecolor\"),r(\"framewidth\")),r(\"bgcolor\"),r(\"fitbounds\")&&(delete e.projection.scale,d?(delete e.center.lon,delete e.center.lat):y?(delete e.center.lon,delete e.center.lat,delete e.projection.rotation.lon,delete e.projection.rotation.lat,delete e.lonaxis.range,delete e.lataxis.range):(delete e.center.lon,delete e.center.lat,delete e.projection.rotation.lon))}t.exports=function(t,e,r){i(t,e,r,{type:\"geo\",attributes:s,handleDefaults:u,fullData:r,partition:\"y\"})}},79248:function(t,e,r){\"use strict\";var n=r(33428),i=r(3400),a=r(24040),o=Math.PI/180,s=180/Math.PI,l={cursor:\"pointer\"},u={cursor:\"auto\"};function c(t,e){return n.behavior.zoom().translate(e.translate()).scale(e.scale())}function f(t,e,r){var n=t.id,o=t.graphDiv,s=o.layout,l=s[n],u=o._fullLayout,c=u[n],f={},h={};function p(t,e){f[n+\".\"+t]=i.nestedProperty(l,t).get(),a.call(\"_storeDirectGUIEdit\",s,u._preGUI,f);var r=i.nestedProperty(c,t);r.get()!==e&&(r.set(e),i.nestedProperty(l,t).set(e),h[n+\".\"+t]=e)}r(p),p(\"projection.scale\",e.scale()/t.fitScale),p(\"fitbounds\",!1),o.emit(\"plotly_relayout\",h)}function h(t,e){var r=c(0,e);function i(r){var n=e.invert(t.midPt);r(\"center.lon\",n[0]),r(\"center.lat\",n[1])}return r.on(\"zoomstart\",(function(){n.select(this).style(l)})).on(\"zoom\",(function(){e.scale(n.event.scale).translate(n.event.translate),t.render(!0);var r=e.invert(t.midPt);t.graphDiv.emit(\"plotly_relayouting\",{\"geo.projection.scale\":e.scale()/t.fitScale,\"geo.center.lon\":r[0],\"geo.center.lat\":r[1]})})).on(\"zoomend\",(function(){n.select(this).style(u),f(t,e,i)})),r}function p(t,e){var r,i,a,o,s,h,p,d,v,g=c(0,e);function y(t){return e.invert(t)}function m(r){var n=e.rotate(),i=e.invert(t.midPt);r(\"projection.rotation.lon\",-n[0]),r(\"center.lon\",i[0]),r(\"center.lat\",i[1])}return g.on(\"zoomstart\",(function(){n.select(this).style(l),r=n.mouse(this),i=e.rotate(),a=e.translate(),o=i,s=y(r)})).on(\"zoom\",(function(){if(h=n.mouse(this),function(t){var r=y(t);if(!r)return!0;var n=e(r);return Math.abs(n[0]-t[0])>2||Math.abs(n[1]-t[1])>2}(r))return g.scale(e.scale()),void g.translate(e.translate());e.scale(n.event.scale),e.translate([a[0],n.event.translate[1]]),s?y(h)&&(d=y(h),p=[o[0]+(d[0]-s[0]),i[1],i[2]],e.rotate(p),o=p):s=y(r=h),v=!0,t.render(!0);var l=e.rotate(),u=e.invert(t.midPt);t.graphDiv.emit(\"plotly_relayouting\",{\"geo.projection.scale\":e.scale()/t.fitScale,\"geo.center.lon\":u[0],\"geo.center.lat\":u[1],\"geo.projection.rotation.lon\":-l[0]})})).on(\"zoomend\",(function(){n.select(this).style(u),v&&f(t,e,m)})),g}function d(t,e){var r,i={r:e.rotate(),k:e.scale()},a=c(0,e),h=function(t){for(var e=0,r=arguments.length,i=[];++ed?(a=(f>0?90:-90)-p,i=0):(a=Math.asin(f/d)*s-p,i=Math.sqrt(d*d-f*f));var v=180-a-2*p,y=(Math.atan2(h,c)-Math.atan2(u,i))*s,x=(Math.atan2(h,c)-Math.atan2(u,-i))*s;return g(r[0],r[1],a,y)<=g(r[0],r[1],v,x)?[a,y,r[2]]:[v,x,r[2]]}(T,r,E);isFinite(k[0])&&isFinite(k[1])&&isFinite(k[2])||(k=E),e.rotate(k),E=k}}else r=v(e,M=b);h.of(this,arguments)({type:\"zoom\"})})),A=h.of(this,arguments),p++||A({type:\"zoomstart\"})})).on(\"zoomend\",(function(){var r;n.select(this).style(u),d.call(a,\"zoom\",null),r=h.of(this,arguments),--p||r({type:\"zoomend\"}),f(t,e,y)})).on(\"zoom.redraw\",(function(){t.render(!0);var r=e.rotate();t.graphDiv.emit(\"plotly_relayouting\",{\"geo.projection.scale\":e.scale()/t.fitScale,\"geo.projection.rotation.lon\":-r[0],\"geo.projection.rotation.lat\":-r[1]})})),n.rebind(a,h,\"on\")}function v(t,e){var r=t.invert(e);return r&&isFinite(r[0])&&isFinite(r[1])&&function(t){var e=t[0]*o,r=t[1]*o,n=Math.cos(r);return[n*Math.cos(e),n*Math.sin(e),Math.sin(r)]}(r)}function g(t,e,r,n){var i=y(r-t),a=y(n-e);return Math.sqrt(i*i+a*a)}function y(t){return(t%360+540)%360-180}function m(t,e,r){var n=r*o,i=t.slice(),a=0===e?1:0,s=2===e?1:2,l=Math.cos(n),u=Math.sin(n);return i[a]=t[a]*l-t[s]*u,i[s]=t[s]*l+t[a]*u,i}function x(t,e){for(var r=0,n=0,i=t.length;nMath.abs(s)?(u.boxEnd[1]=u.boxStart[1]+Math.abs(a)*_*(s>=0?1:-1),u.boxEnd[1]l[3]&&(u.boxEnd[1]=l[3],u.boxEnd[0]=u.boxStart[0]+(l[3]-u.boxStart[1])/Math.abs(_))):(u.boxEnd[0]=u.boxStart[0]+Math.abs(s)/_*(a>=0?1:-1),u.boxEnd[0]l[2]&&(u.boxEnd[0]=l[2],u.boxEnd[1]=u.boxStart[1]+(l[2]-u.boxStart[0])*Math.abs(_)))}}else u.boxEnabled?(a=u.boxStart[0]!==u.boxEnd[0],s=u.boxStart[1]!==u.boxEnd[1],a||s?(a&&(g(0,u.boxStart[0],u.boxEnd[0]),t.xaxis.autorange=!1),s&&(g(1,u.boxStart[1],u.boxEnd[1]),t.yaxis.autorange=!1),t.relayoutCallback()):t.glplot.setDirty(),u.boxEnabled=!1,u.boxInited=!1):u.boxInited&&(u.boxInited=!1);break;case\"pan\":u.boxEnabled=!1,u.boxInited=!1,e?(u.panning||(u.dragStart[0]=n,u.dragStart[1]=i),Math.abs(u.dragStart[0]-n).999&&(g=\"turntable\"):g=\"turntable\")}else g=\"turntable\";r(\"dragmode\",g),r(\"hovermode\",n.getDfltFromLayout(\"hovermode\"))}t.exports=function(t,e,r){var i=e._basePlotModules.length>1;o(t,e,r,{type:c,attributes:l,handleDefaults:f,fullLayout:e,font:e.font,fullData:r,getDfltFromLayout:function(e){if(!i)return n.validate(t[e],l[e])?t[e]:void 0},autotypenumbersDflt:e.autotypenumbers,paper_bgcolor:e.paper_bgcolor,calendar:e.calendar})}},346:function(t,e,r){\"use strict\";var n=r(86140),i=r(86968).u,a=r(92880).extendFlat,o=r(3400).counterRegex;function s(t,e,r){return{x:{valType:\"number\",dflt:t,editType:\"camera\"},y:{valType:\"number\",dflt:e,editType:\"camera\"},z:{valType:\"number\",dflt:r,editType:\"camera\"},editType:\"camera\"}}t.exports={_arrayAttrRegexps:[o(\"scene\",\".annotations\",!0)],bgcolor:{valType:\"color\",dflt:\"rgba(0,0,0,0)\",editType:\"plot\"},camera:{up:a(s(0,0,1),{}),center:a(s(0,0,0),{}),eye:a(s(1.25,1.25,1.25),{}),projection:{type:{valType:\"enumerated\",values:[\"perspective\",\"orthographic\"],dflt:\"perspective\",editType:\"calc\"},editType:\"calc\"},editType:\"camera\"},domain:i({name:\"scene\",editType:\"plot\"}),aspectmode:{valType:\"enumerated\",values:[\"auto\",\"cube\",\"data\",\"manual\"],dflt:\"auto\",editType:\"plot\",impliedEdits:{\"aspectratio.x\":void 0,\"aspectratio.y\":void 0,\"aspectratio.z\":void 0}},aspectratio:{x:{valType:\"number\",min:0,editType:\"plot\",impliedEdits:{\"^aspectmode\":\"manual\"}},y:{valType:\"number\",min:0,editType:\"plot\",impliedEdits:{\"^aspectmode\":\"manual\"}},z:{valType:\"number\",min:0,editType:\"plot\",impliedEdits:{\"^aspectmode\":\"manual\"}},editType:\"plot\",impliedEdits:{aspectmode:\"manual\"}},xaxis:n,yaxis:n,zaxis:n,dragmode:{valType:\"enumerated\",values:[\"orbit\",\"turntable\",\"zoom\",\"pan\",!1],editType:\"plot\"},hovermode:{valType:\"enumerated\",values:[\"closest\",!1],dflt:\"closest\",editType:\"modebar\"},uirevision:{valType:\"any\",editType:\"none\"},editType:\"plot\",_deprecated:{cameraposition:{valType:\"info_array\",editType:\"camera\"}}}},9020:function(t,e,r){\"use strict\";var n=r(43080),i=[\"xaxis\",\"yaxis\",\"zaxis\"];function a(){this.enabled=[!0,!0,!0],this.colors=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.drawSides=[!0,!0,!0],this.lineWidth=[1,1,1]}a.prototype.merge=function(t){for(var e=0;e<3;++e){var r=t[i[e]];r.visible?(this.enabled[e]=r.showspikes,this.colors[e]=n(r.spikecolor),this.drawSides[e]=r.spikesides,this.lineWidth[e]=r.spikethickness):(this.enabled[e]=!1,this.drawSides[e]=!1)}},t.exports=function(t){var e=new a;return e.merge(t),e}},87152:function(t,e,r){\"use strict\";t.exports=function(t){for(var e=t.axesOptions,r=t.glplot.axesPixels,s=t.fullSceneLayout,l=[[],[],[]],u=0;u<3;++u){var c=s[a[u]];if(c._length=(r[u].hi-r[u].lo)*r[u].pixelsPerDataUnit/t.dataScale[u],Math.abs(c._length)===1/0||isNaN(c._length))l[u]=[];else{c._input_range=c.range.slice(),c.range[0]=r[u].lo/t.dataScale[u],c.range[1]=r[u].hi/t.dataScale[u],c._m=1/(t.dataScale[u]*r[u].pixelsPerDataUnit),c.range[0]===c.range[1]&&(c.range[0]-=1,c.range[1]+=1);var f=c.tickmode;if(\"auto\"===c.tickmode){c.tickmode=\"linear\";var h=c.nticks||i.constrain(c._length/40,4,9);n.autoTicks(c,Math.abs(c.range[1]-c.range[0])/h)}for(var p=n.calcTicks(c,{msUTC:!0}),d=0;d/g,\" \"));l[u]=p,c.tickmode=f}}for(e.ticks=l,u=0;u<3;++u)for(o[u]=.5*(t.glplot.bounds[0][u]+t.glplot.bounds[1][u]),d=0;d<2;++d)e.bounds[d][u]=t.glplot.bounds[d][u];t.contourLevels=function(t){for(var e=new Array(3),r=0;r<3;++r){for(var n=t[r],i=new Array(n.length),a=0;ar.deltaY?1.1:1/1.1,a=t.glplot.getAspectratio();t.glplot.setAspectratio({x:n*a.x,y:n*a.y,z:n*a.z})}i(t)}}),!!u&&{passive:!1}),t.glplot.canvas.addEventListener(\"mousemove\",(function(){if(!1!==t.fullSceneLayout.dragmode&&0!==t.camera.mouseListener.buttons){var e=n();t.graphDiv.emit(\"plotly_relayouting\",e)}})),t.staticMode||t.glplot.canvas.addEventListener(\"webglcontextlost\",(function(r){e&&e.emit&&e.emit(\"plotly_webglcontextlost\",{event:r,layer:t.id})}),!1)),t.glplot.oncontextloss=function(){t.recoverContext()},t.glplot.onrender=function(){t.render()},!0},k.render=function(){var t,e=this,r=e.graphDiv,n=e.svgContainer,i=e.container.getBoundingClientRect();r._fullLayout._calcInverseTransform(r);var a=r._fullLayout._invScaleX,o=r._fullLayout._invScaleY,s=i.width*a,l=i.height*o;n.setAttributeNS(null,\"viewBox\",\"0 0 \"+s+\" \"+l),n.setAttributeNS(null,\"width\",s),n.setAttributeNS(null,\"height\",l),b(e),e.glplot.axes.update(e.axesOptions);for(var u=Object.keys(e.traces),c=null,h=e.glplot.selection,v=0;v\")):\"isosurface\"===t.type||\"volume\"===t.type?(k.valueLabel=p.hoverLabelText(e._mockAxis,e._mockAxis.d2l(h.traceCoordinate[3]),t.valuehoverformat),E.push(\"value: \"+k.valueLabel),h.textLabel&&E.push(h.textLabel),x=E.join(\"
\")):x=h.textLabel;var L={x:h.traceCoordinate[0],y:h.traceCoordinate[1],z:h.traceCoordinate[2],data:_._input,fullData:_,curveNumber:_.index,pointNumber:T};d.appendArrayPointValue(L,_,T),t._module.eventData&&(L=_._module.eventData(L,h,_,{},T));var C={points:[L]};if(e.fullSceneLayout.hovermode){var P=[];d.loneHover({trace:_,x:(.5+.5*m[0]/m[3])*s,y:(.5-.5*m[1]/m[3])*l,xLabel:k.xLabel,yLabel:k.yLabel,zLabel:k.zLabel,text:x,name:c.name,color:d.castHoverOption(_,T,\"bgcolor\")||c.color,borderColor:d.castHoverOption(_,T,\"bordercolor\"),fontFamily:d.castHoverOption(_,T,\"font.family\"),fontSize:d.castHoverOption(_,T,\"font.size\"),fontColor:d.castHoverOption(_,T,\"font.color\"),nameLength:d.castHoverOption(_,T,\"namelength\"),textAlign:d.castHoverOption(_,T,\"align\"),hovertemplate:f.castOption(_,T,\"hovertemplate\"),hovertemplateLabels:f.extendFlat({},L,k),eventData:[L]},{container:n,gd:r,inOut_bbox:P}),L.bbox=P[0]}h.distance<5&&(h.buttons||w)?r.emit(\"plotly_click\",C):r.emit(\"plotly_hover\",C),this.oldEventData=C}else d.loneUnhover(n),this.oldEventData&&r.emit(\"plotly_unhover\",this.oldEventData),this.oldEventData=void 0;e.drawAnnotations(e)},k.recoverContext=function(){var t=this;t.glplot.dispose();var e=function(){t.glplot.gl.isContextLost()?requestAnimationFrame(e):t.initializeGLPlot()?t.plot.apply(t,t.plotArgs):f.error(\"Catastrophic and unrecoverable WebGL error. Context lost.\")};requestAnimationFrame(e)};var M=[\"xaxis\",\"yaxis\",\"zaxis\"];function S(t,e,r){for(var n=t.fullSceneLayout,i=0;i<3;i++){var a=M[i],o=a.charAt(0),s=n[a],l=e[o],u=e[o+\"calendar\"],c=e[\"_\"+o+\"length\"];if(f.isArrayOrTypedArray(l))for(var h,p=0;p<(c||l.length);p++)if(f.isArrayOrTypedArray(l[p]))for(var d=0;dy[1][o])y[0][o]=-1,y[1][o]=1;else{var O=y[1][o]-y[0][o];y[0][o]-=O/32,y[1][o]+=O/32}if(b=[y[0][o],y[1][o]],b=_(b,l),y[0][o]=b[0],y[1][o]=b[1],l.isReversed()){var I=y[0][o];y[0][o]=y[1][o],y[1][o]=I}}else b=l.range,y[0][o]=l.r2l(b[0]),y[1][o]=l.r2l(b[1]);y[0][o]===y[1][o]&&(y[0][o]-=1,y[1][o]+=1),m[o]=y[1][o]-y[0][o],l.range=[y[0][o],y[1][o]],l.limitRange(),n.glplot.setBounds(o,{min:l.range[0]*p[o],max:l.range[1]*p[o]})}var z=c.aspectmode;if(\"cube\"===z)g=[1,1,1];else if(\"manual\"===z){var D=c.aspectratio;g=[D.x,D.y,D.z]}else{if(\"auto\"!==z&&\"data\"!==z)throw new Error(\"scene.js aspectRatio was not one of the enumerated types\");var R=[1,1,1];for(o=0;o<3;++o){var F=x[u=(l=c[M[o]]).type];R[o]=Math.pow(F.acc,1/F.count)/p[o]}g=\"data\"===z||Math.max.apply(null,R)/Math.min.apply(null,R)<=4?R:[1,1,1]}c.aspectratio.x=f.aspectratio.x=g[0],c.aspectratio.y=f.aspectratio.y=g[1],c.aspectratio.z=f.aspectratio.z=g[2],n.glplot.setAspectratio(c.aspectratio),n.viewInitial.aspectratio||(n.viewInitial.aspectratio={x:c.aspectratio.x,y:c.aspectratio.y,z:c.aspectratio.z}),n.viewInitial.aspectmode||(n.viewInitial.aspectmode=c.aspectmode);var B=c.domain||null,N=e._size||null;if(B&&N){var j=n.container.style;j.position=\"absolute\",j.left=N.l+B.x[0]*N.w+\"px\",j.top=N.t+(1-B.y[1])*N.h+\"px\",j.width=N.w*(B.x[1]-B.x[0])+\"px\",j.height=N.h*(B.y[1]-B.y[0])+\"px\"}n.glplot.redraw()}},k.destroy=function(){var t=this;t.glplot&&(t.camera.mouseListener.enabled=!1,t.container.removeEventListener(\"wheel\",t.camera.wheelListener),t.camera=null,t.glplot.dispose(),t.container.parentNode.removeChild(t.container),t.glplot=null)},k.getCamera=function(){var t,e=this;return e.camera.view.recalcMatrix(e.camera.view.lastT()),{up:{x:(t=e.camera).up[0],y:t.up[1],z:t.up[2]},center:{x:t.center[0],y:t.center[1],z:t.center[2]},eye:{x:t.eye[0],y:t.eye[1],z:t.eye[2]},projection:{type:!0===t._ortho?\"orthographic\":\"perspective\"}}},k.setViewport=function(t){var e,r=this,n=t.camera;r.camera.lookAt.apply(this,[[(e=n).eye.x,e.eye.y,e.eye.z],[e.center.x,e.center.y,e.center.z],[e.up.x,e.up.y,e.up.z]]),r.glplot.setAspectratio(t.aspectratio),\"orthographic\"===n.projection.type!==r.camera._ortho&&(r.glplot.redraw(),r.glplot.clearRGBA(),r.glplot.dispose(),r.initializeGLPlot())},k.isCameraChanged=function(t){var e=this.getCamera(),r=f.nestedProperty(t,this.id+\".camera\").get();function n(t,e,r,n){var i=[\"up\",\"center\",\"eye\"],a=[\"x\",\"y\",\"z\"];return e[i[r]]&&t[i[r]][a[n]]===e[i[r]][a[n]]}var i=!1;if(void 0===r)i=!0;else{for(var a=0;a<3;a++)for(var o=0;o<3;o++)if(!n(e,r,a,o)){i=!0;break}(!r.projection||e.projection&&e.projection.type!==r.projection.type)&&(i=!0)}return i},k.isAspectChanged=function(t){var e=this.glplot.getAspectratio(),r=f.nestedProperty(t,this.id+\".aspectratio\").get();return void 0===r||r.x!==e.x||r.y!==e.y||r.z!==e.z},k.saveLayout=function(t){var e,r,n,i,a,o,s=this,l=s.fullLayout,u=s.isCameraChanged(t),h=s.isAspectChanged(t),p=u||h;if(p){var d={};u&&(e=s.getCamera(),n=(r=f.nestedProperty(t,s.id+\".camera\")).get(),d[s.id+\".camera\"]=n),h&&(i=s.glplot.getAspectratio(),o=(a=f.nestedProperty(t,s.id+\".aspectratio\")).get(),d[s.id+\".aspectratio\"]=o),c.call(\"_storeDirectGUIEdit\",t,l._preGUI,d),u&&(r.set(e),f.nestedProperty(l,s.id+\".camera\").set(e)),h&&(a.set(i),f.nestedProperty(l,s.id+\".aspectratio\").set(i),s.glplot.redraw())}return p},k.updateFx=function(t,e){var r=this,n=r.camera;if(n)if(\"orbit\"===t)n.mode=\"orbit\",n.keyBindingMode=\"rotate\";else if(\"turntable\"===t){n.up=[0,0,1],n.mode=\"turntable\",n.keyBindingMode=\"rotate\";var i=r.graphDiv,a=i._fullLayout,o=r.fullSceneLayout.camera,s=o.up.x,l=o.up.y,u=o.up.z;if(u/Math.sqrt(s*s+l*l+u*u)<.999){var h=r.id+\".camera.up\",p={x:0,y:0,z:1},d={};d[h]=p;var v=i.layout;c.call(\"_storeDirectGUIEdit\",v,a._preGUI,d),o.up=p,f.nestedProperty(v,h).set(p)}}else n.keyBindingMode=t;r.fullSceneLayout.hovermode=e},k.toImage=function(t){var e=this;t||(t=\"png\"),e.staticMode&&e.container.appendChild(n),e.glplot.redraw();var r=e.glplot.gl,i=r.drawingBufferWidth,a=r.drawingBufferHeight;r.bindFramebuffer(r.FRAMEBUFFER,null);var o=new Uint8Array(i*a*4);r.readPixels(0,0,i,a,r.RGBA,r.UNSIGNED_BYTE,o),function(t,e,r){for(var n=0,i=r-1;n0)for(var s=255/o,l=0;l<3;++l)t[a+l]=Math.min(s*t[a+l],255)}}(o,i,a);var s=document.createElement(\"canvas\");s.width=i,s.height=a;var l,u=s.getContext(\"2d\",{willReadFrequently:!0}),c=u.createImageData(i,a);switch(c.data.set(o),u.putImageData(c,0,0),t){case\"jpeg\":l=s.toDataURL(\"image/jpeg\");break;case\"webp\":l=s.toDataURL(\"image/webp\");break;default:l=s.toDataURL(\"image/png\")}return e.staticMode&&e.container.removeChild(n),l},k.setConvert=function(){for(var t=0;t<3;t++){var e=this.fullSceneLayout[M[t]];p.setConvert(e,this.fullLayout),e.setScale=f.noop}},k.make4thDimension=function(){var t=this,e=t.graphDiv._fullLayout;t._mockAxis={type:\"linear\",showexponent:\"all\",exponentformat:\"B\"},p.setConvert(t._mockAxis,e)},t.exports=T},52094:function(t){\"use strict\";t.exports=function(t,e,r,n){n=n||t.length;for(var i=new Array(n),a=0;aOpenStreetMap contributors',o=['© Carto',a].join(\" \"),s=['Map tiles by Stamen Design','under CC BY 3.0',\"|\",'Data by OpenStreetMap contributors','under ODbL'].join(\" \"),l={\"open-street-map\":{id:\"osm\",version:8,sources:{\"plotly-osm-tiles\":{type:\"raster\",attribution:a,tiles:[\"https://a.tile.openstreetmap.org/{z}/{x}/{y}.png\",\"https://b.tile.openstreetmap.org/{z}/{x}/{y}.png\"],tileSize:256}},layers:[{id:\"plotly-osm-tiles\",type:\"raster\",source:\"plotly-osm-tiles\",minzoom:0,maxzoom:22}],glyphs:\"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf\"},\"white-bg\":{id:\"white-bg\",version:8,sources:{},layers:[{id:\"white-bg\",type:\"background\",paint:{\"background-color\":\"#FFFFFF\"},minzoom:0,maxzoom:22}],glyphs:\"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf\"},\"carto-positron\":{id:\"carto-positron\",version:8,sources:{\"plotly-carto-positron\":{type:\"raster\",attribution:o,tiles:[\"https://cartodb-basemaps-c.global.ssl.fastly.net/light_all/{z}/{x}/{y}.png\"],tileSize:256}},layers:[{id:\"plotly-carto-positron\",type:\"raster\",source:\"plotly-carto-positron\",minzoom:0,maxzoom:22}],glyphs:\"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf\"},\"carto-darkmatter\":{id:\"carto-darkmatter\",version:8,sources:{\"plotly-carto-darkmatter\":{type:\"raster\",attribution:o,tiles:[\"https://cartodb-basemaps-c.global.ssl.fastly.net/dark_all/{z}/{x}/{y}.png\"],tileSize:256}},layers:[{id:\"plotly-carto-darkmatter\",type:\"raster\",source:\"plotly-carto-darkmatter\",minzoom:0,maxzoom:22}],glyphs:\"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf\"},\"stamen-terrain\":{id:\"stamen-terrain\",version:8,sources:{\"plotly-stamen-terrain\":{type:\"raster\",attribution:s,tiles:[\"https://tiles.stadiamaps.com/tiles/stamen_terrain/{z}/{x}/{y}.png?api_key=\"],tileSize:256}},layers:[{id:\"plotly-stamen-terrain\",type:\"raster\",source:\"plotly-stamen-terrain\",minzoom:0,maxzoom:22}],glyphs:\"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf\"},\"stamen-toner\":{id:\"stamen-toner\",version:8,sources:{\"plotly-stamen-toner\":{type:\"raster\",attribution:s,tiles:[\"https://tiles.stadiamaps.com/tiles/stamen_toner/{z}/{x}/{y}.png?api_key=\"],tileSize:256}},layers:[{id:\"plotly-stamen-toner\",type:\"raster\",source:\"plotly-stamen-toner\",minzoom:0,maxzoom:22}],glyphs:\"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf\"},\"stamen-watercolor\":{id:\"stamen-watercolor\",version:8,sources:{\"plotly-stamen-watercolor\":{type:\"raster\",attribution:['Map tiles by Stamen Design','under CC BY 3.0',\"|\",'Data by OpenStreetMap contributors','under CC BY SA'].join(\" \"),tiles:[\"https://tiles.stadiamaps.com/tiles/stamen_watercolor/{z}/{x}/{y}.jpg?api_key=\"],tileSize:256}},layers:[{id:\"plotly-stamen-watercolor\",type:\"raster\",source:\"plotly-stamen-watercolor\",minzoom:0,maxzoom:22}],glyphs:\"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf\"}},u=n(l);t.exports={requiredVersion:i,styleUrlPrefix:\"mapbox://styles/mapbox/\",styleUrlSuffix:\"v9\",styleValuesMapbox:[\"basic\",\"streets\",\"outdoors\",\"light\",\"dark\",\"satellite\",\"satellite-streets\"],styleValueDflt:\"basic\",stylesNonMapbox:l,styleValuesNonMapbox:u,traceLayerPrefix:\"plotly-trace-layer-\",layoutLayerPrefix:\"plotly-layout-layer-\",wrongVersionErrorMsg:[\"Your custom plotly.js bundle is not using the correct mapbox-gl version\",\"Please install @plotly/mapbox-gl@\"+i+\".\"].join(\"\\n\"),noAccessTokenErrorMsg:[\"Missing Mapbox access token.\",\"Mapbox trace type require a Mapbox access token to be registered.\",\"For example:\",\" Plotly.newPlot(gd, data, layout, { mapboxAccessToken: 'my-access-token' });\",\"More info here: https://www.mapbox.com/help/define-access-token/\"].join(\"\\n\"),missingStyleErrorMsg:[\"No valid mapbox style found, please set `mapbox.style` to one of:\",u.join(\", \"),\"or register a Mapbox access token to use a Mapbox-served style.\"].join(\"\\n\"),multipleTokensErrorMsg:[\"Set multiple mapbox access token across different mapbox subplot,\",\"using first token found as mapbox-gl does not allow multipleaccess tokens on the same page.\"].join(\"\\n\"),mapOnErrorMsg:\"Mapbox error.\",mapboxLogo:{path0:\"m 10.5,1.24 c -5.11,0 -9.25,4.15 -9.25,9.25 0,5.1 4.15,9.25 9.25,9.25 5.1,0 9.25,-4.15 9.25,-9.25 0,-5.11 -4.14,-9.25 -9.25,-9.25 z m 4.39,11.53 c -1.93,1.93 -4.78,2.31 -6.7,2.31 -0.7,0 -1.41,-0.05 -2.1,-0.16 0,0 -1.02,-5.64 2.14,-8.81 0.83,-0.83 1.95,-1.28 3.13,-1.28 1.27,0 2.49,0.51 3.39,1.42 1.84,1.84 1.89,4.75 0.14,6.52 z\",path1:\"M 10.5,-0.01 C 4.7,-0.01 0,4.7 0,10.49 c 0,5.79 4.7,10.5 10.5,10.5 5.8,0 10.5,-4.7 10.5,-10.5 C 20.99,4.7 16.3,-0.01 10.5,-0.01 Z m 0,19.75 c -5.11,0 -9.25,-4.15 -9.25,-9.25 0,-5.1 4.14,-9.26 9.25,-9.26 5.11,0 9.25,4.15 9.25,9.25 0,5.13 -4.14,9.26 -9.25,9.26 z\",path2:\"M 14.74,6.25 C 12.9,4.41 9.98,4.35 8.23,6.1 5.07,9.27 6.09,14.91 6.09,14.91 c 0,0 5.64,1.02 8.81,-2.14 C 16.64,11 16.59,8.09 14.74,6.25 Z m -2.27,4.09 -0.91,1.87 -0.9,-1.87 -1.86,-0.91 1.86,-0.9 0.9,-1.87 0.91,1.87 1.86,0.9 z\",polygon:\"11.56,12.21 10.66,10.34 8.8,9.43 10.66,8.53 11.56,6.66 12.47,8.53 14.33,9.43 12.47,10.34\"},styleRules:{map:\"overflow:hidden;position:relative;\",\"missing-css\":\"display:none;\",canary:\"background-color:salmon;\",\"ctrl-bottom-left\":\"position: absolute; pointer-events: none; z-index: 2; bottom: 0; left: 0;\",\"ctrl-bottom-right\":\"position: absolute; pointer-events: none; z-index: 2; right: 0; bottom: 0;\",ctrl:\"clear: both; pointer-events: auto; transform: translate(0, 0);\",\"ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-inner\":\"display: none;\",\"ctrl-attrib.mapboxgl-compact:hover .mapboxgl-ctrl-attrib-inner\":\"display: block; margin-top:2px\",\"ctrl-attrib.mapboxgl-compact:hover\":\"padding: 2px 24px 2px 4px; visibility: visible; margin-top: 6px;\",\"ctrl-attrib.mapboxgl-compact::after\":'content: \"\"; cursor: pointer; position: absolute; background-image: url(\\'data:image/svg+xml;charset=utf-8,%3Csvg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"%3E %3Cpath fill=\"%23333333\" fill-rule=\"evenodd\" d=\"M4,10a6,6 0 1,0 12,0a6,6 0 1,0 -12,0 M9,7a1,1 0 1,0 2,0a1,1 0 1,0 -2,0 M9,10a1,1 0 1,1 2,0l0,3a1,1 0 1,1 -2,0\"/%3E %3C/svg%3E\\'); background-color: rgba(255, 255, 255, 0.5); width: 24px; height: 24px; box-sizing: border-box; border-radius: 12px;',\"ctrl-attrib.mapboxgl-compact\":\"min-height: 20px; padding: 0; margin: 10px; position: relative; background-color: #fff; border-radius: 3px 12px 12px 3px;\",\"ctrl-bottom-right > .mapboxgl-ctrl-attrib.mapboxgl-compact::after\":\"bottom: 0; right: 0\",\"ctrl-bottom-left > .mapboxgl-ctrl-attrib.mapboxgl-compact::after\":\"bottom: 0; left: 0\",\"ctrl-bottom-left .mapboxgl-ctrl\":\"margin: 0 0 10px 10px; float: left;\",\"ctrl-bottom-right .mapboxgl-ctrl\":\"margin: 0 10px 10px 0; float: right;\",\"ctrl-attrib\":\"color: rgba(0, 0, 0, 0.75); text-decoration: none; font-size: 12px\",\"ctrl-attrib a\":\"color: rgba(0, 0, 0, 0.75); text-decoration: none; font-size: 12px\",\"ctrl-attrib a:hover\":\"color: inherit; text-decoration: underline;\",\"ctrl-attrib .mapbox-improve-map\":\"font-weight: bold; margin-left: 2px;\",\"attrib-empty\":\"display: none;\",\"ctrl-logo\":'display:block; width: 21px; height: 21px; background-image: url(\\'data:image/svg+xml;charset=utf-8,%3C?xml version=\"1.0\" encoding=\"utf-8\"?%3E %3Csvg version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\" viewBox=\"0 0 21 21\" style=\"enable-background:new 0 0 21 21;\" xml:space=\"preserve\"%3E%3Cg transform=\"translate(0,0.01)\"%3E%3Cpath d=\"m 10.5,1.24 c -5.11,0 -9.25,4.15 -9.25,9.25 0,5.1 4.15,9.25 9.25,9.25 5.1,0 9.25,-4.15 9.25,-9.25 0,-5.11 -4.14,-9.25 -9.25,-9.25 z m 4.39,11.53 c -1.93,1.93 -4.78,2.31 -6.7,2.31 -0.7,0 -1.41,-0.05 -2.1,-0.16 0,0 -1.02,-5.64 2.14,-8.81 0.83,-0.83 1.95,-1.28 3.13,-1.28 1.27,0 2.49,0.51 3.39,1.42 1.84,1.84 1.89,4.75 0.14,6.52 z\" style=\"opacity:0.9;fill:%23ffffff;enable-background:new\" class=\"st0\"/%3E%3Cpath d=\"M 10.5,-0.01 C 4.7,-0.01 0,4.7 0,10.49 c 0,5.79 4.7,10.5 10.5,10.5 5.8,0 10.5,-4.7 10.5,-10.5 C 20.99,4.7 16.3,-0.01 10.5,-0.01 Z m 0,19.75 c -5.11,0 -9.25,-4.15 -9.25,-9.25 0,-5.1 4.14,-9.26 9.25,-9.26 5.11,0 9.25,4.15 9.25,9.25 0,5.13 -4.14,9.26 -9.25,9.26 z\" style=\"opacity:0.35;enable-background:new\" class=\"st1\"/%3E%3Cpath d=\"M 14.74,6.25 C 12.9,4.41 9.98,4.35 8.23,6.1 5.07,9.27 6.09,14.91 6.09,14.91 c 0,0 5.64,1.02 8.81,-2.14 C 16.64,11 16.59,8.09 14.74,6.25 Z m -2.27,4.09 -0.91,1.87 -0.9,-1.87 -1.86,-0.91 1.86,-0.9 0.9,-1.87 0.91,1.87 1.86,0.9 z\" style=\"opacity:0.35;enable-background:new\" class=\"st1\"/%3E%3Cpolygon points=\"11.56,12.21 10.66,10.34 8.8,9.43 10.66,8.53 11.56,6.66 12.47,8.53 14.33,9.43 12.47,10.34 \" style=\"opacity:0.9;fill:%23ffffff;enable-background:new\" class=\"st0\"/%3E%3C/g%3E%3C/svg%3E\\')'}}},89032:function(t,e,r){\"use strict\";var n=r(3400);t.exports=function(t,e){var r=t.split(\" \"),i=r[0],a=r[1],o=n.isArrayOrTypedArray(e)?n.mean(e):e,s=.5+o/100,l=1.5+o/100,u=[\"\",\"\"],c=[0,0];switch(i){case\"top\":u[0]=\"top\",c[1]=-l;break;case\"bottom\":u[0]=\"bottom\",c[1]=l}switch(a){case\"left\":u[1]=\"right\",c[0]=-s;break;case\"right\":u[1]=\"left\",c[0]=s}return{anchor:u[0]&&u[1]?u.join(\"-\"):u[0]?u[0]:u[1]?u[1]:\"center\",offset:c}}},33688:function(t,e,r){\"use strict\";var n=r(3480),i=r(3400),a=i.strTranslate,o=i.strScale,s=r(84888).KY,l=r(9616),u=r(33428),c=r(43616),f=r(72736),h=r(14440),p=\"mapbox\",d=e.constants=r(47552);function v(t){return\"string\"==typeof t&&(-1!==d.styleValuesMapbox.indexOf(t)||0===t.indexOf(\"mapbox://\")||0===t.indexOf(\"stamen\"))}e.name=p,e.attr=\"subplot\",e.idRoot=p,e.idRegex=e.attrRegex=i.counterRegex(p),e.attributes={subplot:{valType:\"subplotid\",dflt:\"mapbox\",editType:\"calc\"}},e.layoutAttributes=r(5232),e.supplyLayoutDefaults=r(5976),e.plot=function(t){var e=t._fullLayout,r=t.calcdata,a=e._subplots[p];if(n.version!==d.requiredVersion)throw new Error(d.wrongVersionErrorMsg);var o=function(t,e){var r=t._fullLayout;if(\"\"===t._context.mapboxAccessToken)return\"\";for(var n=[],a=[],o=!1,s=!1,l=0;l1&&i.warn(d.multipleTokensErrorMsg),n[0]):(a.length&&i.log([\"Listed mapbox access token(s)\",a.join(\",\"),\"but did not use a Mapbox map style, ignoring token(s).\"].join(\" \")),\"\")}(t,a);n.accessToken=o;for(var l=0;lw/2){var T=m.split(\"|\").join(\"
\");b.text(T).attr(\"data-unformatted\",T).call(f.convertToTspans,t),_=c.bBox(b.node())}b.attr(\"transform\",a(-3,8-_.height)),x.insert(\"rect\",\".static-attribution\").attr({x:-_.width-6,y:-_.height-3,width:_.width+6,height:_.height+3,fill:\"rgba(255, 255, 255, 0.75)\"});var k=1;_.width+6>w&&(k=w/(_.width+6));var A=[n.l+n.w*h.x[1],n.t+n.h*(1-h.y[0])];x.attr(\"transform\",a(A[0],A[1])+o(k))}},e.updateFx=function(t){for(var e=t._fullLayout,r=e._subplots[p],n=0;n0){for(var r=0;r0}function c(t){var e={},r={};switch(t.type){case\"circle\":n.extendFlat(r,{\"circle-radius\":t.circle.radius,\"circle-color\":t.color,\"circle-opacity\":t.opacity});break;case\"line\":n.extendFlat(r,{\"line-width\":t.line.width,\"line-color\":t.color,\"line-opacity\":t.opacity,\"line-dasharray\":t.line.dash});break;case\"fill\":n.extendFlat(r,{\"fill-color\":t.color,\"fill-outline-color\":t.fill.outlinecolor,\"fill-opacity\":t.opacity});break;case\"symbol\":var i=t.symbol,o=a(i.textposition,i.iconsize);n.extendFlat(e,{\"icon-image\":i.icon+\"-15\",\"icon-size\":i.iconsize/10,\"text-field\":i.text,\"text-size\":i.textfont.size,\"text-anchor\":o.anchor,\"text-offset\":o.offset,\"symbol-placement\":i.placement}),n.extendFlat(r,{\"icon-color\":t.color,\"text-color\":i.textfont.color,\"text-opacity\":t.opacity});break;case\"raster\":n.extendFlat(r,{\"raster-fade-duration\":0,\"raster-opacity\":t.opacity})}return{layout:e,paint:r}}l.update=function(t){this.visible?this.needsNewImage(t)?this.updateImage(t):this.needsNewSource(t)?(this.removeLayer(),this.updateSource(t),this.updateLayer(t)):this.needsNewLayer(t)?this.updateLayer(t):this.updateStyle(t):(this.updateSource(t),this.updateLayer(t)),this.visible=u(t)},l.needsNewImage=function(t){return this.subplot.map.getSource(this.idSource)&&\"image\"===this.sourceType&&\"image\"===t.sourcetype&&(this.source!==t.source||JSON.stringify(this.coordinates)!==JSON.stringify(t.coordinates))},l.needsNewSource=function(t){return this.sourceType!==t.sourcetype||JSON.stringify(this.source)!==JSON.stringify(t.source)||this.layerType!==t.type},l.needsNewLayer=function(t){return this.layerType!==t.type||this.below!==this.subplot.belowLookup[\"layout-\"+this.index]},l.lookupBelow=function(){return this.subplot.belowLookup[\"layout-\"+this.index]},l.updateImage=function(t){this.subplot.map.getSource(this.idSource).updateImage({url:t.source,coordinates:t.coordinates});var e=this.findFollowingMapboxLayerId(this.lookupBelow());null!==e&&this.subplot.map.moveLayer(this.idLayer,e)},l.updateSource=function(t){var e=this.subplot.map;if(e.getSource(this.idSource)&&e.removeSource(this.idSource),this.sourceType=t.sourcetype,this.source=t.source,u(t)){var r=function(t){var e,r=t.sourcetype,n=t.source,a={type:r};return\"geojson\"===r?e=\"data\":\"vector\"===r?e=\"string\"==typeof n?\"url\":\"tiles\":\"raster\"===r?(e=\"tiles\",a.tileSize=256):\"image\"===r&&(e=\"url\",a.coordinates=t.coordinates),a[e]=n,t.sourceattribution&&(a.attribution=i(t.sourceattribution)),a}(t);e.addSource(this.idSource,r)}},l.findFollowingMapboxLayerId=function(t){if(\"traces\"===t)for(var e=this.subplot.getMapLayers(),r=0;r1)for(r=0;r-1&&g(e.originalEvent,n,[r.xaxis],[r.yaxis],r.id,t),i.indexOf(\"event\")>-1&&u.click(n,e.originalEvent)}}},b.updateFx=function(t){var e=this,r=e.map,n=e.gd;if(!e.isStatic){var a,o=t.dragmode;a=function(t,r){r.isRect?(t.range={})[e.id]=[u([r.xmin,r.ymin]),u([r.xmax,r.ymax])]:(t.lassoPoints={})[e.id]=r.map(u)};var s=e.dragOptions;e.dragOptions=i.extendDeep(s||{},{dragmode:t.dragmode,element:e.div,gd:n,plotinfo:{id:e.id,domain:t[e.id].domain,xaxis:e.xaxis,yaxis:e.yaxis,fillRangeItems:a},xaxes:[e.xaxis],yaxes:[e.yaxis],subplot:e.id}),r.off(\"click\",e.onClickInPanHandler),h(o)||f(o)?(r.dragPan.disable(),r.on(\"zoomstart\",e.clearOutline),e.dragOptions.prepFn=function(t,r,n){p(t,r,n,e.dragOptions,o)},l.init(e.dragOptions)):(r.dragPan.enable(),r.off(\"zoomstart\",e.clearOutline),e.div.onmousedown=null,e.div.ontouchstart=null,e.div.removeEventListener(\"touchstart\",e.div._ontouchstart),e.onClickInPanHandler=e.onClickInPanFn(e.dragOptions),r.on(\"click\",e.onClickInPanHandler))}function u(t){var r=e.map.unproject(t);return[r.lng,r.lat]}},b.updateFramework=function(t){var e=t[this.id].domain,r=t._size,n=this.div.style;n.width=r.w*(e.x[1]-e.x[0])+\"px\",n.height=r.h*(e.y[1]-e.y[0])+\"px\",n.left=r.l+e.x[0]*r.w+\"px\",n.top=r.t+(1-e.y[1])*r.h+\"px\",this.xaxis._offset=r.l+e.x[0]*r.w,this.xaxis._length=r.w*(e.x[1]-e.x[0]),this.yaxis._offset=r.t+(1-e.y[1])*r.h,this.yaxis._length=r.h*(e.y[1]-e.y[0])},b.updateLayers=function(t){var e,r=t[this.id].layers,n=this.layerList;if(r.length!==n.length){for(e=0;e=e.width-20?(a[\"text-anchor\"]=\"start\",a.x=5):(a[\"text-anchor\"]=\"end\",a.x=e._paper.attr(\"width\")-7),r.attr(a);var o=r.select(\".js-link-to-tool\"),s=r.select(\".js-link-spacer\"),l=r.select(\".js-sourcelinks\");t._context.showSources&&t._context.showSources(t),t._context.showLink&&function(t,e){e.text(\"\");var r=e.append(\"a\").attr({\"xlink:xlink:href\":\"#\",class:\"link--impt link--embedview\",\"font-weight\":\"bold\"}).text(t._context.linkText+\" \"+String.fromCharCode(187));if(t._context.sendData)r.on(\"click\",(function(){w.sendDataToCloud(t)}));else{var n=window.location.pathname.split(\"/\"),i=window.location.search;r.attr({\"xlink:xlink:show\":\"new\",\"xlink:xlink:href\":\"/\"+n[2].split(\".\")[0]+\"/\"+n[1]+i})}}(t,o),s.text(o.text()&&l.text()?\" - \":\"\")}},w.sendDataToCloud=function(t){var e=(window.PLOTLYENV||{}).BASE_URL||t._context.plotlyServerURL;if(e){t.emit(\"plotly_beforeexport\");var r=n.select(t).append(\"div\").attr(\"id\",\"hiddenform\").style(\"display\",\"none\"),i=r.append(\"form\").attr({action:e+\"/external\",method:\"post\",target:\"_blank\"});return i.append(\"input\").attr({type:\"text\",name:\"data\"}).node().value=w.graphJson(t,!1,\"keepdata\"),i.node().submit(),r.remove(),t.emit(\"plotly_afterexport\"),!1}};var A=[\"days\",\"shortDays\",\"months\",\"shortMonths\",\"periods\",\"dateTime\",\"date\",\"time\",\"decimal\",\"thousands\",\"grouping\",\"currency\"],M=[\"year\",\"month\",\"dayMonth\",\"dayMonthYear\"];function S(t,e){var r=t._context.locale;r||(r=\"en-US\");var n=!1,i={};function a(t){for(var r=!0,a=0;a1&&z.length>1){for(l.getComponentMethod(\"grid\",\"sizeDefaults\")(u,s),o=0;o15&&z.length>15&&0===s.shapes.length&&0===s.images.length,w.linkSubplots(h,s,c,n),w.cleanPlot(h,s,c,n);var N=!(!n._has||!n._has(\"gl2d\")),j=!(!s._has||!s._has(\"gl2d\")),U=!(!n._has||!n._has(\"cartesian\"))||N,V=!(!s._has||!s._has(\"cartesian\"))||j;U&&!V?n._bgLayer.remove():V&&!U&&(s._shouldCreateBgLayer=!0),n._zoomlayer&&!t._dragging&&v({_fullLayout:n}),function(t,e){var r,n=[];e.meta&&(r=e._meta={meta:e.meta,layout:{meta:e.meta}});for(var i=0;i0){var c=1-2*s;n=Math.round(c*n),i=Math.round(c*i)}}var h=w.layoutAttributes.width.min,p=w.layoutAttributes.height.min;n1,v=!e.height&&Math.abs(r.height-i)>1;(v||d)&&(d&&(r.width=n),v&&(r.height=i)),t._initialAutoSize||(t._initialAutoSize={width:n,height:i}),w.sanitizeMargins(r)},w.supplyLayoutModuleDefaults=function(t,e,r,n){var i,a,o,s=l.componentsRegistry,u=e._basePlotModules,c=l.subplotsRegistry.cartesian;for(i in s)(o=s[i]).includeBasePlot&&o.includeBasePlot(t,e);for(var h in u.length||u.push(c),e._has(\"cartesian\")&&(l.getComponentMethod(\"grid\",\"contentDefaults\")(t,e),c.finalizeSubplots(t,e)),e._subplots)e._subplots[h].sort(f.subplotSort);for(a=0;a1&&(r.l/=y,r.r/=y)}if(p){var m=(r.t+r.b)/p;m>1&&(r.t/=m,r.b/=m)}var x=void 0!==r.xl?r.xl:r.x,b=void 0!==r.xr?r.xr:r.x,_=void 0!==r.yt?r.yt:r.y,T=void 0!==r.yb?r.yb:r.y;d[e]={l:{val:x,size:r.l+g},r:{val:b,size:r.r+g},b:{val:T,size:r.b+g},t:{val:_,size:r.t+g}},v[e]=1}else delete d[e],delete v[e];if(!n._replotting)return w.doAutoMargin(t)}},w.doAutoMargin=function(t){var e=t._fullLayout,r=e.width,n=e.height;e._size||(e._size={}),O(e);var i=e._size,a=e.margin,s={t:0,b:0,l:0,r:0},u=f.extendFlat({},i),c=a.l,h=a.r,p=a.t,v=a.b,g=e._pushmargin,y=e._pushmarginIds,m=e.minreducedwidth,x=e.minreducedheight;if(!1!==a.autoexpand){for(var b in g)y[b]||delete g[b];var _=t._fullLayout._reservedMargin;for(var T in _)for(var k in _[T]){var A=_[T][k];s[k]=Math.max(s[k],A)}for(var M in g.base={l:{val:0,size:c},r:{val:1,size:h},t:{val:1,size:p},b:{val:0,size:v}},s){var S=0;for(var E in g)\"base\"!==E&&o(g[E][M].size)&&(S=g[E][M].size>S?g[E][M].size:S);var L=Math.max(0,a[M]-S);s[M]=Math.max(0,s[M]-L)}for(var C in g){var P=g[C].l||{},I=g[C].b||{},z=P.val,D=P.size,R=I.val,F=I.size,B=r-s.r-s.l,N=n-s.t-s.b;for(var j in g){if(o(D)&&g[j].r){var U=g[j].r.val,V=g[j].r.size;if(U>z){var q=(D*U+(V-B)*z)/(U-z),H=(V*(1-z)+(D-B)*(1-U))/(U-z);q+H>c+h&&(c=q,h=H)}}if(o(F)&&g[j].t){var G=g[j].t.val,W=g[j].t.size;if(G>R){var Y=(F*G+(W-N)*R)/(G-R),X=(W*(1-R)+(F-N)*(1-G))/(G-R);Y+X>v+p&&(v=Y,p=X)}}}}}var Z=f.constrain(r-a.l-a.r,2,m),K=f.constrain(n-a.t-a.b,2,x),J=Math.max(0,r-Z),$=Math.max(0,n-K);if(J){var Q=(c+h)/J;Q>1&&(c/=Q,h/=Q)}if($){var tt=(v+p)/$;tt>1&&(v/=tt,p/=tt)}if(i.l=Math.round(c)+s.l,i.r=Math.round(h)+s.r,i.t=Math.round(p)+s.t,i.b=Math.round(v)+s.b,i.p=Math.round(a.pad),i.w=Math.round(r)-i.l-i.r,i.h=Math.round(n)-i.t-i.b,!e._replotting&&(w.didMarginChange(u,i)||function(t){if(\"_redrawFromAutoMarginCount\"in t._fullLayout)return!1;var e=d.list(t,\"\",!0);for(var r in e)if(e[r].autoshift||e[r].shift)return!0;return!1}(t))){\"_redrawFromAutoMarginCount\"in e?e._redrawFromAutoMarginCount++:e._redrawFromAutoMarginCount=1;var et=3*(1+Object.keys(y).length);if(e._redrawFromAutoMarginCount0&&(t._transitioningWithDuration=!0),t._transitionData._interruptCallbacks.push((function(){n=!0})),r.redraw&&t._transitionData._interruptCallbacks.push((function(){return l.call(\"redraw\",t)})),t._transitionData._interruptCallbacks.push((function(){t.emit(\"plotly_transitioninterrupted\",[])}));var a=0,o=0;function s(){return a++,function(){var e;o++,n||o!==a||(e=i,t._transitionData&&(function(t){if(t)for(;t.length;)t.shift()}(t._transitionData._interruptCallbacks),Promise.resolve().then((function(){if(r.redraw)return l.call(\"redraw\",t)})).then((function(){t._transitioning=!1,t._transitioningWithDuration=!1,t.emit(\"plotly_transitioned\",[])})).then(e)))}}r.runFn(s),setTimeout(s())}))}],a=f.syncOrAsync(i,t);return a&&a.then||(a=Promise.resolve()),a.then((function(){return t}))}w.didMarginChange=function(t,e){for(var r=0;r1)return!0}return!1},w.graphJson=function(t,e,r,n,i,a){(i&&e&&!t._fullData||i&&!e&&!t._fullLayout)&&w.supplyDefaults(t);var o=i?t._fullData:t.data,l=i?t._fullLayout:t.layout,u=(t._transitionData||{})._frames;function c(t,e){if(\"function\"==typeof t)return e?\"_function_\":null;if(f.isPlainObject(t)){var n,i={};return Object.keys(t).sort().forEach((function(a){if(-1===[\"_\",\"[\"].indexOf(a.charAt(0)))if(\"function\"!=typeof t[a]){if(\"keepdata\"===r){if(\"src\"===a.substr(a.length-3))return}else if(\"keepstream\"===r){if(\"string\"==typeof(n=t[a+\"src\"])&&n.indexOf(\":\")>0&&!f.isPlainObject(t.stream))return}else if(\"keepall\"!==r&&\"string\"==typeof(n=t[a+\"src\"])&&n.indexOf(\":\")>0)return;i[a]=c(t[a],e)}else e&&(i[a]=\"_function\")})),i}var a=Array.isArray(t),o=f.isTypedArray(t);if((a||o)&&t.dtype&&t.shape){var l=t.bdata;return c({dtype:t.dtype,shape:t.shape,bdata:f.isArrayBuffer(l)?s.encode(l):l},e)}return a?t.map((function(t){return c(t,e)})):o?f.simpleMap(t,f.identity):f.isJSDate(t)?f.ms2DateTimeLocal(+t):t}var h={data:(o||[]).map((function(t){var r=c(t);return e&&delete r.fit,r}))};if(!e&&(h.layout=c(l),i)){var p=l._size;h.layout.computed={margin:{b:p.b,l:p.l,r:p.r,t:p.t}}}return u&&(h.frames=c(u)),a&&(h.config=c(t._context,!0)),\"object\"===n?h:JSON.stringify(h)},w.modifyFrames=function(t,e){var r,n,i,a=t._transitionData._frames,o=t._transitionData._frameHash;for(r=0;r=0;a--)if(l[a].enabled){r._indexToPoints=l[a]._indexToPoints;break}n&&n.calc&&(o=n.calc(t,r))}Array.isArray(o)&&o[0]||(o=[{x:p,y:p}]),o[0].t||(o[0].t={}),o[0].trace=r,h[e]=o}}for(R(o,s,c),i=0;i1e-10?t:0}function h(t,e,r){e=e||0,r=r||0;for(var n=t.length,i=new Array(n),a=0;a0?r:1/0})),i=n.mod(r+1,e.length);return[e[r],e[i]]},findIntersectionXY:u,findXYatLength:function(t,e,r,n){var i=-e*r,a=e*e+1,o=2*(e*i-r),s=i*i+r*r-t*t,l=Math.sqrt(o*o-4*a*s),u=(-o+l)/(2*a),c=(-o-l)/(2*a);return[[u,e*u+i+n],[c,e*c+i+n]]},clampTiny:f,pathPolygon:function(t,e,r,n,i,a){return\"M\"+h(c(t,e,r,n),i,a).join(\"L\")},pathPolygonAnnulus:function(t,e,r,n,i,a,o){var s,l;t=90||i>90&&a>=450?1:s<=0&&u<=0?0:Math.max(s,u),[i<=180&&a>=180||i>180&&a>=540?-1:o>=0&&l>=0?0:Math.min(o,l),i<=270&&a>=270||i>270&&a>=630?-1:s>=0&&u>=0?0:Math.min(s,u),a>=360?1:o<=0&&l<=0?0:Math.max(o,l),e]}(d),_=b[2]-b[0],w=b[3]-b[1],T=p/h,k=Math.abs(w/_);T>k?(v=h,x=(p-(g=h*k))/i.h/2,y=[s[0],s[1]],m=[f[0]+x,f[1]-x]):(g=p,x=(h-(v=p/k))/i.w/2,y=[s[0]+x,s[1]-x],m=[f[0],f[1]]),r.xLength2=v,r.yLength2=g,r.xDomain2=y,r.yDomain2=m;var A,M=r.xOffset2=i.l+i.w*y[0],S=r.yOffset2=i.t+i.h*(1-m[1]),E=r.radius=v/_,L=r.innerRadius=r.getHole(e)*E,C=r.cx=M-E*b[0],P=r.cy=S+E*b[3],O=r.cxx=C-M,I=r.cyy=P-S,z=a.side;\"counterclockwise\"===z?(A=z,z=\"top\"):\"clockwise\"===z&&(A=z,z=\"bottom\"),r.radialAxis=r.mockAxis(t,e,a,{_id:\"x\",side:z,_trueSide:A,domain:[L/i.w,E/i.w]}),r.angularAxis=r.mockAxis(t,e,o,{side:\"right\",domain:[0,Math.PI],autorange:!1}),r.doAutoRange(t,e),r.updateAngularAxis(t,e),r.updateRadialAxis(t,e),r.updateRadialAxisTitle(t,e),r.xaxis=r.mockCartesianAxis(t,e,{_id:\"x\",domain:y}),r.yaxis=r.mockCartesianAxis(t,e,{_id:\"y\",domain:m});var F=r.pathSubplot();r.clipPaths.forTraces.select(\"path\").attr(\"d\",F).attr(\"transform\",l(O,I)),n.frontplot.attr(\"transform\",l(M,S)).call(c.setClipUrl,r._hasClipOnAxisFalse?null:r.clipIds.forTraces,r.gd),n.bg.attr(\"d\",F).attr(\"transform\",l(C,P)).call(u.fill,e.bgcolor)},N.mockAxis=function(t,e,r,n){var i=o.extendFlat({},r,n);return d(i,e,t),i},N.mockCartesianAxis=function(t,e,r){var n=this,i=n.isSmith,a=r._id,s=o.extendFlat({type:\"linear\"},r);p(s,t);var l={x:[0,2],y:[1,3]};return s.setRange=function(){var t=n.sectorBBox,r=l[a],i=n.radialAxis._rl,o=(i[1]-i[0])/(1-n.getHole(e));s.range=[t[r[0]]*o,t[r[1]]*o]},s.isPtWithinRange=\"x\"!==a||i?function(){return!0}:function(t){return n.isPtInside(t)},s.setRange(),s.setScale(),s},N.doAutoRange=function(t,e){var r=this,n=r.gd,i=r.radialAxis,a=r.getRadial(e);v(n,i);var o=i.range;if(a.range=o.slice(),a._input.range=o.slice(),i._rl=[i.r2l(o[0],null,\"gregorian\"),i.r2l(o[1],null,\"gregorian\")],void 0!==i.minallowed){var s=i.r2l(i.minallowed);i._rl[0]>i._rl[1]?i._rl[1]=Math.max(i._rl[1],s):i._rl[0]=Math.max(i._rl[0],s)}if(void 0!==i.maxallowed){var l=i.r2l(i.maxallowed);i._rl[0]90&&v<=270&&(g.tickangle=180);var x=m?function(t){var e=I(r,C([t.x,0]));return l(e[0]-f,e[1]-p)}:function(t){return l(g.l2p(t.x)+c,0)},b=m?function(t){return O(r,t.x,-1/0,1/0)}:function(t){return r.pathArc(g.r2p(t.x)+c)},_=j(d);if(r.radialTickLayout!==_&&(i[\"radial-axis\"].selectAll(\".xtick\").remove(),r.radialTickLayout=_),y){g.setScale();var w=0,T=m?(g.tickvals||[]).filter((function(t){return t>=0})).map((function(t){return h.tickText(g,t,!0,!1)})):h.calcTicks(g),k=m?T:h.clipEnds(g,T),A=h.getTickSigns(g)[2];m&&((\"top\"===g.ticks&&\"bottom\"===g.side||\"bottom\"===g.ticks&&\"top\"===g.side)&&(A=-A),\"top\"===g.ticks&&\"top\"===g.side&&(w=-g.ticklen),\"bottom\"===g.ticks&&\"bottom\"===g.side&&(w=g.ticklen)),h.drawTicks(n,g,{vals:T,layer:i[\"radial-axis\"],path:h.makeTickPath(g,0,A),transFn:x,crisp:!1}),h.drawGrid(n,g,{vals:k,layer:i[\"radial-grid\"],path:b,transFn:o.noop,crisp:!1}),h.drawLabels(n,g,{vals:T,layer:i[\"radial-axis\"],transFn:x,labelFns:h.makeLabelFns(g,w)})}var M=r.radialAxisAngle=r.vangles?F(U(R(d.angle),r.vangles)):d.angle,S=l(f,p),E=S+s(-M);V(i[\"radial-axis\"],y&&(d.showticklabels||d.ticks),{transform:E}),V(i[\"radial-grid\"],y&&d.showgrid,{transform:m?\"\":S}),V(i[\"radial-line\"].select(\"line\"),y&&d.showline,{x1:m?-a:c,y1:0,x2:a,y2:0,transform:E}).attr(\"stroke-width\",d.linewidth).call(u.stroke,d.linecolor)},N.updateRadialAxisTitle=function(t,e,r){if(!this.isSmith){var n=this,i=n.gd,a=n.radius,o=n.cx,s=n.cy,l=n.getRadial(e),u=n.id+\"title\",f=0;if(l.title){var h=c.bBox(n.layers[\"radial-axis\"].node()).height,p=l.title.font.size,d=l.side;f=\"top\"===d?p:\"counterclockwise\"===d?-(h+.4*p):h+.8*p}var v=void 0!==r?r:n.radialAxisAngle,g=R(v),y=Math.cos(g),m=Math.sin(g),b=o+a/2*y+f*m,_=s-a/2*m+f*y;n.layers[\"radial-axis-title\"]=x.draw(i,u,{propContainer:l,propName:n.id+\".radialaxis.title\",placeholder:z(i,\"Click to enter radial axis title\"),attributes:{x:b,y:_,\"text-anchor\":\"middle\"},transform:{rotate:-v}})}},N.updateAngularAxis=function(t,e){var r=this,n=r.gd,i=r.layers,a=r.radius,c=r.innerRadius,f=r.cx,p=r.cy,d=r.getAngular(e),v=r.angularAxis,g=r.isSmith;g||(r.fillViewInitialKey(\"angularaxis.rotation\",d.rotation),v.setGeometry(),v.setScale());var y=g?function(t){var e=I(r,C([0,t.x]));return Math.atan2(e[0]-f,e[1]-p)-Math.PI/2}:function(t){return v.t2g(t.x)};\"linear\"===v.type&&\"radians\"===v.thetaunit&&(v.tick0=F(v.tick0),v.dtick=F(v.dtick));var m=function(t){return l(f+a*Math.cos(t),p-a*Math.sin(t))},x=g?function(t){var e=I(r,C([0,t.x]));return l(e[0],e[1])}:function(t){return m(y(t))},b=g?function(t){var e=I(r,C([0,t.x])),n=Math.atan2(e[0]-f,e[1]-p)-Math.PI/2;return l(e[0],e[1])+s(-F(n))}:function(t){var e=y(t);return m(e)+s(-F(e))},_=g?function(t){return P(r,t.x,0,1/0)}:function(t){var e=y(t),r=Math.cos(e),n=Math.sin(e);return\"M\"+[f+c*r,p-c*n]+\"L\"+[f+a*r,p-a*n]},w=h.makeLabelFns(v,0).labelStandoff,T={xFn:function(t){var e=y(t);return Math.cos(e)*w},yFn:function(t){var e=y(t),r=Math.sin(e)>0?.2:1;return-Math.sin(e)*(w+t.fontSize*r)+Math.abs(Math.cos(e))*(t.fontSize*M)},anchorFn:function(t){var e=y(t),r=Math.cos(e);return Math.abs(r)<.1?\"middle\":r>0?\"start\":\"end\"},heightFn:function(t,e,r){var n=y(t);return-.5*(1+Math.sin(n))*r}},k=j(d);r.angularTickLayout!==k&&(i[\"angular-axis\"].selectAll(\".\"+v._id+\"tick\").remove(),r.angularTickLayout=k);var A,S=g?[1/0].concat(v.tickvals||[]).map((function(t){return h.tickText(v,t,!0,!1)})):h.calcTicks(v);if(g&&(S[0].text=\"∞\",S[0].fontSize*=1.75),\"linear\"===e.gridshape?(A=S.map(y),o.angleDelta(A[0],A[1])<0&&(A=A.slice().reverse())):A=null,r.vangles=A,\"category\"===v.type&&(S=S.filter((function(t){return o.isAngleInsideSector(y(t),r.sectorInRad)}))),v.visible){var E=\"inside\"===v.ticks?-1:1,L=(v.linewidth||1)/2;h.drawTicks(n,v,{vals:S,layer:i[\"angular-axis\"],path:\"M\"+E*L+\",0h\"+E*v.ticklen,transFn:b,crisp:!1}),h.drawGrid(n,v,{vals:S,layer:i[\"angular-grid\"],path:_,transFn:o.noop,crisp:!1}),h.drawLabels(n,v,{vals:S,layer:i[\"angular-axis\"],repositionOnUpdate:!0,transFn:x,labelFns:T})}V(i[\"angular-line\"].select(\"path\"),d.showline,{d:r.pathSubplot(),transform:l(f,p)}).attr(\"stroke-width\",d.linewidth).call(u.stroke,d.linecolor)},N.updateFx=function(t,e){this.gd._context.staticPlot||(!this.isSmith&&(this.updateAngularDrag(t),this.updateRadialDrag(t,e,0),this.updateRadialDrag(t,e,1)),this.updateHoverAndMainDrag(t))},N.updateHoverAndMainDrag=function(t){var e,r,s=this,u=s.isSmith,c=s.gd,f=s.layers,h=t._zoomlayer,p=S.MINZOOM,d=S.OFFEDGE,v=s.radius,x=s.innerRadius,T=s.cx,k=s.cy,A=s.cxx,M=s.cyy,L=s.sectorInRad,C=s.vangles,P=s.radialAxis,O=E.clampTiny,I=E.findXYatLength,z=E.findEnclosingVertexAngles,D=S.cornerHalfWidth,R=S.cornerLen/2,F=g.makeDragger(f,\"path\",\"maindrag\",!1===t.dragmode?\"none\":\"crosshair\");n.select(F).attr(\"d\",s.pathSubplot()).attr(\"transform\",l(T,k)),F.onmousemove=function(t){m.hover(c,t,s.id),c._fullLayout._lasthover=F,c._fullLayout._hoversubplot=s.id},F.onmouseout=function(t){c._dragging||y.unhover(c,t)};var B,N,j,U,V,q,H,G,W,Y={element:F,gd:c,subplot:s.id,plotinfo:{id:s.id,xaxis:s.xaxis,yaxis:s.yaxis},xaxes:[s.xaxis],yaxes:[s.yaxis]};function X(t,e){return Math.sqrt(t*t+e*e)}function Z(t,e){return X(t-A,e-M)}function K(t,e){return Math.atan2(M-e,t-A)}function J(t,e){return[t*Math.cos(e),t*Math.sin(-e)]}function $(t,e){if(0===t)return s.pathSector(2*D);var r=R/t,n=e-r,i=e+r,a=Math.max(0,Math.min(t,v)),o=a-D,l=a+D;return\"M\"+J(o,n)+\"A\"+[o,o]+\" 0,0,0 \"+J(o,i)+\"L\"+J(l,i)+\"A\"+[l,l]+\" 0,0,1 \"+J(l,n)+\"Z\"}function Q(t,e,r){if(0===t)return s.pathSector(2*D);var n,i,a=J(t,e),o=J(t,r),l=O((a[0]+o[0])/2),u=O((a[1]+o[1])/2);if(l&&u){var c=u/l,f=-1/c,h=I(D,c,l,u);n=I(R,f,h[0][0],h[0][1]),i=I(R,f,h[1][0],h[1][1])}else{var p,d;u?(p=R,d=D):(p=D,d=R),n=[[l-p,u-d],[l+p,u-d]],i=[[l-p,u+d],[l+p,u+d]]}return\"M\"+n.join(\"L\")+\"L\"+i.reverse().join(\"L\")+\"Z\"}function tt(t,e){return e=Math.max(Math.min(e,v),x),tp?(t-1&&1===t&&_(e,c,[s.xaxis],[s.yaxis],s.id,Y),r.indexOf(\"event\")>-1&&m.click(c,e,s.id)}Y.prepFn=function(t,n,a){var l=c._fullLayout.dragmode,f=F.getBoundingClientRect();c._fullLayout._calcInverseTransform(c);var p=c._fullLayout._invTransform;e=c._fullLayout._invScaleX,r=c._fullLayout._invScaleY;var d=o.apply3DTransform(p)(n-f.left,a-f.top);if(B=d[0],N=d[1],C){var y=E.findPolygonOffset(v,L[0],L[1],C);B+=A+y[0],N+=M+y[1]}switch(l){case\"zoom\":Y.clickFn=st,u||(Y.moveFn=C?it:rt,Y.doneFn=at,function(){j=null,U=null,V=s.pathSubplot(),q=!1;var t=c._fullLayout[s.id];H=i(t.bgcolor).getLuminance(),(G=g.makeZoombox(h,H,T,k,V)).attr(\"fill-rule\",\"evenodd\"),W=g.makeCorners(h,T,k),w(c)}());break;case\"select\":case\"lasso\":b(t,n,a,Y,l)}},y.init(Y)},N.updateRadialDrag=function(t,e,r){var i=this,u=i.gd,c=i.layers,f=i.radius,h=i.innerRadius,p=i.cx,d=i.cy,v=i.radialAxis,m=S.radialDragBoxSize,x=m/2;if(v.visible){var b,_,T,M=R(i.radialAxisAngle),E=v._rl,L=E[0],C=E[1],P=E[r],O=.75*(E[1]-E[0])/(1-i.getHole(e))/f;r?(b=p+(f+x)*Math.cos(M),_=d-(f+x)*Math.sin(M),T=\"radialdrag\"):(b=p+(h-x)*Math.cos(M),_=d-(h-x)*Math.sin(M),T=\"radialdrag-inner\");var I,z,D,B=g.makeRectDragger(c,T,\"crosshair\",-x,-x,m,m),N={element:B,gd:u};!1===t.dragmode&&(N.dragmode=!1),V(n.select(B),v.visible&&h0==(r?D>L:Dn?function(t){return t<=0}:function(t){return t>=0};t.c2g=function(r){var n=t.c2l(r)-e;return(s(n)?n:0)+o},t.g2c=function(r){return t.l2c(r+e-o)},t.g2p=function(t){return t*a},t.c2p=function(e){return t.g2p(t.c2g(e))}}}(t,e);break;case\"angularaxis\":!function(t,e){var r=t.type;if(\"linear\"===r){var i=t.d2c,s=t.c2d;t.d2c=function(t,e){return function(t,e){return\"degrees\"===e?a(t):t}(i(t),e)},t.c2d=function(t,e){return s(function(t,e){return\"degrees\"===e?o(t):t}(t,e))}}t.makeCalcdata=function(e,r){var n,i,a=e[r],o=e._length,s=function(r){return t.d2c(r,e.thetaunit)};if(a)for(n=new Array(o),i=0;i0?1:0}function r(t){var e=t[0],r=t[1];if(!isFinite(e)||!isFinite(r))return[1,0];var n=(e+1)*(e+1)+r*r;return[(e*e+r*r-1)/n,2*r/n]}function n(t,e){var r=e[0],n=e[1];return[r*t.radius+t.cx,-n*t.radius+t.cy]}function i(t,e){return e*t.radius}t.exports={smith:r,reactanceArc:function(t,e,a,o){var s=n(t,r([a,e])),l=s[0],u=s[1],c=n(t,r([o,e])),f=c[0],h=c[1];if(0===e)return[\"M\"+l+\",\"+u,\"L\"+f+\",\"+h].join(\" \");var p=i(t,1/Math.abs(e));return[\"M\"+l+\",\"+u,\"A\"+p+\",\"+p+\" 0 0,\"+(e<0?1:0)+\" \"+f+\",\"+h].join(\" \")},resistanceArc:function(t,a,o,s){var l=i(t,1/(a+1)),u=n(t,r([a,o])),c=u[0],f=u[1],h=n(t,r([a,s])),p=h[0],d=h[1];if(e(o)!==e(s)){var v=n(t,r([a,0]));return[\"M\"+c+\",\"+f,\"A\"+l+\",\"+l+\" 0 0,\"+(00){for(var n=[],i=0;i=c&&(h.min=0,d.min=0,g.min=0,t.aaxis&&delete t.aaxis.min,t.baxis&&delete t.baxis.min,t.caxis&&delete t.caxis.min)}function v(t,e,r,n){var i=h[e._name];function o(r,n){return a.coerce(t,e,i,r,n)}o(\"uirevision\",n.uirevision),e.type=\"linear\";var p=o(\"color\"),d=p!==i.color.dflt?p:r.font.color,v=e._name.charAt(0).toUpperCase(),g=\"Component \"+v,y=o(\"title.text\",g);e._hovertitle=y===g?y:v,a.coerceFont(o,\"title.font\",{weight:r.font.weight,style:r.font.style,variant:r.font.variant,family:r.font.family,size:a.bigFont(r.font.size),color:d}),o(\"min\"),c(t,e,o,\"linear\"),l(t,e,o,\"linear\"),s(t,e,o,\"linear\",{noAutotickangles:!0}),u(t,e,o,{outerTicks:!0}),o(\"showticklabels\")&&(a.coerceFont(o,\"tickfont\",{weight:r.font.weight,style:r.font.style,variant:r.font.variant,family:r.font.family,size:r.font.size,color:d}),o(\"tickangle\"),o(\"tickformat\")),f(t,e,o,{dfltColor:p,bgColor:r.bgColor,blend:60,showLine:!0,showGrid:!0,noZeroLine:!0,attributes:i}),o(\"hoverformat\"),o(\"layer\")}t.exports=function(t,e,r){o(t,e,r,{type:\"ternary\",attributes:h,handleDefaults:d,font:e.font,paper_bgcolor:e.paper_bgcolor})}},24696:function(t,e,r){\"use strict\";var n=r(33428),i=r(49760),a=r(24040),o=r(3400),s=o.strTranslate,l=o._,u=r(76308),c=r(43616),f=r(78344),h=r(92880).extendFlat,p=r(7316),d=r(54460),v=r(86476),g=r(93024),y=r(72760),m=y.freeMode,x=y.rectMode,b=r(81668),_=r(22676).prepSelect,w=r(22676).selectOnClick,T=r(22676).clearOutline,k=r(22676).clearSelectionsCache,A=r(33816);function M(t,e){this.id=t.id,this.graphDiv=t.graphDiv,this.init(e),this.makeFramework(e),this.aTickLayout=null,this.bTickLayout=null,this.cTickLayout=null}t.exports=M;var S=M.prototype;S.init=function(t){this.container=t._ternarylayer,this.defs=t._defs,this.layoutId=t._uid,this.traceHash={},this.layers={}},S.plot=function(t,e){var r=this,n=e[r.id],i=e._size;r._hasClipOnAxisFalse=!1;for(var a=0;aE*b?i=(a=b)*E:a=(i=x)/E,o=y*i/x,l=m*a/b,r=e.l+e.w*v-i/2,n=e.t+e.h*(1-g)-a/2,p.x0=r,p.y0=n,p.w=i,p.h=a,p.sum=_,p.xaxis={type:\"linear\",range:[w+2*k-_,_-w-2*T],domain:[v-o/2,v+o/2],_id:\"x\"},f(p.xaxis,p.graphDiv._fullLayout),p.xaxis.setScale(),p.xaxis.isPtWithinRange=function(t){return t.a>=p.aaxis.range[0]&&t.a<=p.aaxis.range[1]&&t.b>=p.baxis.range[1]&&t.b<=p.baxis.range[0]&&t.c>=p.caxis.range[1]&&t.c<=p.caxis.range[0]},p.yaxis={type:\"linear\",range:[w,_-T-k],domain:[g-l/2,g+l/2],_id:\"y\"},f(p.yaxis,p.graphDiv._fullLayout),p.yaxis.setScale(),p.yaxis.isPtWithinRange=function(){return!0};var A=p.yaxis.domain[0],M=p.aaxis=h({},t.aaxis,{range:[w,_-T-k],side:\"left\",tickangle:(+t.aaxis.tickangle||0)-30,domain:[A,A+l*E],anchor:\"free\",position:0,_id:\"y\",_length:i});f(M,p.graphDiv._fullLayout),M.setScale();var S=p.baxis=h({},t.baxis,{range:[_-w-k,T],side:\"bottom\",domain:p.xaxis.domain,anchor:\"free\",position:0,_id:\"x\",_length:i});f(S,p.graphDiv._fullLayout),S.setScale();var L=p.caxis=h({},t.caxis,{range:[_-w-T,k],side:\"right\",tickangle:(+t.caxis.tickangle||0)+30,domain:[A,A+l*E],anchor:\"free\",position:0,_id:\"y\",_length:i});f(L,p.graphDiv._fullLayout),L.setScale();var C=\"M\"+r+\",\"+(n+a)+\"h\"+i+\"l-\"+i/2+\",-\"+a+\"Z\";p.clipDef.select(\"path\").attr(\"d\",C),p.layers.plotbg.select(\"path\").attr(\"d\",C);var P=\"M0,\"+a+\"h\"+i+\"l-\"+i/2+\",-\"+a+\"Z\";p.clipDefRelative.select(\"path\").attr(\"d\",P);var O=s(r,n);p.plotContainer.selectAll(\".scatterlayer,.maplayer\").attr(\"transform\",O),p.clipDefRelative.select(\"path\").attr(\"transform\",null);var I=s(r-S._offset,n+a);p.layers.baxis.attr(\"transform\",I),p.layers.bgrid.attr(\"transform\",I);var z=s(r+i/2,n)+\"rotate(30)\"+s(0,-M._offset);p.layers.aaxis.attr(\"transform\",z),p.layers.agrid.attr(\"transform\",z);var D=s(r+i/2,n)+\"rotate(-30)\"+s(0,-L._offset);p.layers.caxis.attr(\"transform\",D),p.layers.cgrid.attr(\"transform\",D),p.drawAxes(!0),p.layers.aline.select(\"path\").attr(\"d\",M.showline?\"M\"+r+\",\"+(n+a)+\"l\"+i/2+\",-\"+a:\"M0,0\").call(u.stroke,M.linecolor||\"#000\").style(\"stroke-width\",(M.linewidth||0)+\"px\"),p.layers.bline.select(\"path\").attr(\"d\",S.showline?\"M\"+r+\",\"+(n+a)+\"h\"+i:\"M0,0\").call(u.stroke,S.linecolor||\"#000\").style(\"stroke-width\",(S.linewidth||0)+\"px\"),p.layers.cline.select(\"path\").attr(\"d\",L.showline?\"M\"+(r+i/2)+\",\"+n+\"l\"+i/2+\",\"+a:\"M0,0\").call(u.stroke,L.linecolor||\"#000\").style(\"stroke-width\",(L.linewidth||0)+\"px\"),p.graphDiv._context.staticPlot||p.initInteractions(),c.setClipUrl(p.layers.frontplot,p._hasClipOnAxisFalse?null:p.clipId,p.graphDiv)},S.drawAxes=function(t){var e=this,r=e.graphDiv,n=e.id.substr(7)+\"title\",i=e.layers,a=e.aaxis,o=e.baxis,s=e.caxis;if(e.drawAx(a),e.drawAx(o),e.drawAx(s),t){var u=Math.max(a.showticklabels?a.tickfont.size/2:0,(s.showticklabels?.75*s.tickfont.size:0)+(\"outside\"===s.ticks?.87*s.ticklen:0)),c=(o.showticklabels?o.tickfont.size:0)+(\"outside\"===o.ticks?o.ticklen:0)+3;i[\"a-title\"]=b.draw(r,\"a\"+n,{propContainer:a,propName:e.id+\".aaxis.title\",placeholder:l(r,\"Click to enter Component A title\"),attributes:{x:e.x0+e.w/2,y:e.y0-a.title.font.size/3-u,\"text-anchor\":\"middle\"}}),i[\"b-title\"]=b.draw(r,\"b\"+n,{propContainer:o,propName:e.id+\".baxis.title\",placeholder:l(r,\"Click to enter Component B title\"),attributes:{x:e.x0-c,y:e.y0+e.h+.83*o.title.font.size+c,\"text-anchor\":\"middle\"}}),i[\"c-title\"]=b.draw(r,\"c\"+n,{propContainer:s,propName:e.id+\".caxis.title\",placeholder:l(r,\"Click to enter Component C title\"),attributes:{x:e.x0+e.w+c,y:e.y0+e.h+.83*s.title.font.size+c,\"text-anchor\":\"middle\"}})}},S.drawAx=function(t){var e,r=this,n=r.graphDiv,i=t._name,a=i.charAt(0),s=t._id,l=r.layers[i],u=a+\"tickLayout\",c=(e=t).ticks+String(e.ticklen)+String(e.showticklabels);r[u]!==c&&(l.selectAll(\".\"+s+\"tick\").remove(),r[u]=c),t.setScale();var f=d.calcTicks(t),h=d.clipEnds(t,f),p=d.makeTransTickFn(t),v=d.getTickSigns(t)[2],g=o.deg2rad(30),y=v*(t.linewidth||1)/2,m=v*t.ticklen,x=r.w,b=r.h,_=\"b\"===a?\"M0,\"+y+\"l\"+Math.sin(g)*m+\",\"+Math.cos(g)*m:\"M\"+y+\",0l\"+Math.cos(g)*m+\",\"+-Math.sin(g)*m,w={a:\"M0,0l\"+b+\",-\"+x/2,b:\"M0,0l-\"+x/2+\",-\"+b,c:\"M0,0l-\"+b+\",\"+x/2}[a];d.drawTicks(n,t,{vals:\"inside\"===t.ticks?h:f,layer:l,path:_,transFn:p,crisp:!1}),d.drawGrid(n,t,{vals:h,layer:r.layers[a+\"grid\"],path:w,transFn:p,crisp:!1}),d.drawLabels(n,t,{vals:f,layer:l,transFn:p,labelFns:d.makeLabelFns(t,0,30)})};var L=A.MINZOOM/2+.87,C=\"m-0.87,.5h\"+L+\"v3h-\"+(L+5.2)+\"l\"+(L/2+2.6)+\",-\"+(.87*L+4.5)+\"l2.6,1.5l-\"+L/2+\",\"+.87*L+\"Z\",P=\"m0.87,.5h-\"+L+\"v3h\"+(L+5.2)+\"l-\"+(L/2+2.6)+\",-\"+(.87*L+4.5)+\"l-2.6,1.5l\"+L/2+\",\"+.87*L+\"Z\",O=\"m0,1l\"+L/2+\",\"+.87*L+\"l2.6,-1.5l-\"+(L/2+2.6)+\",-\"+(.87*L+4.5)+\"l-\"+(L/2+2.6)+\",\"+(.87*L+4.5)+\"l2.6,1.5l\"+L/2+\",-\"+.87*L+\"Z\",I=!0;function z(t){n.select(t).selectAll(\".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners\").remove()}S.clearOutline=function(){k(this.dragOptions),T(this.dragOptions.gd)},S.initInteractions=function(){var t,e,r,n,f,h,p,d,y,b,T,k,M=this,S=M.layers.plotbg.select(\"path\").node(),L=M.graphDiv,D=L._fullLayout._zoomlayer;function R(t){var e={};return e[M.id+\".aaxis.min\"]=t.a,e[M.id+\".baxis.min\"]=t.b,e[M.id+\".caxis.min\"]=t.c,e}function F(t,e){var r=L._fullLayout.clickmode;z(L),2===t&&(L.emit(\"plotly_doubleclick\",null),a.call(\"_guiRelayout\",L,R({a:0,b:0,c:0}))),r.indexOf(\"select\")>-1&&1===t&&w(e,L,[M.xaxis],[M.yaxis],M.id,M.dragOptions),r.indexOf(\"event\")>-1&&g.click(L,e,M.id)}function B(t,e){return 1-e/M.h}function N(t,e){return 1-(t+(M.h-e)/Math.sqrt(3))/M.w}function j(t,e){return(t-(M.h-e)/Math.sqrt(3))/M.w}function U(i,a){var o=r+i*t,s=n+a*e,l=Math.max(0,Math.min(1,B(0,n),B(0,s))),u=Math.max(0,Math.min(1,N(r,n),N(o,s))),c=Math.max(0,Math.min(1,j(r,n),j(o,s))),v=(l/2+c)*M.w,g=(1-l/2-u)*M.w,m=(v+g)/2,x=g-v,_=(1-l)*M.h,w=_-x/E;x.2?\"rgba(0,0,0,0.4)\":\"rgba(255,255,255,0.3)\").duration(200),k.transition().style(\"opacity\",1).duration(200),b=!0),L.emit(\"plotly_relayouting\",R(p))}function V(){z(L),p!==f&&(a.call(\"_guiRelayout\",L,R(p)),I&&L.data&&L._context.showTips&&(o.notifier(l(L,\"Double-click to zoom back out\"),\"long\"),I=!1))}function q(t,e){var r=t/M.xaxis._m,n=e/M.yaxis._m,i=[(p={a:f.a-n,b:f.b+(r+n)/2,c:f.c-(r-n)/2}).a,p.b,p.c].sort(o.sorterAsc),a=i.indexOf(p.a),l=i.indexOf(p.b),u=i.indexOf(p.c);i[0]<0&&(i[1]+i[0]/2<0?(i[2]+=i[0]+i[1],i[0]=i[1]=0):(i[2]+=i[0]/2,i[1]+=i[0]/2,i[0]=0),p={a:i[a],b:i[l],c:i[u]},e=(f.a-p.a)*M.yaxis._m,t=(f.c-p.c-f.b+p.b)*M.xaxis._m);var h=s(M.x0+t,M.y0+e);M.plotContainer.selectAll(\".scatterlayer,.maplayer\").attr(\"transform\",h);var d=s(-t,-e);M.clipDefRelative.select(\"path\").attr(\"transform\",d),M.aaxis.range=[p.a,M.sum-p.b-p.c],M.baxis.range=[M.sum-p.a-p.c,p.b],M.caxis.range=[M.sum-p.a-p.b,p.c],M.drawAxes(!1),M._hasClipOnAxisFalse&&M.plotContainer.select(\".scatterlayer\").selectAll(\".trace\").call(c.hideOutsideRangePoints,M),L.emit(\"plotly_relayouting\",R(p))}function H(){a.call(\"_guiRelayout\",L,R(p))}this.dragOptions={element:S,gd:L,plotinfo:{id:M.id,domain:L._fullLayout[M.id].domain,xaxis:M.xaxis,yaxis:M.yaxis},subplot:M.id,prepFn:function(a,l,c){M.dragOptions.xaxes=[M.xaxis],M.dragOptions.yaxes=[M.yaxis],t=L._fullLayout._invScaleX,e=L._fullLayout._invScaleY;var v=M.dragOptions.dragmode=L._fullLayout.dragmode;m(v)?M.dragOptions.minDrag=1:M.dragOptions.minDrag=void 0,\"zoom\"===v?(M.dragOptions.moveFn=U,M.dragOptions.clickFn=F,M.dragOptions.doneFn=V,function(t,e,a){var l=S.getBoundingClientRect();r=e-l.left,n=a-l.top,L._fullLayout._calcInverseTransform(L);var c=L._fullLayout._invTransform,v=o.apply3DTransform(c)(r,n);r=v[0],n=v[1],f={a:M.aaxis.range[0],b:M.baxis.range[1],c:M.caxis.range[1]},p=f,h=M.aaxis.range[1]-f.a,d=i(M.graphDiv._fullLayout[M.id].bgcolor).getLuminance(),y=\"M0,\"+M.h+\"L\"+M.w/2+\", 0L\"+M.w+\",\"+M.h+\"Z\",b=!1,T=D.append(\"path\").attr(\"class\",\"zoombox\").attr(\"transform\",s(M.x0,M.y0)).style({fill:d>.2?\"rgba(0,0,0,0)\":\"rgba(255,255,255,0)\",\"stroke-width\":0}).attr(\"d\",y),k=D.append(\"path\").attr(\"class\",\"zoombox-corners\").attr(\"transform\",s(M.x0,M.y0)).style({fill:u.background,stroke:u.defaultLine,\"stroke-width\":1,opacity:0}).attr(\"d\",\"M0,0Z\"),M.clearOutline(L)}(0,l,c)):\"pan\"===v?(M.dragOptions.moveFn=q,M.dragOptions.clickFn=F,M.dragOptions.doneFn=H,f={a:M.aaxis.range[0],b:M.baxis.range[1],c:M.caxis.range[1]},p=f,M.clearOutline(L)):(x(v)||m(v))&&_(a,l,c,M.dragOptions,v)}},S.onmousemove=function(t){g.hover(L,t,M.id),L._fullLayout._lasthover=S,L._fullLayout._hoversubplot=M.id},S.onmouseout=function(t){L._dragging||v.unhover(L,t)},v.init(this.dragOptions)}},24040:function(t,e,r){\"use strict\";var n=r(24248),i=r(16628),a=r(52416),o=r(63620),s=r(52200).addStyleRule,l=r(92880),u=r(45464),c=r(64859),f=l.extendFlat,h=l.extendDeepAll;function p(t){var r=t.name,i=t.categories,a=t.meta;if(e.modules[r])n.log(\"Type \"+r+\" already registered\");else{e.subplotsRegistry[t.basePlotModule.name]||function(t){var r=t.name;if(e.subplotsRegistry[r])n.log(\"Plot type \"+r+\" already registered.\");else for(var i in y(t),e.subplotsRegistry[r]=t,e.componentsRegistry)b(i,t.name)}(t.basePlotModule);for(var o={},l=0;l-1&&(f[p[r]].title={text:\"\"});for(r=0;r\")?\"\":e.html(t).text()}));return e.remove(),r}(w)).replace(/&(?!\\w+;|\\#[0-9]+;| \\#x[0-9A-F]+;)/g,\"&\")).replace(c,\"'\"),i.isIE()&&(w=(w=(w=w.replace(/\"/gi,\"'\")).replace(/(\\('#)([^']*)('\\))/gi,'(\"#$2\")')).replace(/(\\\\')/gi,'\"')),w}},84664:function(t,e,r){\"use strict\";var n=r(3400);t.exports=function(t,e){for(var r=0;rf+u||!n(c))}for(var p=0;p=0)return t}else if(\"string\"==typeof t&&\"%\"===(t=t.trim()).slice(-1)&&n(t.slice(0,-1))&&(t=+t.slice(0,-1))>=0)return t+\"%\"}function d(t,e,r,n,a,o){var s=!(!1===(o=o||{}).moduleHasSelected),l=!(!1===o.moduleHasUnselected),u=!(!1===o.moduleHasConstrain),c=!(!1===o.moduleHasCliponaxis),f=!(!1===o.moduleHasTextangle),p=!(!1===o.moduleHasInsideanchor),d=!!o.hasPathbar,v=Array.isArray(a)||\"auto\"===a,g=v||\"inside\"===a,y=v||\"outside\"===a;if(g||y){var m=h(n,\"textfont\",r.font),x=i.extendFlat({},m),b=!(t.textfont&&t.textfont.color);if(b&&delete x.color,h(n,\"insidetextfont\",x),d){var _=i.extendFlat({},m);b&&delete _.color,h(n,\"pathbar.textfont\",_)}y&&h(n,\"outsidetextfont\",m),s&&n(\"selected.textfont.color\"),l&&n(\"unselected.textfont.color\"),u&&n(\"constraintext\"),c&&n(\"cliponaxis\"),f&&n(\"textangle\"),n(\"texttemplate\")}g&&p&&n(\"insidetextanchor\")}t.exports={supplyDefaults:function(t,e,r,n){function c(r,n){return i.coerce(t,e,f,r,n)}if(s(t,e,n,c)){l(t,e,n,c),c(\"xhoverformat\"),c(\"yhoverformat\"),c(\"zorder\"),c(\"orientation\",e.x&&!e.y?\"h\":\"v\"),c(\"base\"),c(\"offset\"),c(\"width\"),c(\"text\"),c(\"hovertext\"),c(\"hovertemplate\");var h=c(\"textposition\");d(t,0,n,c,h,{moduleHasSelected:!0,moduleHasUnselected:!0,moduleHasConstrain:!0,moduleHasCliponaxis:!0,moduleHasTextangle:!0,moduleHasInsideanchor:!0}),u(t,e,c,r,n);var p=(e.marker.line||{}).color,v=o.getComponentMethod(\"errorbars\",\"supplyDefaults\");v(t,e,p||a.defaultLine,{axis:\"y\"}),v(t,e,p||a.defaultLine,{axis:\"x\",inherit:\"y\"}),i.coerceSelectionMarkerOpacity(e,c)}else e.visible=!1},crossTraceDefaults:function(t,e){var r,n;function a(t,e){return i.coerce(n._input,n,f,t,e)}for(var o=0;oa))return e}return void 0!==r?r:t.dflt},e.coerceColor=function(t,e,r){return i(e).isValid()?e:void 0!==r?r:t.dflt},e.coerceEnumerated=function(t,e,r){return t.coerceNumber&&(e=+e),-1!==t.values.indexOf(e)?e:void 0!==r?r:t.dflt},e.getValue=function(t,e){var r;return a(t)?e0?e+=r:c<0&&(e-=r)}return e}function z(t){var e=c,r=t.b,i=I(t);return n.inbox(r-e,i-e,_+(i-e)/(i-r)-1)}var D=t[f+\"a\"],R=t[h+\"a\"];v=Math.abs(D.r2c(D.range[1])-D.r2c(D.range[0]));var F=n.getDistanceFunction(i,p,d,(function(t){return(p(t)+d(t))/2}));if(n.getClosest(g,F,t),!1!==t.index&&g[t.index].p!==u){k||(L=function(t){return Math.min(A(t),t.p-m.bargroupwidth/2)},C=function(t){return Math.max(M(t),t.p+m.bargroupwidth/2)});var B=g[t.index],N=y.base?B.b+B.s:B.s;t[h+\"0\"]=t[h+\"1\"]=R.c2p(B[h],!0),t[h+\"LabelVal\"]=N;var j=m.extents[m.extents.round(B.p)];t[f+\"0\"]=D.c2p(x?L(B):j[0],!0),t[f+\"1\"]=D.c2p(x?C(B):j[1],!0);var U=void 0!==B.orig_p;return t[f+\"LabelVal\"]=U?B.orig_p:B.p,t.labelLabel=l(D,t[f+\"LabelVal\"],y[f+\"hoverformat\"]),t.valueLabel=l(R,t[h+\"LabelVal\"],y[h+\"hoverformat\"]),t.baseLabel=l(R,B.b,y[h+\"hoverformat\"]),t.spikeDistance=(function(t){var e=c,r=t.b,i=I(t);return n.inbox(r-e,i-e,w+(i-e)/(i-r)-1)}(B)+function(t){return P(A(t),M(t),w)}(B))/2,t[f+\"Spike\"]=D.c2p(B.p,!0),o(B,y,t),t.hovertemplate=y.hovertemplate,t}}function f(t,e){var r=e.mcc||t.marker.color,n=e.mlcc||t.marker.line.color,i=s(t,e);return a.opacity(r)?r:a.opacity(n)&&i?n:void 0}t.exports={hoverPoints:function(t,e,r,n,a){var o=c(t,e,r,n,a);if(o){var s=o.cd,l=s[0].trace,u=s[o.index];return o.color=f(l,u),i.getComponentMethod(\"errorbars\",\"hoverInfo\")(u,l,o),[o]}},hoverOnBars:c,getTraceColor:f}},51132:function(t,e,r){\"use strict\";t.exports={attributes:r(20832),layoutAttributes:r(39324),supplyDefaults:r(31508).supplyDefaults,crossTraceDefaults:r(31508).crossTraceDefaults,supplyLayoutDefaults:r(37156),calc:r(71820),crossTraceCalc:r(96376).crossTraceCalc,colorbar:r(5528),arraysToCalcdata:r(84664),plot:r(98184).plot,style:r(60100).style,styleOnSelect:r(60100).styleOnSelect,hoverPoints:r(63400).hoverPoints,eventData:r(52160),selectPoints:r(45784),moduleType:\"trace\",name:\"bar\",basePlotModule:r(57952),categories:[\"bar-like\",\"cartesian\",\"svg\",\"bar\",\"oriented\",\"errorBarsOK\",\"showLegend\",\"zoomScale\"],animatable:!0,meta:{}}},39324:function(t){\"use strict\";t.exports={barmode:{valType:\"enumerated\",values:[\"stack\",\"group\",\"overlay\",\"relative\"],dflt:\"group\",editType:\"calc\"},barnorm:{valType:\"enumerated\",values:[\"\",\"fraction\",\"percent\"],dflt:\"\",editType:\"calc\"},bargap:{valType:\"number\",min:0,max:1,editType:\"calc\"},bargroupgap:{valType:\"number\",min:0,max:1,dflt:0,editType:\"calc\"},barcornerradius:{valType:\"any\",editType:\"calc\"}}},37156:function(t,e,r){\"use strict\";var n=r(24040),i=r(54460),a=r(3400),o=r(39324),s=r(31508).validateCornerradius;t.exports=function(t,e,r){function l(r,n){return a.coerce(t,e,o,r,n)}for(var u=!1,c=!1,f=!1,h={},p=l(\"barmode\"),d=0;d0)-(t<0)}function A(t,e){return t0}function E(t,e,r,n,i){return!(t<0||e<0)&&(r<=t&&n<=e||r<=e&&n<=t||(i?t>=r*(e/n):e>=n*(t/r)))}function L(t){return\"auto\"===t?0:t}function C(t,e){var r=Math.PI/180*e,n=Math.abs(Math.sin(r)),i=Math.abs(Math.cos(r));return{x:t.width*i+t.height*n,y:t.width*n+t.height*i}}function P(t,e,r,n,i,a){var o=!!a.isHorizontal,s=!!a.constrained,l=a.angle||0,u=a.anchor,c=\"end\"===u,f=\"start\"===u,h=((a.leftToRight||0)+1)/2,p=1-h,d=a.hasB,v=a.r,g=a.overhead,y=i.width,m=i.height,x=Math.abs(e-t),b=Math.abs(n-r),w=x>2*_&&b>2*_?_:0;x-=2*w,b-=2*w;var T=L(l);\"auto\"!==l||y<=x&&m<=b||!(y>x||m>b)||(y>b||m>x)&&y_){var E=function(t,e,r,n,i,a,o,s,l){var u,c,f,h,p=Math.max(0,Math.abs(e-t)-2*_),d=Math.max(0,Math.abs(n-r)-2*_),v=a-_,g=o?v-Math.sqrt(v*v-(v-o)*(v-o)):v,y=l?2*v:s?v-o:2*g,m=l?2*v:s?2*g:v-o;return i.y/i.x>=d/(p-y)?h=d/i.y:i.y/i.x<=(d-m)/p?h=p/i.x:!l&&s?(u=i.x*i.x+i.y*i.y/4,f=(p-v)*(p-v)+(d/2-v)*(d/2-v)-v*v,h=(-(c=-2*i.x*(p-v)-i.y*(d/2-v))+Math.sqrt(c*c-4*u*f))/(2*u)):l?(u=(i.x*i.x+i.y*i.y)/4,f=(p/2-v)*(p/2-v)+(d/2-v)*(d/2-v)-v*v,h=(-(c=-i.x*(p/2-v)-i.y*(d/2-v))+Math.sqrt(c*c-4*u*f))/(2*u)):(u=i.x*i.x/4+i.y*i.y,f=(p/2-v)*(p/2-v)+(d-v)*(d-v)-v*v,h=(-(c=-i.x*(p/2-v)-2*i.y*(d-v))+Math.sqrt(c*c-4*u*f))/(2*u)),{scale:h=Math.min(1,h),pad:s?Math.max(0,v-Math.sqrt(Math.max(0,v*v-(v-(d-i.y*h)/2)*(v-(d-i.y*h)/2)))-o):Math.max(0,v-Math.sqrt(Math.max(0,v*v-(v-(p-i.x*h)/2)*(v-(p-i.x*h)/2)))-o)}}(t,e,r,n,S,v,g,o,d);k=E.scale,M=E.pad}else k=1,s&&(k=Math.min(1,x/S.x,b/S.y)),M=0;var P=i.left*p+i.right*h,O=(i.top+i.bottom)/2,I=(t+_)*p+(e-_)*h,z=(r+n)/2,D=0,R=0;if(f||c){var F=(o?S.x:S.y)/2;v&&(c||d)&&(w+=M);var B=o?A(t,e):A(r,n);o?f?(I=t+B*w,D=-B*F):(I=e-B*w,D=B*F):f?(z=r+B*w,R=-B*F):(z=n-B*w,R=B*F)}return{textX:P,textY:O,targetX:I,targetY:z,anchorX:D,anchorY:R,scale:k,rotate:T}}t.exports={plot:function(t,e,r,f,g,y){var w=e.xaxis,O=e.yaxis,I=t._fullLayout,z=t._context.staticPlot;g||(g={mode:I.barmode,norm:I.barmode,gap:I.bargap,groupgap:I.bargroupgap},p(\"bar\",I));var D=a.makeTraceGroups(f,r,\"trace bars\").each((function(r){var u=n.select(this),f=r[0].trace,p=r[0].t,D=\"waterfall\"===f.type,R=\"funnel\"===f.type,F=\"histogram\"===f.type,B=\"bar\"===f.type,N=B||R,j=0;D&&f.connector.visible&&\"between\"===f.connector.mode&&(j=f.connector.line.width/2);var U=\"h\"===f.orientation,V=S(g),q=a.ensureSingle(u,\"g\",\"points\"),H=T(f),G=q.selectAll(\"g.point\").data(a.identity,H);G.enter().append(\"g\").classed(\"point\",!0),G.exit().remove(),G.each((function(u,T){var S,D,R=n.select(this),q=function(t,e,r,n){var i=[],a=[],o=n?e:r,s=n?r:e;return i[0]=o.c2p(t.s0,!0),a[0]=s.c2p(t.p0,!0),i[1]=o.c2p(t.s1,!0),a[1]=s.c2p(t.p1,!0),n?[i,a]:[a,i]}(u,w,O,U),H=q[0][0],G=q[0][1],W=q[1][0],Y=q[1][1],X=0==(U?G-H:Y-W);if(X&&N&&v.getLineWidth(f,u)&&(X=!1),X||(X=!(i(H)&&i(G)&&i(W)&&i(Y))),u.isBlank=X,X&&(U?G=H:Y=W),j&&!X&&(U?(H-=A(H,G)*j,G+=A(H,G)*j):(W-=A(W,Y)*j,Y+=A(W,Y)*j)),\"waterfall\"===f.type){if(!X){var Z=f[u.dir].marker;S=Z.line.width,D=Z.color}}else S=v.getLineWidth(f,u),D=u.mc||f.marker.color;function K(t){var e=n.round(S/2%1,2);return 0===g.gap&&0===g.groupgap?n.round(Math.round(t)-e,2):t}var J=s.opacity(D)<1||S>.01?K:function(t,e,r){return r&&t===e?t:Math.abs(t-e)>=2?K(t):t>e?Math.ceil(t):Math.floor(t)};t._context.staticPlot||(H=J(H,G,U),G=J(G,H,U),W=J(W,Y,!U),Y=J(Y,W,!U));var $,Q=U?w.c2p:O.c2p;$=u.s0>0?u._sMax:u.s0<0?u._sMin:u.s1>0?u._sMax:u._sMin;var tt,et,rt=B||F?function(t,e){if(!t)return 0;var r,n=U?Math.abs(Y-W):Math.abs(G-H),i=U?Math.abs(G-H):Math.abs(Y-W),a=J(Math.abs(Q($,!0)-Q(0,!0))),o=u.hasB?Math.min(n/2,i/2):Math.min(n/2,a);return r=\"%\"===e?n*(Math.min(50,t)/100):t,J(Math.max(Math.min(r,o),0))}(p.cornerradiusvalue,p.cornerradiusform):0,nt=\"M\"+H+\",\"+W+\"V\"+Y+\"H\"+G+\"V\"+W+\"Z\",it=0;if(rt&&u.s){var at=0===k(u.s0)||k(u.s)===k(u.s0)?u.s1:u.s0;if((it=J(u.hasB?0:Math.abs(Q($,!0)-Q(at,!0))))0?Math.sqrt(it*(2*rt-it)):0,ft=ot>0?Math.max:Math.min;tt=\"M\"+H+\",\"+W+\"V\"+(Y-ut*st)+\"H\"+ft(G-(rt-it)*ot,H)+\"A \"+rt+\",\"+rt+\" 0 0 \"+lt+\" \"+G+\",\"+(Y-rt*st-ct)+\"V\"+(W+rt*st+ct)+\"A \"+rt+\",\"+rt+\" 0 0 \"+lt+\" \"+ft(G-(rt-it)*ot,H)+\",\"+(W+ut*st)+\"Z\"}else if(u.hasB)tt=\"M\"+(H+rt*ot)+\",\"+W+\"A \"+rt+\",\"+rt+\" 0 0 \"+lt+\" \"+H+\",\"+(W+rt*st)+\"V\"+(Y-rt*st)+\"A \"+rt+\",\"+rt+\" 0 0 \"+lt+\" \"+(H+rt*ot)+\",\"+Y+\"H\"+(G-rt*ot)+\"A \"+rt+\",\"+rt+\" 0 0 \"+lt+\" \"+G+\",\"+(Y-rt*st)+\"V\"+(W+rt*st)+\"A \"+rt+\",\"+rt+\" 0 0 \"+lt+\" \"+(G-rt*ot)+\",\"+W+\"Z\";else{var ht=(et=Math.abs(Y-W)+it)0?Math.sqrt(it*(2*rt-it)):0,dt=st>0?Math.max:Math.min;tt=\"M\"+(H+ht*ot)+\",\"+W+\"V\"+dt(Y-(rt-it)*st,W)+\"A \"+rt+\",\"+rt+\" 0 0 \"+lt+\" \"+(H+rt*ot-pt)+\",\"+Y+\"H\"+(G-rt*ot+pt)+\"A \"+rt+\",\"+rt+\" 0 0 \"+lt+\" \"+(G-ht*ot)+\",\"+dt(Y-(rt-it)*st,W)+\"V\"+W+\"Z\"}}else tt=nt}else tt=nt;var vt=M(a.ensureSingle(R,\"path\"),I,g,y);if(vt.style(\"vector-effect\",z?\"none\":\"non-scaling-stroke\").attr(\"d\",isNaN((G-H)*(Y-W))||X&&t._context.staticPlot?\"M0,0Z\":tt).call(l.setClipUrl,e.layerClipId,t),!I.uniformtext.mode&&V){var gt=l.makePointStyleFns(f);l.singlePointStyle(u,vt,f,gt,t)}!function(t,e,r,n,i,s,u,f,p,g,y,w,T){var k,S=e.xaxis,O=e.yaxis,I=t._fullLayout;function z(e,r,n){return a.ensureSingle(e,\"text\").text(r).attr({class:\"bartext bartext-\"+k,\"text-anchor\":\"middle\",\"data-notex\":1}).call(l.font,n).call(o.convertToTspans,t)}var D=n[0].trace,R=\"h\"===D.orientation,F=function(t,e,r,n,i){var o,s=e[0].trace;return o=s.texttemplate?function(t,e,r,n,i){var o=e[0].trace,s=a.castOption(o,r,\"texttemplate\");if(!s)return\"\";var l,u,f,h,p=\"histogram\"===o.type,d=\"waterfall\"===o.type,v=\"funnel\"===o.type,g=\"h\"===o.orientation;function y(t){return c(h,h.c2l(t),!0).text}g?(l=\"y\",u=i,f=\"x\",h=n):(l=\"x\",u=n,f=\"y\",h=i);var m,x=e[r],_={};_.label=x.p,_.labelLabel=_[l+\"Label\"]=(m=x.p,c(u,u.c2l(m),!0).text);var w=a.castOption(o,x.i,\"text\");(0===w||w)&&(_.text=w),_.value=x.s,_.valueLabel=_[f+\"Label\"]=y(x.s);var T={};b(T,o,x.i),(p||void 0===T.x)&&(T.x=g?_.value:_.label),(p||void 0===T.y)&&(T.y=g?_.label:_.value),(p||void 0===T.xLabel)&&(T.xLabel=g?_.valueLabel:_.labelLabel),(p||void 0===T.yLabel)&&(T.yLabel=g?_.labelLabel:_.valueLabel),d&&(_.delta=+x.rawS||x.s,_.deltaLabel=y(_.delta),_.final=x.v,_.finalLabel=y(_.final),_.initial=_.final-_.delta,_.initialLabel=y(_.initial)),v&&(_.value=x.s,_.valueLabel=y(_.value),_.percentInitial=x.begR,_.percentInitialLabel=a.formatPercent(x.begR),_.percentPrevious=x.difR,_.percentPreviousLabel=a.formatPercent(x.difR),_.percentTotal=x.sumR,_.percenTotalLabel=a.formatPercent(x.sumR));var k=a.castOption(o,x.i,\"customdata\");return k&&(_.customdata=k),a.texttemplateString(s,_,t._d3locale,T,_,o._meta||{})}(t,e,r,n,i):s.textinfo?function(t,e,r,n){var i=t[0].trace,o=\"h\"===i.orientation,s=\"waterfall\"===i.type,l=\"funnel\"===i.type;function u(t){return c(o?r:n,+t,!0).text}var f,h,p=i.textinfo,d=t[e],v=p.split(\"+\"),g=[],y=function(t){return-1!==v.indexOf(t)};if(y(\"label\")&&g.push((h=t[e].p,c(o?n:r,h,!0).text)),y(\"text\")&&(0===(f=a.castOption(i,d.i,\"text\"))||f)&&g.push(f),s){var m=+d.rawS||d.s,x=d.v,b=x-m;y(\"initial\")&&g.push(u(b)),y(\"delta\")&&g.push(u(m)),y(\"final\")&&g.push(u(x))}if(l){y(\"value\")&&g.push(u(d.s));var _=0;y(\"percent initial\")&&_++,y(\"percent previous\")&&_++,y(\"percent total\")&&_++;var w=_>1;y(\"percent initial\")&&(f=a.formatPercent(d.begR),w&&(f+=\" of initial\"),g.push(f)),y(\"percent previous\")&&(f=a.formatPercent(d.difR),w&&(f+=\" of previous\"),g.push(f)),y(\"percent total\")&&(f=a.formatPercent(d.sumR),w&&(f+=\" of total\"),g.push(f))}return g.join(\"
\")}(e,r,n,i):v.getValue(s.text,r),v.coerceString(m,o)}(I,n,i,S,O);k=function(t,e){var r=v.getValue(t.textposition,e);return v.coerceEnumerated(x,r)}(D,i);var B=\"stack\"===w.mode||\"relative\"===w.mode,N=n[i],j=!B||N._outmost,U=N.hasB,V=g&&g-y>_;if(F&&\"none\"!==k&&(!N.isBlank&&s!==u&&f!==p||\"auto\"!==k&&\"inside\"!==k)){var q=I.font,H=d.getBarColor(n[i],D),G=d.getInsideTextFont(D,i,q,H),W=d.getOutsideTextFont(D,i,q),Y=D.insidetextanchor||\"end\",X=r.datum();R?\"log\"===S.type&&X.s0<=0&&(s=S.range[0]0&&$>0;it=V?U?E(rt-2*g,nt,J,$,R)||E(rt,nt-2*g,J,$,R):R?E(rt-(g-y),nt,J,$,R)||E(rt,nt-2*(g-y),J,$,R):E(rt,nt-(g-y),J,$,R)||E(rt-2*(g-y),nt,J,$,R):E(rt,nt,J,$,R),at&&it?k=\"inside\":(k=\"outside\",Z.remove(),Z=null)}else k=\"inside\";if(!Z){var ot=(Z=z(r,F,Q=a.ensureUniformFontSize(t,\"outside\"===k?W:G))).attr(\"transform\");if(Z.attr(\"transform\",\"\"),J=(K=l.bBox(Z.node())).width,$=K.height,Z.attr(\"transform\",ot),J<=0||$<=0)return void Z.remove()}var st,lt=D.textangle;st=\"outside\"===k?function(t,e,r,n,i,a){var o,s=!!a.isHorizontal,l=!!a.constrained,u=a.angle||0,c=i.width,f=i.height,h=Math.abs(e-t),p=Math.abs(n-r);o=s?p>2*_?_:0:h>2*_?_:0;var d=1;l&&(d=s?Math.min(1,p/f):Math.min(1,h/c));var v=L(u),g=C(i,v),y=(s?g.x:g.y)/2,m=(i.left+i.right)/2,x=(i.top+i.bottom)/2,b=(t+e)/2,w=(r+n)/2,T=0,k=0,M=s?A(e,t):A(r,n);return s?(b=e-M*o,T=M*y):(w=n+M*o,k=-M*y),{textX:m,textY:x,targetX:b,targetY:w,anchorX:T,anchorY:k,scale:d,rotate:v}}(s,u,f,p,K,{isHorizontal:R,constrained:\"both\"===D.constraintext||\"outside\"===D.constraintext,angle:lt}):P(s,u,f,p,K,{isHorizontal:R,constrained:\"both\"===D.constraintext||\"inside\"===D.constraintext,angle:lt,anchor:Y,hasB:U,r:g,overhead:y}),st.fontSize=Q.size,h(\"histogram\"===D.type?\"bar\":D.type,st,I),N.transform=st;var ut=M(Z,I,w,T);a.setTransormAndDisplay(ut,st)}else r.select(\"text\").remove()}(t,e,R,r,T,H,G,W,Y,rt,it,g,y),e.layerClipId&&l.hideOutsideRangePoint(u,R.select(\"text\"),w,O,f.xcalendar,f.ycalendar)}));var W=!1===f.cliponaxis;l.setClipUrl(u,W?null:e.layerClipId,t)}));u.getComponentMethod(\"errorbars\",\"plot\")(t,D,e,g)},toMoveInsideBar:P}},45784:function(t){\"use strict\";function e(t,e,r,n,i){var a=e.c2p(n?t.s0:t.p0,!0),o=e.c2p(n?t.s1:t.p1,!0),s=r.c2p(n?t.p0:t.s0,!0),l=r.c2p(n?t.p1:t.s1,!0);return i?[(a+o)/2,(s+l)/2]:n?[o,(s+l)/2]:[(a+o)/2,l]}t.exports=function(t,r){var n,i=t.cd,a=t.xaxis,o=t.yaxis,s=i[0].trace,l=\"funnel\"===s.type,u=\"h\"===s.orientation,c=[];if(!1===r)for(n=0;n1||0===i.bargap&&0===i.bargroupgap&&!t[0].trace.marker.line.width)&&n.select(this).attr(\"shape-rendering\",\"crispEdges\")})),e.selectAll(\"g.points\").each((function(e){d(n.select(this),e[0].trace,t)})),s.getComponentMethod(\"errorbars\",\"style\")(e)},styleTextPoints:v,styleOnSelect:function(t,e,r){var i=e[0].trace;i.selectedpoints?function(t,e,r){a.selectedPointStyle(t.selectAll(\"path\"),e),function(t,e,r){t.each((function(t){var i,s=n.select(this);if(t.selected){i=o.ensureUniformFontSize(r,g(s,t,e,r));var l=e.selected.textfont&&e.selected.textfont.color;l&&(i.color=l),a.font(s,i)}else a.selectedTextStyle(s,e)}))}(t.selectAll(\"text\"),e,r)}(r,i,t):(d(r,i,t),s.getComponentMethod(\"errorbars\",\"style\")(r))},getInsideTextFont:m,getOutsideTextFont:x,getBarColor:_,resizeText:l}},55592:function(t,e,r){\"use strict\";var n=r(76308),i=r(94288).hasColorscale,a=r(27260),o=r(3400).coercePattern;t.exports=function(t,e,r,s,l){var u=r(\"marker.color\",s),c=i(t,\"marker\");c&&a(t,e,l,r,{prefix:\"marker.\",cLetter:\"c\"}),r(\"marker.line.color\",n.defaultLine),i(t,\"marker.line\")&&a(t,e,l,r,{prefix:\"marker.line.\",cLetter:\"c\"}),r(\"marker.line.width\"),r(\"marker.opacity\"),o(r,\"marker.pattern\",u,c),r(\"selected.marker.color\"),r(\"unselected.marker.color\")}},82744:function(t,e,r){\"use strict\";var n=r(33428),i=r(3400);function a(t){return\"_\"+t+\"Text_minsize\"}t.exports={recordMinTextSize:function(t,e,r){if(r.uniformtext.mode){var n=a(t),i=r.uniformtext.minsize,o=e.scale*e.fontSize;e.hide=o g.point\"}e.selectAll(s).each((function(t){var e=t.transform;if(e){e.scale=l&&e.hide?0:o/e.fontSize;var r=n.select(this).select(\"text\");i.setTransormAndDisplay(r,e)}}))}}}},78100:function(t,e,r){\"use strict\";var n,i=r(21776).Ks,a=r(92880).extendFlat,o=r(8319),s=r(20832);t.exports={r:o.r,theta:o.theta,r0:o.r0,dr:o.dr,theta0:o.theta0,dtheta:o.dtheta,thetaunit:o.thetaunit,base:a({},s.base,{}),offset:a({},s.offset,{}),width:a({},s.width,{}),text:a({},s.text,{}),hovertext:a({},s.hovertext,{}),marker:(n=a({},s.marker),delete n.cornerradius,n),hoverinfo:o.hoverinfo,hovertemplate:i(),selected:s.selected,unselected:s.unselected}},47056:function(t,e,r){\"use strict\";var n=r(94288).hasColorscale,i=r(47128),a=r(3400).isArrayOrTypedArray,o=r(84664),s=r(96376).setGroupPositions,l=r(4500),u=r(24040).traceIs,c=r(3400).extendFlat;t.exports={calc:function(t,e){for(var r=t._fullLayout,s=e.subplot,u=r[s].radialaxis,c=r[s].angularaxis,f=u.makeCalcdata(e,\"r\"),h=c.makeCalcdata(e,\"theta\"),p=e._length,d=new Array(p),v=f,g=h,y=0;yh.range[1]&&(x+=Math.PI),n.getClosest(u,(function(t){return v(m,x,[t.rp0,t.rp1],[t.thetag0,t.thetag1],d)?g+Math.min(1,Math.abs(t.thetag1-t.thetag0)/y)-1+(t.rp1-m)/(t.rp1-t.rp0)-1:1/0}),t),!1!==t.index){var b=u[t.index];t.x0=t.x1=b.ct[0],t.y0=t.y1=b.ct[1];var _=i.extendFlat({},b,{r:b.s,theta:b.p});return o(b,c,t),s(_,c,f,t),t.hovertemplate=c.hovertemplate,t.color=a(c,b),t.xLabelVal=t.yLabelVal=void 0,b.s<0&&(t.idealAlign=\"left\"),[t]}}},94456:function(t,e,r){\"use strict\";t.exports={moduleType:\"trace\",name:\"barpolar\",basePlotModule:r(40872),categories:[\"polar\",\"bar\",\"showLegend\"],attributes:r(78100),layoutAttributes:r(9320),supplyDefaults:r(70384),supplyLayoutDefaults:r(89580),calc:r(47056).calc,crossTraceCalc:r(47056).crossTraceCalc,plot:r(42040),colorbar:r(5528),formatLabels:r(22852),style:r(60100).style,styleOnSelect:r(60100).styleOnSelect,hoverPoints:r(68896),selectPoints:r(45784),meta:{}}},9320:function(t){\"use strict\";t.exports={barmode:{valType:\"enumerated\",values:[\"stack\",\"overlay\"],dflt:\"stack\",editType:\"calc\"},bargap:{valType:\"number\",dflt:.1,min:0,max:1,editType:\"calc\"}}},89580:function(t,e,r){\"use strict\";var n=r(3400),i=r(9320);t.exports=function(t,e,r){var a,o={};function s(r,o){return n.coerce(t[a]||{},e[a],i,r,o)}for(var l=0;l0?(u=o,c=l):(u=l,c=o);var f=[s.findEnclosingVertexAngles(u,t.vangles)[0],(u+c)/2,s.findEnclosingVertexAngles(c,t.vangles)[1]];return s.pathPolygonAnnulus(n,i,u,c,f,e,r)}:function(t,n,i,o){return a.pathAnnulus(t,n,i,o,e,r)}}(e),d=e.layers.frontplot.select(\"g.barlayer\");a.makeTraceGroups(d,r,\"trace bars\").each((function(){var r=n.select(this),s=a.ensureSingle(r,\"g\",\"points\").selectAll(\"g.point\").data(a.identity);s.enter().append(\"g\").style(\"vector-effect\",l?\"none\":\"non-scaling-stroke\").style(\"stroke-miterlimit\",2).classed(\"point\",!0),s.exit().remove(),s.each((function(t){var e,r=n.select(this),o=t.rp0=f.c2p(t.s0),s=t.rp1=f.c2p(t.s1),l=t.thetag0=h.c2g(t.p0),d=t.thetag1=h.c2g(t.p1);if(i(o)&&i(s)&&i(l)&&i(d)&&o!==s&&l!==d){var v=f.c2g(t.s1),g=(l+d)/2;t.ct=[u.c2p(v*Math.cos(g)),c.c2p(v*Math.sin(g))],e=p(o,s,l,d)}else e=\"M0,0Z\";a.ensureSingle(r,\"path\").attr(\"d\",e)})),o.setClipUrl(r,e._hasClipOnAxisFalse?e.clipIds.forTraces:null,t)}))}},63188:function(t,e,r){\"use strict\";var n=r(98304),i=r(52904),a=r(20832),o=r(22548),s=r(29736).axisHoverFormat,l=r(21776).Ks,u=r(92880).extendFlat,c=i.marker,f=c.line;t.exports={y:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},x:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},x0:{valType:\"any\",editType:\"calc+clearAxisTypes\"},y0:{valType:\"any\",editType:\"calc+clearAxisTypes\"},dx:{valType:\"number\",editType:\"calc\"},dy:{valType:\"number\",editType:\"calc\"},xperiod:i.xperiod,yperiod:i.yperiod,xperiod0:i.xperiod0,yperiod0:i.yperiod0,xperiodalignment:i.xperiodalignment,yperiodalignment:i.yperiodalignment,xhoverformat:s(\"x\"),yhoverformat:s(\"y\"),name:{valType:\"string\",editType:\"calc+clearAxisTypes\"},q1:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},median:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},q3:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},lowerfence:{valType:\"data_array\",editType:\"calc\"},upperfence:{valType:\"data_array\",editType:\"calc\"},notched:{valType:\"boolean\",editType:\"calc\"},notchwidth:{valType:\"number\",min:0,max:.5,dflt:.25,editType:\"calc\"},notchspan:{valType:\"data_array\",editType:\"calc\"},boxpoints:{valType:\"enumerated\",values:[\"all\",\"outliers\",\"suspectedoutliers\",!1],editType:\"calc\"},jitter:{valType:\"number\",min:0,max:1,editType:\"calc\"},pointpos:{valType:\"number\",min:-2,max:2,editType:\"calc\"},sdmultiple:{valType:\"number\",min:0,editType:\"calc\",dflt:1},sizemode:{valType:\"enumerated\",values:[\"quartiles\",\"sd\"],editType:\"calc\",dflt:\"quartiles\"},boxmean:{valType:\"enumerated\",values:[!0,\"sd\",!1],editType:\"calc\"},mean:{valType:\"data_array\",editType:\"calc\"},sd:{valType:\"data_array\",editType:\"calc\"},orientation:{valType:\"enumerated\",values:[\"v\",\"h\"],editType:\"calc+clearAxisTypes\"},quartilemethod:{valType:\"enumerated\",values:[\"linear\",\"exclusive\",\"inclusive\"],dflt:\"linear\",editType:\"calc\"},width:{valType:\"number\",min:0,dflt:0,editType:\"calc\"},marker:{outliercolor:{valType:\"color\",dflt:\"rgba(0, 0, 0, 0)\",editType:\"style\"},symbol:u({},c.symbol,{arrayOk:!1,editType:\"plot\"}),opacity:u({},c.opacity,{arrayOk:!1,dflt:1,editType:\"style\"}),angle:u({},c.angle,{arrayOk:!1,editType:\"calc\"}),size:u({},c.size,{arrayOk:!1,editType:\"calc\"}),color:u({},c.color,{arrayOk:!1,editType:\"style\"}),line:{color:u({},f.color,{arrayOk:!1,dflt:o.defaultLine,editType:\"style\"}),width:u({},f.width,{arrayOk:!1,dflt:0,editType:\"style\"}),outliercolor:{valType:\"color\",editType:\"style\"},outlierwidth:{valType:\"number\",min:0,dflt:1,editType:\"style\"},editType:\"style\"},editType:\"plot\"},line:{color:{valType:\"color\",editType:\"style\"},width:{valType:\"number\",min:0,dflt:2,editType:\"style\"},editType:\"plot\"},fillcolor:n(),whiskerwidth:{valType:\"number\",min:0,max:1,dflt:.5,editType:\"calc\"},showwhiskers:{valType:\"boolean\",editType:\"calc\"},offsetgroup:a.offsetgroup,alignmentgroup:a.alignmentgroup,selected:{marker:i.selected.marker,editType:\"style\"},unselected:{marker:i.unselected.marker,editType:\"style\"},text:u({},i.text,{}),hovertext:u({},i.hovertext,{}),hovertemplate:l({}),hoveron:{valType:\"flaglist\",flags:[\"boxes\",\"points\"],dflt:\"boxes+points\",editType:\"style\"},zorder:i.zorder}},62555:function(t,e,r){\"use strict\";var n=r(38248),i=r(54460),a=r(1220),o=r(3400),s=r(39032).BADNUM,l=o._;t.exports=function(t,e){var r,u,m,x,b,_,w,T=t._fullLayout,k=i.getFromId(t,e.xaxis||\"x\"),A=i.getFromId(t,e.yaxis||\"y\"),M=[],S=\"violin\"===e.type?\"_numViolins\":\"_numBoxes\";\"h\"===e.orientation?(m=k,x=\"x\",b=A,_=\"y\",w=!!e.yperiodalignment):(m=A,x=\"y\",b=k,_=\"x\",w=!!e.xperiodalignment);var E,L,C,P,O,I,z=function(t,e,r,i){var s,l=e+\"0\"in t;if(e in t||l&&\"d\"+e in t){var u=r.makeCalcdata(t,e);return[a(t,r,e,u).vals,u]}s=l?t[e+\"0\"]:\"name\"in t&&(\"category\"===r.type||n(t.name)&&-1!==[\"linear\",\"log\"].indexOf(r.type)||o.isDateTime(t.name)&&\"date\"===r.type)?t.name:i;for(var c=\"multicategory\"===r.type?r.r2c_just_indices(s):r.d2c(s,0,t[e+\"calendar\"]),f=t._length,h=new Array(f),p=0;pE.uf};if(e._hasPreCompStats){var U=e[x],V=function(t){return m.d2c((e[t]||[])[r])},q=1/0,H=-1/0;for(r=0;r=E.q1&&E.q3>=E.med){var W=V(\"lowerfence\");E.lf=W!==s&&W<=E.q1?W:p(E,C,P);var Y=V(\"upperfence\");E.uf=Y!==s&&Y>=E.q3?Y:d(E,C,P);var X=V(\"mean\");E.mean=X!==s?X:P?o.mean(C,P):(E.q1+E.q3)/2;var Z=V(\"sd\");E.sd=X!==s&&Z>=0?Z:P?o.stdev(C,P,E.mean):E.q3-E.q1,E.lo=v(E),E.uo=g(E);var K=V(\"notchspan\");K=K!==s&&K>0?K:y(E,P),E.ln=E.med-K,E.un=E.med+K;var J=E.lf,$=E.uf;e.boxpoints&&C.length&&(J=Math.min(J,C[0]),$=Math.max($,C[P-1])),e.notched&&(J=Math.min(J,E.ln),$=Math.max($,E.un)),E.min=J,E.max=$}else{var Q;o.warn([\"Invalid input - make sure that q1 <= median <= q3\",\"q1 = \"+E.q1,\"median = \"+E.med,\"q3 = \"+E.q3].join(\"\\n\")),Q=E.med!==s?E.med:E.q1!==s?E.q3!==s?(E.q1+E.q3)/2:E.q1:E.q3!==s?E.q3:0,E.med=Q,E.q1=E.q3=Q,E.lf=E.uf=Q,E.mean=E.sd=Q,E.ln=E.un=Q,E.min=E.max=Q}q=Math.min(q,E.min),H=Math.max(H,E.max),E.pts2=L.filter(j),M.push(E)}}e._extremes[m._id]=i.findExtremes(m,[q,H],{padded:!0})}else{var tt=m.makeCalcdata(e,x),et=function(t,e){for(var r=t.length,n=new Array(r+1),i=0;i=0&&it0){var ct,ft;(E={}).pos=E[_]=B[r],L=E.pts=nt[r].sort(f),P=(C=E[x]=L.map(h)).length,E.min=C[0],E.max=C[P-1],E.mean=o.mean(C,P),E.sd=o.stdev(C,P,E.mean)*e.sdmultiple,E.med=o.interp(C,.5),P%2&&(lt||ut)?(lt?(ct=C.slice(0,P/2),ft=C.slice(P/2+1)):ut&&(ct=C.slice(0,P/2+1),ft=C.slice(P/2)),E.q1=o.interp(ct,.5),E.q3=o.interp(ft,.5)):(E.q1=o.interp(C,.25),E.q3=o.interp(C,.75)),E.lf=p(E,C,P),E.uf=d(E,C,P),E.lo=v(E),E.uo=g(E);var ht=y(E,P);E.ln=E.med-ht,E.un=E.med+ht,at=Math.min(at,E.ln),ot=Math.max(ot,E.un),E.pts2=L.filter(j),M.push(E)}e.notched&&o.isTypedArray(tt)&&(tt=Array.from(tt)),e._extremes[m._id]=i.findExtremes(m,e.notched?tt.concat([at,ot]):tt,{padded:!0})}return function(t,e){if(o.isArrayOrTypedArray(e.selectedpoints))for(var r=0;r0?(M[0].t={num:T[S],dPos:N,posLetter:_,valLetter:x,labels:{med:l(t,\"median:\"),min:l(t,\"min:\"),q1:l(t,\"q1:\"),q3:l(t,\"q3:\"),max:l(t,\"max:\"),mean:\"sd\"===e.boxmean||\"sd\"===e.sizemode?l(t,\"mean ± σ:\").replace(\"σ\",1===e.sdmultiple?\"σ\":e.sdmultiple+\"σ\"):l(t,\"mean:\"),lf:l(t,\"lower fence:\"),uf:l(t,\"upper fence:\")}},T[S]++,M):[{t:{empty:!0}}]};var u={text:\"tx\",hovertext:\"htx\"};function c(t,e,r){for(var n in u)o.isArrayOrTypedArray(e[n])&&(Array.isArray(r)?o.isArrayOrTypedArray(e[n][r[0]])&&(t[u[n]]=e[n][r[0]][r[1]]):t[u[n]]=e[n][r])}function f(t,e){return t.v-e.v}function h(t){return t.v}function p(t,e,r){return 0===r?t.q1:Math.min(t.q1,e[Math.min(o.findBin(2.5*t.q1-1.5*t.q3,e,!0)+1,r-1)])}function d(t,e,r){return 0===r?t.q3:Math.max(t.q3,e[Math.max(o.findBin(2.5*t.q3-1.5*t.q1,e),0)])}function v(t){return 4*t.q1-3*t.q3}function g(t){return 4*t.q3-3*t.q1}function y(t,e){return 0===e?0:1.57*(t.q3-t.q1)/Math.sqrt(e)}},96404:function(t,e,r){\"use strict\";var n=r(54460),i=r(3400),a=r(71888).getAxisGroup,o=[\"v\",\"h\"];function s(t,e,r,o){var s,l,u,c=e.calcdata,f=e._fullLayout,h=o._id,p=h.charAt(0),d=[],v=0;for(s=0;s1,b=1-f[t+\"gap\"],_=1-f[t+\"groupgap\"];for(s=0;s0){var H=E.pointpos,G=E.jitter,W=E.marker.size/2,Y=0;H+G>=0&&((Y=V*(H+G))>M?(q=!0,j=W,B=Y):Y>R&&(j=W,B=M)),Y<=M&&(B=M);var X=0;H-G<=0&&((X=-V*(H-G))>S?(q=!0,U=W,N=X):X>F&&(U=W,N=S)),X<=S&&(N=S)}else B=M,N=S;var Z=new Array(u.length);for(l=0;l0?(g=\"v\",y=x>0?Math.min(_,b):Math.min(b)):x>0?(g=\"h\",y=Math.min(_)):y=0;if(y){e._length=y;var S=r(\"orientation\",g);e._hasPreCompStats?\"v\"===S&&0===x?(r(\"x0\",0),r(\"dx\",1)):\"h\"===S&&0===m&&(r(\"y0\",0),r(\"dy\",1)):\"v\"===S&&0===x?r(\"x0\"):\"h\"===S&&0===m&&r(\"y0\"),i.getComponentMethod(\"calendars\",\"handleTraceDefaults\")(t,e,[\"x\",\"y\"],a)}else e.visible=!1}function f(t,e,r,i){var a=i.prefix,o=n.coerce2(t,e,u,\"marker.outliercolor\"),s=r(\"marker.line.outliercolor\"),l=\"outliers\";e._hasPreCompStats?l=\"all\":(o||s)&&(l=\"suspectedoutliers\");var c=r(a+\"points\",l);c?(r(\"jitter\",\"all\"===c?.3:0),r(\"pointpos\",\"all\"===c?-1.5:0),r(\"marker.symbol\"),r(\"marker.opacity\"),r(\"marker.size\"),r(\"marker.angle\"),r(\"marker.color\",e.line.color),r(\"marker.line.color\"),r(\"marker.line.width\"),\"suspectedoutliers\"===c&&(r(\"marker.line.outliercolor\",e.marker.color),r(\"marker.line.outlierwidth\")),r(\"selected.marker.color\"),r(\"unselected.marker.color\"),r(\"selected.marker.size\"),r(\"unselected.marker.size\"),r(\"text\"),r(\"hovertext\")):delete e.marker;var f=r(\"hoveron\");\"all\"!==f&&-1===f.indexOf(\"points\")||r(\"hovertemplate\"),n.coerceSelectionMarkerOpacity(e,r)}t.exports={supplyDefaults:function(t,e,r,i){function s(r,i){return n.coerce(t,e,u,r,i)}if(c(t,e,s,i),!1!==e.visible){o(t,e,i,s),s(\"xhoverformat\"),s(\"yhoverformat\");var l=e._hasPreCompStats;l&&(s(\"lowerfence\"),s(\"upperfence\")),s(\"line.color\",(t.marker||{}).color||r),s(\"line.width\"),s(\"fillcolor\",a.addOpacity(e.line.color,.5));var h=!1;if(l){var p=s(\"mean\"),d=s(\"sd\");p&&p.length&&(h=!0,d&&d.length&&(h=\"sd\"))}s(\"whiskerwidth\");var v,g=s(\"sizemode\");\"quartiles\"===g&&(v=s(\"boxmean\",h)),s(\"showwhiskers\",\"quartiles\"===g),\"sd\"!==g&&\"sd\"!==v||s(\"sdmultiple\"),s(\"width\"),s(\"quartilemethod\");var y=!1;if(l){var m=s(\"notchspan\");m&&m.length&&(y=!0)}else n.validate(t.notchwidth,u.notchwidth)&&(y=!0);s(\"notched\",y)&&s(\"notchwidth\"),f(t,e,s,{prefix:\"box\"}),s(\"zorder\")}},crossTraceDefaults:function(t,e){var r,i;function a(t){return n.coerce(i._input,i,u,t)}for(var o=0;ot.lo&&(x.so=!0)}return a}));h.enter().append(\"path\").classed(\"point\",!0),h.exit().remove(),h.call(a.translatePoints,o,s)}function l(t,e,r,a){var o,s,l=e.val,u=e.pos,c=!!u.rangebreaks,f=a.bPos,h=a.bPosPxOffset||0,p=r.boxmean||(r.meanline||{}).visible;Array.isArray(a.bdPos)?(o=a.bdPos[0],s=a.bdPos[1]):(o=a.bdPos,s=a.bdPos);var d=t.selectAll(\"path.mean\").data(\"box\"===r.type&&r.boxmean||\"violin\"===r.type&&r.box.visible&&r.meanline.visible?i.identity:[]);d.enter().append(\"path\").attr(\"class\",\"mean\").style({fill:\"none\",\"vector-effect\":\"non-scaling-stroke\"}),d.exit().remove(),d.each((function(t){var e=u.c2l(t.pos+f,!0),i=u.l2p(e-o)+h,a=u.l2p(e+s)+h,d=c?(i+a)/2:u.l2p(e)+h,v=l.c2p(t.mean,!0),g=l.c2p(t.mean-t.sd,!0),y=l.c2p(t.mean+t.sd,!0);\"h\"===r.orientation?n.select(this).attr(\"d\",\"M\"+v+\",\"+i+\"V\"+a+(\"sd\"===p?\"m0,0L\"+g+\",\"+d+\"L\"+v+\",\"+i+\"L\"+y+\",\"+d+\"Z\":\"\")):n.select(this).attr(\"d\",\"M\"+i+\",\"+v+\"H\"+a+(\"sd\"===p?\"m0,0L\"+d+\",\"+g+\"L\"+i+\",\"+v+\"L\"+d+\",\"+y+\"Z\":\"\"))}))}t.exports={plot:function(t,e,r,a){var u=t._context.staticPlot,c=e.xaxis,f=e.yaxis;i.makeTraceGroups(a,r,\"trace boxes\").each((function(t){var e,r,i=n.select(this),a=t[0],h=a.t,p=a.trace;h.wdPos=h.bdPos*p.whiskerwidth,!0!==p.visible||h.empty?i.remove():(\"h\"===p.orientation?(e=f,r=c):(e=c,r=f),o(i,{pos:e,val:r},p,h,u),s(i,{x:c,y:f},p,h),l(i,{pos:e,val:r},p,h))}))},plotBoxAndWhiskers:o,plotPoints:s,plotBoxMean:l}},8264:function(t){\"use strict\";t.exports=function(t,e){var r,n,i=t.cd,a=t.xaxis,o=t.yaxis,s=[];if(!1===e)for(r=0;r=10)return null;for(var r=1/0,a=-1/0,o=t.length,s=0;s0?Math.floor:Math.ceil,O=L>0?Math.ceil:Math.floor,I=L>0?Math.min:Math.max,z=L>0?Math.max:Math.min,D=P(S+C),R=O(E-C),F=[[f=M(S)]];for(a=D;a*L=0;i--)a[c-i]=t[f][i],o[c-i]=e[f][i];for(s.push({x:a,y:o,bicubic:l}),i=f,a=[],o=[];i>=0;i--)a[f-i]=t[i][0],o[f-i]=e[i][0];return s.push({x:a,y:o,bicubic:u}),s}},19216:function(t,e,r){\"use strict\";var n=r(54460),i=r(92880).extendFlat;t.exports=function(t,e,r){var a,o,s,l,u,c,f,h,p,d,v,g,y,m,x=t[\"_\"+e],b=t[e+\"axis\"],_=b._gridlines=[],w=b._minorgridlines=[],T=b._boundarylines=[],k=t[\"_\"+r],A=t[r+\"axis\"];\"array\"===b.tickmode&&(b.tickvals=x.slice());var M=t._xctrl,S=t._yctrl,E=M[0].length,L=M.length,C=t._a.length,P=t._b.length;n.prepTicks(b),\"array\"===b.tickmode&&delete b.tickvals;var O=b.smoothing?3:1;function I(n){var i,a,o,s,l,u,c,f,p,d,v,g,y=[],m=[],x={};if(\"b\"===e)for(a=t.b2j(n),o=Math.floor(Math.max(0,Math.min(P-2,a))),s=a-o,x.length=P,x.crossLength=C,x.xy=function(e){return t.evalxy([],e,a)},x.dxy=function(e,r){return t.dxydi([],e,o,r,s)},i=0;i0&&(p=t.dxydi([],i-1,o,0,s),y.push(l[0]+p[0]/3),m.push(l[1]+p[1]/3),d=t.dxydi([],i-1,o,1,s),y.push(f[0]-d[0]/3),m.push(f[1]-d[1]/3)),y.push(f[0]),m.push(f[1]),l=f;else for(i=t.a2i(n),u=Math.floor(Math.max(0,Math.min(C-2,i))),c=i-u,x.length=C,x.crossLength=P,x.xy=function(e){return t.evalxy([],i,e)},x.dxy=function(e,r){return t.dxydj([],u,e,c,r)},a=0;a0&&(v=t.dxydj([],u,a-1,c,0),y.push(l[0]+v[0]/3),m.push(l[1]+v[1]/3),g=t.dxydj([],u,a-1,c,1),y.push(f[0]-g[0]/3),m.push(f[1]-g[1]/3)),y.push(f[0]),m.push(f[1]),l=f;return x.axisLetter=e,x.axis=b,x.crossAxis=A,x.value=n,x.constvar=r,x.index=h,x.x=y,x.y=m,x.smoothing=A.smoothing,x}function z(n){var i,a,o,s,l,u=[],c=[],f={};if(f.length=x.length,f.crossLength=k.length,\"b\"===e)for(o=Math.max(0,Math.min(P-2,n)),l=Math.min(1,Math.max(0,n-o)),f.xy=function(e){return t.evalxy([],e,n)},f.dxy=function(e,r){return t.dxydi([],e,o,r,l)},i=0;ix.length-1||_.push(i(z(o),{color:b.gridcolor,width:b.gridwidth,dash:b.griddash}));for(h=c;hx.length-1||v<0||v>x.length-1))for(g=x[s],y=x[v],a=0;ax[x.length-1]||w.push(i(I(d),{color:b.minorgridcolor,width:b.minorgridwidth,dash:b.minorgriddash}));b.startline&&T.push(i(z(0),{color:b.startlinecolor,width:b.startlinewidth})),b.endline&&T.push(i(z(x.length-1),{color:b.endlinecolor,width:b.endlinewidth}))}else{for(l=5e-15,c=(u=[Math.floor((x[x.length-1]-b.tick0)/b.dtick*(1+l)),Math.ceil((x[0]-b.tick0)/b.dtick/(1+l))].sort((function(t,e){return t-e})))[0],f=u[1],h=c;h<=f;h++)p=b.tick0+b.dtick*h,_.push(i(I(p),{color:b.gridcolor,width:b.gridwidth,dash:b.griddash}));for(h=c-1;hx[x.length-1]||w.push(i(I(d),{color:b.minorgridcolor,width:b.minorgridwidth,dash:b.minorgriddash}));b.startline&&T.push(i(I(x[0]),{color:b.startlinecolor,width:b.startlinewidth})),b.endline&&T.push(i(I(x[x.length-1]),{color:b.endlinecolor,width:b.endlinewidth}))}}},14724:function(t,e,r){\"use strict\";var n=r(54460),i=r(92880).extendFlat;t.exports=function(t,e){var r,a,o,s=e._labels=[],l=e._gridlines;for(r=0;re.length&&(t=t.slice(0,e.length)):t=[],i=0;i90&&(p-=180,l=-l),{angle:p,flip:l,p:t.c2p(n,e,r),offsetMultplier:u}}},164:function(t,e,r){\"use strict\";var n=r(33428),i=r(43616),a=r(87072),o=r(53416),s=r(15584),l=r(72736),u=r(3400),c=u.strRotate,f=u.strTranslate,h=r(84284);function p(t,e,r,s,l,u,c){var f=\"const-\"+l+\"-lines\",h=r.selectAll(\".\"+f).data(u);h.enter().append(\"path\").classed(f,!0).style(\"vector-effect\",c?\"none\":\"non-scaling-stroke\"),h.each((function(r){var s=r,l=s.x,u=s.y,c=a([],l,t.c2p),f=a([],u,e.c2p),h=\"M\"+o(c,f,s.smoothing);n.select(this).attr(\"d\",h).style(\"stroke-width\",s.width).style(\"stroke\",s.color).style(\"stroke-dasharray\",i.dashStyle(s.dash,s.width)).style(\"fill\",\"none\")})),h.exit().remove()}function d(t,e,r,a,o,u,h,p){var d=u.selectAll(\"text.\"+p).data(h);d.enter().append(\"text\").classed(p,!0);var v=0,g={};return d.each((function(o,u){var h;if(\"auto\"===o.axis.tickangle)h=s(a,e,r,o.xy,o.dxy);else{var p=(o.axis.tickangle+180)*Math.PI/180;h=s(a,e,r,o.xy,[Math.cos(p),Math.sin(p)])}u||(g={angle:h.angle,flip:h.flip});var d=(o.endAnchor?-1:1)*h.flip,y=n.select(this).attr({\"text-anchor\":d>0?\"start\":\"end\",\"data-notex\":1}).call(i.font,o.font).text(o.text).call(l.convertToTspans,t),m=i.bBox(this);y.attr(\"transform\",f(h.p[0],h.p[1])+c(h.angle)+f(o.axis.labelpadding*d,.3*m.height)),v=Math.max(v,m.width+o.axis.labelpadding)})),d.exit().remove(),g.maxExtent=v,g}t.exports=function(t,e,r,i){var l=t._context.staticPlot,c=e.xaxis,f=e.yaxis,h=t._fullLayout._clips;u.makeTraceGroups(i,r,\"trace\").each((function(e){var r=n.select(this),i=e[0],v=i.trace,g=v.aaxis,m=v.baxis,x=u.ensureSingle(r,\"g\",\"minorlayer\"),b=u.ensureSingle(r,\"g\",\"majorlayer\"),_=u.ensureSingle(r,\"g\",\"boundarylayer\"),w=u.ensureSingle(r,\"g\",\"labellayer\");r.style(\"opacity\",v.opacity),p(c,f,b,0,\"a\",g._gridlines,!0),p(c,f,b,0,\"b\",m._gridlines,!0),p(c,f,x,0,\"a\",g._minorgridlines,!0),p(c,f,x,0,\"b\",m._minorgridlines,!0),p(c,f,_,0,\"a-boundary\",g._boundarylines,l),p(c,f,_,0,\"b-boundary\",m._boundarylines,l);var T=d(t,c,f,v,0,w,g._labels,\"a-label\"),k=d(t,c,f,v,0,w,m._labels,\"b-label\");!function(t,e,r,n,i,a,o,l){var c,f,h,p,d=u.aggNums(Math.min,null,r.a),v=u.aggNums(Math.max,null,r.a),g=u.aggNums(Math.min,null,r.b),m=u.aggNums(Math.max,null,r.b);c=.5*(d+v),f=g,h=r.ab2xy(c,f,!0),p=r.dxyda_rough(c,f),void 0===o.angle&&u.extendFlat(o,s(r,i,a,h,r.dxydb_rough(c,f))),y(t,e,r,0,h,p,r.aaxis,i,a,o,\"a-title\"),c=d,f=.5*(g+m),h=r.ab2xy(c,f,!0),p=r.dxydb_rough(c,f),void 0===l.angle&&u.extendFlat(l,s(r,i,a,h,r.dxyda_rough(c,f))),y(t,e,r,0,h,p,r.baxis,i,a,l,\"b-title\")}(t,w,v,0,c,f,T,k),function(t,e,r,n,i){var s,l,c,f,h=r.select(\"#\"+t._clipPathId);h.size()||(h=r.append(\"clipPath\").classed(\"carpetclip\",!0));var p=u.ensureSingle(h,\"path\",\"carpetboundary\"),d=e.clipsegments,v=[];for(f=0;f90&&m<270,b=n.select(this);b.text(h.title.text).call(l.convertToTspans,t),x&&(_=(-l.lineCount(b)+g)*v*a-_),b.attr(\"transform\",f(e.p[0],e.p[1])+c(e.angle)+f(0,_)).attr(\"text-anchor\",\"middle\").call(i.font,h.title.font)})),b.exit().remove()}},81e3:function(t,e,r){\"use strict\";var n=r(24588),i=r(14952).findBin,a=r(30180),o=r(29056),s=r(26435),l=r(24464);t.exports=function(t){var e=t._a,r=t._b,u=e.length,c=r.length,f=t.aaxis,h=t.baxis,p=e[0],d=e[u-1],v=r[0],g=r[c-1],y=e[e.length-1]-e[0],m=r[r.length-1]-r[0],x=y*n.RELATIVE_CULL_TOLERANCE,b=m*n.RELATIVE_CULL_TOLERANCE;p-=x,d+=x,v-=b,g+=b,t.isVisible=function(t,e){return t>p&&tv&&ed||eg},t.setScale=function(){var e=t._x,r=t._y,n=a(t._xctrl,t._yctrl,e,r,f.smoothing,h.smoothing);t._xctrl=n[0],t._yctrl=n[1],t.evalxy=o([t._xctrl,t._yctrl],u,c,f.smoothing,h.smoothing),t.dxydi=s([t._xctrl,t._yctrl],f.smoothing,h.smoothing),t.dxydj=l([t._xctrl,t._yctrl],f.smoothing,h.smoothing)},t.i2a=function(t){var r=Math.max(0,Math.floor(t[0]),u-2),n=t[0]-r;return(1-n)*e[r]+n*e[r+1]},t.j2b=function(t){var e=Math.max(0,Math.floor(t[1]),u-2),n=t[1]-e;return(1-n)*r[e]+n*r[e+1]},t.ij2ab=function(e){return[t.i2a(e[0]),t.j2b(e[1])]},t.a2i=function(t){var r=Math.max(0,Math.min(i(t,e),u-2)),n=e[r],a=e[r+1];return Math.max(0,Math.min(u-1,r+(t-n)/(a-n)))},t.b2j=function(t){var e=Math.max(0,Math.min(i(t,r),c-2)),n=r[e],a=r[e+1];return Math.max(0,Math.min(c-1,e+(t-n)/(a-n)))},t.ab2ij=function(e){return[t.a2i(e[0]),t.b2j(e[1])]},t.i2c=function(e,r){return t.evalxy([],e,r)},t.ab2xy=function(n,i,a){if(!a&&(ne[u-1]|ir[c-1]))return[!1,!1];var o=t.a2i(n),s=t.b2j(i),l=t.evalxy([],o,s);if(a){var f,h,p,d,v=0,g=0,y=[];ne[u-1]?(f=u-2,h=1,v=(n-e[u-1])/(e[u-1]-e[u-2])):h=o-(f=Math.max(0,Math.min(u-2,Math.floor(o)))),ir[c-1]?(p=c-2,d=1,g=(i-r[c-1])/(r[c-1]-r[c-2])):d=s-(p=Math.max(0,Math.min(c-2,Math.floor(s)))),v&&(t.dxydi(y,f,p,h,d),l[0]+=y[0]*v,l[1]+=y[1]*v),g&&(t.dxydj(y,f,p,h,d),l[0]+=y[0]*g,l[1]+=y[1]*g)}return l},t.c2p=function(t,e,r){return[e.c2p(t[0]),r.c2p(t[1])]},t.p2x=function(t,e,r){return[e.p2c(t[0]),r.p2c(t[1])]},t.dadi=function(t){var r=Math.max(0,Math.min(e.length-2,t));return e[r+1]-e[r]},t.dbdj=function(t){var e=Math.max(0,Math.min(r.length-2,t));return r[e+1]-r[e]},t.dxyda=function(e,r,n,i){var a=t.dxydi(null,e,r,n,i),o=t.dadi(e,n);return[a[0]/o,a[1]/o]},t.dxydb=function(e,r,n,i){var a=t.dxydj(null,e,r,n,i),o=t.dbdj(r,i);return[a[0]/o,a[1]/o]},t.dxyda_rough=function(e,r,n){var i=y*(n||.1),a=t.ab2xy(e+i,r,!0),o=t.ab2xy(e-i,r,!0);return[.5*(a[0]-o[0])/i,.5*(a[1]-o[1])/i]},t.dxydb_rough=function(e,r,n){var i=m*(n||.1),a=t.ab2xy(e,r+i,!0),o=t.ab2xy(e,r-i,!0);return[.5*(a[0]-o[0])/i,.5*(a[1]-o[1])/i]},t.dpdx=function(t){return t._m},t.dpdy=function(t){return t._m}}},51512:function(t,e,r){\"use strict\";var n=r(3400);t.exports=function(t,e,r){var i,a,o,s=[],l=[],u=t[0].length,c=t.length;function f(e,r){var n,i=0,a=0;return e>0&&void 0!==(n=t[r][e-1])&&(a++,i+=n),e0&&void 0!==(n=t[r-1][e])&&(a++,i+=n),r0&&a0&&i1e-5);return n.log(\"Smoother converged to\",k,\"after\",A,\"iterations\"),t}},86411:function(t,e,r){\"use strict\";var n=r(3400).isArray1D;t.exports=function(t,e,r){var i=r(\"x\"),a=i&&i.length,o=r(\"y\"),s=o&&o.length;if(!a&&!s)return!1;if(e._cheater=!i,a&&!n(i)||s&&!n(o))e._length=null;else{var l=a?i.length:1/0;s&&(l=Math.min(l,o.length)),e.a&&e.a.length&&(l=Math.min(l,e.a.length)),e.b&&e.b.length&&(l=Math.min(l,e.b.length)),e._length=l}return!0}},83372:function(t,e,r){\"use strict\";var n=r(21776).Ks,i=r(6096),a=r(49084),o=r(45464),s=r(22548).defaultLine,l=r(92880).extendFlat,u=i.marker.line;t.exports=l({locations:{valType:\"data_array\",editType:\"calc\"},locationmode:i.locationmode,z:{valType:\"data_array\",editType:\"calc\"},geojson:l({},i.geojson,{}),featureidkey:i.featureidkey,text:l({},i.text,{}),hovertext:l({},i.hovertext,{}),marker:{line:{color:l({},u.color,{dflt:s}),width:l({},u.width,{dflt:1}),editType:\"calc\"},opacity:{valType:\"number\",arrayOk:!0,min:0,max:1,dflt:1,editType:\"style\"},editType:\"calc\"},selected:{marker:{opacity:i.selected.marker.opacity,editType:\"plot\"},editType:\"plot\"},unselected:{marker:{opacity:i.unselected.marker.opacity,editType:\"plot\"},editType:\"plot\"},hoverinfo:l({},o.hoverinfo,{editType:\"calc\",flags:[\"location\",\"z\",\"text\",\"name\"]}),hovertemplate:n(),showlegend:l({},o.showlegend,{dflt:!1})},a(\"\",{cLetter:\"z\",editTypeOverride:\"calc\"}))},7924:function(t,e,r){\"use strict\";var n=r(38248),i=r(39032).BADNUM,a=r(47128),o=r(20148),s=r(4500);function l(t){return t&&\"string\"==typeof t}t.exports=function(t,e){var r,u=e._length,c=new Array(u);r=e.geojson?function(t){return l(t)||n(t)}:l;for(var f=0;f\")}}(t,f,o),[t]}},54272:function(t,e,r){\"use strict\";t.exports={attributes:r(83372),supplyDefaults:r(30972),colorbar:r(96288),calc:r(7924),calcGeoJSON:r(88364).calcGeoJSON,plot:r(88364).plot,style:r(7947).style,styleOnSelect:r(7947).styleOnSelect,hoverPoints:r(69224),eventData:r(52428),selectPoints:r(17328),moduleType:\"trace\",name:\"choropleth\",basePlotModule:r(10816),categories:[\"geo\",\"noOpacity\",\"showLegend\"],meta:{}}},88364:function(t,e,r){\"use strict\";var n=r(33428),i=r(3400),a=r(27144),o=r(59972).getTopojsonFeatures,s=r(19280).findExtremes,l=r(7947).style;t.exports={calcGeoJSON:function(t,e){for(var r=t[0].trace,n=e[r.geo],i=n._subplot,l=r.locationmode,u=r._length,c=\"geojson-id\"===l?a.extractTraceFeature(t):o(r,i.topojson),f=[],h=[],p=0;p=0;n--){var i=r[n].id;if(\"string\"==typeof i&&0===i.indexOf(\"water\"))for(var a=n+1;a=0;r--)t.removeLayer(e[r][1])},s.dispose=function(){var t=this.subplot.map;this._removeLayers(),t.removeSource(this.sourceId)},t.exports=function(t,e){var r=e[0].trace,i=new o(t,r.uid),a=i.sourceId,s=n(e),l=i.below=t.belowLookup[\"trace-\"+r.uid];return t.map.addSource(a,{type:\"geojson\",data:s.geojson}),i._addLayers(s,l),e[0].trace._glTrace=i,i}},86040:function(t,e,r){\"use strict\";var n=r(49084),i=r(29736).axisHoverFormat,a=r(21776).Ks,o=r(52948),s=r(45464),l=r(92880).extendFlat,u={x:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},y:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},z:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},u:{valType:\"data_array\",editType:\"calc\"},v:{valType:\"data_array\",editType:\"calc\"},w:{valType:\"data_array\",editType:\"calc\"},sizemode:{valType:\"enumerated\",values:[\"scaled\",\"absolute\",\"raw\"],editType:\"calc\",dflt:\"scaled\"},sizeref:{valType:\"number\",editType:\"calc\",min:0},anchor:{valType:\"enumerated\",editType:\"calc\",values:[\"tip\",\"tail\",\"cm\",\"center\"],dflt:\"cm\"},text:{valType:\"string\",dflt:\"\",arrayOk:!0,editType:\"calc\"},hovertext:{valType:\"string\",dflt:\"\",arrayOk:!0,editType:\"calc\"},hovertemplate:a({editType:\"calc\"},{keys:[\"norm\"]}),uhoverformat:i(\"u\",1),vhoverformat:i(\"v\",1),whoverformat:i(\"w\",1),xhoverformat:i(\"x\"),yhoverformat:i(\"y\"),zhoverformat:i(\"z\"),showlegend:l({},s.showlegend,{dflt:!1})};l(u,n(\"\",{colorAttr:\"u/v/w norm\",showScaleDflt:!0,editTypeOverride:\"calc\"})),[\"opacity\",\"lightposition\",\"lighting\"].forEach((function(t){u[t]=o[t]})),u.hoverinfo=l({},s.hoverinfo,{editType:\"calc\",flags:[\"x\",\"y\",\"z\",\"u\",\"v\",\"w\",\"norm\",\"text\",\"name\"],dflt:\"x+y+z+norm+text+name\"}),u.transforms=void 0,t.exports=u},83344:function(t,e,r){\"use strict\";var n=r(47128);t.exports=function(t,e){for(var r=e.u,i=e.v,a=e.w,o=Math.min(e.x.length,e.y.length,e.z.length,r.length,i.length,a.length),s=-1/0,l=1/0,u=0;uo.level||o.starts.length&&a===o.level)}break;case\"constraint\":if(n.prefixBoundary=!1,n.edgepaths.length)return;var s=n.x.length,l=n.y.length,u=-1/0,c=1/0;for(r=0;r\":p>u&&(n.prefixBoundary=!0);break;case\"<\":(pu||n.starts.length&&h===c)&&(n.prefixBoundary=!0);break;case\"][\":f=Math.min(p[0],p[1]),h=Math.max(p[0],p[1]),fu&&(n.prefixBoundary=!0)}}}},55296:function(t,e,r){\"use strict\";var n=r(8932),i=r(41076),a=r(46960);t.exports={min:\"zmin\",max:\"zmax\",calc:function(t,e,r){var o=e.contours,s=e.line,l=o.size||1,u=o.coloring,c=i(e,{isColorbar:!0});if(\"heatmap\"===u){var f=n.extractOpts(e);r._fillgradient=f.reversescale?n.flipScale(f.colorscale):f.colorscale,r._zrange=[f.min,f.max]}else\"fill\"===u&&(r._fillcolor=c);r._line={color:\"lines\"===u?c:s.color,width:!1!==o.showlines?s.width:0,dash:s.dash},r._levels={start:o.start,end:a(o),size:l}}}},93252:function(t){\"use strict\";t.exports={BOTTOMSTART:[1,9,13,104,713],TOPSTART:[4,6,7,104,713],LEFTSTART:[8,12,14,208,1114],RIGHTSTART:[2,3,11,208,1114],NEWDELTA:[null,[-1,0],[0,-1],[-1,0],[1,0],null,[0,-1],[-1,0],[0,1],[0,1],null,[0,1],[1,0],[1,0],[0,-1]],CHOOSESADDLE:{104:[4,1],208:[2,8],713:[7,13],1114:[11,14]},SADDLEREMAINDER:{1:4,2:8,4:1,7:13,8:2,11:14,13:7,14:11},LABELDISTANCE:2,LABELINCREASE:10,LABELMIN:3,LABELMAX:10,LABELOPTIMIZER:{EDGECOST:1,ANGLECOST:1,NEIGHBORCOST:5,SAMELEVELFACTOR:10,SAMELEVELDISTANCE:5,MAXCOST:100,INITIALSEARCHPOINTS:10,ITERATIONS:5}}},95536:function(t,e,r){\"use strict\";var n=r(38248),i=r(17428),a=r(76308),o=a.addOpacity,s=a.opacity,l=r(69104),u=r(3400).isArrayOrTypedArray,c=l.CONSTRAINT_REDUCTION,f=l.COMPARISON_OPS2;t.exports=function(t,e,r,a,l,h){var p,d,v,g=e.contours,y=r(\"contours.operation\");g._operation=c[y],function(t,e){var r;-1===f.indexOf(e.operation)?(t(\"contours.value\",[0,1]),u(e.value)?e.value.length>2?e.value=e.value.slice(2):0===e.length?e.value=[0,1]:e.length<2?(r=parseFloat(e.value[0]),e.value=[r,r+1]):e.value=[parseFloat(e.value[0]),parseFloat(e.value[1])]:n(e.value)&&(r=parseFloat(e.value),e.value=[r,r+1])):(t(\"contours.value\",0),n(e.value)||(u(e.value)?e.value=parseFloat(e.value[0]):e.value=0))}(r,g),\"=\"===y?p=g.showlines=!0:(p=r(\"contours.showlines\"),v=r(\"fillcolor\",o((t.line||{}).color||l,.5))),p&&(d=r(\"line.color\",v&&s(v)?o(e.fillcolor,1):l),r(\"line.width\",2),r(\"line.dash\")),r(\"line.smoothing\"),i(r,a,d,h)}},3212:function(t,e,r){\"use strict\";var n=r(69104),i=r(38248);function a(t,e){var r,a=Array.isArray(e);function o(t){return i(t)?+t:null}return-1!==n.COMPARISON_OPS2.indexOf(t)?r=o(a?e[0]:e):-1!==n.INTERVAL_OPS.indexOf(t)?r=a?[o(e[0]),o(e[1])]:[o(e),o(e)]:-1!==n.SET_OPS.indexOf(t)&&(r=a?e.map(o):[o(e)]),r}function o(t){return function(e){e=a(t,e);var r=Math.min(e[0],e[1]),n=Math.max(e[0],e[1]);return{start:r,end:n,size:n-r}}}function s(t){return function(e){return{start:e=a(t,e),end:1/0,size:1/0}}}t.exports={\"[]\":o(\"[]\"),\"][\":o(\"][\"),\">\":s(\">\"),\"<\":s(\"<\"),\"=\":s(\"=\")}},84952:function(t){\"use strict\";t.exports=function(t,e,r,n){var i=n(\"contours.start\"),a=n(\"contours.end\"),o=!1===i||!1===a,s=r(\"contours.size\");!(o?e.autocontour=!0:r(\"autocontour\",!1))&&s||r(\"ncontours\")}},82172:function(t,e,r){\"use strict\";var n=r(3400);function i(t){return n.extendFlat({},t,{edgepaths:n.extendDeep([],t.edgepaths),paths:n.extendDeep([],t.paths),starts:n.extendDeep([],t.starts)})}t.exports=function(t,e){var r,a,o,s=function(t){return t.reverse()},l=function(t){return t};switch(e){case\"=\":case\"<\":return t;case\">\":for(1!==t.length&&n.warn(\"Contour data invalid for the specified inequality operation.\"),a=t[0],r=0;r1e3){n.warn(\"Too many contours, clipping at 1000\",t);break}return l}},46960:function(t){\"use strict\";t.exports=function(t){return t.end+t.size/1e6}},88748:function(t,e,r){\"use strict\";var n=r(3400),i=r(93252);function a(t,e,r,n){return Math.abs(t[0]-e[0])20&&e?208===t||1114===t?n=0===r[0]?1:-1:a=0===r[1]?1:-1:-1!==i.BOTTOMSTART.indexOf(t)?a=1:-1!==i.LEFTSTART.indexOf(t)?n=1:-1!==i.TOPSTART.indexOf(t)?a=-1:n=-1,[n,a]}(f,r,e),p=[s(t,e,[-h[0],-h[1]])],d=t.z.length,v=t.z[0].length,g=e.slice(),y=h.slice();for(u=0;u<1e4;u++){if(f>20?(f=i.CHOOSESADDLE[f][(h[0]||h[1])<0?0:1],t.crossings[c]=i.SADDLEREMAINDER[f]):delete t.crossings[c],!(h=i.NEWDELTA[f])){n.log(\"Found bad marching index:\",f,e,t.level);break}p.push(s(t,e,h)),e[0]+=h[0],e[1]+=h[1],c=e.join(\",\"),a(p[p.length-1],p[p.length-2],o,l)&&p.pop();var m=h[0]&&(e[0]<0||e[0]>v-2)||h[1]&&(e[1]<0||e[1]>d-2);if(e[0]===g[0]&&e[1]===g[1]&&h[0]===y[0]&&h[1]===y[1]||r&&m)break;f=t.crossings[c]}1e4===u&&n.log(\"Infinite loop in contour?\");var x,b,_,w,T,k,A,M,S,E,L,C,P,O,I,z=a(p[0],p[p.length-1],o,l),D=0,R=.2*t.smoothing,F=[],B=0;for(u=1;u=B;u--)if((x=F[u])=B&&x+F[b]M&&S--,t.edgepaths[S]=L.concat(p,E));break}V||(t.edgepaths[M]=p.concat(E))}for(M=0;M=m)&&(r<=y&&(r=y),o>=m&&(o=m),l=Math.floor((o-r)/s)+1,u=0),h=0;hy&&(v.unshift(y),g.unshift(g[0])),v[v.length-1]t?0:1)+(e[0][1]>t?0:2)+(e[1][1]>t?0:4)+(e[1][0]>t?0:8);return 5===r||10===r?t>(e[0][0]+e[0][1]+e[1][0]+e[1][1])/4?5===r?713:1114:5===r?104:208:15===r?0:r}t.exports=function(t){var e,r,a,o,s,l,u,c,f,h=t[0].z,p=h.length,d=h[0].length,v=2===p||2===d;for(r=0;r=0&&(n=m,s=l):Math.abs(r[1]-n[1])<.01?Math.abs(r[1]-m[1])<.01&&(m[0]-r[0])*(n[0]-m[0])>=0&&(n=m,s=l):i.log(\"endpt to newendpt is not vert. or horz.\",r,n,m)}if(r=n,s>=0)break;f+=\"L\"+n}if(s===t.edgepaths.length){i.log(\"unclosed perimeter path\");break}h=s,(d=-1===p.indexOf(h))&&(h=p[0],f+=\"Z\")}for(h=0;hn.center?n.right-s:s-n.left)/(c+Math.abs(Math.sin(u)*o)),p=(l>n.middle?n.bottom-l:l-n.top)/(Math.abs(f)+Math.cos(u)*o);if(h<1||p<1)return 1/0;var d=y.EDGECOST*(1/(h-1)+1/(p-1));d+=y.ANGLECOST*u*u;for(var v=s-c,g=l-f,m=s+c,x=l+f,b=0;b2*y.MAXCOST)break;p&&(s/=2),l=(o=u-s/2)+1.5*s}if(h<=y.MAXCOST)return c},e.addLabelData=function(t,e,r,n){var i=e.fontSize,a=e.width+i/3,o=Math.max(0,e.height-i/3),s=t.x,l=t.y,u=t.theta,c=Math.sin(u),f=Math.cos(u),h=function(t,e){return[s+t*f-e*c,l+t*c+e*f]},p=[h(-a/2,-o/2),h(-a/2,o/2),h(a/2,o/2),h(a/2,-o/2)];r.push({text:e.text,x:s,y:l,dy:e.dy,theta:u,level:e.level,width:a,height:o}),n.push(p)},e.drawLabels=function(t,e,r,a,o){var l=t.selectAll(\"text\").data(e,(function(t){return t.text+\",\"+t.x+\",\"+t.y+\",\"+t.theta}));if(l.exit().remove(),l.enter().append(\"text\").attr({\"data-notex\":1,\"text-anchor\":\"middle\"}).each((function(t){var e=t.x+Math.sin(t.theta)*t.dy,i=t.y-Math.cos(t.theta)*t.dy;n.select(this).text(t.text).attr({x:e,y:i,transform:\"rotate(\"+180*t.theta/Math.PI+\" \"+e+\" \"+i+\")\"}).call(s.convertToTspans,r)})),o){for(var u=\"\",c=0;cr.end&&(r.start=r.end=(r.start+r.end)/2),t._input.contours||(t._input.contours={}),i.extendFlat(t._input.contours,{start:r.start,end:r.end,size:r.size}),t._input.autocontour=!0}else if(\"constraint\"!==r.type){var u,c=r.start,f=r.end,h=t._input.contours;c>f&&(r.start=h.start=f,f=r.end=h.end=c,c=r.start),r.size>0||(u=c===f?1:a(c,f,t.ncontours).dtick,h.size=r.size=u)}}},52440:function(t,e,r){\"use strict\";var n=r(33428),i=r(43616),a=r(41648),o=r(41076);t.exports=function(t){var e=n.select(t).selectAll(\"g.contour\");e.style(\"opacity\",(function(t){return t[0].trace.opacity})),e.each((function(t){var e=n.select(this),r=t[0].trace,a=r.contours,s=r.line,l=a.size||1,u=a.start,c=\"constraint\"===a.type,f=!c&&\"lines\"===a.coloring,h=!c&&\"fill\"===a.coloring,p=f||h?o(r):null;e.selectAll(\"g.contourlevel\").each((function(t){n.select(this).selectAll(\"path\").call(i.lineGroupStyle,s.width,f?p(t.level):s.color,s.dash)}));var d=a.labelfont;if(e.selectAll(\"g.contourlabels text\").each((function(t){i.font(n.select(this),{weight:d.weight,style:d.style,variant:d.variant,family:d.family,size:d.size,color:d.color||(f?p(t.level):s.color)})})),c)e.selectAll(\"g.contourfill path\").style(\"fill\",r.fillcolor);else if(h){var v;e.selectAll(\"g.contourfill path\").style(\"fill\",(function(t){return void 0===v&&(v=t.level),p(t.level+.5*l)})),void 0===v&&(v=u),e.selectAll(\"g.contourbg path\").style(\"fill\",p(v-.5*l))}})),a(t)}},97680:function(t,e,r){\"use strict\";var n=r(27260),i=r(17428);t.exports=function(t,e,r,a,o){var s,l=r(\"contours.coloring\"),u=\"\";\"fill\"===l&&(s=r(\"contours.showlines\")),!1!==s&&(\"lines\"!==l&&(u=r(\"line.color\",\"#000\")),r(\"line.width\",.5),r(\"line.dash\")),\"none\"!==l&&(!0!==t.showlegend&&(e.showlegend=!1),e._dfltShowLegend=!1,n(t,e,a,r,{prefix:\"\",cLetter:\"z\"})),r(\"line.smoothing\"),i(r,a,u,o)}},37960:function(t,e,r){\"use strict\";var n=r(83328),i=r(67104),a=r(49084),o=r(92880).extendFlat,s=i.contours;t.exports=o({carpet:{valType:\"string\",editType:\"calc\"},z:n.z,a:n.x,a0:n.x0,da:n.dx,b:n.y,b0:n.y0,db:n.dy,text:n.text,hovertext:n.hovertext,transpose:n.transpose,atype:n.xtype,btype:n.ytype,fillcolor:i.fillcolor,autocontour:i.autocontour,ncontours:i.ncontours,contours:{type:s.type,start:s.start,end:s.end,size:s.size,coloring:{valType:\"enumerated\",values:[\"fill\",\"lines\",\"none\"],dflt:\"fill\",editType:\"calc\"},showlines:s.showlines,showlabels:s.showlabels,labelfont:s.labelfont,labelformat:s.labelformat,operation:s.operation,value:s.value,editType:\"calc\",impliedEdits:{autocontour:!1}},line:{color:i.line.color,width:i.line.width,dash:i.line.dash,smoothing:i.line.smoothing,editType:\"plot\"},zorder:i.zorder,transforms:void 0},a(\"\",{cLetter:\"z\",autoColorDflt:!1}))},30572:function(t,e,r){\"use strict\";var n=r(47128),i=r(3400),a=r(2872),o=r(26136),s=r(70448),l=r(11240),u=r(35744),c=r(3252),f=r(50948),h=r(54444);t.exports=function(t,e){var r=e._carpetTrace=f(t,e);if(r&&r.visible&&\"legendonly\"!==r.visible){if(!e.a||!e.b){var p=t.data[r.index],d=t.data[e.index];d.a||(d.a=p.a),d.b||(d.b=p.b),c(d,e,e._defaultColor,t._fullLayout)}var v=function(t,e){var r,c,f,h,p,d,v,g=e._carpetTrace,y=g.aaxis,m=g.baxis;y._minDtick=0,m._minDtick=0,i.isArray1D(e.z)&&a(e,y,m,\"a\",\"b\",[\"z\"]),r=e._a=e._a||e.a,h=e._b=e._b||e.b,r=r?y.makeCalcdata(e,\"_a\"):[],h=h?m.makeCalcdata(e,\"_b\"):[],c=e.a0||0,f=e.da||1,p=e.b0||0,d=e.db||1,v=e._z=o(e._z||e.z,e.transpose),e._emptypoints=l(v),s(v,e._emptypoints);var x=i.maxRowLength(v),b=\"scaled\"===e.xtype?\"\":r,_=u(e,b,c,f,x,y),w=\"scaled\"===e.ytype?\"\":h,T={a:_,b:u(e,w,p,d,v.length,m),z:v};return\"levels\"===e.contours.type&&\"none\"!==e.contours.coloring&&n(t,e,{vals:v,containerStr:\"\",cLetter:\"z\"}),[T]}(t,e);return h(e,e._z),v}}},3252:function(t,e,r){\"use strict\";var n=r(3400),i=r(51264),a=r(37960),o=r(95536),s=r(84952),l=r(97680);t.exports=function(t,e,r,u){function c(r,i){return n.coerce(t,e,a,r,i)}if(c(\"carpet\"),t.a&&t.b){if(!i(t,e,c,u,\"a\",\"b\"))return void(e.visible=!1);c(\"text\"),\"constraint\"===c(\"contours.type\")?o(t,e,c,u,r,{hasHover:!1}):(s(t,e,c,(function(r){return n.coerce2(t,e,a,r)})),l(t,e,c,u,{hasHover:!1}))}else e._defaultColor=r,e._length=null;c(\"zorder\")}},40448:function(t,e,r){\"use strict\";t.exports={attributes:r(37960),supplyDefaults:r(3252),colorbar:r(55296),calc:r(30572),plot:r(94440),style:r(52440),moduleType:\"trace\",name:\"contourcarpet\",basePlotModule:r(57952),categories:[\"cartesian\",\"svg\",\"carpet\",\"contour\",\"symbols\",\"showLegend\",\"hasLines\",\"carpetDependent\",\"noHover\",\"noSortingByValue\"],meta:{}}},94440:function(t,e,r){\"use strict\";var n=r(33428),i=r(87072),a=r(53416),o=r(43616),s=r(3400),l=r(72424),u=r(88748),c=r(23676),f=r(93252),h=r(82172),p=r(61512),d=r(56008),v=r(50948),g=r(77712);function y(t,e,r){var n=t.getPointAtLength(e),i=t.getPointAtLength(r),a=i.x-n.x,o=i.y-n.y,s=Math.sqrt(a*a+o*o);return[a/s,o/s]}function m(t){var e=Math.sqrt(t[0]*t[0]+t[1]*t[1]);return[t[0]/e,t[1]/e]}function x(t,e){var r=Math.abs(t[0]*e[0]+t[1]*e[1]);return Math.sqrt(1-r*r)/r}t.exports=function(t,e,r,b){var _=e.xaxis,w=e.yaxis;s.makeTraceGroups(b,r,\"contour\").each((function(r){var b=n.select(this),T=r[0],k=T.trace,A=k._carpetTrace=v(t,k),M=t.calcdata[A.index][0];if(A.visible&&\"legendonly\"!==A.visible){var S=T.a,E=T.b,L=k.contours,C=p(L,e,T),P=\"constraint\"===L.type,O=L._operation,I=P?\"=\"===O?\"lines\":\"fill\":L.coloring,z=[[S[0],E[E.length-1]],[S[S.length-1],E[E.length-1]],[S[S.length-1],E[0]],[S[0],E[0]]];l(C);var D=1e-8*(S[S.length-1]-S[0]),R=1e-8*(E[E.length-1]-E[0]);u(C,D,R);var F,B,N,j,U=C;\"constraint\"===L.type&&(U=h(C,O)),function(t,e){var r,n,i,a,o,s,l,u,c;for(r=0;r=0;j--)F=M.clipsegments[j],B=i([],F.x,_.c2p),N=i([],F.y,w.c2p),B.reverse(),N.reverse(),V.push(a(B,N,F.bicubic));var q=\"M\"+V.join(\"L\")+\"Z\";!function(t,e,r,n,o,l){var u,c,f,h,p=s.ensureSingle(t,\"g\",\"contourbg\").selectAll(\"path\").data(\"fill\"!==l||o?[]:[0]);p.enter().append(\"path\"),p.exit().remove();var d=[];for(h=0;h=0&&(h=L,d=v):Math.abs(f[1]-h[1])=0&&(h=L,d=v):s.log(\"endpt to newendpt is not vert. or horz.\",f,h,L)}if(d>=0)break;m+=S(f,h),f=h}if(d===e.edgepaths.length){s.log(\"unclosed perimeter path\");break}c=d,(b=-1===x.indexOf(c))&&(c=x[0],m+=S(f,h)+\"Z\",f=null)}for(c=0;cv&&(n.max=v),n.len=n.max-n.min}function g(t,e){var r,n=0,o=.1;return(Math.abs(t[0]-l)0?+p[c]:0),f.push({type:\"Feature\",geometry:{type:\"Point\",coordinates:y},properties:m})}}var b=o.extractOpts(e),_=b.reversescale?o.flipScale(b.colorscale):b.colorscale,w=_[0][1],T=[\"interpolate\",[\"linear\"],[\"heatmap-density\"],0,a.opacity(w)<1?w:a.addOpacity(w,0)];for(c=1;c<_.length;c++)T.push(_[c][0],_[c][1]);var k=[\"interpolate\",[\"linear\"],[\"get\",\"z\"],b.min,0,b.max,1];return i.extendFlat(u.heatmap.paint,{\"heatmap-weight\":d?k:1/(b.max-b.min),\"heatmap-color\":T,\"heatmap-radius\":v?{type:\"identity\",property:\"r\"}:e.radius,\"heatmap-opacity\":e.opacity}),u.geojson={type:\"FeatureCollection\",features:f},u.heatmap.layout.visibility=\"visible\",u}},97664:function(t,e,r){\"use strict\";var n=r(3400),i=r(27260),a=r(33928);t.exports=function(t,e,r,o){function s(r,i){return n.coerce(t,e,a,r,i)}var l=s(\"lon\")||[],u=s(\"lat\")||[],c=Math.min(l.length,u.length);c?(e._length=c,s(\"z\"),s(\"radius\"),s(\"below\"),s(\"text\"),s(\"hovertext\"),s(\"hovertemplate\"),i(t,e,o,s,{prefix:\"\",cLetter:\"z\"})):e.visible=!1}},96176:function(t){\"use strict\";t.exports=function(t,e){return t.lon=e.lon,t.lat=e.lat,t.z=e.z,t}},25336:function(t,e,r){\"use strict\";var n=r(54460),i=r(63312).hoverPoints,a=r(63312).getExtraText;t.exports=function(t,e,r){var o=i(t,e,r);if(o){var s=o[0],l=s.cd,u=l[0].trace,c=l[s.index];if(delete s.color,\"z\"in c){var f=s.subplot.mockAxis;s.z=c.z,s.zLabel=n.tickText(f,f.c2l(c.z),\"hover\").text}return s.extraText=a(u,c,l[0].t.labels),[s]}}},15088:function(t,e,r){\"use strict\";t.exports={attributes:r(33928),supplyDefaults:r(97664),colorbar:r(96288),formatLabels:r(11960),calc:r(90876),plot:r(35256),hoverPoints:r(25336),eventData:r(96176),getBelow:function(t,e){for(var r=e.getMapLayers(),n=0;n=0;r--)t.removeLayer(e[r][1])},o.dispose=function(){var t=this.subplot.map;this._removeLayers(),t.removeSource(this.sourceId)},t.exports=function(t,e){var r=e[0].trace,i=new a(t,r.uid),o=i.sourceId,s=n(e),l=i.below=t.belowLookup[\"trace-\"+r.uid];return t.map.addSource(o,{type:\"geojson\",data:s.geojson}),i._addLayers(s,l),i}},74248:function(t,e,r){\"use strict\";var n=r(3400);t.exports=function(t,e){for(var r=0;r\"),l.color=function(t,e){var r=t.marker,i=e.mc||r.color,a=e.mlc||r.line.color,o=e.mlw||r.line.width;return n(i)?i:n(a)&&o?a:void 0}(c,h),[l]}}},94704:function(t,e,r){\"use strict\";t.exports={attributes:r(20088),layoutAttributes:r(7076),supplyDefaults:r(45432).supplyDefaults,crossTraceDefaults:r(45432).crossTraceDefaults,supplyLayoutDefaults:r(11631),calc:r(23096),crossTraceCalc:r(4804),plot:r(42200),style:r(44544).style,hoverPoints:r(31488),eventData:r(34580),selectPoints:r(45784),moduleType:\"trace\",name:\"funnel\",basePlotModule:r(57952),categories:[\"bar-like\",\"cartesian\",\"svg\",\"oriented\",\"showLegend\",\"zoomScale\"],meta:{}}},7076:function(t){\"use strict\";t.exports={funnelmode:{valType:\"enumerated\",values:[\"stack\",\"group\",\"overlay\"],dflt:\"stack\",editType:\"calc\"},funnelgap:{valType:\"number\",min:0,max:1,editType:\"calc\"},funnelgroupgap:{valType:\"number\",min:0,max:1,dflt:0,editType:\"calc\"}}},11631:function(t,e,r){\"use strict\";var n=r(3400),i=r(7076);t.exports=function(t,e,r){var a=!1;function o(r,a){return n.coerce(t,e,i,r,a)}for(var s=0;s path\").each((function(t){if(!t.isBlank){var e=s.marker;n.select(this).call(a.fill,t.mc||e.color).call(a.stroke,t.mlc||e.line.color).call(i.dashLine,e.line.dash,t.mlw||e.line.width).style(\"opacity\",s.selectedpoints&&!t.selected?o:1)}})),u(r,s,t),r.selectAll(\".regions\").each((function(){n.select(this).selectAll(\"path\").style(\"stroke-width\",0).call(a.fill,s.connector.fillcolor)})),r.selectAll(\".lines\").each((function(){var t=s.connector.line;i.lineGroupStyle(n.select(this).selectAll(\"path\"),t.width,t.color,t.dash)}))}))}}},22332:function(t,e,r){\"use strict\";var n=r(74996),i=r(45464),a=r(86968).u,o=r(21776).Ks,s=r(21776).Gw,l=r(92880).extendFlat;t.exports={labels:n.labels,label0:n.label0,dlabel:n.dlabel,values:n.values,marker:{colors:n.marker.colors,line:{color:l({},n.marker.line.color,{dflt:null}),width:l({},n.marker.line.width,{dflt:1}),editType:\"calc\"},pattern:n.marker.pattern,editType:\"calc\"},text:n.text,hovertext:n.hovertext,scalegroup:l({},n.scalegroup,{}),textinfo:l({},n.textinfo,{flags:[\"label\",\"text\",\"value\",\"percent\"]}),texttemplate:s({editType:\"plot\"},{keys:[\"label\",\"color\",\"value\",\"text\",\"percent\"]}),hoverinfo:l({},i.hoverinfo,{flags:[\"label\",\"text\",\"value\",\"percent\",\"name\"]}),hovertemplate:o({},{keys:[\"label\",\"color\",\"value\",\"text\",\"percent\"]}),textposition:l({},n.textposition,{values:[\"inside\",\"none\"],dflt:\"inside\"}),textfont:n.textfont,insidetextfont:n.insidetextfont,title:{text:n.title.text,font:n.title.font,position:l({},n.title.position,{values:[\"top left\",\"top center\",\"top right\"],dflt:\"top center\"}),editType:\"plot\"},domain:a({name:\"funnelarea\",trace:!0,editType:\"calc\"}),aspectratio:{valType:\"number\",min:0,dflt:1,editType:\"plot\"},baseratio:{valType:\"number\",min:0,max:1,dflt:.333,editType:\"plot\"}}},91248:function(t,e,r){\"use strict\";var n=r(7316);e.name=\"funnelarea\",e.plot=function(t,r,i,a){n.plotBasePlot(e.name,t,r,i,a)},e.clean=function(t,r,i,a){n.cleanBasePlot(e.name,t,r,i,a)}},54e3:function(t,e,r){\"use strict\";var n=r(45768);t.exports={calc:function(t,e){return n.calc(t,e)},crossTraceCalc:function(t){n.crossTraceCalc(t,{type:\"funnelarea\"})}}},92688:function(t,e,r){\"use strict\";var n=r(3400),i=r(22332),a=r(86968).Q,o=r(31508).handleText,s=r(74174).handleLabelsAndValues,l=r(74174).handleMarkerDefaults;t.exports=function(t,e,r,u){function c(r,a){return n.coerce(t,e,i,r,a)}var f=c(\"labels\"),h=c(\"values\"),p=s(f,h),d=p.len;if(e._hasLabels=p.hasLabels,e._hasValues=p.hasValues,!e._hasLabels&&e._hasValues&&(c(\"label0\"),c(\"dlabel\")),d){e._length=d,l(t,e,u,c),c(\"scalegroup\");var v,g=c(\"text\"),y=c(\"texttemplate\");if(y||(v=c(\"textinfo\",Array.isArray(g)?\"text+percent\":\"percent\")),c(\"hovertext\"),c(\"hovertemplate\"),y||v&&\"none\"!==v){var m=c(\"textposition\");o(t,e,u,c,m,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1})}else\"none\"===v&&c(\"textposition\",\"none\");a(e,u,c),c(\"title.text\")&&(c(\"title.position\"),n.coerceFont(c,\"title.font\",u.font)),c(\"aspectratio\"),c(\"baseratio\")}else e.visible=!1}},62396:function(t,e,r){\"use strict\";t.exports={moduleType:\"trace\",name:\"funnelarea\",basePlotModule:r(91248),categories:[\"pie-like\",\"funnelarea\",\"showLegend\"],attributes:r(22332),layoutAttributes:r(61280),supplyDefaults:r(92688),supplyLayoutDefaults:r(35384),calc:r(54e3).calc,crossTraceCalc:r(54e3).crossTraceCalc,plot:r(39472),style:r(62096),styleOne:r(10528),meta:{}}},61280:function(t,e,r){\"use strict\";var n=r(85204).hiddenlabels;t.exports={hiddenlabels:n,funnelareacolorway:{valType:\"colorlist\",editType:\"calc\"},extendfunnelareacolors:{valType:\"boolean\",dflt:!0,editType:\"calc\"}}},35384:function(t,e,r){\"use strict\";var n=r(3400),i=r(61280);t.exports=function(t,e){function r(r,a){return n.coerce(t,e,i,r,a)}r(\"hiddenlabels\"),r(\"funnelareacolorway\",e.colorway),r(\"extendfunnelareacolors\")}},39472:function(t,e,r){\"use strict\";var n=r(33428),i=r(43616),a=r(3400),o=a.strScale,s=a.strTranslate,l=r(72736),u=r(98184).toMoveInsideBar,c=r(82744),f=c.recordMinTextSize,h=c.clearMinTextSize,p=r(69656),d=r(37820),v=d.attachFxHandlers,g=d.determineInsideTextFont,y=d.layoutAreas,m=d.prerenderTitles,x=d.positionTitleOutside,b=d.formatSliceLabel;function _(t,e){return\"l\"+(e[0]-t[0])+\",\"+(e[1]-t[1])}t.exports=function(t,e){var r=t._context.staticPlot,c=t._fullLayout;h(\"funnelarea\",c),m(e,t),y(e,c._size),a.makeTraceGroups(c._funnelarealayer,e,\"trace\").each((function(e){var h=n.select(this),d=e[0],y=d.trace;!function(t){if(t.length){var e=t[0],r=e.trace,n=r.aspectratio,i=r.baseratio;i>.999&&(i=.999);var a,o,s,l=Math.pow(i,2),u=e.vTotal,c=u,f=u*l/(1-l)/u,h=[];for(h.push(E()),o=t.length-1;o>-1;o--)if(!(s=t[o]).hidden){var p=s.v/c;f+=p,h.push(E())}var d=1/0,v=-1/0;for(o=0;o-1;o--)if(!(s=t[o]).hidden){var M=h[A+=1][0],S=h[A][1];s.TL=[-M,S],s.TR=[M,S],s.BL=T,s.BR=k,s.pxmid=(_=s.TR,w=s.BR,[.5*(_[0]+w[0]),.5*(_[1]+w[1])]),T=s.TL,k=s.TR}}function E(){var t,e={x:t=Math.sqrt(f),y:-t};return[e.x,e.y]}}(e),h.each((function(){var h=n.select(this).selectAll(\"g.slice\").data(e);h.enter().append(\"g\").classed(\"slice\",!0),h.exit().remove(),h.each((function(o,s){if(o.hidden)n.select(this).selectAll(\"path,g\").remove();else{o.pointNumber=o.i,o.curveNumber=y.index;var h=d.cx,m=d.cy,x=n.select(this),w=x.selectAll(\"path.surface\").data([o]);w.enter().append(\"path\").classed(\"surface\",!0).style({\"pointer-events\":r?\"none\":\"all\"}),x.call(v,t,e);var T=\"M\"+(h+o.TR[0])+\",\"+(m+o.TR[1])+_(o.TR,o.BR)+_(o.BR,o.BL)+_(o.BL,o.TL)+\"Z\";w.attr(\"d\",T),b(t,o,d);var k=p.castOption(y.textposition,o.pts),A=x.selectAll(\"g.slicetext\").data(o.text&&\"none\"!==k?[0]:[]);A.enter().append(\"g\").classed(\"slicetext\",!0),A.exit().remove(),A.each((function(){var r=a.ensureSingle(n.select(this),\"text\",\"\",(function(t){t.attr(\"data-notex\",1)})),p=a.ensureUniformFontSize(t,g(y,o,c.font));r.text(o.text).attr({class:\"slicetext\",transform:\"\",\"text-anchor\":\"middle\"}).call(i.font,p).call(l.convertToTspans,t);var d,v,x,b=i.bBox(r.node()),_=Math.min(o.BL[1],o.BR[1])+m,w=Math.max(o.TL[1],o.TR[1])+m;v=Math.max(o.TL[0],o.BL[0])+h,x=Math.min(o.TR[0],o.BR[0])+h,(d=u(v,x,_,w,b,{isHorizontal:!0,constrained:!0,angle:0,anchor:\"middle\"})).fontSize=p.size,f(y.type,d,c),e[s].transform=d,a.setTransormAndDisplay(r,d)}))}}));var m=n.select(this).selectAll(\"g.titletext\").data(y.title.text?[0]:[]);m.enter().append(\"g\").classed(\"titletext\",!0),m.exit().remove(),m.each((function(){var e=a.ensureSingle(n.select(this),\"text\",\"\",(function(t){t.attr(\"data-notex\",1)})),r=y.title.text;y._meta&&(r=a.templateString(r,y._meta)),e.text(r).attr({class:\"titletext\",transform:\"\",\"text-anchor\":\"middle\"}).call(i.font,y.title.font).call(l.convertToTspans,t);var u=x(d,c._size);e.attr(\"transform\",s(u.x,u.y)+o(Math.min(1,u.scale))+s(u.tx,u.ty))}))}))}))}},62096:function(t,e,r){\"use strict\";var n=r(33428),i=r(10528),a=r(82744).resizeText;t.exports=function(t){var e=t._fullLayout._funnelarealayer.selectAll(\".trace\");a(t,e,\"funnelarea\"),e.each((function(e){var r=e[0].trace,a=n.select(this);a.style({opacity:r.opacity}),a.selectAll(\"path.surface\").each((function(e){n.select(this).call(i,e,r,t)}))}))}},83328:function(t,e,r){\"use strict\";var n=r(52904),i=r(45464),a=r(25376),o=r(29736).axisHoverFormat,s=r(21776).Ks,l=r(21776).Gw,u=r(49084),c=r(92880).extendFlat;t.exports=c({z:{valType:\"data_array\",editType:\"calc\"},x:c({},n.x,{impliedEdits:{xtype:\"array\"}}),x0:c({},n.x0,{impliedEdits:{xtype:\"scaled\"}}),dx:c({},n.dx,{impliedEdits:{xtype:\"scaled\"}}),y:c({},n.y,{impliedEdits:{ytype:\"array\"}}),y0:c({},n.y0,{impliedEdits:{ytype:\"scaled\"}}),dy:c({},n.dy,{impliedEdits:{ytype:\"scaled\"}}),xperiod:c({},n.xperiod,{impliedEdits:{xtype:\"scaled\"}}),yperiod:c({},n.yperiod,{impliedEdits:{ytype:\"scaled\"}}),xperiod0:c({},n.xperiod0,{impliedEdits:{xtype:\"scaled\"}}),yperiod0:c({},n.yperiod0,{impliedEdits:{ytype:\"scaled\"}}),xperiodalignment:c({},n.xperiodalignment,{impliedEdits:{xtype:\"scaled\"}}),yperiodalignment:c({},n.yperiodalignment,{impliedEdits:{ytype:\"scaled\"}}),text:{valType:\"data_array\",editType:\"calc\"},hovertext:{valType:\"data_array\",editType:\"calc\"},transpose:{valType:\"boolean\",dflt:!1,editType:\"calc\"},xtype:{valType:\"enumerated\",values:[\"array\",\"scaled\"],editType:\"calc+clearAxisTypes\"},ytype:{valType:\"enumerated\",values:[\"array\",\"scaled\"],editType:\"calc+clearAxisTypes\"},zsmooth:{valType:\"enumerated\",values:[\"fast\",\"best\",!1],dflt:!1,editType:\"calc\"},hoverongaps:{valType:\"boolean\",dflt:!0,editType:\"none\"},connectgaps:{valType:\"boolean\",editType:\"calc\"},xgap:{valType:\"number\",dflt:0,min:0,editType:\"plot\"},ygap:{valType:\"number\",dflt:0,min:0,editType:\"plot\"},xhoverformat:o(\"x\"),yhoverformat:o(\"y\"),zhoverformat:o(\"z\",1),hovertemplate:s(),texttemplate:l({arrayOk:!1,editType:\"plot\"},{keys:[\"x\",\"y\",\"z\",\"text\"]}),textfont:a({editType:\"plot\",autoSize:!0,autoColor:!0,colorEditType:\"style\"}),showlegend:c({},i.showlegend,{dflt:!1}),zorder:n.zorder},{transforms:void 0},u(\"\",{cLetter:\"z\",autoColorDflt:!1}))},19512:function(t,e,r){\"use strict\";var n=r(24040),i=r(3400),a=r(54460),o=r(1220),s=r(55480),l=r(47128),u=r(2872),c=r(26136),f=r(70448),h=r(11240),p=r(35744),d=r(39032).BADNUM;function v(t){for(var e=[],r=t.length,n=0;n1){var e=(t[t.length-1]-t[0])/(t.length-1),r=Math.abs(e/100);for(k=0;kr)return!1}return!0}(M.rangebreaks||S.rangebreaks)&&(T=function(t,e,r){for(var n=[],i=-1,a=0;a=0;o--)(s=((f[[(r=(a=h[o])[0])-1,i=a[1]]]||v)[2]+(f[[r+1,i]]||v)[2]+(f[[r,i-1]]||v)[2]+(f[[r,i+1]]||v)[2])/20)&&(l[a]=[r,i,s],h.splice(o,1),u=!0);if(!u)throw\"findEmpties iterated with no new neighbors\";for(a in l)f[a]=l[a],c.push(l[a])}return c.sort((function(t,e){return e[2]-t[2]}))}},55512:function(t,e,r){\"use strict\";var n=r(93024),i=r(3400),a=i.isArrayOrTypedArray,o=r(54460),s=r(8932).extractOpts;t.exports=function(t,e,r,l,u){u||(u={});var c,f,h,p,d=u.isContour,v=t.cd[0],g=v.trace,y=t.xa,m=t.ya,x=v.x,b=v.y,_=v.z,w=v.xCenter,T=v.yCenter,k=v.zmask,A=g.zhoverformat,M=x,S=b;if(!1!==t.index){try{h=Math.round(t.index[1]),p=Math.round(t.index[0])}catch(e){return void i.error(\"Error hovering on heatmap, pointNumber must be [row,col], found:\",t.index)}if(h<0||h>=_[0].length||p<0||p>_.length)return}else{if(n.inbox(e-x[0],e-x[x.length-1],0)>0||n.inbox(r-b[0],r-b[b.length-1],0)>0)return;if(d){var E;for(M=[2*x[0]-x[1]],E=1;Ev&&(y=Math.max(y,Math.abs(t[a][o]-d)/(g-v))))}return y}t.exports=function(t,e){var r,i=1;for(o(t,e),r=0;r.01;r++)i=o(t,e,a(i));return i>.01&&n.log(\"interp2d didn't converge quickly\",i),t}},39096:function(t,e,r){\"use strict\";var n=r(3400);t.exports=function(t,e){t(\"texttemplate\");var r=n.extendFlat({},e.font,{color:\"auto\",size:\"auto\"});n.coerceFont(t,\"textfont\",r)}},35744:function(t,e,r){\"use strict\";var n=r(24040),i=r(3400).isArrayOrTypedArray;t.exports=function(t,e,r,a,o,s){var l,u,c,f=[],h=n.traceIs(t,\"contour\"),p=n.traceIs(t,\"histogram\"),d=n.traceIs(t,\"gl2d\");if(i(e)&&e.length>1&&!p&&\"category\"!==s.type){var v=e.length;if(!(v<=o))return h?e.slice(0,o):e.slice(0,o+1);if(h||d)f=Array.from(e).slice(0,o);else if(1===o)f=\"log\"===s.type?[.5*e[0],2*e[0]]:[e[0]-.5,e[0]+.5];else if(\"log\"===s.type){for(f=[Math.pow(e[0],1.5)/Math.pow(e[1],.5)],c=1;c0;)k=A.c2p(N[C]),C--;for(k0;)L=M.c2p(j[C]),C--;L=A._length||k<=0||E>=M._length||L<=0)return I.selectAll(\"image\").data([]).exit().remove(),void b(I);\"fast\"===Z?(J=W,$=G):(J=Q,$=tt);var et=document.createElement(\"canvas\");et.width=J,et.height=$;var rt,nt,it=et.getContext(\"2d\",{willReadFrequently:!0}),at=p(D,{noNumericCheck:!0,returnArray:!0});\"fast\"===Z?(rt=Y?function(t){return W-1-t}:l.identity,nt=X?function(t){return G-1-t}:l.identity):(rt=function(t){return l.constrain(Math.round(A.c2p(N[t])-r),0,Q)},nt=function(t){return l.constrain(Math.round(M.c2p(j[t])-E),0,tt)});var ot,st,lt,ut,ct=nt(0),ft=[ct,ct],ht=Y?0:1,pt=X?0:1,dt=0,vt=0,gt=0,yt=0;function mt(t,e){if(void 0!==t){var r=at(t);return r[0]=Math.round(r[0]),r[1]=Math.round(r[1]),r[2]=Math.round(r[2]),dt+=e,vt+=r[0]*e,gt+=r[1]*e,yt+=r[2]*e,r}return[0,0,0,0]}function xt(t,e,r,n){var i=t[r.bin0];if(void 0===i)return mt(void 0,1);var a,o=t[r.bin1],s=e[r.bin0],l=e[r.bin1],u=o-i||0,c=s-i||0;return a=void 0===o?void 0===l?0:void 0===s?2*(l-i):2*(2*l-s-i)/3:void 0===l?void 0===s?0:2*(2*i-o-s)/3:void 0===s?2*(2*l-o-i)/3:l+i-o-s,mt(i+r.frac*u+n.frac*(c+r.frac*a))}if(\"default\"!==Z){var bt,_t=0;try{bt=new Uint8Array(J*$*4)}catch(t){bt=new Array(J*$*4)}if(\"smooth\"===Z){var wt,Tt,kt,At=U||N,Mt=V||j,St=new Array(At.length),Et=new Array(Mt.length),Lt=new Array(Q),Ct=U?w:_,Pt=V?w:_;for(C=0;CZt||Zt>M._length))for(P=Gt;PJt||Jt>A._length)){var $t=c({x:Kt,y:Xt},D,t._fullLayout);$t.x=Kt,$t.y=Xt;var Qt=z.z[C][P];void 0===Qt?($t.z=\"\",$t.zLabel=\"\"):($t.z=Qt,$t.zLabel=s.tickText(Ut,Qt,\"hover\").text);var te=z.text&&z.text[C]&&z.text[C][P];void 0!==te&&!1!==te||(te=\"\"),$t.text=te;var ee=l.texttemplateString(Nt,$t,t._fullLayout._d3locale,$t,D._meta||{});if(ee){var re=ee.split(\"
\"),ne=re.length,ie=0;for(O=0;O0&&(a=!0);for(var l=0;la){var o=a-r[t];return r[t]=a,o}}return 0},max:function(t,e,r,i){var a=i[e];if(n(a)){if(a=Number(a),!n(r[t]))return r[t]=a,a;if(r[t]u?t>o?t>1.1*i?i:t>1.1*a?a:o:t>s?s:t>l?l:u:Math.pow(10,Math.floor(Math.log(t)/Math.LN10))}function p(t,e,r,n,a,s){if(n&&t>o){var l=d(e,a,s),u=d(r,a,s),c=t===i?0:1;return l[c]!==u[c]}return Math.floor(r/t)-Math.floor(e/t)>.1}function d(t,e,r){var n=e.c2d(t,i,r).split(\"-\");return\"\"===n[0]&&(n.unshift(),n[0]=\"-\"+n[0]),n}t.exports=function(t,e,r,n,a){var s,l,u=-1.1*e,h=-.1*e,p=t-h,d=r[0],v=r[1],g=Math.min(f(d+h,d+p,n,a),f(v+h,v+p,n,a)),y=Math.min(f(d+u,d+h,n,a),f(v+u,v+h,n,a));if(g>y&&yo){var m=s===i?1:6,x=s===i?\"M12\":\"M1\";return function(e,r){var o=n.c2d(e,i,a),s=o.indexOf(\"-\",m);s>0&&(o=o.substr(0,s));var u=n.d2c(o,0,a);if(ur.r2l(B)&&(j=o.tickIncrement(j,b.size,!0,p)),z.start=r.l2r(j),F||i.nestedProperty(e,y+\".start\").set(z.start)}var U=b.end,V=r.r2l(I.end),q=void 0!==V;if((b.endFound||q)&&V!==r.r2l(U)){var H=q?V:i.aggNums(Math.max,null,d);z.end=r.l2r(H),q||i.nestedProperty(e,y+\".start\").set(z.end)}var G=\"autobin\"+s;return!1===e._input[G]&&(e._input[y]=i.extendFlat({},e[y]||{}),delete e._input[G],delete e[G]),[z,d]}t.exports={calc:function(t,e){var r,a,p,d,v=[],g=[],y=\"h\"===e.orientation,m=o.getFromId(t,y?e.yaxis:e.xaxis),x=y?\"y\":\"x\",b={x:\"y\",y:\"x\"}[x],_=e[x+\"calendar\"],w=e.cumulative,T=h(t,e,m,x),k=T[0],A=T[1],M=\"string\"==typeof k.size,S=[],E=M?S:k,L=[],C=[],P=[],O=0,I=e.histnorm,z=e.histfunc,D=-1!==I.indexOf(\"density\");w.enabled&&D&&(I=I.replace(/ ?density$/,\"\"),D=!1);var R,F=\"max\"===z||\"min\"===z?null:0,B=l.count,N=u[I],j=!1,U=function(t){return m.r2c(t,0,_)};for(i.isArrayOrTypedArray(e[b])&&\"count\"!==z&&(R=e[b],j=\"avg\"===z,B=l[z]),r=U(k.start),p=U(k.end)+(r-o.tickIncrement(r,k.size,!1,_))/1e6;r=0&&d=0;n--)s(n);else if(\"increasing\"===e){for(n=1;n=0;n--)t[n]+=t[n+1];\"exclude\"===r&&(t.push(0),t.shift())}}(g,w.direction,w.currentbin);var J=Math.min(v.length,g.length),$=[],Q=0,tt=J-1;for(r=0;r=Q;r--)if(g[r]){tt=r;break}for(r=Q;r<=tt;r++)if(n(v[r])&&n(g[r])){var et={p:v[r],s:g[r],b:0};w.enabled||(et.pts=P[r],W?et.ph0=et.ph1=P[r].length?A[P[r][0]]:v[r]:(e._computePh=!0,et.ph0=H(S[r]),et.ph1=H(S[r+1],!0))),$.push(et)}return 1===$.length&&($[0].width1=o.tickIncrement($[0].p,k.size,!1,_)-$[0].p),s($,e),i.isArrayOrTypedArray(e.selectedpoints)&&i.tagSelected($,e,Z),$},calcAllAutoBins:h}},73316:function(t){\"use strict\";t.exports={eventDataKeys:[\"binNumber\"]}},80536:function(t,e,r){\"use strict\";var n=r(3400),i=r(79811),a=r(24040).traceIs,o=r(20011),s=r(31508).validateCornerradius,l=n.nestedProperty,u=r(71888).getAxisGroup,c=[{aStr:{x:\"xbins.start\",y:\"ybins.start\"},name:\"start\"},{aStr:{x:\"xbins.end\",y:\"ybins.end\"},name:\"end\"},{aStr:{x:\"xbins.size\",y:\"ybins.size\"},name:\"size\"},{aStr:{x:\"nbinsx\",y:\"nbinsy\"},name:\"nbins\"}],f=[\"x\",\"y\"];t.exports=function(t,e){var r,h,p,d,v,g,y,m=e._histogramBinOpts={},x=[],b={},_=[];function w(t,e){return n.coerce(r._input,r,r._module.attributes,t,e)}function T(t){return\"v\"===t.orientation?\"x\":\"y\"}function k(t,r,a){var o=t.uid+\"__\"+a;r||(r=o);var s=function(t,r){return i.getFromTrace({_fullLayout:e},t,r).type}(t,a),l=t[a+\"calendar\"]||\"\",u=m[r],c=!0;u&&(s===u.axType&&l===u.calendar?(c=!1,u.traces.push(t),u.dirs.push(a)):(r=o,s!==u.axType&&n.warn([\"Attempted to group the bins of trace\",t.index,\"set on a\",\"type:\"+s,\"axis\",\"with bins on\",\"type:\"+u.axType,\"axis.\"].join(\" \")),l!==u.calendar&&n.warn([\"Attempted to group the bins of trace\",t.index,\"set with a\",l,\"calendar\",\"with bins\",u.calendar?\"on a \"+u.calendar+\" calendar\":\"w/o a set calendar\"].join(\" \")))),c&&(m[r]={traces:[t],dirs:[a],axType:s,calendar:t[a+\"calendar\"]||\"\"}),t[\"_\"+a+\"bingroup\"]=r}for(v=0;vS&&T.splice(S,T.length-S),M.length>S&&M.splice(S,M.length-S);var E=[],L=[],C=[],P=\"string\"==typeof w.size,O=\"string\"==typeof A.size,I=[],z=[],D=P?I:w,R=O?z:A,F=0,B=[],N=[],j=e.histnorm,U=e.histfunc,V=-1!==j.indexOf(\"density\"),q=\"max\"===U||\"min\"===U?null:0,H=a.count,G=o[j],W=!1,Y=[],X=[],Z=\"z\"in e?e.z:\"marker\"in e&&Array.isArray(e.marker.color)?e.marker.color:\"\";Z&&\"count\"!==U&&(W=\"avg\"===U,H=a[U]);var K=w.size,J=x(w.start),$=x(w.end)+(J-i.tickIncrement(J,K,!1,y))/1e6;for(r=J;r<$;r=i.tickIncrement(r,K,!1,y))L.push(q),I.push(r),W&&C.push(0);I.push(r);var Q,tt=L.length,et=(r-J)/tt,rt=(Q=J+et/2,v.c2r(Q,0,y)),nt=A.size,it=b(A.start),at=b(A.end)+(it-i.tickIncrement(it,nt,!1,m))/1e6;for(r=it;r=0&&p=0&&d-1,flipY:C.tiling.flip.indexOf(\"y\")>-1,orientation:C.tiling.orientation,pad:{inner:C.tiling.pad},maxDepth:C._maxDepth}).descendants(),D=1/0,R=-1/0;z.forEach((function(t){var e=t.depth;e>=C._maxDepth?(t.x0=t.x1=(t.x0+t.x1)/2,t.y0=t.y1=(t.y0+t.y1)/2):(D=Math.min(D,e),R=Math.max(R,e))})),d=d.data(z,c.getPtId),C._maxVisibleLayers=isFinite(R)?R-D+1:0,d.enter().append(\"g\").classed(\"slice\",!0),k(d,p,{},[g,y],b),d.order();var F=null;if(T&&S){var B=c.getPtId(S);d.each((function(t){null===F&&c.getPtId(t)===B&&(F={x0:t.x0,x1:t.x1,y0:t.y0,y1:t.y1})}))}var N=function(){return F||{x0:0,x1:g,y0:0,y1:y}},j=d;return T&&(j=j.transition().each(\"end\",(function(){var e=n.select(this);c.setSliceCursor(e,t,{hideOnRoot:!0,hideOnLeaves:!1,isTransitioning:!1})}))),j.each((function(s){s._x0=m(s.x0),s._x1=m(s.x1),s._y0=x(s.y0),s._y1=x(s.y1),s._hoverX=m(s.x1-C.tiling.pad),s._hoverY=x(I?s.y1-C.tiling.pad/2:s.y0+C.tiling.pad/2);var d=n.select(this),v=i.ensureSingle(d,\"path\",\"surface\",(function(t){t.style(\"pointer-events\",E?\"none\":\"all\")}));T?v.transition().attrTween(\"d\",(function(t){var e=A(t,p,N(),[g,y],{orientation:C.tiling.orientation,flipX:C.tiling.flip.indexOf(\"x\")>-1,flipY:C.tiling.flip.indexOf(\"y\")>-1});return function(t){return b(e(t))}})):v.attr(\"d\",b),d.call(f,r,t,e,{styleOne:l,eventDataKeys:u.eventDataKeys,transitionTime:u.CLICK_TRANSITION_TIME,transitionEasing:u.CLICK_TRANSITION_EASING}).call(c.setSliceCursor,t,{isTransitioning:t._transitioning}),v.call(l,s,C,t,{hovered:!1}),s.x0===s.x1||s.y0===s.y1?s._text=\"\":s._text=h(s,r,C,e,L)||\"\";var k=i.ensureSingle(d,\"g\",\"slicetext\"),S=i.ensureSingle(k,\"text\",\"\",(function(t){t.attr(\"data-notex\",1)})),z=i.ensureUniformFontSize(t,c.determineTextFont(C,s,L.font));S.text(s._text||\" \").classed(\"slicetext\",!0).attr(\"text-anchor\",O?\"end\":P?\"start\":\"middle\").call(a.font,z).call(o.convertToTspans,t),s.textBB=a.bBox(S.node()),s.transform=_(s,{fontSize:z.size}),s.transform.fontSize=z.size,T?S.transition().attrTween(\"transform\",(function(t){var e=M(t,p,N(),[g,y]);return function(t){return w(e(t))}})):S.attr(\"transform\",w(s))})),F}},29044:function(t,e,r){\"use strict\";t.exports={moduleType:\"trace\",name:\"icicle\",basePlotModule:r(59564),categories:[],animatable:!0,attributes:r(97376),layoutAttributes:r(90676),supplyDefaults:r(7045),supplyLayoutDefaults:r(4304),calc:r(73876).r,crossTraceCalc:r(73876).q,plot:r(38364),style:r(47192).style,colorbar:r(5528),meta:{}}},90676:function(t){\"use strict\";t.exports={iciclecolorway:{valType:\"colorlist\",editType:\"calc\"},extendiciclecolors:{valType:\"boolean\",dflt:!0,editType:\"calc\"}}},4304:function(t,e,r){\"use strict\";var n=r(3400),i=r(90676);t.exports=function(t,e){function r(r,a){return n.coerce(t,e,i,r,a)}r(\"iciclecolorway\",e.colorway),r(\"extendiciclecolors\")}},25132:function(t,e,r){\"use strict\";var n=r(74148),i=r(83024);t.exports=function(t,e,r){var a=r.flipX,o=r.flipY,s=\"h\"===r.orientation,l=r.maxDepth,u=e[0],c=e[1];l&&(u=(t.height+1)*e[0]/Math.min(t.height+1,l),c=(t.height+1)*e[1]/Math.min(t.height+1,l));var f=n.partition().padding(r.pad.inner).size(s?[e[1],u]:[e[0],c])(t);return(s||a||o)&&i(f,e,{swapXY:s,flipX:a,flipY:o}),f}},38364:function(t,e,r){\"use strict\";var n=r(95808),i=r(67880);t.exports=function(t,e,r,a){return n(t,e,r,a,{type:\"icicle\",drawDescendants:i})}},47192:function(t,e,r){\"use strict\";var n=r(33428),i=r(76308),a=r(3400),o=r(82744).resizeText,s=r(60404);function l(t,e,r,n){var o=e.data.data,l=!e.children,u=o.i,c=a.castOption(r,u,\"marker.line.color\")||i.defaultLine,f=a.castOption(r,u,\"marker.line.width\")||0;t.call(s,e,r,n).style(\"stroke-width\",f).call(i.stroke,c).style(\"opacity\",l?r.leaf.opacity:null)}t.exports={style:function(t){var e=t._fullLayout._iciclelayer.selectAll(\".trace\");o(t,e,\"icicle\"),e.each((function(e){var r=n.select(this),i=e[0].trace;r.style(\"opacity\",i.opacity),r.selectAll(\"path.surface\").each((function(e){n.select(this).call(l,e,i,t)}))}))},styleOne:l}},95188:function(t,e,r){\"use strict\";for(var n=r(45464),i=r(52904).zorder,a=r(21776).Ks,o=r(92880).extendFlat,s=r(47797).colormodel,l=[\"rgb\",\"rgba\",\"rgba256\",\"hsl\",\"hsla\"],u=[],c=[],f=0;f0||n.inbox(r-s.y0,r-(s.y0+s.h*l.dy),0)>0)){var f,h=Math.floor((e-s.x0)/l.dx),p=Math.floor(Math.abs(r-s.y0)/l.dy);if(l._hasZ?f=s.z[p][h]:l._hasSource&&(f=l._canvas.el.getContext(\"2d\",{willReadFrequently:!0}).getImageData(h,p,1,1).data),f){var d,v=s.hi||l.hoverinfo;if(v){var g=v.split(\"+\");-1!==g.indexOf(\"all\")&&(g=[\"color\"]),-1!==g.indexOf(\"color\")&&(d=!0)}var y,m=o.colormodel[l.colormodel],x=m.colormodel||l.colormodel,b=x.length,_=l._scaler(f),w=m.suffix,T=[];(l.hovertemplate||d)&&(T.push(\"[\"+[_[0]+w[0],_[1]+w[1],_[2]+w[2]].join(\", \")),4===b&&T.push(\", \"+_[3]+w[3]),T.push(\"]\"),T=T.join(\"\"),t.extraText=x.toUpperCase()+\": \"+T),a(l.hovertext)&&a(l.hovertext[p])?y=l.hovertext[p][h]:a(l.text)&&a(l.text[p])&&(y=l.text[p][h]);var k=c.c2p(s.y0+(p+.5)*l.dy),A=s.x0+(h+.5)*l.dx,M=s.y0+(p+.5)*l.dy,S=\"[\"+f.slice(0,l.colormodel.length).join(\", \")+\"]\";return[i.extendFlat(t,{index:[p,h],x0:u.c2p(s.x0+h*l.dx),x1:u.c2p(s.x0+(h+1)*l.dx),y0:k,y1:k,color:_,xVal:A,xLabelVal:A,yVal:M,yLabelVal:M,zLabelVal:S,text:y,hovertemplateLabels:{zLabel:S,colorLabel:T,\"color[0]Label\":_[0]+w[0],\"color[1]Label\":_[1]+w[1],\"color[2]Label\":_[2]+w[2],\"color[3]Label\":_[3]+w[3]}})]}}}},48928:function(t,e,r){\"use strict\";t.exports={attributes:r(95188),supplyDefaults:r(13188),calc:r(93336),plot:r(63715),style:r(28576),hoverPoints:r(24892),eventData:r(79972),moduleType:\"trace\",name:\"image\",basePlotModule:r(57952),categories:[\"cartesian\",\"svg\",\"2dMap\",\"noSortingByValue\"],animatable:!1,meta:{}}},63715:function(t,e,r){\"use strict\";var n=r(33428),i=r(3400),a=i.strTranslate,o=r(9616),s=r(47797),l=r(9188),u=r(2264).STYLE;t.exports=function(t,e,r,c){var f=e.xaxis,h=e.yaxis,p=!t._context._exportedPlot&&l();i.makeTraceGroups(c,r,\"im\").each((function(e){var r=n.select(this),l=e[0],c=l.trace,d=(\"fast\"===c.zsmooth||!1===c.zsmooth&&p)&&!c._hasZ&&c._hasSource&&\"linear\"===f.type&&\"linear\"===h.type;c._realImage=d;var v,g,y,m,x,b,_=l.z,w=l.x0,T=l.y0,k=l.w,A=l.h,M=c.dx,S=c.dy;for(b=0;void 0===v&&b0;)g=f.c2p(w+b*M),b--;for(b=0;void 0===m&&b0;)x=h.c2p(T+b*S),b--;gI[0];if(z||D){var R=v+E/2,F=m+L/2;P+=\"transform:\"+a(R+\"px\",F+\"px\")+\"scale(\"+(z?-1:1)+\",\"+(D?-1:1)+\")\"+a(-R+\"px\",-F+\"px\")+\";\"}}C.attr(\"style\",P);var B=new Promise((function(t){if(c._hasZ)t();else if(c._hasSource)if(c._canvas&&c._canvas.el.width===k&&c._canvas.el.height===A&&c._canvas.source===c.source)t();else{var e=document.createElement(\"canvas\");e.width=k,e.height=A;var r=e.getContext(\"2d\",{willReadFrequently:!0});c._image=c._image||new Image;var n=c._image;n.onload=function(){r.drawImage(n,0,0),c._canvas={el:e,source:c.source},t()},n.setAttribute(\"src\",c.source)}})).then((function(){var t,e;if(c._hasZ)e=N((function(t,e){var r=_[e][t];return i.isTypedArray(r)&&(r=Array.from(r)),r})),t=e.toDataURL(\"image/png\");else if(c._hasSource)if(d)t=c.source;else{var r=c._canvas.el.getContext(\"2d\",{willReadFrequently:!0}).getImageData(0,0,k,A).data;e=N((function(t,e){var n=4*(e*k+t);return[r[n],r[n+1],r[n+2],r[n+3]]})),t=e.toDataURL(\"image/png\")}C.attr({\"xlink:href\":t,height:L,width:E,x:v,y:m})}));t._promises.push(B)}function N(t){var e=document.createElement(\"canvas\");e.width=E,e.height=L;var r,n=e.getContext(\"2d\",{willReadFrequently:!0}),a=function(t){return i.constrain(Math.round(f.c2p(w+t*M)-v),0,E)},o=function(t){return i.constrain(Math.round(h.c2p(T+t*S)-m),0,L)},u=s.colormodel[c.colormodel],p=u.colormodel||c.colormodel,d=u.fmt;for(b=0;b0}function T(t){t.each((function(t){m.stroke(n.select(this),t.line.color)})).each((function(t){m.fill(n.select(this),t.color)})).style(\"stroke-width\",(function(t){return t.line.width}))}function k(t,e,r){var n=t._fullLayout,i=o.extendFlat({type:\"linear\",ticks:\"outside\",range:r,showline:!0},e),a={type:\"linear\",_id:\"x\"+e._id},s={letter:\"x\",font:n.font,noAutotickangles:!0,noHover:!0,noTickson:!0};function l(t,e){return o.coerce(i,a,y,t,e)}return v(i,a,l,s,n),g(i,a,l,s),a}function A(t,e,r){return[Math.min(e/t.width,r/t.height),t,e+\"x\"+r]}function M(t,e,r,i){var a=document.createElementNS(\"http://www.w3.org/2000/svg\",\"text\"),o=n.select(a);return o.text(t).attr(\"x\",0).attr(\"y\",0).attr(\"text-anchor\",r).attr(\"data-unformatted\",t).call(p.convertToTspans,i).call(f.font,e),f.bBox(o.node())}function S(t,e,r,n,i,a){var s=\"_cache\"+e;t[s]&&t[s].key===i||(t[s]={key:i,value:r});var l=o.aggNums(a,null,[t[s].value,n],2);return t[s].value=l,l}t.exports=function(t,e,r,v){var g,y=t._fullLayout;w(r)&&v&&(g=v()),o.makeTraceGroups(y._indicatorlayer,e,\"trace\").each((function(e){var v,E,L,C,P,O=e[0].trace,I=n.select(this),z=O._hasGauge,D=O._isAngular,R=O._isBullet,F=O.domain,B={w:y._size.w*(F.x[1]-F.x[0]),h:y._size.h*(F.y[1]-F.y[0]),l:y._size.l+y._size.w*F.x[0],r:y._size.r+y._size.w*(1-F.x[1]),t:y._size.t+y._size.h*(1-F.y[1]),b:y._size.b+y._size.h*F.y[0]},N=B.l+B.w/2,j=B.t+B.h/2,U=Math.min(B.w/2,B.h),V=h.innerRadius*U,q=O.align||\"center\";if(E=j,z){if(D&&(v=N,E=j+U/2,L=function(t){return function(t,e){return[e/Math.sqrt(t.width/2*(t.width/2)+t.height*t.height),t,e]}(t,.9*V)}),R){var H=h.bulletPadding,G=1-h.bulletNumberDomainSize+H;v=B.l+(G+(1-G)*b[q])*B.w,L=function(t){return A(t,(h.bulletNumberDomainSize-H)*B.w,B.h)}}}else v=B.l+b[q]*B.w,L=function(t){return A(t,B.w,B.h)};!function(t,e,r,i){var u,c,h,v=r[0].trace,g=i.numbersX,y=i.numbersY,T=v.align||\"center\",A=x[T],E=i.transitionOpts,L=i.onComplete,C=o.ensureSingle(e,\"g\",\"numbers\"),P=[];v._hasNumber&&P.push(\"number\"),v._hasDelta&&(P.push(\"delta\"),\"left\"===v.delta.position&&P.reverse());var O=C.selectAll(\"text\").data(P);function I(e,r,n,i){if(!e.match(\"s\")||n>=0==i>=0||r(n).slice(-1).match(_)||r(i).slice(-1).match(_))return r;var a=e.slice().replace(\"s\",\"f\").replace(/\\d+/,(function(t){return parseInt(t)-1})),o=k(t,{tickformat:a});return function(t){return Math.abs(t)<1?d.tickText(o,t).text:r(t)}}O.enter().append(\"text\"),O.attr(\"text-anchor\",(function(){return A})).attr(\"class\",(function(t){return t})).attr(\"x\",null).attr(\"y\",null).attr(\"dx\",null).attr(\"dy\",null),O.exit().remove();var z,D=v.mode+v.align;if(v._hasDelta&&(z=function(){var e=k(t,{tickformat:v.delta.valueformat},v._range);e.setScale(),d.prepTicks(e);var i=function(t){return d.tickText(e,t).text},o=v.delta.suffix,s=v.delta.prefix,l=function(t){return v.delta.relative?t.relativeDelta:t.delta},u=function(t,e){return 0===t||\"number\"!=typeof t||isNaN(t)?\"-\":(t>0?v.delta.increasing.symbol:v.delta.decreasing.symbol)+s+e(t)+o},h=function(t){return t.delta>=0?v.delta.increasing.color:v.delta.decreasing.color};void 0===v._deltaLastValue&&(v._deltaLastValue=l(r[0]));var g=C.select(\"text.delta\");function y(){g.text(u(l(r[0]),i)).call(m.fill,h(r[0])).call(p.convertToTspans,t)}return g.call(f.font,v.delta.font).call(m.fill,h({delta:v._deltaLastValue})),w(E)?g.transition().duration(E.duration).ease(E.easing).tween(\"text\",(function(){var t=n.select(this),e=l(r[0]),o=v._deltaLastValue,s=I(v.delta.valueformat,i,o,e),c=a(o,e);return v._deltaLastValue=e,function(e){t.text(u(c(e),s)),t.call(m.fill,h({delta:c(e)}))}})).each(\"end\",(function(){y(),L&&L()})).each(\"interrupt\",(function(){y(),L&&L()})):y(),c=M(u(l(r[0]),i),v.delta.font,A,t),g}(),D+=v.delta.position+v.delta.font.size+v.delta.font.family+v.delta.valueformat,D+=v.delta.increasing.symbol+v.delta.decreasing.symbol,h=c),v._hasNumber&&(function(){var e=k(t,{tickformat:v.number.valueformat},v._range);e.setScale(),d.prepTicks(e);var i=function(t){return d.tickText(e,t).text},o=v.number.suffix,s=v.number.prefix,l=C.select(\"text.number\");function c(){var e=\"number\"==typeof r[0].y?s+i(r[0].y)+o:\"-\";l.text(e).call(f.font,v.number.font).call(p.convertToTspans,t)}w(E)?l.transition().duration(E.duration).ease(E.easing).each(\"end\",(function(){c(),L&&L()})).each(\"interrupt\",(function(){c(),L&&L()})).attrTween(\"text\",(function(){var t=n.select(this),e=a(r[0].lastY,r[0].y);v._lastValue=r[0].y;var l=I(v.number.valueformat,i,r[0].lastY,r[0].y);return function(r){t.text(s+l(e(r))+o)}})):c(),u=M(s+i(r[0].y)+o,v.number.font,A,t)}(),D+=v.number.font.size+v.number.font.family+v.number.valueformat+v.number.suffix+v.number.prefix,h=u),v._hasDelta&&v._hasNumber){var R,F,B=[(u.left+u.right)/2,(u.top+u.bottom)/2],N=[(c.left+c.right)/2,(c.top+c.bottom)/2],j=.75*v.delta.font.size;\"left\"===v.delta.position&&(R=S(v,\"deltaPos\",0,-1*(u.width*b[v.align]+c.width*(1-b[v.align])+j),D,Math.min),F=B[1]-N[1],h={width:u.width+c.width+j,height:Math.max(u.height,c.height),left:c.left+R,right:u.right,top:Math.min(u.top,c.top+F),bottom:Math.max(u.bottom,c.bottom+F)}),\"right\"===v.delta.position&&(R=S(v,\"deltaPos\",0,u.width*(1-b[v.align])+c.width*b[v.align]+j,D,Math.max),F=B[1]-N[1],h={width:u.width+c.width+j,height:Math.max(u.height,c.height),left:u.left,right:c.right+R,top:Math.min(u.top,c.top+F),bottom:Math.max(u.bottom,c.bottom+F)}),\"bottom\"===v.delta.position&&(R=null,F=c.height,h={width:Math.max(u.width,c.width),height:u.height+c.height,left:Math.min(u.left,c.left),right:Math.max(u.right,c.right),top:u.bottom-u.height,bottom:u.bottom+c.height}),\"top\"===v.delta.position&&(R=null,F=u.top,h={width:Math.max(u.width,c.width),height:u.height+c.height,left:Math.min(u.left,c.left),right:Math.max(u.right,c.right),top:u.bottom-u.height-c.height,bottom:u.bottom}),z.attr({dx:R,dy:F})}(v._hasNumber||v._hasDelta)&&C.attr(\"transform\",(function(){var t=i.numbersScaler(h);D+=t[2];var e,r=S(v,\"numbersScale\",1,t[0],D,Math.min);v._scaleNumbers||(r=1),e=v._isAngular?y-r*h.bottom:y-r*(h.top+h.bottom)/2,v._numbersTop=r*h.top+e;var n=h[T];\"center\"===T&&(n=(h.left+h.right)/2);var a=g-r*n;return a=S(v,\"numbersTranslate\",0,a,D,Math.max),l(a,e)+s(r)}))}(t,I,e,{numbersX:v,numbersY:E,numbersScaler:L,transitionOpts:r,onComplete:g}),z&&(C={range:O.gauge.axis.range,color:O.gauge.bgcolor,line:{color:O.gauge.bordercolor,width:0},thickness:1},P={range:O.gauge.axis.range,color:\"rgba(0, 0, 0, 0)\",line:{color:O.gauge.bordercolor,width:O.gauge.borderwidth},thickness:1});var W=I.selectAll(\"g.angular\").data(D?e:[]);W.exit().remove();var Y=I.selectAll(\"g.angularaxis\").data(D?e:[]);Y.exit().remove(),D&&function(t,e,r,a){var o,s,f,h,p=r[0].trace,v=a.size,g=a.radius,y=a.innerRadius,m=a.gaugeBg,x=a.gaugeOutline,b=[v.l+v.w/2,v.t+v.h/2+g/2],_=a.gauge,A=a.layer,M=a.transitionOpts,S=a.onComplete,E=Math.PI/2;function L(t){var e=p.gauge.axis.range[0],r=(t-e)/(p.gauge.axis.range[1]-e)*Math.PI-E;return r<-E?-E:r>E?E:r}function C(t){return n.svg.arc().innerRadius((y+g)/2-t/2*(g-y)).outerRadius((y+g)/2+t/2*(g-y)).startAngle(-E)}function P(t){t.attr(\"d\",(function(t){return C(t.thickness).startAngle(L(t.range[0])).endAngle(L(t.range[1]))()}))}_.enter().append(\"g\").classed(\"angular\",!0),_.attr(\"transform\",l(b[0],b[1])),A.enter().append(\"g\").classed(\"angularaxis\",!0).classed(\"crisp\",!0),A.selectAll(\"g.xangularaxistick,path,text\").remove(),(o=k(t,p.gauge.axis)).type=\"linear\",o.range=p.gauge.axis.range,o._id=\"xangularaxis\",o.ticklabeloverflow=\"allow\",o.setScale();var O=function(t){return(o.range[0]-t.x)/(o.range[1]-o.range[0])*Math.PI+Math.PI},I={},z=d.makeLabelFns(o,0).labelStandoff;I.xFn=function(t){var e=O(t);return Math.cos(e)*z},I.yFn=function(t){var e=O(t),r=Math.sin(e)>0?.2:1;return-Math.sin(e)*(z+t.fontSize*r)+Math.abs(Math.cos(e))*(t.fontSize*c)},I.anchorFn=function(t){var e=O(t),r=Math.cos(e);return Math.abs(r)<.1?\"middle\":r>0?\"start\":\"end\"},I.heightFn=function(t,e,r){var n=O(t);return-.5*(1+Math.sin(n))*r};var D=function(t){return l(b[0]+g*Math.cos(t),b[1]-g*Math.sin(t))};f=function(t){return D(O(t))};if(s=d.calcTicks(o),h=d.getTickSigns(o)[2],o.visible){h=\"inside\"===o.ticks?-1:1;var R=(o.linewidth||1)/2;d.drawTicks(t,o,{vals:s,layer:A,path:\"M\"+h*R+\",0h\"+h*o.ticklen,transFn:function(t){var e=O(t);return D(e)+\"rotate(\"+-u(e)+\")\"}}),d.drawLabels(t,o,{vals:s,layer:A,transFn:f,labelFns:I})}var F=[m].concat(p.gauge.steps),B=_.selectAll(\"g.bg-arc\").data(F);B.enter().append(\"g\").classed(\"bg-arc\",!0).append(\"path\"),B.select(\"path\").call(P).call(T),B.exit().remove();var N=C(p.gauge.bar.thickness),j=_.selectAll(\"g.value-arc\").data([p.gauge.bar]);j.enter().append(\"g\").classed(\"value-arc\",!0).append(\"path\");var U,V,q,H=j.select(\"path\");w(M)?(H.transition().duration(M.duration).ease(M.easing).each(\"end\",(function(){S&&S()})).each(\"interrupt\",(function(){S&&S()})).attrTween(\"d\",(U=N,V=L(r[0].lastY),q=L(r[0].y),function(){var t=i(V,q);return function(e){return U.endAngle(t(e))()}})),p._lastValue=r[0].y):H.attr(\"d\",\"number\"==typeof r[0].y?N.endAngle(L(r[0].y)):\"M0,0Z\"),H.call(T),j.exit().remove(),F=[];var G=p.gauge.threshold.value;(G||0===G)&&F.push({range:[G,G],color:p.gauge.threshold.color,line:{color:p.gauge.threshold.line.color,width:p.gauge.threshold.line.width},thickness:p.gauge.threshold.thickness});var W=_.selectAll(\"g.threshold-arc\").data(F);W.enter().append(\"g\").classed(\"threshold-arc\",!0).append(\"path\"),W.select(\"path\").call(P).call(T),W.exit().remove();var Y=_.selectAll(\"g.gauge-outline\").data([x]);Y.enter().append(\"g\").classed(\"gauge-outline\",!0).append(\"path\"),Y.select(\"path\").call(P).call(T),Y.exit().remove()}(t,0,e,{radius:U,innerRadius:V,gauge:W,layer:Y,size:B,gaugeBg:C,gaugeOutline:P,transitionOpts:r,onComplete:g});var X=I.selectAll(\"g.bullet\").data(R?e:[]);X.exit().remove();var Z=I.selectAll(\"g.bulletaxis\").data(R?e:[]);Z.exit().remove(),R&&function(t,e,r,n){var i,a,o,s,u,c=r[0].trace,f=n.gauge,p=n.layer,v=n.gaugeBg,g=n.gaugeOutline,y=n.size,x=c.domain,b=n.transitionOpts,_=n.onComplete;f.enter().append(\"g\").classed(\"bullet\",!0),f.attr(\"transform\",l(y.l,y.t)),p.enter().append(\"g\").classed(\"bulletaxis\",!0).classed(\"crisp\",!0),p.selectAll(\"g.xbulletaxistick,path,text\").remove();var A=y.h,M=c.gauge.bar.thickness*A,S=x.x[0],E=x.x[0]+(x.x[1]-x.x[0])*(c._hasNumber||c._hasDelta?1-h.bulletNumberDomainSize:1);function L(t){t.attr(\"width\",(function(t){return Math.max(0,i.c2p(t.range[1])-i.c2p(t.range[0]))})).attr(\"x\",(function(t){return i.c2p(t.range[0])})).attr(\"y\",(function(t){return.5*(1-t.thickness)*A})).attr(\"height\",(function(t){return t.thickness*A}))}(i=k(t,c.gauge.axis))._id=\"xbulletaxis\",i.domain=[S,E],i.setScale(),a=d.calcTicks(i),o=d.makeTransTickFn(i),s=d.getTickSigns(i)[2],u=y.t+y.h,i.visible&&(d.drawTicks(t,i,{vals:\"inside\"===i.ticks?d.clipEnds(i,a):a,layer:p,path:d.makeTickPath(i,u,s),transFn:o}),d.drawLabels(t,i,{vals:a,layer:p,transFn:o,labelFns:d.makeLabelFns(i,u)}));var C=[v].concat(c.gauge.steps),P=f.selectAll(\"g.bg-bullet\").data(C);P.enter().append(\"g\").classed(\"bg-bullet\",!0).append(\"rect\"),P.select(\"rect\").call(L).call(T),P.exit().remove();var O=f.selectAll(\"g.value-bullet\").data([c.gauge.bar]);O.enter().append(\"g\").classed(\"value-bullet\",!0).append(\"rect\"),O.select(\"rect\").attr(\"height\",M).attr(\"y\",(A-M)/2).call(T),w(b)?O.select(\"rect\").transition().duration(b.duration).ease(b.easing).each(\"end\",(function(){_&&_()})).each(\"interrupt\",(function(){_&&_()})).attr(\"width\",Math.max(0,i.c2p(Math.min(c.gauge.axis.range[1],r[0].y)))):O.select(\"rect\").attr(\"width\",\"number\"==typeof r[0].y?Math.max(0,i.c2p(Math.min(c.gauge.axis.range[1],r[0].y))):0),O.exit().remove();var I=r.filter((function(){return c.gauge.threshold.value||0===c.gauge.threshold.value})),z=f.selectAll(\"g.threshold-bullet\").data(I);z.enter().append(\"g\").classed(\"threshold-bullet\",!0).append(\"line\"),z.select(\"line\").attr(\"x1\",i.c2p(c.gauge.threshold.value)).attr(\"x2\",i.c2p(c.gauge.threshold.value)).attr(\"y1\",(1-c.gauge.threshold.thickness)/2*A).attr(\"y2\",(1-(1-c.gauge.threshold.thickness)/2)*A).call(m.stroke,c.gauge.threshold.line.color).style(\"stroke-width\",c.gauge.threshold.line.width),z.exit().remove();var D=f.selectAll(\"g.gauge-outline\").data([g]);D.enter().append(\"g\").classed(\"gauge-outline\",!0).append(\"rect\"),D.select(\"rect\").call(L).call(T),D.exit().remove()}(t,0,e,{gauge:X,layer:Z,size:B,gaugeBg:C,gaugeOutline:P,transitionOpts:r,onComplete:g});var K=I.selectAll(\"text.title\").data(e);K.exit().remove(),K.enter().append(\"text\").classed(\"title\",!0),K.attr(\"text-anchor\",(function(){return R?x.right:x[O.title.align]})).text(O.title.text).call(f.font,O.title.font).call(p.convertToTspans,t),K.attr(\"transform\",(function(){var t,e=B.l+B.w*b[O.title.align],r=h.titlePadding,n=f.bBox(K.node());return z?(D&&(t=O.gauge.axis.visible?f.bBox(Y.node()).top-r-n.bottom:B.t+B.h/2-U/2-n.bottom-r),R&&(t=E-(n.top+n.bottom)/2,e=B.l-h.bulletPadding*B.w)):t=O._numbersTop-r-n.bottom,l(e,t)}))}))}},50048:function(t,e,r){\"use strict\";var n=r(49084),i=r(29736).axisHoverFormat,a=r(21776).Ks,o=r(52948),s=r(45464),l=r(92880).extendFlat,u=r(67824).overrideAll,c=t.exports=u(l({x:{valType:\"data_array\"},y:{valType:\"data_array\"},z:{valType:\"data_array\"},value:{valType:\"data_array\"},isomin:{valType:\"number\"},isomax:{valType:\"number\"},surface:{show:{valType:\"boolean\",dflt:!0},count:{valType:\"integer\",dflt:2,min:1},fill:{valType:\"number\",min:0,max:1,dflt:1},pattern:{valType:\"flaglist\",flags:[\"A\",\"B\",\"C\",\"D\",\"E\"],extras:[\"all\",\"odd\",\"even\"],dflt:\"all\"}},spaceframe:{show:{valType:\"boolean\",dflt:!1},fill:{valType:\"number\",min:0,max:1,dflt:.15}},slices:{x:{show:{valType:\"boolean\",dflt:!1},locations:{valType:\"data_array\",dflt:[]},fill:{valType:\"number\",min:0,max:1,dflt:1}},y:{show:{valType:\"boolean\",dflt:!1},locations:{valType:\"data_array\",dflt:[]},fill:{valType:\"number\",min:0,max:1,dflt:1}},z:{show:{valType:\"boolean\",dflt:!1},locations:{valType:\"data_array\",dflt:[]},fill:{valType:\"number\",min:0,max:1,dflt:1}}},caps:{x:{show:{valType:\"boolean\",dflt:!0},fill:{valType:\"number\",min:0,max:1,dflt:1}},y:{show:{valType:\"boolean\",dflt:!0},fill:{valType:\"number\",min:0,max:1,dflt:1}},z:{show:{valType:\"boolean\",dflt:!0},fill:{valType:\"number\",min:0,max:1,dflt:1}}},text:{valType:\"string\",dflt:\"\",arrayOk:!0},hovertext:{valType:\"string\",dflt:\"\",arrayOk:!0},hovertemplate:a(),xhoverformat:i(\"x\"),yhoverformat:i(\"y\"),zhoverformat:i(\"z\"),valuehoverformat:i(\"value\",1),showlegend:l({},s.showlegend,{dflt:!1})},n(\"\",{colorAttr:\"`value`\",showScaleDflt:!0,editTypeOverride:\"calc\"}),{opacity:o.opacity,lightposition:o.lightposition,lighting:o.lighting,flatshading:o.flatshading,contour:o.contour,hoverinfo:l({},s.hoverinfo)}),\"calc\",\"nested\");c.flatshading.dflt=!0,c.lighting.facenormalsepsilon.dflt=0,c.x.editType=c.y.editType=c.z.editType=c.value.editType=\"calc+clearAxisTypes\",c.transforms=void 0},62624:function(t,e,r){\"use strict\";var n=r(47128),i=r(3832).processGrid,a=r(3832).filter;t.exports=function(t,e){e._len=Math.min(e.x.length,e.y.length,e.z.length,e.value.length),e._x=a(e.x,e._len),e._y=a(e.y,e._len),e._z=a(e.z,e._len),e._value=a(e.value,e._len);var r=i(e);e._gridFill=r.fill,e._Xs=r.Xs,e._Ys=r.Ys,e._Zs=r.Zs,e._len=r.len;for(var o=1/0,s=-1/0,l=0;l0;r--){var n=Math.min(e[r],e[r-1]),i=Math.max(e[r],e[r-1]);if(i>n&&n-1}function R(t,e){return null===t?e:t}function F(e,r,n){C();var i,a,o,l=[r],u=[n];if(s>=1)l=[r],u=[n];else if(s>0){var c=function(t,e){var r=t[0],n=t[1],i=t[2],a=function(t,e,r){for(var n=[],i=0;i-1?n[p]:L(d,v,y);h[p]=x>-1?x:O(d,v,y,R(e,m))}i=h[0],a=h[1],o=h[2],t._meshI.push(i),t._meshJ.push(a),t._meshK.push(o),++g}}function B(t,e,r,n){var i=t[3];in&&(i=n);for(var a=(t[3]-i)/(t[3]-e[3]+1e-9),o=[],s=0;s<4;s++)o[s]=(1-a)*t[s]+a*e[s];return o}function N(t,e,r){return t>=e&&t<=r}function j(t){var e=.001*(E-S);return t>=S-e&&t<=E+e}function U(e){for(var r=[],n=0;n<4;n++){var i=e[n];r.push([t._x[i],t._y[i],t._z[i],t._value[i]])}return r}var V=3;function q(t,e,r,n,i,a){a||(a=1),r=[-1,-1,-1];var o=!1,s=[N(e[0][3],n,i),N(e[1][3],n,i),N(e[2][3],n,i)];if(!s[0]&&!s[1]&&!s[2])return!1;var l=function(t,e,r){return j(e[0][3])&&j(e[1][3])&&j(e[2][3])?(F(t,e,r),!0):aMath.abs(L-M)?[A,L]:[L,M];d=!0,Q(r,C[0],C[1]),d=!1}}var I=[[Math.min(S,M),Math.max(S,M)],[Math.min(A,E),Math.max(A,E)]];[\"x\",\"y\",\"z\"].forEach((function(r){for(var n=[],i=0;i0&&(f.push(d.id),\"x\"===r?h.push([d.distRatio,0,0]):\"y\"===r?h.push([0,d.distRatio,0]):h.push([0,0,d.distRatio]))}else c=nt(1,\"x\"===r?b-1:\"y\"===r?_-1:w-1);f.length>0&&(n[a]=\"x\"===r?tt(e,f,o,s,h,n[a]):\"y\"===r?et(e,f,o,s,h,n[a]):rt(e,f,o,s,h,n[a]),a++),c.length>0&&(n[a]=\"x\"===r?K(e,c,o,s,n[a]):\"y\"===r?J(e,c,o,s,n[a]):$(e,c,o,s,n[a]),a++)}var v=t.caps[r];v.show&&v.fill&&(z(v.fill),n[a]=\"x\"===r?K(e,[0,b-1],o,s,n[a]):\"y\"===r?J(e,[0,_-1],o,s,n[a]):$(e,[0,w-1],o,s,n[a]),a++)}})),0===g&&P(),t._meshX=n,t._meshY=i,t._meshZ=a,t._meshIntensity=o,t._Xs=y,t._Ys=m,t._Zs=x}(),t}t.exports={findNearestOnAxis:u,generateIsoMeshes:p,createIsosurfaceTrace:function(t,e){var r=t.glplot.gl,i=n({gl:r}),a=new c(t,i,e.uid);return i._trace=a,a.update(e),t.glplot.add(i),a}}},70548:function(t,e,r){\"use strict\";var n=r(3400),i=r(24040),a=r(50048),o=r(27260);function s(t,e,r,n,a){var s=a(\"isomin\"),l=a(\"isomax\");null!=l&&null!=s&&s>l&&(e.isomin=null,e.isomax=null);var u=a(\"x\"),c=a(\"y\"),f=a(\"z\"),h=a(\"value\");u&&u.length&&c&&c.length&&f&&f.length&&h&&h.length?(i.getComponentMethod(\"calendars\",\"handleTraceDefaults\")(t,e,[\"x\",\"y\",\"z\"],n),a(\"valuehoverformat\"),[\"x\",\"y\",\"z\"].forEach((function(t){a(t+\"hoverformat\");var e=\"caps.\"+t;a(e+\".show\")&&a(e+\".fill\");var r=\"slices.\"+t;a(r+\".show\")&&(a(r+\".fill\"),a(r+\".locations\"))})),a(\"spaceframe.show\")&&a(\"spaceframe.fill\"),a(\"surface.show\")&&(a(\"surface.count\"),a(\"surface.fill\"),a(\"surface.pattern\")),a(\"contour.show\")&&(a(\"contour.color\"),a(\"contour.width\")),[\"text\",\"hovertext\",\"hovertemplate\",\"lighting.ambient\",\"lighting.diffuse\",\"lighting.specular\",\"lighting.roughness\",\"lighting.fresnel\",\"lighting.vertexnormalsepsilon\",\"lighting.facenormalsepsilon\",\"lightposition.x\",\"lightposition.y\",\"lightposition.z\",\"flatshading\",\"opacity\"].forEach((function(t){a(t)})),o(t,e,n,a,{prefix:\"\",cLetter:\"c\"}),e._length=null):e.visible=!1}t.exports={supplyDefaults:function(t,e,r,i){s(t,e,0,i,(function(r,i){return n.coerce(t,e,a,r,i)}))},supplyIsoDefaults:s}},6296:function(t,e,r){\"use strict\";t.exports={attributes:r(50048),supplyDefaults:r(70548).supplyDefaults,calc:r(62624),colorbar:{min:\"cmin\",max:\"cmax\"},plot:r(31460).createIsosurfaceTrace,moduleType:\"trace\",name:\"isosurface\",basePlotModule:r(12536),categories:[\"gl3d\",\"showLegend\"],meta:{}}},52948:function(t,e,r){\"use strict\";var n=r(49084),i=r(29736).axisHoverFormat,a=r(21776).Ks,o=r(16716),s=r(45464),l=r(92880).extendFlat;t.exports=l({x:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},y:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},z:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},i:{valType:\"data_array\",editType:\"calc\"},j:{valType:\"data_array\",editType:\"calc\"},k:{valType:\"data_array\",editType:\"calc\"},text:{valType:\"string\",dflt:\"\",arrayOk:!0,editType:\"calc\"},hovertext:{valType:\"string\",dflt:\"\",arrayOk:!0,editType:\"calc\"},hovertemplate:a({editType:\"calc\"}),xhoverformat:i(\"x\"),yhoverformat:i(\"y\"),zhoverformat:i(\"z\"),delaunayaxis:{valType:\"enumerated\",values:[\"x\",\"y\",\"z\"],dflt:\"z\",editType:\"calc\"},alphahull:{valType:\"number\",dflt:-1,editType:\"calc\"},intensity:{valType:\"data_array\",editType:\"calc\"},intensitymode:{valType:\"enumerated\",values:[\"vertex\",\"cell\"],dflt:\"vertex\",editType:\"calc\"},color:{valType:\"color\",editType:\"calc\"},vertexcolor:{valType:\"data_array\",editType:\"calc\"},facecolor:{valType:\"data_array\",editType:\"calc\"},transforms:void 0},n(\"\",{colorAttr:\"`intensity`\",showScaleDflt:!0,editTypeOverride:\"calc\"}),{opacity:o.opacity,flatshading:{valType:\"boolean\",dflt:!1,editType:\"calc\"},contour:{show:l({},o.contours.x.show,{}),color:o.contours.x.color,width:o.contours.x.width,editType:\"calc\"},lightposition:{x:l({},o.lightposition.x,{dflt:1e5}),y:l({},o.lightposition.y,{dflt:1e5}),z:l({},o.lightposition.z,{dflt:0}),editType:\"calc\"},lighting:l({vertexnormalsepsilon:{valType:\"number\",min:0,max:1,dflt:1e-12,editType:\"calc\"},facenormalsepsilon:{valType:\"number\",min:0,max:1,dflt:1e-6,editType:\"calc\"},editType:\"calc\"},o.lighting),hoverinfo:l({},s.hoverinfo,{editType:\"calc\"}),showlegend:l({},s.showlegend,{dflt:!1})})},1876:function(t,e,r){\"use strict\";var n=r(47128);t.exports=function(t,e){e.intensity&&n(t,e,{vals:e.intensity,containerStr:\"\",cLetter:\"c\"})}},576:function(t,e,r){\"use strict\";var n=r(67792).gl_mesh3d,i=r(67792).delaunay_triangulate,a=r(67792).alpha_shape,o=r(67792).convex_hull,s=r(33040).parseColorScale,l=r(3400).isArrayOrTypedArray,u=r(43080),c=r(8932).extractOpts,f=r(52094);function h(t,e,r){this.scene=t,this.uid=r,this.mesh=e,this.name=\"\",this.color=\"#fff\",this.data=null,this.showContour=!1}var p=h.prototype;function d(t){for(var e=[],r=t.length,n=0;n=e-.5)return!1;return!0}p.handlePick=function(t){if(t.object===this.mesh){var e=t.index=t.data.index;t.data._cellCenter?t.traceCoordinate=t.data.dataCoordinate:t.traceCoordinate=[this.data.x[e],this.data.y[e],this.data.z[e]];var r=this.data.hovertext||this.data.text;return l(r)&&void 0!==r[e]?t.textLabel=r[e]:r&&(t.textLabel=r),!0}},p.update=function(t){var e=this.scene,r=e.fullSceneLayout;this.data=t;var n,l=t.x.length,h=f(v(r.xaxis,t.x,e.dataScale[0],t.xcalendar),v(r.yaxis,t.y,e.dataScale[1],t.ycalendar),v(r.zaxis,t.z,e.dataScale[2],t.zcalendar));if(t.i&&t.j&&t.k){if(t.i.length!==t.j.length||t.j.length!==t.k.length||!y(t.i,l)||!y(t.j,l)||!y(t.k,l))return;n=f(g(t.i),g(t.j),g(t.k))}else n=0===t.alphahull?o(h):t.alphahull>0?a(t.alphahull,h):function(t,e){for(var r=[\"x\",\"y\",\"z\"].indexOf(t),n=[],a=e.length,o=0;oy):g=A>w,y=A;var M=u(w,T,k,A);M.pos=_,M.yc=(w+A)/2,M.i=b,M.dir=g?\"increasing\":\"decreasing\",M.x=M.pos,M.y=[k,T],m&&(M.orig_p=r[b]),d&&(M.tx=e.text[b]),v&&(M.htx=e.hovertext[b]),x.push(M)}else x.push({pos:_,empty:!0})}return e._extremes[l._id]=a.findExtremes(l,n.concat(h,f),{padded:!0}),x.length&&(x[0].t={labels:{open:i(t,\"open:\")+\" \",high:i(t,\"high:\")+\" \",low:i(t,\"low:\")+\" \",close:i(t,\"close:\")+\" \"}}),x}t.exports={calc:function(t,e){var r=a.getFromId(t,e.xaxis),i=a.getFromId(t,e.yaxis),s=function(t,e,r){var i=r._minDiff;if(!i){var a,s=t._fullData,l=[];for(i=1/0,a=0;a\"+u.labels[x]+n.hoverLabelText(s,b,l.yhoverformat):((m=i.extendFlat({},h)).y0=m.y1=_,m.yLabelVal=b,m.yLabel=u.labels[x]+n.hoverLabelText(s,b,l.yhoverformat),m.name=\"\",f.push(m),g[b]=m)}return f}function h(t,e,r,i){var a=t.cd,o=t.ya,l=a[0].trace,f=a[0].t,h=c(t,e,r,i);if(!h)return[];var p=a[h.index],d=h.index=p.i,v=p.dir;function g(t){return f.labels[t]+n.hoverLabelText(o,l[t][d],l.yhoverformat)}var y=p.hi||l.hoverinfo,m=y.split(\"+\"),x=\"all\"===y,b=x||-1!==m.indexOf(\"y\"),_=x||-1!==m.indexOf(\"text\"),w=b?[g(\"open\"),g(\"high\"),g(\"low\"),g(\"close\")+\" \"+u[v]]:[];return _&&s(p,l,w),h.extraText=w.join(\"
\"),h.y0=h.y1=o.c2p(p.yc,!0),[h]}t.exports={hoverPoints:function(t,e,r,n){return t.cd[0].trace.hoverlabel.split?f(t,e,r,n):h(t,e,r,n)},hoverSplit:f,hoverOnPoints:h}},65456:function(t,e,r){\"use strict\";t.exports={moduleType:\"trace\",name:\"ohlc\",basePlotModule:r(57952),categories:[\"cartesian\",\"svg\",\"showLegend\"],meta:{},attributes:r(20279),supplyDefaults:r(23860),calc:r(42812).calc,plot:r(36664),style:r(14008),hoverPoints:r(18720).hoverPoints,selectPoints:r(97384)}},52744:function(t,e,r){\"use strict\";var n=r(24040),i=r(3400);t.exports=function(t,e,r,a){var o=r(\"x\"),s=r(\"open\"),l=r(\"high\"),u=r(\"low\"),c=r(\"close\");if(r(\"hoverlabel.split\"),n.getComponentMethod(\"calendars\",\"handleTraceDefaults\")(t,e,[\"x\"],a),s&&l&&u&&c){var f=Math.min(s.length,l.length,u.length,c.length);return o&&(f=Math.min(f,i.minRowLength(o))),e._length=f,f}}},36664:function(t,e,r){\"use strict\";var n=r(33428),i=r(3400);t.exports=function(t,e,r,a){var o=e.yaxis,s=e.xaxis,l=!!s.rangebreaks;i.makeTraceGroups(a,r,\"trace ohlc\").each((function(t){var e=n.select(this),r=t[0],a=r.t;if(!0!==r.trace.visible||a.empty)e.remove();else{var u=a.tickLen,c=e.selectAll(\"path\").data(i.identity);c.enter().append(\"path\"),c.exit().remove(),c.attr(\"d\",(function(t){if(t.empty)return\"M0,0Z\";var e=s.c2p(t.pos-u,!0),r=s.c2p(t.pos+u,!0),n=l?(e+r)/2:s.c2p(t.pos,!0);return\"M\"+e+\",\"+o.c2p(t.o,!0)+\"H\"+n+\"M\"+n+\",\"+o.c2p(t.h,!0)+\"V\"+o.c2p(t.l,!0)+\"M\"+r+\",\"+o.c2p(t.c,!0)+\"H\"+n}))}}))}},97384:function(t){\"use strict\";t.exports=function(t,e){var r,n=t.cd,i=t.xaxis,a=t.yaxis,o=[],s=n[0].t.bPos||0;if(!1===e)for(r=0;r=t.length)return!1;if(void 0!==e[t[r]])return!1;e[t[r]]=!0}return!0}(r))for(e=0;e0||c(s);u&&(o=\"array\");var f=r(\"categoryorder\",o);\"array\"===f?(r(\"categoryarray\"),r(\"ticktext\")):(delete t.categoryarray,delete t.ticktext),u||\"array\"!==f||(e.categoryorder=\"trace\")}}t.exports=function(t,e,r,c){function h(r,i){return n.coerce(t,e,l,r,i)}var p=s(t,e,{name:\"dimensions\",handleItemDefaults:f}),d=function(t,e,r,o,s){s(\"line.shape\"),s(\"line.hovertemplate\");var l=s(\"line.color\",o.colorway[0]);if(i(t,\"line\")&&n.isArrayOrTypedArray(l)){if(l.length)return s(\"line.colorscale\"),a(t,e,o,s,{prefix:\"line.\",cLetter:\"c\"}),l.length;e.line.color=r}return 1/0}(t,e,r,c,h);o(e,c,h),Array.isArray(p)&&p.length||(e.visible=!1),u(e,p,\"values\",d),h(\"hoveron\"),h(\"hovertemplate\"),h(\"arrangement\"),h(\"bundlecolors\"),h(\"sortpaths\"),h(\"counts\");var v={weight:c.font.weight,style:c.font.style,variant:c.font.variant,family:c.font.family,size:Math.round(c.font.size),color:c.font.color};n.coerceFont(h,\"labelfont\",v);var g={weight:c.font.weight,style:c.font.style,variant:c.font.variant,family:c.font.family,size:Math.round(c.font.size/1.2),color:c.font.color};n.coerceFont(h,\"tickfont\",g)}},22020:function(t,e,r){\"use strict\";t.exports={attributes:r(72140),supplyDefaults:r(76671),calc:r(69136),plot:r(60268),colorbar:{container:\"line\",min:\"cmin\",max:\"cmax\"},moduleType:\"trace\",name:\"parcats\",basePlotModule:r(91800),categories:[\"noOpacity\"],meta:{}}},51036:function(t,e,r){\"use strict\";var n=r(33428),i=r(67756).Gz,a=r(36424),o=r(93024),s=r(3400),l=s.strTranslate,u=r(43616),c=r(49760),f=r(72736);function h(t,e,r,i){var a=e._context.staticPlot,o=t.map(F.bind(0,e,r)),c=i.selectAll(\"g.parcatslayer\").data([null]);c.enter().append(\"g\").attr(\"class\",\"parcatslayer\").style(\"pointer-events\",a?\"none\":\"all\");var h=c.selectAll(\"g.trace.parcats\").data(o,p),m=h.enter().append(\"g\").attr(\"class\",\"trace parcats\");h.attr(\"transform\",(function(t){return l(t.x,t.y)})),m.append(\"g\").attr(\"class\",\"paths\");var x=h.select(\"g.paths\").selectAll(\"path.path\").data((function(t){return t.paths}),p);x.attr(\"fill\",(function(t){return t.model.color}));var w=x.enter().append(\"path\").attr(\"class\",\"path\").attr(\"stroke-opacity\",0).attr(\"fill\",(function(t){return t.model.color})).attr(\"fill-opacity\",0);_(w),x.attr(\"d\",(function(t){return t.svgD})),w.empty()||x.sort(v),x.exit().remove(),x.on(\"mouseover\",g).on(\"mouseout\",y).on(\"click\",b),m.append(\"g\").attr(\"class\",\"dimensions\");var A=h.select(\"g.dimensions\").selectAll(\"g.dimension\").data((function(t){return t.dimensions}),p);A.enter().append(\"g\").attr(\"class\",\"dimension\"),A.attr(\"transform\",(function(t){return l(t.x,0)})),A.exit().remove();var M=A.selectAll(\"g.category\").data((function(t){return t.categories}),p),S=M.enter().append(\"g\").attr(\"class\",\"category\");M.attr(\"transform\",(function(t){return l(0,t.y)})),S.append(\"rect\").attr(\"class\",\"catrect\").attr(\"pointer-events\",\"none\"),M.select(\"rect.catrect\").attr(\"fill\",\"none\").attr(\"width\",(function(t){return t.width})).attr(\"height\",(function(t){return t.height})),T(S);var E=M.selectAll(\"rect.bandrect\").data((function(t){return t.bands}),p);E.each((function(){s.raiseToTop(this)})),E.attr(\"fill\",(function(t){return t.color}));var z=E.enter().append(\"rect\").attr(\"class\",\"bandrect\").attr(\"stroke-opacity\",0).attr(\"fill\",(function(t){return t.color})).attr(\"fill-opacity\",0);E.attr(\"fill\",(function(t){return t.color})).attr(\"width\",(function(t){return t.width})).attr(\"height\",(function(t){return t.height})).attr(\"y\",(function(t){return t.y})).attr(\"cursor\",(function(t){return\"fixed\"===t.parcatsViewModel.arrangement?\"default\":\"perpendicular\"===t.parcatsViewModel.arrangement?\"ns-resize\":\"move\"})),k(z),E.exit().remove(),S.append(\"text\").attr(\"class\",\"catlabel\").attr(\"pointer-events\",\"none\");var D=e._fullLayout.paper_bgcolor;M.select(\"text.catlabel\").attr(\"text-anchor\",(function(t){return d(t)?\"start\":\"end\"})).attr(\"alignment-baseline\",\"middle\").style(\"text-shadow\",f.makeTextShadow(D)).style(\"fill\",\"rgb(0, 0, 0)\").attr(\"x\",(function(t){return d(t)?t.width+5:-5})).attr(\"y\",(function(t){return t.height/2})).text((function(t){return t.model.categoryLabel})).each((function(t){u.font(n.select(this),t.parcatsViewModel.categorylabelfont),f.convertToTspans(n.select(this),e)})),S.append(\"text\").attr(\"class\",\"dimlabel\"),M.select(\"text.dimlabel\").attr(\"text-anchor\",\"middle\").attr(\"alignment-baseline\",\"baseline\").attr(\"cursor\",(function(t){return\"fixed\"===t.parcatsViewModel.arrangement?\"default\":\"ew-resize\"})).attr(\"x\",(function(t){return t.width/2})).attr(\"y\",-5).text((function(t,e){return 0===e?t.parcatsViewModel.model.dimensions[t.model.dimensionInd].dimensionLabel:null})).each((function(t){u.font(n.select(this),t.parcatsViewModel.labelfont)})),M.selectAll(\"rect.bandrect\").on(\"mouseover\",L).on(\"mouseout\",C),M.exit().remove(),A.call(n.behavior.drag().origin((function(t){return{x:t.x,y:0}})).on(\"dragstart\",P).on(\"drag\",O).on(\"dragend\",I)),h.each((function(t){t.traceSelection=n.select(this),t.pathSelection=n.select(this).selectAll(\"g.paths\").selectAll(\"path.path\"),t.dimensionSelection=n.select(this).selectAll(\"g.dimensions\").selectAll(\"g.dimension\")})),h.exit().remove()}function p(t){return t.key}function d(t){var e=t.parcatsViewModel.dimensions.length,r=t.parcatsViewModel.dimensions[e-1].model.dimensionInd;return t.model.dimensionInd===r}function v(t,e){return t.model.rawColor>e.model.rawColor?1:t.model.rawColor\"),L=n.mouse(f)[0];o.loneHover({trace:h,x:b-d.left+v.left,y:_-d.top+v.top,text:E,color:t.model.color,borderColor:\"black\",fontFamily:'Monaco, \"Courier New\", monospace',fontSize:10,fontColor:T,idealAlign:L1&&h.displayInd===f.dimensions.length-1?(i=u.left,a=\"left\"):(i=u.left+u.width,a=\"right\");var v=c.model.count,g=c.model.categoryLabel,y=v/c.parcatsViewModel.model.count,m={countLabel:v,categoryLabel:g,probabilityLabel:y.toFixed(3)},x=[];-1!==c.parcatsViewModel.hoverinfoItems.indexOf(\"count\")&&x.push([\"Count:\",m.countLabel].join(\" \")),-1!==c.parcatsViewModel.hoverinfoItems.indexOf(\"probability\")&&x.push([\"P(\"+m.categoryLabel+\"):\",m.probabilityLabel].join(\" \"));var b=x.join(\"
\");return{trace:p,x:o*(i-e.left),y:s*(d-e.top),text:b,color:\"lightgray\",borderColor:\"black\",fontFamily:'Monaco, \"Courier New\", monospace',fontSize:12,fontColor:\"black\",idealAlign:a,hovertemplate:p.hovertemplate,hovertemplateLabels:m,eventData:[{data:p._input,fullData:p,count:v,category:g,probability:y}]}}function L(t){if(!t.parcatsViewModel.dragDimension&&-1===t.parcatsViewModel.hoverinfoItems.indexOf(\"skip\")){if(n.mouse(this)[1]<-1)return;var e,r=t.parcatsViewModel.graphDiv,i=r._fullLayout,a=i._paperdiv.node().getBoundingClientRect(),l=t.parcatsViewModel.hoveron,u=this;\"color\"===l?(function(t){var e=n.select(t).datum(),r=A(e);w(r),r.each((function(){s.raiseToTop(this)})),n.select(t.parentNode).selectAll(\"rect.bandrect\").filter((function(t){return t.color===e.color})).each((function(){s.raiseToTop(this),n.select(this).attr(\"stroke\",\"black\").attr(\"stroke-width\",1.5)}))}(u),S(u,\"plotly_hover\",n.event)):(function(t){n.select(t.parentNode).selectAll(\"rect.bandrect\").each((function(t){var e=A(t);w(e),e.each((function(){s.raiseToTop(this)}))})),n.select(t.parentNode).select(\"rect.catrect\").attr(\"stroke\",\"black\").attr(\"stroke-width\",2.5)}(u),M(u,\"plotly_hover\",n.event)),-1===t.parcatsViewModel.hoverinfoItems.indexOf(\"none\")&&(\"category\"===l?e=E(r,a,u):\"color\"===l?e=function(t,e,r){t._fullLayout._calcInverseTransform(t);var i,a,o=t._fullLayout._invScaleX,s=t._fullLayout._invScaleY,l=r.getBoundingClientRect(),u=n.select(r).datum(),f=u.categoryViewModel,h=f.parcatsViewModel,p=h.model.dimensions[f.model.dimensionInd],d=h.trace,v=l.y+l.height/2;h.dimensions.length>1&&p.displayInd===h.dimensions.length-1?(i=l.left,a=\"left\"):(i=l.left+l.width,a=\"right\");var g=f.model.categoryLabel,y=u.parcatsViewModel.model.count,m=0;u.categoryViewModel.bands.forEach((function(t){t.color===u.color&&(m+=t.count)}));var x=f.model.count,b=0;h.pathSelection.each((function(t){t.model.color===u.color&&(b+=t.model.count)}));var _=m/y,w=m/b,T=m/x,k={countLabel:m,categoryLabel:g,probabilityLabel:_.toFixed(3)},A=[];-1!==f.parcatsViewModel.hoverinfoItems.indexOf(\"count\")&&A.push([\"Count:\",k.countLabel].join(\" \")),-1!==f.parcatsViewModel.hoverinfoItems.indexOf(\"probability\")&&(A.push(\"P(color ∩ \"+g+\"): \"+k.probabilityLabel),A.push(\"P(\"+g+\" | color): \"+w.toFixed(3)),A.push(\"P(color | \"+g+\"): \"+T.toFixed(3)));var M=A.join(\"
\"),S=c.mostReadable(u.color,[\"black\",\"white\"]);return{trace:d,x:o*(i-e.left),y:s*(v-e.top),text:M,color:u.color,borderColor:\"black\",fontFamily:'Monaco, \"Courier New\", monospace',fontColor:S,fontSize:10,idealAlign:a,hovertemplate:d.hovertemplate,hovertemplateLabels:k,eventData:[{data:d._input,fullData:d,category:g,count:y,probability:_,categorycount:x,colorcount:b,bandcolorcount:m}]}}(r,a,u):\"dimension\"===l&&(e=function(t,e,r){var i=[];return n.select(r.parentNode.parentNode).selectAll(\"g.category\").select(\"rect.catrect\").each((function(){i.push(E(t,e,this))})),i}(r,a,u)),e&&o.loneHover(e,{container:i._hoverlayer.node(),outerContainer:i._paper.node(),gd:r}))}}function C(t){var e=t.parcatsViewModel;e.dragDimension||(_(e.pathSelection),T(e.dimensionSelection.selectAll(\"g.category\")),k(e.dimensionSelection.selectAll(\"g.category\").selectAll(\"rect.bandrect\")),o.loneUnhover(e.graphDiv._fullLayout._hoverlayer.node()),e.pathSelection.sort(v),-1!==e.hoverinfoItems.indexOf(\"skip\"))||(\"color\"===t.parcatsViewModel.hoveron?S(this,\"plotly_unhover\",n.event):M(this,\"plotly_unhover\",n.event))}function P(t){\"fixed\"!==t.parcatsViewModel.arrangement&&(t.dragDimensionDisplayInd=t.model.displayInd,t.initialDragDimensionDisplayInds=t.parcatsViewModel.model.dimensions.map((function(t){return t.displayInd})),t.dragHasMoved=!1,t.dragCategoryDisplayInd=null,n.select(this).selectAll(\"g.category\").select(\"rect.catrect\").each((function(e){var r=n.mouse(this)[0],i=n.mouse(this)[1];-2<=r&&r<=e.width+2&&-2<=i&&i<=e.height+2&&(t.dragCategoryDisplayInd=e.model.displayInd,t.initialDragCategoryDisplayInds=t.model.categories.map((function(t){return t.displayInd})),e.model.dragY=e.y,s.raiseToTop(this.parentNode),n.select(this.parentNode).selectAll(\"rect.bandrect\").each((function(e){e.yf.y+f.height/2&&(o.model.displayInd=f.model.displayInd,f.model.displayInd=l),t.dragCategoryDisplayInd=o.model.displayInd}if(null===t.dragCategoryDisplayInd||\"freeform\"===t.parcatsViewModel.arrangement){a.model.dragX=n.event.x;var h=t.parcatsViewModel.dimensions[r],p=t.parcatsViewModel.dimensions[i];void 0!==h&&a.model.dragXp.x&&(a.model.displayInd=p.model.displayInd,p.model.displayInd=t.dragDimensionDisplayInd),t.dragDimensionDisplayInd=a.model.displayInd}j(t.parcatsViewModel),N(t.parcatsViewModel),R(t.parcatsViewModel),D(t.parcatsViewModel)}}function I(t){if(\"fixed\"!==t.parcatsViewModel.arrangement&&null!==t.dragDimensionDisplayInd){n.select(this).selectAll(\"text\").attr(\"font-weight\",\"normal\");var e={},r=z(t.parcatsViewModel),i=t.parcatsViewModel.model.dimensions.map((function(t){return t.displayInd})),o=t.initialDragDimensionDisplayInds.some((function(t,e){return t!==i[e]}));o&&i.forEach((function(r,n){var i=t.parcatsViewModel.model.dimensions[n].containerInd;e[\"dimensions[\"+i+\"].displayindex\"]=r}));var s=!1;if(null!==t.dragCategoryDisplayInd){var l=t.model.categories.map((function(t){return t.displayInd}));if(s=t.initialDragCategoryDisplayInds.some((function(t,e){return t!==l[e]}))){var u=t.model.categories.slice().sort((function(t,e){return t.displayInd-e.displayInd})),c=u.map((function(t){return t.categoryValue})),f=u.map((function(t){return t.categoryLabel}));e[\"dimensions[\"+t.model.containerInd+\"].categoryarray\"]=[c],e[\"dimensions[\"+t.model.containerInd+\"].ticktext\"]=[f],e[\"dimensions[\"+t.model.containerInd+\"].categoryorder\"]=\"array\"}}-1===t.parcatsViewModel.hoverinfoItems.indexOf(\"skip\")&&!t.dragHasMoved&&t.potentialClickBand&&(\"color\"===t.parcatsViewModel.hoveron?S(t.potentialClickBand,\"plotly_click\",n.event.sourceEvent):M(t.potentialClickBand,\"plotly_click\",n.event.sourceEvent)),t.model.dragX=null,null!==t.dragCategoryDisplayInd&&(t.parcatsViewModel.dimensions[t.dragDimensionDisplayInd].categories[t.dragCategoryDisplayInd].model.dragY=null,t.dragCategoryDisplayInd=null),t.dragDimensionDisplayInd=null,t.parcatsViewModel.dragDimension=null,t.dragHasMoved=null,t.potentialClickBand=null,j(t.parcatsViewModel),N(t.parcatsViewModel),n.transition().duration(300).ease(\"cubic-in-out\").each((function(){R(t.parcatsViewModel,!0),D(t.parcatsViewModel,!0)})).each(\"end\",(function(){(o||s)&&a.restyle(t.parcatsViewModel.graphDiv,e,[r])}))}}function z(t){for(var e,r=t.graphDiv._fullData,n=0;n=0;s--)c+=\"C\"+u[s]+\",\"+(e[s+1]+n)+\" \"+l[s]+\",\"+(e[s]+n)+\" \"+(t[s]+r[s])+\",\"+(e[s]+n),c+=\"l-\"+r[s]+\",0 \";return c+\"Z\"}function N(t){var e=t.dimensions,r=t.model,n=e.map((function(t){return t.categories.map((function(t){return t.y}))})),i=t.model.dimensions.map((function(t){return t.categories.map((function(t){return t.displayInd}))})),a=t.model.dimensions.map((function(t){return t.displayInd})),o=t.dimensions.map((function(t){return t.model.dimensionInd})),s=e.map((function(t){return t.x})),l=e.map((function(t){return t.width})),u=[];for(var c in r.paths)r.paths.hasOwnProperty(c)&&u.push(r.paths[c]);function f(t){var e=t.categoryInds.map((function(t,e){return i[e][t]}));return o.map((function(t){return e[t]}))}u.sort((function(e,r){var n=f(e),i=f(r);return\"backward\"===t.sortpaths&&(n.reverse(),i.reverse()),n.push(e.valueInds[0]),i.push(r.valueInds[0]),t.bundlecolors&&(n.unshift(e.rawColor),i.unshift(r.rawColor)),ni?1:0}));for(var h=new Array(u.length),p=e[0].model.count,d=e[0].categories.map((function(t){return t.height})).reduce((function(t,e){return t+e})),v=0;v0?d*(y.count/p):0;for(var m,x=new Array(n.length),b=0;b1?(t.width-80-16)/(n-1):0)*i;var a,o,s,l,u,c=[],f=t.model.maxCats,h=e.categories.length,p=e.count,d=t.height-8*(f-1),v=8*(f-h)/2,g=e.categories.map((function(t){return{displayInd:t.displayInd,categoryInd:t.categoryInd}}));for(g.sort((function(t,e){return t.displayInd-e.displayInd})),u=0;u0?o.count/p*d:0,s={key:o.valueInds[0],model:o,width:16,height:a,y:null!==o.dragY?o.dragY:v,bands:[],parcatsViewModel:t},v=v+a+8,c.push(s);return{key:e.dimensionInd,x:null!==e.dragX?e.dragX:r,y:0,width:16,model:e,categories:c,parcatsViewModel:t,dragCategoryDisplayInd:null,dragDimensionDisplayInd:null,initialDragDimensionDisplayInds:null,initialDragCategoryDisplayInds:null,dragHasMoved:null,potentialClickBand:null}}t.exports=function(t,e,r,n){h(r,t,n,e)}},60268:function(t,e,r){\"use strict\";var n=r(51036);t.exports=function(t,e,r,i){var a=t._fullLayout,o=a._paper,s=a._size;n(t,o,e,{width:s.w,height:s.h,margin:{t:s.t,r:s.r,b:s.b,l:s.l}},r,i)}},82296:function(t,e,r){\"use strict\";var n=r(49084),i=r(94724),a=r(25376),o=r(86968).u,s=r(92880).extendFlat,l=r(31780).templatedArray;t.exports={domain:o({name:\"parcoords\",trace:!0,editType:\"plot\"}),labelangle:{valType:\"angle\",dflt:0,editType:\"plot\"},labelside:{valType:\"enumerated\",values:[\"top\",\"bottom\"],dflt:\"top\",editType:\"plot\"},labelfont:a({editType:\"plot\"}),tickfont:a({editType:\"plot\"}),rangefont:a({editType:\"plot\"}),dimensions:l(\"dimension\",{label:{valType:\"string\",editType:\"plot\"},tickvals:s({},i.tickvals,{editType:\"plot\"}),ticktext:s({},i.ticktext,{editType:\"plot\"}),tickformat:s({},i.tickformat,{editType:\"plot\"}),visible:{valType:\"boolean\",dflt:!0,editType:\"plot\"},range:{valType:\"info_array\",items:[{valType:\"number\",editType:\"plot\"},{valType:\"number\",editType:\"plot\"}],editType:\"plot\"},constraintrange:{valType:\"info_array\",freeLength:!0,dimensions:\"1-2\",items:[{valType:\"any\",editType:\"plot\"},{valType:\"any\",editType:\"plot\"}],editType:\"plot\"},multiselect:{valType:\"boolean\",dflt:!0,editType:\"plot\"},values:{valType:\"data_array\",editType:\"calc\"},editType:\"calc\"}),line:s({editType:\"calc\"},n(\"line\",{colorscaleDflt:\"Viridis\",autoColorDflt:!1,editTypeOverride:\"calc\"})),unselected:{line:{color:{valType:\"color\",dflt:\"#7f7f7f\",editType:\"plot\"},opacity:{valType:\"number\",min:0,max:1,dflt:\"auto\",editType:\"plot\"},editType:\"plot\"},editType:\"plot\"}}},71864:function(t,e,r){\"use strict\";var n=r(30140),i=r(33428),a=r(71688).keyFun,o=r(71688).repeat,s=r(3400).sorterAsc,l=r(3400).strTranslate,u=n.bar.snapRatio;function c(t,e){return t*(1-u)+e*u}var f=n.bar.snapClose;function h(t,e){return t*(1-f)+e*f}function p(t,e,r,n){if(function(t,e){for(var r=0;r=e[r][0]&&t<=e[r][1])return!0;return!1}(r,n))return r;var i=t?-1:1,a=0,o=e.length-1;if(i<0){var s=a;a=o,o=s}for(var l=e[a],u=l,f=a;i*fe){h=r;break}}if(a=c,isNaN(a)&&(a=isNaN(f)||isNaN(h)?isNaN(f)?h:f:e-u[f][1]t[1]+r||e=.9*t[1]+.1*t[0]?\"n\":e<=.9*t[0]+.1*t[1]?\"s\":\"ns\"}(d,e);v&&(o.interval=l[a],o.intervalPix=d,o.region=v)}}if(t.ordinal&&!o.region){var g=t.unitTickvals,m=t.unitToPaddedPx.invert(e);for(r=0;r=x[0]&&m<=x[1]){o.clickableOrdinalRange=x;break}}}return o}function w(t,e){i.event.sourceEvent.stopPropagation();var r=e.height-i.mouse(t)[1]-2*n.verticalPadding,a=e.brush.svgBrush;a.wasDragged=!0,a._dragging=!0,a.grabbingBar?a.newExtent=[r-a.grabPoint,r+a.barLength-a.grabPoint].map(e.unitToPaddedPx.invert):a.newExtent=[a.startExtent,e.unitToPaddedPx.invert(r)].sort(s),e.brush.filterSpecified=!0,a.extent=a.stayingIntervals.concat([a.newExtent]),a.brushCallback(e),b(t.parentNode)}function T(t,e){var r=_(e,e.height-i.mouse(t)[1]-2*n.verticalPadding),a=\"crosshair\";r.clickableOrdinalRange?a=\"pointer\":r.region&&(a=r.region+\"-resize\"),i.select(document.body).style(\"cursor\",a)}function k(t){t.on(\"mousemove\",(function(t){i.event.preventDefault(),t.parent.inBrushDrag||T(this,t)})).on(\"mouseleave\",(function(t){t.parent.inBrushDrag||m()})).call(i.behavior.drag().on(\"dragstart\",(function(t){!function(t,e){i.event.sourceEvent.stopPropagation();var r=e.height-i.mouse(t)[1]-2*n.verticalPadding,a=e.unitToPaddedPx.invert(r),o=e.brush,s=_(e,r),l=s.interval,u=o.svgBrush;if(u.wasDragged=!1,u.grabbingBar=\"ns\"===s.region,u.grabbingBar){var c=l.map(e.unitToPaddedPx);u.grabPoint=r-c[0]-n.verticalPadding,u.barLength=c[1]-c[0]}u.clickableOrdinalRange=s.clickableOrdinalRange,u.stayingIntervals=e.multiselect&&o.filterSpecified?o.filter.getConsolidated():[],l&&(u.stayingIntervals=u.stayingIntervals.filter((function(t){return t[0]!==l[0]&&t[1]!==l[1]}))),u.startExtent=s.region?l[\"s\"===s.region?1:0]:a,e.parent.inBrushDrag=!0,u.brushStartCallback()}(this,t)})).on(\"drag\",(function(t){w(this,t)})).on(\"dragend\",(function(t){!function(t,e){var r=e.brush,n=r.filter,a=r.svgBrush;a._dragging||(T(t,e),w(t,e),e.brush.svgBrush.wasDragged=!1),a._dragging=!1,i.event.sourceEvent.stopPropagation();var o=a.grabbingBar;if(a.grabbingBar=!1,a.grabLocation=void 0,e.parent.inBrushDrag=!1,m(),!a.wasDragged)return a.wasDragged=void 0,a.clickableOrdinalRange?r.filterSpecified&&e.multiselect?a.extent.push(a.clickableOrdinalRange):(a.extent=[a.clickableOrdinalRange],r.filterSpecified=!0):o?(a.extent=a.stayingIntervals,0===a.extent.length&&M(r)):M(r),a.brushCallback(e),b(t.parentNode),void a.brushEndCallback(r.filterSpecified?n.getConsolidated():[]);var s=function(){n.set(n.getConsolidated())};if(e.ordinal){var l=e.unitTickvals;l[l.length-1]a.newExtent[0];a.extent=a.stayingIntervals.concat(u?[a.newExtent]:[]),a.extent.length||M(r),a.brushCallback(e),u?b(t.parentNode,s):(s(),b(t.parentNode))}else s();a.brushEndCallback(r.filterSpecified?n.getConsolidated():[])}(this,t)})))}function A(t,e){return t[0]-e[0]}function M(t){t.filterSpecified=!1,t.svgBrush.extent=[[-1/0,1/0]]}function S(t){for(var e,r=t.slice(),n=[],i=r.shift();i;){for(e=i.slice();(i=r.shift())&&i[0]<=e[1];)e[1]=Math.max(e[1],i[1]);n.push(e)}return 1===n.length&&n[0][0]>n[0][1]&&(n=[]),n}t.exports={makeBrush:function(t,e,r,n,i,a){var o,l=function(){var t,e,r=[];return{set:function(n){1===(r=n.map((function(t){return t.slice().sort(s)})).sort(A)).length&&r[0][0]===-1/0&&r[0][1]===1/0&&(r=[[0,-1]]),t=S(r),e=r.reduce((function(t,e){return[Math.min(t[0],e[0]),Math.max(t[1],e[1])]}),[1/0,-1/0])},get:function(){return r.slice()},getConsolidated:function(){return t},getBounds:function(){return e}}}();return l.set(r),{filter:l,filterSpecified:e,svgBrush:{extent:[],brushStartCallback:n,brushCallback:(o=i,function(t){var e=t.brush,r=function(t){return t.svgBrush.extent.map((function(t){return t.slice()}))}(e),n=r.slice();e.filter.set(n),o()}),brushEndCallback:a}}},ensureAxisBrush:function(t,e,r){var i=t.selectAll(\".\"+n.cn.axisBrush).data(o,a);i.enter().append(\"g\").classed(n.cn.axisBrush,!0),function(t,e,r){var i=r._context.staticPlot,a=t.selectAll(\".background\").data(o);a.enter().append(\"rect\").classed(\"background\",!0).call(d).call(v).style(\"pointer-events\",i?\"none\":\"auto\").attr(\"transform\",l(0,n.verticalPadding)),a.call(k).attr(\"height\",(function(t){return t.height-n.verticalPadding}));var s=t.selectAll(\".highlight-shadow\").data(o);s.enter().append(\"line\").classed(\"highlight-shadow\",!0).attr(\"x\",-n.bar.width/2).attr(\"stroke-width\",n.bar.width+n.bar.strokeWidth).attr(\"stroke\",e).attr(\"opacity\",n.bar.strokeOpacity).attr(\"stroke-linecap\",\"butt\"),s.attr(\"y1\",(function(t){return t.height})).call(x);var u=t.selectAll(\".highlight\").data(o);u.enter().append(\"line\").classed(\"highlight\",!0).attr(\"x\",-n.bar.width/2).attr(\"stroke-width\",n.bar.width-n.bar.strokeWidth).attr(\"stroke\",n.bar.fillColor).attr(\"opacity\",n.bar.fillOpacity).attr(\"stroke-linecap\",\"butt\"),u.attr(\"y1\",(function(t){return t.height})).call(x)}(i,e,r)},cleanRanges:function(t,e){if(Array.isArray(t[0])?(t=t.map((function(t){return t.sort(s)})),t=e.multiselect?S(t.sort(A)):[t[0]]):t=[t.sort(s)],e.tickvals){var r=e.tickvals.slice().sort(s);if(!(t=t.map((function(t){var e=[p(0,r,t[0],[]),p(1,r,t[1],[])];if(e[1]>e[0])return e})).filter((function(t){return t}))).length)return}return t.length>1?t:t[0]}}},61664:function(t,e,r){\"use strict\";t.exports={attributes:r(82296),supplyDefaults:r(60664),calc:r(95044),colorbar:{container:\"line\",min:\"cmin\",max:\"cmax\"},moduleType:\"trace\",name:\"parcoords\",basePlotModule:r(19976),categories:[\"gl\",\"regl\",\"noOpacity\",\"noHover\"],meta:{}}},19976:function(t,e,r){\"use strict\";var n=r(33428),i=r(84888)._M,a=r(24196),o=r(9616);e.name=\"parcoords\",e.plot=function(t){var e=i(t.calcdata,\"parcoords\")[0];e.length&&a(t,e)},e.clean=function(t,e,r,n){var i=n._has&&n._has(\"parcoords\"),a=e._has&&e._has(\"parcoords\");i&&!a&&(n._paperdiv.selectAll(\".parcoords\").remove(),n._glimages.selectAll(\"*\").remove())},e.toSVG=function(t){var e=t._fullLayout._glimages,r=n.select(t).selectAll(\".svg-container\");r.filter((function(t,e){return e===r.size()-1})).selectAll(\".gl-canvas-context, .gl-canvas-focus\").each((function(){var t=this,r=t.toDataURL(\"image/png\");e.append(\"svg:image\").attr({xmlns:o.svg,\"xlink:href\":r,preserveAspectRatio:\"none\",x:0,y:0,width:t.style.width,height:t.style.height})})),window.setTimeout((function(){n.selectAll(\"#filterBarPattern\").attr(\"id\",\"filterBarPattern\")}),60)}},95044:function(t,e,r){\"use strict\";var n=r(3400).isArrayOrTypedArray,i=r(8932),a=r(71688).wrap;t.exports=function(t,e){var r,o;return i.hasColorscale(e,\"line\")&&n(e.line.color)?(r=e.line.color,o=i.extractOpts(e.line).colorscale,i.calc(t,e,{vals:r,containerStr:\"line\",cLetter:\"c\"})):(r=function(t){for(var e=new Array(t),r=0;rf&&(n.log(\"parcoords traces support up to \"+f+\" dimensions at the moment\"),d.splice(f));var v=s(t,e,{name:\"dimensions\",layout:l,handleItemDefaults:p}),g=function(t,e,r,o,s){var l=s(\"line.color\",r);if(i(t,\"line\")&&n.isArrayOrTypedArray(l)){if(l.length)return s(\"line.colorscale\"),a(t,e,o,s,{prefix:\"line.\",cLetter:\"c\"}),l.length;e.line.color=r}return 1/0}(t,e,r,l,c);o(e,l,c),Array.isArray(v)&&v.length||(e.visible=!1),h(e,v,\"values\",g);var y={weight:l.font.weight,style:l.font.style,variant:l.font.variant,family:l.font.family,size:Math.round(l.font.size/1.2),color:l.font.color};n.coerceFont(c,\"labelfont\",y),n.coerceFont(c,\"tickfont\",y),n.coerceFont(c,\"rangefont\",y),c(\"labelangle\"),c(\"labelside\"),c(\"unselected.line.color\"),c(\"unselected.line.opacity\")}},95724:function(t,e,r){\"use strict\";var n=r(3400).isTypedArray;e.convertTypedArray=function(t){return n(t)?Array.prototype.slice.call(t):t},e.isOrdinal=function(t){return!!t.tickvals},e.isVisible=function(t){return t.visible||!(\"visible\"in t)}},29928:function(t,e,r){\"use strict\";var n=r(61664);n.plot=r(24196),t.exports=n},51352:function(t,e,r){\"use strict\";var n=[\"precision highp float;\",\"\",\"varying vec4 fragColor;\",\"\",\"attribute vec4 p01_04, p05_08, p09_12, p13_16,\",\" p17_20, p21_24, p25_28, p29_32,\",\" p33_36, p37_40, p41_44, p45_48,\",\" p49_52, p53_56, p57_60, colors;\",\"\",\"uniform mat4 dim0A, dim1A, dim0B, dim1B, dim0C, dim1C, dim0D, dim1D,\",\" loA, hiA, loB, hiB, loC, hiC, loD, hiD;\",\"\",\"uniform vec2 resolution, viewBoxPos, viewBoxSize;\",\"uniform float maskHeight;\",\"uniform float drwLayer; // 0: context, 1: focus, 2: pick\",\"uniform vec4 contextColor;\",\"uniform sampler2D maskTexture, palette;\",\"\",\"bool isPick = (drwLayer > 1.5);\",\"bool isContext = (drwLayer < 0.5);\",\"\",\"const vec4 ZEROS = vec4(0.0, 0.0, 0.0, 0.0);\",\"const vec4 UNITS = vec4(1.0, 1.0, 1.0, 1.0);\",\"\",\"float val(mat4 p, mat4 v) {\",\" return dot(matrixCompMult(p, v) * UNITS, UNITS);\",\"}\",\"\",\"float axisY(float ratio, mat4 A, mat4 B, mat4 C, mat4 D) {\",\" float y1 = val(A, dim0A) + val(B, dim0B) + val(C, dim0C) + val(D, dim0D);\",\" float y2 = val(A, dim1A) + val(B, dim1B) + val(C, dim1C) + val(D, dim1D);\",\" return y1 * (1.0 - ratio) + y2 * ratio;\",\"}\",\"\",\"int iMod(int a, int b) {\",\" return a - b * (a / b);\",\"}\",\"\",\"bool fOutside(float p, float lo, float hi) {\",\" return (lo < hi) && (lo > p || p > hi);\",\"}\",\"\",\"bool vOutside(vec4 p, vec4 lo, vec4 hi) {\",\" return (\",\" fOutside(p[0], lo[0], hi[0]) ||\",\" fOutside(p[1], lo[1], hi[1]) ||\",\" fOutside(p[2], lo[2], hi[2]) ||\",\" fOutside(p[3], lo[3], hi[3])\",\" );\",\"}\",\"\",\"bool mOutside(mat4 p, mat4 lo, mat4 hi) {\",\" return (\",\" vOutside(p[0], lo[0], hi[0]) ||\",\" vOutside(p[1], lo[1], hi[1]) ||\",\" vOutside(p[2], lo[2], hi[2]) ||\",\" vOutside(p[3], lo[3], hi[3])\",\" );\",\"}\",\"\",\"bool outsideBoundingBox(mat4 A, mat4 B, mat4 C, mat4 D) {\",\" return mOutside(A, loA, hiA) ||\",\" mOutside(B, loB, hiB) ||\",\" mOutside(C, loC, hiC) ||\",\" mOutside(D, loD, hiD);\",\"}\",\"\",\"bool outsideRasterMask(mat4 A, mat4 B, mat4 C, mat4 D) {\",\" mat4 pnts[4];\",\" pnts[0] = A;\",\" pnts[1] = B;\",\" pnts[2] = C;\",\" pnts[3] = D;\",\"\",\" for(int i = 0; i < 4; ++i) {\",\" for(int j = 0; j < 4; ++j) {\",\" for(int k = 0; k < 4; ++k) {\",\" if(0 == iMod(\",\" int(255.0 * texture2D(maskTexture,\",\" vec2(\",\" (float(i * 2 + j / 2) + 0.5) / 8.0,\",\" (pnts[i][j][k] * (maskHeight - 1.0) + 1.0) / maskHeight\",\" ))[3]\",\" ) / int(pow(2.0, float(iMod(j * 4 + k, 8)))),\",\" 2\",\" )) return true;\",\" }\",\" }\",\" }\",\" return false;\",\"}\",\"\",\"vec4 position(bool isContext, float v, mat4 A, mat4 B, mat4 C, mat4 D) {\",\" float x = 0.5 * sign(v) + 0.5;\",\" float y = axisY(x, A, B, C, D);\",\" float z = 1.0 - abs(v);\",\"\",\" z += isContext ? 0.0 : 2.0 * float(\",\" outsideBoundingBox(A, B, C, D) ||\",\" outsideRasterMask(A, B, C, D)\",\" );\",\"\",\" return vec4(\",\" 2.0 * (vec2(x, y) * viewBoxSize + viewBoxPos) / resolution - 1.0,\",\" z,\",\" 1.0\",\" );\",\"}\",\"\",\"void main() {\",\" mat4 A = mat4(p01_04, p05_08, p09_12, p13_16);\",\" mat4 B = mat4(p17_20, p21_24, p25_28, p29_32);\",\" mat4 C = mat4(p33_36, p37_40, p41_44, p45_48);\",\" mat4 D = mat4(p49_52, p53_56, p57_60, ZEROS);\",\"\",\" float v = colors[3];\",\"\",\" gl_Position = position(isContext, v, A, B, C, D);\",\"\",\" fragColor =\",\" isContext ? vec4(contextColor) :\",\" isPick ? vec4(colors.rgb, 1.0) : texture2D(palette, vec2(abs(v), 0.5));\",\"}\"].join(\"\\n\"),i=[\"precision highp float;\",\"\",\"varying vec4 fragColor;\",\"\",\"void main() {\",\" gl_FragColor = fragColor;\",\"}\"].join(\"\\n\"),a=r(30140).maxDimensionCount,o=r(3400),s=1e-6,l=new Uint8Array(4),u=new Uint8Array(4),c={shape:[256,1],format:\"rgba\",type:\"uint8\",mag:\"nearest\",min:\"nearest\"};function f(t,e,r,n,i){var a=t._gl;a.enable(a.SCISSOR_TEST),a.scissor(e,r,n,i),t.clear({color:[0,0,0,0],depth:1})}function h(t,e,r,n,i,a){var o=a.key;r.drawCompleted||(function(t){t.read({x:0,y:0,width:1,height:1,data:l})}(t),r.drawCompleted=!0),function s(l){var u=Math.min(n,i-l*n);0===l&&(window.cancelAnimationFrame(r.currentRafs[o]),delete r.currentRafs[o],f(t,a.scissorX,a.scissorY,a.scissorWidth,a.viewBoxSize[1])),r.clearOnly||(a.count=2*u,a.offset=2*l*n,e(a),l*n+u>>8*e)%256/255}function v(t,e,r){for(var n=new Array(8*e),i=0,a=0;au&&(u=t[i].dim1.canvasX,o=i);0===s&&f(k,0,0,r.canvasWidth,r.canvasHeight);var c=function(t){var e,r,n,i=[[],[]];for(n=0;n<64;n++){var a=!t&&ns._length&&(E=E.slice(0,s._length));var C,P=s.tickvals;function O(t,e){return{val:t,text:C[e]}}function I(t,e){return t.val-e.val}if(a(P)&&P.length){i.isTypedArray(P)&&(P=Array.from(P)),C=s.ticktext,a(C)&&C.length?C.length>P.length?C=C.slice(0,P.length):P.length>C.length&&(P=P.slice(0,C.length)):C=P.map(o(s.tickformat));for(var z=1;z=r||l>=i)return;var u=t.lineLayer.readPixel(s,i-1-l),c=0!==u[3],f=c?u[2]+256*(u[1]+256*u[0]):null,h={x:s,y:l,clientX:e.clientX,clientY:e.clientY,dataIndex:t.model.key,curveNumber:f};f!==N&&(c?a.hover(h):a.unhover&&a.unhover(h),N=f)}})),B.style(\"opacity\",(function(t){return t.pick?0:1})),p.style(\"background\",\"rgba(255, 255, 255, 0)\");var j=p.selectAll(\".\"+x.cn.parcoords).data(F,v);j.exit().remove(),j.enter().append(\"g\").classed(x.cn.parcoords,!0).style(\"shape-rendering\",\"crispEdges\").style(\"pointer-events\",\"none\"),j.attr(\"transform\",(function(t){return c(t.model.translateX,t.model.translateY)}));var U=j.selectAll(\".\"+x.cn.parcoordsControlView).data(g,v);U.enter().append(\"g\").classed(x.cn.parcoordsControlView,!0),U.attr(\"transform\",(function(t){return c(t.model.pad.l,t.model.pad.t)}));var V=U.selectAll(\".\"+x.cn.yAxis).data((function(t){return t.dimensions}),v);V.enter().append(\"g\").classed(x.cn.yAxis,!0),U.each((function(t){z(V,t,w)})),B.each((function(t){if(t.viewModel){!t.lineLayer||a?t.lineLayer=_(this,t):t.lineLayer.update(t),(t.key||0===t.key)&&(t.viewModel[t.key]=t.lineLayer);var e=!t.context||a;t.lineLayer.render(t.viewModel.panels,e)}})),V.attr(\"transform\",(function(t){return c(t.xScale(t.xIndex),0)})),V.call(n.behavior.drag().origin((function(t){return t})).on(\"drag\",(function(t){var e=t.parent;E.linePickActive(!1),t.x=Math.max(-x.overdrag,Math.min(t.model.width+x.overdrag,n.event.x)),t.canvasX=t.x*t.model.canvasPixelRatio,V.sort((function(t,e){return t.x-e.x})).each((function(e,r){e.xIndex=r,e.x=t===e?e.x:e.xScale(e.xIndex),e.canvasX=e.x*e.model.canvasPixelRatio})),z(V,e,w),V.filter((function(e){return 0!==Math.abs(t.xIndex-e.xIndex)})).attr(\"transform\",(function(t){return c(t.xScale(t.xIndex),0)})),n.select(this).attr(\"transform\",c(t.x,0)),V.each((function(r,n,i){i===t.parent.key&&(e.dimensions[n]=r)})),e.contextLayer&&e.contextLayer.render(e.panels,!1,!L(e)),e.focusLayer.render&&e.focusLayer.render(e.panels)})).on(\"dragend\",(function(t){var e=t.parent;t.x=t.xScale(t.xIndex),t.canvasX=t.x*t.model.canvasPixelRatio,z(V,e,w),n.select(this).attr(\"transform\",(function(t){return c(t.x,0)})),e.contextLayer&&e.contextLayer.render(e.panels,!1,!L(e)),e.focusLayer&&e.focusLayer.render(e.panels),e.pickLayer&&e.pickLayer.render(e.panels,!0),E.linePickActive(!0),a&&a.axesMoved&&a.axesMoved(e.key,e.dimensions.map((function(t){return t.crossfilterDimensionIndex})))}))),V.exit().remove();var q=V.selectAll(\".\"+x.cn.axisOverlays).data(g,v);q.enter().append(\"g\").classed(x.cn.axisOverlays,!0),q.selectAll(\".\"+x.cn.axis).remove();var H=q.selectAll(\".\"+x.cn.axis).data(g,v);H.enter().append(\"g\").classed(x.cn.axis,!0),H.each((function(t){var e=t.model.height/t.model.tickDistance,r=t.domainScale,i=r.domain();n.select(this).call(n.svg.axis().orient(\"left\").tickSize(4).outerTickSize(2).ticks(e,t.tickFormat).tickValues(t.ordinal?i:null).tickFormat((function(e){return m.isOrdinal(t)?e:D(t.model.dimensions[t.visibleIndex],e)})).scale(r)),h.font(H.selectAll(\"text\"),t.model.tickFont)})),H.selectAll(\".domain, .tick>line\").attr(\"fill\",\"none\").attr(\"stroke\",\"black\").attr(\"stroke-opacity\",.25).attr(\"stroke-width\",\"1px\"),H.selectAll(\"text\").style(\"text-shadow\",f.makeTextShadow(k)).style(\"cursor\",\"default\");var G=q.selectAll(\".\"+x.cn.axisHeading).data(g,v);G.enter().append(\"g\").classed(x.cn.axisHeading,!0);var W=G.selectAll(\".\"+x.cn.axisTitle).data(g,v);W.enter().append(\"text\").classed(x.cn.axisTitle,!0).attr(\"text-anchor\",\"middle\").style(\"cursor\",\"ew-resize\").style(\"pointer-events\",o?\"none\":\"auto\"),W.text((function(t){return t.label})).each((function(e){var r=n.select(this);h.font(r,e.model.labelFont),f.convertToTspans(r,t)})).attr(\"transform\",(function(t){var e=I(t.model.labelAngle,t.model.labelSide),r=x.axisTitleOffset;return(e.dir>0?\"\":c(0,2*r+t.model.height))+u(e.degrees)+c(-r*e.dx,-r*e.dy)})).attr(\"text-anchor\",(function(t){var e=I(t.model.labelAngle,t.model.labelSide);return 2*Math.abs(e.dx)>Math.abs(e.dy)?e.dir*e.dx<0?\"start\":\"end\":\"middle\"}));var Y=q.selectAll(\".\"+x.cn.axisExtent).data(g,v);Y.enter().append(\"g\").classed(x.cn.axisExtent,!0);var X=Y.selectAll(\".\"+x.cn.axisExtentTop).data(g,v);X.enter().append(\"g\").classed(x.cn.axisExtentTop,!0),X.attr(\"transform\",c(0,-x.axisExtentOffset));var Z=X.selectAll(\".\"+x.cn.axisExtentTopText).data(g,v);Z.enter().append(\"text\").classed(x.cn.axisExtentTopText,!0).call(O),Z.text((function(t){return R(t,!0)})).each((function(t){h.font(n.select(this),t.model.rangeFont)}));var K=Y.selectAll(\".\"+x.cn.axisExtentBottom).data(g,v);K.enter().append(\"g\").classed(x.cn.axisExtentBottom,!0),K.attr(\"transform\",(function(t){return c(0,t.model.height+x.axisExtentOffset)}));var J=K.selectAll(\".\"+x.cn.axisExtentBottomText).data(g,v);J.enter().append(\"text\").classed(x.cn.axisExtentBottomText,!0).attr(\"dy\",\"0.75em\").call(O),J.text((function(t){return R(t,!1)})).each((function(t){h.font(n.select(this),t.model.rangeFont)})),b.ensureAxisBrush(q,k,t)}},24196:function(t,e,r){\"use strict\";var n=r(36336),i=r(5048),a=r(95724).isVisible,o={};function s(t,e,r){var n=e.indexOf(r),i=t.indexOf(n);return-1===i&&(i+=e.length),i}(t.exports=function(t,e){var r=t._fullLayout;if(i(t,[],o)){var l={},u={},c={},f={},h=r._size;e.forEach((function(e,r){var n=e[0].trace;c[r]=n.index;var i=f[r]=n._fullInput.index;l[r]=t.data[i].dimensions,u[r]=t.data[i].dimensions.slice()})),n(t,e,{width:h.w,height:h.h,margin:{t:h.t,r:h.r,b:h.b,l:h.l}},{filterChanged:function(e,n,i){var a=u[e][n],o=i.map((function(t){return t.slice()})),s=\"dimensions[\"+n+\"].constraintrange\",l=r._tracePreGUI[t._fullData[c[e]]._fullInput.uid];if(void 0===l[s]){var h=a.constraintrange;l[s]=h||null}var p=t._fullData[c[e]].dimensions[n];o.length?(1===o.length&&(o=o[0]),a.constraintrange=o,p.constraintrange=o.slice(),o=[o]):(delete a.constraintrange,delete p.constraintrange,o=null);var d={};d[s]=o,t.emit(\"plotly_restyle\",[d,[f[e]]])},hover:function(e){t.emit(\"plotly_hover\",e)},unhover:function(e){t.emit(\"plotly_unhover\",e)},axesMoved:function(e,r){var n=function(t,e){return function(r,n){return s(t,e,r)-s(t,e,n)}}(r,u[e].filter(a));l[e].sort(n),u[e].filter((function(t){return!a(t)})).sort((function(t){return u[e].indexOf(t)})).forEach((function(t){l[e].splice(l[e].indexOf(t),1),l[e].splice(u[e].indexOf(t),0,t)})),t.emit(\"plotly_restyle\",[{dimensions:[l[e]]},[f[e]]])}})}}).reglPrecompiled=o},74996:function(t,e,r){\"use strict\";var n=r(45464),i=r(86968).u,a=r(25376),o=r(22548),s=r(21776).Ks,l=r(21776).Gw,u=r(92880).extendFlat,c=r(98192).c,f=a({editType:\"plot\",arrayOk:!0,colorEditType:\"plot\"});t.exports={labels:{valType:\"data_array\",editType:\"calc\"},label0:{valType:\"number\",dflt:0,editType:\"calc\"},dlabel:{valType:\"number\",dflt:1,editType:\"calc\"},values:{valType:\"data_array\",editType:\"calc\"},marker:{colors:{valType:\"data_array\",editType:\"calc\"},line:{color:{valType:\"color\",dflt:o.defaultLine,arrayOk:!0,editType:\"style\"},width:{valType:\"number\",min:0,dflt:0,arrayOk:!0,editType:\"style\"},editType:\"calc\"},pattern:c,editType:\"calc\"},text:{valType:\"data_array\",editType:\"plot\"},hovertext:{valType:\"string\",dflt:\"\",arrayOk:!0,editType:\"style\"},scalegroup:{valType:\"string\",dflt:\"\",editType:\"calc\"},textinfo:{valType:\"flaglist\",flags:[\"label\",\"text\",\"value\",\"percent\"],extras:[\"none\"],editType:\"calc\"},hoverinfo:u({},n.hoverinfo,{flags:[\"label\",\"text\",\"value\",\"percent\",\"name\"]}),hovertemplate:s({},{keys:[\"label\",\"color\",\"value\",\"percent\",\"text\"]}),texttemplate:l({editType:\"plot\"},{keys:[\"label\",\"color\",\"value\",\"percent\",\"text\"]}),textposition:{valType:\"enumerated\",values:[\"inside\",\"outside\",\"auto\",\"none\"],dflt:\"auto\",arrayOk:!0,editType:\"plot\"},textfont:u({},f,{}),insidetextorientation:{valType:\"enumerated\",values:[\"horizontal\",\"radial\",\"tangential\",\"auto\"],dflt:\"auto\",editType:\"plot\"},insidetextfont:u({},f,{}),outsidetextfont:u({},f,{}),automargin:{valType:\"boolean\",dflt:!1,editType:\"plot\"},title:{text:{valType:\"string\",dflt:\"\",editType:\"plot\"},font:u({},f,{}),position:{valType:\"enumerated\",values:[\"top left\",\"top center\",\"top right\",\"middle center\",\"bottom left\",\"bottom center\",\"bottom right\"],editType:\"plot\"},editType:\"plot\"},domain:i({name:\"pie\",trace:!0,editType:\"calc\"}),hole:{valType:\"number\",min:0,max:1,dflt:0,editType:\"calc\"},sort:{valType:\"boolean\",dflt:!0,editType:\"calc\"},direction:{valType:\"enumerated\",values:[\"clockwise\",\"counterclockwise\"],dflt:\"counterclockwise\",editType:\"calc\"},rotation:{valType:\"angle\",dflt:0,editType:\"calc\"},pull:{valType:\"number\",min:0,max:1,dflt:0,arrayOk:!0,editType:\"calc\"},_deprecated:{title:{valType:\"string\",dflt:\"\",editType:\"calc\"},titlefont:u({},f,{}),titleposition:{valType:\"enumerated\",values:[\"top left\",\"top center\",\"top right\",\"middle center\",\"bottom left\",\"bottom center\",\"bottom right\"],editType:\"calc\"}}}},80036:function(t,e,r){\"use strict\";var n=r(7316);e.name=\"pie\",e.plot=function(t,r,i,a){n.plotBasePlot(e.name,t,r,i,a)},e.clean=function(t,r,i,a){n.cleanBasePlot(e.name,t,r,i,a)}},45768:function(t,e,r){\"use strict\";var n=r(38248),i=r(49760),a=r(76308),o={};function s(t){return function(e,r){return!!e&&!!(e=i(e)).isValid()&&(e=a.addOpacity(e,e.getAlpha()),t[r]||(t[r]=e),e)}}function l(t,e){var r,n=JSON.stringify(t),a=e[n];if(!a){for(a=t.slice(),r=0;r=0})),(\"funnelarea\"===e.type?y:e.sort)&&a.sort((function(t,e){return e.v-t.v})),a[0]&&(a[0].vTotal=g),a},crossTraceCalc:function(t,e){var r=(e||{}).type;r||(r=\"pie\");var n=t._fullLayout,i=t.calcdata,a=n[r+\"colorway\"],s=n[\"_\"+r+\"colormap\"];n[\"extend\"+r+\"colors\"]&&(a=l(a,o));for(var u=0,c=0;c0){s=!0;break}}s||(o=0)}return{hasLabels:r,hasValues:a,len:o}}function c(t,e,r,n,i){n(\"marker.line.width\")&&n(\"marker.line.color\",i?void 0:r.paper_bgcolor);var a=n(\"marker.colors\");l(n,\"marker.pattern\",a),t.marker&&!e.marker.pattern.fgcolor&&(e.marker.pattern.fgcolor=t.marker.colors),e.marker.pattern.bgcolor||(e.marker.pattern.bgcolor=r.paper_bgcolor)}t.exports={handleLabelsAndValues:u,handleMarkerDefaults:c,supplyDefaults:function(t,e,r,n){function l(r,n){return i.coerce(t,e,a,r,n)}var f=u(l(\"labels\"),l(\"values\")),h=f.len;if(e._hasLabels=f.hasLabels,e._hasValues=f.hasValues,!e._hasLabels&&e._hasValues&&(l(\"label0\"),l(\"dlabel\")),h){e._length=h,c(t,e,n,l,!0),l(\"scalegroup\");var p,d=l(\"text\"),v=l(\"texttemplate\");if(v||(p=l(\"textinfo\",i.isArrayOrTypedArray(d)?\"text+percent\":\"percent\")),l(\"hovertext\"),l(\"hovertemplate\"),v||p&&\"none\"!==p){var g=l(\"textposition\");s(t,e,n,l,g,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),(Array.isArray(g)||\"auto\"===g||\"outside\"===g)&&l(\"automargin\"),(\"inside\"===g||\"auto\"===g||Array.isArray(g))&&l(\"insidetextorientation\")}else\"none\"===p&&l(\"textposition\",\"none\");o(e,n,l);var y=l(\"hole\");if(l(\"title.text\")){var m=l(\"title.position\",y?\"middle center\":\"top center\");y||\"middle center\"!==m||(e.title.position=\"top center\"),i.coerceFont(l,\"title.font\",n.font)}l(\"sort\"),l(\"direction\"),l(\"rotation\"),l(\"pull\")}else e.visible=!1}}},53644:function(t,e,r){\"use strict\";var n=r(10624).appendArrayMultiPointValues;t.exports=function(t,e){var r={curveNumber:e.index,pointNumbers:t.pts,data:e._input,fullData:e,label:t.label,color:t.color,value:t.v,percent:t.percent,text:t.text,bbox:t.bbox,v:t.v};return 1===t.pts.length&&(r.pointNumber=r.i=t.pts[0]),n(r,e,t.pts),\"funnelarea\"===e.type&&(delete r.v,delete r.i),r}},21552:function(t,e,r){\"use strict\";var n=r(43616),i=r(76308);t.exports=function(t,e,r,a){var o=r.marker.pattern;o&&o.shape?n.pointStyle(t,r,a,e):i.fill(t,e.color)}},69656:function(t,e,r){\"use strict\";var n=r(3400);function i(t){return-1!==t.indexOf(\"e\")?t.replace(/[.]?0+e/,\"e\"):-1!==t.indexOf(\".\")?t.replace(/[.]?0+$/,\"\"):t}e.formatPiePercent=function(t,e){var r=i((100*t).toPrecision(3));return n.numSeparate(r,e)+\"%\"},e.formatPieValue=function(t,e){var r=i(t.toPrecision(10));return n.numSeparate(r,e)},e.getFirstFilled=function(t,e){if(n.isArrayOrTypedArray(t))for(var r=0;r\"),name:f.hovertemplate||-1!==h.indexOf(\"name\")?f.name:void 0,idealAlign:t.pxmid[0]<0?\"left\":\"right\",color:g.castOption(_.bgcolor,t.pts)||t.color,borderColor:g.castOption(_.bordercolor,t.pts),fontFamily:g.castOption(w.family,t.pts),fontSize:g.castOption(w.size,t.pts),fontColor:g.castOption(w.color,t.pts),nameLength:g.castOption(_.namelength,t.pts),textAlign:g.castOption(_.align,t.pts),hovertemplate:g.castOption(f.hovertemplate,t.pts),hovertemplateLabels:t,eventData:[y(t,f)]},{container:r._hoverlayer.node(),outerContainer:r._paper.node(),gd:e,inOut_bbox:T}),t.bbox=T[0],u._hasHoverLabel=!0}u._hasHoverEvent=!0,e.emit(\"plotly_hover\",{points:[y(t,f)],event:n.event})}})),t.on(\"mouseout\",(function(t){var r=e._fullLayout,i=e._fullData[u.index],o=n.select(this).datum();u._hasHoverEvent&&(t.originalEvent=n.event,e.emit(\"plotly_unhover\",{points:[y(o,i)],event:n.event}),u._hasHoverEvent=!1),u._hasHoverLabel&&(a.loneUnhover(r._hoverlayer.node()),u._hasHoverLabel=!1)})),t.on(\"click\",(function(t){var r=e._fullLayout,i=e._fullData[u.index];e._dragging||!1===r.hovermode||(e._hoverdata=[y(t,i)],a.click(e,n.event))}))}function b(t,e,r){var n=g.castOption(t.insidetextfont.color,e.pts);!n&&t._input.textfont&&(n=g.castOption(t._input.textfont.color,e.pts));var i=g.castOption(t.insidetextfont.family,e.pts)||g.castOption(t.textfont.family,e.pts)||r.family,a=g.castOption(t.insidetextfont.size,e.pts)||g.castOption(t.textfont.size,e.pts)||r.size,s=g.castOption(t.insidetextfont.weight,e.pts)||g.castOption(t.textfont.weight,e.pts)||r.weight,l=g.castOption(t.insidetextfont.style,e.pts)||g.castOption(t.textfont.style,e.pts)||r.style,u=g.castOption(t.insidetextfont.variant,e.pts)||g.castOption(t.textfont.variant,e.pts)||r.variant;return{color:n||o.contrast(e.color),family:i,size:a,weight:s,style:l,variant:u}}function _(t,e){for(var r,n,i=0;ie&&e>n||r=-4;g-=2)y(Math.PI*g,\"tan\");for(g=4;g>=-4;g-=2)y(Math.PI*(g+1),\"tan\")}if(f||p){for(g=4;g>=-4;g-=2)y(Math.PI*(g+1.5),\"rad\");for(g=4;g>=-4;g-=2)y(Math.PI*(g+.5),\"rad\")}}if(s||d||f){var m=Math.sqrt(t.width*t.width+t.height*t.height);if((a={scale:i*n*2/m,rCenter:1-i,rotate:0}).textPosAngle=(e.startangle+e.stopangle)/2,a.scale>=1)return a;v.push(a)}(d||p)&&((a=T(t,n,o,l,u)).textPosAngle=(e.startangle+e.stopangle)/2,v.push(a)),(d||h)&&((a=k(t,n,o,l,u)).textPosAngle=(e.startangle+e.stopangle)/2,v.push(a));for(var x=0,b=0,_=0;_=1)break}return v[x]}function T(t,e,r,n,i){e=Math.max(0,e-2*v);var a=t.width/t.height,o=S(a,n,e,r);return{scale:2*o/t.height,rCenter:A(a,o/e),rotate:M(i)}}function k(t,e,r,n,i){e=Math.max(0,e-2*v);var a=t.height/t.width,o=S(a,n,e,r);return{scale:2*o/t.width,rCenter:A(a,o/e),rotate:M(i+Math.PI/2)}}function A(t,e){return Math.cos(e)-t*e}function M(t){return(180/Math.PI*t+720)%180-90}function S(t,e,r,n){var i=t+1/(2*Math.tan(e));return r*Math.min(1/(Math.sqrt(i*i+.5)+i),n/(Math.sqrt(t*t+n/2)+t))}function E(t,e){return t.v!==e.vTotal||e.trace.hole?Math.min(1/(1+1/Math.sin(t.halfangle)),t.ring/2):1}function L(t,e){var r=e.pxmid[0],n=e.pxmid[1],i=t.width/2,a=t.height/2;return r<0&&(i*=-1),n<0&&(a*=-1),{scale:1,rCenter:1,rotate:0,x:i+Math.abs(a)*(i>0?1:-1)/2,y:a/(1+r*r/(n*n)),outside:!0}}function C(t,e){var r,n,i,a=t.trace,o={x:t.cx,y:t.cy},s={tx:0,ty:0};s.ty+=a.title.font.size,i=O(a),-1!==a.title.position.indexOf(\"top\")?(o.y-=(1+i)*t.r,s.ty-=t.titleBox.height):-1!==a.title.position.indexOf(\"bottom\")&&(o.y+=(1+i)*t.r);var l,u=t.r/(void 0===(l=t.trace.aspectratio)?1:l),c=e.w*(a.domain.x[1]-a.domain.x[0])/2;return-1!==a.title.position.indexOf(\"left\")?(c+=u,o.x-=(1+i)*u,s.tx+=t.titleBox.width/2):-1!==a.title.position.indexOf(\"center\")?c*=2:-1!==a.title.position.indexOf(\"right\")&&(c+=u,o.x+=(1+i)*u,s.tx-=t.titleBox.width/2),r=c/t.titleBox.width,n=P(t,e)/t.titleBox.height,{x:o.x,y:o.y,scale:Math.min(r,n),tx:s.tx,ty:s.ty}}function P(t,e){var r=t.trace,n=e.h*(r.domain.y[1]-r.domain.y[0]);return Math.min(t.titleBox.height,n/2)}function O(t){var e,r=t.pull;if(!r)return 0;if(l.isArrayOrTypedArray(r))for(r=0,e=0;er&&(r=t.pull[e]);return r}function I(t,e){for(var r=[],n=0;n1?c=(u=r.r)/i.aspectratio:u=(c=r.r)*i.aspectratio,l=(u*=(1+i.baseratio)/2)*c}o=Math.min(o,l/r.vTotal)}for(n=0;n\")}if(a){var x=l.castOption(i,e.i,\"texttemplate\");if(x){var b=function(t){return{label:t.label,value:t.v,valueLabel:g.formatPieValue(t.v,n.separators),percent:t.v/r.vTotal,percentLabel:g.formatPiePercent(t.v/r.vTotal,n.separators),color:t.color,text:t.text,customdata:l.castOption(i,t.i,\"customdata\")}}(e),_=g.getFirstFilled(i.text,e.pts);(m(_)||\"\"===_)&&(b.text=_),e.text=l.texttemplateString(x,b,t._fullLayout._d3locale,b,i._meta||{})}else e.text=\"\"}}function R(t,e){var r=t.rotate*Math.PI/180,n=Math.cos(r),i=Math.sin(r),a=(e.left+e.right)/2,o=(e.top+e.bottom)/2;t.textX=a*n-o*i,t.textY=a*i+o*n,t.noCenter=!0}t.exports={plot:function(t,e){var r=t._context.staticPlot,a=t._fullLayout,h=a._size;d(\"pie\",a),_(e,t),I(e,h);var v=l.makeTraceGroups(a._pielayer,e,\"trace\").each((function(e){var d=n.select(this),v=e[0],y=v.trace;!function(t){var e,r,n,i=t[0],a=i.r,o=i.trace,s=g.getRotationAngle(o.rotation),l=2*Math.PI/i.vTotal,u=\"px0\",c=\"px1\";if(\"counterclockwise\"===o.direction){for(e=0;ei.vTotal/2?1:0,r.halfangle=Math.PI*Math.min(r.v/i.vTotal,.5),r.ring=1-o.hole,r.rInscribed=E(r,i))}(e),d.attr(\"stroke-linejoin\",\"round\"),d.each((function(){var m=n.select(this).selectAll(\"g.slice\").data(e);m.enter().append(\"g\").classed(\"slice\",!0),m.exit().remove();var _=[[[],[]],[[],[]]],T=!1;m.each((function(i,o){if(i.hidden)n.select(this).selectAll(\"path,g\").remove();else{i.pointNumber=i.i,i.curveNumber=y.index,_[i.pxmid[1]<0?0:1][i.pxmid[0]<0?0:1].push(i);var u=v.cx,c=v.cy,h=n.select(this),d=h.selectAll(\"path.surface\").data([i]);if(d.enter().append(\"path\").classed(\"surface\",!0).style({\"pointer-events\":r?\"none\":\"all\"}),h.call(x,t,e),y.pull){var m=+g.castOption(y.pull,i.pts)||0;m>0&&(u+=m*i.pxmid[0],c+=m*i.pxmid[1])}i.cxFinal=u,i.cyFinal=c;var k=y.hole;if(i.v===v.vTotal){var A=\"M\"+(u+i.px0[0])+\",\"+(c+i.px0[1])+P(i.px0,i.pxmid,!0,1)+P(i.pxmid,i.px0,!0,1)+\"Z\";k?d.attr(\"d\",\"M\"+(u+k*i.px0[0])+\",\"+(c+k*i.px0[1])+P(i.px0,i.pxmid,!1,k)+P(i.pxmid,i.px0,!1,k)+\"Z\"+A):d.attr(\"d\",A)}else{var M=P(i.px0,i.px1,!0,1);if(k){var S=1-k;d.attr(\"d\",\"M\"+(u+k*i.px1[0])+\",\"+(c+k*i.px1[1])+P(i.px1,i.px0,!1,k)+\"l\"+S*i.px0[0]+\",\"+S*i.px0[1]+M+\"Z\")}else d.attr(\"d\",\"M\"+u+\",\"+c+\"l\"+i.px0[0]+\",\"+i.px0[1]+M+\"Z\")}D(t,i,v);var E=g.castOption(y.textposition,i.pts),C=h.selectAll(\"g.slicetext\").data(i.text&&\"none\"!==E?[0]:[]);C.enter().append(\"g\").classed(\"slicetext\",!0),C.exit().remove(),C.each((function(){var r=l.ensureSingle(n.select(this),\"text\",\"\",(function(t){t.attr(\"data-notex\",1)})),h=l.ensureUniformFontSize(t,\"outside\"===E?function(t,e,r){return{color:g.castOption(t.outsidetextfont.color,e.pts)||g.castOption(t.textfont.color,e.pts)||r.color,family:g.castOption(t.outsidetextfont.family,e.pts)||g.castOption(t.textfont.family,e.pts)||r.family,size:g.castOption(t.outsidetextfont.size,e.pts)||g.castOption(t.textfont.size,e.pts)||r.size,weight:g.castOption(t.outsidetextfont.weight,e.pts)||g.castOption(t.textfont.weight,e.pts)||r.weight,style:g.castOption(t.outsidetextfont.style,e.pts)||g.castOption(t.textfont.style,e.pts)||r.style,variant:g.castOption(t.outsidetextfont.variant,e.pts)||g.castOption(t.textfont.variant,e.pts)||r.variant}}(y,i,a.font):b(y,i,a.font));r.text(i.text).attr({class:\"slicetext\",transform:\"\",\"text-anchor\":\"middle\"}).call(s.font,h).call(f.convertToTspans,t);var d,m=s.bBox(r.node());if(\"outside\"===E)d=L(m,i);else if(d=w(m,i,v),\"auto\"===E&&d.scale<1){var x=l.ensureUniformFontSize(t,y.outsidetextfont);r.call(s.font,x),d=L(m=s.bBox(r.node()),i)}var _=d.textPosAngle,k=void 0===_?i.pxmid:z(v.r,_);if(d.targetX=u+k[0]*d.rCenter+(d.x||0),d.targetY=c+k[1]*d.rCenter+(d.y||0),R(d,m),d.outside){var A=d.targetY;i.yLabelMin=A-m.height/2,i.yLabelMid=A,i.yLabelMax=A+m.height/2,i.labelExtraX=0,i.labelExtraY=0,T=!0}d.fontSize=h.size,p(y.type,d,a),e[o].transform=d,l.setTransormAndDisplay(r,d)}))}function P(t,e,r,n){var a=n*(e[0]-t[0]),o=n*(e[1]-t[1]);return\"a\"+n*v.r+\",\"+n*v.r+\" 0 \"+i.largeArc+(r?\" 1 \":\" 0 \")+a+\",\"+o}}));var k=n.select(this).selectAll(\"g.titletext\").data(y.title.text?[0]:[]);if(k.enter().append(\"g\").classed(\"titletext\",!0),k.exit().remove(),k.each((function(){var e,r=l.ensureSingle(n.select(this),\"text\",\"\",(function(t){t.attr(\"data-notex\",1)})),i=y.title.text;y._meta&&(i=l.templateString(i,y._meta)),r.text(i).attr({class:\"titletext\",transform:\"\",\"text-anchor\":\"middle\"}).call(s.font,y.title.font).call(f.convertToTspans,t),e=\"middle center\"===y.title.position?function(t){var e=Math.sqrt(t.titleBox.width*t.titleBox.width+t.titleBox.height*t.titleBox.height);return{x:t.cx,y:t.cy,scale:t.trace.hole*t.r*2/e,tx:0,ty:-t.titleBox.height/2+t.trace.title.font.size}}(v):C(v,h),r.attr(\"transform\",c(e.x,e.y)+u(Math.min(1,e.scale))+c(e.tx,e.ty))})),T&&function(t,e){var r,n,i,a,o,s,u,c,f,h,p,d,v;function y(t,e){return t.pxmid[1]-e.pxmid[1]}function m(t,e){return e.pxmid[1]-t.pxmid[1]}function x(t,r){r||(r={});var i,c,f,p,d=r.labelExtraY+(n?r.yLabelMax:r.yLabelMin),v=n?t.yLabelMin:t.yLabelMax,y=n?t.yLabelMax:t.yLabelMin,m=t.cyFinal+o(t.px0[1],t.px1[1]),x=d-v;if(x*u>0&&(t.labelExtraY=x),l.isArrayOrTypedArray(e.pull))for(c=0;c=(g.castOption(e.pull,f.pts)||0)||((t.pxmid[1]-f.pxmid[1])*u>0?(x=f.cyFinal+o(f.px0[1],f.px1[1])-v-t.labelExtraY)*u>0&&(t.labelExtraY+=x):(y+t.labelExtraY-m)*u>0&&(i=3*s*Math.abs(c-h.indexOf(t)),(p=f.cxFinal+a(f.px0[0],f.px1[0])+i-(t.cxFinal+t.pxmid[0])-t.labelExtraX)*s>0&&(t.labelExtraX+=p)))}for(n=0;n<2;n++)for(i=n?y:m,o=n?Math.max:Math.min,u=n?1:-1,r=0;r<2;r++){for(a=r?Math.max:Math.min,s=r?1:-1,(c=t[n][r]).sort(i),f=t[1-n][r],h=f.concat(c),d=[],p=0;pMath.abs(f)?s+=\"l\"+f*t.pxmid[0]/t.pxmid[1]+\",\"+f+\"H\"+(a+t.labelExtraX+u):s+=\"l\"+t.labelExtraX+\",\"+c+\"v\"+(f-c)+\"h\"+u}else s+=\"V\"+(t.yLabelMid+t.labelExtraY)+\"h\"+u;l.ensureSingle(r,\"path\",\"textline\").call(o.stroke,e.outsidetextfont.color).attr({\"stroke-width\":Math.min(2,e.outsidetextfont.size/8),d:s,fill:\"none\"})}else r.select(\"path.textline\").remove()}))}(m,y),T&&y.automargin){var A=s.bBox(d.node()),M=y.domain,S=h.w*(M.x[1]-M.x[0]),E=h.h*(M.y[1]-M.y[0]),P=(.5*S-v.r)/h.w,O=(.5*E-v.r)/h.h;i.autoMargin(t,\"pie.\"+y.uid+\".automargin\",{xl:M.x[0]-P,xr:M.x[1]+P,yb:M.y[0]-O,yt:M.y[1]+O,l:Math.max(v.cx-v.r-A.left,0),r:Math.max(A.right-(v.cx+v.r),0),b:Math.max(A.bottom-(v.cy+v.r),0),t:Math.max(v.cy-v.r-A.top,0),pad:5})}}))}));setTimeout((function(){v.selectAll(\"tspan\").each((function(){var t=n.select(this);t.attr(\"dy\")&&t.attr(\"dy\",t.attr(\"dy\"))}))}),0)},formatSliceLabel:D,transformInsideText:w,determineInsideTextFont:b,positionTitleOutside:C,prerenderTitles:_,layoutAreas:I,attachFxHandlers:x,computeTransform:R}},22152:function(t,e,r){\"use strict\";var n=r(33428),i=r(10528),a=r(82744).resizeText;t.exports=function(t){var e=t._fullLayout._pielayer.selectAll(\".trace\");a(t,e,\"pie\"),e.each((function(e){var r=e[0].trace,a=n.select(this);a.style({opacity:r.opacity}),a.selectAll(\"path.surface\").each((function(e){n.select(this).call(i,e,r,t)}))}))}},10528:function(t,e,r){\"use strict\";var n=r(76308),i=r(69656).castOption,a=r(21552);t.exports=function(t,e,r,o){var s=r.marker.line,l=i(s.color,e.pts)||n.defaultLine,u=i(s.width,e.pts)||0;t.call(a,e,r,o).style(\"stroke-width\",u).call(n.stroke,l)}},35484:function(t,e,r){\"use strict\";var n=r(52904);t.exports={x:n.x,y:n.y,xy:{valType:\"data_array\",editType:\"calc\"},indices:{valType:\"data_array\",editType:\"calc\"},xbounds:{valType:\"data_array\",editType:\"calc\"},ybounds:{valType:\"data_array\",editType:\"calc\"},text:n.text,marker:{color:{valType:\"color\",arrayOk:!1,editType:\"calc\"},opacity:{valType:\"number\",min:0,max:1,dflt:1,arrayOk:!1,editType:\"calc\"},blend:{valType:\"boolean\",dflt:null,editType:\"calc\"},sizemin:{valType:\"number\",min:.1,max:2,dflt:.5,editType:\"calc\"},sizemax:{valType:\"number\",min:.1,dflt:20,editType:\"calc\"},border:{color:{valType:\"color\",arrayOk:!1,editType:\"calc\"},arearatio:{valType:\"number\",min:0,max:1,dflt:0,editType:\"calc\"},editType:\"calc\"},editType:\"calc\"},transforms:void 0}},11072:function(t,e,r){\"use strict\";var n=r(67792).gl_pointcloud2d,i=r(3400).isArrayOrTypedArray,a=r(43080),o=r(19280).findExtremes,s=r(44928);function l(t,e){this.scene=t,this.uid=e,this.type=\"pointcloud\",this.pickXData=[],this.pickYData=[],this.xData=[],this.yData=[],this.textLabels=[],this.color=\"rgb(0, 0, 0)\",this.name=\"\",this.hoverinfo=\"all\",this.idToIndex=new Int32Array(0),this.bounds=[0,0,0,0],this.pointcloudOptions={positions:new Float32Array(0),idToIndex:this.idToIndex,sizemin:.5,sizemax:12,color:[0,0,0,1],areaRatio:1,borderColor:[0,0,0,1]},this.pointcloud=n(t.glplot,this.pointcloudOptions),this.pointcloud._trace=this}var u=l.prototype;u.handlePick=function(t){var e=this.idToIndex[t.pointId];return{trace:this,dataCoord:t.dataCoord,traceCoord:this.pickXYData?[this.pickXYData[2*e],this.pickXYData[2*e+1]]:[this.pickXData[e],this.pickYData[e]],textLabel:i(this.textLabels)?this.textLabels[e]:this.textLabels,color:this.color,name:this.name,pointIndex:e,hoverinfo:this.hoverinfo}},u.update=function(t){this.index=t.index,this.textLabels=t.text,this.name=t.name,this.hoverinfo=t.hoverinfo,this.bounds=[1/0,1/0,-1/0,-1/0],this.updateFast(t),this.color=s(t,{})},u.updateFast=function(t){var e,r,n,i,s,l,u=this.xData=this.pickXData=t.x,c=this.yData=this.pickYData=t.y,f=this.pickXYData=t.xy,h=t.xbounds&&t.ybounds,p=t.indices,d=this.bounds;if(f){if(n=f,e=f.length>>>1,h)d[0]=t.xbounds[0],d[2]=t.xbounds[1],d[1]=t.ybounds[0],d[3]=t.ybounds[1];else for(l=0;ld[2]&&(d[2]=i),sd[3]&&(d[3]=s);if(p)r=p;else for(r=new Int32Array(e),l=0;ld[2]&&(d[2]=i),sd[3]&&(d[3]=s);this.idToIndex=r,this.pointcloudOptions.idToIndex=r,this.pointcloudOptions.positions=n;var v=a(t.marker.color),g=a(t.marker.border.color),y=t.opacity*t.marker.opacity;v[3]*=y,this.pointcloudOptions.color=v;var m=t.marker.blend;null===m&&(m=u.length<100||c.length<100),this.pointcloudOptions.blend=m,g[3]*=y,this.pointcloudOptions.borderColor=g;var x=t.marker.sizemin,b=Math.max(t.marker.sizemax,t.marker.sizemin);this.pointcloudOptions.sizeMin=x,this.pointcloudOptions.sizeMax=b,this.pointcloudOptions.areaRatio=t.marker.border.arearatio,this.pointcloud.update(this.pointcloudOptions);var _=this.scene.xaxis,w=this.scene.yaxis,T=b/2||.5;t._extremes[_._id]=o(_,[d[0],d[2]],{ppad:T}),t._extremes[w._id]=o(w,[d[1],d[3]],{ppad:T})},u.dispose=function(){this.pointcloud.dispose()},t.exports=function(t,e){var r=new l(t,e.uid);return r.update(e),r}},41904:function(t,e,r){\"use strict\";var n=r(3400),i=r(35484);t.exports=function(t,e,r){function a(r,a){return n.coerce(t,e,i,r,a)}a(\"x\"),a(\"y\"),a(\"xbounds\"),a(\"ybounds\"),t.xy&&t.xy instanceof Float32Array&&(e.xy=t.xy),t.indices&&t.indices instanceof Int32Array&&(e.indices=t.indices),a(\"text\"),a(\"marker.color\",r),a(\"marker.opacity\"),a(\"marker.blend\"),a(\"marker.sizemin\"),a(\"marker.sizemax\"),a(\"marker.border.color\",r),a(\"marker.border.arearatio\"),e._length=null}},156:function(t,e,r){\"use strict\";[\"*pointcloud* trace is deprecated!\",\"Please consider switching to the *scattergl* trace type.\"].join(\" \"),t.exports={attributes:r(35484),supplyDefaults:r(41904),calc:r(41484),plot:r(11072),moduleType:\"trace\",name:\"pointcloud\",basePlotModule:r(39952),categories:[\"gl\",\"gl2d\",\"showLegend\"],meta:{}}},41440:function(t,e,r){\"use strict\";var n=r(25376),i=r(45464),a=r(22548),o=r(55756),s=r(86968).u,l=r(21776).Ks,u=r(49084),c=r(31780).templatedArray,f=r(29736).descriptionOnlyNumbers,h=r(92880).extendFlat,p=r(67824).overrideAll;(t.exports=p({hoverinfo:h({},i.hoverinfo,{flags:[],arrayOk:!1}),hoverlabel:o.hoverlabel,domain:s({name:\"sankey\",trace:!0}),orientation:{valType:\"enumerated\",values:[\"v\",\"h\"],dflt:\"h\"},valueformat:{valType:\"string\",dflt:\".3s\",description:f(\"value\")},valuesuffix:{valType:\"string\",dflt:\"\"},arrangement:{valType:\"enumerated\",values:[\"snap\",\"perpendicular\",\"freeform\",\"fixed\"],dflt:\"snap\"},textfont:n({}),customdata:void 0,node:{label:{valType:\"data_array\",dflt:[]},groups:{valType:\"info_array\",impliedEdits:{x:[],y:[]},dimensions:2,freeLength:!0,dflt:[],items:{valType:\"number\",editType:\"calc\"}},x:{valType:\"data_array\",dflt:[]},y:{valType:\"data_array\",dflt:[]},color:{valType:\"color\",arrayOk:!0},customdata:{valType:\"data_array\",editType:\"calc\"},line:{color:{valType:\"color\",dflt:a.defaultLine,arrayOk:!0},width:{valType:\"number\",min:0,dflt:.5,arrayOk:!0}},pad:{valType:\"number\",arrayOk:!1,min:0,dflt:20},thickness:{valType:\"number\",arrayOk:!1,min:1,dflt:20},hoverinfo:{valType:\"enumerated\",values:[\"all\",\"none\",\"skip\"],dflt:\"all\"},hoverlabel:o.hoverlabel,hovertemplate:l({},{keys:[\"value\",\"label\"]}),align:{valType:\"enumerated\",values:[\"justify\",\"left\",\"right\",\"center\"],dflt:\"justify\"}},link:{arrowlen:{valType:\"number\",min:0,dflt:0},label:{valType:\"data_array\",dflt:[]},color:{valType:\"color\",arrayOk:!0},hovercolor:{valType:\"color\",arrayOk:!0},customdata:{valType:\"data_array\",editType:\"calc\"},line:{color:{valType:\"color\",dflt:a.defaultLine,arrayOk:!0},width:{valType:\"number\",min:0,dflt:0,arrayOk:!0}},source:{valType:\"data_array\",dflt:[]},target:{valType:\"data_array\",dflt:[]},value:{valType:\"data_array\",dflt:[]},hoverinfo:{valType:\"enumerated\",values:[\"all\",\"none\",\"skip\"],dflt:\"all\"},hoverlabel:o.hoverlabel,hovertemplate:l({},{keys:[\"value\",\"label\"]}),colorscales:c(\"concentrationscales\",{editType:\"calc\",label:{valType:\"string\",editType:\"calc\",dflt:\"\"},cmax:{valType:\"number\",editType:\"calc\",dflt:1},cmin:{valType:\"number\",editType:\"calc\",dflt:0},colorscale:h(u().colorscale,{dflt:[[0,\"white\"],[1,\"black\"]]})})}},\"calc\",\"nested\")).transforms=void 0},10760:function(t,e,r){\"use strict\";var n=r(67824).overrideAll,i=r(84888)._M,a=r(59596),o=r(65460),s=r(93972),l=r(86476),u=r(22676).prepSelect,c=r(3400),f=r(24040),h=\"sankey\";function p(t,e){var r=t._fullData[e],n=t._fullLayout,i=n.dragmode,a=\"pan\"===n.dragmode?\"move\":\"crosshair\",o=r._bgRect;if(o&&\"pan\"!==i&&\"zoom\"!==i){s(o,a);var h={_id:\"x\",c2p:c.identity,_offset:r._sankey.translateX,_length:r._sankey.width},p={_id:\"y\",c2p:c.identity,_offset:r._sankey.translateY,_length:r._sankey.height},d={gd:t,element:o.node(),plotinfo:{id:e,xaxis:h,yaxis:p,fillRangeItems:c.noop},subplot:e,xaxes:[h],yaxes:[p],doneFnCompleted:function(r){var n,i=t._fullData[e],a=i.node.groups.slice(),o=[];function s(t){for(var e=i._sankey.graph.nodes,r=0;rx&&(x=a.source[e]),a.target[e]>x&&(x=a.target[e]);var b,_=x+1;t.node._count=_;var w=t.node.groups,T={};for(e=0;e0&&s(L,_)&&s(C,_)&&(!T.hasOwnProperty(L)||!T.hasOwnProperty(C)||T[L]!==T[C])){T.hasOwnProperty(C)&&(C=T[C]),T.hasOwnProperty(L)&&(L=T[L]),C=+C,p[L=+L]=p[C]=!0;var P=\"\";a.label&&a.label[e]&&(P=a.label[e]);var O=null;P&&d.hasOwnProperty(P)&&(O=d[P]),u.push({pointNumber:e,label:P,color:c?a.color[e]:a.color,hovercolor:f?a.hovercolor[e]:a.hovercolor,customdata:h?a.customdata[e]:a.customdata,concentrationscale:O,source:L,target:C,value:+E}),S.source.push(L),S.target.push(C)}}var I=_+w.length,z=o(r.color),D=o(r.customdata),R=[];for(e=0;e_-1,childrenNodes:[],pointNumber:e,label:F,color:z?r.color[e]:r.color,customdata:D?r.customdata[e]:r.customdata})}var B=!1;return function(t,e,r){for(var a=i.init2dArray(t,0),o=0;o1}))}(I,S.source,S.target)&&(B=!0),{circular:B,links:u,nodes:R,groups:w,groupLookup:T}}(e);return a({circular:r.circular,_nodes:r.nodes,_links:r.links,_groups:r.groups,_groupLookup:r.groupLookup})}},11820:function(t){\"use strict\";t.exports={nodeTextOffsetHorizontal:4,nodeTextOffsetVertical:3,nodePadAcross:10,sankeyIterations:50,forceIterations:5,forceTicksPerFrame:10,duration:500,ease:\"linear\",cn:{sankey:\"sankey\",sankeyLinks:\"sankey-links\",sankeyLink:\"sankey-link\",sankeyNodeSet:\"sankey-node-set\",sankeyNode:\"sankey-node\",nodeRect:\"node-rect\",nodeLabel:\"node-label\"}}},47140:function(t,e,r){\"use strict\";var n=r(3400),i=r(41440),a=r(76308),o=r(49760),s=r(86968).Q,l=r(16132),u=r(31780),c=r(51272);function f(t,e){function r(r,a){return n.coerce(t,e,i.link.colorscales,r,a)}r(\"label\"),r(\"cmin\"),r(\"cmax\"),r(\"colorscale\")}t.exports=function(t,e,r,h){function p(r,a){return n.coerce(t,e,i,r,a)}var d=n.extendDeep(h.hoverlabel,t.hoverlabel),v=t.node,g=u.newContainer(e,\"node\");function y(t,e){return n.coerce(v,g,i.node,t,e)}y(\"label\"),y(\"groups\"),y(\"x\"),y(\"y\"),y(\"pad\"),y(\"thickness\"),y(\"line.color\"),y(\"line.width\"),y(\"hoverinfo\",t.hoverinfo),l(v,g,y,d),y(\"hovertemplate\"),y(\"align\");var m=h.colorway;y(\"color\",g.label.map((function(t,e){return a.addOpacity(function(t){return m[t%m.length]}(e),.8)}))),y(\"customdata\");var x=t.link||{},b=u.newContainer(e,\"link\");function _(t,e){return n.coerce(x,b,i.link,t,e)}_(\"label\"),_(\"arrowlen\"),_(\"source\"),_(\"target\"),_(\"value\"),_(\"line.color\"),_(\"line.width\"),_(\"hoverinfo\",t.hoverinfo),l(x,b,_,d),_(\"hovertemplate\");var w,T=o(h.paper_bgcolor).getLuminance()<.333,k=_(\"color\",T?\"rgba(255, 255, 255, 0.6)\":\"rgba(0, 0, 0, 0.2)\");function A(t){var e=o(t);if(!e.isValid())return t;var r=e.getAlpha();return r<=.8?e.setAlpha(r+.2):e=T?e.brighten():e.darken(),e.toRgbString()}_(\"hovercolor\",Array.isArray(k)?k.map(A):A(k)),_(\"customdata\"),c(x,b,{name:\"colorscales\",handleItemDefaults:f}),s(e,h,p),p(\"orientation\"),p(\"valueformat\"),p(\"valuesuffix\"),g.x.length&&g.y.length&&(w=\"freeform\"),p(\"arrangement\",w),n.coerceFont(p,\"textfont\",n.extendFlat({},h.font)),e._length=null}},45499:function(t,e,r){\"use strict\";t.exports={attributes:r(41440),supplyDefaults:r(47140),calc:r(48068),plot:r(59596),moduleType:\"trace\",name:\"sankey\",basePlotModule:r(10760),selectPoints:r(81128),categories:[\"noOpacity\"],meta:{}}},59596:function(t,e,r){\"use strict\";var n=r(33428),i=r(3400),a=i.numberFormat,o=r(83248),s=r(93024),l=r(76308),u=r(11820).cn,c=i._;function f(t){return\"\"!==t}function h(t,e){return t.filter((function(t){return t.key===e.traceId}))}function p(t,e){n.select(t).select(\"path\").style(\"fill-opacity\",e),n.select(t).select(\"rect\").style(\"fill-opacity\",e)}function d(t){n.select(t).select(\"text.name\").style(\"fill\",\"black\")}function v(t){return function(e){return-1!==t.node.sourceLinks.indexOf(e.link)||-1!==t.node.targetLinks.indexOf(e.link)}}function g(t){return function(e){return-1!==e.node.sourceLinks.indexOf(t.link)||-1!==e.node.targetLinks.indexOf(t.link)}}function y(t,e,r){e&&r&&h(r,e).selectAll(\".\"+u.sankeyLink).filter(v(e)).call(x.bind(0,e,r,!1))}function m(t,e,r){e&&r&&h(r,e).selectAll(\".\"+u.sankeyLink).filter(v(e)).call(b.bind(0,e,r,!1))}function x(t,e,r,n){n.style(\"fill\",(function(t){if(!t.link.concentrationscale)return t.tinyColorHoverHue})).style(\"fill-opacity\",(function(t){if(!t.link.concentrationscale)return t.tinyColorHoverAlpha})),n.each((function(r){var n=r.link.label;\"\"!==n&&h(e,t).selectAll(\".\"+u.sankeyLink).filter((function(t){return t.link.label===n})).style(\"fill\",(function(t){if(!t.link.concentrationscale)return t.tinyColorHoverHue})).style(\"fill-opacity\",(function(t){if(!t.link.concentrationscale)return t.tinyColorHoverAlpha}))})),r&&h(e,t).selectAll(\".\"+u.sankeyNode).filter(g(t)).call(y)}function b(t,e,r,n){n.style(\"fill\",(function(t){return t.tinyColorHue})).style(\"fill-opacity\",(function(t){return t.tinyColorAlpha})),n.each((function(r){var n=r.link.label;\"\"!==n&&h(e,t).selectAll(\".\"+u.sankeyLink).filter((function(t){return t.link.label===n})).style(\"fill\",(function(t){return t.tinyColorHue})).style(\"fill-opacity\",(function(t){return t.tinyColorAlpha}))})),r&&h(e,t).selectAll(u.sankeyNode).filter(g(t)).call(m)}function _(t,e){var r=t.hoverlabel||{},n=i.nestedProperty(r,e).get();return!Array.isArray(n)&&n}t.exports=function(t,e){for(var r=t._fullLayout,i=r._paper,h=r._size,v=0;v\"),color:_(o,\"bgcolor\")||l.addOpacity(v.color,1),borderColor:_(o,\"bordercolor\"),fontFamily:_(o,\"font.family\"),fontSize:_(o,\"font.size\"),fontColor:_(o,\"font.color\"),fontWeight:_(o,\"font.weight\"),fontStyle:_(o,\"font.style\"),fontVariant:_(o,\"font.variant\"),nameLength:_(o,\"namelength\"),textAlign:_(o,\"align\"),idealAlign:n.event.x\"),color:_(o,\"bgcolor\")||i.tinyColorHue,borderColor:_(o,\"bordercolor\"),fontFamily:_(o,\"font.family\"),fontSize:_(o,\"font.size\"),fontColor:_(o,\"font.color\"),fontWeight:_(o,\"font.weight\"),fontStyle:_(o,\"font.style\"),fontVariant:_(o,\"font.variant\"),nameLength:_(o,\"namelength\"),textAlign:_(o,\"align\"),idealAlign:\"left\",hovertemplate:o.hovertemplate,hovertemplateLabels:m,eventData:[i.node]},{container:r._hoverlayer.node(),outerContainer:r._paper.node(),gd:t});p(w,.85),d(w)}}},unhover:function(e,i,a){!1!==t._fullLayout.hovermode&&(n.select(e).call(m,i,a),\"skip\"!==i.node.trace.node.hoverinfo&&(i.node.fullData=i.node.trace,t.emit(\"plotly_unhover\",{event:n.event,points:[i.node]})),s.loneUnhover(r._hoverlayer.node()))},select:function(e,r,i){var a=r.node;a.originalEvent=n.event,t._hoverdata=[a],n.select(e).call(m,r,i),s.click(t,{target:!0})}}})}},83248:function(t,e,r){\"use strict\";var n=r(49812),i=r(67756).Gz,a=r(33428),o=r(26800),s=r(48932),l=r(11820),u=r(49760),c=r(76308),f=r(43616),h=r(3400),p=h.strTranslate,d=h.strRotate,v=r(71688),g=v.keyFun,y=v.repeat,m=v.unwrap,x=r(72736),b=r(24040),_=r(84284),w=_.CAP_SHIFT,T=_.LINE_SPACING;function k(t,e,r){var n,i=m(e),a=i.trace,c=a.domain,f=\"h\"===a.orientation,p=a.node.pad,d=a.node.thickness,v={justify:o.sankeyJustify,left:o.sankeyLeft,right:o.sankeyRight,center:o.sankeyCenter}[a.node.align],g=t.width*(c.x[1]-c.x[0]),y=t.height*(c.y[1]-c.y[0]),x=i._nodes,b=i._links,_=i.circular;(n=_?s.sankeyCircular().circularLinkGap(0):o.sankey()).iterations(l.sankeyIterations).size(f?[g,y]:[y,g]).nodeWidth(d).nodePadding(p).nodeId((function(t){return t.pointNumber})).nodeAlign(v).nodes(x).links(b);var w,T,k,A=n();for(var M in n.nodePadding()o+d&&(a+=1,e=s.x0),o=s.x0,i[a]||(i[a]=[]),i[a].push(s),r=e-s.x0,s.x0+=r,s.x1+=r}return i}(x=A.nodes).forEach((function(t){var e,r,n,i=0,a=t.length;for(t.sort((function(t,e){return t.y0-e.y0})),n=0;n=i||(r=i-e.y0)>1e-6&&(e.y0+=r,e.y1+=r),i=e.y1+p})),n.update(A)}return{circular:_,key:r,trace:a,guid:h.randstr(),horizontal:f,width:g,height:y,nodePad:a.node.pad,nodeLineColor:a.node.line.color,nodeLineWidth:a.node.line.width,linkLineColor:a.link.line.color,linkLineWidth:a.link.line.width,linkArrowLength:a.link.arrowlen,valueFormat:a.valueformat,valueSuffix:a.valuesuffix,textFont:a.textfont,translateX:c.x[0]*t.width+t.margin.l,translateY:t.height-c.y[1]*t.height+t.margin.t,dragParallel:f?y:g,dragPerpendicular:f?g:y,arrangement:a.arrangement,sankey:n,graph:A,forceLayouts:{},interactionState:{dragInProgress:!1,hovered:!1}}}function A(t,e,r){var n=u(e.color),i=u(e.hovercolor),a=e.source.label+\"|\"+e.target.label+\"__\"+r;return e.trace=t.trace,e.curveNumber=t.trace.index,{circular:t.circular,key:a,traceId:t.key,pointNumber:e.pointNumber,link:e,tinyColorHue:c.tinyRGB(n),tinyColorAlpha:n.getAlpha(),tinyColorHoverHue:c.tinyRGB(i),tinyColorHoverAlpha:i.getAlpha(),linkPath:M,linkLineColor:t.linkLineColor,linkLineWidth:t.linkLineWidth,linkArrowLength:t.linkArrowLength,valueFormat:t.valueFormat,valueSuffix:t.valueSuffix,sankey:t.sankey,parent:t,interactionState:t.interactionState,flow:e.flow}}function M(){return function(t){var e=t.linkArrowLength;if(t.link.circular)return function(t,e){var r=t.width/2,n=t.circularPathData;return\"top\"===t.circularLinkType?\"M \"+(n.targetX-e)+\" \"+(n.targetY+r)+\" L\"+(n.rightInnerExtent-e)+\" \"+(n.targetY+r)+\"A\"+(n.rightLargeArcRadius+r)+\" \"+(n.rightSmallArcRadius+r)+\" 0 0 1 \"+(n.rightFullExtent-r-e)+\" \"+(n.targetY-n.rightSmallArcRadius)+\"L\"+(n.rightFullExtent-r-e)+\" \"+n.verticalRightInnerExtent+\"A\"+(n.rightLargeArcRadius+r)+\" \"+(n.rightLargeArcRadius+r)+\" 0 0 1 \"+(n.rightInnerExtent-e)+\" \"+(n.verticalFullExtent-r)+\"L\"+n.leftInnerExtent+\" \"+(n.verticalFullExtent-r)+\"A\"+(n.leftLargeArcRadius+r)+\" \"+(n.leftLargeArcRadius+r)+\" 0 0 1 \"+(n.leftFullExtent+r)+\" \"+n.verticalLeftInnerExtent+\"L\"+(n.leftFullExtent+r)+\" \"+(n.sourceY-n.leftSmallArcRadius)+\"A\"+(n.leftLargeArcRadius+r)+\" \"+(n.leftSmallArcRadius+r)+\" 0 0 1 \"+n.leftInnerExtent+\" \"+(n.sourceY+r)+\"L\"+n.sourceX+\" \"+(n.sourceY+r)+\"L\"+n.sourceX+\" \"+(n.sourceY-r)+\"L\"+n.leftInnerExtent+\" \"+(n.sourceY-r)+\"A\"+(n.leftLargeArcRadius-r)+\" \"+(n.leftSmallArcRadius-r)+\" 0 0 0 \"+(n.leftFullExtent-r)+\" \"+(n.sourceY-n.leftSmallArcRadius)+\"L\"+(n.leftFullExtent-r)+\" \"+n.verticalLeftInnerExtent+\"A\"+(n.leftLargeArcRadius-r)+\" \"+(n.leftLargeArcRadius-r)+\" 0 0 0 \"+n.leftInnerExtent+\" \"+(n.verticalFullExtent+r)+\"L\"+(n.rightInnerExtent-e)+\" \"+(n.verticalFullExtent+r)+\"A\"+(n.rightLargeArcRadius-r)+\" \"+(n.rightLargeArcRadius-r)+\" 0 0 0 \"+(n.rightFullExtent+r-e)+\" \"+n.verticalRightInnerExtent+\"L\"+(n.rightFullExtent+r-e)+\" \"+(n.targetY-n.rightSmallArcRadius)+\"A\"+(n.rightLargeArcRadius-r)+\" \"+(n.rightSmallArcRadius-r)+\" 0 0 0 \"+(n.rightInnerExtent-e)+\" \"+(n.targetY-r)+\"L\"+(n.targetX-e)+\" \"+(n.targetY-r)+(e>0?\"L\"+n.targetX+\" \"+n.targetY:\"\")+\"Z\":\"M \"+(n.targetX-e)+\" \"+(n.targetY-r)+\" L\"+(n.rightInnerExtent-e)+\" \"+(n.targetY-r)+\"A\"+(n.rightLargeArcRadius+r)+\" \"+(n.rightSmallArcRadius+r)+\" 0 0 0 \"+(n.rightFullExtent-r-e)+\" \"+(n.targetY+n.rightSmallArcRadius)+\"L\"+(n.rightFullExtent-r-e)+\" \"+n.verticalRightInnerExtent+\"A\"+(n.rightLargeArcRadius+r)+\" \"+(n.rightLargeArcRadius+r)+\" 0 0 0 \"+(n.rightInnerExtent-e)+\" \"+(n.verticalFullExtent+r)+\"L\"+n.leftInnerExtent+\" \"+(n.verticalFullExtent+r)+\"A\"+(n.leftLargeArcRadius+r)+\" \"+(n.leftLargeArcRadius+r)+\" 0 0 0 \"+(n.leftFullExtent+r)+\" \"+n.verticalLeftInnerExtent+\"L\"+(n.leftFullExtent+r)+\" \"+(n.sourceY+n.leftSmallArcRadius)+\"A\"+(n.leftLargeArcRadius+r)+\" \"+(n.leftSmallArcRadius+r)+\" 0 0 0 \"+n.leftInnerExtent+\" \"+(n.sourceY-r)+\"L\"+n.sourceX+\" \"+(n.sourceY-r)+\"L\"+n.sourceX+\" \"+(n.sourceY+r)+\"L\"+n.leftInnerExtent+\" \"+(n.sourceY+r)+\"A\"+(n.leftLargeArcRadius-r)+\" \"+(n.leftSmallArcRadius-r)+\" 0 0 1 \"+(n.leftFullExtent-r)+\" \"+(n.sourceY+n.leftSmallArcRadius)+\"L\"+(n.leftFullExtent-r)+\" \"+n.verticalLeftInnerExtent+\"A\"+(n.leftLargeArcRadius-r)+\" \"+(n.leftLargeArcRadius-r)+\" 0 0 1 \"+n.leftInnerExtent+\" \"+(n.verticalFullExtent-r)+\"L\"+(n.rightInnerExtent-e)+\" \"+(n.verticalFullExtent-r)+\"A\"+(n.rightLargeArcRadius-r)+\" \"+(n.rightLargeArcRadius-r)+\" 0 0 1 \"+(n.rightFullExtent+r-e)+\" \"+n.verticalRightInnerExtent+\"L\"+(n.rightFullExtent+r-e)+\" \"+(n.targetY+n.rightSmallArcRadius)+\"A\"+(n.rightLargeArcRadius-r)+\" \"+(n.rightSmallArcRadius-r)+\" 0 0 1 \"+(n.rightInnerExtent-e)+\" \"+(n.targetY+r)+\"L\"+(n.targetX-e)+\" \"+(n.targetY+r)+(e>0?\"L\"+n.targetX+\" \"+n.targetY:\"\")+\"Z\"}(t.link,e);var r=Math.abs((t.link.target.x0-t.link.source.x1)/2);e>r&&(e=r);var n=t.link.source.x1,a=t.link.target.x0-e,o=i(n,a),s=o(.5),l=o(.5),u=t.link.y0-t.link.width/2,c=t.link.y0+t.link.width/2,f=t.link.y1-t.link.width/2,h=t.link.y1+t.link.width/2,p=\"M\"+n+\",\"+u,d=\"C\"+s+\",\"+u+\" \"+l+\",\"+f+\" \"+a+\",\"+f,v=\"C\"+l+\",\"+h+\" \"+s+\",\"+c+\" \"+n+\",\"+c,g=e>0?\"L\"+(a+e)+\",\"+(f+t.link.width/2):\"\";return p+d+(g+=\"L\"+a+\",\"+h)+v+\"Z\"}}function S(t,e){var r=u(e.color),n=l.nodePadAcross,i=t.nodePad/2;e.dx=e.x1-e.x0,e.dy=e.y1-e.y0;var a=e.dx,o=Math.max(.5,e.dy),s=\"node_\"+e.pointNumber;return e.group&&(s=h.randstr()),e.trace=t.trace,e.curveNumber=t.trace.index,{index:e.pointNumber,key:s,partOfGroup:e.partOfGroup||!1,group:e.group,traceId:t.key,trace:t.trace,node:e,nodePad:t.nodePad,nodeLineColor:t.nodeLineColor,nodeLineWidth:t.nodeLineWidth,textFont:t.textFont,size:t.horizontal?t.height:t.width,visibleWidth:Math.ceil(a),visibleHeight:o,zoneX:-n,zoneY:-i,zoneWidth:a+2*n,zoneHeight:o+2*i,labelY:t.horizontal?e.dy/2+1:e.dx/2+1,left:1===e.originalLayer,sizeAcross:t.width,forceLayouts:t.forceLayouts,horizontal:t.horizontal,darkBackground:r.getBrightness()<=128,tinyColorHue:c.tinyRGB(r),tinyColorAlpha:r.getAlpha(),valueFormat:t.valueFormat,valueSuffix:t.valueSuffix,sankey:t.sankey,graph:t.graph,arrangement:t.arrangement,uniqueNodeLabelPathId:[t.guid,t.key,s].join(\"_\"),interactionState:t.interactionState,figure:t}}function E(t){t.attr(\"transform\",(function(t){return p(t.node.x0.toFixed(3),t.node.y0.toFixed(3))}))}function L(t){t.call(E)}function C(t,e){t.call(L),e.attr(\"d\",M())}function P(t){t.attr(\"width\",(function(t){return t.node.x1-t.node.x0})).attr(\"height\",(function(t){return t.visibleHeight}))}function O(t){return t.link.width>1||t.linkLineWidth>0}function I(t){return p(t.translateX,t.translateY)+(t.horizontal?\"matrix(1 0 0 1 0 0)\":\"matrix(0 1 1 0 0 0)\")}function z(t,e,r){t.on(\".basic\",null).on(\"mouseover.basic\",(function(t){t.interactionState.dragInProgress||t.partOfGroup||(r.hover(this,t,e),t.interactionState.hovered=[this,t])})).on(\"mousemove.basic\",(function(t){t.interactionState.dragInProgress||t.partOfGroup||(r.follow(this,t),t.interactionState.hovered=[this,t])})).on(\"mouseout.basic\",(function(t){t.interactionState.dragInProgress||t.partOfGroup||(r.unhover(this,t,e),t.interactionState.hovered=!1)})).on(\"click.basic\",(function(t){t.interactionState.hovered&&(r.unhover(this,t,e),t.interactionState.hovered=!1),t.interactionState.dragInProgress||t.partOfGroup||r.select(this,t,e)}))}function D(t,e,r,i){var o=a.behavior.drag().origin((function(t){return{x:t.node.x0+t.visibleWidth/2,y:t.node.y0+t.visibleHeight/2}})).on(\"dragstart\",(function(a){if(\"fixed\"!==a.arrangement&&(h.ensureSingle(i._fullLayout._infolayer,\"g\",\"dragcover\",(function(t){i._fullLayout._dragCover=t})),h.raiseToTop(this),a.interactionState.dragInProgress=a.node,F(a.node),a.interactionState.hovered&&(r.nodeEvents.unhover.apply(0,a.interactionState.hovered),a.interactionState.hovered=!1),\"snap\"===a.arrangement)){var o=a.traceId+\"|\"+a.key;a.forceLayouts[o]?a.forceLayouts[o].alpha(1):function(t,e,r,i){!function(t){for(var e=0;e0&&n.forceLayouts[e].alpha(0)}}(0,e,a,r)).stop()}(0,o,a),function(t,e,r,n,i){window.requestAnimationFrame((function a(){var o;for(o=0;o0)window.requestAnimationFrame(a);else{var s=r.node.originalX;r.node.x0=s-r.visibleWidth/2,r.node.x1=s+r.visibleWidth/2,R(r,i)}}))}(t,e,a,o,i)}})).on(\"drag\",(function(r){if(\"fixed\"!==r.arrangement){var n=a.event.x,i=a.event.y;\"snap\"===r.arrangement?(r.node.x0=n-r.visibleWidth/2,r.node.x1=n+r.visibleWidth/2,r.node.y0=i-r.visibleHeight/2,r.node.y1=i+r.visibleHeight/2):(\"freeform\"===r.arrangement&&(r.node.x0=n-r.visibleWidth/2,r.node.x1=n+r.visibleWidth/2),i=Math.max(0,Math.min(r.size-r.visibleHeight/2,i)),r.node.y0=i-r.visibleHeight/2,r.node.y1=i+r.visibleHeight/2),F(r.node),\"snap\"!==r.arrangement&&(r.sankey.update(r.graph),C(t.filter(B(r)),e))}})).on(\"dragend\",(function(t){if(\"fixed\"!==t.arrangement){t.interactionState.dragInProgress=!1;for(var e=0;el&&C[y].gap;)y--;for(x=C[y].s,v=C.length-1;v>y;v--)C[v].s=x;for(;lS[f]&&f=0;f--){var h=t[f];if(\"scatter\"===h.type&&h.xaxis===u.xaxis&&h.yaxis===u.yaxis){h.opacity=void 0;break}}}}}},18800:function(t,e,r){\"use strict\";var n=r(3400),i=r(24040),a=r(52904),o=r(88200),s=r(43028),l=r(43980),u=r(31147),c=r(43912),f=r(74428),h=r(66828),p=r(11731),d=r(124),v=r(70840),g=r(3400).coercePattern;t.exports=function(t,e,r,y){function m(r,i){return n.coerce(t,e,a,r,i)}var x=l(t,e,y,m);if(x||(e.visible=!1),e.visible){u(t,e,y,m),m(\"xhoverformat\"),m(\"yhoverformat\"),m(\"zorder\");var b=c(t,e,y,m);\"group\"===y.scattermode&&void 0===e.orientation&&m(\"orientation\",\"v\");var _=!b&&x=Math.min(e,r)&&d<=Math.max(e,r)?0:1/0}var n=Math.max(3,t.mrc||0),i=1-1/n,a=Math.abs(h.c2p(t.x)-d);return a=Math.min(e,r)&&v<=Math.max(e,r)?0:1/0}var n=Math.max(3,t.mrc||0),i=1-1/n,a=Math.abs(p.c2p(t.y)-v);return ar!=(u=i[n][1])>=r&&(o=i[n-1][0],s=i[n][0],u-l&&(a=o+(s-o)*(r-l)/(u-l),f=Math.min(f,a),d=Math.max(d,a)));return{x0:f=Math.max(f,0),x1:d=Math.min(d,h._length),y0:r,y1:r}}(f._polygons);null===O&&(O={x0:g[0],x1:g[0],y0:g[1],y1:g[1]});var I=s.defaultLine;return s.opacity(f.fillcolor)?I=f.fillcolor:s.opacity((f.line||{}).color)&&(I=f.line.color),n.extendFlat(t,{distance:t.maxHoverDistance,x0:O.x0,x1:O.x1,y0:O.y0,y1:O.y1,color:I,hovertemplate:!1}),delete t.index,f.text&&!n.isArrayOrTypedArray(f.text)?t.text=String(f.text):t.text=f.name,[t]}}},65875:function(t,e,r){\"use strict\";var n=r(43028);t.exports={hasLines:n.hasLines,hasMarkers:n.hasMarkers,hasText:n.hasText,isBubble:n.isBubble,attributes:r(52904),layoutAttributes:r(55308),supplyDefaults:r(18800),crossTraceDefaults:r(35036),supplyLayoutDefaults:r(59748),calc:r(16356).calc,crossTraceCalc:r(96664),arraysToCalcdata:r(20148),plot:r(96504),colorbar:r(5528),formatLabels:r(76688),style:r(49224).style,styleOnSelect:r(49224).styleOnSelect,hoverPoints:r(98723),selectPoints:r(91560),animatable:!0,moduleType:\"trace\",name:\"scatter\",basePlotModule:r(57952),categories:[\"cartesian\",\"svg\",\"symbols\",\"errorBarsOK\",\"showLegend\",\"scatter-like\",\"zoomScale\"],meta:{}}},55308:function(t){\"use strict\";t.exports={scattermode:{valType:\"enumerated\",values:[\"group\",\"overlay\"],dflt:\"overlay\",editType:\"calc\"},scattergap:{valType:\"number\",min:0,max:1,editType:\"calc\"}}},59748:function(t,e,r){\"use strict\";var n=r(3400),i=r(55308);t.exports=function(t,e){var r,a=\"group\"===e.barmode;\"group\"===e.scattermode&&(\"scattergap\",r=a?e.bargap:.2,n.coerce(t,e,i,\"scattergap\",r))}},66828:function(t,e,r){\"use strict\";var n=r(3400).isArrayOrTypedArray,i=r(94288).hasColorscale,a=r(27260);t.exports=function(t,e,r,o,s,l){l||(l={});var u=(t.marker||{}).color;u&&u._inputArray&&(u=u._inputArray),s(\"line.color\",r),i(t,\"line\")?a(t,e,o,s,{prefix:\"line.\",cLetter:\"c\"}):s(\"line.color\",!n(u)&&u||r),s(\"line.width\"),l.noDash||s(\"line.dash\"),l.backoff&&s(\"line.backoff\")}},52340:function(t,e,r){\"use strict\";var n=r(43616),i=r(39032),a=i.BADNUM,o=i.LOG_CLIP,s=o+.5,l=o-.5,u=r(3400),c=u.segmentsIntersect,f=u.constrain,h=r(88200);t.exports=function(t,e){var r,i,o,p,d,v,g,y,m,x,b,_,w,T,k,A,M,S,E=e.trace||{},L=e.xaxis,C=e.yaxis,P=\"log\"===L.type,O=\"log\"===C.type,I=L._length,z=C._length,D=e.backoff,R=E.marker,F=e.connectGaps,B=e.baseTolerance,N=e.shape,j=\"linear\"===N,U=E.fill&&\"none\"!==E.fill,V=[],q=h.minTolerance,H=t.length,G=new Array(H),W=0;function Y(r){var n=t[r];if(!n)return!1;var i=e.linearized?L.l2p(n.x):L.c2p(n.x),o=e.linearized?C.l2p(n.y):C.c2p(n.y);if(i===a){if(P&&(i=L.c2p(n.x,!0)),i===a)return!1;O&&o===a&&(i*=Math.abs(L._m*z*(L._m>0?s:l)/(C._m*I*(C._m>0?s:l)))),i*=1e3}if(o===a){if(O&&(o=C.c2p(n.y,!0)),o===a)return!1;o*=1e3}return[i,o]}function X(t,e,r,n){var i=r-t,a=n-e,o=.5-t,s=.5-e,l=i*i+a*a,u=i*o+a*s;if(u>0&&uot||t[1]lt)return[f(t[0],at,ot),f(t[1],st,lt)]}function ft(t,e){return t[0]===e[0]&&(t[0]===at||t[0]===ot)||t[1]===e[1]&&(t[1]===st||t[1]===lt)||void 0}function ht(t,e,r){return function(n,i){var a=ct(n),o=ct(i),s=[];if(a&&o&&ft(a,o))return s;a&&s.push(a),o&&s.push(o);var l=2*u.constrain((n[t]+i[t])/2,e,r)-((a||n)[t]+(o||i)[t]);return l&&((a&&o?l>0==a[t]>o[t]?a:o:a||o)[t]+=l),s}}function pt(t){var e=t[0],r=t[1],n=e===G[W-1][0],i=r===G[W-1][1];if(!n||!i)if(W>1){var a=e===G[W-2][0],o=r===G[W-2][1];n&&(e===at||e===ot)&&a?o?W--:G[W-1]=t:i&&(r===st||r===lt)&&o?a?W--:G[W-1]=t:G[W++]=t}else G[W++]=t}function dt(t){G[W-1][0]!==t[0]&&G[W-1][1]!==t[1]&&pt([Q,tt]),pt(t),et=null,Q=tt=0}\"linear\"===N||\"spline\"===N?nt=function(t,e){for(var r=[],n=0,i=0;i<4;i++){var a=ut[i],o=c(t[0],t[1],e[0],e[1],a[0],a[1],a[2],a[3]);o&&(!n||Math.abs(o.x-r[0][0])>1||Math.abs(o.y-r[0][1])>1)&&(o=[o.x,o.y],n&&K(o,t)ot?ot:0,$=e[1]lt?lt:0,J||$){if(W)if(et){var n=nt(et,e);n.length>1&&(dt(n[0]),G[W++]=n[1])}else rt=nt(G[W-1],e)[0],G[W++]=rt;else G[W++]=[J||e[0],$||e[1]];var i=G[W-1];J&&$&&(i[0]!==J||i[1]!==$)?(et&&(Q!==J&&tt!==$?pt(Q&&tt?(a=et,s=(o=e)[0]-a[0],l=(o[1]-a[1])/s,(a[1]*o[0]-o[1]*a[0])/s>0?[l>0?at:ot,lt]:[l>0?ot:at,st]):[Q||J,tt||$]):Q&&tt&&pt([Q,tt])),pt([J,$])):Q-J&&tt-$&&pt([J||Q,$||tt]),et=e,Q=J,tt=$}else et&&dt(nt(et,e)[0]),G[W++]=e;var a,o,s,l}for(r=0;rZ(v,yt))break;o=v,(w=m[0]*y[0]+m[1]*y[1])>b?(b=w,p=v,g=!1):w<_&&(_=w,d=v,g=!0)}if(g?(gt(p),o!==d&>(d)):(d!==i&>(d),o!==p&>(p)),gt(o),r>=t.length||!v)break;gt(v),i=v}}else gt(p)}et&&pt([Q||et[0],tt||et[1]]),V.push(G.slice(0,W))}var mt=N.slice(N.length-1);if(D&&\"h\"!==mt&&\"v\"!==mt){for(var xt=!1,bt=-1,_t=[],wt=0;wt=0?l=p:(l=p=h,h++),l0?Math.max(r,a):0}}},5528:function(t){\"use strict\";t.exports={container:\"marker\",min:\"cmin\",max:\"cmax\"}},74428:function(t,e,r){\"use strict\";var n=r(76308),i=r(94288).hasColorscale,a=r(27260),o=r(43028);t.exports=function(t,e,r,s,l,u){var c=o.isBubble(t),f=(t.line||{}).color;u=u||{},f&&(r=f),l(\"marker.symbol\"),l(\"marker.opacity\",c?.7:1),l(\"marker.size\"),u.noAngle||(l(\"marker.angle\"),u.noAngleRef||l(\"marker.angleref\"),u.noStandOff||l(\"marker.standoff\")),l(\"marker.color\",r),i(t,\"marker\")&&a(t,e,s,l,{prefix:\"marker.\",cLetter:\"c\"}),u.noSelect||(l(\"selected.marker.color\"),l(\"unselected.marker.color\"),l(\"selected.marker.size\"),l(\"unselected.marker.size\")),u.noLine||(l(\"marker.line.color\",f&&!Array.isArray(f)&&e.marker.color!==f?f:c?n.background:n.defaultLine),i(t,\"marker.line\")&&a(t,e,s,l,{prefix:\"marker.line.\",cLetter:\"c\"}),l(\"marker.line.width\",c?1:0)),c&&(l(\"marker.sizeref\"),l(\"marker.sizemin\"),l(\"marker.sizemode\")),u.gradient&&\"none\"!==l(\"marker.gradient.type\")&&l(\"marker.gradient.color\")}},31147:function(t,e,r){\"use strict\";var n=r(3400).dateTick0,i=r(39032).ONEWEEK;function a(t,e){return n(e,t%i==0?1:0)}t.exports=function(t,e,r,n,i){if(i||(i={x:!0,y:!0}),i.x){var o=n(\"xperiod\");o&&(n(\"xperiod0\",a(o,e.xcalendar)),n(\"xperiodalignment\"))}if(i.y){var s=n(\"yperiod\");s&&(n(\"yperiod0\",a(s,e.ycalendar)),n(\"yperiodalignment\"))}}},96504:function(t,e,r){\"use strict\";var n=r(33428),i=r(24040),a=r(3400),o=a.ensureSingle,s=a.identity,l=r(43616),u=r(43028),c=r(52340),f=r(14328),h=r(92065).tester;function p(t,e,r,f,p,d,v){var g,y=t._context.staticPlot;!function(t,e,r,i,o){var s=r.xaxis,l=r.yaxis,c=n.extent(a.simpleMap(s.range,s.r2c)),f=n.extent(a.simpleMap(l.range,l.r2c)),h=i[0].trace;if(u.hasMarkers(h)){var p=h.marker.maxdisplayed;if(0!==p){var d=i.filter((function(t){return t.x>=c[0]&&t.x<=c[1]&&t.y>=f[0]&&t.y<=f[1]})),v=Math.ceil(d.length/p),g=0;o.forEach((function(t,r){var n=t[0].trace;u.hasMarkers(n)&&n.marker.maxdisplayed>0&&r0;function x(t){return m?t.transition():t}var b=r.xaxis,_=r.yaxis,w=f[0].trace,T=w.line,k=n.select(d),A=o(k,\"g\",\"errorbars\"),M=o(k,\"g\",\"lines\"),S=o(k,\"g\",\"points\"),E=o(k,\"g\",\"text\");if(i.getComponentMethod(\"errorbars\",\"plot\")(t,A,r,v),!0===w.visible){var L,C;x(k).style(\"opacity\",w.opacity);var P,O,I=w.fill.charAt(w.fill.length-1);\"x\"!==I&&\"y\"!==I&&(I=\"\"),\"y\"===I?(P=1,O=_.c2p(0,!0)):\"x\"===I&&(P=0,O=b.c2p(0,!0)),f[0][r.isRangePlot?\"nodeRangePlot3\":\"node3\"]=k;var z,D,R=\"\",F=[],B=w._prevtrace,N=null,j=null;B&&(R=B._prevRevpath||\"\",C=B._nextFill,F=B._ownPolygons,N=B._fillsegments,j=B._fillElement);var U,V,q,H,G,W,Y=\"\",X=\"\",Z=[];w._polygons=[];var K=[],J=[],$=a.noop;if(L=w._ownFill,u.hasLines(w)||\"none\"!==w.fill){C&&C.datum(f),-1!==[\"hv\",\"vh\",\"hvh\",\"vhv\"].indexOf(T.shape)?(U=l.steps(T.shape),V=l.steps(T.shape.split(\"\").reverse().join(\"\"))):U=V=\"spline\"===T.shape?function(t){var e=t[t.length-1];return t.length>1&&t[0][0]===e[0]&&t[0][1]===e[1]?l.smoothclosed(t.slice(1),T.smoothing):l.smoothopen(t,T.smoothing)}:function(t){return\"M\"+t.join(\"L\")},q=function(t){return V(t.reverse())},J=c(f,{xaxis:b,yaxis:_,trace:w,connectGaps:w.connectgaps,baseTolerance:Math.max(T.width||1,3)/4,shape:T.shape,backoff:T.backoff,simplify:T.simplify,fill:w.fill}),K=new Array(J.length);var Q=0;for(g=0;g0,g=f(t,e,r);(c=i.selectAll(\"g.trace\").data(g,(function(t){return t[0].trace.uid}))).enter().append(\"g\").attr(\"class\",(function(t){return\"trace scatter trace\"+t[0].trace.uid})).style(\"stroke-miterlimit\",2),c.order(),function(t,e,r){e.each((function(e){var i=o(n.select(this),\"g\",\"fills\");l.setClipUrl(i,r.layerClipId,t);var a=e[0].trace,u=[];a._ownfill&&u.push(\"_ownFill\"),a._nexttrace&&u.push(\"_nextFill\");var c=i.selectAll(\"g\").data(u,s);c.enter().append(\"g\"),c.exit().each((function(t){a[t]=null})).remove(),c.order().each((function(t){a[t]=o(n.select(this),\"path\",\"js-fill\")}))}))}(t,c,e),v?(u&&(h=u()),n.transition().duration(a.duration).ease(a.easing).each(\"end\",(function(){h&&h()})).each(\"interrupt\",(function(){h&&h()})).each((function(){i.selectAll(\"g.trace\").each((function(r,n){p(t,n,e,r,g,this,a)}))}))):c.each((function(r,n){p(t,n,e,r,g,this,a)})),d&&c.exit().remove(),i.selectAll(\"path:not([d])\").remove()}},91560:function(t,e,r){\"use strict\";var n=r(43028);t.exports=function(t,e){var r,i,a,o,s=t.cd,l=t.xaxis,u=t.yaxis,c=[],f=s[0].trace;if(!n.hasMarkers(f)&&!n.hasText(f))return[];if(!1===e)for(r=0;r0){var h=i.c2l(c);i._lowerLogErrorBound||(i._lowerLogErrorBound=h),i._lowerErrorBound=Math.min(i._lowerLogErrorBound,h)}}else o[s]=[-l[0]*r,l[1]*r]}return o}t.exports=function(t,e,r){var n=[i(t.x,t.error_x,e[0],r.xaxis),i(t.y,t.error_y,e[1],r.yaxis),i(t.z,t.error_z,e[2],r.zaxis)],a=function(t){for(var e=0;e-1?-1:t.indexOf(\"right\")>-1?1:0}function b(t){return null==t?0:t.indexOf(\"top\")>-1?-1:t.indexOf(\"bottom\")>-1?1:0}function _(t,e){return e(4*t)}function w(t){return p[t]}function T(t,e,r,n,i){var a=null;if(l.isArrayOrTypedArray(t)){a=[];for(var o=0;o=0){var E=function(t,e,r){var n,i=(r+1)%3,a=(r+2)%3,o=[],l=[];for(n=0;n=0&&f(\"surfacecolor\",p||d);for(var v=[\"x\",\"y\",\"z\"],g=0;g<3;++g){var y=\"projection.\"+v[g];f(y+\".show\")&&(f(y+\".opacity\"),f(y+\".scale\"))}var m=n.getComponentMethod(\"errorbars\",\"supplyDefaults\");m(t,e,p||d||r,{axis:\"z\"}),m(t,e,p||d||r,{axis:\"y\",inherit:\"z\"}),m(t,e,p||d||r,{axis:\"x\",inherit:\"z\"})}else e.visible=!1}},3296:function(t,e,r){\"use strict\";t.exports={plot:r(41064),attributes:r(91592),markerSymbols:r(87792),supplyDefaults:r(83484),colorbar:[{container:\"marker\",min:\"cmin\",max:\"cmax\"},{container:\"line\",min:\"cmin\",max:\"cmax\"}],calc:r(41484),moduleType:\"trace\",name:\"scatter3d\",basePlotModule:r(12536),categories:[\"gl3d\",\"symbols\",\"showLegend\",\"scatter-like\"],meta:{}}},90372:function(t,e,r){\"use strict\";var n=r(98304),i=r(52904),a=r(45464),o=r(21776).Ks,s=r(21776).Gw,l=r(49084),u=r(92880).extendFlat,c=i.marker,f=i.line,h=c.line;t.exports={carpet:{valType:\"string\",editType:\"calc\"},a:{valType:\"data_array\",editType:\"calc\"},b:{valType:\"data_array\",editType:\"calc\"},mode:u({},i.mode,{dflt:\"markers\"}),text:u({},i.text,{}),texttemplate:s({editType:\"plot\"},{keys:[\"a\",\"b\",\"text\"]}),hovertext:u({},i.hovertext,{}),line:{color:f.color,width:f.width,dash:f.dash,backoff:f.backoff,shape:u({},f.shape,{values:[\"linear\",\"spline\"]}),smoothing:f.smoothing,editType:\"calc\"},connectgaps:i.connectgaps,fill:u({},i.fill,{values:[\"none\",\"toself\",\"tonext\"],dflt:\"none\"}),fillcolor:n(),marker:u({symbol:c.symbol,opacity:c.opacity,maxdisplayed:c.maxdisplayed,angle:c.angle,angleref:c.angleref,standoff:c.standoff,size:c.size,sizeref:c.sizeref,sizemin:c.sizemin,sizemode:c.sizemode,line:u({width:h.width,editType:\"calc\"},l(\"marker.line\")),gradient:c.gradient,editType:\"calc\"},l(\"marker\")),textfont:i.textfont,textposition:i.textposition,selected:i.selected,unselected:i.unselected,hoverinfo:u({},a.hoverinfo,{flags:[\"a\",\"b\",\"text\",\"name\"]}),hoveron:i.hoveron,hovertemplate:o(),zorder:i.zorder}},48228:function(t,e,r){\"use strict\";var n=r(38248),i=r(90136),a=r(20148),o=r(4500),s=r(16356).calcMarkerSize,l=r(50948);t.exports=function(t,e){var r=e._carpetTrace=l(t,e);if(r&&r.visible&&\"legendonly\"!==r.visible){var u;e.xaxis=r.xaxis,e.yaxis=r.yaxis;var c,f,h=e._length,p=new Array(h),d=!1;for(u=0;u\")}return o}function m(t,e){var r;r=t.labelprefix&&t.labelprefix.length>0?t.labelprefix.replace(/ = $/,\"\"):t._hovertitle,g.push(r+\": \"+e.toFixed(3)+t.labelsuffix)}}},4184:function(t,e,r){\"use strict\";t.exports={attributes:r(90372),supplyDefaults:r(6176),colorbar:r(5528),formatLabels:r(52364),calc:r(48228),plot:r(20036),style:r(49224).style,styleOnSelect:r(49224).styleOnSelect,hoverPoints:r(58960),selectPoints:r(91560),eventData:r(89307),moduleType:\"trace\",name:\"scattercarpet\",basePlotModule:r(57952),categories:[\"svg\",\"carpet\",\"symbols\",\"showLegend\",\"carpetDependent\",\"zoomScale\"],meta:{}}},20036:function(t,e,r){\"use strict\";var n=r(96504),i=r(54460),a=r(43616);t.exports=function(t,e,r,o){var s,l,u,c=r[0][0].carpet,f=i.getFromId(t,c.xaxis||\"x\"),h=i.getFromId(t,c.yaxis||\"y\"),p={xaxis:f,yaxis:h,plot:e.plot};for(s=0;s\")}function p(t){return t+\"°\"}}(u,v,t,l[0].t.labels),t.hovertemplate=u.hovertemplate,[t]}}},36952:function(t,e,r){\"use strict\";t.exports={attributes:r(6096),supplyDefaults:r(86188),colorbar:r(5528),formatLabels:r(56696),calc:r(25212),calcGeoJSON:r(48691).calcGeoJSON,plot:r(48691).plot,style:r(25064),styleOnSelect:r(49224).styleOnSelect,hoverPoints:r(64292),eventData:r(58544),selectPoints:r(8796),moduleType:\"trace\",name:\"scattergeo\",basePlotModule:r(10816),categories:[\"geo\",\"symbols\",\"showLegend\",\"scatter-like\"],meta:{}}},48691:function(t,e,r){\"use strict\";var n=r(33428),i=r(3400),a=r(59972).getTopojsonFeatures,o=r(44808),s=r(27144),l=r(19280).findExtremes,u=r(39032).BADNUM,c=r(16356).calcMarkerSize,f=r(43028),h=r(25064);t.exports={calcGeoJSON:function(t,e){var r,n,o=t[0].trace,f=e[o.geo],h=f._subplot,p=o._length;if(i.isArrayOrTypedArray(o.locations)){var d=o.locationmode,v=\"geojson-id\"===d?s.extractTraceFeature(t):a(o,h.topojson);for(r=0;r=g,w=2*b,T={},k=l.makeCalcdata(e,\"x\"),A=m.makeCalcdata(e,\"y\"),M=s(e,l,\"x\",k),S=s(e,m,\"y\",A),E=M.vals,L=S.vals;e._x=E,e._y=L,e.xperiodalignment&&(e._origX=k,e._xStarts=M.starts,e._xEnds=M.ends),e.yperiodalignment&&(e._origY=A,e._yStarts=S.starts,e._yEnds=S.ends);var C=new Array(w),P=new Array(b);for(r=0;r1&&i.extendFlat(s.line,p.linePositions(t,r,n)),s.errorX||s.errorY){var l=p.errorBarPositions(t,r,n,a,o);s.errorX&&i.extendFlat(s.errorX,l.x),s.errorY&&i.extendFlat(s.errorY,l.y)}return s.text&&(i.extendFlat(s.text,{positions:n},p.textPosition(t,r,s.text,s.marker)),i.extendFlat(s.textSel,{positions:n},p.textPosition(t,r,s.text,s.markerSel)),i.extendFlat(s.textUnsel,{positions:n},p.textPosition(t,r,s.text,s.markerUnsel))),s}(t,0,e,C,E,L),z=d(t,x);return f(o,e),_?I.marker&&(O=I.marker.sizeAvg||Math.max(I.marker.size,3)):O=u(e,b),c(t,e,l,m,E,L,O),I.errorX&&y(e,l,I.errorX),I.errorY&&y(e,m,I.errorY),I.fill&&!z.fill2d&&(z.fill2d=!0),I.marker&&!z.scatter2d&&(z.scatter2d=!0),I.line&&!z.line2d&&(z.line2d=!0),!I.errorX&&!I.errorY||z.error2d||(z.error2d=!0),I.text&&!z.glText&&(z.glText=!0),I.marker&&(I.marker.snap=b),z.lineOptions.push(I.line),z.errorXOptions.push(I.errorX),z.errorYOptions.push(I.errorY),z.fillOptions.push(I.fill),z.markerOptions.push(I.marker),z.markerSelectedOptions.push(I.markerSel),z.markerUnselectedOptions.push(I.markerUnsel),z.textOptions.push(I.text),z.textSelectedOptions.push(I.textSel),z.textUnselectedOptions.push(I.textUnsel),z.selectBatch.push([]),z.unselectBatch.push([]),T._scene=z,T.index=z.count,T.x=E,T.y=L,T.positions=C,z.count++,[{x:!1,y:!1,t:T,trace:e}]}},67072:function(t){\"use strict\";t.exports={TOO_MANY_POINTS:1e5,SYMBOL_SDF_SIZE:200,SYMBOL_SIZE:20,SYMBOL_STROKE:1,DOT_RE:/-dot/,OPEN_RE:/-open/,DASHES:{solid:[1],dot:[1,1],dash:[4,1],longdash:[8,1],dashdot:[4,1,1,1],longdashdot:[8,1,1,1]}}},84236:function(t,e,r){\"use strict\";var n=r(38248),i=r(20472),a=r(72160),o=r(24040),s=r(3400),l=s.isArrayOrTypedArray,u=r(43616),c=r(79811),f=r(33040).formatColor,h=r(43028),p=r(7152),d=r(80088),v=r(67072),g=r(13448).DESELECTDIM,y={start:1,left:1,end:-1,right:-1,middle:0,center:0,bottom:1,top:-1},m=r(10624).appendArrayPointValue;function x(t,e){var r,i=t._fullLayout,a=e._length,o=e.textfont,u=e.textposition,c=l(u)?u:[u],f=o.color,h=o.size,p=o.family,d=o.weight,v=o.style,g=o.variant,y={},x=t._context.plotGlPixelRatio,b=e.texttemplate;if(b){y.text=[];var _=i._d3locale,w=Array.isArray(b),T=w?Math.min(b.length,a):a,k=w?function(t){return b[t]}:function(){return b};for(r=0;rv.TOO_MANY_POINTS||h.hasMarkers(e)?\"rect\":\"round\";if(u&&e.connectgaps){var f=n[0],p=n[1];for(i=0;i1?u[i]:u[0]:u,v=l(c)?c.length>1?c[i]:c[0]:c,g=y[d],m=y[v],x=f?f/.8+1:0,b=-m*x-.5*m;o.offset[i]=[g*x/p,b/p]}}return o}}},80220:function(t,e,r){\"use strict\";var n=r(3400),i=r(24040),a=r(80088),o=r(2876),s=r(88200),l=r(43028),u=r(43980),c=r(31147),f=r(74428),h=r(66828),p=r(70840),d=r(124);t.exports=function(t,e,r,v){function g(r,i){return n.coerce(t,e,o,r,i)}var y=!!t.marker&&a.isOpenSymbol(t.marker.symbol),m=l.isBubble(t),x=u(t,e,v,g);if(x){c(t,e,v,g),g(\"xhoverformat\"),g(\"yhoverformat\");var b=x100},e.isDotSymbol=function(t){return\"string\"==typeof t?n.DOT_RE.test(t):t>200}},41272:function(t,e,r){\"use strict\";var n=r(24040),i=r(3400),a=r(44928);function o(t,e,r,o){var s=t.xa,l=t.ya,u=t.distance,c=t.dxy,f=t.index,h={pointNumber:f,x:e[f],y:r[f]};h.tx=i.isArrayOrTypedArray(o.text)?o.text[f]:o.text,h.htx=Array.isArray(o.hovertext)?o.hovertext[f]:o.hovertext,h.data=Array.isArray(o.customdata)?o.customdata[f]:o.customdata,h.tp=Array.isArray(o.textposition)?o.textposition[f]:o.textposition;var p=o.textfont;p&&(h.ts=i.isArrayOrTypedArray(p.size)?p.size[f]:p.size,h.tc=i.isArrayOrTypedArray(p.color)?p.color[f]:p.color,h.tf=Array.isArray(p.family)?p.family[f]:p.family,h.tw=Array.isArray(p.weight)?p.weight[f]:p.weight,h.ty=Array.isArray(p.style)?p.style[f]:p.style,h.tv=Array.isArray(p.variant)?p.variant[f]:p.variant);var d=o.marker;d&&(h.ms=i.isArrayOrTypedArray(d.size)?d.size[f]:d.size,h.mo=i.isArrayOrTypedArray(d.opacity)?d.opacity[f]:d.opacity,h.mx=i.isArrayOrTypedArray(d.symbol)?d.symbol[f]:d.symbol,h.ma=i.isArrayOrTypedArray(d.angle)?d.angle[f]:d.angle,h.mc=i.isArrayOrTypedArray(d.color)?d.color[f]:d.color);var v=d&&d.line;v&&(h.mlc=Array.isArray(v.color)?v.color[f]:v.color,h.mlw=i.isArrayOrTypedArray(v.width)?v.width[f]:v.width);var g=d&&d.gradient;g&&\"none\"!==g.type&&(h.mgt=Array.isArray(g.type)?g.type[f]:g.type,h.mgc=Array.isArray(g.color)?g.color[f]:g.color);var y=s.c2p(h.x,!0),m=l.c2p(h.y,!0),x=h.mrc||1,b=o.hoverlabel;b&&(h.hbg=Array.isArray(b.bgcolor)?b.bgcolor[f]:b.bgcolor,h.hbc=Array.isArray(b.bordercolor)?b.bordercolor[f]:b.bordercolor,h.hts=i.isArrayOrTypedArray(b.font.size)?b.font.size[f]:b.font.size,h.htc=Array.isArray(b.font.color)?b.font.color[f]:b.font.color,h.htf=Array.isArray(b.font.family)?b.font.family[f]:b.font.family,h.hnl=i.isArrayOrTypedArray(b.namelength)?b.namelength[f]:b.namelength);var _=o.hoverinfo;_&&(h.hi=Array.isArray(_)?_[f]:_);var w=o.hovertemplate;w&&(h.ht=Array.isArray(w)?w[f]:w);var T={};T[t.index]=h;var k=o._origX,A=o._origY,M=i.extendFlat({},t,{color:a(o,h),x0:y-x,x1:y+x,xLabelVal:k?k[f]:h.x,y0:m-x,y1:m+x,yLabelVal:A?A[f]:h.y,cd:T,distance:u,spikeDistance:c,hovertemplate:h.ht});return h.htx?M.text=h.htx:h.tx?M.text=h.tx:o.text&&(M.text=o.text),i.fillText(h,o,M),n.getComponentMethod(\"errorbars\",\"hoverInfo\")(h,o,M),M}t.exports={hoverPoints:function(t,e,r,n){var i,a,s,l,u,c,f,h,p,d,v=t.cd,g=v[0].t,y=v[0].trace,m=t.xa,x=t.ya,b=g.x,_=g.y,w=m.c2p(e),T=x.c2p(r),k=t.distance;if(g.tree){var A=m.p2c(w-k),M=m.p2c(w+k),S=x.p2c(T-k),E=x.p2c(T+k);i=\"x\"===n?g.tree.range(Math.min(A,M),Math.min(x._rl[0],x._rl[1]),Math.max(A,M),Math.max(x._rl[0],x._rl[1])):g.tree.range(Math.min(A,M),Math.min(S,E),Math.max(A,M),Math.max(S,E))}else i=g.ids;var L=k;if(\"x\"===n){var C=!!y.xperiodalignment,P=!!y.yperiodalignment;for(c=0;c=Math.min(O,I)&&w<=Math.max(O,I)?0:1/0}if(f=Math.min(z,D)&&T<=Math.max(z,D)?0:1/0}d=Math.sqrt(f*f+h*h),s=i[c]}}}else for(c=i.length-1;c>-1;c--)l=b[a=i[c]],u=_[a],f=m.c2p(l)-w,h=x.c2p(u)-T,(p=Math.sqrt(f*f+h*h))m.glText.length){var T=_-m.glText.length;for(v=0;vr&&(isNaN(e[n])||isNaN(e[n+1]));)n-=2;t.positions=e.slice(r,n+2)}return t})),m.line2d.update(m.lineOptions)),m.error2d){var A=(m.errorXOptions||[]).concat(m.errorYOptions||[]);m.error2d.update(A)}m.scatter2d&&m.scatter2d.update(m.markerOptions),m.fillOrder=s.repeat(null,_),m.fill2d&&(m.fillOptions=m.fillOptions.map((function(t,e){var n=r[e];if(t&&n&&n[0]&&n[0].trace){var i,a,o=n[0],s=o.trace,l=o.t,u=m.lineOptions[e],c=[];s._ownfill&&c.push(e),s._nexttrace&&c.push(e+1),c.length&&(m.fillOrder[e]=c);var f,h,p=[],d=u&&u.positions||l.positions;if(\"tozeroy\"===s.fill){for(f=0;ff&&isNaN(d[h+1]);)h-=2;0!==d[f+1]&&(p=[d[f],0]),p=p.concat(d.slice(f,h+2)),0!==d[h+1]&&(p=p.concat([d[h],0]))}else if(\"tozerox\"===s.fill){for(f=0;ff&&isNaN(d[h]);)h-=2;0!==d[f]&&(p=[0,d[f+1]]),p=p.concat(d.slice(f,h+2)),0!==d[h]&&(p=p.concat([0,d[h+1]]))}else if(\"toself\"===s.fill||\"tonext\"===s.fill){for(p=[],i=0,t.splitNull=!0,a=0;a-1;for(v=0;v<_;v++){var L=r[v][0],C=L.trace,P=L.t,O=P.index,I=C._length,z=P.x,D=P.y;if(C.selectedpoints||S||E){if(S||(S=!0),C.selectedpoints){var R=m.selectBatch[O]=s.selIndices2selPoints(C),F={};for(g=0;g\")}function c(t){return t+\"°\"}}t.exports={hoverPoints:function(t,e,r){var o=t.cd,c=o[0].trace,f=t.xa,h=t.ya,p=t.subplot,d=[],v=l+c.uid+\"-circle\",g=c.cluster&&c.cluster.enabled;if(g){var y=p.map.queryRenderedFeatures(null,{layers:[v]});d=y.map((function(t){return t.id}))}var m=360*(e>=0?Math.floor((e+180)/360):Math.ceil((e-180)/360)),x=e-m;if(n.getClosest(o,(function(t){var e=t.lonlat;if(e[0]===s)return 1/0;if(g&&-1===d.indexOf(t.i+1))return 1/0;var n=i.modHalf(e[0],360),a=e[1],o=p.project([n,a]),l=o.x-f.c2p([x,a]),u=o.y-h.c2p([n,r]),c=Math.max(3,t.mrc||0);return Math.max(Math.sqrt(l*l+u*u)-c,1-3/c)}),t),!1!==t.index){var b=o[t.index],_=b.lonlat,w=[i.modHalf(_[0],360)+m,_[1]],T=f.c2p(w),k=h.c2p(w),A=b.mrc||1;t.x0=T-A,t.x1=T+A,t.y0=k-A,t.y1=k+A;var M={};M[c.subplot]={_subplot:p};var S=c._module.formatLabels(b,c,M);return t.lonLabel=S.lonLabel,t.latLabel=S.latLabel,t.color=a(c,b),t.extraText=u(c,b,o[0].t.labels),t.hovertemplate=c.hovertemplate,[t]}},getExtraText:u}},11572:function(t,e,r){\"use strict\";t.exports={attributes:r(31512),supplyDefaults:r(15752),colorbar:r(5528),formatLabels:r(11960),calc:r(25212),plot:r(9660),hoverPoints:r(63312).hoverPoints,eventData:r(37920),selectPoints:r(404),styleOnSelect:function(t,e){e&&e[0].trace._glTrace.update(e)},moduleType:\"trace\",name:\"scattermapbox\",basePlotModule:r(33688),categories:[\"mapbox\",\"gl\",\"symbols\",\"showLegend\",\"scatter-like\"],meta:{}}},9660:function(t,e,r){\"use strict\";var n=r(3400),i=r(59392),a=r(47552).traceLayerPrefix,o={cluster:[\"cluster\",\"clusterCount\",\"circle\"],nonCluster:[\"fill\",\"line\",\"circle\",\"symbol\"]};function s(t,e,r,n){this.type=\"scattermapbox\",this.subplot=t,this.uid=e,this.clusterEnabled=r,this.isHidden=n,this.sourceIds={fill:\"source-\"+e+\"-fill\",line:\"source-\"+e+\"-line\",circle:\"source-\"+e+\"-circle\",symbol:\"source-\"+e+\"-symbol\",cluster:\"source-\"+e+\"-circle\",clusterCount:\"source-\"+e+\"-circle\"},this.layerIds={fill:a+e+\"-fill\",line:a+e+\"-line\",circle:a+e+\"-circle\",symbol:a+e+\"-symbol\",cluster:a+e+\"-cluster\",clusterCount:a+e+\"-cluster-count\"},this.below=null}var l=s.prototype;l.addSource=function(t,e,r){var i={type:\"geojson\",data:e.geojson};r&&r.enabled&&n.extendFlat(i,{cluster:!0,clusterMaxZoom:r.maxzoom});var a=this.subplot.map.getSource(this.sourceIds[t]);a?a.setData(e.geojson):this.subplot.map.addSource(this.sourceIds[t],i)},l.setSourceData=function(t,e){this.subplot.map.getSource(this.sourceIds[t]).setData(e.geojson)},l.addLayer=function(t,e,r){var n={type:e.type,id:this.layerIds[t],source:this.sourceIds[t],layout:e.layout,paint:e.paint};e.filter&&(n.filter=e.filter);for(var i,a=this.layerIds[t],o=this.subplot.getMapLayers(),s=0;s=0;r--){var i=e[r];n.removeLayer(c.layerIds[i])}t||n.removeSource(c.sourceIds.circle)}(t):function(t){for(var e=o.nonCluster,r=e.length-1;r>=0;r--){var i=e[r];n.removeLayer(c.layerIds[i]),t||n.removeSource(c.sourceIds[i])}}(t)}function h(t){l?function(t){t||c.addSource(\"circle\",a.circle,e.cluster);for(var r=o.cluster,n=0;n=0;r--){var n=e[r];t.removeLayer(this.layerIds[n]),t.removeSource(this.sourceIds[n])}},t.exports=function(t,e){var r,n,a,l=e[0].trace,u=l.cluster&&l.cluster.enabled,c=!0!==l.visible,f=new s(t,l.uid,u,c),h=i(t.gd,e),p=f.below=t.belowLookup[\"trace-\"+l.uid];if(u)for(f.addSource(\"circle\",h.circle,l.cluster),r=0;r\")}}t.exports={hoverPoints:function(t,e,r,a){var o=n(t,e,r,a);if(o&&!1!==o[0].index){var s=o[0];if(void 0===s.index)return o;var l=t.subplot,u=s.cd[s.index],c=s.trace;if(l.isPtInside(u))return s.xLabelVal=void 0,s.yLabelVal=void 0,i(u,c,l,s),s.hovertemplate=c.hovertemplate,o}},makeHoverPointText:i}},76924:function(t,e,r){\"use strict\";t.exports={moduleType:\"trace\",name:\"scatterpolar\",basePlotModule:r(40872),categories:[\"polar\",\"symbols\",\"showLegend\",\"scatter-like\"],attributes:r(8319),supplyDefaults:r(85968).supplyDefaults,colorbar:r(5528),formatLabels:r(22852),calc:r(58320),plot:r(43456),style:r(49224).style,styleOnSelect:r(49224).styleOnSelect,hoverPoints:r(8504).hoverPoints,selectPoints:r(91560),meta:{}}},43456:function(t,e,r){\"use strict\";var n=r(96504),i=r(39032).BADNUM;t.exports=function(t,e,r){for(var a=e.layers.frontplot.select(\"g.scatterlayer\"),o=e.xaxis,s=e.yaxis,l={xaxis:o,yaxis:s,plot:e.framework,layerClipId:e._hasClipOnAxisFalse?e.clipIds.forTraces:null},u=e.radialAxis,c=e.angularAxis,f=0;f=u&&(m.marker.cluster=d.tree),m.marker&&(m.markerSel.positions=m.markerUnsel.positions=m.marker.positions=_),m.line&&_.length>1&&l.extendFlat(m.line,s.linePositions(t,p,_)),m.text&&(l.extendFlat(m.text,{positions:_},s.textPosition(t,p,m.text,m.marker)),l.extendFlat(m.textSel,{positions:_},s.textPosition(t,p,m.text,m.markerSel)),l.extendFlat(m.textUnsel,{positions:_},s.textPosition(t,p,m.text,m.markerUnsel))),m.fill&&!h.fill2d&&(h.fill2d=!0),m.marker&&!h.scatter2d&&(h.scatter2d=!0),m.line&&!h.line2d&&(h.line2d=!0),m.text&&!h.glText&&(h.glText=!0),h.lineOptions.push(m.line),h.fillOptions.push(m.fill),h.markerOptions.push(m.marker),h.markerSelectedOptions.push(m.markerSel),h.markerUnselectedOptions.push(m.markerUnsel),h.textOptions.push(m.text),h.textSelectedOptions.push(m.textSel),h.textUnselectedOptions.push(m.textUnsel),h.selectBatch.push([]),h.unselectBatch.push([]),d.x=w,d.y=T,d.rawx=w,d.rawy=T,d.r=g,d.theta=y,d.positions=_,d._scene=h,d.index=h.count,h.count++}})),a(t,e,r)}},t.exports.reglPrecompiled={}},69496:function(t,e,r){\"use strict\";var n=r(21776).Ks,i=r(21776).Gw,a=r(92880).extendFlat,o=r(98304),s=r(52904),l=r(45464),u=s.line;t.exports={mode:s.mode,real:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},imag:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},text:s.text,texttemplate:i({editType:\"plot\"},{keys:[\"real\",\"imag\",\"text\"]}),hovertext:s.hovertext,line:{color:u.color,width:u.width,dash:u.dash,backoff:u.backoff,shape:a({},u.shape,{values:[\"linear\",\"spline\"]}),smoothing:u.smoothing,editType:\"calc\"},connectgaps:s.connectgaps,marker:s.marker,cliponaxis:a({},s.cliponaxis,{dflt:!1}),textposition:s.textposition,textfont:s.textfont,fill:a({},s.fill,{values:[\"none\",\"toself\",\"tonext\"],dflt:\"none\"}),fillcolor:o(),hoverinfo:a({},l.hoverinfo,{flags:[\"real\",\"imag\",\"text\",\"name\"]}),hoveron:s.hoveron,hovertemplate:n(),selected:s.selected,unselected:s.unselected}},47507:function(t,e,r){\"use strict\";var n=r(38248),i=r(39032).BADNUM,a=r(90136),o=r(20148),s=r(4500),l=r(16356).calcMarkerSize;t.exports=function(t,e){for(var r=t._fullLayout,u=e.subplot,c=r[u].realaxis,f=r[u].imaginaryaxis,h=c.makeCalcdata(e,\"real\"),p=f.makeCalcdata(e,\"imag\"),d=e._length,v=new Array(d),g=0;g\")}}t.exports={hoverPoints:function(t,e,r,a){var o=n(t,e,r,a);if(o&&!1!==o[0].index){var s=o[0];if(void 0===s.index)return o;var l=t.subplot,u=s.cd[s.index],c=s.trace;if(l.isPtInside(u))return s.xLabelVal=void 0,s.yLabelVal=void 0,i(u,c,l,s),s.hovertemplate=c.hovertemplate,o}},makeHoverPointText:i}},95443:function(t,e,r){\"use strict\";t.exports={moduleType:\"trace\",name:\"scattersmith\",basePlotModule:r(47788),categories:[\"smith\",\"symbols\",\"showLegend\",\"scatter-like\"],attributes:r(69496),supplyDefaults:r(76716),colorbar:r(5528),formatLabels:r(49504),calc:r(47507),plot:r(34927),style:r(49224).style,styleOnSelect:r(49224).styleOnSelect,hoverPoints:r(25292).hoverPoints,selectPoints:r(91560),meta:{}}},34927:function(t,e,r){\"use strict\";var n=r(96504),i=r(39032).BADNUM,a=r(36416).smith;t.exports=function(t,e,r){for(var o=e.layers.frontplot.select(\"g.scatterlayer\"),s=e.xaxis,l=e.yaxis,u={xaxis:s,yaxis:l,plot:e.framework,layerClipId:e._hasClipOnAxisFalse?e.clipIds.forTraces:null},c=0;c\"),o.hovertemplate=h.hovertemplate,a}function x(t,e){y.push(t._hovertitle+\": \"+e)}}},34864:function(t,e,r){\"use strict\";t.exports={attributes:r(5896),supplyDefaults:r(84256),colorbar:r(5528),formatLabels:r(90404),calc:r(34335),plot:r(88776),style:r(49224).style,styleOnSelect:r(49224).styleOnSelect,hoverPoints:r(26596),selectPoints:r(91560),eventData:r(97476),moduleType:\"trace\",name:\"scatterternary\",basePlotModule:r(19352),categories:[\"ternary\",\"symbols\",\"showLegend\",\"scatter-like\"],meta:{}}},88776:function(t,e,r){\"use strict\";var n=r(96504);t.exports=function(t,e,r){var i=e.plotContainer;i.select(\".scatterlayer\").selectAll(\"*\").remove();for(var a=e.xaxis,o=e.yaxis,s={xaxis:a,yaxis:o,plot:i,layerClipId:e._hasClipOnAxisFalse?e.clipIdRelative:null},l=e.layers.frontplot.select(\"g.scatterlayer\"),u=0;uh?b.sizeAvg||Math.max(b.size,3):a(e,x),p=0;pa&&l||i-1,P=!0;if(o(x)||p.selectedpoints||C){var O=p._length;if(p.selectedpoints){v.selectBatch=p.selectedpoints;var I=p.selectedpoints,z={};for(l=0;l1&&(c=v[m-1],h=g[m-1],d=y[m-1]),e=0;ec?\"-\":\"+\")+\"x\")).replace(\"y\",(f>h?\"-\":\"+\")+\"y\")).replace(\"z\",(p>d?\"-\":\"+\")+\"z\");var L=function(){m=0,M=[],S=[],E=[]};(!m||m2?t.slice(1,e-1):2===e?[(t[0]+t[1])/2]:t}function p(t){var e=t.length;return 1===e?[.5,.5]:[t[1]-t[0],t[e-1]-t[e-2]]}function d(t,e){var r=t.fullSceneLayout,i=t.dataScale,c=e._len,f={};function d(t,e){var n=r[e],o=i[u[e]];return a.simpleMap(t,(function(t){return n.d2l(t)*o}))}if(f.vectors=l(d(e._u,\"xaxis\"),d(e._v,\"yaxis\"),d(e._w,\"zaxis\"),c),!c)return{positions:[],cells:[]};var v=d(e._Xs,\"xaxis\"),g=d(e._Ys,\"yaxis\"),y=d(e._Zs,\"zaxis\");if(f.meshgrid=[v,g,y],f.gridFill=e._gridFill,e._slen)f.startingPositions=l(d(e._startsX,\"xaxis\"),d(e._startsY,\"yaxis\"),d(e._startsZ,\"zaxis\"));else{for(var m=g[0],x=h(v),b=h(y),_=new Array(x.length*b.length),w=0,T=0;T=0};m?(r=Math.min(y.length,b.length),l=function(t){return M(y[t])&&S(t)},f=function(t){return String(y[t])}):(r=Math.min(x.length,b.length),l=function(t){return M(x[t])&&S(t)},f=function(t){return String(x[t])}),w&&(r=Math.min(r,_.length));for(var E=0;E1){for(var O=a.randstr(),I=0;I=0){e.i=s.i;var c=r.marker;c.pattern&&c.colors&&c.pattern.shape||(c.color=u,e.color=u),n.pointStyle(t,r,a,e)}else i.fill(t,u)}},45716:function(t,e,r){\"use strict\";var n=r(33428),i=r(24040),a=r(10624).appendArrayPointValue,o=r(93024),s=r(3400),l=r(95924),u=r(78176),c=r(69656).formatPieValue;function f(t,e,r){for(var n=t.data.data,i={curveNumber:e.index,pointNumber:n.i,data:e._input,fullData:e},o=0;o\"),name:A||z(\"name\")?m.name:void 0,color:k(\"hoverlabel.bgcolor\")||x.color,borderColor:k(\"hoverlabel.bordercolor\"),fontFamily:k(\"hoverlabel.font.family\"),fontSize:k(\"hoverlabel.font.size\"),fontColor:k(\"hoverlabel.font.color\"),fontWeight:k(\"hoverlabel.font.weight\"),fontStyle:k(\"hoverlabel.font.style\"),fontVariant:k(\"hoverlabel.font.variant\"),nameLength:k(\"hoverlabel.namelength\"),textAlign:k(\"hoverlabel.align\"),hovertemplate:A,hovertemplateLabels:P,eventData:l};g&&(F.x0=E-i.rInscribed*i.rpx1,F.x1=E+i.rInscribed*i.rpx1,F.idealAlign=i.pxmid[0]<0?\"left\":\"right\"),y&&(F.x=E,F.idealAlign=E<0?\"left\":\"right\");var B=[];o.loneHover(F,{container:a._hoverlayer.node(),outerContainer:a._paper.node(),gd:r,inOut_bbox:B}),l[0].bbox=B[0],d._hasHoverLabel=!0}if(y){var N=t.select(\"path.surface\");h.styleOne(N,i,m,r,{hovered:!0})}d._hasHoverEvent=!0,r.emit(\"plotly_hover\",{points:l||[f(i,m,h.eventDataKeys)],event:n.event})}})),t.on(\"mouseout\",(function(e){var i=r._fullLayout,a=r._fullData[d.index],s=n.select(this).datum();if(d._hasHoverEvent&&(e.originalEvent=n.event,r.emit(\"plotly_unhover\",{points:[f(s,a,h.eventDataKeys)],event:n.event}),d._hasHoverEvent=!1),d._hasHoverLabel&&(o.loneUnhover(i._hoverlayer.node()),d._hasHoverLabel=!1),y){var l=t.select(\"path.surface\");h.styleOne(l,s,a,r,{hovered:!1})}})),t.on(\"click\",(function(t){var e=r._fullLayout,a=r._fullData[d.index],s=g&&(u.isHierarchyRoot(t)||u.isLeaf(t)),c=u.getPtId(t),p=u.isEntry(t)?u.findEntryWithChild(v,c):u.findEntryWithLevel(v,c),y=u.getPtId(p),m={points:[f(t,a,h.eventDataKeys)],event:n.event};s||(m.nextLevel=y);var x=l.triggerHandler(r,\"plotly_\"+d.type+\"click\",m);if(!1!==x&&e.hovermode&&(r._hoverdata=[f(t,a,h.eventDataKeys)],o.click(r,n.event)),!s&&!1!==x&&!r._dragging&&!r._transitioning){i.call(\"_storeDirectGUIEdit\",a,e._tracePreGUI[a.uid],{level:a.level});var b={data:[{level:y}],traces:[d.index]},_={frame:{redraw:!1,duration:h.transitionTime},transition:{duration:h.transitionTime,easing:h.transitionEasing},mode:\"immediate\",fromcurrent:!0};o.loneUnhover(e._hoverlayer.node()),i.call(\"animate\",r,b,_)}}))}},78176:function(t,e,r){\"use strict\";var n=r(3400),i=r(76308),a=r(93972),o=r(69656);function s(t){return t.data.data.pid}e.findEntryWithLevel=function(t,r){var n;return r&&t.eachAfter((function(t){if(e.getPtId(t)===r)return n=t.copy()})),n||t},e.findEntryWithChild=function(t,r){var n;return t.eachAfter((function(t){for(var i=t.children||[],a=0;a0)},e.getMaxDepth=function(t){return t.maxdepth>=0?t.maxdepth:1/0},e.isHeader=function(t,r){return!(e.isLeaf(t)||t.depth===r._maxDepth-1)},e.getParent=function(t,r){return e.findEntryWithLevel(t,s(r))},e.listPath=function(t,r){var n=t.parent;if(!n)return[];var i=r?[n.data[r]]:[n];return e.listPath(n,r).concat(i)},e.getPath=function(t){return e.listPath(t,\"label\").join(\"/\")+\"/\"},e.formatValue=o.formatPieValue,e.formatPercent=function(t,e){var r=n.formatPercent(t,0);return\"0%\"===r&&(r=o.formatPiePercent(t,e)),r}},5621:function(t,e,r){\"use strict\";t.exports={moduleType:\"trace\",name:\"sunburst\",basePlotModule:r(54904),categories:[],animatable:!0,attributes:r(424),layoutAttributes:r(84920),supplyDefaults:r(25244),supplyLayoutDefaults:r(28732),calc:r(3776).calc,crossTraceCalc:r(3776).crossTraceCalc,plot:r(96488).plot,style:r(85676).style,colorbar:r(5528),meta:{}}},84920:function(t){\"use strict\";t.exports={sunburstcolorway:{valType:\"colorlist\",editType:\"calc\"},extendsunburstcolors:{valType:\"boolean\",dflt:!0,editType:\"calc\"}}},28732:function(t,e,r){\"use strict\";var n=r(3400),i=r(84920);t.exports=function(t,e){function r(r,a){return n.coerce(t,e,i,r,a)}r(\"sunburstcolorway\",e.colorway),r(\"extendsunburstcolors\")}},96488:function(t,e,r){\"use strict\";var n=r(33428),i=r(74148),a=r(67756).qy,o=r(43616),s=r(3400),l=r(72736),u=r(82744),c=u.recordMinTextSize,f=u.clearMinTextSize,h=r(37820),p=r(69656).getRotationAngle,d=h.computeTransform,v=h.transformInsideText,g=r(85676).styleOne,y=r(60100).resizeText,m=r(45716),x=r(27328),b=r(78176);function _(t,r,u,f){var h=t._context.staticPlot,y=t._fullLayout,_=!y.uniformtext.mode&&b.hasTransition(f),T=n.select(u).selectAll(\"g.slice\"),k=r[0],A=k.trace,M=k.hierarchy,S=b.findEntryWithLevel(M,A.level),E=b.getMaxDepth(A),L=y._size,C=A.domain,P=L.w*(C.x[1]-C.x[0]),O=L.h*(C.y[1]-C.y[0]),I=.5*Math.min(P,O),z=k.cx=L.l+L.w*(C.x[1]+C.x[0])/2,D=k.cy=L.t+L.h*(1-C.y[0])-O/2;if(!S)return T.remove();var R=null,F={};_&&T.each((function(t){F[b.getPtId(t)]={rpx0:t.rpx0,rpx1:t.rpx1,x0:t.x0,x1:t.x1,transform:t.transform},!R&&b.isEntry(t)&&(R=t)}));var B=function(t){return i.partition().size([2*Math.PI,t.height+1])(t)}(S).descendants(),N=S.height+1,j=0,U=E;k.hasMultipleRoots&&b.isHierarchyRoot(S)&&(B=B.slice(1),N-=1,j=1,U+=1),B=B.filter((function(t){return t.y1<=U}));var V=p(A.rotation);V&&B.forEach((function(t){t.x0+=V,t.x1+=V}));var q=Math.min(N,E),H=function(t){return(t-j)/q*I},G=function(t,e){return[t*Math.cos(e),-t*Math.sin(e)]},W=function(t){return s.pathAnnulus(t.rpx0,t.rpx1,t.x0,t.x1,z,D)},Y=function(t){return z+w(t)[0]*(t.transform.rCenter||0)+(t.transform.x||0)},X=function(t){return D+w(t)[1]*(t.transform.rCenter||0)+(t.transform.y||0)};(T=T.data(B,b.getPtId)).enter().append(\"g\").classed(\"slice\",!0),_?T.exit().transition().each((function(){var t=n.select(this);t.select(\"path.surface\").transition().attrTween(\"d\",(function(t){var e=function(t){var e,r=b.getPtId(t),n=F[r],i=F[b.getPtId(S)];if(i){var o=(t.x1>i.x1?2*Math.PI:0)+V;e=t.rpx1Z?2*Math.PI:0)+V;e={x0:i,x1:i}}else e={rpx0:I,rpx1:I},s.extendFlat(e,$(t));else e={rpx0:0,rpx1:0};else e={x0:V,x1:V};return a(e,n)}(t);return function(t){return W(e(t))}})):f.attr(\"d\",W),u.call(m,S,t,r,{eventDataKeys:x.eventDataKeys,transitionTime:x.CLICK_TRANSITION_TIME,transitionEasing:x.CLICK_TRANSITION_EASING}).call(b.setSliceCursor,t,{hideOnRoot:!0,hideOnLeaves:!0,isTransitioning:t._transitioning}),f.call(g,i,A,t);var p=s.ensureSingle(u,\"g\",\"slicetext\"),w=s.ensureSingle(p,\"text\",\"\",(function(t){t.attr(\"data-notex\",1)})),T=s.ensureUniformFontSize(t,b.determineTextFont(A,i,y.font));w.text(e.formatSliceLabel(i,S,A,r,y)).classed(\"slicetext\",!0).attr(\"text-anchor\",\"middle\").call(o.font,T).call(l.convertToTspans,t);var M=o.bBox(w.node());i.transform=v(M,i,k),i.transform.targetX=Y(i),i.transform.targetY=X(i);var E=function(t,e){var r=t.transform;return d(r,e),r.fontSize=T.size,c(A.type,r,y),s.getTextTransform(r)};_?w.transition().attrTween(\"transform\",(function(t){var e=function(t){var e,r=F[b.getPtId(t)],n=t.transform;if(r)e=r;else if(e={rpx1:t.rpx1,transform:{textPosAngle:n.textPosAngle,scale:0,rotate:n.rotate,rCenter:n.rCenter,x:n.x,y:n.y}},R)if(t.parent)if(Z){var i=t.x1>Z?2*Math.PI:0;e.x0=e.x1=i}else s.extendFlat(e,$(t));else e.x0=e.x1=V;else e.x0=e.x1=V;var o=a(e.transform.textPosAngle,t.transform.textPosAngle),l=a(e.rpx1,t.rpx1),u=a(e.x0,t.x0),f=a(e.x1,t.x1),h=a(e.transform.scale,n.scale),p=a(e.transform.rotate,n.rotate),d=0===n.rCenter?3:0===e.transform.rCenter?1/3:1,v=a(e.transform.rCenter,n.rCenter);return function(t){var e=l(t),r=u(t),i=f(t),a=function(t){return v(Math.pow(t,d))}(t),s={pxmid:G(e,(r+i)/2),rpx1:e,transform:{textPosAngle:o(t),rCenter:a,x:n.x,y:n.y}};return c(A.type,n,y),{transform:{targetX:Y(s),targetY:X(s),scale:h(t),rotate:p(t),rCenter:a}}}}(t);return function(t){return E(e(t),M)}})):w.attr(\"transform\",E(i,M))}))}function w(t){return e=t.rpx1,r=t.transform.textPosAngle,[e*Math.sin(r),-e*Math.cos(r)];var e,r}e.plot=function(t,e,r,i){var a,o,s=t._fullLayout,l=s._sunburstlayer,u=!r,c=!s.uniformtext.mode&&b.hasTransition(r);f(\"sunburst\",s),(a=l.selectAll(\"g.trace.sunburst\").data(e,(function(t){return t[0].trace.uid}))).enter().append(\"g\").classed(\"trace\",!0).classed(\"sunburst\",!0).attr(\"stroke-linejoin\",\"round\"),a.order(),c?(i&&(o=i()),n.transition().duration(r.duration).ease(r.easing).each(\"end\",(function(){o&&o()})).each(\"interrupt\",(function(){o&&o()})).each((function(){l.selectAll(\"g.trace\").each((function(e){_(t,e,this,r)}))}))):(a.each((function(e){_(t,e,this,r)})),s.uniformtext.mode&&y(t,s._sunburstlayer.selectAll(\".trace\"),\"sunburst\")),u&&a.exit().remove()},e.formatSliceLabel=function(t,e,r,n,i){var a=r.texttemplate,o=r.textinfo;if(!(a||o&&\"none\"!==o))return\"\";var l=i.separators,u=n[0],c=t.data.data,f=u.hierarchy,h=b.isHierarchyRoot(t),p=b.getParent(f,t),d=b.getValue(t);if(!a){var v,g=o.split(\"+\"),y=function(t){return-1!==g.indexOf(t)},m=[];if(y(\"label\")&&c.label&&m.push(c.label),c.hasOwnProperty(\"v\")&&y(\"value\")&&m.push(b.formatValue(c.v,l)),!h){y(\"current path\")&&m.push(b.getPath(t.data));var x=0;y(\"percent parent\")&&x++,y(\"percent entry\")&&x++,y(\"percent root\")&&x++;var _=x>1;if(x){var w,T=function(t){v=b.formatPercent(w,l),_&&(v+=\" of \"+t),m.push(v)};y(\"percent parent\")&&!h&&(w=d/b.getValue(p),T(\"parent\")),y(\"percent entry\")&&(w=d/b.getValue(e),T(\"entry\")),y(\"percent root\")&&(w=d/b.getValue(f),T(\"root\"))}}return y(\"text\")&&(v=s.castOption(r,c.i,\"text\"),s.isValidTextValue(v)&&m.push(v)),m.join(\"
\")}var k=s.castOption(r,c.i,\"texttemplate\");if(!k)return\"\";var A={};c.label&&(A.label=c.label),c.hasOwnProperty(\"v\")&&(A.value=c.v,A.valueLabel=b.formatValue(c.v,l)),A.currentPath=b.getPath(t.data),h||(A.percentParent=d/b.getValue(p),A.percentParentLabel=b.formatPercent(A.percentParent,l),A.parent=b.getPtLabel(p)),A.percentEntry=d/b.getValue(e),A.percentEntryLabel=b.formatPercent(A.percentEntry,l),A.entry=b.getPtLabel(e),A.percentRoot=d/b.getValue(f),A.percentRootLabel=b.formatPercent(A.percentRoot,l),A.root=b.getPtLabel(f),c.hasOwnProperty(\"color\")&&(A.color=c.color);var M=s.castOption(r,c.i,\"text\");return(s.isValidTextValue(M)||\"\"===M)&&(A.text=M),A.customdata=s.castOption(r,c.i,\"customdata\"),s.texttemplateString(k,A,i._d3locale,A,r._meta||{})}},85676:function(t,e,r){\"use strict\";var n=r(33428),i=r(76308),a=r(3400),o=r(82744).resizeText,s=r(60404);function l(t,e,r,n){var o=e.data.data,l=!e.children,u=o.i,c=a.castOption(r,u,\"marker.line.color\")||i.defaultLine,f=a.castOption(r,u,\"marker.line.width\")||0;t.call(s,e,r,n).style(\"stroke-width\",f).call(i.stroke,c).style(\"opacity\",l?r.leaf.opacity:null)}t.exports={style:function(t){var e=t._fullLayout._sunburstlayer.selectAll(\".trace\");o(t,e,\"sunburst\"),e.each((function(e){var r=n.select(this),i=e[0].trace;r.style(\"opacity\",i.opacity),r.selectAll(\"path.surface\").each((function(e){n.select(this).call(l,e,i,t)}))}))},styleOne:l}},16716:function(t,e,r){\"use strict\";var n=r(76308),i=r(49084),a=r(29736).axisHoverFormat,o=r(21776).Ks,s=r(45464),l=r(92880).extendFlat,u=r(67824).overrideAll;function c(t){return{show:{valType:\"boolean\",dflt:!1},start:{valType:\"number\",dflt:null,editType:\"plot\"},end:{valType:\"number\",dflt:null,editType:\"plot\"},size:{valType:\"number\",dflt:null,min:0,editType:\"plot\"},project:{x:{valType:\"boolean\",dflt:!1},y:{valType:\"boolean\",dflt:!1},z:{valType:\"boolean\",dflt:!1}},color:{valType:\"color\",dflt:n.defaultLine},usecolormap:{valType:\"boolean\",dflt:!1},width:{valType:\"number\",min:1,max:16,dflt:2},highlight:{valType:\"boolean\",dflt:!0},highlightcolor:{valType:\"color\",dflt:n.defaultLine},highlightwidth:{valType:\"number\",min:1,max:16,dflt:2}}}var f=t.exports=u(l({z:{valType:\"data_array\"},x:{valType:\"data_array\"},y:{valType:\"data_array\"},text:{valType:\"string\",dflt:\"\",arrayOk:!0},hovertext:{valType:\"string\",dflt:\"\",arrayOk:!0},hovertemplate:o(),xhoverformat:a(\"x\"),yhoverformat:a(\"y\"),zhoverformat:a(\"z\"),connectgaps:{valType:\"boolean\",dflt:!1,editType:\"calc\"},surfacecolor:{valType:\"data_array\"}},i(\"\",{colorAttr:\"z or surfacecolor\",showScaleDflt:!0,autoColorDflt:!1,editTypeOverride:\"calc\"}),{contours:{x:c(),y:c(),z:c()},hidesurface:{valType:\"boolean\",dflt:!1},lightposition:{x:{valType:\"number\",min:-1e5,max:1e5,dflt:10},y:{valType:\"number\",min:-1e5,max:1e5,dflt:1e4},z:{valType:\"number\",min:-1e5,max:1e5,dflt:0}},lighting:{ambient:{valType:\"number\",min:0,max:1,dflt:.8},diffuse:{valType:\"number\",min:0,max:1,dflt:.8},specular:{valType:\"number\",min:0,max:2,dflt:.05},roughness:{valType:\"number\",min:0,max:1,dflt:.5},fresnel:{valType:\"number\",min:0,max:5,dflt:.2}},opacity:{valType:\"number\",min:0,max:1,dflt:1},opacityscale:{valType:\"any\",editType:\"calc\"},_deprecated:{zauto:l({},i.zauto,{}),zmin:l({},i.zmin,{}),zmax:l({},i.zmax,{})},hoverinfo:l({},s.hoverinfo),showlegend:l({},s.showlegend,{dflt:!1})}),\"calc\",\"nested\");f.x.editType=f.y.editType=f.z.editType=\"calc+clearAxisTypes\",f.transforms=void 0},56576:function(t,e,r){\"use strict\";var n=r(47128);t.exports=function(t,e){e.surfacecolor?n(t,e,{vals:e.surfacecolor,containerStr:\"\",cLetter:\"c\"}):n(t,e,{vals:e.z,containerStr:\"\",cLetter:\"c\"})}},79164:function(t,e,r){\"use strict\";var n=r(67792).gl_surface3d,i=r(67792).ndarray,a=r(67792).ndarray_linear_interpolate.d2,o=r(70448),s=r(11240),l=r(3400).isArrayOrTypedArray,u=r(33040).parseColorScale,c=r(43080),f=r(8932).extractOpts;function h(t,e,r){this.scene=t,this.uid=r,this.surface=e,this.data=null,this.showContour=[!1,!1,!1],this.contourStart=[null,null,null],this.contourEnd=[null,null,null],this.contourSize=[0,0,0],this.minValues=[1/0,1/0,1/0],this.maxValues=[-1/0,-1/0,-1/0],this.dataScaleX=1,this.dataScaleY=1,this.refineData=!0,this.objectOffset=[0,0,0]}var p=h.prototype;p.getXat=function(t,e,r,n){var i=l(this.data.x)?l(this.data.x[0])?this.data.x[e][t]:this.data.x[t]:t;return void 0===r?i:n.d2l(i,0,r)},p.getYat=function(t,e,r,n){var i=l(this.data.y)?l(this.data.y[0])?this.data.y[e][t]:this.data.y[e]:e;return void 0===r?i:n.d2l(i,0,r)},p.getZat=function(t,e,r,n){var i=this.data.z[e][t];return null===i&&this.data.connectgaps&&this.data._interpolatedZ&&(i=this.data._interpolatedZ[e][t]),void 0===r?i:n.d2l(i,0,r)},p.handlePick=function(t){if(t.object===this.surface){var e=(t.data.index[0]-1)/this.dataScaleX-1,r=(t.data.index[1]-1)/this.dataScaleY-1,n=Math.max(Math.min(Math.round(e),this.data.z[0].length-1),0),i=Math.max(Math.min(Math.round(r),this.data._ylength-1),0);t.index=[n,i],t.traceCoordinate=[this.getXat(n,i),this.getYat(n,i),this.getZat(n,i)],t.dataCoordinate=[this.getXat(n,i,this.data.xcalendar,this.scene.fullSceneLayout.xaxis),this.getYat(n,i,this.data.ycalendar,this.scene.fullSceneLayout.yaxis),this.getZat(n,i,this.data.zcalendar,this.scene.fullSceneLayout.zaxis)];for(var a=0;a<3;a++){null!=t.dataCoordinate[a]&&(t.dataCoordinate[a]*=this.scene.dataScale[a])}var o=this.data.hovertext||this.data.text;return l(o)&&o[i]&&void 0!==o[i][n]?t.textLabel=o[i][n]:t.textLabel=o||\"\",t.data.dataCoordinate=t.dataCoordinate.slice(),this.surface.highlight(t.data),this.scene.glplot.spikes.position=t.dataCoordinate,!0}};var d=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997,1009,1013,1019,1021,1031,1033,1039,1049,1051,1061,1063,1069,1087,1091,1093,1097,1103,1109,1117,1123,1129,1151,1153,1163,1171,1181,1187,1193,1201,1213,1217,1223,1229,1231,1237,1249,1259,1277,1279,1283,1289,1291,1297,1301,1303,1307,1319,1321,1327,1361,1367,1373,1381,1399,1409,1423,1427,1429,1433,1439,1447,1451,1453,1459,1471,1481,1483,1487,1489,1493,1499,1511,1523,1531,1543,1549,1553,1559,1567,1571,1579,1583,1597,1601,1607,1609,1613,1619,1621,1627,1637,1657,1663,1667,1669,1693,1697,1699,1709,1721,1723,1733,1741,1747,1753,1759,1777,1783,1787,1789,1801,1811,1823,1831,1847,1861,1867,1871,1873,1877,1879,1889,1901,1907,1913,1931,1933,1949,1951,1973,1979,1987,1993,1997,1999,2003,2011,2017,2027,2029,2039,2053,2063,2069,2081,2083,2087,2089,2099,2111,2113,2129,2131,2137,2141,2143,2153,2161,2179,2203,2207,2213,2221,2237,2239,2243,2251,2267,2269,2273,2281,2287,2293,2297,2309,2311,2333,2339,2341,2347,2351,2357,2371,2377,2381,2383,2389,2393,2399,2411,2417,2423,2437,2441,2447,2459,2467,2473,2477,2503,2521,2531,2539,2543,2549,2551,2557,2579,2591,2593,2609,2617,2621,2633,2647,2657,2659,2663,2671,2677,2683,2687,2689,2693,2699,2707,2711,2713,2719,2729,2731,2741,2749,2753,2767,2777,2789,2791,2797,2801,2803,2819,2833,2837,2843,2851,2857,2861,2879,2887,2897,2903,2909,2917,2927,2939,2953,2957,2963,2969,2971,2999];function v(t,e){if(t0){r=d[n];break}return r}function m(t,e){if(!(t<1||e<1)){for(var r=g(t),n=g(e),i=1,a=0;a_;)r--,r/=y(r),++r1?n:1},p.refineCoords=function(t){for(var e=this.dataScaleX,r=this.dataScaleY,n=t[0].shape[0],a=t[0].shape[1],o=0|Math.floor(t[0].shape[0]*e+1),s=0|Math.floor(t[0].shape[1]*r+1),l=1+n+1,u=1+a+1,c=i(new Float32Array(l*u),[l,u]),f=[1/e,0,0,0,1/r,0,0,0,1],h=0;h0&&null!==this.contourStart[t]&&null!==this.contourEnd[t]&&this.contourEnd[t]>this.contourStart[t]))for(i[t]=!0,e=this.contourStart[t];ea&&(this.minValues[e]=a),this.maxValues[e]\",maxDimensionCount:60,overdrag:45,releaseTransitionDuration:120,releaseTransitionEase:\"cubic-out\",scrollbarCaptureWidth:18,scrollbarHideDelay:1e3,scrollbarHideDuration:1e3,scrollbarOffset:5,scrollbarWidth:8,transitionDuration:100,transitionEase:\"cubic-out\",uplift:5,wrapSpacer:\" \",wrapSplitCharacter:\" \",cn:{table:\"table\",tableControlView:\"table-control-view\",scrollBackground:\"scroll-background\",yColumn:\"y-column\",columnBlock:\"column-block\",scrollAreaClip:\"scroll-area-clip\",scrollAreaClipRect:\"scroll-area-clip-rect\",columnBoundary:\"column-boundary\",columnBoundaryClippath:\"column-boundary-clippath\",columnBoundaryRect:\"column-boundary-rect\",columnCells:\"column-cells\",columnCell:\"column-cell\",cellRect:\"cell-rect\",cellText:\"cell-text\",cellTextHolder:\"cell-text-holder\",scrollbarKit:\"scrollbar-kit\",scrollbar:\"scrollbar\",scrollbarSlider:\"scrollbar-slider\",scrollbarGlyph:\"scrollbar-glyph\",scrollbarCaptureZone:\"scrollbar-capture-zone\"}}},55992:function(t,e,r){\"use strict\";var n=r(23536),i=r(92880).extendFlat,a=r(38248),o=r(38116).isTypedArray,s=r(38116).isArrayOrTypedArray;function l(t){if(s(t)){for(var e=0,r=0;r=e||u===t.length-1)&&(n[i]=o,o.key=l++,o.firstRowIndex=s,o.lastRowIndex=u,o={firstRowIndex:null,lastRowIndex:null,rows:[]},i+=a,s=u+1,a=0);return n}t.exports=function(t,e){var r=c(e.cells.values),o=function(t){return t.slice(e.header.values.length,t.length)},v=c(e.header.values);v.length&&!v[0].length&&(v[0]=[\"\"],v=c(v));var g=v.concat(o(r).map((function(){return f((v[0]||[\"\"]).length)}))),y=e.domain,m=Math.floor(t._fullLayout._size.w*(y.x[1]-y.x[0])),x=Math.floor(t._fullLayout._size.h*(y.y[1]-y.y[0])),b=e.header.values.length?g[0].map((function(){return e.header.height})):[n.emptyHeaderHeight],_=r.length?r[0].map((function(){return e.cells.height})):[],w=b.reduce(u,0),T=d(_,x-w+n.uplift),k=p(d(b,w),[]),A=p(T,k),M={},S=e._fullInput.columnorder;s(S)&&(S=Array.from(S)),S=S.concat(o(r.map((function(t,e){return e}))));var E=g.map((function(t,r){var n=s(e.columnwidth)?e.columnwidth[Math.min(r,e.columnwidth.length-1)]:e.columnwidth;return a(n)?Number(n):1})),L=E.reduce(u,0);E=E.map((function(t){return t/L*m}));var C=Math.max(l(e.header.line.width),l(e.cells.line.width)),P={key:e.uid+t._context.staticPlot,translateX:y.x[0]*t._fullLayout._size.w,translateY:t._fullLayout._size.h*(1-y.y[1]),size:t._fullLayout._size,width:m,maxLineWidth:C,height:x,columnOrder:S,groupHeight:x,rowBlocks:A,headerRowBlocks:k,scrollY:0,cells:i({},e.cells,{values:r}),headerCells:i({},e.header,{values:g}),gdColumns:g.map((function(t){return t[0]})),gdColumnsOriginalOrder:g.map((function(t){return t[0]})),prevPages:[0,0],scrollbarState:{scrollbarScrollInProgress:!1},columns:g.map((function(t,e){var r=M[t];return M[t]=(r||0)+1,{key:t+\"__\"+M[t],label:t,specIndex:e,xIndex:S[e],xScale:h,x:void 0,calcdata:void 0,columnWidth:E[e]}}))};return P.columns.forEach((function(t){t.calcdata=P,t.x=h(t)})),P}},53056:function(t,e,r){\"use strict\";var n=r(92880).extendFlat;e.splitToPanels=function(t){var e=[0,0],r=n({},t,{key:\"header\",type:\"header\",page:0,prevPages:e,currentRepaint:[null,null],dragHandle:!0,values:t.calcdata.headerCells.values[t.specIndex],rowBlocks:t.calcdata.headerRowBlocks,calcdata:n({},t.calcdata,{cells:t.calcdata.headerCells})});return[n({},t,{key:\"cells1\",type:\"cells\",page:0,prevPages:e,currentRepaint:[null,null],dragHandle:!1,values:t.calcdata.cells.values[t.specIndex],rowBlocks:t.calcdata.rowBlocks}),n({},t,{key:\"cells2\",type:\"cells\",page:1,prevPages:e,currentRepaint:[null,null],dragHandle:!1,values:t.calcdata.cells.values[t.specIndex],rowBlocks:t.calcdata.rowBlocks}),r]},e.splitToCells=function(t){var e=function(t){var e=t.rowBlocks[t.page],r=e?e.rows[0].rowIndex:0;return[r,e?r+e.rows.length:0]}(t);return(t.values||[]).slice(e[0],e[1]).map((function(r,n){return{keyWithinBlock:n+(\"string\"==typeof r&&r.match(/[<$&> ]/)?\"_keybuster_\"+Math.random():\"\"),key:e[0]+n,column:t,calcdata:t.calcdata,page:t.page,rowBlocks:t.rowBlocks,value:r}}))}},53212:function(t,e,r){\"use strict\";var n=r(3400),i=r(60520),a=r(86968).Q;t.exports=function(t,e,r,o){function s(r,a){return n.coerce(t,e,i,r,a)}a(e,o,s),s(\"columnwidth\"),s(\"header.values\"),s(\"header.format\"),s(\"header.align\"),s(\"header.prefix\"),s(\"header.suffix\"),s(\"header.height\"),s(\"header.line.width\"),s(\"header.line.color\"),s(\"header.fill.color\"),n.coerceFont(s,\"header.font\",n.extendFlat({},o.font)),function(t,e){for(var r=t.columnorder||[],n=t.header.values.length,i=r.slice(0,n),a=i.slice().sort((function(t,e){return t-e})),o=i.map((function(t){return a.indexOf(t)})),s=o.length;s/i),l=!a||s;t.mayHaveMarkup=a&&i.match(/[<&>]/);var u,c=\"string\"==typeof(u=i)&&u.match(n.latexCheck);t.latex=c;var f,h,p=c?\"\":k(t.calcdata.cells.prefix,e,r)||\"\",d=c?\"\":k(t.calcdata.cells.suffix,e,r)||\"\",v=c?null:k(t.calcdata.cells.format,e,r)||null,g=p+(v?o(v)(t.value):t.value)+d;if(t.wrappingNeeded=!t.wrapped&&!l&&!c&&(f=T(g)),t.cellHeightMayIncrease=s||c||t.mayHaveMarkup||(void 0===f?T(g):f),t.needsConvertToTspans=t.mayHaveMarkup||t.wrappingNeeded||t.latex,t.wrappingNeeded){var y=(\" \"===n.wrapSplitCharacter?g.replace(/i&&n.push(a),i+=l}return n}(i,l,s);1===u.length&&(u[0]===i.length-1?u.unshift(u[0]-1):u.push(u[0]+1)),u[0]%2&&u.reverse(),e.each((function(t,e){t.page=u[e],t.scrollY=l})),e.attr(\"transform\",(function(t){var e=R(t.rowBlocks,t.page)-t.scrollY;return f(0,e)})),t&&(P(t,r,e,u,n.prevPages,n,0),P(t,r,e,u,n.prevPages,n,1),b(r,t))}}function C(t,e,r,a){return function(o){var s=o.calcdata?o.calcdata:o,l=e.filter((function(t){return s.key===t.key})),u=r||s.scrollbarState.dragMultiplier,c=s.scrollY;s.scrollY=void 0===a?s.scrollY+u*i.event.dy:a;var f=l.selectAll(\".\"+n.cn.yColumn).selectAll(\".\"+n.cn.columnBlock).filter(M);return L(t,f,l),s.scrollY===c}}function P(t,e,r,n,i,a,o){n[o]!==i[o]&&(clearTimeout(a.currentRepaint[o]),a.currentRepaint[o]=setTimeout((function(){var a=r.filter((function(t,e){return e===o&&n[e]!==i[e]}));_(t,e,a,r),i[o]=n[o]})))}function O(t,e,r,a){return function(){var o=i.select(e.parentNode);o.each((function(t){var e=t.fragments;o.selectAll(\"tspan.line\").each((function(t,r){e[r].width=this.getComputedTextLength()}));var r,i,a=e[e.length-1].width,s=e.slice(0,-1),l=[],u=0,c=t.column.columnWidth-2*n.cellPad;for(t.value=\"\";s.length;)u+(i=(r=s.shift()).width+a)>c&&(t.value+=l.join(n.wrapSpacer)+n.lineBreaker,l=[],u=0),l.push(r.text),u+=i;u&&(t.value+=l.join(n.wrapSpacer)),t.wrapped=!0})),o.selectAll(\"tspan.line\").remove(),w(o.select(\".\"+n.cn.cellText),r,t,a),i.select(e.parentNode.parentNode).call(D)}}function I(t,e,r,a,o){return function(){if(!o.settledY){var s=i.select(e.parentNode),l=N(o),u=o.key-l.firstRowIndex,c=l.rows[u].rowHeight,h=o.cellHeightMayIncrease?e.parentNode.getBoundingClientRect().height+2*n.cellPad:c,p=Math.max(h,c);p-l.rows[u].rowHeight&&(l.rows[u].rowHeight=p,t.selectAll(\".\"+n.cn.columnCell).call(D),L(null,t.filter(M),0),b(r,a,!0)),s.attr(\"transform\",(function(){var t=this,e=t.parentNode.getBoundingClientRect(),r=i.select(t.parentNode).select(\".\"+n.cn.cellRect).node().getBoundingClientRect(),a=t.transform.baseVal.consolidate(),s=r.top-e.top+(a?a.matrix.f:n.cellPad);return f(z(o,i.select(t.parentNode).select(\".\"+n.cn.cellTextHolder).node().getBoundingClientRect().width),s)})),o.settledY=!0}}}function z(t,e){switch(t.align){case\"left\":default:return n.cellPad;case\"right\":return t.column.columnWidth-(e||0)-n.cellPad;case\"center\":return(t.column.columnWidth-(e||0))/2}}function D(t){t.attr(\"transform\",(function(t){var e=t.rowBlocks[0].auxiliaryBlocks.reduce((function(t,e){return t+F(e,1/0)}),0),r=F(N(t),t.key);return f(0,r+e)})).selectAll(\".\"+n.cn.cellRect).attr(\"height\",(function(t){return(e=N(t),r=t.key,e.rows[r-e.firstRowIndex]).rowHeight;var e,r}))}function R(t,e){for(var r=0,n=e-1;n>=0;n--)r+=B(t[n]);return r}function F(t,e){for(var r=0,n=0;n\",\"<\",\"|\",\"/\",\"\\\\\"],dflt:\">\",editType:\"plot\"},thickness:{valType:\"number\",min:12,editType:\"plot\"},textfont:c({},s.textfont,{}),editType:\"calc\"},text:s.text,textinfo:l.textinfo,texttemplate:i({editType:\"plot\"},{keys:u.eventDataKeys.concat([\"label\",\"value\"])}),hovertext:s.hovertext,hoverinfo:l.hoverinfo,hovertemplate:n({},{keys:u.eventDataKeys}),textfont:s.textfont,insidetextfont:s.insidetextfont,outsidetextfont:c({},s.outsidetextfont,{}),textposition:{valType:\"enumerated\",values:[\"top left\",\"top center\",\"top right\",\"middle left\",\"middle center\",\"middle right\",\"bottom left\",\"bottom center\",\"bottom right\"],dflt:\"top left\",editType:\"plot\"},sort:s.sort,root:l.root,domain:o({name:\"treemap\",trace:!0,editType:\"calc\"})}},79516:function(t,e,r){\"use strict\";var n=r(7316);e.name=\"treemap\",e.plot=function(t,r,i,a){n.plotBasePlot(e.name,t,r,i,a)},e.clean=function(t,r,i,a){n.cleanBasePlot(e.name,t,r,i,a)}},97840:function(t,e,r){\"use strict\";var n=r(3776);e.r=function(t,e){return n.calc(t,e)},e.q=function(t){return n._runCrossTraceCalc(\"treemap\",t)}},32984:function(t){\"use strict\";t.exports={CLICK_TRANSITION_TIME:750,CLICK_TRANSITION_EASING:\"poly\",eventDataKeys:[\"currentPath\",\"root\",\"entry\",\"percentRoot\",\"percentEntry\",\"percentParent\"],gapWithPathbar:1}},34092:function(t,e,r){\"use strict\";var n=r(3400),i=r(40516),a=r(76308),o=r(86968).Q,s=r(31508).handleText,l=r(78048).TEXTPAD,u=r(74174).handleMarkerDefaults,c=r(8932),f=c.hasColorscale,h=c.handleDefaults;t.exports=function(t,e,r,c){function p(r,a){return n.coerce(t,e,i,r,a)}var d=p(\"labels\"),v=p(\"parents\");if(d&&d.length&&v&&v.length){var g=p(\"values\");g&&g.length?p(\"branchvalues\"):p(\"count\"),p(\"level\"),p(\"maxdepth\"),\"squarify\"===p(\"tiling.packing\")&&p(\"tiling.squarifyratio\"),p(\"tiling.flip\"),p(\"tiling.pad\");var y=p(\"text\");p(\"texttemplate\"),e.texttemplate||p(\"textinfo\",n.isArrayOrTypedArray(y)?\"text+label\":\"label\"),p(\"hovertext\"),p(\"hovertemplate\");var m=p(\"pathbar.visible\");s(t,e,c,p,\"auto\",{hasPathbar:m,moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),p(\"textposition\");var x=-1!==e.textposition.indexOf(\"bottom\");u(t,e,c,p),(e._hasColorscale=f(t,\"marker\",\"colors\")||(t.marker||{}).coloraxis)?h(t,e,c,p,{prefix:\"marker.\",cLetter:\"c\"}):p(\"marker.depthfade\",!(e.marker.colors||[]).length);var b=2*e.textfont.size;p(\"marker.pad.t\",x?b/4:b),p(\"marker.pad.l\",b/4),p(\"marker.pad.r\",b/4),p(\"marker.pad.b\",x?b:b/4),p(\"marker.cornerradius\"),e._hovered={marker:{line:{width:2,color:a.contrast(c.paper_bgcolor)}}},m&&(p(\"pathbar.thickness\",e.pathbar.textfont.size+2*l),p(\"pathbar.side\"),p(\"pathbar.edgeshape\")),p(\"sort\"),p(\"root.color\"),o(e,c,p),e._length=null}else e.visible=!1}},95808:function(t,e,r){\"use strict\";var n=r(33428),i=r(78176),a=r(82744).clearMinTextSize,o=r(60100).resizeText,s=r(52960);t.exports=function(t,e,r,l,u){var c,f,h=u.type,p=u.drawDescendants,d=t._fullLayout,v=d[\"_\"+h+\"layer\"],g=!r;a(h,d),(c=v.selectAll(\"g.trace.\"+h).data(e,(function(t){return t[0].trace.uid}))).enter().append(\"g\").classed(\"trace\",!0).classed(h,!0),c.order(),!d.uniformtext.mode&&i.hasTransition(r)?(l&&(f=l()),n.transition().duration(r.duration).ease(r.easing).each(\"end\",(function(){f&&f()})).each(\"interrupt\",(function(){f&&f()})).each((function(){v.selectAll(\"g.trace\").each((function(e){s(t,e,this,r,p)}))}))):(c.each((function(e){s(t,e,this,r,p)})),d.uniformtext.mode&&o(t,v.selectAll(\".trace\"),h)),g&&c.exit().remove()}},27336:function(t,e,r){\"use strict\";var n=r(33428),i=r(3400),a=r(43616),o=r(72736),s=r(13832),l=r(66192).styleOne,u=r(32984),c=r(78176),f=r(45716),h=!0;t.exports=function(t,e,r,p,d){var v=d.barDifY,g=d.width,y=d.height,m=d.viewX,x=d.viewY,b=d.pathSlice,_=d.toMoveInsideSlice,w=d.strTransform,T=d.hasTransition,k=d.handleSlicesExit,A=d.makeUpdateSliceInterpolator,M=d.makeUpdateTextInterpolator,S={},E=t._context.staticPlot,L=t._fullLayout,C=e[0],P=C.trace,O=C.hierarchy,I=g/P._entryDepth,z=c.listPath(r.data,\"id\"),D=s(O.copy(),[g,y],{packing:\"dice\",pad:{inner:0,top:0,left:0,right:0,bottom:0}}).descendants();(D=D.filter((function(t){var e=z.indexOf(t.data.id);return-1!==e&&(t.x0=I*e,t.x1=I*(e+1),t.y0=v,t.y1=v+y,t.onPathbar=!0,!0)}))).reverse(),(p=p.data(D,c.getPtId)).enter().append(\"g\").classed(\"pathbar\",!0),k(p,h,S,[g,y],b),p.order();var R=p;T&&(R=R.transition().each(\"end\",(function(){var e=n.select(this);c.setSliceCursor(e,t,{hideOnRoot:!1,hideOnLeaves:!1,isTransitioning:!1})}))),R.each((function(s){s._x0=m(s.x0),s._x1=m(s.x1),s._y0=x(s.y0),s._y1=x(s.y1),s._hoverX=m(s.x1-Math.min(g,y)/2),s._hoverY=x(s.y1-y/2);var p=n.select(this),d=i.ensureSingle(p,\"path\",\"surface\",(function(t){t.style(\"pointer-events\",E?\"none\":\"all\")}));T?d.transition().attrTween(\"d\",(function(t){var e=A(t,h,S,[g,y]);return function(t){return b(e(t))}})):d.attr(\"d\",b),p.call(f,r,t,e,{styleOne:l,eventDataKeys:u.eventDataKeys,transitionTime:u.CLICK_TRANSITION_TIME,transitionEasing:u.CLICK_TRANSITION_EASING}).call(c.setSliceCursor,t,{hideOnRoot:!1,hideOnLeaves:!1,isTransitioning:t._transitioning}),d.call(l,s,P,t,{hovered:!1}),s._text=(c.getPtLabel(s)||\"\").split(\"
\").join(\" \")||\"\";var v=i.ensureSingle(p,\"g\",\"slicetext\"),k=i.ensureSingle(v,\"text\",\"\",(function(t){t.attr(\"data-notex\",1)})),C=i.ensureUniformFontSize(t,c.determineTextFont(P,s,L.font,{onPathbar:!0}));k.text(s._text||\" \").classed(\"slicetext\",!0).attr(\"text-anchor\",\"start\").call(a.font,C).call(o.convertToTspans,t),s.textBB=a.bBox(k.node()),s.transform=_(s,{fontSize:C.size,onPathbar:!0}),s.transform.fontSize=C.size,T?k.transition().attrTween(\"transform\",(function(t){var e=M(t,h,S,[g,y]);return function(t){return w(e(t))}})):k.attr(\"transform\",w(s))}))}},76477:function(t,e,r){\"use strict\";var n=r(33428),i=r(3400),a=r(43616),o=r(72736),s=r(13832),l=r(66192).styleOne,u=r(32984),c=r(78176),f=r(45716),h=r(96488).formatSliceLabel,p=!1;t.exports=function(t,e,r,d,v){var g=v.width,y=v.height,m=v.viewX,x=v.viewY,b=v.pathSlice,_=v.toMoveInsideSlice,w=v.strTransform,T=v.hasTransition,k=v.handleSlicesExit,A=v.makeUpdateSliceInterpolator,M=v.makeUpdateTextInterpolator,S=v.prevEntry,E=t._context.staticPlot,L=t._fullLayout,C=e[0].trace,P=-1!==C.textposition.indexOf(\"left\"),O=-1!==C.textposition.indexOf(\"right\"),I=-1!==C.textposition.indexOf(\"bottom\"),z=!I&&!C.marker.pad.t||I&&!C.marker.pad.b,D=s(r,[g,y],{packing:C.tiling.packing,squarifyratio:C.tiling.squarifyratio,flipX:C.tiling.flip.indexOf(\"x\")>-1,flipY:C.tiling.flip.indexOf(\"y\")>-1,pad:{inner:C.tiling.pad,top:C.marker.pad.t,left:C.marker.pad.l,right:C.marker.pad.r,bottom:C.marker.pad.b}}).descendants(),R=1/0,F=-1/0;D.forEach((function(t){var e=t.depth;e>=C._maxDepth?(t.x0=t.x1=(t.x0+t.x1)/2,t.y0=t.y1=(t.y0+t.y1)/2):(R=Math.min(R,e),F=Math.max(F,e))})),d=d.data(D,c.getPtId),C._maxVisibleLayers=isFinite(F)?F-R+1:0,d.enter().append(\"g\").classed(\"slice\",!0),k(d,p,{},[g,y],b),d.order();var B=null;if(T&&S){var N=c.getPtId(S);d.each((function(t){null===B&&c.getPtId(t)===N&&(B={x0:t.x0,x1:t.x1,y0:t.y0,y1:t.y1})}))}var j=function(){return B||{x0:0,x1:g,y0:0,y1:y}},U=d;return T&&(U=U.transition().each(\"end\",(function(){var e=n.select(this);c.setSliceCursor(e,t,{hideOnRoot:!0,hideOnLeaves:!1,isTransitioning:!1})}))),U.each((function(s){var d=c.isHeader(s,C);s._x0=m(s.x0),s._x1=m(s.x1),s._y0=x(s.y0),s._y1=x(s.y1),s._hoverX=m(s.x1-C.marker.pad.r),s._hoverY=x(I?s.y1-C.marker.pad.b/2:s.y0+C.marker.pad.t/2);var v=n.select(this),k=i.ensureSingle(v,\"path\",\"surface\",(function(t){t.style(\"pointer-events\",E?\"none\":\"all\")}));T?k.transition().attrTween(\"d\",(function(t){var e=A(t,p,j(),[g,y]);return function(t){return b(e(t))}})):k.attr(\"d\",b),v.call(f,r,t,e,{styleOne:l,eventDataKeys:u.eventDataKeys,transitionTime:u.CLICK_TRANSITION_TIME,transitionEasing:u.CLICK_TRANSITION_EASING}).call(c.setSliceCursor,t,{isTransitioning:t._transitioning}),k.call(l,s,C,t,{hovered:!1}),s.x0===s.x1||s.y0===s.y1?s._text=\"\":s._text=d?z?\"\":c.getPtLabel(s)||\"\":h(s,r,C,e,L)||\"\";var S=i.ensureSingle(v,\"g\",\"slicetext\"),D=i.ensureSingle(S,\"text\",\"\",(function(t){t.attr(\"data-notex\",1)})),R=i.ensureUniformFontSize(t,c.determineTextFont(C,s,L.font)),F=s._text||\" \",B=d&&-1===F.indexOf(\"
\");D.text(F).classed(\"slicetext\",!0).attr(\"text-anchor\",O?\"end\":P||B?\"start\":\"middle\").call(a.font,R).call(o.convertToTspans,t),s.textBB=a.bBox(D.node()),s.transform=_(s,{fontSize:R.size,isHeader:d}),s.transform.fontSize=R.size,T?D.transition().attrTween(\"transform\",(function(t){var e=M(t,p,j(),[g,y]);return function(t){return w(e(t))}})):D.attr(\"transform\",w(s))})),B}},83024:function(t){\"use strict\";t.exports=function t(e,r,n){var i;n.swapXY&&(i=e.x0,e.x0=e.y0,e.y0=i,i=e.x1,e.x1=e.y1,e.y1=i),n.flipX&&(i=e.x0,e.x0=r[0]-e.x1,e.x1=r[0]-i),n.flipY&&(i=e.y0,e.y0=r[1]-e.y1,e.y1=r[1]-i);var a=e.children;if(a)for(var o=0;o-1?C+I:-(O+I):0,D={x0:P,x1:P,y0:z,y1:z+O},R=function(t,e,r){var n=y.tiling.pad,i=function(t){return t-n<=e.x0},a=function(t){return t+n>=e.x1},o=function(t){return t-n<=e.y0},s=function(t){return t+n>=e.y1};return t.x0===e.x0&&t.x1===e.x1&&t.y0===e.y0&&t.y1===e.y1?{x0:t.x0,x1:t.x1,y0:t.y0,y1:t.y1}:{x0:i(t.x0-n)?0:a(t.x0-n)?r[0]:t.x0,x1:i(t.x1+n)?0:a(t.x1+n)?r[0]:t.x1,y0:o(t.y0-n)?0:s(t.y0-n)?r[1]:t.y0,y1:o(t.y1+n)?0:s(t.y1+n)?r[1]:t.y1}},F=null,B={},N={},j=null,U=function(t,e){return e?B[h(t)]:N[h(t)]};g.hasMultipleRoots&&k&&M++,y._maxDepth=M,y._backgroundColor=v.paper_bgcolor,y._entryDepth=b.data.depth,y._atRootLevel=k;var V=-L/2+S.l+S.w*(E.x[1]+E.x[0])/2,q=-C/2+S.t+S.h*(1-(E.y[1]+E.y[0])/2),H=function(t){return V+t},G=function(t){return q+t},W=G(0),Y=H(0),X=function(t){return Y+t},Z=function(t){return W+t};function K(t,e){return t+\",\"+e}var J=X(0),$=function(t){t.x=Math.max(J,t.x)},Q=y.pathbar.edgeshape,tt=y[m?\"tiling\":\"marker\"].pad,et=function(t){return-1!==y.textposition.indexOf(t)},rt=et(\"top\"),nt=et(\"left\"),it=et(\"right\"),at=et(\"bottom\"),ot=function(t,e){var r=t.x0,n=t.x1,i=t.y0,a=t.y1,o=t.textBB,c=rt||e.isHeader&&!at?\"start\":at?\"end\":\"middle\",f=et(\"right\"),h=et(\"left\")||e.onPathbar?-1:f?1:0;if(e.isHeader){if((r+=(m?tt:tt.l)-s)>=(n-=(m?tt:tt.r)-s)){var p=(r+n)/2;r=p,n=p}var d;at?i<(d=a-(m?tt:tt.b))&&d\"===Q?(l.x-=a,u.x-=a,c.x-=a,f.x-=a):\"/\"===Q?(c.x-=a,f.x-=a,o.x-=a/2,s.x-=a/2):\"\\\\\"===Q?(l.x-=a,u.x-=a,o.x-=a/2,s.x-=a/2):\"<\"===Q&&(o.x-=a,s.x-=a),$(l),$(f),$(o),$(u),$(c),$(s),\"M\"+K(l.x,l.y)+\"L\"+K(u.x,u.y)+\"L\"+K(s.x,s.y)+\"L\"+K(c.x,c.y)+\"L\"+K(f.x,f.y)+\"L\"+K(o.x,o.y)+\"Z\"},toMoveInsideSlice:ot,makeUpdateSliceInterpolator:lt,makeUpdateTextInterpolator:ut,handleSlicesExit:ct,hasTransition:A,strTransform:ft}):w.remove()}},66192:function(t,e,r){\"use strict\";var n=r(33428),i=r(76308),a=r(3400),o=r(78176),s=r(82744).resizeText,l=r(60404);function u(t,e,r,n,s){var u,c,f=(s||{}).hovered,h=e.data.data,p=h.i,d=h.color,v=o.isHierarchyRoot(e),g=1;if(f)u=r._hovered.marker.line.color,c=r._hovered.marker.line.width;else if(v&&d===r.root.color)g=100,u=\"rgba(0,0,0,0)\",c=0;else if(u=a.castOption(r,p,\"marker.line.color\")||i.defaultLine,c=a.castOption(r,p,\"marker.line.width\")||0,!r._hasColorscale&&!e.onPathbar){var y=r.marker.depthfade;if(y){var m,x=i.combine(i.addOpacity(r._backgroundColor,.75),d);if(!0===y){var b=o.getMaxDepth(r);m=isFinite(b)?o.isLeaf(e)?0:r._maxVisibleLayers-(e.data.depth-r._entryDepth):e.data.height+1}else m=e.data.depth-r._entryDepth,r._atRootLevel||m++;if(m>0)for(var _=0;_0){var b,_,w,T,k,A=t.xa,M=t.ya;\"h\"===d.orientation?(k=e,b=\"y\",w=M,_=\"x\",T=A):(k=r,b=\"x\",w=A,_=\"y\",T=M);var S=p[t.index];if(k>=S.span[0]&&k<=S.span[1]){var E=i.extendFlat({},t),L=T.c2p(k,!0),C=s.getKdeValue(S,d,k),P=s.getPositionOnKdePath(S,d,L),O=w._offset,I=w._length;E[b+\"0\"]=P[0],E[b+\"1\"]=P[1],E[_+\"0\"]=E[_+\"1\"]=L,E[_+\"Label\"]=_+\": \"+a.hoverLabelText(T,k,d[_+\"hoverformat\"])+\", \"+p[0].t.labels.kde+\" \"+C.toFixed(3);for(var z=0,D=0;D\")),c.color=function(t,e){var r=t[e.dir].marker,n=r.color,a=r.line.color,o=r.line.width;return i(n)?n:i(a)&&o?a:void 0}(h,g),[c]}function k(t){return n(v,t,h[d+\"hoverformat\"])}}},95952:function(t,e,r){\"use strict\";t.exports={attributes:r(65776),layoutAttributes:r(91352),supplyDefaults:r(24224).supplyDefaults,crossTraceDefaults:r(24224).crossTraceDefaults,supplyLayoutDefaults:r(59464),calc:r(73540),crossTraceCalc:r(50152),plot:r(64488),style:r(12252).style,hoverPoints:r(94196),eventData:r(53256),selectPoints:r(45784),moduleType:\"trace\",name:\"waterfall\",basePlotModule:r(57952),categories:[\"bar-like\",\"cartesian\",\"svg\",\"oriented\",\"showLegend\",\"zoomScale\"],meta:{}}},91352:function(t){\"use strict\";t.exports={waterfallmode:{valType:\"enumerated\",values:[\"group\",\"overlay\"],dflt:\"group\",editType:\"calc\"},waterfallgap:{valType:\"number\",min:0,max:1,editType:\"calc\"},waterfallgroupgap:{valType:\"number\",min:0,max:1,dflt:0,editType:\"calc\"}}},59464:function(t,e,r){\"use strict\";var n=r(3400),i=r(91352);t.exports=function(t,e,r){var a=!1;function o(r,a){return n.coerce(t,e,i,r,a)}for(var s=0;s0&&(g+=h?\"M\"+f[0]+\",\"+d[1]+\"V\"+d[0]:\"M\"+f[1]+\",\"+d[0]+\"H\"+f[0]),\"between\"!==p&&(r.isSum||s path\").each((function(t){if(!t.isBlank){var e=s[t.dir].marker;n.select(this).call(a.fill,e.color).call(a.stroke,e.line.color).call(i.dashLine,e.line.dash,e.line.width).style(\"opacity\",s.selectedpoints&&!t.selected?o:1)}})),u(r,s,t),r.selectAll(\".lines\").each((function(){var t=s.connector.line;i.lineGroupStyle(n.select(this).selectAll(\"path\"),t.width,t.color,t.dash)}))}))}}},84224:function(t,e,r){\"use strict\";var n=r(54460),i=r(3400),a=r(73060),o=r(60468).W,s=r(39032).BADNUM;e.moduleType=\"transform\",e.name=\"aggregate\";var l=e.attributes={enabled:{valType:\"boolean\",dflt:!0,editType:\"calc\"},groups:{valType:\"string\",strict:!0,noBlank:!0,arrayOk:!0,dflt:\"x\",editType:\"calc\"},aggregations:{_isLinkedToArray:\"aggregation\",target:{valType:\"string\",editType:\"calc\"},func:{valType:\"enumerated\",values:[\"count\",\"sum\",\"avg\",\"median\",\"mode\",\"rms\",\"stddev\",\"min\",\"max\",\"first\",\"last\",\"change\",\"range\"],dflt:\"first\",editType:\"calc\"},funcmode:{valType:\"enumerated\",values:[\"sample\",\"population\"],dflt:\"sample\",editType:\"calc\"},enabled:{valType:\"boolean\",dflt:!0,editType:\"calc\"},editType:\"calc\"},editType:\"calc\"},u=l.aggregations;function c(t,e,r,a){if(a.enabled){for(var o=a.target,l=i.nestedProperty(e,o),u=l.get(),c=function(t,e){var r=t.func,n=e.d2c,a=e.c2d;switch(r){case\"count\":return f;case\"first\":return h;case\"last\":return p;case\"sum\":return function(t,e){for(var r=0,i=0;ii&&(i=c,o=u)}}return i?a(o):s};case\"rms\":return function(t,e){for(var r=0,i=0,o=0;o\":return function(t){return p(t)>f};case\">=\":return function(t){return p(t)>=f};case\"[]\":return function(t){var e=p(t);return e>=f[0]&&e<=f[1]};case\"()\":return function(t){var e=p(t);return e>f[0]&&e=f[0]&&ef[0]&&e<=f[1]};case\"][\":return function(t){var e=p(t);return e<=f[0]||e>=f[1]};case\")(\":return function(t){var e=p(t);return ef[1]};case\"](\":return function(t){var e=p(t);return e<=f[0]||e>f[1]};case\")[\":return function(t){var e=p(t);return e=f[1]};case\"{}\":return function(t){return-1!==f.indexOf(p(t))};case\"}{\":return function(t){return-1===f.indexOf(p(t))}}}(r,a.getDataToCoordFunc(t,e,s,i),h),x={},b={},_=0;d?(g=function(t){x[t.astr]=n.extendDeep([],t.get()),t.set(new Array(f))},y=function(t,e){var r=x[t.astr][e];t.get()[e]=r}):(g=function(t){x[t.astr]=n.extendDeep([],t.get()),t.set([])},y=function(t,e){var r=x[t.astr][e];t.get().push(r)}),k(g);for(var w=o(e.transforms,r),T=0;T1?\"%{group} (%{trace})\":\"%{group}\");var l=t.styles,u=o.styles=[];if(l)for(a=0;ah)throw new RangeError('The value \"'+t+'\" is invalid for option \"size\"');var e=new Uint8Array(t);return Object.setPrototypeOf(e,d.prototype),e}function d(t,e,r){if(\"number\"==typeof t){if(\"string\"==typeof e)throw new TypeError('The \"string\" argument must be of type string. Received type number');return y(t)}return v(t,e,r)}function v(t,e,r){if(\"string\"==typeof t)return function(t,e){if(\"string\"==typeof e&&\"\"!==e||(e=\"utf8\"),!d.isEncoding(e))throw new TypeError(\"Unknown encoding: \"+e);var r=0|_(t,e),n=p(r),i=n.write(t,e);return i!==r&&(n=n.slice(0,i)),n}(t,e);if(ArrayBuffer.isView(t))return function(t){if(et(t,Uint8Array)){var e=new Uint8Array(t);return x(e.buffer,e.byteOffset,e.byteLength)}return m(t)}(t);if(null==t)throw new TypeError(\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type \"+l(t));if(et(t,ArrayBuffer)||t&&et(t.buffer,ArrayBuffer))return x(t,e,r);if(\"undefined\"!=typeof SharedArrayBuffer&&(et(t,SharedArrayBuffer)||t&&et(t.buffer,SharedArrayBuffer)))return x(t,e,r);if(\"number\"==typeof t)throw new TypeError('The \"value\" argument must not be of type number. Received type number');var n=t.valueOf&&t.valueOf();if(null!=n&&n!==t)return d.from(n,e,r);var i=function(t){if(d.isBuffer(t)){var e=0|b(t.length),r=p(e);return 0===r.length||t.copy(r,0,0,e),r}return void 0!==t.length?\"number\"!=typeof t.length||rt(t.length)?p(0):m(t):\"Buffer\"===t.type&&Array.isArray(t.data)?m(t.data):void 0}(t);if(i)return i;if(\"undefined\"!=typeof Symbol&&null!=Symbol.toPrimitive&&\"function\"==typeof t[Symbol.toPrimitive])return d.from(t[Symbol.toPrimitive](\"string\"),e,r);throw new TypeError(\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type \"+l(t))}function g(t){if(\"number\"!=typeof t)throw new TypeError('\"size\" argument must be of type number');if(t<0)throw new RangeError('The value \"'+t+'\" is invalid for option \"size\"')}function y(t){return g(t),p(t<0?0:0|b(t))}function m(t){for(var e=t.length<0?0:0|b(t.length),r=p(e),n=0;n=h)throw new RangeError(\"Attempt to allocate Buffer larger than maximum size: 0x\"+h.toString(16)+\" bytes\");return 0|t}function _(t,e){if(d.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||et(t,ArrayBuffer))return t.byteLength;if(\"string\"!=typeof t)throw new TypeError('The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+l(t));var r=t.length,n=arguments.length>2&&!0===arguments[2];if(!n&&0===r)return 0;for(var i=!1;;)switch(e){case\"ascii\":case\"latin1\":case\"binary\":return r;case\"utf8\":case\"utf-8\":return $(t).length;case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return 2*r;case\"hex\":return r>>>1;case\"base64\":return Q(t).length;default:if(i)return n?-1:$(t).length;e=(\"\"+e).toLowerCase(),i=!0}}function w(t,e,r){var n=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return\"\";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return\"\";if((r>>>=0)<=(e>>>=0))return\"\";for(t||(t=\"utf8\");;)switch(t){case\"hex\":return R(this,e,r);case\"utf8\":case\"utf-8\":return O(this,e,r);case\"ascii\":return z(this,e,r);case\"latin1\":case\"binary\":return D(this,e,r);case\"base64\":return P(this,e,r);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return F(this,e,r);default:if(n)throw new TypeError(\"Unknown encoding: \"+t);t=(t+\"\").toLowerCase(),n=!0}}function T(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function k(t,e,r,n,i){if(0===t.length)return-1;if(\"string\"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),rt(r=+r)&&(r=i?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(i)return-1;r=t.length-1}else if(r<0){if(!i)return-1;r=0}if(\"string\"==typeof e&&(e=d.from(e,n)),d.isBuffer(e))return 0===e.length?-1:A(t,e,r,n,i);if(\"number\"==typeof e)return e&=255,\"function\"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):A(t,[e],r,n,i);throw new TypeError(\"val must be string, number or Buffer\")}function A(t,e,r,n,i){var a,o=1,s=t.length,l=e.length;if(void 0!==n&&(\"ucs2\"===(n=String(n).toLowerCase())||\"ucs-2\"===n||\"utf16le\"===n||\"utf-16le\"===n)){if(t.length<2||e.length<2)return-1;o=2,s/=2,l/=2,r/=2}function u(t,e){return 1===o?t[e]:t.readUInt16BE(e*o)}if(i){var c=-1;for(a=r;as&&(r=s-l),a=r;a>=0;a--){for(var f=!0,h=0;hi&&(n=i):n=i;var a,o=e.length;for(n>o/2&&(n=o/2),a=0;a>8,i=r%256,a.push(i),a.push(n);return a}(e,t.length-r),t,r,n)}function P(t,e,r){return 0===e&&r===t.length?u.fromByteArray(t):u.fromByteArray(t.slice(e,r))}function O(t,e,r){r=Math.min(t.length,r);for(var n=[],i=e;i239?4:a>223?3:a>191?2:1;if(i+s<=r){var l=void 0,u=void 0,c=void 0,f=void 0;switch(s){case 1:a<128&&(o=a);break;case 2:128==(192&(l=t[i+1]))&&(f=(31&a)<<6|63&l)>127&&(o=f);break;case 3:l=t[i+1],u=t[i+2],128==(192&l)&&128==(192&u)&&(f=(15&a)<<12|(63&l)<<6|63&u)>2047&&(f<55296||f>57343)&&(o=f);break;case 4:l=t[i+1],u=t[i+2],c=t[i+3],128==(192&l)&&128==(192&u)&&128==(192&c)&&(f=(15&a)<<18|(63&l)<<12|(63&u)<<6|63&c)>65535&&f<1114112&&(o=f)}}null===o?(o=65533,s=1):o>65535&&(o-=65536,n.push(o>>>10&1023|55296),o=56320|1023&o),n.push(o),i+=s}return function(t){var e=t.length;if(e<=I)return String.fromCharCode.apply(String,t);for(var r=\"\",n=0;nn.length?(d.isBuffer(a)||(a=d.from(a)),a.copy(n,i)):Uint8Array.prototype.set.call(n,a,i);else{if(!d.isBuffer(a))throw new TypeError('\"list\" argument must be an Array of Buffers');a.copy(n,i)}i+=a.length}return n},d.byteLength=_,d.prototype._isBuffer=!0,d.prototype.swap16=function(){var t=this.length;if(t%2!=0)throw new RangeError(\"Buffer size must be a multiple of 16-bits\");for(var e=0;er&&(t+=\" ... \"),\"\"},f&&(d.prototype[f]=d.prototype.inspect),d.prototype.compare=function(t,e,r,n,i){if(et(t,Uint8Array)&&(t=d.from(t,t.offset,t.byteLength)),!d.isBuffer(t))throw new TypeError('The \"target\" argument must be one of type Buffer or Uint8Array. Received type '+l(t));if(void 0===e&&(e=0),void 0===r&&(r=t?t.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),e<0||r>t.length||n<0||i>this.length)throw new RangeError(\"out of range index\");if(n>=i&&e>=r)return 0;if(n>=i)return-1;if(e>=r)return 1;if(this===t)return 0;for(var a=(i>>>=0)-(n>>>=0),o=(r>>>=0)-(e>>>=0),s=Math.min(a,o),u=this.slice(n,i),c=t.slice(e,r),f=0;f>>=0,isFinite(r)?(r>>>=0,void 0===n&&(n=\"utf8\")):(n=r,r=void 0)}var i=this.length-e;if((void 0===r||r>i)&&(r=i),t.length>0&&(r<0||e<0)||e>this.length)throw new RangeError(\"Attempt to write outside buffer bounds\");n||(n=\"utf8\");for(var a=!1;;)switch(n){case\"hex\":return M(this,t,e,r);case\"utf8\":case\"utf-8\":return S(this,t,e,r);case\"ascii\":case\"latin1\":case\"binary\":return E(this,t,e,r);case\"base64\":return L(this,t,e,r);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return C(this,t,e,r);default:if(a)throw new TypeError(\"Unknown encoding: \"+n);n=(\"\"+n).toLowerCase(),a=!0}},d.prototype.toJSON=function(){return{type:\"Buffer\",data:Array.prototype.slice.call(this._arr||this,0)}};var I=4096;function z(t,e,r){var n=\"\";r=Math.min(t.length,r);for(var i=e;in)&&(r=n);for(var i=\"\",a=e;ar)throw new RangeError(\"Trying to access beyond buffer length\")}function N(t,e,r,n,i,a){if(!d.isBuffer(t))throw new TypeError('\"buffer\" argument must be a Buffer instance');if(e>i||et.length)throw new RangeError(\"Index out of range\")}function j(t,e,r,n,i){X(e,n,i,t,r,7);var a=Number(e&BigInt(4294967295));t[r++]=a,a>>=8,t[r++]=a,a>>=8,t[r++]=a,a>>=8,t[r++]=a;var o=Number(e>>BigInt(32)&BigInt(4294967295));return t[r++]=o,o>>=8,t[r++]=o,o>>=8,t[r++]=o,o>>=8,t[r++]=o,r}function U(t,e,r,n,i){X(e,n,i,t,r,7);var a=Number(e&BigInt(4294967295));t[r+7]=a,a>>=8,t[r+6]=a,a>>=8,t[r+5]=a,a>>=8,t[r+4]=a;var o=Number(e>>BigInt(32)&BigInt(4294967295));return t[r+3]=o,o>>=8,t[r+2]=o,o>>=8,t[r+1]=o,o>>=8,t[r]=o,r+8}function V(t,e,r,n,i,a){if(r+n>t.length)throw new RangeError(\"Index out of range\");if(r<0)throw new RangeError(\"Index out of range\")}function q(t,e,r,n,i){return e=+e,r>>>=0,i||V(t,0,r,4),c.write(t,e,r,n,23,4),r+4}function H(t,e,r,n,i){return e=+e,r>>>=0,i||V(t,0,r,8),c.write(t,e,r,n,52,8),r+8}d.prototype.slice=function(t,e){var r=this.length;(t=~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),(e=void 0===e?r:~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),e>>=0,e>>>=0,r||B(t,e,this.length);for(var n=this[t],i=1,a=0;++a>>=0,e>>>=0,r||B(t,e,this.length);for(var n=this[t+--e],i=1;e>0&&(i*=256);)n+=this[t+--e]*i;return n},d.prototype.readUint8=d.prototype.readUInt8=function(t,e){return t>>>=0,e||B(t,1,this.length),this[t]},d.prototype.readUint16LE=d.prototype.readUInt16LE=function(t,e){return t>>>=0,e||B(t,2,this.length),this[t]|this[t+1]<<8},d.prototype.readUint16BE=d.prototype.readUInt16BE=function(t,e){return t>>>=0,e||B(t,2,this.length),this[t]<<8|this[t+1]},d.prototype.readUint32LE=d.prototype.readUInt32LE=function(t,e){return t>>>=0,e||B(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},d.prototype.readUint32BE=d.prototype.readUInt32BE=function(t,e){return t>>>=0,e||B(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},d.prototype.readBigUInt64LE=it((function(t){Z(t>>>=0,\"offset\");var e=this[t],r=this[t+7];void 0!==e&&void 0!==r||K(t,this.length-8);var n=e+this[++t]*Math.pow(2,8)+this[++t]*Math.pow(2,16)+this[++t]*Math.pow(2,24),i=this[++t]+this[++t]*Math.pow(2,8)+this[++t]*Math.pow(2,16)+r*Math.pow(2,24);return BigInt(n)+(BigInt(i)<>>=0,\"offset\");var e=this[t],r=this[t+7];void 0!==e&&void 0!==r||K(t,this.length-8);var n=e*Math.pow(2,24)+this[++t]*Math.pow(2,16)+this[++t]*Math.pow(2,8)+this[++t],i=this[++t]*Math.pow(2,24)+this[++t]*Math.pow(2,16)+this[++t]*Math.pow(2,8)+r;return(BigInt(n)<>>=0,e>>>=0,r||B(t,e,this.length);for(var n=this[t],i=1,a=0;++a=(i*=128)&&(n-=Math.pow(2,8*e)),n},d.prototype.readIntBE=function(t,e,r){t>>>=0,e>>>=0,r||B(t,e,this.length);for(var n=e,i=1,a=this[t+--n];n>0&&(i*=256);)a+=this[t+--n]*i;return a>=(i*=128)&&(a-=Math.pow(2,8*e)),a},d.prototype.readInt8=function(t,e){return t>>>=0,e||B(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},d.prototype.readInt16LE=function(t,e){t>>>=0,e||B(t,2,this.length);var r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},d.prototype.readInt16BE=function(t,e){t>>>=0,e||B(t,2,this.length);var r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},d.prototype.readInt32LE=function(t,e){return t>>>=0,e||B(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},d.prototype.readInt32BE=function(t,e){return t>>>=0,e||B(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},d.prototype.readBigInt64LE=it((function(t){Z(t>>>=0,\"offset\");var e=this[t],r=this[t+7];void 0!==e&&void 0!==r||K(t,this.length-8);var n=this[t+4]+this[t+5]*Math.pow(2,8)+this[t+6]*Math.pow(2,16)+(r<<24);return(BigInt(n)<>>=0,\"offset\");var e=this[t],r=this[t+7];void 0!==e&&void 0!==r||K(t,this.length-8);var n=(e<<24)+this[++t]*Math.pow(2,16)+this[++t]*Math.pow(2,8)+this[++t];return(BigInt(n)<>>=0,e||B(t,4,this.length),c.read(this,t,!0,23,4)},d.prototype.readFloatBE=function(t,e){return t>>>=0,e||B(t,4,this.length),c.read(this,t,!1,23,4)},d.prototype.readDoubleLE=function(t,e){return t>>>=0,e||B(t,8,this.length),c.read(this,t,!0,52,8)},d.prototype.readDoubleBE=function(t,e){return t>>>=0,e||B(t,8,this.length),c.read(this,t,!1,52,8)},d.prototype.writeUintLE=d.prototype.writeUIntLE=function(t,e,r,n){t=+t,e>>>=0,r>>>=0,n||N(this,t,e,r,Math.pow(2,8*r)-1,0);var i=1,a=0;for(this[e]=255&t;++a>>=0,r>>>=0,n||N(this,t,e,r,Math.pow(2,8*r)-1,0);var i=r-1,a=1;for(this[e+i]=255&t;--i>=0&&(a*=256);)this[e+i]=t/a&255;return e+r},d.prototype.writeUint8=d.prototype.writeUInt8=function(t,e,r){return t=+t,e>>>=0,r||N(this,t,e,1,255,0),this[e]=255&t,e+1},d.prototype.writeUint16LE=d.prototype.writeUInt16LE=function(t,e,r){return t=+t,e>>>=0,r||N(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},d.prototype.writeUint16BE=d.prototype.writeUInt16BE=function(t,e,r){return t=+t,e>>>=0,r||N(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},d.prototype.writeUint32LE=d.prototype.writeUInt32LE=function(t,e,r){return t=+t,e>>>=0,r||N(this,t,e,4,4294967295,0),this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t,e+4},d.prototype.writeUint32BE=d.prototype.writeUInt32BE=function(t,e,r){return t=+t,e>>>=0,r||N(this,t,e,4,4294967295,0),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},d.prototype.writeBigUInt64LE=it((function(t){return j(this,t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,BigInt(0),BigInt(\"0xffffffffffffffff\"))})),d.prototype.writeBigUInt64BE=it((function(t){return U(this,t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,BigInt(0),BigInt(\"0xffffffffffffffff\"))})),d.prototype.writeIntLE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);N(this,t,e,r,i-1,-i)}var a=0,o=1,s=0;for(this[e]=255&t;++a>0)-s&255;return e+r},d.prototype.writeIntBE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);N(this,t,e,r,i-1,-i)}var a=r-1,o=1,s=0;for(this[e+a]=255&t;--a>=0&&(o*=256);)t<0&&0===s&&0!==this[e+a+1]&&(s=1),this[e+a]=(t/o>>0)-s&255;return e+r},d.prototype.writeInt8=function(t,e,r){return t=+t,e>>>=0,r||N(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},d.prototype.writeInt16LE=function(t,e,r){return t=+t,e>>>=0,r||N(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},d.prototype.writeInt16BE=function(t,e,r){return t=+t,e>>>=0,r||N(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},d.prototype.writeInt32LE=function(t,e,r){return t=+t,e>>>=0,r||N(this,t,e,4,2147483647,-2147483648),this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24,e+4},d.prototype.writeInt32BE=function(t,e,r){return t=+t,e>>>=0,r||N(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},d.prototype.writeBigInt64LE=it((function(t){return j(this,t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,-BigInt(\"0x8000000000000000\"),BigInt(\"0x7fffffffffffffff\"))})),d.prototype.writeBigInt64BE=it((function(t){return U(this,t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,-BigInt(\"0x8000000000000000\"),BigInt(\"0x7fffffffffffffff\"))})),d.prototype.writeFloatLE=function(t,e,r){return q(this,t,e,!0,r)},d.prototype.writeFloatBE=function(t,e,r){return q(this,t,e,!1,r)},d.prototype.writeDoubleLE=function(t,e,r){return H(this,t,e,!0,r)},d.prototype.writeDoubleBE=function(t,e,r){return H(this,t,e,!1,r)},d.prototype.copy=function(t,e,r,n){if(!d.isBuffer(t))throw new TypeError(\"argument should be a Buffer\");if(r||(r=0),n||0===n||(n=this.length),e>=t.length&&(e=t.length),e||(e=0),n>0&&n=this.length)throw new RangeError(\"Index out of range\");if(n<0)throw new RangeError(\"sourceEnd out of bounds\");n>this.length&&(n=this.length),t.length-e>>=0,r=void 0===r?this.length:r>>>0,t||(t=0),\"number\"==typeof t)for(a=e;a=n+4;r-=3)e=\"_\".concat(t.slice(r-3,r)).concat(e);return\"\".concat(t.slice(0,r)).concat(e)}function X(t,e,r,n,i,a){if(t>r||t3?0===e||e===BigInt(0)?\">= 0\".concat(s,\" and < 2\").concat(s,\" ** \").concat(8*(a+1)).concat(s):\">= -(2\".concat(s,\" ** \").concat(8*(a+1)-1).concat(s,\") and < 2 ** \")+\"\".concat(8*(a+1)-1).concat(s):\">= \".concat(e).concat(s,\" and <= \").concat(r).concat(s),new G.ERR_OUT_OF_RANGE(\"value\",o,t)}!function(t,e,r){Z(e,\"offset\"),void 0!==t[e]&&void 0!==t[e+r]||K(e,t.length-(r+1))}(n,i,a)}function Z(t,e){if(\"number\"!=typeof t)throw new G.ERR_INVALID_ARG_TYPE(e,\"number\",t)}function K(t,e,r){if(Math.floor(t)!==t)throw Z(t,r),new G.ERR_OUT_OF_RANGE(r||\"offset\",\"an integer\",t);if(e<0)throw new G.ERR_BUFFER_OUT_OF_BOUNDS;throw new G.ERR_OUT_OF_RANGE(r||\"offset\",\">= \".concat(r?1:0,\" and <= \").concat(e),t)}W(\"ERR_BUFFER_OUT_OF_BOUNDS\",(function(t){return t?\"\".concat(t,\" is outside of buffer bounds\"):\"Attempt to access memory outside buffer bounds\"}),RangeError),W(\"ERR_INVALID_ARG_TYPE\",(function(t,e){return'The \"'.concat(t,'\" argument must be of type number. Received type ').concat(l(e))}),TypeError),W(\"ERR_OUT_OF_RANGE\",(function(t,e,r){var n='The value of \"'.concat(t,'\" is out of range.'),i=r;return Number.isInteger(r)&&Math.abs(r)>Math.pow(2,32)?i=Y(String(r)):\"bigint\"==typeof r&&(i=String(r),(r>Math.pow(BigInt(2),BigInt(32))||r<-Math.pow(BigInt(2),BigInt(32)))&&(i=Y(i)),i+=\"n\"),n+\" It must be \".concat(e,\". Received \").concat(i)}),RangeError);var J=/[^+/0-9A-Za-z-_]/g;function $(t,e){var r;e=e||1/0;for(var n=t.length,i=null,a=[],o=0;o55295&&r<57344){if(!i){if(r>56319){(e-=3)>-1&&a.push(239,191,189);continue}if(o+1===n){(e-=3)>-1&&a.push(239,191,189);continue}i=r;continue}if(r<56320){(e-=3)>-1&&a.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(e-=3)>-1&&a.push(239,191,189);if(i=null,r<128){if((e-=1)<0)break;a.push(r)}else if(r<2048){if((e-=2)<0)break;a.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;a.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error(\"Invalid code point\");if((e-=4)<0)break;a.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return a}function Q(t){return u.toByteArray(function(t){if((t=(t=t.split(\"=\")[0]).trim().replace(J,\"\")).length<2)return\"\";for(;t.length%4!=0;)t+=\"=\";return t}(t))}function tt(t,e,r,n){var i;for(i=0;i=e.length||i>=t.length);++i)e[i+r]=t[i];return i}function et(t,e){return t instanceof e||null!=t&&null!=t.constructor&&null!=t.constructor.name&&t.constructor.name===e.name}function rt(t){return t!=t}var nt=function(){for(var t=\"0123456789abcdef\",e=new Array(256),r=0;r<16;++r)for(var n=16*r,i=0;i<16;++i)e[n+i]=t[r]+t[i];return e}();function it(t){return\"undefined\"==typeof BigInt?at:t}function at(){throw new Error(\"BigInt not supported\")}},9216:function(t){\"use strict\";t.exports=i,t.exports.isMobile=i,t.exports.default=i;var e=/(android|bb\\d+|meego).+mobile|armv7l|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series[46]0|samsungbrowser.*mobile|symbian|treo|up\\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i,r=/CrOS/,n=/android|ipad|playbook|silk/i;function i(t){t||(t={});var i=t.ua;if(i||\"undefined\"==typeof navigator||(i=navigator.userAgent),i&&i.headers&&\"string\"==typeof i.headers[\"user-agent\"]&&(i=i.headers[\"user-agent\"]),\"string\"!=typeof i)return!1;var a=e.test(i)&&!r.test(i)||!!t.tablet&&n.test(i);return!a&&t.tablet&&t.featureDetect&&navigator&&navigator.maxTouchPoints>1&&-1!==i.indexOf(\"Macintosh\")&&-1!==i.indexOf(\"Safari\")&&(a=!0),a}},6296:function(t,e,r){\"use strict\";t.exports=function(t){var e=(t=t||{}).eye||[0,0,1],r=t.center||[0,0,0],s=t.up||[0,1,0],l=t.distanceLimits||[0,1/0],u=t.mode||\"turntable\",c=n(),f=i(),h=a();return c.setDistanceLimits(l[0],l[1]),c.lookAt(0,e,r,s),f.setDistanceLimits(l[0],l[1]),f.lookAt(0,e,r,s),h.setDistanceLimits(l[0],l[1]),h.lookAt(0,e,r,s),new o({turntable:c,orbit:f,matrix:h},u)};var n=r(7261),i=r(9977),a=r(4192);function o(t,e){this._controllerNames=Object.keys(t),this._controllerList=this._controllerNames.map((function(e){return t[e]})),this._mode=e,this._active=t[e],this._active||(this._mode=\"turntable\",this._active=t.turntable),this.modes=this._controllerNames,this.computedMatrix=this._active.computedMatrix,this.computedEye=this._active.computedEye,this.computedUp=this._active.computedUp,this.computedCenter=this._active.computedCenter,this.computedRadius=this._active.computedRadius}var s=o.prototype;s.flush=function(t){for(var e=this._controllerList,r=0;r0?o-4:o;for(r=0;r>16&255,u[c++]=e>>8&255,u[c++]=255&e;return 2===l&&(e=n[t.charCodeAt(r)]<<2|n[t.charCodeAt(r+1)]>>4,u[c++]=255&e),1===l&&(e=n[t.charCodeAt(r)]<<10|n[t.charCodeAt(r+1)]<<4|n[t.charCodeAt(r+2)]>>2,u[c++]=e>>8&255,u[c++]=255&e),u},e.fromByteArray=function(t){for(var e,n=t.length,i=n%3,a=[],o=16383,s=0,u=n-i;su?u:s+o));return 1===i?(e=t[n-1],a.push(r[e>>2]+r[e<<4&63]+\"==\")):2===i&&(e=(t[n-2]<<8)+t[n-1],a.push(r[e>>10]+r[e>>4&63]+r[e<<2&63]+\"=\")),a.join(\"\")};for(var r=[],n=[],i=\"undefined\"!=typeof Uint8Array?Uint8Array:Array,a=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",o=0;o<64;++o)r[o]=a[o],n[a.charCodeAt(o)]=o;function s(t){var e=t.length;if(e%4>0)throw new Error(\"Invalid string. Length must be a multiple of 4\");var r=t.indexOf(\"=\");return-1===r&&(r=e),[r,r===e?0:4-r%4]}function l(t,e,n){for(var i,a,o=[],s=e;s>18&63]+r[a>>12&63]+r[a>>6&63]+r[63&a]);return o.join(\"\")}n[\"-\".charCodeAt(0)]=62,n[\"_\".charCodeAt(0)]=63},3865:function(t,e,r){\"use strict\";var n=r(869);t.exports=function(t,e){return n(t[0].mul(e[1]).add(e[0].mul(t[1])),t[1].mul(e[1]))}},1318:function(t){\"use strict\";t.exports=function(t,e){return t[0].mul(e[1]).cmp(e[0].mul(t[1]))}},8697:function(t,e,r){\"use strict\";var n=r(869);t.exports=function(t,e){return n(t[0].mul(e[1]),t[1].mul(e[0]))}},7842:function(t,e,r){\"use strict\";var n=r(6330),i=r(1533),a=r(2651),o=r(4387),s=r(869),l=r(8697);t.exports=function t(e,r){if(n(e))return r?l(e,t(r)):[e[0].clone(),e[1].clone()];var u,c,f=0;if(i(e))u=e.clone();else if(\"string\"==typeof e)u=o(e);else{if(0===e)return[a(0),a(1)];if(e===Math.floor(e))u=a(e);else{for(;e!==Math.floor(e);)e*=Math.pow(2,256),f-=256;u=a(e)}}if(n(r))u.mul(r[1]),c=r[0].clone();else if(i(r))c=r.clone();else if(\"string\"==typeof r)c=o(r);else if(r)if(r===Math.floor(r))c=a(r);else{for(;r!==Math.floor(r);)r*=Math.pow(2,256),f+=256;c=a(r)}else c=a(1);return f>0?u=u.ushln(f):f<0&&(c=c.ushln(-f)),s(u,c)}},6330:function(t,e,r){\"use strict\";var n=r(1533);t.exports=function(t){return Array.isArray(t)&&2===t.length&&n(t[0])&&n(t[1])}},5716:function(t,e,r){\"use strict\";var n=r(6859);t.exports=function(t){return t.cmp(new n(0))}},1369:function(t,e,r){\"use strict\";var n=r(5716);t.exports=function(t){var e=t.length,r=t.words,i=0;if(1===e)i=r[0];else if(2===e)i=r[0]+67108864*r[1];else for(var a=0;a20?52:r+32}},1533:function(t,e,r){\"use strict\";r(6859),t.exports=function(t){return t&&\"object\"==typeof t&&Boolean(t.words)}},2651:function(t,e,r){\"use strict\";var n=r(6859),i=r(2361);t.exports=function(t){var e=i.exponent(t);return e<52?new n(t):new n(t*Math.pow(2,52-e)).ushln(e-52)}},869:function(t,e,r){\"use strict\";var n=r(2651),i=r(5716);t.exports=function(t,e){var r=i(t),a=i(e);if(0===r)return[n(0),n(1)];if(0===a)return[n(0),n(0)];a<0&&(t=t.neg(),e=e.neg());var o=t.gcd(e);return o.cmpn(1)?[t.div(o),e.div(o)]:[t,e]}},4387:function(t,e,r){\"use strict\";var n=r(6859);t.exports=function(t){return new n(t)}},6504:function(t,e,r){\"use strict\";var n=r(869);t.exports=function(t,e){return n(t[0].mul(e[0]),t[1].mul(e[1]))}},7721:function(t,e,r){\"use strict\";var n=r(5716);t.exports=function(t){return n(t[0])*n(t[1])}},5572:function(t,e,r){\"use strict\";var n=r(869);t.exports=function(t,e){return n(t[0].mul(e[1]).sub(t[1].mul(e[0])),t[1].mul(e[1]))}},946:function(t,e,r){\"use strict\";var n=r(1369),i=r(4025);t.exports=function(t){var e=t[0],r=t[1];if(0===e.cmpn(0))return 0;var a=e.abs().divmod(r.abs()),o=a.div,s=n(o),l=a.mod,u=e.negative!==r.negative?-1:1;if(0===l.cmpn(0))return u*s;if(s){var c=i(s)+4;return u*(s+(h=n(l.ushln(c).divRound(r)))*Math.pow(2,-c))}var f=r.bitLength()-l.bitLength()+53,h=n(l.ushln(f).divRound(r));return f<1023?u*h*Math.pow(2,-f):u*(h*=Math.pow(2,-1023))*Math.pow(2,1023-f)}},2478:function(t){\"use strict\";function e(t,e,r,n,i){for(var a=i+1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)>=0?(a=o,i=o-1):n=o+1}return a}function r(t,e,r,n,i){for(var a=i+1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)>0?(a=o,i=o-1):n=o+1}return a}function n(t,e,r,n,i){for(var a=n-1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)<0?(a=o,n=o+1):i=o-1}return a}function i(t,e,r,n,i){for(var a=n-1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)<=0?(a=o,n=o+1):i=o-1}return a}function a(t,e,r,n,i){for(;n<=i;){var a=n+i>>>1,o=t[a],s=void 0!==r?r(o,e):o-e;if(0===s)return a;s<=0?n=a+1:i=a-1}return-1}function o(t,e,r,n,i,a){return\"function\"==typeof r?a(t,e,r,void 0===n?0:0|n,void 0===i?t.length-1:0|i):a(t,e,void 0,void 0===r?0:0|r,void 0===n?t.length-1:0|n)}t.exports={ge:function(t,r,n,i,a){return o(t,r,n,i,a,e)},gt:function(t,e,n,i,a){return o(t,e,n,i,a,r)},lt:function(t,e,r,i,a){return o(t,e,r,i,a,n)},le:function(t,e,r,n,a){return o(t,e,r,n,a,i)},eq:function(t,e,r,n,i){return o(t,e,r,n,i,a)}}},8828:function(t,e){\"use strict\";function r(t){var e=32;return(t&=-t)&&e--,65535&t&&(e-=16),16711935&t&&(e-=8),252645135&t&&(e-=4),858993459&t&&(e-=2),1431655765&t&&(e-=1),e}e.INT_BITS=32,e.INT_MAX=2147483647,e.INT_MIN=-1<<31,e.sign=function(t){return(t>0)-(t<0)},e.abs=function(t){var e=t>>31;return(t^e)-e},e.min=function(t,e){return e^(t^e)&-(t65535)<<4,e|=r=((t>>>=e)>255)<<3,e|=r=((t>>>=r)>15)<<2,(e|=r=((t>>>=r)>3)<<1)|(t>>>=r)>>1},e.log10=function(t){return t>=1e9?9:t>=1e8?8:t>=1e7?7:t>=1e6?6:t>=1e5?5:t>=1e4?4:t>=1e3?3:t>=100?2:t>=10?1:0},e.popCount=function(t){return 16843009*((t=(858993459&(t-=t>>>1&1431655765))+(t>>>2&858993459))+(t>>>4)&252645135)>>>24},e.countTrailingZeros=r,e.nextPow2=function(t){return t+=0===t,--t,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,1+(t|=t>>>16)},e.prevPow2=function(t){return t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)-(t>>>1)},e.parity=function(t){return t^=t>>>16,t^=t>>>8,t^=t>>>4,27030>>>(t&=15)&1};var n=new Array(256);!function(t){for(var e=0;e<256;++e){var r=e,n=e,i=7;for(r>>>=1;r;r>>>=1)n<<=1,n|=1&r,--i;t[e]=n<>>8&255]<<16|n[t>>>16&255]<<8|n[t>>>24&255]},e.interleave2=function(t,e){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t&=65535)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e&=65535)|e<<8))|e<<4))|e<<2))|e<<1))<<1},e.deinterleave2=function(t,e){return(t=65535&((t=16711935&((t=252645135&((t=858993459&((t=t>>>e&1431655765)|t>>>1))|t>>>2))|t>>>4))|t>>>16))<<16>>16},e.interleave3=function(t,e,r){return t=1227133513&((t=3272356035&((t=251719695&((t=4278190335&((t&=1023)|t<<16))|t<<8))|t<<4))|t<<2),(t|=(e=1227133513&((e=3272356035&((e=251719695&((e=4278190335&((e&=1023)|e<<16))|e<<8))|e<<4))|e<<2))<<1)|(r=1227133513&((r=3272356035&((r=251719695&((r=4278190335&((r&=1023)|r<<16))|r<<8))|r<<4))|r<<2))<<2},e.deinterleave3=function(t,e){return(t=1023&((t=4278190335&((t=251719695&((t=3272356035&((t=t>>>e&1227133513)|t>>>2))|t>>>4))|t>>>8))|t>>>16))<<22>>22},e.nextCombination=function(t){var e=t|t-1;return e+1|(~e&-~e)-1>>>r(t)+1}},6859:function(t,e,r){!function(t,e){\"use strict\";function n(t,e){if(!t)throw new Error(e||\"Assertion failed\")}function i(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}function a(t,e,r){if(a.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&(\"le\"!==e&&\"be\"!==e||(r=e,e=10),this._init(t||0,e||10,r||\"be\"))}var o;\"object\"==typeof t?t.exports=a:e.BN=a,a.BN=a,a.wordSize=26;try{o=\"undefined\"!=typeof window&&void 0!==window.Buffer?window.Buffer:r(7790).Buffer}catch(t){}function s(t,e){var r=t.charCodeAt(e);return r>=65&&r<=70?r-55:r>=97&&r<=102?r-87:r-48&15}function l(t,e,r){var n=s(t,r);return r-1>=e&&(n|=s(t,r-1)<<4),n}function u(t,e,r,n){for(var i=0,a=Math.min(t.length,r),o=e;o=49?s-49+10:s>=17?s-17+10:s}return i}a.isBN=function(t){return t instanceof a||null!==t&&\"object\"==typeof t&&t.constructor.wordSize===a.wordSize&&Array.isArray(t.words)},a.max=function(t,e){return t.cmp(e)>0?t:e},a.min=function(t,e){return t.cmp(e)<0?t:e},a.prototype._init=function(t,e,r){if(\"number\"==typeof t)return this._initNumber(t,e,r);if(\"object\"==typeof t)return this._initArray(t,e,r);\"hex\"===e&&(e=16),n(e===(0|e)&&e>=2&&e<=36);var i=0;\"-\"===(t=t.toString().replace(/\\s+/g,\"\"))[0]&&(i++,this.negative=1),i=0;i-=3)o=t[i]|t[i-1]<<8|t[i-2]<<16,this.words[a]|=o<>>26-s&67108863,(s+=24)>=26&&(s-=26,a++);else if(\"le\"===r)for(i=0,a=0;i>>26-s&67108863,(s+=24)>=26&&(s-=26,a++);return this.strip()},a.prototype._parseHex=function(t,e,r){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var n=0;n=e;n-=2)i=l(t,e,n)<=18?(a-=18,o+=1,this.words[o]|=i>>>26):a+=8;else for(n=(t.length-e)%2==0?e+1:e;n=18?(a-=18,o+=1,this.words[o]|=i>>>26):a+=8;this.strip()},a.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var n=0,i=1;i<=67108863;i*=e)n++;n--,i=i/e|0;for(var a=t.length-r,o=a%n,s=Math.min(a,a-o)+r,l=0,c=r;c1&&0===this.words[this.length-1];)this.length--;return this._normSign()},a.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},a.prototype.inspect=function(){return(this.red?\"\"};var c=[\"\",\"0\",\"00\",\"000\",\"0000\",\"00000\",\"000000\",\"0000000\",\"00000000\",\"000000000\",\"0000000000\",\"00000000000\",\"000000000000\",\"0000000000000\",\"00000000000000\",\"000000000000000\",\"0000000000000000\",\"00000000000000000\",\"000000000000000000\",\"0000000000000000000\",\"00000000000000000000\",\"000000000000000000000\",\"0000000000000000000000\",\"00000000000000000000000\",\"000000000000000000000000\",\"0000000000000000000000000\"],f=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],h=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function p(t,e,r){r.negative=e.negative^t.negative;var n=t.length+e.length|0;r.length=n,n=n-1|0;var i=0|t.words[0],a=0|e.words[0],o=i*a,s=67108863&o,l=o/67108864|0;r.words[0]=s;for(var u=1;u>>26,f=67108863&l,h=Math.min(u,e.length-1),p=Math.max(0,u-t.length+1);p<=h;p++){var d=u-p|0;c+=(o=(i=0|t.words[d])*(a=0|e.words[p])+f)/67108864|0,f=67108863&o}r.words[u]=0|f,l=0|c}return 0!==l?r.words[u]=0|l:r.length--,r.strip()}a.prototype.toString=function(t,e){var r;if(e=0|e||1,16===(t=t||10)||\"hex\"===t){r=\"\";for(var i=0,a=0,o=0;o>>24-i&16777215)||o!==this.length-1?c[6-l.length]+l+r:l+r,(i+=2)>=26&&(i-=26,o--)}for(0!==a&&(r=a.toString(16)+r);r.length%e!=0;)r=\"0\"+r;return 0!==this.negative&&(r=\"-\"+r),r}if(t===(0|t)&&t>=2&&t<=36){var u=f[t],p=h[t];r=\"\";var d=this.clone();for(d.negative=0;!d.isZero();){var v=d.modn(p).toString(t);r=(d=d.idivn(p)).isZero()?v+r:c[u-v.length]+v+r}for(this.isZero()&&(r=\"0\"+r);r.length%e!=0;)r=\"0\"+r;return 0!==this.negative&&(r=\"-\"+r),r}n(!1,\"Base should be between 2 and 36\")},a.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&n(!1,\"Number can only safely store up to 53 bits\"),0!==this.negative?-t:t},a.prototype.toJSON=function(){return this.toString(16)},a.prototype.toBuffer=function(t,e){return n(void 0!==o),this.toArrayLike(o,t,e)},a.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},a.prototype.toArrayLike=function(t,e,r){var i=this.byteLength(),a=r||Math.max(1,i);n(i<=a,\"byte array longer than desired length\"),n(a>0,\"Requested array length <= 0\"),this.strip();var o,s,l=\"le\"===e,u=new t(a),c=this.clone();if(l){for(s=0;!c.isZero();s++)o=c.andln(255),c.iushrn(8),u[s]=o;for(;s=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},a.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0==(8191&e)&&(r+=13,e>>>=13),0==(127&e)&&(r+=7,e>>>=7),0==(15&e)&&(r+=4,e>>>=4),0==(3&e)&&(r+=2,e>>>=2),0==(1&e)&&r++,r},a.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},a.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},a.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},a.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;rt.length?this.clone().iand(t):t.clone().iand(this)},a.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},a.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var n=0;nt.length?this.clone().ixor(t):t.clone().ixor(this)},a.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},a.prototype.inotn=function(t){n(\"number\"==typeof t&&t>=0);var e=0|Math.ceil(t/26),r=t%26;this._expand(e),r>0&&e--;for(var i=0;i0&&(this.words[i]=~this.words[i]&67108863>>26-r),this.strip()},a.prototype.notn=function(t){return this.clone().inotn(t)},a.prototype.setn=function(t,e){n(\"number\"==typeof t&&t>=0);var r=t/26|0,i=t%26;return this._expand(r+1),this.words[r]=e?this.words[r]|1<t.length?(r=this,n=t):(r=t,n=this);for(var i=0,a=0;a>>26;for(;0!==i&&a>>26;if(this.length=r.length,0!==i)this.words[this.length]=i,this.length++;else if(r!==this)for(;at.length?this.clone().iadd(t):t.clone().iadd(this)},a.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,n,i=this.cmp(t);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(r=this,n=t):(r=t,n=this);for(var a=0,o=0;o>26,this.words[o]=67108863&e;for(;0!==a&&o>26,this.words[o]=67108863&e;if(0===a&&o>>13,p=0|o[1],d=8191&p,v=p>>>13,g=0|o[2],y=8191&g,m=g>>>13,x=0|o[3],b=8191&x,_=x>>>13,w=0|o[4],T=8191&w,k=w>>>13,A=0|o[5],M=8191&A,S=A>>>13,E=0|o[6],L=8191&E,C=E>>>13,P=0|o[7],O=8191&P,I=P>>>13,z=0|o[8],D=8191&z,R=z>>>13,F=0|o[9],B=8191&F,N=F>>>13,j=0|s[0],U=8191&j,V=j>>>13,q=0|s[1],H=8191&q,G=q>>>13,W=0|s[2],Y=8191&W,X=W>>>13,Z=0|s[3],K=8191&Z,J=Z>>>13,$=0|s[4],Q=8191&$,tt=$>>>13,et=0|s[5],rt=8191&et,nt=et>>>13,it=0|s[6],at=8191&it,ot=it>>>13,st=0|s[7],lt=8191&st,ut=st>>>13,ct=0|s[8],ft=8191&ct,ht=ct>>>13,pt=0|s[9],dt=8191&pt,vt=pt>>>13;r.negative=t.negative^e.negative,r.length=19;var gt=(u+(n=Math.imul(f,U))|0)+((8191&(i=(i=Math.imul(f,V))+Math.imul(h,U)|0))<<13)|0;u=((a=Math.imul(h,V))+(i>>>13)|0)+(gt>>>26)|0,gt&=67108863,n=Math.imul(d,U),i=(i=Math.imul(d,V))+Math.imul(v,U)|0,a=Math.imul(v,V);var yt=(u+(n=n+Math.imul(f,H)|0)|0)+((8191&(i=(i=i+Math.imul(f,G)|0)+Math.imul(h,H)|0))<<13)|0;u=((a=a+Math.imul(h,G)|0)+(i>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(y,U),i=(i=Math.imul(y,V))+Math.imul(m,U)|0,a=Math.imul(m,V),n=n+Math.imul(d,H)|0,i=(i=i+Math.imul(d,G)|0)+Math.imul(v,H)|0,a=a+Math.imul(v,G)|0;var mt=(u+(n=n+Math.imul(f,Y)|0)|0)+((8191&(i=(i=i+Math.imul(f,X)|0)+Math.imul(h,Y)|0))<<13)|0;u=((a=a+Math.imul(h,X)|0)+(i>>>13)|0)+(mt>>>26)|0,mt&=67108863,n=Math.imul(b,U),i=(i=Math.imul(b,V))+Math.imul(_,U)|0,a=Math.imul(_,V),n=n+Math.imul(y,H)|0,i=(i=i+Math.imul(y,G)|0)+Math.imul(m,H)|0,a=a+Math.imul(m,G)|0,n=n+Math.imul(d,Y)|0,i=(i=i+Math.imul(d,X)|0)+Math.imul(v,Y)|0,a=a+Math.imul(v,X)|0;var xt=(u+(n=n+Math.imul(f,K)|0)|0)+((8191&(i=(i=i+Math.imul(f,J)|0)+Math.imul(h,K)|0))<<13)|0;u=((a=a+Math.imul(h,J)|0)+(i>>>13)|0)+(xt>>>26)|0,xt&=67108863,n=Math.imul(T,U),i=(i=Math.imul(T,V))+Math.imul(k,U)|0,a=Math.imul(k,V),n=n+Math.imul(b,H)|0,i=(i=i+Math.imul(b,G)|0)+Math.imul(_,H)|0,a=a+Math.imul(_,G)|0,n=n+Math.imul(y,Y)|0,i=(i=i+Math.imul(y,X)|0)+Math.imul(m,Y)|0,a=a+Math.imul(m,X)|0,n=n+Math.imul(d,K)|0,i=(i=i+Math.imul(d,J)|0)+Math.imul(v,K)|0,a=a+Math.imul(v,J)|0;var bt=(u+(n=n+Math.imul(f,Q)|0)|0)+((8191&(i=(i=i+Math.imul(f,tt)|0)+Math.imul(h,Q)|0))<<13)|0;u=((a=a+Math.imul(h,tt)|0)+(i>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(M,U),i=(i=Math.imul(M,V))+Math.imul(S,U)|0,a=Math.imul(S,V),n=n+Math.imul(T,H)|0,i=(i=i+Math.imul(T,G)|0)+Math.imul(k,H)|0,a=a+Math.imul(k,G)|0,n=n+Math.imul(b,Y)|0,i=(i=i+Math.imul(b,X)|0)+Math.imul(_,Y)|0,a=a+Math.imul(_,X)|0,n=n+Math.imul(y,K)|0,i=(i=i+Math.imul(y,J)|0)+Math.imul(m,K)|0,a=a+Math.imul(m,J)|0,n=n+Math.imul(d,Q)|0,i=(i=i+Math.imul(d,tt)|0)+Math.imul(v,Q)|0,a=a+Math.imul(v,tt)|0;var _t=(u+(n=n+Math.imul(f,rt)|0)|0)+((8191&(i=(i=i+Math.imul(f,nt)|0)+Math.imul(h,rt)|0))<<13)|0;u=((a=a+Math.imul(h,nt)|0)+(i>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(L,U),i=(i=Math.imul(L,V))+Math.imul(C,U)|0,a=Math.imul(C,V),n=n+Math.imul(M,H)|0,i=(i=i+Math.imul(M,G)|0)+Math.imul(S,H)|0,a=a+Math.imul(S,G)|0,n=n+Math.imul(T,Y)|0,i=(i=i+Math.imul(T,X)|0)+Math.imul(k,Y)|0,a=a+Math.imul(k,X)|0,n=n+Math.imul(b,K)|0,i=(i=i+Math.imul(b,J)|0)+Math.imul(_,K)|0,a=a+Math.imul(_,J)|0,n=n+Math.imul(y,Q)|0,i=(i=i+Math.imul(y,tt)|0)+Math.imul(m,Q)|0,a=a+Math.imul(m,tt)|0,n=n+Math.imul(d,rt)|0,i=(i=i+Math.imul(d,nt)|0)+Math.imul(v,rt)|0,a=a+Math.imul(v,nt)|0;var wt=(u+(n=n+Math.imul(f,at)|0)|0)+((8191&(i=(i=i+Math.imul(f,ot)|0)+Math.imul(h,at)|0))<<13)|0;u=((a=a+Math.imul(h,ot)|0)+(i>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(O,U),i=(i=Math.imul(O,V))+Math.imul(I,U)|0,a=Math.imul(I,V),n=n+Math.imul(L,H)|0,i=(i=i+Math.imul(L,G)|0)+Math.imul(C,H)|0,a=a+Math.imul(C,G)|0,n=n+Math.imul(M,Y)|0,i=(i=i+Math.imul(M,X)|0)+Math.imul(S,Y)|0,a=a+Math.imul(S,X)|0,n=n+Math.imul(T,K)|0,i=(i=i+Math.imul(T,J)|0)+Math.imul(k,K)|0,a=a+Math.imul(k,J)|0,n=n+Math.imul(b,Q)|0,i=(i=i+Math.imul(b,tt)|0)+Math.imul(_,Q)|0,a=a+Math.imul(_,tt)|0,n=n+Math.imul(y,rt)|0,i=(i=i+Math.imul(y,nt)|0)+Math.imul(m,rt)|0,a=a+Math.imul(m,nt)|0,n=n+Math.imul(d,at)|0,i=(i=i+Math.imul(d,ot)|0)+Math.imul(v,at)|0,a=a+Math.imul(v,ot)|0;var Tt=(u+(n=n+Math.imul(f,lt)|0)|0)+((8191&(i=(i=i+Math.imul(f,ut)|0)+Math.imul(h,lt)|0))<<13)|0;u=((a=a+Math.imul(h,ut)|0)+(i>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(D,U),i=(i=Math.imul(D,V))+Math.imul(R,U)|0,a=Math.imul(R,V),n=n+Math.imul(O,H)|0,i=(i=i+Math.imul(O,G)|0)+Math.imul(I,H)|0,a=a+Math.imul(I,G)|0,n=n+Math.imul(L,Y)|0,i=(i=i+Math.imul(L,X)|0)+Math.imul(C,Y)|0,a=a+Math.imul(C,X)|0,n=n+Math.imul(M,K)|0,i=(i=i+Math.imul(M,J)|0)+Math.imul(S,K)|0,a=a+Math.imul(S,J)|0,n=n+Math.imul(T,Q)|0,i=(i=i+Math.imul(T,tt)|0)+Math.imul(k,Q)|0,a=a+Math.imul(k,tt)|0,n=n+Math.imul(b,rt)|0,i=(i=i+Math.imul(b,nt)|0)+Math.imul(_,rt)|0,a=a+Math.imul(_,nt)|0,n=n+Math.imul(y,at)|0,i=(i=i+Math.imul(y,ot)|0)+Math.imul(m,at)|0,a=a+Math.imul(m,ot)|0,n=n+Math.imul(d,lt)|0,i=(i=i+Math.imul(d,ut)|0)+Math.imul(v,lt)|0,a=a+Math.imul(v,ut)|0;var kt=(u+(n=n+Math.imul(f,ft)|0)|0)+((8191&(i=(i=i+Math.imul(f,ht)|0)+Math.imul(h,ft)|0))<<13)|0;u=((a=a+Math.imul(h,ht)|0)+(i>>>13)|0)+(kt>>>26)|0,kt&=67108863,n=Math.imul(B,U),i=(i=Math.imul(B,V))+Math.imul(N,U)|0,a=Math.imul(N,V),n=n+Math.imul(D,H)|0,i=(i=i+Math.imul(D,G)|0)+Math.imul(R,H)|0,a=a+Math.imul(R,G)|0,n=n+Math.imul(O,Y)|0,i=(i=i+Math.imul(O,X)|0)+Math.imul(I,Y)|0,a=a+Math.imul(I,X)|0,n=n+Math.imul(L,K)|0,i=(i=i+Math.imul(L,J)|0)+Math.imul(C,K)|0,a=a+Math.imul(C,J)|0,n=n+Math.imul(M,Q)|0,i=(i=i+Math.imul(M,tt)|0)+Math.imul(S,Q)|0,a=a+Math.imul(S,tt)|0,n=n+Math.imul(T,rt)|0,i=(i=i+Math.imul(T,nt)|0)+Math.imul(k,rt)|0,a=a+Math.imul(k,nt)|0,n=n+Math.imul(b,at)|0,i=(i=i+Math.imul(b,ot)|0)+Math.imul(_,at)|0,a=a+Math.imul(_,ot)|0,n=n+Math.imul(y,lt)|0,i=(i=i+Math.imul(y,ut)|0)+Math.imul(m,lt)|0,a=a+Math.imul(m,ut)|0,n=n+Math.imul(d,ft)|0,i=(i=i+Math.imul(d,ht)|0)+Math.imul(v,ft)|0,a=a+Math.imul(v,ht)|0;var At=(u+(n=n+Math.imul(f,dt)|0)|0)+((8191&(i=(i=i+Math.imul(f,vt)|0)+Math.imul(h,dt)|0))<<13)|0;u=((a=a+Math.imul(h,vt)|0)+(i>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(B,H),i=(i=Math.imul(B,G))+Math.imul(N,H)|0,a=Math.imul(N,G),n=n+Math.imul(D,Y)|0,i=(i=i+Math.imul(D,X)|0)+Math.imul(R,Y)|0,a=a+Math.imul(R,X)|0,n=n+Math.imul(O,K)|0,i=(i=i+Math.imul(O,J)|0)+Math.imul(I,K)|0,a=a+Math.imul(I,J)|0,n=n+Math.imul(L,Q)|0,i=(i=i+Math.imul(L,tt)|0)+Math.imul(C,Q)|0,a=a+Math.imul(C,tt)|0,n=n+Math.imul(M,rt)|0,i=(i=i+Math.imul(M,nt)|0)+Math.imul(S,rt)|0,a=a+Math.imul(S,nt)|0,n=n+Math.imul(T,at)|0,i=(i=i+Math.imul(T,ot)|0)+Math.imul(k,at)|0,a=a+Math.imul(k,ot)|0,n=n+Math.imul(b,lt)|0,i=(i=i+Math.imul(b,ut)|0)+Math.imul(_,lt)|0,a=a+Math.imul(_,ut)|0,n=n+Math.imul(y,ft)|0,i=(i=i+Math.imul(y,ht)|0)+Math.imul(m,ft)|0,a=a+Math.imul(m,ht)|0;var Mt=(u+(n=n+Math.imul(d,dt)|0)|0)+((8191&(i=(i=i+Math.imul(d,vt)|0)+Math.imul(v,dt)|0))<<13)|0;u=((a=a+Math.imul(v,vt)|0)+(i>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,n=Math.imul(B,Y),i=(i=Math.imul(B,X))+Math.imul(N,Y)|0,a=Math.imul(N,X),n=n+Math.imul(D,K)|0,i=(i=i+Math.imul(D,J)|0)+Math.imul(R,K)|0,a=a+Math.imul(R,J)|0,n=n+Math.imul(O,Q)|0,i=(i=i+Math.imul(O,tt)|0)+Math.imul(I,Q)|0,a=a+Math.imul(I,tt)|0,n=n+Math.imul(L,rt)|0,i=(i=i+Math.imul(L,nt)|0)+Math.imul(C,rt)|0,a=a+Math.imul(C,nt)|0,n=n+Math.imul(M,at)|0,i=(i=i+Math.imul(M,ot)|0)+Math.imul(S,at)|0,a=a+Math.imul(S,ot)|0,n=n+Math.imul(T,lt)|0,i=(i=i+Math.imul(T,ut)|0)+Math.imul(k,lt)|0,a=a+Math.imul(k,ut)|0,n=n+Math.imul(b,ft)|0,i=(i=i+Math.imul(b,ht)|0)+Math.imul(_,ft)|0,a=a+Math.imul(_,ht)|0;var St=(u+(n=n+Math.imul(y,dt)|0)|0)+((8191&(i=(i=i+Math.imul(y,vt)|0)+Math.imul(m,dt)|0))<<13)|0;u=((a=a+Math.imul(m,vt)|0)+(i>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(B,K),i=(i=Math.imul(B,J))+Math.imul(N,K)|0,a=Math.imul(N,J),n=n+Math.imul(D,Q)|0,i=(i=i+Math.imul(D,tt)|0)+Math.imul(R,Q)|0,a=a+Math.imul(R,tt)|0,n=n+Math.imul(O,rt)|0,i=(i=i+Math.imul(O,nt)|0)+Math.imul(I,rt)|0,a=a+Math.imul(I,nt)|0,n=n+Math.imul(L,at)|0,i=(i=i+Math.imul(L,ot)|0)+Math.imul(C,at)|0,a=a+Math.imul(C,ot)|0,n=n+Math.imul(M,lt)|0,i=(i=i+Math.imul(M,ut)|0)+Math.imul(S,lt)|0,a=a+Math.imul(S,ut)|0,n=n+Math.imul(T,ft)|0,i=(i=i+Math.imul(T,ht)|0)+Math.imul(k,ft)|0,a=a+Math.imul(k,ht)|0;var Et=(u+(n=n+Math.imul(b,dt)|0)|0)+((8191&(i=(i=i+Math.imul(b,vt)|0)+Math.imul(_,dt)|0))<<13)|0;u=((a=a+Math.imul(_,vt)|0)+(i>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(B,Q),i=(i=Math.imul(B,tt))+Math.imul(N,Q)|0,a=Math.imul(N,tt),n=n+Math.imul(D,rt)|0,i=(i=i+Math.imul(D,nt)|0)+Math.imul(R,rt)|0,a=a+Math.imul(R,nt)|0,n=n+Math.imul(O,at)|0,i=(i=i+Math.imul(O,ot)|0)+Math.imul(I,at)|0,a=a+Math.imul(I,ot)|0,n=n+Math.imul(L,lt)|0,i=(i=i+Math.imul(L,ut)|0)+Math.imul(C,lt)|0,a=a+Math.imul(C,ut)|0,n=n+Math.imul(M,ft)|0,i=(i=i+Math.imul(M,ht)|0)+Math.imul(S,ft)|0,a=a+Math.imul(S,ht)|0;var Lt=(u+(n=n+Math.imul(T,dt)|0)|0)+((8191&(i=(i=i+Math.imul(T,vt)|0)+Math.imul(k,dt)|0))<<13)|0;u=((a=a+Math.imul(k,vt)|0)+(i>>>13)|0)+(Lt>>>26)|0,Lt&=67108863,n=Math.imul(B,rt),i=(i=Math.imul(B,nt))+Math.imul(N,rt)|0,a=Math.imul(N,nt),n=n+Math.imul(D,at)|0,i=(i=i+Math.imul(D,ot)|0)+Math.imul(R,at)|0,a=a+Math.imul(R,ot)|0,n=n+Math.imul(O,lt)|0,i=(i=i+Math.imul(O,ut)|0)+Math.imul(I,lt)|0,a=a+Math.imul(I,ut)|0,n=n+Math.imul(L,ft)|0,i=(i=i+Math.imul(L,ht)|0)+Math.imul(C,ft)|0,a=a+Math.imul(C,ht)|0;var Ct=(u+(n=n+Math.imul(M,dt)|0)|0)+((8191&(i=(i=i+Math.imul(M,vt)|0)+Math.imul(S,dt)|0))<<13)|0;u=((a=a+Math.imul(S,vt)|0)+(i>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,n=Math.imul(B,at),i=(i=Math.imul(B,ot))+Math.imul(N,at)|0,a=Math.imul(N,ot),n=n+Math.imul(D,lt)|0,i=(i=i+Math.imul(D,ut)|0)+Math.imul(R,lt)|0,a=a+Math.imul(R,ut)|0,n=n+Math.imul(O,ft)|0,i=(i=i+Math.imul(O,ht)|0)+Math.imul(I,ft)|0,a=a+Math.imul(I,ht)|0;var Pt=(u+(n=n+Math.imul(L,dt)|0)|0)+((8191&(i=(i=i+Math.imul(L,vt)|0)+Math.imul(C,dt)|0))<<13)|0;u=((a=a+Math.imul(C,vt)|0)+(i>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,n=Math.imul(B,lt),i=(i=Math.imul(B,ut))+Math.imul(N,lt)|0,a=Math.imul(N,ut),n=n+Math.imul(D,ft)|0,i=(i=i+Math.imul(D,ht)|0)+Math.imul(R,ft)|0,a=a+Math.imul(R,ht)|0;var Ot=(u+(n=n+Math.imul(O,dt)|0)|0)+((8191&(i=(i=i+Math.imul(O,vt)|0)+Math.imul(I,dt)|0))<<13)|0;u=((a=a+Math.imul(I,vt)|0)+(i>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,n=Math.imul(B,ft),i=(i=Math.imul(B,ht))+Math.imul(N,ft)|0,a=Math.imul(N,ht);var It=(u+(n=n+Math.imul(D,dt)|0)|0)+((8191&(i=(i=i+Math.imul(D,vt)|0)+Math.imul(R,dt)|0))<<13)|0;u=((a=a+Math.imul(R,vt)|0)+(i>>>13)|0)+(It>>>26)|0,It&=67108863;var zt=(u+(n=Math.imul(B,dt))|0)+((8191&(i=(i=Math.imul(B,vt))+Math.imul(N,dt)|0))<<13)|0;return u=((a=Math.imul(N,vt))+(i>>>13)|0)+(zt>>>26)|0,zt&=67108863,l[0]=gt,l[1]=yt,l[2]=mt,l[3]=xt,l[4]=bt,l[5]=_t,l[6]=wt,l[7]=Tt,l[8]=kt,l[9]=At,l[10]=Mt,l[11]=St,l[12]=Et,l[13]=Lt,l[14]=Ct,l[15]=Pt,l[16]=Ot,l[17]=It,l[18]=zt,0!==u&&(l[19]=u,r.length++),r};function v(t,e,r){return(new g).mulp(t,e,r)}function g(t,e){this.x=t,this.y=e}Math.imul||(d=p),a.prototype.mulTo=function(t,e){var r,n=this.length+t.length;return r=10===this.length&&10===t.length?d(this,t,e):n<63?p(this,t,e):n<1024?function(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var n=0,i=0,a=0;a>>26)|0)>>>26,o&=67108863}r.words[a]=s,n=o,o=i}return 0!==n?r.words[a]=n:r.length--,r.strip()}(this,t,e):v(this,t,e),r},g.prototype.makeRBT=function(t){for(var e=new Array(t),r=a.prototype._countBits(t)-1,n=0;n>=1;return n},g.prototype.permute=function(t,e,r,n,i,a){for(var o=0;o>>=1)i++;return 1<>>=13,r[2*o+1]=8191&a,a>>>=13;for(o=2*e;o>=26,e+=i/67108864|0,e+=a>>>26,this.words[r]=67108863&a}return 0!==e&&(this.words[r]=e,this.length++),this},a.prototype.muln=function(t){return this.clone().imuln(t)},a.prototype.sqr=function(){return this.mul(this)},a.prototype.isqr=function(){return this.imul(this.clone())},a.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r>>i}return e}(t);if(0===e.length)return new a(1);for(var r=this,n=0;n=0);var e,r=t%26,i=(t-r)/26,a=67108863>>>26-r<<26-r;if(0!==r){var o=0;for(e=0;e>>26-r}o&&(this.words[e]=o,this.length++)}if(0!==i){for(e=this.length-1;e>=0;e--)this.words[e+i]=this.words[e];for(e=0;e=0),i=e?(e-e%26)/26:0;var a=t%26,o=Math.min((t-a)/26,this.length),s=67108863^67108863>>>a<o)for(this.length-=o,u=0;u=0&&(0!==c||u>=i);u--){var f=0|this.words[u];this.words[u]=c<<26-a|f>>>a,c=f&s}return l&&0!==c&&(l.words[l.length++]=c),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},a.prototype.ishrn=function(t,e,r){return n(0===this.negative),this.iushrn(t,e,r)},a.prototype.shln=function(t){return this.clone().ishln(t)},a.prototype.ushln=function(t){return this.clone().iushln(t)},a.prototype.shrn=function(t){return this.clone().ishrn(t)},a.prototype.ushrn=function(t){return this.clone().iushrn(t)},a.prototype.testn=function(t){n(\"number\"==typeof t&&t>=0);var e=t%26,r=(t-e)/26,i=1<=0);var e=t%26,r=(t-e)/26;if(n(0===this.negative,\"imaskn works only with positive numbers\"),this.length<=r)return this;if(0!==e&&r++,this.length=Math.min(r,this.length),0!==e){var i=67108863^67108863>>>e<=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},a.prototype.isubn=function(t){if(n(\"number\"==typeof t),n(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e>26)-(l/67108864|0),this.words[i+r]=67108863&a}for(;i>26,this.words[i+r]=67108863&a;if(0===s)return this.strip();for(n(-1===s),s=0,i=0;i>26,this.words[i]=67108863&a;return this.negative=1,this.strip()},a.prototype._wordDiv=function(t,e){var r=(this.length,t.length),n=this.clone(),i=t,o=0|i.words[i.length-1];0!=(r=26-this._countBits(o))&&(i=i.ushln(r),n.iushln(r),o=0|i.words[i.length-1]);var s,l=n.length-i.length;if(\"mod\"!==e){(s=new a(null)).length=l+1,s.words=new Array(s.length);for(var u=0;u=0;f--){var h=67108864*(0|n.words[i.length+f])+(0|n.words[i.length+f-1]);for(h=Math.min(h/o|0,67108863),n._ishlnsubmul(i,h,f);0!==n.negative;)h--,n.negative=0,n._ishlnsubmul(i,1,f),n.isZero()||(n.negative^=1);s&&(s.words[f]=h)}return s&&s.strip(),n.strip(),\"div\"!==e&&0!==r&&n.iushrn(r),{div:s||null,mod:n}},a.prototype.divmod=function(t,e,r){return n(!t.isZero()),this.isZero()?{div:new a(0),mod:new a(0)}:0!==this.negative&&0===t.negative?(s=this.neg().divmod(t,e),\"mod\"!==e&&(i=s.div.neg()),\"div\"!==e&&(o=s.mod.neg(),r&&0!==o.negative&&o.iadd(t)),{div:i,mod:o}):0===this.negative&&0!==t.negative?(s=this.divmod(t.neg(),e),\"mod\"!==e&&(i=s.div.neg()),{div:i,mod:s.mod}):0!=(this.negative&t.negative)?(s=this.neg().divmod(t.neg(),e),\"div\"!==e&&(o=s.mod.neg(),r&&0!==o.negative&&o.isub(t)),{div:s.div,mod:o}):t.length>this.length||this.cmp(t)<0?{div:new a(0),mod:this}:1===t.length?\"div\"===e?{div:this.divn(t.words[0]),mod:null}:\"mod\"===e?{div:null,mod:new a(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new a(this.modn(t.words[0]))}:this._wordDiv(t,e);var i,o,s},a.prototype.div=function(t){return this.divmod(t,\"div\",!1).div},a.prototype.mod=function(t){return this.divmod(t,\"mod\",!1).mod},a.prototype.umod=function(t){return this.divmod(t,\"mod\",!0).mod},a.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,n=t.ushrn(1),i=t.andln(1),a=r.cmp(n);return a<0||1===i&&0===a?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},a.prototype.modn=function(t){n(t<=67108863);for(var e=(1<<26)%t,r=0,i=this.length-1;i>=0;i--)r=(e*r+(0|this.words[i]))%t;return r},a.prototype.idivn=function(t){n(t<=67108863);for(var e=0,r=this.length-1;r>=0;r--){var i=(0|this.words[r])+67108864*e;this.words[r]=i/t|0,e=i%t}return this.strip()},a.prototype.divn=function(t){return this.clone().idivn(t)},a.prototype.egcd=function(t){n(0===t.negative),n(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var i=new a(1),o=new a(0),s=new a(0),l=new a(1),u=0;e.isEven()&&r.isEven();)e.iushrn(1),r.iushrn(1),++u;for(var c=r.clone(),f=e.clone();!e.isZero();){for(var h=0,p=1;0==(e.words[0]&p)&&h<26;++h,p<<=1);if(h>0)for(e.iushrn(h);h-- >0;)(i.isOdd()||o.isOdd())&&(i.iadd(c),o.isub(f)),i.iushrn(1),o.iushrn(1);for(var d=0,v=1;0==(r.words[0]&v)&&d<26;++d,v<<=1);if(d>0)for(r.iushrn(d);d-- >0;)(s.isOdd()||l.isOdd())&&(s.iadd(c),l.isub(f)),s.iushrn(1),l.iushrn(1);e.cmp(r)>=0?(e.isub(r),i.isub(s),o.isub(l)):(r.isub(e),s.isub(i),l.isub(o))}return{a:s,b:l,gcd:r.iushln(u)}},a.prototype._invmp=function(t){n(0===t.negative),n(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var i,o=new a(1),s=new a(0),l=r.clone();e.cmpn(1)>0&&r.cmpn(1)>0;){for(var u=0,c=1;0==(e.words[0]&c)&&u<26;++u,c<<=1);if(u>0)for(e.iushrn(u);u-- >0;)o.isOdd()&&o.iadd(l),o.iushrn(1);for(var f=0,h=1;0==(r.words[0]&h)&&f<26;++f,h<<=1);if(f>0)for(r.iushrn(f);f-- >0;)s.isOdd()&&s.iadd(l),s.iushrn(1);e.cmp(r)>=0?(e.isub(r),o.isub(s)):(r.isub(e),s.isub(o))}return(i=0===e.cmpn(1)?o:s).cmpn(0)<0&&i.iadd(t),i},a.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var n=0;e.isEven()&&r.isEven();n++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var i=e.cmp(r);if(i<0){var a=e;e=r,r=a}else if(0===i||0===r.cmpn(1))break;e.isub(r)}return r.iushln(n)},a.prototype.invm=function(t){return this.egcd(t).a.umod(t)},a.prototype.isEven=function(){return 0==(1&this.words[0])},a.prototype.isOdd=function(){return 1==(1&this.words[0])},a.prototype.andln=function(t){return this.words[0]&t},a.prototype.bincn=function(t){n(\"number\"==typeof t);var e=t%26,r=(t-e)/26,i=1<>>26,s&=67108863,this.words[o]=s}return 0!==a&&(this.words[o]=a,this.length++),this},a.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},a.prototype.cmpn=function(t){var e,r=t<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this.strip(),this.length>1)e=1;else{r&&(t=-t),n(t<=67108863,\"Number is too big\");var i=0|this.words[0];e=i===t?0:it.length)return 1;if(this.length=0;r--){var n=0|this.words[r],i=0|t.words[r];if(n!==i){ni&&(e=1);break}}return e},a.prototype.gtn=function(t){return 1===this.cmpn(t)},a.prototype.gt=function(t){return 1===this.cmp(t)},a.prototype.gten=function(t){return this.cmpn(t)>=0},a.prototype.gte=function(t){return this.cmp(t)>=0},a.prototype.ltn=function(t){return-1===this.cmpn(t)},a.prototype.lt=function(t){return-1===this.cmp(t)},a.prototype.lten=function(t){return this.cmpn(t)<=0},a.prototype.lte=function(t){return this.cmp(t)<=0},a.prototype.eqn=function(t){return 0===this.cmpn(t)},a.prototype.eq=function(t){return 0===this.cmp(t)},a.red=function(t){return new T(t)},a.prototype.toRed=function(t){return n(!this.red,\"Already a number in reduction context\"),n(0===this.negative,\"red works only with positives\"),t.convertTo(this)._forceRed(t)},a.prototype.fromRed=function(){return n(this.red,\"fromRed works only with numbers in reduction context\"),this.red.convertFrom(this)},a.prototype._forceRed=function(t){return this.red=t,this},a.prototype.forceRed=function(t){return n(!this.red,\"Already a number in reduction context\"),this._forceRed(t)},a.prototype.redAdd=function(t){return n(this.red,\"redAdd works only with red numbers\"),this.red.add(this,t)},a.prototype.redIAdd=function(t){return n(this.red,\"redIAdd works only with red numbers\"),this.red.iadd(this,t)},a.prototype.redSub=function(t){return n(this.red,\"redSub works only with red numbers\"),this.red.sub(this,t)},a.prototype.redISub=function(t){return n(this.red,\"redISub works only with red numbers\"),this.red.isub(this,t)},a.prototype.redShl=function(t){return n(this.red,\"redShl works only with red numbers\"),this.red.shl(this,t)},a.prototype.redMul=function(t){return n(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,t),this.red.mul(this,t)},a.prototype.redIMul=function(t){return n(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,t),this.red.imul(this,t)},a.prototype.redSqr=function(){return n(this.red,\"redSqr works only with red numbers\"),this.red._verify1(this),this.red.sqr(this)},a.prototype.redISqr=function(){return n(this.red,\"redISqr works only with red numbers\"),this.red._verify1(this),this.red.isqr(this)},a.prototype.redSqrt=function(){return n(this.red,\"redSqrt works only with red numbers\"),this.red._verify1(this),this.red.sqrt(this)},a.prototype.redInvm=function(){return n(this.red,\"redInvm works only with red numbers\"),this.red._verify1(this),this.red.invm(this)},a.prototype.redNeg=function(){return n(this.red,\"redNeg works only with red numbers\"),this.red._verify1(this),this.red.neg(this)},a.prototype.redPow=function(t){return n(this.red&&!t.red,\"redPow(normalNum)\"),this.red._verify1(this),this.red.pow(this,t)};var y={k256:null,p224:null,p192:null,p25519:null};function m(t,e){this.name=t,this.p=new a(e,16),this.n=this.p.bitLength(),this.k=new a(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function x(){m.call(this,\"k256\",\"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f\")}function b(){m.call(this,\"p224\",\"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001\")}function _(){m.call(this,\"p192\",\"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff\")}function w(){m.call(this,\"25519\",\"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed\")}function T(t){if(\"string\"==typeof t){var e=a._prime(t);this.m=e.p,this.prime=e}else n(t.gtn(1),\"modulus must be greater than 1\"),this.m=t,this.prime=null}function k(t){T.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new a(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}m.prototype._tmp=function(){var t=new a(null);return t.words=new Array(Math.ceil(this.n/13)),t},m.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var n=e0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},m.prototype.split=function(t,e){t.iushrn(this.n,0,e)},m.prototype.imulK=function(t){return t.imul(this.k)},i(x,m),x.prototype.split=function(t,e){for(var r=4194303,n=Math.min(t.length,9),i=0;i>>22,a=o}a>>>=22,t.words[i-10]=a,0===a&&t.length>10?t.length-=10:t.length-=9},x.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r>>=26,t.words[r]=i,e=n}return 0!==e&&(t.words[t.length++]=e),t},a._prime=function(t){if(y[t])return y[t];var e;if(\"k256\"===t)e=new x;else if(\"p224\"===t)e=new b;else if(\"p192\"===t)e=new _;else{if(\"p25519\"!==t)throw new Error(\"Unknown prime \"+t);e=new w}return y[t]=e,e},T.prototype._verify1=function(t){n(0===t.negative,\"red works only with positives\"),n(t.red,\"red works only with red numbers\")},T.prototype._verify2=function(t,e){n(0==(t.negative|e.negative),\"red works only with positives\"),n(t.red&&t.red===e.red,\"red works only with red numbers\")},T.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},T.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},T.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},T.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},T.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},T.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},T.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},T.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},T.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},T.prototype.isqr=function(t){return this.imul(t,t.clone())},T.prototype.sqr=function(t){return this.mul(t,t)},T.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(n(e%2==1),3===e){var r=this.m.add(new a(1)).iushrn(2);return this.pow(t,r)}for(var i=this.m.subn(1),o=0;!i.isZero()&&0===i.andln(1);)o++,i.iushrn(1);n(!i.isZero());var s=new a(1).toRed(this),l=s.redNeg(),u=this.m.subn(1).iushrn(1),c=this.m.bitLength();for(c=new a(2*c*c).toRed(this);0!==this.pow(c,u).cmp(l);)c.redIAdd(l);for(var f=this.pow(c,i),h=this.pow(t,i.addn(1).iushrn(1)),p=this.pow(t,i),d=o;0!==p.cmp(s);){for(var v=p,g=0;0!==v.cmp(s);g++)v=v.redSqr();n(g=0;n--){for(var u=e.words[n],c=l-1;c>=0;c--){var f=u>>c&1;i!==r[0]&&(i=this.sqr(i)),0!==f||0!==o?(o<<=1,o|=f,(4==++s||0===n&&0===c)&&(i=this.mul(i,r[o]),s=0,o=0)):s=0}l=26}return i},T.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},T.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},a.mont=function(t){return new k(t)},i(k,T),k.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},k.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},k.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),a=i;return i.cmp(this.m)>=0?a=i.isub(this.m):i.cmpn(0)<0&&(a=i.iadd(this.m)),a._forceRed(this)},k.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new a(0)._forceRed(this);var r=t.mul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),o=i;return i.cmp(this.m)>=0?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},k.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(t=r.nmd(t),this)},6204:function(t){\"use strict\";t.exports=function(t){var e,r,n,i=t.length,a=0;for(e=0;e>>1;if(!(c<=0)){var f,h=i.mallocDouble(2*c*s),p=i.mallocInt32(s);if((s=l(t,c,h,p))>0){if(1===c&&n)a.init(s),f=a.sweepComplete(c,r,0,s,h,p,0,s,h,p);else{var d=i.mallocDouble(2*c*u),v=i.mallocInt32(u);(u=l(e,c,d,v))>0&&(a.init(s+u),f=1===c?a.sweepBipartite(c,r,0,s,h,p,0,u,d,v):o(c,r,n,s,h,p,u,d,v),i.free(d),i.free(v))}i.free(h),i.free(p)}return f}}}function c(t,e){n.push([t,e])}},2455:function(t,e){\"use strict\";function r(t){return t?function(t,e,r,n,i,a,o,s,l,u,c){return i-n>l-s?function(t,e,r,n,i,a,o,s,l,u,c){for(var f=2*t,h=n,p=f*n;hu-l?n?function(t,e,r,n,i,a,o,s,l,u,c){for(var f=2*t,h=n,p=f*n;h0;){var z=(O-=1)*b,D=w[z],R=w[z+1],F=w[z+2],B=w[z+3],N=w[z+4],j=w[z+5],U=O*_,V=T[U],q=T[U+1],H=1&j,G=!!(16&j),W=c,Y=S,X=L,Z=C;if(H&&(W=L,Y=C,X=c,Z=S),!(2&j&&R>=(F=g(t,D,R,F,W,Y,q))||4&j&&(R=y(t,D,R,F,W,Y,V))>=F)){var K=F-R,J=N-B;if(G){if(t*K*(K+J)=p0)&&!(p1>=hi)\"),v=c(\"lo===p0\"),g=c(\"lo>>1,h=2*t,p=f,d=s[h*f+e];u=x?(p=m,d=x):y>=_?(p=g,d=y):(p=b,d=_):x>=_?(p=m,d=x):_>=y?(p=g,d=y):(p=b,d=_);for(var w=h*(c-1),T=h*p,k=0;kr&&i[f+e]>u;--c,f-=o){for(var h=f,p=f+o,d=0;dh;++h,l+=s)if(i[l+f]===o)if(c===h)c+=1,u+=s;else{for(var p=0;s>p;++p){var d=i[l+p];i[l+p]=i[u],i[u++]=d}var v=a[h];a[h]=a[c],a[c++]=v}return c},\"loh;++h,l+=s)if(i[l+f]p;++p){var d=i[l+p];i[l+p]=i[u],i[u++]=d}var v=a[h];a[h]=a[c],a[c++]=v}return c},\"lo<=p0\":function(t,e,r,n,i,a,o){for(var s=2*t,l=s*r,u=l,c=r,f=t+e,h=r;n>h;++h,l+=s)if(i[l+f]<=o)if(c===h)c+=1,u+=s;else{for(var p=0;s>p;++p){var d=i[l+p];i[l+p]=i[u],i[u++]=d}var v=a[h];a[h]=a[c],a[c++]=v}return c},\"hi<=p0\":function(t,e,r,n,i,a,o){for(var s=2*t,l=s*r,u=l,c=r,f=t+e,h=r;n>h;++h,l+=s)if(i[l+f]<=o)if(c===h)c+=1,u+=s;else{for(var p=0;s>p;++p){var d=i[l+p];i[l+p]=i[u],i[u++]=d}var v=a[h];a[h]=a[c],a[c++]=v}return c},\"lop;++p,l+=s){var d=i[l+f],v=i[l+h];if(dg;++g){var y=i[l+g];i[l+g]=i[u],i[u++]=y}var m=a[p];a[p]=a[c],a[c++]=m}}return c},\"lo<=p0&&p0<=hi\":function(t,e,r,n,i,a,o){for(var s=2*t,l=s*r,u=l,c=r,f=e,h=t+e,p=r;n>p;++p,l+=s){var d=i[l+f],v=i[l+h];if(d<=o&&o<=v)if(c===p)c+=1,u+=s;else{for(var g=0;s>g;++g){var y=i[l+g];i[l+g]=i[u],i[u++]=y}var m=a[p];a[p]=a[c],a[c++]=m}}return c},\"!(lo>=p0)&&!(p1>=hi)\":function(t,e,r,n,i,a,o,s){for(var l=2*t,u=l*r,c=u,f=r,h=e,p=t+e,d=r;n>d;++d,u+=l){var v=i[u+h],g=i[u+p];if(!(v>=o||s>=g))if(f===d)f+=1,c+=l;else{for(var y=0;l>y;++y){var m=i[u+y];i[u+y]=i[c],i[c++]=m}var x=a[d];a[d]=a[f],a[f++]=x}}return f}}},1811:function(t){\"use strict\";t.exports=function(t,n){n<=4*e?r(0,n-1,t):u(0,n-1,t)};var e=32;function r(t,e,r){for(var n=2*(t+1),i=t+1;i<=e;++i){for(var a=r[n++],o=r[n++],s=i,l=n-2;s-- >t;){var u=r[l-2],c=r[l-1];if(ur[e+1])}function l(t,e,r,n){var i=n[t*=2];return i>1,g=v-h,y=v+h,m=p,x=g,b=v,_=y,w=d,T=t+1,k=c-1,A=0;s(m,x,f)&&(A=m,m=x,x=A),s(_,w,f)&&(A=_,_=w,w=A),s(m,b,f)&&(A=m,m=b,b=A),s(x,b,f)&&(A=x,x=b,b=A),s(m,_,f)&&(A=m,m=_,_=A),s(b,_,f)&&(A=b,b=_,_=A),s(x,w,f)&&(A=x,x=w,w=A),s(x,b,f)&&(A=x,x=b,b=A),s(_,w,f)&&(A=_,_=w,w=A);for(var M=f[2*x],S=f[2*x+1],E=f[2*_],L=f[2*_+1],C=2*m,P=2*b,O=2*w,I=2*p,z=2*v,D=2*d,R=0;R<2;++R){var F=f[C+R],B=f[P+R],N=f[O+R];f[I+R]=F,f[z+R]=B,f[D+R]=N}i(g,t,f),i(y,c,f);for(var j=T;j<=k;++j)if(l(j,M,S,f))j!==T&&n(j,T,f),++T;else if(!l(j,E,L,f))for(;;){if(l(k,E,L,f)){l(k,M,S,f)?(a(j,T,k,f),++T,--k):(n(j,k,f),--k);break}if(--k>>1;a(d,S);var E=0,L=0;for(T=0;T=o)v(c,f,L--,C=C-o|0);else if(C>=0)v(l,u,E--,C);else if(C<=-o){C=-C-o|0;for(var P=0;P>>1;a(d,E);var L=0,C=0,P=0;for(k=0;k>1==d[2*k+3]>>1&&(I=2,k+=1),O<0){for(var z=-(O>>1)-1,D=0;D>1)-1,0===I?v(l,u,L--,z):1===I?v(c,f,C--,z):2===I&&v(h,p,P--,z)}},scanBipartite:function(t,e,r,n,i,s,c,f,h,p,y,m){var x=0,b=2*t,_=e,w=e+t,T=1,k=1;n?k=o:T=o;for(var A=i;A>>1;a(d,L);var C=0;for(A=0;A=o?(O=!n,M-=o):(O=!!n,M-=1),O)g(l,u,C++,M);else{var I=m[M],z=b*M,D=y[z+e+1],R=y[z+e+1+t];t:for(var F=0;F>>1;a(d,T);var k=0;for(x=0;x=o)l[k++]=b-o;else{var M=p[b-=1],S=g*b,E=h[S+e+1],L=h[S+e+1+t];t:for(var C=0;C=0;--C)if(l[C]===b){for(z=C+1;z0;){for(var p=r.pop(),d=(c=-1,f=-1,l=o[s=r.pop()],1);d=0||(e.flip(s,p),i(t,e,r,c,s,f),i(t,e,r,s,f,c),i(t,e,r,f,p,c),i(t,e,r,p,c,f))}}},5023:function(t,e,r){\"use strict\";var n,i=r(2478);function a(t,e,r,n,i,a,o){this.cells=t,this.neighbor=e,this.flags=n,this.constraint=r,this.active=i,this.next=a,this.boundary=o}function o(t,e){return t[0]-e[0]||t[1]-e[1]||t[2]-e[2]}t.exports=function(t,e,r){var n=function(t,e){for(var r=t.cells(),n=r.length,i=0;i0||l.length>0;){for(;s.length>0;){var p=s.pop();if(u[p]!==-i){u[p]=i,c[p];for(var d=0;d<3;++d){var v=h[3*p+d];v>=0&&0===u[v]&&(f[3*p+d]?l.push(v):(s.push(v),u[v]=i))}}}var g=l;l=s,s=g,l.length=0,i=-i}var y=function(t,e,r){for(var n=0,i=0;i1&&i(r[h[p-2]],r[h[p-1]],a)>0;)t.push([h[p-1],h[p-2],o]),p-=1;h.length=p,h.push(o);var d=f.upperIds;for(p=d.length;p>1&&i(r[d[p-2]],r[d[p-1]],a)<0;)t.push([d[p-2],d[p-1],o]),p-=1;d.length=p,d.push(o)}}function c(t,e){var r;return(r=t.a[0]d[0]&&i.push(new o(d,p,2,l),new o(p,d,1,l))}i.sort(s);for(var v=i[0].a[0]-(1+Math.abs(i[0].a[0]))*Math.pow(2,-52),g=[new a([v,1],[v,0],-1,[],[],[],[])],y=[],m=(l=0,i.length);l=0}}(),a.removeTriangle=function(t,e,r){var n=this.stars;o(n[t],e,r),o(n[e],r,t),o(n[r],t,e)},a.addTriangle=function(t,e,r){var n=this.stars;n[t].push(e,r),n[e].push(r,t),n[r].push(t,e)},a.opposite=function(t,e){for(var r=this.stars[e],n=1,i=r.length;ne[2]?1:0)}function y(t,e,r){if(0!==t.length){if(e)for(var n=0;n=0;--a){var x=e[c=(S=n[a])[0]],b=x[0],_=x[1],w=t[b],T=t[_];if((w[0]-T[0]||w[1]-T[1])<0){var k=b;b=_,_=k}x[0]=b;var A,M=x[1]=S[1];for(i&&(A=x[2]);a>0&&n[a-1][0]===c;){var S,E=(S=n[--a])[1];i?e.push([M,E,A]):e.push([M,E]),M=E}i?e.push([M,_,A]):e.push([M,_])}return h}(t,e,h,v,r),m=d(t,g);return y(e,m,r),!!m||h.length>0||v.length>0}},3637:function(t,e,r){\"use strict\";t.exports=function(t,e,r,n){var a=s(e,t),f=s(n,r),h=c(a,f);if(0===o(h))return null;var p=c(f,s(t,r)),d=i(p,h),v=u(a,d);return l(t,v)};var n=r(6504),i=r(8697),a=r(5572),o=r(7721),s=r(544),l=r(2653),u=r(8987);function c(t,e){return a(n(t[0],e[1]),n(t[1],e[0]))}},3642:function(t){t.exports={jet:[{index:0,rgb:[0,0,131]},{index:.125,rgb:[0,60,170]},{index:.375,rgb:[5,255,255]},{index:.625,rgb:[255,255,0]},{index:.875,rgb:[250,0,0]},{index:1,rgb:[128,0,0]}],hsv:[{index:0,rgb:[255,0,0]},{index:.169,rgb:[253,255,2]},{index:.173,rgb:[247,255,2]},{index:.337,rgb:[0,252,4]},{index:.341,rgb:[0,252,10]},{index:.506,rgb:[1,249,255]},{index:.671,rgb:[2,0,253]},{index:.675,rgb:[8,0,253]},{index:.839,rgb:[255,0,251]},{index:.843,rgb:[255,0,245]},{index:1,rgb:[255,0,6]}],hot:[{index:0,rgb:[0,0,0]},{index:.3,rgb:[230,0,0]},{index:.6,rgb:[255,210,0]},{index:1,rgb:[255,255,255]}],spring:[{index:0,rgb:[255,0,255]},{index:1,rgb:[255,255,0]}],summer:[{index:0,rgb:[0,128,102]},{index:1,rgb:[255,255,102]}],autumn:[{index:0,rgb:[255,0,0]},{index:1,rgb:[255,255,0]}],winter:[{index:0,rgb:[0,0,255]},{index:1,rgb:[0,255,128]}],bone:[{index:0,rgb:[0,0,0]},{index:.376,rgb:[84,84,116]},{index:.753,rgb:[169,200,200]},{index:1,rgb:[255,255,255]}],copper:[{index:0,rgb:[0,0,0]},{index:.804,rgb:[255,160,102]},{index:1,rgb:[255,199,127]}],greys:[{index:0,rgb:[0,0,0]},{index:1,rgb:[255,255,255]}],yignbu:[{index:0,rgb:[8,29,88]},{index:.125,rgb:[37,52,148]},{index:.25,rgb:[34,94,168]},{index:.375,rgb:[29,145,192]},{index:.5,rgb:[65,182,196]},{index:.625,rgb:[127,205,187]},{index:.75,rgb:[199,233,180]},{index:.875,rgb:[237,248,217]},{index:1,rgb:[255,255,217]}],greens:[{index:0,rgb:[0,68,27]},{index:.125,rgb:[0,109,44]},{index:.25,rgb:[35,139,69]},{index:.375,rgb:[65,171,93]},{index:.5,rgb:[116,196,118]},{index:.625,rgb:[161,217,155]},{index:.75,rgb:[199,233,192]},{index:.875,rgb:[229,245,224]},{index:1,rgb:[247,252,245]}],yiorrd:[{index:0,rgb:[128,0,38]},{index:.125,rgb:[189,0,38]},{index:.25,rgb:[227,26,28]},{index:.375,rgb:[252,78,42]},{index:.5,rgb:[253,141,60]},{index:.625,rgb:[254,178,76]},{index:.75,rgb:[254,217,118]},{index:.875,rgb:[255,237,160]},{index:1,rgb:[255,255,204]}],bluered:[{index:0,rgb:[0,0,255]},{index:1,rgb:[255,0,0]}],rdbu:[{index:0,rgb:[5,10,172]},{index:.35,rgb:[106,137,247]},{index:.5,rgb:[190,190,190]},{index:.6,rgb:[220,170,132]},{index:.7,rgb:[230,145,90]},{index:1,rgb:[178,10,28]}],picnic:[{index:0,rgb:[0,0,255]},{index:.1,rgb:[51,153,255]},{index:.2,rgb:[102,204,255]},{index:.3,rgb:[153,204,255]},{index:.4,rgb:[204,204,255]},{index:.5,rgb:[255,255,255]},{index:.6,rgb:[255,204,255]},{index:.7,rgb:[255,153,255]},{index:.8,rgb:[255,102,204]},{index:.9,rgb:[255,102,102]},{index:1,rgb:[255,0,0]}],rainbow:[{index:0,rgb:[150,0,90]},{index:.125,rgb:[0,0,200]},{index:.25,rgb:[0,25,255]},{index:.375,rgb:[0,152,255]},{index:.5,rgb:[44,255,150]},{index:.625,rgb:[151,255,0]},{index:.75,rgb:[255,234,0]},{index:.875,rgb:[255,111,0]},{index:1,rgb:[255,0,0]}],portland:[{index:0,rgb:[12,51,131]},{index:.25,rgb:[10,136,186]},{index:.5,rgb:[242,211,56]},{index:.75,rgb:[242,143,56]},{index:1,rgb:[217,30,30]}],blackbody:[{index:0,rgb:[0,0,0]},{index:.2,rgb:[230,0,0]},{index:.4,rgb:[230,210,0]},{index:.7,rgb:[255,255,255]},{index:1,rgb:[160,200,255]}],earth:[{index:0,rgb:[0,0,130]},{index:.1,rgb:[0,180,180]},{index:.2,rgb:[40,210,40]},{index:.4,rgb:[230,230,50]},{index:.6,rgb:[120,70,20]},{index:1,rgb:[255,255,255]}],electric:[{index:0,rgb:[0,0,0]},{index:.15,rgb:[30,0,100]},{index:.4,rgb:[120,0,100]},{index:.6,rgb:[160,90,0]},{index:.8,rgb:[230,200,0]},{index:1,rgb:[255,250,220]}],alpha:[{index:0,rgb:[255,255,255,0]},{index:1,rgb:[255,255,255,1]}],viridis:[{index:0,rgb:[68,1,84]},{index:.13,rgb:[71,44,122]},{index:.25,rgb:[59,81,139]},{index:.38,rgb:[44,113,142]},{index:.5,rgb:[33,144,141]},{index:.63,rgb:[39,173,129]},{index:.75,rgb:[92,200,99]},{index:.88,rgb:[170,220,50]},{index:1,rgb:[253,231,37]}],inferno:[{index:0,rgb:[0,0,4]},{index:.13,rgb:[31,12,72]},{index:.25,rgb:[85,15,109]},{index:.38,rgb:[136,34,106]},{index:.5,rgb:[186,54,85]},{index:.63,rgb:[227,89,51]},{index:.75,rgb:[249,140,10]},{index:.88,rgb:[249,201,50]},{index:1,rgb:[252,255,164]}],magma:[{index:0,rgb:[0,0,4]},{index:.13,rgb:[28,16,68]},{index:.25,rgb:[79,18,123]},{index:.38,rgb:[129,37,129]},{index:.5,rgb:[181,54,122]},{index:.63,rgb:[229,80,100]},{index:.75,rgb:[251,135,97]},{index:.88,rgb:[254,194,135]},{index:1,rgb:[252,253,191]}],plasma:[{index:0,rgb:[13,8,135]},{index:.13,rgb:[75,3,161]},{index:.25,rgb:[125,3,168]},{index:.38,rgb:[168,34,150]},{index:.5,rgb:[203,70,121]},{index:.63,rgb:[229,107,93]},{index:.75,rgb:[248,148,65]},{index:.88,rgb:[253,195,40]},{index:1,rgb:[240,249,33]}],warm:[{index:0,rgb:[125,0,179]},{index:.13,rgb:[172,0,187]},{index:.25,rgb:[219,0,170]},{index:.38,rgb:[255,0,130]},{index:.5,rgb:[255,63,74]},{index:.63,rgb:[255,123,0]},{index:.75,rgb:[234,176,0]},{index:.88,rgb:[190,228,0]},{index:1,rgb:[147,255,0]}],cool:[{index:0,rgb:[125,0,179]},{index:.13,rgb:[116,0,218]},{index:.25,rgb:[98,74,237]},{index:.38,rgb:[68,146,231]},{index:.5,rgb:[0,204,197]},{index:.63,rgb:[0,247,146]},{index:.75,rgb:[0,255,88]},{index:.88,rgb:[40,255,8]},{index:1,rgb:[147,255,0]}],\"rainbow-soft\":[{index:0,rgb:[125,0,179]},{index:.1,rgb:[199,0,180]},{index:.2,rgb:[255,0,121]},{index:.3,rgb:[255,108,0]},{index:.4,rgb:[222,194,0]},{index:.5,rgb:[150,255,0]},{index:.6,rgb:[0,255,55]},{index:.7,rgb:[0,246,150]},{index:.8,rgb:[50,167,222]},{index:.9,rgb:[103,51,235]},{index:1,rgb:[124,0,186]}],bathymetry:[{index:0,rgb:[40,26,44]},{index:.13,rgb:[59,49,90]},{index:.25,rgb:[64,76,139]},{index:.38,rgb:[63,110,151]},{index:.5,rgb:[72,142,158]},{index:.63,rgb:[85,174,163]},{index:.75,rgb:[120,206,163]},{index:.88,rgb:[187,230,172]},{index:1,rgb:[253,254,204]}],cdom:[{index:0,rgb:[47,15,62]},{index:.13,rgb:[87,23,86]},{index:.25,rgb:[130,28,99]},{index:.38,rgb:[171,41,96]},{index:.5,rgb:[206,67,86]},{index:.63,rgb:[230,106,84]},{index:.75,rgb:[242,149,103]},{index:.88,rgb:[249,193,135]},{index:1,rgb:[254,237,176]}],chlorophyll:[{index:0,rgb:[18,36,20]},{index:.13,rgb:[25,63,41]},{index:.25,rgb:[24,91,59]},{index:.38,rgb:[13,119,72]},{index:.5,rgb:[18,148,80]},{index:.63,rgb:[80,173,89]},{index:.75,rgb:[132,196,122]},{index:.88,rgb:[175,221,162]},{index:1,rgb:[215,249,208]}],density:[{index:0,rgb:[54,14,36]},{index:.13,rgb:[89,23,80]},{index:.25,rgb:[110,45,132]},{index:.38,rgb:[120,77,178]},{index:.5,rgb:[120,113,213]},{index:.63,rgb:[115,151,228]},{index:.75,rgb:[134,185,227]},{index:.88,rgb:[177,214,227]},{index:1,rgb:[230,241,241]}],\"freesurface-blue\":[{index:0,rgb:[30,4,110]},{index:.13,rgb:[47,14,176]},{index:.25,rgb:[41,45,236]},{index:.38,rgb:[25,99,212]},{index:.5,rgb:[68,131,200]},{index:.63,rgb:[114,156,197]},{index:.75,rgb:[157,181,203]},{index:.88,rgb:[200,208,216]},{index:1,rgb:[241,237,236]}],\"freesurface-red\":[{index:0,rgb:[60,9,18]},{index:.13,rgb:[100,17,27]},{index:.25,rgb:[142,20,29]},{index:.38,rgb:[177,43,27]},{index:.5,rgb:[192,87,63]},{index:.63,rgb:[205,125,105]},{index:.75,rgb:[216,162,148]},{index:.88,rgb:[227,199,193]},{index:1,rgb:[241,237,236]}],oxygen:[{index:0,rgb:[64,5,5]},{index:.13,rgb:[106,6,15]},{index:.25,rgb:[144,26,7]},{index:.38,rgb:[168,64,3]},{index:.5,rgb:[188,100,4]},{index:.63,rgb:[206,136,11]},{index:.75,rgb:[220,174,25]},{index:.88,rgb:[231,215,44]},{index:1,rgb:[248,254,105]}],par:[{index:0,rgb:[51,20,24]},{index:.13,rgb:[90,32,35]},{index:.25,rgb:[129,44,34]},{index:.38,rgb:[159,68,25]},{index:.5,rgb:[182,99,19]},{index:.63,rgb:[199,134,22]},{index:.75,rgb:[212,171,35]},{index:.88,rgb:[221,210,54]},{index:1,rgb:[225,253,75]}],phase:[{index:0,rgb:[145,105,18]},{index:.13,rgb:[184,71,38]},{index:.25,rgb:[186,58,115]},{index:.38,rgb:[160,71,185]},{index:.5,rgb:[110,97,218]},{index:.63,rgb:[50,123,164]},{index:.75,rgb:[31,131,110]},{index:.88,rgb:[77,129,34]},{index:1,rgb:[145,105,18]}],salinity:[{index:0,rgb:[42,24,108]},{index:.13,rgb:[33,50,162]},{index:.25,rgb:[15,90,145]},{index:.38,rgb:[40,118,137]},{index:.5,rgb:[59,146,135]},{index:.63,rgb:[79,175,126]},{index:.75,rgb:[120,203,104]},{index:.88,rgb:[193,221,100]},{index:1,rgb:[253,239,154]}],temperature:[{index:0,rgb:[4,35,51]},{index:.13,rgb:[23,51,122]},{index:.25,rgb:[85,59,157]},{index:.38,rgb:[129,79,143]},{index:.5,rgb:[175,95,130]},{index:.63,rgb:[222,112,101]},{index:.75,rgb:[249,146,66]},{index:.88,rgb:[249,196,65]},{index:1,rgb:[232,250,91]}],turbidity:[{index:0,rgb:[34,31,27]},{index:.13,rgb:[65,50,41]},{index:.25,rgb:[98,69,52]},{index:.38,rgb:[131,89,57]},{index:.5,rgb:[161,112,59]},{index:.63,rgb:[185,140,66]},{index:.75,rgb:[202,174,88]},{index:.88,rgb:[216,209,126]},{index:1,rgb:[233,246,171]}],\"velocity-blue\":[{index:0,rgb:[17,32,64]},{index:.13,rgb:[35,52,116]},{index:.25,rgb:[29,81,156]},{index:.38,rgb:[31,113,162]},{index:.5,rgb:[50,144,169]},{index:.63,rgb:[87,173,176]},{index:.75,rgb:[149,196,189]},{index:.88,rgb:[203,221,211]},{index:1,rgb:[254,251,230]}],\"velocity-green\":[{index:0,rgb:[23,35,19]},{index:.13,rgb:[24,64,38]},{index:.25,rgb:[11,95,45]},{index:.38,rgb:[39,123,35]},{index:.5,rgb:[95,146,12]},{index:.63,rgb:[152,165,18]},{index:.75,rgb:[201,186,69]},{index:.88,rgb:[233,216,137]},{index:1,rgb:[255,253,205]}],cubehelix:[{index:0,rgb:[0,0,0]},{index:.07,rgb:[22,5,59]},{index:.13,rgb:[60,4,105]},{index:.2,rgb:[109,1,135]},{index:.27,rgb:[161,0,147]},{index:.33,rgb:[210,2,142]},{index:.4,rgb:[251,11,123]},{index:.47,rgb:[255,29,97]},{index:.53,rgb:[255,54,69]},{index:.6,rgb:[255,85,46]},{index:.67,rgb:[255,120,34]},{index:.73,rgb:[255,157,37]},{index:.8,rgb:[241,191,57]},{index:.87,rgb:[224,220,93]},{index:.93,rgb:[218,241,142]},{index:1,rgb:[227,253,198]}]}},6729:function(t,e,r){\"use strict\";var n=r(3642),i=r(395);function a(t){return[t[0]/255,t[1]/255,t[2]/255,t[3]]}function o(t){for(var e,r=\"#\",n=0;n<3;++n)r+=(\"00\"+(e=(e=t[n]).toString(16))).substr(e.length);return r}function s(t){return\"rgba(\"+t.join(\",\")+\")\"}t.exports=function(t){var e,r,l,u,c,f,h,p,d,v;if(t||(t={}),p=(t.nshades||72)-1,h=t.format||\"hex\",(f=t.colormap)||(f=\"jet\"),\"string\"==typeof f){if(f=f.toLowerCase(),!n[f])throw Error(f+\" not a supported colorscale\");c=n[f]}else{if(!Array.isArray(f))throw Error(\"unsupported colormap option\",f);c=f.slice()}if(c.length>p+1)throw new Error(f+\" map requires nshades to be at least size \"+c.length);d=Array.isArray(t.alpha)?2!==t.alpha.length?[1,1]:t.alpha.slice():\"number\"==typeof t.alpha?[t.alpha,t.alpha]:[1,1],e=c.map((function(t){return Math.round(t.index*p)})),d[0]=Math.min(Math.max(d[0],0),1),d[1]=Math.min(Math.max(d[1],0),1);var g=c.map((function(t,e){var r=c[e].index,n=c[e].rgb.slice();return 4===n.length&&n[3]>=0&&n[3]<=1||(n[3]=d[0]+(d[1]-d[0])*r),n})),y=[];for(v=0;v0||l(t,e,a)?-1:1:0===s?u>0||l(t,e,r)?1:-1:i(u-s)}var f=n(t,e,r);return f>0?o>0&&n(t,e,a)>0?1:-1:f<0?o>0||n(t,e,a)>0?1:-1:n(t,e,a)>0||l(t,e,r)?1:-1};var n=r(3250),i=r(8572),a=r(9362),o=r(5382),s=r(8210);function l(t,e,r){var n=a(t[0],-e[0]),i=a(t[1],-e[1]),l=a(r[0],-e[0]),u=a(r[1],-e[1]),c=s(o(n,l),o(i,u));return c[c.length-1]>=0}},8572:function(t){\"use strict\";t.exports=function(t){return t<0?-1:t>0?1:0}},8507:function(t){t.exports=function(t,n){var i=t.length,a=t.length-n.length;if(a)return a;switch(i){case 0:return 0;case 1:return t[0]-n[0];case 2:return t[0]+t[1]-n[0]-n[1]||e(t[0],t[1])-e(n[0],n[1]);case 3:var o=t[0]+t[1],s=n[0]+n[1];if(a=o+t[2]-(s+n[2]))return a;var l=e(t[0],t[1]),u=e(n[0],n[1]);return e(l,t[2])-e(u,n[2])||e(l+t[2],o)-e(u+n[2],s);case 4:var c=t[0],f=t[1],h=t[2],p=t[3],d=n[0],v=n[1],g=n[2],y=n[3];return c+f+h+p-(d+v+g+y)||e(c,f,h,p)-e(d,v,g,y,d)||e(c+f,c+h,c+p,f+h,f+p,h+p)-e(d+v,d+g,d+y,v+g,v+y,g+y)||e(c+f+h,c+f+p,c+h+p,f+h+p)-e(d+v+g,d+v+y,d+g+y,v+g+y);default:for(var m=t.slice().sort(r),x=n.slice().sort(r),b=0;bt[r][0]&&(r=n);return er?[[r],[e]]:[[e]]}},4750:function(t,e,r){\"use strict\";t.exports=function(t){var e=n(t),r=e.length;if(r<=2)return[];for(var i=new Array(r),a=e[r-1],o=0;o=e[l]&&(s+=1);a[o]=s}}return t}(n(a,!0),r)}};var n=r(8954),i=r(3952)},4769:function(t){\"use strict\";t.exports=function(t,e,r,n,i,a){var o=i-1,s=i*i,l=o*o,u=(1+2*i)*l,c=i*l,f=s*(3-2*i),h=s*o;if(t.length){a||(a=new Array(t.length));for(var p=t.length-1;p>=0;--p)a[p]=u*t[p]+c*e[p]+f*r[p]+h*n[p];return a}return u*t+c*e+f*r+h*n},t.exports.derivative=function(t,e,r,n,i,a){var o=6*i*i-6*i,s=3*i*i-4*i+1,l=-6*i*i+6*i,u=3*i*i-2*i;if(t.length){a||(a=new Array(t.length));for(var c=t.length-1;c>=0;--c)a[c]=o*t[c]+s*e[c]+l*r[c]+u*n[c];return a}return o*t+s*e+l*r[c]+u*n}},7642:function(t,e,r){\"use strict\";var n=r(8954),i=r(1682);function a(t,e){this.point=t,this.index=e}function o(t,e){for(var r=t.point,n=e.point,i=r.length,a=0;a=2)return!1;t[r]=n}return!0})):_.filter((function(t){for(var e=0;e<=s;++e){var r=y[t[e]];if(r<0)return!1;t[e]=r}return!0})),1&s)for(c=0;c<_.length;++c)h=(b=_[c])[0],b[0]=b[1],b[1]=h;return _}},2361:function(t){var e=!1;if(\"undefined\"!=typeof Float64Array){var r=new Float64Array(1),n=new Uint32Array(r.buffer);r[0]=1,e=!0,1072693248===n[1]?(t.exports=function(t){return r[0]=t,[n[0],n[1]]},t.exports.pack=function(t,e){return n[0]=t,n[1]=e,r[0]},t.exports.lo=function(t){return r[0]=t,n[0]},t.exports.hi=function(t){return r[0]=t,n[1]}):1072693248===n[0]?(t.exports=function(t){return r[0]=t,[n[1],n[0]]},t.exports.pack=function(t,e){return n[1]=t,n[0]=e,r[0]},t.exports.lo=function(t){return r[0]=t,n[1]},t.exports.hi=function(t){return r[0]=t,n[0]}):e=!1}if(!e){var i=new Buffer(8);t.exports=function(t){return i.writeDoubleLE(t,0,!0),[i.readUInt32LE(0,!0),i.readUInt32LE(4,!0)]},t.exports.pack=function(t,e){return i.writeUInt32LE(t,0,!0),i.writeUInt32LE(e,4,!0),i.readDoubleLE(0,!0)},t.exports.lo=function(t){return i.writeDoubleLE(t,0,!0),i.readUInt32LE(0,!0)},t.exports.hi=function(t){return i.writeDoubleLE(t,0,!0),i.readUInt32LE(4,!0)}}t.exports.sign=function(e){return t.exports.hi(e)>>>31},t.exports.exponent=function(e){return(t.exports.hi(e)<<1>>>21)-1023},t.exports.fraction=function(e){var r=t.exports.lo(e),n=t.exports.hi(e),i=1048575&n;return 2146435072&n&&(i+=1<<20),[r,i]},t.exports.denormalized=function(e){return!(2146435072&t.exports.hi(e))}},1338:function(t){\"use strict\";function e(t,r,n){var i=0|t[n];if(i<=0)return[];var a,o=new Array(i);if(n===t.length-1)for(a=0;a0)return function(t,e){var r,n;for(r=new Array(t),n=0;n=r-1){h=l.length-1;var d=t-e[r-1];for(p=0;p=r-1)for(var c=s.length-1,f=(e[r-1],0);f=0;--r)if(t[--e])return!1;return!0},s.jump=function(t){var e=this.lastT(),r=this.dimension;if(!(t0;--f)n.push(a(l[f-1],u[f-1],arguments[f])),i.push(0)}},s.push=function(t){var e=this.lastT(),r=this.dimension;if(!(t1e-6?1/s:0;this._time.push(t);for(var h=r;h>0;--h){var p=a(u[h-1],c[h-1],arguments[h]);n.push(p),i.push((p-n[o++])*f)}}},s.set=function(t){var e=this.dimension;if(!(t0;--l)r.push(a(o[l-1],s[l-1],arguments[l])),n.push(0)}},s.move=function(t){var e=this.lastT(),r=this.dimension;if(!(t<=e||arguments.length!==r+1)){var n=this._state,i=this._velocity,o=n.length-this.dimension,s=this.bounds,l=s[0],u=s[1],c=t-e,f=c>1e-6?1/c:0;this._time.push(t);for(var h=r;h>0;--h){var p=arguments[h];n.push(a(l[h-1],u[h-1],n[o++]+p)),i.push(p*f)}}},s.idle=function(t){var e=this.lastT();if(!(t=0;--f)n.push(a(l[f],u[f],n[o]+c*i[o])),i.push(0),o+=1}}},3840:function(t){\"use strict\";function e(t,e,r,n,i,a){this._color=t,this.key=e,this.value=r,this.left=n,this.right=i,this._count=a}function r(t){return new e(t._color,t.key,t.value,t.left,t.right,t._count)}function n(t,r){return new e(t,r.key,r.value,r.left,r.right,r._count)}function i(t){t._count=1+(t.left?t.left._count:0)+(t.right?t.right._count:0)}function a(t,e){this._compare=t,this.root=e}t.exports=function(t){return new a(t||p,null)};var o=a.prototype;function s(t,e){var r;return e.left&&(r=s(t,e.left))?r:(r=t(e.key,e.value))||(e.right?s(t,e.right):void 0)}function l(t,e,r,n){if(e(t,n.key)<=0){var i;if(n.left&&(i=l(t,e,r,n.left)))return i;if(i=r(n.key,n.value))return i}if(n.right)return l(t,e,r,n.right)}function u(t,e,r,n,i){var a,o=r(t,i.key),s=r(e,i.key);if(o<=0){if(i.left&&(a=u(t,e,r,n,i.left)))return a;if(s>0&&(a=n(i.key,i.value)))return a}if(s>0&&i.right)return u(t,e,r,n,i.right)}function c(t,e){this.tree=t,this._stack=e}Object.defineProperty(o,\"keys\",{get:function(){var t=[];return this.forEach((function(e,r){t.push(e)})),t}}),Object.defineProperty(o,\"values\",{get:function(){var t=[];return this.forEach((function(e,r){t.push(r)})),t}}),Object.defineProperty(o,\"length\",{get:function(){return this.root?this.root._count:0}}),o.insert=function(t,r){for(var o=this._compare,s=this.root,l=[],u=[];s;){var c=o(t,s.key);l.push(s),u.push(c),s=c<=0?s.left:s.right}l.push(new e(0,t,r,null,null,1));for(var f=l.length-2;f>=0;--f)s=l[f],u[f]<=0?l[f]=new e(s._color,s.key,s.value,l[f+1],s.right,s._count+1):l[f]=new e(s._color,s.key,s.value,s.left,l[f+1],s._count+1);for(f=l.length-1;f>1;--f){var h=l[f-1];if(s=l[f],1===h._color||1===s._color)break;var p=l[f-2];if(p.left===h)if(h.left===s){if(!(d=p.right)||0!==d._color){p._color=0,p.left=h.right,h._color=1,h.right=p,l[f-2]=h,l[f-1]=s,i(p),i(h),f>=3&&((v=l[f-3]).left===p?v.left=h:v.right=h);break}h._color=1,p.right=n(1,d),p._color=0,f-=1}else{if(!(d=p.right)||0!==d._color){h.right=s.left,p._color=0,p.left=s.right,s._color=1,s.left=h,s.right=p,l[f-2]=s,l[f-1]=h,i(p),i(h),i(s),f>=3&&((v=l[f-3]).left===p?v.left=s:v.right=s);break}h._color=1,p.right=n(1,d),p._color=0,f-=1}else if(h.right===s){if(!(d=p.left)||0!==d._color){p._color=0,p.right=h.left,h._color=1,h.left=p,l[f-2]=h,l[f-1]=s,i(p),i(h),f>=3&&((v=l[f-3]).right===p?v.right=h:v.left=h);break}h._color=1,p.left=n(1,d),p._color=0,f-=1}else{var d;if(!(d=p.left)||0!==d._color){var v;h.left=s.right,p._color=0,p.right=s.left,s._color=1,s.right=h,s.left=p,l[f-2]=s,l[f-1]=h,i(p),i(h),i(s),f>=3&&((v=l[f-3]).right===p?v.right=s:v.left=s);break}h._color=1,p.left=n(1,d),p._color=0,f-=1}}return l[0]._color=1,new a(o,l[0])},o.forEach=function(t,e,r){if(this.root)switch(arguments.length){case 1:return s(t,this.root);case 2:return l(e,this._compare,t,this.root);case 3:if(this._compare(e,r)>=0)return;return u(e,r,this._compare,t,this.root)}},Object.defineProperty(o,\"begin\",{get:function(){for(var t=[],e=this.root;e;)t.push(e),e=e.left;return new c(this,t)}}),Object.defineProperty(o,\"end\",{get:function(){for(var t=[],e=this.root;e;)t.push(e),e=e.right;return new c(this,t)}}),o.at=function(t){if(t<0)return new c(this,[]);for(var e=this.root,r=[];;){if(r.push(e),e.left){if(t=e.right._count)break;e=e.right}return new c(this,[])},o.ge=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a<=0&&(i=n.length),r=a<=0?r.left:r.right}return n.length=i,new c(this,n)},o.gt=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a<0&&(i=n.length),r=a<0?r.left:r.right}return n.length=i,new c(this,n)},o.lt=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a>0&&(i=n.length),r=a<=0?r.left:r.right}return n.length=i,new c(this,n)},o.le=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a>=0&&(i=n.length),r=a<0?r.left:r.right}return n.length=i,new c(this,n)},o.find=function(t){for(var e=this._compare,r=this.root,n=[];r;){var i=e(t,r.key);if(n.push(r),0===i)return new c(this,n);r=i<=0?r.left:r.right}return new c(this,[])},o.remove=function(t){var e=this.find(t);return e?e.remove():this},o.get=function(t){for(var e=this._compare,r=this.root;r;){var n=e(t,r.key);if(0===n)return r.value;r=n<=0?r.left:r.right}};var f=c.prototype;function h(t,e){t.key=e.key,t.value=e.value,t.left=e.left,t.right=e.right,t._color=e._color,t._count=e._count}function p(t,e){return te?1:0}Object.defineProperty(f,\"valid\",{get:function(){return this._stack.length>0}}),Object.defineProperty(f,\"node\",{get:function(){return this._stack.length>0?this._stack[this._stack.length-1]:null},enumerable:!0}),f.clone=function(){return new c(this.tree,this._stack.slice())},f.remove=function(){var t=this._stack;if(0===t.length)return this.tree;var o=new Array(t.length),s=t[t.length-1];o[o.length-1]=new e(s._color,s.key,s.value,s.left,s.right,s._count);for(var l=t.length-2;l>=0;--l)(s=t[l]).left===t[l+1]?o[l]=new e(s._color,s.key,s.value,o[l+1],s.right,s._count):o[l]=new e(s._color,s.key,s.value,s.left,o[l+1],s._count);if((s=o[o.length-1]).left&&s.right){var u=o.length;for(s=s.left;s.right;)o.push(s),s=s.right;var c=o[u-1];for(o.push(new e(s._color,c.key,c.value,s.left,s.right,s._count)),o[u-1].key=s.key,o[u-1].value=s.value,l=o.length-2;l>=u;--l)s=o[l],o[l]=new e(s._color,s.key,s.value,s.left,o[l+1],s._count);o[u-1].left=o[u]}if(0===(s=o[o.length-1])._color){var f=o[o.length-2];for(f.left===s?f.left=null:f.right===s&&(f.right=null),o.pop(),l=0;l=0;--l){if(e=t[l],0===l)return void(e._color=1);if((a=t[l-1]).left===e){if((o=a.right).right&&0===o.right._color)return s=(o=a.right=r(o)).right=r(o.right),a.right=o.left,o.left=a,o.right=s,o._color=a._color,e._color=1,a._color=1,s._color=1,i(a),i(o),l>1&&((u=t[l-2]).left===a?u.left=o:u.right=o),void(t[l-1]=o);if(o.left&&0===o.left._color)return s=(o=a.right=r(o)).left=r(o.left),a.right=s.left,o.left=s.right,s.left=a,s.right=o,s._color=a._color,a._color=1,o._color=1,e._color=1,i(a),i(o),i(s),l>1&&((u=t[l-2]).left===a?u.left=s:u.right=s),void(t[l-1]=s);if(1===o._color){if(0===a._color)return a._color=1,void(a.right=n(0,o));a.right=n(0,o);continue}o=r(o),a.right=o.left,o.left=a,o._color=a._color,a._color=0,i(a),i(o),l>1&&((u=t[l-2]).left===a?u.left=o:u.right=o),t[l-1]=o,t[l]=a,l+11&&((u=t[l-2]).right===a?u.right=o:u.left=o),void(t[l-1]=o);if(o.right&&0===o.right._color)return s=(o=a.left=r(o)).right=r(o.right),a.left=s.right,o.right=s.left,s.right=a,s.left=o,s._color=a._color,a._color=1,o._color=1,e._color=1,i(a),i(o),i(s),l>1&&((u=t[l-2]).right===a?u.right=s:u.left=s),void(t[l-1]=s);if(1===o._color){if(0===a._color)return a._color=1,void(a.left=n(0,o));a.left=n(0,o);continue}var u;o=r(o),a.left=o.right,o.right=a,o._color=a._color,a._color=0,i(a),i(o),l>1&&((u=t[l-2]).right===a?u.right=o:u.left=o),t[l-1]=o,t[l]=a,l+10)return this._stack[this._stack.length-1].key},enumerable:!0}),Object.defineProperty(f,\"value\",{get:function(){if(this._stack.length>0)return this._stack[this._stack.length-1].value},enumerable:!0}),Object.defineProperty(f,\"index\",{get:function(){var t=0,e=this._stack;if(0===e.length){var r=this.tree.root;return r?r._count:0}e[e.length-1].left&&(t=e[e.length-1].left._count);for(var n=e.length-2;n>=0;--n)e[n+1]===e[n].right&&(++t,e[n].left&&(t+=e[n].left._count));return t},enumerable:!0}),f.next=function(){var t=this._stack;if(0!==t.length){var e=t[t.length-1];if(e.right)for(e=e.right;e;)t.push(e),e=e.left;else for(t.pop();t.length>0&&t[t.length-1].right===e;)e=t[t.length-1],t.pop()}},Object.defineProperty(f,\"hasNext\",{get:function(){var t=this._stack;if(0===t.length)return!1;if(t[t.length-1].right)return!0;for(var e=t.length-1;e>0;--e)if(t[e-1].left===t[e])return!0;return!1}}),f.update=function(t){var r=this._stack;if(0===r.length)throw new Error(\"Can't update empty node!\");var n=new Array(r.length),i=r[r.length-1];n[n.length-1]=new e(i._color,i.key,t,i.left,i.right,i._count);for(var o=r.length-2;o>=0;--o)(i=r[o]).left===r[o+1]?n[o]=new e(i._color,i.key,i.value,n[o+1],i.right,i._count):n[o]=new e(i._color,i.key,i.value,i.left,n[o+1],i._count);return new a(this.tree._compare,n[0])},f.prev=function(){var t=this._stack;if(0!==t.length){var e=t[t.length-1];if(e.left)for(e=e.left;e;)t.push(e),e=e.right;else for(t.pop();t.length>0&&t[t.length-1].left===e;)e=t[t.length-1],t.pop()}},Object.defineProperty(f,\"hasPrev\",{get:function(){var t=this._stack;if(0===t.length)return!1;if(t[t.length-1].left)return!0;for(var e=t.length-1;e>0;--e)if(t[e-1].right===t[e])return!0;return!1}})},3837:function(t,e,r){\"use strict\";t.exports=function(t,e){var r=new c(t);return r.update(e),r};var n=r(4935),i=r(501),a=r(5304),o=r(6429),s=r(6444),l=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]);function u(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function c(t){this.gl=t,this.pixelRatio=1,this.bounds=[[-10,-10,-10],[10,10,10]],this.ticks=[[],[],[]],this.autoTicks=!0,this.tickSpacing=[1,1,1],this.tickEnable=[!0,!0,!0],this.tickFont=[\"sans-serif\",\"sans-serif\",\"sans-serif\"],this.tickFontStyle=[\"normal\",\"normal\",\"normal\"],this.tickFontWeight=[\"normal\",\"normal\",\"normal\"],this.tickFontVariant=[\"normal\",\"normal\",\"normal\"],this.tickSize=[12,12,12],this.tickAngle=[0,0,0],this.tickAlign=[\"auto\",\"auto\",\"auto\"],this.tickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.tickPad=[10,10,10],this.lastCubeProps={cubeEdges:[0,0,0],axis:[0,0,0]},this.labels=[\"x\",\"y\",\"z\"],this.labelEnable=[!0,!0,!0],this.labelFont=[\"sans-serif\",\"sans-serif\",\"sans-serif\"],this.labelFontStyle=[\"normal\",\"normal\",\"normal\"],this.labelFontWeight=[\"normal\",\"normal\",\"normal\"],this.labelFontVariant=[\"normal\",\"normal\",\"normal\"],this.labelSize=[20,20,20],this.labelAngle=[0,0,0],this.labelAlign=[\"auto\",\"auto\",\"auto\"],this.labelColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.labelPad=[10,10,10],this.lineEnable=[!0,!0,!0],this.lineMirror=[!1,!1,!1],this.lineWidth=[1,1,1],this.lineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.lineTickEnable=[!0,!0,!0],this.lineTickMirror=[!1,!1,!1],this.lineTickLength=[0,0,0],this.lineTickWidth=[1,1,1],this.lineTickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.gridEnable=[!0,!0,!0],this.gridWidth=[1,1,1],this.gridColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.zeroEnable=[!0,!0,!0],this.zeroLineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.zeroLineWidth=[2,2,2],this.backgroundEnable=[!1,!1,!1],this.backgroundColor=[[.8,.8,.8,.5],[.8,.8,.8,.5],[.8,.8,.8,.5]],this._firstInit=!0,this._text=null,this._lines=null,this._background=a(t)}var f=c.prototype;function h(){this.primalOffset=[0,0,0],this.primalMinor=[0,0,0],this.mirrorOffset=[0,0,0],this.mirrorMinor=[0,0,0]}f.update=function(t){function e(e,r,n){if(n in t){var i,a=t[n],o=this[n];(e?Array.isArray(a)&&Array.isArray(a[0]):Array.isArray(a))?this[n]=i=[r(a[0]),r(a[1]),r(a[2])]:this[n]=i=[r(a),r(a),r(a)];for(var s=0;s<3;++s)if(i[s]!==o[s])return!0}return!1}t=t||{};var r,a=e.bind(this,!1,Number),o=e.bind(this,!1,Boolean),l=e.bind(this,!1,String),u=e.bind(this,!0,(function(t){if(Array.isArray(t)){if(3===t.length)return[+t[0],+t[1],+t[2],1];if(4===t.length)return[+t[0],+t[1],+t[2],+t[3]]}return[0,0,0,1]})),c=!1,f=!1;if(\"bounds\"in t)for(var h=t.bounds,p=0;p<2;++p)for(var d=0;d<3;++d)h[p][d]!==this.bounds[p][d]&&(f=!0),this.bounds[p][d]=h[p][d];if(\"ticks\"in t)for(r=t.ticks,c=!0,this.autoTicks=!1,p=0;p<3;++p)this.tickSpacing[p]=0;else a(\"tickSpacing\")&&(this.autoTicks=!0,f=!0);if(this._firstInit&&(\"ticks\"in t||\"tickSpacing\"in t||(this.autoTicks=!0),f=!0,c=!0,this._firstInit=!1),f&&this.autoTicks&&(r=s.create(this.bounds,this.tickSpacing),c=!0),c){for(p=0;p<3;++p)r[p].sort((function(t,e){return t.x-e.x}));s.equal(r,this.ticks)?c=!1:this.ticks=r}o(\"tickEnable\"),l(\"tickFont\")&&(c=!0),l(\"tickFontStyle\")&&(c=!0),l(\"tickFontWeight\")&&(c=!0),l(\"tickFontVariant\")&&(c=!0),a(\"tickSize\"),a(\"tickAngle\"),a(\"tickPad\"),u(\"tickColor\");var v=l(\"labels\");l(\"labelFont\")&&(v=!0),l(\"labelFontStyle\")&&(v=!0),l(\"labelFontWeight\")&&(v=!0),l(\"labelFontVariant\")&&(v=!0),o(\"labelEnable\"),a(\"labelSize\"),a(\"labelPad\"),u(\"labelColor\"),o(\"lineEnable\"),o(\"lineMirror\"),a(\"lineWidth\"),u(\"lineColor\"),o(\"lineTickEnable\"),o(\"lineTickMirror\"),a(\"lineTickLength\"),a(\"lineTickWidth\"),u(\"lineTickColor\"),o(\"gridEnable\"),a(\"gridWidth\"),u(\"gridColor\"),o(\"zeroEnable\"),u(\"zeroLineColor\"),a(\"zeroLineWidth\"),o(\"backgroundEnable\"),u(\"backgroundColor\");var g=[{family:this.labelFont[0],style:this.labelFontStyle[0],weight:this.labelFontWeight[0],variant:this.labelFontVariant[0]},{family:this.labelFont[1],style:this.labelFontStyle[1],weight:this.labelFontWeight[1],variant:this.labelFontVariant[1]},{family:this.labelFont[2],style:this.labelFontStyle[2],weight:this.labelFontWeight[2],variant:this.labelFontVariant[2]}],y=[{family:this.tickFont[0],style:this.tickFontStyle[0],weight:this.tickFontWeight[0],variant:this.tickFontVariant[0]},{family:this.tickFont[1],style:this.tickFontStyle[1],weight:this.tickFontWeight[1],variant:this.tickFontVariant[1]},{family:this.tickFont[2],style:this.tickFontStyle[2],weight:this.tickFontWeight[2],variant:this.tickFontVariant[2]}];this._text?this._text&&(v||c)&&this._text.update(this.bounds,this.labels,g,this.ticks,y):this._text=n(this.gl,this.bounds,this.labels,g,this.ticks,y),this._lines&&c&&(this._lines.dispose(),this._lines=null),this._lines||(this._lines=i(this.gl,this.bounds,this.ticks))};var p=[new h,new h,new h];function d(t,e,r,n,i){for(var a=t.primalOffset,o=t.primalMinor,s=t.mirrorOffset,l=t.mirrorMinor,u=n[e],c=0;c<3;++c)if(e!==c){var f=a,h=s,p=o,d=l;u&1<0?(p[c]=-1,d[c]=0):(p[c]=0,d[c]=1)}}var v=[0,0,0],g={model:l,view:l,projection:l,_ortho:!1};f.isOpaque=function(){return!0},f.isTransparent=function(){return!1},f.drawTransparent=function(t){};var y=[0,0,0],m=[0,0,0],x=[0,0,0];f.draw=function(t){t=t||g;for(var e=this.gl,r=t.model||l,n=t.view||l,i=t.projection||l,a=this.bounds,s=t._ortho||!1,c=o(r,n,i,a,s),f=c.cubeEdges,h=c.axis,b=n[12],_=n[13],w=n[14],T=n[15],k=(s?2:1)*this.pixelRatio*(i[3]*b+i[7]*_+i[11]*w+i[15]*T)/e.drawingBufferHeight,A=0;A<3;++A)this.lastCubeProps.cubeEdges[A]=f[A],this.lastCubeProps.axis[A]=h[A];var M=p;for(A=0;A<3;++A)d(p[A],A,this.bounds,f,h);e=this.gl;var S,E,L,C=v;for(A=0;A<3;++A)this.backgroundEnable[A]?C[A]=h[A]:C[A]=0;for(this._background.draw(r,n,i,a,C,this.backgroundColor),this._lines.bind(r,n,i,this),A=0;A<3;++A){var P=[0,0,0];h[A]>0?P[A]=a[1][A]:P[A]=a[0][A];for(var O=0;O<2;++O){var I=(A+1+O)%3,z=(A+1+(1^O))%3;this.gridEnable[I]&&this._lines.drawGrid(I,z,this.bounds,P,this.gridColor[I],this.gridWidth[I]*this.pixelRatio)}for(O=0;O<2;++O)I=(A+1+O)%3,z=(A+1+(1^O))%3,this.zeroEnable[z]&&Math.min(a[0][z],a[1][z])<=0&&Math.max(a[0][z],a[1][z])>=0&&this._lines.drawZero(I,z,this.bounds,P,this.zeroLineColor[z],this.zeroLineWidth[z]*this.pixelRatio)}for(A=0;A<3;++A){this.lineEnable[A]&&this._lines.drawAxisLine(A,this.bounds,M[A].primalOffset,this.lineColor[A],this.lineWidth[A]*this.pixelRatio),this.lineMirror[A]&&this._lines.drawAxisLine(A,this.bounds,M[A].mirrorOffset,this.lineColor[A],this.lineWidth[A]*this.pixelRatio);var D=u(y,M[A].primalMinor),R=u(m,M[A].mirrorMinor),F=this.lineTickLength;for(O=0;O<3;++O){var B=k/r[5*O];D[O]*=F[O]*B,R[O]*=F[O]*B}this.lineTickEnable[A]&&this._lines.drawAxisTicks(A,M[A].primalOffset,D,this.lineTickColor[A],this.lineTickWidth[A]*this.pixelRatio),this.lineTickMirror[A]&&this._lines.drawAxisTicks(A,M[A].mirrorOffset,R,this.lineTickColor[A],this.lineTickWidth[A]*this.pixelRatio)}function N(t){(L=[0,0,0])[t]=1}function j(t,e,r){var n=(t+1)%3,i=(t+2)%3,a=e[n],o=e[i],s=r[n],l=r[i];a>0&&l>0||a>0&&l<0||a<0&&l>0||a<0&&l<0?N(n):(o>0&&s>0||o>0&&s<0||o<0&&s>0||o<0&&s<0)&&N(i)}for(this._lines.unbind(),this._text.bind(r,n,i,this.pixelRatio),A=0;A<3;++A){var U=M[A].primalMinor,V=M[A].mirrorMinor,q=u(x,M[A].primalOffset);for(O=0;O<3;++O)this.lineTickEnable[A]&&(q[O]+=k*U[O]*Math.max(this.lineTickLength[O],0)/r[5*O]);var H=[0,0,0];if(H[A]=1,this.tickEnable[A]){for(-3600===this.tickAngle[A]?(this.tickAngle[A]=0,this.tickAlign[A]=\"auto\"):this.tickAlign[A]=-1,E=1,\"auto\"===(S=[this.tickAlign[A],.5,E])[0]?S[0]=0:S[0]=parseInt(\"\"+S[0]),L=[0,0,0],j(A,U,V),O=0;O<3;++O)q[O]+=k*U[O]*this.tickPad[O]/r[5*O];this._text.drawTicks(A,this.tickSize[A],this.tickAngle[A],q,this.tickColor[A],H,L,S)}if(this.labelEnable[A]){for(E=0,L=[0,0,0],this.labels[A].length>4&&(N(A),E=1),\"auto\"===(S=[this.labelAlign[A],.5,E])[0]?S[0]=0:S[0]=parseInt(\"\"+S[0]),O=0;O<3;++O)q[O]+=k*U[O]*this.labelPad[O]/r[5*O];q[A]+=.5*(a[0][A]+a[1][A]),this._text.drawLabel(A,this.labelSize[A],this.labelAngle[A],q,this.labelColor[A],[0,0,0],L,S)}}this._text.unbind()},f.dispose=function(){this._text.dispose(),this._lines.dispose(),this._background.dispose(),this._lines=null,this._text=null,this._background=null,this.gl=null}},5304:function(t,e,r){\"use strict\";t.exports=function(t){for(var e=[],r=[],s=0,l=0;l<3;++l)for(var u=(l+1)%3,c=(l+2)%3,f=[0,0,0],h=[0,0,0],p=-1;p<=1;p+=2){r.push(s,s+2,s+1,s+1,s+2,s+3),f[l]=p,h[l]=p;for(var d=-1;d<=1;d+=2){f[u]=d;for(var v=-1;v<=1;v+=2)f[c]=v,e.push(f[0],f[1],f[2],h[0],h[1],h[2]),s+=1}var g=u;u=c,c=g}var y=n(t,new Float32Array(e)),m=n(t,new Uint16Array(r),t.ELEMENT_ARRAY_BUFFER),x=i(t,[{buffer:y,type:t.FLOAT,size:3,offset:0,stride:24},{buffer:y,type:t.FLOAT,size:3,offset:12,stride:24}],m),b=a(t);return b.attributes.position.location=0,b.attributes.normal.location=1,new o(t,y,x,b)};var n=r(2762),i=r(8116),a=r(1879).bg;function o(t,e,r,n){this.gl=t,this.buffer=e,this.vao=r,this.shader=n}var s=o.prototype;s.draw=function(t,e,r,n,i,a){for(var o=!1,s=0;s<3;++s)o=o||i[s];if(o){var l=this.gl;l.enable(l.POLYGON_OFFSET_FILL),l.polygonOffset(1,2),this.shader.bind(),this.shader.uniforms={model:t,view:e,projection:r,bounds:n,enable:i,colors:a},this.vao.bind(),this.vao.draw(this.gl.TRIANGLES,36),this.vao.unbind(),l.disable(l.POLYGON_OFFSET_FILL)}},s.dispose=function(){this.vao.dispose(),this.buffer.dispose(),this.shader.dispose()}},6429:function(t,e,r){\"use strict\";t.exports=function(t,e,r,a,p){i(s,e,t),i(s,r,s);for(var m=0,x=0;x<2;++x){c[2]=a[x][2];for(var b=0;b<2;++b){c[1]=a[b][1];for(var _=0;_<2;++_)c[0]=a[_][0],h(l[m],c,s),m+=1}}var w=-1;for(x=0;x<8;++x){for(var T=l[x][3],k=0;k<3;++k)u[x][k]=l[x][k]/T;p&&(u[x][2]*=-1),T<0&&(w<0||u[x][2]E&&(w|=1<E&&(w|=1<u[x][1])&&(R=x);var F=-1;for(x=0;x<3;++x)(N=R^1<u[B][0]&&(B=N))}var j=v;j[0]=j[1]=j[2]=0,j[n.log2(F^R)]=R&F,j[n.log2(R^B)]=R&B;var U=7^B;U===w||U===D?(U=7^F,j[n.log2(B^U)]=U&B):j[n.log2(F^U)]=U&F;var V=g,q=w;for(A=0;A<3;++A)V[A]=q&1< HALF_PI) && (b <= ONE_AND_HALF_PI)) ?\\n b - PI :\\n b;\\n}\\n\\nfloat look_horizontal_or_vertical(float a, float ratio) {\\n // ratio controls the ratio between being horizontal to (vertical + horizontal)\\n // if ratio is set to 0.5 then it is 50%, 50%.\\n // when using a higher ratio e.g. 0.75 the result would\\n // likely be more horizontal than vertical.\\n\\n float b = positive_angle(a);\\n\\n return\\n (b < ( ratio) * HALF_PI) ? 0.0 :\\n (b < (2.0 - ratio) * HALF_PI) ? -HALF_PI :\\n (b < (2.0 + ratio) * HALF_PI) ? 0.0 :\\n (b < (4.0 - ratio) * HALF_PI) ? HALF_PI :\\n 0.0;\\n}\\n\\nfloat roundTo(float a, float b) {\\n return float(b * floor((a + 0.5 * b) / b));\\n}\\n\\nfloat look_round_n_directions(float a, int n) {\\n float b = positive_angle(a);\\n float div = TWO_PI / float(n);\\n float c = roundTo(b, div);\\n return look_upwards(c);\\n}\\n\\nfloat applyAlignOption(float rawAngle, float delta) {\\n return\\n (option > 2) ? look_round_n_directions(rawAngle + delta, option) : // option 3-n: round to n directions\\n (option == 2) ? look_horizontal_or_vertical(rawAngle + delta, hv_ratio) : // horizontal or vertical\\n (option == 1) ? rawAngle + delta : // use free angle, and flip to align with one direction of the axis\\n (option == 0) ? look_upwards(rawAngle) : // use free angle, and stay upwards\\n (option ==-1) ? 0.0 : // useful for backward compatibility, all texts remains horizontal\\n rawAngle; // otherwise return back raw input angle\\n}\\n\\nbool isAxisTitle = (axis.x == 0.0) &&\\n (axis.y == 0.0) &&\\n (axis.z == 0.0);\\n\\nvoid main() {\\n //Compute world offset\\n float axisDistance = position.z;\\n vec3 dataPosition = axisDistance * axis + offset;\\n\\n float beta = angle; // i.e. user defined attributes for each tick\\n\\n float axisAngle;\\n float clipAngle;\\n float flip;\\n\\n if (enableAlign) {\\n axisAngle = (isAxisTitle) ? HALF_PI :\\n computeViewAngle(dataPosition, dataPosition + axis);\\n clipAngle = computeViewAngle(dataPosition, dataPosition + alignDir);\\n\\n axisAngle += (sin(axisAngle) < 0.0) ? PI : 0.0;\\n clipAngle += (sin(clipAngle) < 0.0) ? PI : 0.0;\\n\\n flip = (dot(vec2(cos(axisAngle), sin(axisAngle)),\\n vec2(sin(clipAngle),-cos(clipAngle))) > 0.0) ? 1.0 : 0.0;\\n\\n beta += applyAlignOption(clipAngle, flip * PI);\\n }\\n\\n //Compute plane offset\\n vec2 planeCoord = position.xy * pixelScale;\\n\\n mat2 planeXform = scale * mat2(\\n cos(beta), sin(beta),\\n -sin(beta), cos(beta)\\n );\\n\\n vec2 viewOffset = 2.0 * planeXform * planeCoord / resolution;\\n\\n //Compute clip position\\n vec3 clipPosition = project(dataPosition);\\n\\n //Apply text offset in clip coordinates\\n clipPosition += vec3(viewOffset, 0.0);\\n\\n //Done\\n gl_Position = vec4(clipPosition, 1.0);\\n}\"]),l=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nuniform vec4 color;\\nvoid main() {\\n gl_FragColor = color;\\n}\"]);e.Q=function(t){return i(t,s,l,null,[{name:\"position\",type:\"vec3\"}])};var u=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec3 position;\\nattribute vec3 normal;\\n\\nuniform mat4 model, view, projection;\\nuniform vec3 enable;\\nuniform vec3 bounds[2];\\n\\nvarying vec3 colorChannel;\\n\\nvoid main() {\\n\\n vec3 signAxis = sign(bounds[1] - bounds[0]);\\n\\n vec3 realNormal = signAxis * normal;\\n\\n if(dot(realNormal, enable) > 0.0) {\\n vec3 minRange = min(bounds[0], bounds[1]);\\n vec3 maxRange = max(bounds[0], bounds[1]);\\n vec3 nPosition = mix(minRange, maxRange, 0.5 * (position + 1.0));\\n gl_Position = projection * view * model * vec4(nPosition, 1.0);\\n } else {\\n gl_Position = vec4(0,0,0,0);\\n }\\n\\n colorChannel = abs(realNormal);\\n}\"]),c=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nuniform vec4 colors[3];\\n\\nvarying vec3 colorChannel;\\n\\nvoid main() {\\n gl_FragColor = colorChannel.x * colors[0] +\\n colorChannel.y * colors[1] +\\n colorChannel.z * colors[2];\\n}\"]);e.bg=function(t){return i(t,u,c,null,[{name:\"position\",type:\"vec3\"},{name:\"normal\",type:\"vec3\"}])}},4935:function(t,e,r){\"use strict\";t.exports=function(t,e,r,n,o,l){var u=i(t),f=a(t,[{buffer:u,size:3}]),h=s(t);h.attributes.position.location=0;var p=new c(t,h,u,f);return p.update(e,r,n,o,l),p};var i=r(2762),a=r(8116),o=r(4359),s=r(1879).Q,l=window||n.global||{},u=l.__TEXT_CACHE||{};function c(t,e,r,n){this.gl=t,this.shader=e,this.buffer=r,this.vao=n,this.tickOffset=this.tickCount=this.labelOffset=this.labelCount=null}l.__TEXT_CACHE={};var f=c.prototype,h=[0,0];f.bind=function(t,e,r,n){this.vao.bind(),this.shader.bind();var i=this.shader.uniforms;i.model=t,i.view=e,i.projection=r,i.pixelScale=n,h[0]=this.gl.drawingBufferWidth,h[1]=this.gl.drawingBufferHeight,this.shader.uniforms.resolution=h},f.unbind=function(){this.vao.unbind()},f.update=function(t,e,r,n,i){var a=[];function s(t,e,r,n,i,s){var l=[r.style,r.weight,r.variant,r.family].join(\"_\"),c=u[l];c||(c=u[l]={});var f=c[e];f||(f=c[e]=function(t,e){try{return o(t,e)}catch(e){return console.warn('error vectorizing text:\"'+t+'\" error:',e),{cells:[],positions:[]}}}(e,{triangles:!0,font:r.family,fontStyle:r.style,fontWeight:r.weight,fontVariant:r.variant,textAlign:\"center\",textBaseline:\"middle\",lineSpacing:i,styletags:s}));for(var h=(n||12)/12,p=f.positions,d=f.cells,v=0,g=d.length;v=0;--m){var x=p[y[m]];a.push(h*x[0],-h*x[1],t)}}for(var l=[0,0,0],c=[0,0,0],f=[0,0,0],h=[0,0,0],p={breaklines:!0,bolds:!0,italics:!0,subscripts:!0,superscripts:!0},d=0;d<3;++d){f[d]=a.length/3|0,s(.5*(t[0][d]+t[1][d]),e[d],r[d],12,1.25,p),h[d]=(a.length/3|0)-f[d],l[d]=a.length/3|0;for(var v=0;v=0&&(i=r.length-n-1);var a=Math.pow(10,i),o=Math.round(t*e*a),s=o+\"\";if(s.indexOf(\"e\")>=0)return s;var l=o/a,u=o%a;o<0?(l=0|-Math.ceil(l),u=0|-u):(l=0|Math.floor(l),u|=0);var c=\"\"+l;if(o<0&&(c=\"-\"+c),i){for(var f=\"\"+u;f.length=t[0][i];--o)a.push({x:o*e[i],text:r(e[i],o)});n.push(a)}return n},e.equal=function(t,e){for(var r=0;r<3;++r){if(t[r].length!==e[r].length)return!1;for(var n=0;nr)throw new Error(\"gl-buffer: If resizing buffer, must not specify offset\");return t.bufferSubData(e,a,i),r}function c(t,e){for(var r=n.malloc(t.length,e),i=t.length,a=0;a=0;--n){if(e[n]!==r)return!1;r*=t[n]}return!0}(t.shape,t.stride))0===t.offset&&t.data.length===t.shape[0]?this.length=u(this.gl,this.type,this.length,this.usage,t.data,e):this.length=u(this.gl,this.type,this.length,this.usage,t.data.subarray(t.offset,t.shape[0]),e);else{var s=n.malloc(t.size,r),l=a(s,t.shape);i.assign(l,t),this.length=u(this.gl,this.type,this.length,this.usage,e<0?s:s.subarray(0,t.size),e),n.free(s)}}else if(Array.isArray(t)){var f;f=this.type===this.gl.ELEMENT_ARRAY_BUFFER?c(t,\"uint16\"):c(t,\"float32\"),this.length=u(this.gl,this.type,this.length,this.usage,e<0?f:f.subarray(0,t.length),e),n.free(f)}else if(\"object\"==typeof t&&\"number\"==typeof t.length)this.length=u(this.gl,this.type,this.length,this.usage,t,e);else{if(\"number\"!=typeof t&&void 0!==t)throw new Error(\"gl-buffer: Invalid data type\");if(e>=0)throw new Error(\"gl-buffer: Cannot specify offset when resizing buffer\");(t|=0)<=0&&(t=1),this.gl.bufferData(this.type,0|t,this.usage),this.length=t}},t.exports=function(t,e,r,n){if(r=r||t.ARRAY_BUFFER,n=n||t.DYNAMIC_DRAW,r!==t.ARRAY_BUFFER&&r!==t.ELEMENT_ARRAY_BUFFER)throw new Error(\"gl-buffer: Invalid type for webgl buffer, must be either gl.ARRAY_BUFFER or gl.ELEMENT_ARRAY_BUFFER\");if(n!==t.DYNAMIC_DRAW&&n!==t.STATIC_DRAW&&n!==t.STREAM_DRAW)throw new Error(\"gl-buffer: Invalid usage for buffer, must be either gl.DYNAMIC_DRAW, gl.STATIC_DRAW or gl.STREAM_DRAW\");var i=t.createBuffer(),a=new s(t,r,i,0,n);return a.update(e),a}},6405:function(t,e,r){\"use strict\";var n=r(2931);t.exports=function(t,e){var r=t.positions,i=t.vectors,a={positions:[],vertexIntensity:[],vertexIntensityBounds:t.vertexIntensityBounds,vectors:[],cells:[],coneOffset:t.coneOffset,colormap:t.colormap};if(0===t.positions.length)return e&&(e[0]=[0,0,0],e[1]=[0,0,0]),a;for(var o=0,s=1/0,l=-1/0,u=1/0,c=-1/0,f=1/0,h=-1/0,p=null,d=null,v=[],g=1/0,y=!1,m=\"raw\"===t.coneSizemode,x=0;xo&&(o=n.length(_)),x&&!m){var w=2*n.distance(p,b)/(n.length(d)+n.length(_));w?(g=Math.min(g,w),y=!1):y=!0}y||(p=b,d=_),v.push(_)}var T=[s,u,f],k=[l,c,h];e&&(e[0]=T,e[1]=k),0===o&&(o=1);var A=1/o;isFinite(g)||(g=1),a.vectorScale=g;var M=t.coneSize||(m?1:.5);t.absoluteConeSize&&(M=t.absoluteConeSize*A),a.coneScale=M,x=0;for(var S=0;x=1},p.isTransparent=function(){return this.opacity<1},p.pickSlots=1,p.setPickBase=function(t){this.pickId=t},p.update=function(t){t=t||{};var e=this.gl;this.dirty=!0,\"lightPosition\"in t&&(this.lightPosition=t.lightPosition),\"opacity\"in t&&(this.opacity=t.opacity),\"ambient\"in t&&(this.ambientLight=t.ambient),\"diffuse\"in t&&(this.diffuseLight=t.diffuse),\"specular\"in t&&(this.specularLight=t.specular),\"roughness\"in t&&(this.roughness=t.roughness),\"fresnel\"in t&&(this.fresnel=t.fresnel),void 0!==t.tubeScale&&(this.tubeScale=t.tubeScale),void 0!==t.vectorScale&&(this.vectorScale=t.vectorScale),void 0!==t.coneScale&&(this.coneScale=t.coneScale),void 0!==t.coneOffset&&(this.coneOffset=t.coneOffset),t.colormap&&(this.texture.shape=[256,256],this.texture.minFilter=e.LINEAR_MIPMAP_LINEAR,this.texture.magFilter=e.LINEAR,this.texture.setPixels(function(t){for(var e=c({colormap:t,nshades:256,format:\"rgba\"}),r=new Uint8Array(1024),n=0;n<256;++n){for(var i=e[n],a=0;a<3;++a)r[4*n+a]=i[a];r[4*n+3]=255*i[3]}return u(r,[256,256,4],[4,0,1])}(t.colormap)),this.texture.generateMipmap());var r=t.cells,n=t.positions,i=t.vectors;if(n&&r&&i){var a=[],o=[],s=[],l=[],f=[];this.cells=r,this.positions=n,this.vectors=i;var h=t.meshColor||[1,1,1,1],p=t.vertexIntensity,d=1/0,v=-1/0;if(p)if(t.vertexIntensityBounds)d=+t.vertexIntensityBounds[0],v=+t.vertexIntensityBounds[1];else for(var g=0;g0){var v=this.triShader;v.bind(),v.uniforms=u,this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind()}},p.drawPick=function(t){t=t||{};for(var e=this.gl,r=t.model||f,n=t.view||f,i=t.projection||f,a=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<3;++o)a[0][o]=Math.max(a[0][o],this.clipBounds[0][o]),a[1][o]=Math.min(a[1][o],this.clipBounds[1][o]);this._model=[].slice.call(r),this._view=[].slice.call(n),this._projection=[].slice.call(i),this._resolution=[e.drawingBufferWidth,e.drawingBufferHeight];var s={model:r,view:n,projection:i,clipBounds:a,tubeScale:this.tubeScale,vectorScale:this.vectorScale,coneScale:this.coneScale,coneOffset:this.coneOffset,pickId:this.pickId/255},l=this.pickShader;l.bind(),l.uniforms=s,this.triangleCount>0&&(this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind())},p.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;var e=t.value[0]+256*t.value[1]+65536*t.value[2],r=this.cells[e],n=this.positions[r[1]].slice(0,3),i={position:n,dataCoordinate:n,index:Math.floor(r[1]/48)};return\"cone\"===this.traceType?i.index=Math.floor(r[1]/48):\"streamtube\"===this.traceType&&(i.intensity=this.intensity[r[1]],i.velocity=this.vectors[r[1]].slice(0,3),i.divergence=this.vectors[r[1]][3],i.index=e),i},p.dispose=function(){this.texture.dispose(),this.triShader.dispose(),this.pickShader.dispose(),this.triangleVAO.dispose(),this.trianglePositions.dispose(),this.triangleVectors.dispose(),this.triangleColors.dispose(),this.triangleUVs.dispose(),this.triangleIds.dispose()},t.exports=function(t,e,r){var s=r.shaders;1===arguments.length&&(t=(e=t).gl);var l=function(t,e){var r=n(t,e.meshShader.vertex,e.meshShader.fragment,null,e.meshShader.attributes);return r.attributes.position.location=0,r.attributes.color.location=2,r.attributes.uv.location=3,r.attributes.vector.location=4,r}(t,s),c=function(t,e){var r=n(t,e.pickShader.vertex,e.pickShader.fragment,null,e.pickShader.attributes);return r.attributes.position.location=0,r.attributes.id.location=1,r.attributes.vector.location=4,r}(t,s),f=o(t,u(new Uint8Array([255,255,255,255]),[1,1,4]));f.generateMipmap(),f.minFilter=t.LINEAR_MIPMAP_LINEAR,f.magFilter=t.LINEAR;var p=i(t),d=i(t),v=i(t),g=i(t),y=i(t),m=new h(t,f,l,c,p,d,y,v,g,a(t,[{buffer:p,type:t.FLOAT,size:4},{buffer:y,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:v,type:t.FLOAT,size:4},{buffer:g,type:t.FLOAT,size:2},{buffer:d,type:t.FLOAT,size:4}]),r.traceType||\"cone\");return m.update(e),m}},614:function(t,e,r){var n=r(3236),i=n([\"precision highp float;\\n\\nprecision highp float;\\n#define GLSLIFY 1\\n\\nvec3 getOrthogonalVector(vec3 v) {\\n // Return up-vector for only-z vector.\\n // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\\n // From the above if-statement we have ||a|| > 0 U ||b|| > 0.\\n // Assign z = 0, x = -b, y = a:\\n // a*-b + b*a + c*0 = -ba + ba + 0 = 0\\n if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\\n return normalize(vec3(-v.y, v.x, 0.0));\\n } else {\\n return normalize(vec3(0.0, v.z, -v.y));\\n }\\n}\\n\\n// Calculate the cone vertex and normal at the given index.\\n//\\n// The returned vertex is for a cone with its top at origin and height of 1.0,\\n// pointing in the direction of the vector attribute.\\n//\\n// Each cone is made up of a top vertex, a center base vertex and base perimeter vertices.\\n// These vertices are used to make up the triangles of the cone by the following:\\n// segment + 0 top vertex\\n// segment + 1 perimeter vertex a+1\\n// segment + 2 perimeter vertex a\\n// segment + 3 center base vertex\\n// segment + 4 perimeter vertex a\\n// segment + 5 perimeter vertex a+1\\n// Where segment is the number of the radial segment * 6 and a is the angle at that radial segment.\\n// To go from index to segment, floor(index / 6)\\n// To go from segment to angle, 2*pi * (segment/segmentCount)\\n// To go from index to segment index, index - (segment*6)\\n//\\nvec3 getConePosition(vec3 d, float rawIndex, float coneOffset, out vec3 normal) {\\n\\n const float segmentCount = 8.0;\\n\\n float index = rawIndex - floor(rawIndex /\\n (segmentCount * 6.0)) *\\n (segmentCount * 6.0);\\n\\n float segment = floor(0.001 + index/6.0);\\n float segmentIndex = index - (segment*6.0);\\n\\n normal = -normalize(d);\\n\\n if (segmentIndex > 2.99 && segmentIndex < 3.01) {\\n return mix(vec3(0.0), -d, coneOffset);\\n }\\n\\n float nextAngle = (\\n (segmentIndex > 0.99 && segmentIndex < 1.01) ||\\n (segmentIndex > 4.99 && segmentIndex < 5.01)\\n ) ? 1.0 : 0.0;\\n float angle = 2.0 * 3.14159 * ((segment + nextAngle) / segmentCount);\\n\\n vec3 v1 = mix(d, vec3(0.0), coneOffset);\\n vec3 v2 = v1 - d;\\n\\n vec3 u = getOrthogonalVector(d);\\n vec3 v = normalize(cross(u, d));\\n\\n vec3 x = u * cos(angle) * length(d)*0.25;\\n vec3 y = v * sin(angle) * length(d)*0.25;\\n vec3 v3 = v2 + x + y;\\n if (segmentIndex < 3.0) {\\n vec3 tx = u * sin(angle);\\n vec3 ty = v * -cos(angle);\\n vec3 tangent = tx + ty;\\n normal = normalize(cross(v3 - v1, tangent));\\n }\\n\\n if (segmentIndex == 0.0) {\\n return mix(d, vec3(0.0), coneOffset);\\n }\\n return v3;\\n}\\n\\nattribute vec3 vector;\\nattribute vec4 color, position;\\nattribute vec2 uv;\\n\\nuniform float vectorScale, coneScale, coneOffset;\\nuniform mat4 model, view, projection, inverseModel;\\nuniform vec3 eyePosition, lightPosition;\\n\\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\\nvarying vec4 f_color;\\nvarying vec2 f_uv;\\n\\nvoid main() {\\n // Scale the vector magnitude to stay constant with\\n // model & view changes.\\n vec3 normal;\\n vec3 XYZ = getConePosition(mat3(model) * ((vectorScale * coneScale) * vector), position.w, coneOffset, normal);\\n vec4 conePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\\n\\n //Lighting geometry parameters\\n vec4 cameraCoordinate = view * conePosition;\\n cameraCoordinate.xyz /= cameraCoordinate.w;\\n f_lightDirection = lightPosition - cameraCoordinate.xyz;\\n f_eyeDirection = eyePosition - cameraCoordinate.xyz;\\n f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz);\\n\\n // vec4 m_position = model * vec4(conePosition, 1.0);\\n vec4 t_position = view * conePosition;\\n gl_Position = projection * t_position;\\n\\n f_color = color;\\n f_data = conePosition.xyz;\\n f_position = position.xyz;\\n f_uv = uv;\\n}\\n\"]),a=n([\"#extension GL_OES_standard_derivatives : enable\\n\\nprecision highp float;\\n#define GLSLIFY 1\\n\\nfloat beckmannDistribution(float x, float roughness) {\\n float NdotH = max(x, 0.0001);\\n float cos2Alpha = NdotH * NdotH;\\n float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\\n float roughness2 = roughness * roughness;\\n float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\\n return exp(tan2Alpha / roughness2) / denom;\\n}\\n\\nfloat cookTorranceSpecular(\\n vec3 lightDirection,\\n vec3 viewDirection,\\n vec3 surfaceNormal,\\n float roughness,\\n float fresnel) {\\n\\n float VdotN = max(dot(viewDirection, surfaceNormal), 0.0);\\n float LdotN = max(dot(lightDirection, surfaceNormal), 0.0);\\n\\n //Half angle vector\\n vec3 H = normalize(lightDirection + viewDirection);\\n\\n //Geometric term\\n float NdotH = max(dot(surfaceNormal, H), 0.0);\\n float VdotH = max(dot(viewDirection, H), 0.000001);\\n float LdotH = max(dot(lightDirection, H), 0.000001);\\n float G1 = (2.0 * NdotH * VdotN) / VdotH;\\n float G2 = (2.0 * NdotH * LdotN) / LdotH;\\n float G = min(1.0, min(G1, G2));\\n \\n //Distribution term\\n float D = beckmannDistribution(NdotH, roughness);\\n\\n //Fresnel term\\n float F = pow(1.0 - VdotN, fresnel);\\n\\n //Multiply terms and done\\n return G * F * D / max(3.14159265 * VdotN, 0.000001);\\n}\\n\\nbool outOfRange(float a, float b, float p) {\\n return ((p > max(a, b)) || \\n (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y) ||\\n outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nuniform vec3 clipBounds[2];\\nuniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\\nuniform sampler2D texture;\\n\\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\\nvarying vec4 f_color;\\nvarying vec2 f_uv;\\n\\nvoid main() {\\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\\n vec3 N = normalize(f_normal);\\n vec3 L = normalize(f_lightDirection);\\n vec3 V = normalize(f_eyeDirection);\\n\\n if(gl_FrontFacing) {\\n N = -N;\\n }\\n\\n float specular = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel)));\\n float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\\n\\n vec4 surfaceColor = f_color * texture2D(texture, f_uv);\\n vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0);\\n\\n gl_FragColor = litColor * opacity;\\n}\\n\"]),o=n([\"precision highp float;\\n\\nprecision highp float;\\n#define GLSLIFY 1\\n\\nvec3 getOrthogonalVector(vec3 v) {\\n // Return up-vector for only-z vector.\\n // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\\n // From the above if-statement we have ||a|| > 0 U ||b|| > 0.\\n // Assign z = 0, x = -b, y = a:\\n // a*-b + b*a + c*0 = -ba + ba + 0 = 0\\n if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\\n return normalize(vec3(-v.y, v.x, 0.0));\\n } else {\\n return normalize(vec3(0.0, v.z, -v.y));\\n }\\n}\\n\\n// Calculate the cone vertex and normal at the given index.\\n//\\n// The returned vertex is for a cone with its top at origin and height of 1.0,\\n// pointing in the direction of the vector attribute.\\n//\\n// Each cone is made up of a top vertex, a center base vertex and base perimeter vertices.\\n// These vertices are used to make up the triangles of the cone by the following:\\n// segment + 0 top vertex\\n// segment + 1 perimeter vertex a+1\\n// segment + 2 perimeter vertex a\\n// segment + 3 center base vertex\\n// segment + 4 perimeter vertex a\\n// segment + 5 perimeter vertex a+1\\n// Where segment is the number of the radial segment * 6 and a is the angle at that radial segment.\\n// To go from index to segment, floor(index / 6)\\n// To go from segment to angle, 2*pi * (segment/segmentCount)\\n// To go from index to segment index, index - (segment*6)\\n//\\nvec3 getConePosition(vec3 d, float rawIndex, float coneOffset, out vec3 normal) {\\n\\n const float segmentCount = 8.0;\\n\\n float index = rawIndex - floor(rawIndex /\\n (segmentCount * 6.0)) *\\n (segmentCount * 6.0);\\n\\n float segment = floor(0.001 + index/6.0);\\n float segmentIndex = index - (segment*6.0);\\n\\n normal = -normalize(d);\\n\\n if (segmentIndex > 2.99 && segmentIndex < 3.01) {\\n return mix(vec3(0.0), -d, coneOffset);\\n }\\n\\n float nextAngle = (\\n (segmentIndex > 0.99 && segmentIndex < 1.01) ||\\n (segmentIndex > 4.99 && segmentIndex < 5.01)\\n ) ? 1.0 : 0.0;\\n float angle = 2.0 * 3.14159 * ((segment + nextAngle) / segmentCount);\\n\\n vec3 v1 = mix(d, vec3(0.0), coneOffset);\\n vec3 v2 = v1 - d;\\n\\n vec3 u = getOrthogonalVector(d);\\n vec3 v = normalize(cross(u, d));\\n\\n vec3 x = u * cos(angle) * length(d)*0.25;\\n vec3 y = v * sin(angle) * length(d)*0.25;\\n vec3 v3 = v2 + x + y;\\n if (segmentIndex < 3.0) {\\n vec3 tx = u * sin(angle);\\n vec3 ty = v * -cos(angle);\\n vec3 tangent = tx + ty;\\n normal = normalize(cross(v3 - v1, tangent));\\n }\\n\\n if (segmentIndex == 0.0) {\\n return mix(d, vec3(0.0), coneOffset);\\n }\\n return v3;\\n}\\n\\nattribute vec4 vector;\\nattribute vec4 position;\\nattribute vec4 id;\\n\\nuniform mat4 model, view, projection;\\nuniform float vectorScale, coneScale, coneOffset;\\n\\nvarying vec3 f_position;\\nvarying vec4 f_id;\\n\\nvoid main() {\\n vec3 normal;\\n vec3 XYZ = getConePosition(mat3(model) * ((vectorScale * coneScale) * vector.xyz), position.w, coneOffset, normal);\\n vec4 conePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\\n gl_Position = projection * view * conePosition;\\n f_id = id;\\n f_position = position.xyz;\\n}\\n\"]),s=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nbool outOfRange(float a, float b, float p) {\\n return ((p > max(a, b)) || \\n (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y) ||\\n outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nuniform vec3 clipBounds[2];\\nuniform float pickId;\\n\\nvarying vec3 f_position;\\nvarying vec4 f_id;\\n\\nvoid main() {\\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\\n\\n gl_FragColor = vec4(pickId, f_id.xyz);\\n}\"]);e.meshShader={vertex:i,fragment:a,attributes:[{name:\"position\",type:\"vec4\"},{name:\"color\",type:\"vec4\"},{name:\"uv\",type:\"vec2\"},{name:\"vector\",type:\"vec3\"}]},e.pickShader={vertex:o,fragment:s,attributes:[{name:\"position\",type:\"vec4\"},{name:\"id\",type:\"vec4\"},{name:\"vector\",type:\"vec3\"}]}},737:function(t){t.exports={0:\"NONE\",1:\"ONE\",2:\"LINE_LOOP\",3:\"LINE_STRIP\",4:\"TRIANGLES\",5:\"TRIANGLE_STRIP\",6:\"TRIANGLE_FAN\",256:\"DEPTH_BUFFER_BIT\",512:\"NEVER\",513:\"LESS\",514:\"EQUAL\",515:\"LEQUAL\",516:\"GREATER\",517:\"NOTEQUAL\",518:\"GEQUAL\",519:\"ALWAYS\",768:\"SRC_COLOR\",769:\"ONE_MINUS_SRC_COLOR\",770:\"SRC_ALPHA\",771:\"ONE_MINUS_SRC_ALPHA\",772:\"DST_ALPHA\",773:\"ONE_MINUS_DST_ALPHA\",774:\"DST_COLOR\",775:\"ONE_MINUS_DST_COLOR\",776:\"SRC_ALPHA_SATURATE\",1024:\"STENCIL_BUFFER_BIT\",1028:\"FRONT\",1029:\"BACK\",1032:\"FRONT_AND_BACK\",1280:\"INVALID_ENUM\",1281:\"INVALID_VALUE\",1282:\"INVALID_OPERATION\",1285:\"OUT_OF_MEMORY\",1286:\"INVALID_FRAMEBUFFER_OPERATION\",2304:\"CW\",2305:\"CCW\",2849:\"LINE_WIDTH\",2884:\"CULL_FACE\",2885:\"CULL_FACE_MODE\",2886:\"FRONT_FACE\",2928:\"DEPTH_RANGE\",2929:\"DEPTH_TEST\",2930:\"DEPTH_WRITEMASK\",2931:\"DEPTH_CLEAR_VALUE\",2932:\"DEPTH_FUNC\",2960:\"STENCIL_TEST\",2961:\"STENCIL_CLEAR_VALUE\",2962:\"STENCIL_FUNC\",2963:\"STENCIL_VALUE_MASK\",2964:\"STENCIL_FAIL\",2965:\"STENCIL_PASS_DEPTH_FAIL\",2966:\"STENCIL_PASS_DEPTH_PASS\",2967:\"STENCIL_REF\",2968:\"STENCIL_WRITEMASK\",2978:\"VIEWPORT\",3024:\"DITHER\",3042:\"BLEND\",3088:\"SCISSOR_BOX\",3089:\"SCISSOR_TEST\",3106:\"COLOR_CLEAR_VALUE\",3107:\"COLOR_WRITEMASK\",3317:\"UNPACK_ALIGNMENT\",3333:\"PACK_ALIGNMENT\",3379:\"MAX_TEXTURE_SIZE\",3386:\"MAX_VIEWPORT_DIMS\",3408:\"SUBPIXEL_BITS\",3410:\"RED_BITS\",3411:\"GREEN_BITS\",3412:\"BLUE_BITS\",3413:\"ALPHA_BITS\",3414:\"DEPTH_BITS\",3415:\"STENCIL_BITS\",3553:\"TEXTURE_2D\",4352:\"DONT_CARE\",4353:\"FASTEST\",4354:\"NICEST\",5120:\"BYTE\",5121:\"UNSIGNED_BYTE\",5122:\"SHORT\",5123:\"UNSIGNED_SHORT\",5124:\"INT\",5125:\"UNSIGNED_INT\",5126:\"FLOAT\",5386:\"INVERT\",5890:\"TEXTURE\",6401:\"STENCIL_INDEX\",6402:\"DEPTH_COMPONENT\",6406:\"ALPHA\",6407:\"RGB\",6408:\"RGBA\",6409:\"LUMINANCE\",6410:\"LUMINANCE_ALPHA\",7680:\"KEEP\",7681:\"REPLACE\",7682:\"INCR\",7683:\"DECR\",7936:\"VENDOR\",7937:\"RENDERER\",7938:\"VERSION\",9728:\"NEAREST\",9729:\"LINEAR\",9984:\"NEAREST_MIPMAP_NEAREST\",9985:\"LINEAR_MIPMAP_NEAREST\",9986:\"NEAREST_MIPMAP_LINEAR\",9987:\"LINEAR_MIPMAP_LINEAR\",10240:\"TEXTURE_MAG_FILTER\",10241:\"TEXTURE_MIN_FILTER\",10242:\"TEXTURE_WRAP_S\",10243:\"TEXTURE_WRAP_T\",10497:\"REPEAT\",10752:\"POLYGON_OFFSET_UNITS\",16384:\"COLOR_BUFFER_BIT\",32769:\"CONSTANT_COLOR\",32770:\"ONE_MINUS_CONSTANT_COLOR\",32771:\"CONSTANT_ALPHA\",32772:\"ONE_MINUS_CONSTANT_ALPHA\",32773:\"BLEND_COLOR\",32774:\"FUNC_ADD\",32777:\"BLEND_EQUATION_RGB\",32778:\"FUNC_SUBTRACT\",32779:\"FUNC_REVERSE_SUBTRACT\",32819:\"UNSIGNED_SHORT_4_4_4_4\",32820:\"UNSIGNED_SHORT_5_5_5_1\",32823:\"POLYGON_OFFSET_FILL\",32824:\"POLYGON_OFFSET_FACTOR\",32854:\"RGBA4\",32855:\"RGB5_A1\",32873:\"TEXTURE_BINDING_2D\",32926:\"SAMPLE_ALPHA_TO_COVERAGE\",32928:\"SAMPLE_COVERAGE\",32936:\"SAMPLE_BUFFERS\",32937:\"SAMPLES\",32938:\"SAMPLE_COVERAGE_VALUE\",32939:\"SAMPLE_COVERAGE_INVERT\",32968:\"BLEND_DST_RGB\",32969:\"BLEND_SRC_RGB\",32970:\"BLEND_DST_ALPHA\",32971:\"BLEND_SRC_ALPHA\",33071:\"CLAMP_TO_EDGE\",33170:\"GENERATE_MIPMAP_HINT\",33189:\"DEPTH_COMPONENT16\",33306:\"DEPTH_STENCIL_ATTACHMENT\",33635:\"UNSIGNED_SHORT_5_6_5\",33648:\"MIRRORED_REPEAT\",33901:\"ALIASED_POINT_SIZE_RANGE\",33902:\"ALIASED_LINE_WIDTH_RANGE\",33984:\"TEXTURE0\",33985:\"TEXTURE1\",33986:\"TEXTURE2\",33987:\"TEXTURE3\",33988:\"TEXTURE4\",33989:\"TEXTURE5\",33990:\"TEXTURE6\",33991:\"TEXTURE7\",33992:\"TEXTURE8\",33993:\"TEXTURE9\",33994:\"TEXTURE10\",33995:\"TEXTURE11\",33996:\"TEXTURE12\",33997:\"TEXTURE13\",33998:\"TEXTURE14\",33999:\"TEXTURE15\",34e3:\"TEXTURE16\",34001:\"TEXTURE17\",34002:\"TEXTURE18\",34003:\"TEXTURE19\",34004:\"TEXTURE20\",34005:\"TEXTURE21\",34006:\"TEXTURE22\",34007:\"TEXTURE23\",34008:\"TEXTURE24\",34009:\"TEXTURE25\",34010:\"TEXTURE26\",34011:\"TEXTURE27\",34012:\"TEXTURE28\",34013:\"TEXTURE29\",34014:\"TEXTURE30\",34015:\"TEXTURE31\",34016:\"ACTIVE_TEXTURE\",34024:\"MAX_RENDERBUFFER_SIZE\",34041:\"DEPTH_STENCIL\",34055:\"INCR_WRAP\",34056:\"DECR_WRAP\",34067:\"TEXTURE_CUBE_MAP\",34068:\"TEXTURE_BINDING_CUBE_MAP\",34069:\"TEXTURE_CUBE_MAP_POSITIVE_X\",34070:\"TEXTURE_CUBE_MAP_NEGATIVE_X\",34071:\"TEXTURE_CUBE_MAP_POSITIVE_Y\",34072:\"TEXTURE_CUBE_MAP_NEGATIVE_Y\",34073:\"TEXTURE_CUBE_MAP_POSITIVE_Z\",34074:\"TEXTURE_CUBE_MAP_NEGATIVE_Z\",34076:\"MAX_CUBE_MAP_TEXTURE_SIZE\",34338:\"VERTEX_ATTRIB_ARRAY_ENABLED\",34339:\"VERTEX_ATTRIB_ARRAY_SIZE\",34340:\"VERTEX_ATTRIB_ARRAY_STRIDE\",34341:\"VERTEX_ATTRIB_ARRAY_TYPE\",34342:\"CURRENT_VERTEX_ATTRIB\",34373:\"VERTEX_ATTRIB_ARRAY_POINTER\",34466:\"NUM_COMPRESSED_TEXTURE_FORMATS\",34467:\"COMPRESSED_TEXTURE_FORMATS\",34660:\"BUFFER_SIZE\",34661:\"BUFFER_USAGE\",34816:\"STENCIL_BACK_FUNC\",34817:\"STENCIL_BACK_FAIL\",34818:\"STENCIL_BACK_PASS_DEPTH_FAIL\",34819:\"STENCIL_BACK_PASS_DEPTH_PASS\",34877:\"BLEND_EQUATION_ALPHA\",34921:\"MAX_VERTEX_ATTRIBS\",34922:\"VERTEX_ATTRIB_ARRAY_NORMALIZED\",34930:\"MAX_TEXTURE_IMAGE_UNITS\",34962:\"ARRAY_BUFFER\",34963:\"ELEMENT_ARRAY_BUFFER\",34964:\"ARRAY_BUFFER_BINDING\",34965:\"ELEMENT_ARRAY_BUFFER_BINDING\",34975:\"VERTEX_ATTRIB_ARRAY_BUFFER_BINDING\",35040:\"STREAM_DRAW\",35044:\"STATIC_DRAW\",35048:\"DYNAMIC_DRAW\",35632:\"FRAGMENT_SHADER\",35633:\"VERTEX_SHADER\",35660:\"MAX_VERTEX_TEXTURE_IMAGE_UNITS\",35661:\"MAX_COMBINED_TEXTURE_IMAGE_UNITS\",35663:\"SHADER_TYPE\",35664:\"FLOAT_VEC2\",35665:\"FLOAT_VEC3\",35666:\"FLOAT_VEC4\",35667:\"INT_VEC2\",35668:\"INT_VEC3\",35669:\"INT_VEC4\",35670:\"BOOL\",35671:\"BOOL_VEC2\",35672:\"BOOL_VEC3\",35673:\"BOOL_VEC4\",35674:\"FLOAT_MAT2\",35675:\"FLOAT_MAT3\",35676:\"FLOAT_MAT4\",35678:\"SAMPLER_2D\",35680:\"SAMPLER_CUBE\",35712:\"DELETE_STATUS\",35713:\"COMPILE_STATUS\",35714:\"LINK_STATUS\",35715:\"VALIDATE_STATUS\",35716:\"INFO_LOG_LENGTH\",35717:\"ATTACHED_SHADERS\",35718:\"ACTIVE_UNIFORMS\",35719:\"ACTIVE_UNIFORM_MAX_LENGTH\",35720:\"SHADER_SOURCE_LENGTH\",35721:\"ACTIVE_ATTRIBUTES\",35722:\"ACTIVE_ATTRIBUTE_MAX_LENGTH\",35724:\"SHADING_LANGUAGE_VERSION\",35725:\"CURRENT_PROGRAM\",36003:\"STENCIL_BACK_REF\",36004:\"STENCIL_BACK_VALUE_MASK\",36005:\"STENCIL_BACK_WRITEMASK\",36006:\"FRAMEBUFFER_BINDING\",36007:\"RENDERBUFFER_BINDING\",36048:\"FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE\",36049:\"FRAMEBUFFER_ATTACHMENT_OBJECT_NAME\",36050:\"FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL\",36051:\"FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE\",36053:\"FRAMEBUFFER_COMPLETE\",36054:\"FRAMEBUFFER_INCOMPLETE_ATTACHMENT\",36055:\"FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT\",36057:\"FRAMEBUFFER_INCOMPLETE_DIMENSIONS\",36061:\"FRAMEBUFFER_UNSUPPORTED\",36064:\"COLOR_ATTACHMENT0\",36096:\"DEPTH_ATTACHMENT\",36128:\"STENCIL_ATTACHMENT\",36160:\"FRAMEBUFFER\",36161:\"RENDERBUFFER\",36162:\"RENDERBUFFER_WIDTH\",36163:\"RENDERBUFFER_HEIGHT\",36164:\"RENDERBUFFER_INTERNAL_FORMAT\",36168:\"STENCIL_INDEX8\",36176:\"RENDERBUFFER_RED_SIZE\",36177:\"RENDERBUFFER_GREEN_SIZE\",36178:\"RENDERBUFFER_BLUE_SIZE\",36179:\"RENDERBUFFER_ALPHA_SIZE\",36180:\"RENDERBUFFER_DEPTH_SIZE\",36181:\"RENDERBUFFER_STENCIL_SIZE\",36194:\"RGB565\",36336:\"LOW_FLOAT\",36337:\"MEDIUM_FLOAT\",36338:\"HIGH_FLOAT\",36339:\"LOW_INT\",36340:\"MEDIUM_INT\",36341:\"HIGH_INT\",36346:\"SHADER_COMPILER\",36347:\"MAX_VERTEX_UNIFORM_VECTORS\",36348:\"MAX_VARYING_VECTORS\",36349:\"MAX_FRAGMENT_UNIFORM_VECTORS\",37440:\"UNPACK_FLIP_Y_WEBGL\",37441:\"UNPACK_PREMULTIPLY_ALPHA_WEBGL\",37442:\"CONTEXT_LOST_WEBGL\",37443:\"UNPACK_COLORSPACE_CONVERSION_WEBGL\",37444:\"BROWSER_DEFAULT_WEBGL\"}},5171:function(t,e,r){var n=r(737);t.exports=function(t){return n[t]}},9165:function(t,e,r){\"use strict\";t.exports=function(t){var e=t.gl,r=n(e),o=i(e,[{buffer:r,type:e.FLOAT,size:3,offset:0,stride:40},{buffer:r,type:e.FLOAT,size:4,offset:12,stride:40},{buffer:r,type:e.FLOAT,size:3,offset:28,stride:40}]),l=a(e);l.attributes.position.location=0,l.attributes.color.location=1,l.attributes.offset.location=2;var u=new s(e,r,o,l);return u.update(t),u};var n=r(2762),i=r(8116),a=r(3436),o=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function s(t,e,r,n){this.gl=t,this.shader=n,this.buffer=e,this.vao=r,this.pixelRatio=1,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.lineWidth=[1,1,1],this.capSize=[10,10,10],this.lineCount=[0,0,0],this.lineOffset=[0,0,0],this.opacity=1,this.hasAlpha=!1}var l=s.prototype;function u(t,e){for(var r=0;r<3;++r)t[0][r]=Math.min(t[0][r],e[r]),t[1][r]=Math.max(t[1][r],e[r])}l.isOpaque=function(){return!this.hasAlpha},l.isTransparent=function(){return this.hasAlpha},l.drawTransparent=l.draw=function(t){var e=this.gl,r=this.shader.uniforms;this.shader.bind();var n=r.view=t.view||o,i=r.projection=t.projection||o;r.model=t.model||o,r.clipBounds=this.clipBounds,r.opacity=this.opacity;var a=n[12],s=n[13],l=n[14],u=n[15],c=(t._ortho?2:1)*this.pixelRatio*(i[3]*a+i[7]*s+i[11]*l+i[15]*u)/e.drawingBufferHeight;this.vao.bind();for(var f=0;f<3;++f)e.lineWidth(this.lineWidth[f]*this.pixelRatio),r.capSize=this.capSize[f]*c,this.lineCount[f]&&e.drawArrays(e.LINES,this.lineOffset[f],this.lineCount[f]);this.vao.unbind()};var c=function(){for(var t=new Array(3),e=0;e<3;++e){for(var r=[],n=1;n<=2;++n)for(var i=-1;i<=1;i+=2){var a=[0,0,0];a[(n+e)%3]=i,r.push(a)}t[e]=r}return t}();function f(t,e,r,n){for(var i=c[n],a=0;a0&&((p=c.slice())[s]+=d[1][s],i.push(c[0],c[1],c[2],v[0],v[1],v[2],v[3],0,0,0,p[0],p[1],p[2],v[0],v[1],v[2],v[3],0,0,0),u(this.bounds,p),o+=2+f(i,p,v,s))}this.lineCount[s]=o-this.lineOffset[s]}this.buffer.update(i)}},l.dispose=function(){this.shader.dispose(),this.buffer.dispose(),this.vao.dispose()}},3436:function(t,e,r){\"use strict\";var n=r(3236),i=r(9405),a=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec3 position, offset;\\nattribute vec4 color;\\nuniform mat4 model, view, projection;\\nuniform float capSize;\\nvarying vec4 fragColor;\\nvarying vec3 fragPosition;\\n\\nvoid main() {\\n vec4 worldPosition = model * vec4(position, 1.0);\\n worldPosition = (worldPosition / worldPosition.w) + vec4(capSize * offset, 0.0);\\n gl_Position = projection * view * worldPosition;\\n fragColor = color;\\n fragPosition = position;\\n}\"]),o=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nbool outOfRange(float a, float b, float p) {\\n return ((p > max(a, b)) || \\n (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y) ||\\n outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nuniform vec3 clipBounds[2];\\nuniform float opacity;\\nvarying vec3 fragPosition;\\nvarying vec4 fragColor;\\n\\nvoid main() {\\n if (\\n outOfRange(clipBounds[0], clipBounds[1], fragPosition) ||\\n fragColor.a * opacity == 0.\\n ) discard;\\n\\n gl_FragColor = opacity * fragColor;\\n}\"]);t.exports=function(t){return i(t,a,o,null,[{name:\"position\",type:\"vec3\"},{name:\"color\",type:\"vec4\"},{name:\"offset\",type:\"vec3\"}])}},2260:function(t,e,r){\"use strict\";var n=r(7766);t.exports=function(t,e,r,n){i||(i=t.FRAMEBUFFER_UNSUPPORTED,a=t.FRAMEBUFFER_INCOMPLETE_ATTACHMENT,o=t.FRAMEBUFFER_INCOMPLETE_DIMENSIONS,s=t.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT);var u=t.getExtension(\"WEBGL_draw_buffers\");if(!l&&u&&function(t,e){var r=t.getParameter(e.MAX_COLOR_ATTACHMENTS_WEBGL);l=new Array(r+1);for(var n=0;n<=r;++n){for(var i=new Array(r),a=0;ac||r<0||r>c)throw new Error(\"gl-fbo: Parameters are too large for FBO\");var f=1;if(\"color\"in(n=n||{})){if((f=Math.max(0|n.color,0))<0)throw new Error(\"gl-fbo: Must specify a nonnegative number of colors\");if(f>1){if(!u)throw new Error(\"gl-fbo: Multiple draw buffer extension not supported\");if(f>t.getParameter(u.MAX_COLOR_ATTACHMENTS_WEBGL))throw new Error(\"gl-fbo: Context does not support \"+f+\" draw buffers\")}}var h=t.UNSIGNED_BYTE,p=t.getExtension(\"OES_texture_float\");if(n.float&&f>0){if(!p)throw new Error(\"gl-fbo: Context does not support floating point textures\");h=t.FLOAT}else n.preferFloat&&f>0&&p&&(h=t.FLOAT);var v=!0;\"depth\"in n&&(v=!!n.depth);var g=!1;return\"stencil\"in n&&(g=!!n.stencil),new d(t,e,r,h,f,v,g,u)};var i,a,o,s,l=null;function u(t){return[t.getParameter(t.FRAMEBUFFER_BINDING),t.getParameter(t.RENDERBUFFER_BINDING),t.getParameter(t.TEXTURE_BINDING_2D)]}function c(t,e){t.bindFramebuffer(t.FRAMEBUFFER,e[0]),t.bindRenderbuffer(t.RENDERBUFFER,e[1]),t.bindTexture(t.TEXTURE_2D,e[2])}function f(t){switch(t){case i:throw new Error(\"gl-fbo: Framebuffer unsupported\");case a:throw new Error(\"gl-fbo: Framebuffer incomplete attachment\");case o:throw new Error(\"gl-fbo: Framebuffer incomplete dimensions\");case s:throw new Error(\"gl-fbo: Framebuffer incomplete missing attachment\");default:throw new Error(\"gl-fbo: Framebuffer failed for unspecified reason\")}}function h(t,e,r,i,a,o){if(!i)return null;var s=n(t,e,r,a,i);return s.magFilter=t.NEAREST,s.minFilter=t.NEAREST,s.mipSamples=1,s.bind(),t.framebufferTexture2D(t.FRAMEBUFFER,o,t.TEXTURE_2D,s.handle,0),s}function p(t,e,r,n,i){var a=t.createRenderbuffer();return t.bindRenderbuffer(t.RENDERBUFFER,a),t.renderbufferStorage(t.RENDERBUFFER,n,e,r),t.framebufferRenderbuffer(t.FRAMEBUFFER,i,t.RENDERBUFFER,a),a}function d(t,e,r,n,i,a,o,s){this.gl=t,this._shape=[0|e,0|r],this._destroyed=!1,this._ext=s,this.color=new Array(i);for(var d=0;d1&&s.drawBuffersWEBGL(l[o]);var m=r.getExtension(\"WEBGL_depth_texture\");m?d?t.depth=h(r,i,a,m.UNSIGNED_INT_24_8_WEBGL,r.DEPTH_STENCIL,r.DEPTH_STENCIL_ATTACHMENT):v&&(t.depth=h(r,i,a,r.UNSIGNED_SHORT,r.DEPTH_COMPONENT,r.DEPTH_ATTACHMENT)):v&&d?t._depth_rb=p(r,i,a,r.DEPTH_STENCIL,r.DEPTH_STENCIL_ATTACHMENT):v?t._depth_rb=p(r,i,a,r.DEPTH_COMPONENT16,r.DEPTH_ATTACHMENT):d&&(t._depth_rb=p(r,i,a,r.STENCIL_INDEX,r.STENCIL_ATTACHMENT));var x=r.checkFramebufferStatus(r.FRAMEBUFFER);if(x!==r.FRAMEBUFFER_COMPLETE){for(t._destroyed=!0,r.bindFramebuffer(r.FRAMEBUFFER,null),r.deleteFramebuffer(t.handle),t.handle=null,t.depth&&(t.depth.dispose(),t.depth=null),t._depth_rb&&(r.deleteRenderbuffer(t._depth_rb),t._depth_rb=null),y=0;yi||r<0||r>i)throw new Error(\"gl-fbo: Can't resize FBO, invalid dimensions\");t._shape[0]=e,t._shape[1]=r;for(var a=u(n),o=0;o>8*p&255;this.pickOffset=r,i.bind();var d=i.uniforms;d.viewTransform=t,d.pickOffset=e,d.shape=this.shape;var v=i.attributes;return this.positionBuffer.bind(),v.position.pointer(),this.weightBuffer.bind(),v.weight.pointer(s.UNSIGNED_BYTE,!1),this.idBuffer.bind(),v.pickId.pointer(s.UNSIGNED_BYTE,!1),s.drawArrays(s.TRIANGLES,0,o),r+this.shape[0]*this.shape[1]}}}(),f.pick=function(t,e,r){var n=this.pickOffset,i=this.shape[0]*this.shape[1];if(r=n+i)return null;var a=r-n,o=this.xData,s=this.yData;return{object:this,pointId:a,dataCoord:[o[a%this.shape[0]],s[a/this.shape[0]|0]]}},f.update=function(t){var e=(t=t||{}).shape||[0,0],r=t.x||i(e[0]),o=t.y||i(e[1]),s=t.z||new Float32Array(e[0]*e[1]),l=!1!==t.zsmooth;this.xData=r,this.yData=o;var u,c,f,p,d=t.colorLevels||[0],v=t.colorValues||[0,0,0,1],g=d.length,y=this.bounds;l?(u=y[0]=r[0],c=y[1]=o[0],f=y[2]=r[r.length-1],p=y[3]=o[o.length-1]):(u=y[0]=r[0]+(r[1]-r[0])/2,c=y[1]=o[0]+(o[1]-o[0])/2,f=y[2]=r[r.length-1]+(r[r.length-1]-r[r.length-2])/2,p=y[3]=o[o.length-1]+(o[o.length-1]-o[o.length-2])/2);var m=1/(f-u),x=1/(p-c),b=e[0],_=e[1];this.shape=[b,_];var w=(l?(b-1)*(_-1):b*_)*(h.length>>>1);this.numVertices=w;for(var T=a.mallocUint8(4*w),k=a.mallocFloat32(2*w),A=a.mallocUint8(2*w),M=a.mallocUint32(w),S=0,E=l?b-1:b,L=l?_-1:_,C=0;C max(a, b)) || \\n (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y) ||\\n outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nuniform vec3 clipBounds[2];\\nuniform sampler2D dashTexture;\\nuniform float dashScale;\\nuniform float opacity;\\n\\nvarying vec3 worldPosition;\\nvarying float pixelArcLength;\\nvarying vec4 fragColor;\\n\\nvoid main() {\\n if (\\n outOfRange(clipBounds[0], clipBounds[1], worldPosition) ||\\n fragColor.a * opacity == 0.\\n ) discard;\\n\\n float dashWeight = texture2D(dashTexture, vec2(dashScale * pixelArcLength, 0)).r;\\n if(dashWeight < 0.5) {\\n discard;\\n }\\n gl_FragColor = fragColor * opacity;\\n}\\n\"]),s=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\n#define FLOAT_MAX 1.70141184e38\\n#define FLOAT_MIN 1.17549435e-38\\n\\n// https://github.com/mikolalysenko/glsl-read-float/blob/master/index.glsl\\nvec4 packFloat(float v) {\\n float av = abs(v);\\n\\n //Handle special cases\\n if(av < FLOAT_MIN) {\\n return vec4(0.0, 0.0, 0.0, 0.0);\\n } else if(v > FLOAT_MAX) {\\n return vec4(127.0, 128.0, 0.0, 0.0) / 255.0;\\n } else if(v < -FLOAT_MAX) {\\n return vec4(255.0, 128.0, 0.0, 0.0) / 255.0;\\n }\\n\\n vec4 c = vec4(0,0,0,0);\\n\\n //Compute exponent and mantissa\\n float e = floor(log2(av));\\n float m = av * pow(2.0, -e) - 1.0;\\n\\n //Unpack mantissa\\n c[1] = floor(128.0 * m);\\n m -= c[1] / 128.0;\\n c[2] = floor(32768.0 * m);\\n m -= c[2] / 32768.0;\\n c[3] = floor(8388608.0 * m);\\n\\n //Unpack exponent\\n float ebias = e + 127.0;\\n c[0] = floor(ebias / 2.0);\\n ebias -= c[0] * 2.0;\\n c[1] += floor(ebias) * 128.0;\\n\\n //Unpack sign bit\\n c[0] += 128.0 * step(0.0, -v);\\n\\n //Scale back to range\\n return c / 255.0;\\n}\\n\\nbool outOfRange(float a, float b, float p) {\\n return ((p > max(a, b)) || \\n (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y) ||\\n outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nuniform float pickId;\\nuniform vec3 clipBounds[2];\\n\\nvarying vec3 worldPosition;\\nvarying float pixelArcLength;\\nvarying vec4 fragColor;\\n\\nvoid main() {\\n if (outOfRange(clipBounds[0], clipBounds[1], worldPosition)) discard;\\n\\n gl_FragColor = vec4(pickId/255.0, packFloat(pixelArcLength).xyz);\\n}\"]),l=[{name:\"position\",type:\"vec3\"},{name:\"nextPosition\",type:\"vec3\"},{name:\"arcLength\",type:\"float\"},{name:\"lineWidth\",type:\"float\"},{name:\"color\",type:\"vec4\"}];e.createShader=function(t){return i(t,a,o,null,l)},e.createPickShader=function(t){return i(t,a,s,null,l)}},5714:function(t,e,r){\"use strict\";t.exports=function(t){var e=t.gl||t.scene&&t.scene.gl,r=f(e);r.attributes.position.location=0,r.attributes.nextPosition.location=1,r.attributes.arcLength.location=2,r.attributes.lineWidth.location=3,r.attributes.color.location=4;var o=h(e);o.attributes.position.location=0,o.attributes.nextPosition.location=1,o.attributes.arcLength.location=2,o.attributes.lineWidth.location=3,o.attributes.color.location=4;for(var s=n(e),l=i(e,[{buffer:s,size:3,offset:0,stride:48},{buffer:s,size:3,offset:12,stride:48},{buffer:s,size:1,offset:24,stride:48},{buffer:s,size:1,offset:28,stride:48},{buffer:s,size:4,offset:32,stride:48}]),c=u(new Array(1024),[256,1,4]),p=0;p<1024;++p)c.data[p]=255;var d=a(e,c);d.wrap=e.REPEAT;var v=new y(e,r,o,s,l,d);return v.update(t),v};var n=r(2762),i=r(8116),a=r(7766),o=new Uint8Array(4),s=new Float32Array(o.buffer),l=r(2478),u=r(9618),c=r(7319),f=c.createShader,h=c.createPickShader,p=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function d(t,e){for(var r=0,n=0;n<3;++n){var i=t[n]-e[n];r+=i*i}return Math.sqrt(r)}function v(t){for(var e=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],r=0;r<3;++r)e[0][r]=Math.max(t[0][r],e[0][r]),e[1][r]=Math.min(t[1][r],e[1][r]);return e}function g(t,e,r,n){this.arcLength=t,this.position=e,this.index=r,this.dataCoordinate=n}function y(t,e,r,n,i,a){this.gl=t,this.shader=e,this.pickShader=r,this.buffer=n,this.vao=i,this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.points=[],this.arcLength=[],this.vertexCount=0,this.bounds=[[0,0,0],[0,0,0]],this.pickId=0,this.lineWidth=1,this.texture=a,this.dashScale=1,this.opacity=1,this.hasAlpha=!1,this.dirty=!0,this.pixelRatio=1}var m=y.prototype;m.isTransparent=function(){return this.hasAlpha},m.isOpaque=function(){return!this.hasAlpha},m.pickSlots=1,m.setPickBase=function(t){this.pickId=t},m.drawTransparent=m.draw=function(t){if(this.vertexCount){var e=this.gl,r=this.shader,n=this.vao;r.bind(),r.uniforms={model:t.model||p,view:t.view||p,projection:t.projection||p,clipBounds:v(this.clipBounds),dashTexture:this.texture.bind(),dashScale:this.dashScale/this.arcLength[this.arcLength.length-1],opacity:this.opacity,screenShape:[e.drawingBufferWidth,e.drawingBufferHeight],pixelRatio:this.pixelRatio},n.bind(),n.draw(e.TRIANGLE_STRIP,this.vertexCount),n.unbind()}},m.drawPick=function(t){if(this.vertexCount){var e=this.gl,r=this.pickShader,n=this.vao;r.bind(),r.uniforms={model:t.model||p,view:t.view||p,projection:t.projection||p,pickId:this.pickId,clipBounds:v(this.clipBounds),screenShape:[e.drawingBufferWidth,e.drawingBufferHeight],pixelRatio:this.pixelRatio},n.bind(),n.draw(e.TRIANGLE_STRIP,this.vertexCount),n.unbind()}},m.update=function(t){var e,r;this.dirty=!0;var n=!!t.connectGaps;\"dashScale\"in t&&(this.dashScale=t.dashScale),this.hasAlpha=!1,\"opacity\"in t&&(this.opacity=+t.opacity,this.opacity<1&&(this.hasAlpha=!0));var i=[],a=[],o=[],s=0,c=0,f=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],h=t.position||t.positions;if(h){var p=t.color||t.colors||[0,0,0,1],v=t.lineWidth||1,g=!1;t:for(e=1;e0){for(var w=0;w<24;++w)i.push(i[i.length-12]);c+=2,g=!0}continue t}f[0][r]=Math.min(f[0][r],b[r],_[r]),f[1][r]=Math.max(f[1][r],b[r],_[r])}Array.isArray(p[0])?(y=p.length>e-1?p[e-1]:p.length>0?p[p.length-1]:[0,0,0,1],m=p.length>e?p[e]:p.length>0?p[p.length-1]:[0,0,0,1]):y=m=p,3===y.length&&(y=[y[0],y[1],y[2],1]),3===m.length&&(m=[m[0],m[1],m[2],1]),!this.hasAlpha&&y[3]<1&&(this.hasAlpha=!0),x=Array.isArray(v)?v.length>e-1?v[e-1]:v.length>0?v[v.length-1]:[0,0,0,1]:v;var T=s;if(s+=d(b,_),g){for(r=0;r<2;++r)i.push(b[0],b[1],b[2],_[0],_[1],_[2],T,x,y[0],y[1],y[2],y[3]);c+=2,g=!1}i.push(b[0],b[1],b[2],_[0],_[1],_[2],T,x,y[0],y[1],y[2],y[3],b[0],b[1],b[2],_[0],_[1],_[2],T,-x,y[0],y[1],y[2],y[3],_[0],_[1],_[2],b[0],b[1],b[2],s,-x,m[0],m[1],m[2],m[3],_[0],_[1],_[2],b[0],b[1],b[2],s,x,m[0],m[1],m[2],m[3]),c+=4}}if(this.buffer.update(i),a.push(s),o.push(h[h.length-1].slice()),this.bounds=f,this.vertexCount=c,this.points=o,this.arcLength=a,\"dashes\"in t){var k=t.dashes.slice();for(k.unshift(0),e=1;e1.0001)return null;y+=g[f]}return Math.abs(y-1)>.001?null:[h,s(t,g),g]}},840:function(t,e,r){var n=r(3236),i=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec3 position, normal;\\nattribute vec4 color;\\nattribute vec2 uv;\\n\\nuniform mat4 model\\n , view\\n , projection\\n , inverseModel;\\nuniform vec3 eyePosition\\n , lightPosition;\\n\\nvarying vec3 f_normal\\n , f_lightDirection\\n , f_eyeDirection\\n , f_data;\\nvarying vec4 f_color;\\nvarying vec2 f_uv;\\n\\nvec4 project(vec3 p) {\\n return projection * view * model * vec4(p, 1.0);\\n}\\n\\nvoid main() {\\n gl_Position = project(position);\\n\\n //Lighting geometry parameters\\n vec4 cameraCoordinate = view * vec4(position , 1.0);\\n cameraCoordinate.xyz /= cameraCoordinate.w;\\n f_lightDirection = lightPosition - cameraCoordinate.xyz;\\n f_eyeDirection = eyePosition - cameraCoordinate.xyz;\\n f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz);\\n\\n f_color = color;\\n f_data = position;\\n f_uv = uv;\\n}\\n\"]),a=n([\"#extension GL_OES_standard_derivatives : enable\\n\\nprecision highp float;\\n#define GLSLIFY 1\\n\\nfloat beckmannDistribution(float x, float roughness) {\\n float NdotH = max(x, 0.0001);\\n float cos2Alpha = NdotH * NdotH;\\n float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\\n float roughness2 = roughness * roughness;\\n float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\\n return exp(tan2Alpha / roughness2) / denom;\\n}\\n\\nfloat cookTorranceSpecular(\\n vec3 lightDirection,\\n vec3 viewDirection,\\n vec3 surfaceNormal,\\n float roughness,\\n float fresnel) {\\n\\n float VdotN = max(dot(viewDirection, surfaceNormal), 0.0);\\n float LdotN = max(dot(lightDirection, surfaceNormal), 0.0);\\n\\n //Half angle vector\\n vec3 H = normalize(lightDirection + viewDirection);\\n\\n //Geometric term\\n float NdotH = max(dot(surfaceNormal, H), 0.0);\\n float VdotH = max(dot(viewDirection, H), 0.000001);\\n float LdotH = max(dot(lightDirection, H), 0.000001);\\n float G1 = (2.0 * NdotH * VdotN) / VdotH;\\n float G2 = (2.0 * NdotH * LdotN) / LdotH;\\n float G = min(1.0, min(G1, G2));\\n \\n //Distribution term\\n float D = beckmannDistribution(NdotH, roughness);\\n\\n //Fresnel term\\n float F = pow(1.0 - VdotN, fresnel);\\n\\n //Multiply terms and done\\n return G * F * D / max(3.14159265 * VdotN, 0.000001);\\n}\\n\\n//#pragma glslify: beckmann = require(glsl-specular-beckmann) // used in gl-surface3d\\n\\nbool outOfRange(float a, float b, float p) {\\n return ((p > max(a, b)) || \\n (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y) ||\\n outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nuniform vec3 clipBounds[2];\\nuniform float roughness\\n , fresnel\\n , kambient\\n , kdiffuse\\n , kspecular;\\nuniform sampler2D texture;\\n\\nvarying vec3 f_normal\\n , f_lightDirection\\n , f_eyeDirection\\n , f_data;\\nvarying vec4 f_color;\\nvarying vec2 f_uv;\\n\\nvoid main() {\\n if (f_color.a == 0.0 ||\\n outOfRange(clipBounds[0], clipBounds[1], f_data)\\n ) discard;\\n\\n vec3 N = normalize(f_normal);\\n vec3 L = normalize(f_lightDirection);\\n vec3 V = normalize(f_eyeDirection);\\n\\n if(gl_FrontFacing) {\\n N = -N;\\n }\\n\\n float specular = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel)));\\n //float specular = max(0.0, beckmann(L, V, N, roughness)); // used in gl-surface3d\\n\\n float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\\n\\n vec4 surfaceColor = vec4(f_color.rgb, 1.0) * texture2D(texture, f_uv);\\n vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0);\\n\\n gl_FragColor = litColor * f_color.a;\\n}\\n\"]),o=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec3 position;\\nattribute vec4 color;\\nattribute vec2 uv;\\n\\nuniform mat4 model, view, projection;\\n\\nvarying vec4 f_color;\\nvarying vec3 f_data;\\nvarying vec2 f_uv;\\n\\nvoid main() {\\n gl_Position = projection * view * model * vec4(position, 1.0);\\n f_color = color;\\n f_data = position;\\n f_uv = uv;\\n}\"]),s=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nbool outOfRange(float a, float b, float p) {\\n return ((p > max(a, b)) || \\n (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y) ||\\n outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nuniform vec3 clipBounds[2];\\nuniform sampler2D texture;\\nuniform float opacity;\\n\\nvarying vec4 f_color;\\nvarying vec3 f_data;\\nvarying vec2 f_uv;\\n\\nvoid main() {\\n if (outOfRange(clipBounds[0], clipBounds[1], f_data)) discard;\\n\\n gl_FragColor = f_color * texture2D(texture, f_uv) * opacity;\\n}\"]),l=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nbool outOfRange(float a, float b, float p) {\\n return ((p > max(a, b)) || \\n (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y) ||\\n outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nattribute vec3 position;\\nattribute vec4 color;\\nattribute vec2 uv;\\nattribute float pointSize;\\n\\nuniform mat4 model, view, projection;\\nuniform vec3 clipBounds[2];\\n\\nvarying vec4 f_color;\\nvarying vec2 f_uv;\\n\\nvoid main() {\\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\\n\\n gl_Position = vec4(0.0, 0.0 ,0.0 ,0.0);\\n } else {\\n gl_Position = projection * view * model * vec4(position, 1.0);\\n }\\n gl_PointSize = pointSize;\\n f_color = color;\\n f_uv = uv;\\n}\"]),u=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nuniform sampler2D texture;\\nuniform float opacity;\\n\\nvarying vec4 f_color;\\nvarying vec2 f_uv;\\n\\nvoid main() {\\n vec2 pointR = gl_PointCoord.xy - vec2(0.5, 0.5);\\n if(dot(pointR, pointR) > 0.25) {\\n discard;\\n }\\n gl_FragColor = f_color * texture2D(texture, f_uv) * opacity;\\n}\"]),c=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec3 position;\\nattribute vec4 id;\\n\\nuniform mat4 model, view, projection;\\n\\nvarying vec3 f_position;\\nvarying vec4 f_id;\\n\\nvoid main() {\\n gl_Position = projection * view * model * vec4(position, 1.0);\\n f_id = id;\\n f_position = position;\\n}\"]),f=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nbool outOfRange(float a, float b, float p) {\\n return ((p > max(a, b)) || \\n (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y) ||\\n outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nuniform vec3 clipBounds[2];\\nuniform float pickId;\\n\\nvarying vec3 f_position;\\nvarying vec4 f_id;\\n\\nvoid main() {\\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\\n\\n gl_FragColor = vec4(pickId, f_id.xyz);\\n}\"]),h=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nbool outOfRange(float a, float b, float p) {\\n return ((p > max(a, b)) || \\n (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y) ||\\n outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nattribute vec3 position;\\nattribute float pointSize;\\nattribute vec4 id;\\n\\nuniform mat4 model, view, projection;\\nuniform vec3 clipBounds[2];\\n\\nvarying vec3 f_position;\\nvarying vec4 f_id;\\n\\nvoid main() {\\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\\n\\n gl_Position = vec4(0.0, 0.0, 0.0, 0.0);\\n } else {\\n gl_Position = projection * view * model * vec4(position, 1.0);\\n gl_PointSize = pointSize;\\n }\\n f_id = id;\\n f_position = position;\\n}\"]),p=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec3 position;\\n\\nuniform mat4 model, view, projection;\\n\\nvoid main() {\\n gl_Position = projection * view * model * vec4(position, 1.0);\\n}\"]),d=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nuniform vec3 contourColor;\\n\\nvoid main() {\\n gl_FragColor = vec4(contourColor, 1.0);\\n}\\n\"]);e.meshShader={vertex:i,fragment:a,attributes:[{name:\"position\",type:\"vec3\"},{name:\"normal\",type:\"vec3\"},{name:\"color\",type:\"vec4\"},{name:\"uv\",type:\"vec2\"}]},e.wireShader={vertex:o,fragment:s,attributes:[{name:\"position\",type:\"vec3\"},{name:\"color\",type:\"vec4\"},{name:\"uv\",type:\"vec2\"}]},e.pointShader={vertex:l,fragment:u,attributes:[{name:\"position\",type:\"vec3\"},{name:\"color\",type:\"vec4\"},{name:\"uv\",type:\"vec2\"},{name:\"pointSize\",type:\"float\"}]},e.pickShader={vertex:c,fragment:f,attributes:[{name:\"position\",type:\"vec3\"},{name:\"id\",type:\"vec4\"}]},e.pointPickShader={vertex:h,fragment:f,attributes:[{name:\"position\",type:\"vec3\"},{name:\"pointSize\",type:\"float\"},{name:\"id\",type:\"vec4\"}]},e.contourShader={vertex:p,fragment:d,attributes:[{name:\"position\",type:\"vec3\"}]}},7201:function(t,e,r){\"use strict\";var n=r(9405),i=r(2762),a=r(8116),o=r(7766),s=r(8406),l=r(6760),u=r(7608),c=r(9618),f=r(6729),h=r(7765),p=r(1888),d=r(840),v=r(7626),g=d.meshShader,y=d.wireShader,m=d.pointShader,x=d.pickShader,b=d.pointPickShader,_=d.contourShader,w=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function T(t,e,r,n,i,a,o,s,l,u,c,f,h,p,d,v,g,y,m,x,b,_,T,k,A,M,S){this.gl=t,this.pixelRatio=1,this.cells=[],this.positions=[],this.intensity=[],this.texture=e,this.dirty=!0,this.triShader=r,this.lineShader=n,this.pointShader=i,this.pickShader=a,this.pointPickShader=o,this.contourShader=s,this.trianglePositions=l,this.triangleColors=c,this.triangleNormals=h,this.triangleUVs=f,this.triangleIds=u,this.triangleVAO=p,this.triangleCount=0,this.lineWidth=1,this.edgePositions=d,this.edgeColors=g,this.edgeUVs=y,this.edgeIds=v,this.edgeVAO=m,this.edgeCount=0,this.pointPositions=x,this.pointColors=_,this.pointUVs=T,this.pointSizes=k,this.pointIds=b,this.pointVAO=A,this.pointCount=0,this.contourLineWidth=1,this.contourPositions=M,this.contourVAO=S,this.contourCount=0,this.contourColor=[0,0,0],this.contourEnable=!0,this.pickVertex=!0,this.pickId=1,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.lightPosition=[1e5,1e5,0],this.ambientLight=.8,this.diffuseLight=.8,this.specularLight=2,this.roughness=.5,this.fresnel=1.5,this.opacity=1,this.hasAlpha=!1,this.opacityscale=!1,this._model=w,this._view=w,this._projection=w,this._resolution=[1,1]}var k=T.prototype;function A(t,e){if(!e)return 1;if(!e.length)return 1;for(var r=0;rt&&r>0){var n=(e[r][0]-t)/(e[r][0]-e[r-1][0]);return e[r][1]*(1-n)+n*e[r-1][1]}}return 1}function M(t){var e=n(t,m.vertex,m.fragment);return e.attributes.position.location=0,e.attributes.color.location=2,e.attributes.uv.location=3,e.attributes.pointSize.location=4,e}function S(t){var e=n(t,x.vertex,x.fragment);return e.attributes.position.location=0,e.attributes.id.location=1,e}function E(t){var e=n(t,b.vertex,b.fragment);return e.attributes.position.location=0,e.attributes.id.location=1,e.attributes.pointSize.location=4,e}function L(t){var e=n(t,_.vertex,_.fragment);return e.attributes.position.location=0,e}k.isOpaque=function(){return!this.hasAlpha},k.isTransparent=function(){return this.hasAlpha},k.pickSlots=1,k.setPickBase=function(t){this.pickId=t},k.highlight=function(t){if(t&&this.contourEnable){for(var e=h(this.cells,this.intensity,t.intensity),r=e.cells,n=e.vertexIds,i=e.vertexWeights,a=r.length,o=p.mallocFloat32(6*a),s=0,l=0;l0&&((f=this.triShader).bind(),f.uniforms=s,this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind()),this.edgeCount>0&&this.lineWidth>0&&((f=this.lineShader).bind(),f.uniforms=s,this.edgeVAO.bind(),e.lineWidth(this.lineWidth*this.pixelRatio),e.drawArrays(e.LINES,0,2*this.edgeCount),this.edgeVAO.unbind()),this.pointCount>0&&((f=this.pointShader).bind(),f.uniforms=s,this.pointVAO.bind(),e.drawArrays(e.POINTS,0,this.pointCount),this.pointVAO.unbind()),this.contourEnable&&this.contourCount>0&&this.contourLineWidth>0&&((f=this.contourShader).bind(),f.uniforms=s,this.contourVAO.bind(),e.drawArrays(e.LINES,0,this.contourCount),this.contourVAO.unbind())},k.drawPick=function(t){t=t||{};for(var e=this.gl,r=t.model||w,n=t.view||w,i=t.projection||w,a=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<3;++o)a[0][o]=Math.max(a[0][o],this.clipBounds[0][o]),a[1][o]=Math.min(a[1][o],this.clipBounds[1][o]);this._model=[].slice.call(r),this._view=[].slice.call(n),this._projection=[].slice.call(i),this._resolution=[e.drawingBufferWidth,e.drawingBufferHeight];var s,l={model:r,view:n,projection:i,clipBounds:a,pickId:this.pickId/255};(s=this.pickShader).bind(),s.uniforms=l,this.triangleCount>0&&(this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind()),this.edgeCount>0&&(this.edgeVAO.bind(),e.lineWidth(this.lineWidth*this.pixelRatio),e.drawArrays(e.LINES,0,2*this.edgeCount),this.edgeVAO.unbind()),this.pointCount>0&&((s=this.pointPickShader).bind(),s.uniforms=l,this.pointVAO.bind(),e.drawArrays(e.POINTS,0,this.pointCount),this.pointVAO.unbind())},k.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;for(var e=t.value[0]+256*t.value[1]+65536*t.value[2],r=this.cells[e],n=this.positions,i=new Array(r.length),a=0;ai[k]&&(r.uniforms.dataAxis=u,r.uniforms.screenOffset=c,r.uniforms.color=g[t],r.uniforms.angle=y[t],a.drawArrays(a.TRIANGLES,i[k],i[A]-i[k]))),m[t]&&T&&(c[1^t]-=M*p*x[t],r.uniforms.dataAxis=f,r.uniforms.screenOffset=c,r.uniforms.color=b[t],r.uniforms.angle=_[t],a.drawArrays(a.TRIANGLES,w,T)),c[1^t]=M*s[2+(1^t)]-1,d[t+2]&&(c[1^t]+=M*p*v[t+2],ki[k]&&(r.uniforms.dataAxis=u,r.uniforms.screenOffset=c,r.uniforms.color=g[t+2],r.uniforms.angle=y[t+2],a.drawArrays(a.TRIANGLES,i[k],i[A]-i[k]))),m[t+2]&&T&&(c[1^t]+=M*p*x[t+2],r.uniforms.dataAxis=f,r.uniforms.screenOffset=c,r.uniforms.color=b[t+2],r.uniforms.angle=_[t+2],a.drawArrays(a.TRIANGLES,w,T))}),v.drawTitle=function(){var t=[0,0],e=[0,0];return function(){var r=this.plot,n=this.shader,i=r.gl,a=r.screenBox,o=r.titleCenter,s=r.titleAngle,l=r.titleColor,u=r.pixelRatio;if(this.titleCount){for(var c=0;c<2;++c)e[c]=2*(o[c]*u-a[c])/(a[2+c]-a[c])-1;n.bind(),n.uniforms.dataAxis=t,n.uniforms.screenOffset=e,n.uniforms.angle=s,n.uniforms.color=l,i.drawArrays(i.TRIANGLES,this.titleOffset,this.titleCount)}}}(),v.bind=(h=[0,0],p=[0,0],d=[0,0],function(){var t=this.plot,e=this.shader,r=t._tickBounds,n=t.dataBox,i=t.screenBox,a=t.viewBox;e.bind();for(var o=0;o<2;++o){var s=r[o],l=r[o+2]-s,u=.5*(n[o+2]+n[o]),c=n[o+2]-n[o],f=a[o],v=a[o+2]-f,g=i[o],y=i[o+2]-g;p[o]=2*l/c*v/y,h[o]=2*(s-u)/c*v/y}d[1]=2*t.pixelRatio/(i[3]-i[1]),d[0]=d[1]*(i[3]-i[1])/(i[2]-i[0]),e.uniforms.dataScale=p,e.uniforms.dataShift=h,e.uniforms.textScale=d,this.vbo.bind(),e.attributes.textCoordinate.pointer()}),v.update=function(t){var e,r,n,i,o,s=[],l=t.ticks,u=t.bounds;for(o=0;o<2;++o){var c=[Math.floor(s.length/3)],f=[-1/0],h=l[o];for(e=0;e=0){var v=e[d]-n[d]*(e[d+2]-e[d])/(n[d+2]-n[d]);0===d?o.drawLine(v,e[1],v,e[3],p[d],h[d]):o.drawLine(e[0],v,e[2],v,p[d],h[d])}}for(d=0;d=0;--t)this.objects[t].dispose();for(this.objects.length=0,t=this.overlays.length-1;t>=0;--t)this.overlays[t].dispose();this.overlays.length=0,this.gl=null},u.addObject=function(t){this.objects.indexOf(t)<0&&(this.objects.push(t),this.setDirty())},u.removeObject=function(t){for(var e=this.objects,r=0;rMath.abs(e))u.rotate(a,0,0,-t*r*Math.PI*d.rotateSpeed/window.innerWidth);else if(!d._ortho){var o=-d.zoomSpeed*i*e/window.innerHeight*(a-u.lastT())/20;u.pan(a,0,0,f*(Math.exp(o)-1))}}}),!0)},d.enableMouseListeners(),d};var n=r(3025),i=r(6296),a=r(351),o=r(8512),s=r(24),l=r(7520)},799:function(t,e,r){var n=r(3236),i=r(9405),a=n([\"precision mediump float;\\n#define GLSLIFY 1\\nattribute vec2 position;\\nvarying vec2 uv;\\nvoid main() {\\n uv = position;\\n gl_Position = vec4(position, 0, 1);\\n}\"]),o=n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nuniform sampler2D accumBuffer;\\nvarying vec2 uv;\\n\\nvoid main() {\\n vec4 accum = texture2D(accumBuffer, 0.5 * (uv + 1.0));\\n gl_FragColor = min(vec4(1,1,1,1), accum);\\n}\"]);t.exports=function(t){return i(t,a,o,null,[{name:\"position\",type:\"vec2\"}])}},4100:function(t,e,r){\"use strict\";var n=r(4437),i=r(3837),a=r(5445),o=r(4449),s=r(3589),l=r(2260),u=r(7169),c=r(351),f=r(4772),h=r(4040),p=r(799),d=r(9216)({tablet:!0,featureDetect:!0});function v(){this.mouse=[-1,-1],this.screen=null,this.distance=1/0,this.index=null,this.dataCoordinate=null,this.dataPosition=null,this.object=null,this.data=null}function g(t){var e=Math.round(Math.log(Math.abs(t))/Math.log(10));if(e<0){var r=Math.round(Math.pow(10,-e));return Math.ceil(t*r)/r}return e>0?(r=Math.round(Math.pow(10,e)),Math.ceil(t/r)*r):Math.ceil(t)}function y(t){return\"boolean\"!=typeof t||t}t.exports={createScene:function(t){(t=t||{}).camera=t.camera||{};var e=t.canvas;e||(e=document.createElement(\"canvas\"),t.container?t.container.appendChild(e):document.body.appendChild(e));var r=t.gl;if(r||(t.glOptions&&(d=!!t.glOptions.preserveDrawingBuffer),r=function(t,e){var r=null;try{(r=t.getContext(\"webgl\",e))||(r=t.getContext(\"experimental-webgl\",e))}catch(t){return null}return r}(e,t.glOptions||{premultipliedAlpha:!0,antialias:!0,preserveDrawingBuffer:d})),!r)throw new Error(\"webgl not supported\");var m=t.bounds||[[-10,-10,-10],[10,10,10]],x=new v,b=l(r,r.drawingBufferWidth,r.drawingBufferHeight,{preferFloat:!d}),_=p(r),w=t.cameraObject&&!0===t.cameraObject._ortho||t.camera.projection&&\"orthographic\"===t.camera.projection.type||!1,T={eye:t.camera.eye||[2,0,0],center:t.camera.center||[0,0,0],up:t.camera.up||[0,1,0],zoomMin:t.camera.zoomMax||.1,zoomMax:t.camera.zoomMin||100,mode:t.camera.mode||\"turntable\",_ortho:w},k=t.axes||{},A=i(r,k);A.enable=!k.disable;var M=t.spikes||{},S=o(r,M),E=[],L=[],C=[],P=[],O=!0,I=!0,z={view:null,projection:new Array(16),model:new Array(16),_ortho:!1},D=(I=!0,[r.drawingBufferWidth,r.drawingBufferHeight]),R=t.cameraObject||n(e,T),F={gl:r,contextLost:!1,pixelRatio:t.pixelRatio||1,canvas:e,selection:x,camera:R,axes:A,axesPixels:null,spikes:S,bounds:m,objects:E,shape:D,aspect:t.aspectRatio||[1,1,1],pickRadius:t.pickRadius||10,zNear:t.zNear||.01,zFar:t.zFar||1e3,fovy:t.fovy||Math.PI/4,clearColor:t.clearColor||[0,0,0,0],autoResize:y(t.autoResize),autoBounds:y(t.autoBounds),autoScale:!!t.autoScale,autoCenter:y(t.autoCenter),clipToBounds:y(t.clipToBounds),snapToData:!!t.snapToData,onselect:t.onselect||null,onrender:t.onrender||null,onclick:t.onclick||null,cameraParams:z,oncontextloss:null,mouseListener:null,_stopped:!1,getAspectratio:function(){return{x:this.aspect[0],y:this.aspect[1],z:this.aspect[2]}},setAspectratio:function(t){this.aspect[0]=t.x,this.aspect[1]=t.y,this.aspect[2]=t.z,I=!0},setBounds:function(t,e){this.bounds[0][t]=e.min,this.bounds[1][t]=e.max},setClearColor:function(t){this.clearColor=t},clearRGBA:function(){this.gl.clearColor(this.clearColor[0],this.clearColor[1],this.clearColor[2],this.clearColor[3]),this.gl.clear(this.gl.COLOR_BUFFER_BIT|this.gl.DEPTH_BUFFER_BIT)}},B=[r.drawingBufferWidth/F.pixelRatio|0,r.drawingBufferHeight/F.pixelRatio|0];function N(){if(!F._stopped&&F.autoResize){var t=e.parentNode,r=1,n=1;t&&t!==document.body?(r=t.clientWidth,n=t.clientHeight):(r=window.innerWidth,n=window.innerHeight);var i=0|Math.ceil(r*F.pixelRatio),a=0|Math.ceil(n*F.pixelRatio);if(i!==e.width||a!==e.height){e.width=i,e.height=a;var o=e.style;o.position=o.position||\"absolute\",o.left=\"0px\",o.top=\"0px\",o.width=r+\"px\",o.height=n+\"px\",O=!0}}}function j(){for(var t=E.length,e=P.length,n=0;n0&&0===C[e-1];)C.pop(),P.pop().dispose()}function U(){if(F.contextLost)return!0;r.isContextLost()&&(F.contextLost=!0,F.mouseListener.enabled=!1,F.selection.object=null,F.oncontextloss&&F.oncontextloss())}F.autoResize&&N(),window.addEventListener(\"resize\",N),F.update=function(t){F._stopped||(t=t||{},O=!0,I=!0)},F.add=function(t){F._stopped||(t.axes=A,E.push(t),L.push(-1),O=!0,I=!0,j())},F.remove=function(t){if(!F._stopped){var e=E.indexOf(t);e<0||(E.splice(e,1),L.pop(),O=!0,I=!0,j())}},F.dispose=function(){if(!F._stopped&&(F._stopped=!0,window.removeEventListener(\"resize\",N),e.removeEventListener(\"webglcontextlost\",U),F.mouseListener.enabled=!1,!F.contextLost)){A.dispose(),S.dispose();for(var t=0;tx.distance)continue;for(var u=0;u 1.0) {\\n discard;\\n }\\n baseColor = mix(borderColor, color, step(radius, centerFraction));\\n gl_FragColor = vec4(baseColor.rgb * baseColor.a, baseColor.a);\\n }\\n}\\n\"]),e.pickVertex=n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec2 position;\\nattribute vec4 pickId;\\n\\nuniform mat3 matrix;\\nuniform float pointSize;\\nuniform vec4 pickOffset;\\n\\nvarying vec4 fragId;\\n\\nvoid main() {\\n vec3 hgPosition = matrix * vec3(position, 1);\\n gl_Position = vec4(hgPosition.xy, 0, hgPosition.z);\\n gl_PointSize = pointSize;\\n\\n vec4 id = pickId + pickOffset;\\n id.y += floor(id.x / 256.0);\\n id.x -= floor(id.x / 256.0) * 256.0;\\n\\n id.z += floor(id.y / 256.0);\\n id.y -= floor(id.y / 256.0) * 256.0;\\n\\n id.w += floor(id.z / 256.0);\\n id.z -= floor(id.z / 256.0) * 256.0;\\n\\n fragId = id;\\n}\\n\"]),e.pickFragment=n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nvarying vec4 fragId;\\n\\nvoid main() {\\n float radius = length(2.0 * gl_PointCoord.xy - 1.0);\\n if(radius > 1.0) {\\n discard;\\n }\\n gl_FragColor = fragId / 255.0;\\n}\\n\"])},4696:function(t,e,r){\"use strict\";var n=r(9405),i=r(2762),a=r(1888),o=r(6640);function s(t,e,r,n,i){this.plot=t,this.offsetBuffer=e,this.pickBuffer=r,this.shader=n,this.pickShader=i,this.sizeMin=.5,this.sizeMinCap=2,this.sizeMax=20,this.areaRatio=1,this.pointCount=0,this.color=[1,0,0,1],this.borderColor=[0,0,0,1],this.blend=!1,this.pickOffset=0,this.points=null}t.exports=function(t,e){var r=t.gl,a=new s(t,i(r),i(r),n(r,o.pointVertex,o.pointFragment),n(r,o.pickVertex,o.pickFragment));return a.update(e),t.addObject(a),a};var l,u,c=s.prototype;c.dispose=function(){this.shader.dispose(),this.pickShader.dispose(),this.offsetBuffer.dispose(),this.pickBuffer.dispose(),this.plot.removeObject(this)},c.update=function(t){var e;function r(e,r){return e in t?t[e]:r}t=t||{},this.sizeMin=r(\"sizeMin\",.5),this.sizeMax=r(\"sizeMax\",20),this.color=r(\"color\",[1,0,0,1]).slice(),this.areaRatio=r(\"areaRatio\",1),this.borderColor=r(\"borderColor\",[0,0,0,1]).slice(),this.blend=r(\"blend\",!1);var n=t.positions.length>>>1,i=t.positions instanceof Float32Array,o=t.idToIndex instanceof Int32Array&&t.idToIndex.length>=n,s=t.positions,l=i?s:a.mallocFloat32(s.length),u=o?t.idToIndex:a.mallocInt32(n);if(i||l.set(s),!o)for(l.set(s),e=0;e>>1;for(r=0;r=e[0]&&a<=e[2]&&o>=e[1]&&o<=e[3]&&n++}return n}(this.points,i),c=this.plot.pickPixelRatio*Math.max(Math.min(this.sizeMinCap,this.sizeMin),Math.min(this.sizeMax,this.sizeMax/Math.pow(s,.33333)));l[0]=2/a,l[4]=2/o,l[6]=-2*i[0]/a-1,l[7]=-2*i[1]/o-1,this.offsetBuffer.bind(),r.bind(),r.attributes.position.pointer(),r.uniforms.matrix=l,r.uniforms.color=this.color,r.uniforms.borderColor=this.borderColor,r.uniforms.pointCloud=c<5,r.uniforms.pointSize=c,r.uniforms.centerFraction=Math.min(1,Math.max(0,Math.sqrt(1-this.areaRatio))),e&&(u[0]=255&t,u[1]=t>>8&255,u[2]=t>>16&255,u[3]=t>>24&255,this.pickBuffer.bind(),r.attributes.pickId.pointer(n.UNSIGNED_BYTE),r.uniforms.pickOffset=u,this.pickOffset=t);var f=n.getParameter(n.BLEND),h=n.getParameter(n.DITHER);return f&&!this.blend&&n.disable(n.BLEND),h&&n.disable(n.DITHER),n.drawArrays(n.POINTS,0,this.pointCount),f&&!this.blend&&n.enable(n.BLEND),h&&n.enable(n.DITHER),t+this.pointCount}),c.draw=c.unifiedDraw,c.drawPick=c.unifiedDraw,c.pick=function(t,e,r){var n=this.pickOffset,i=this.pointCount;if(r=n+i)return null;var a=r-n,o=this.points;return{object:this,pointId:a,dataCoord:[o[2*a],o[2*a+1]]}}},783:function(t){t.exports=function(t,e,r,n){var i,a,o,s,l,u=e[0],c=e[1],f=e[2],h=e[3],p=r[0],d=r[1],v=r[2],g=r[3];return(a=u*p+c*d+f*v+h*g)<0&&(a=-a,p=-p,d=-d,v=-v,g=-g),1-a>1e-6?(i=Math.acos(a),o=Math.sin(i),s=Math.sin((1-n)*i)/o,l=Math.sin(n*i)/o):(s=1-n,l=n),t[0]=s*u+l*p,t[1]=s*c+l*d,t[2]=s*f+l*v,t[3]=s*h+l*g,t}},5964:function(t){\"use strict\";t.exports=function(t){return t||0===t?t.toString():\"\"}},9366:function(t,e,r){\"use strict\";var n=r(4359);t.exports=function(t,e,r){var a=[e.style,e.weight,e.variant,e.family].join(\"_\"),o=i[a];if(o||(o=i[a]={}),t in o)return o[t];var s={textAlign:\"center\",textBaseline:\"middle\",lineHeight:1,font:e.family,fontStyle:e.style,fontWeight:e.weight,fontVariant:e.variant,lineSpacing:1.25,styletags:{breaklines:!0,bolds:!0,italics:!0,subscripts:!0,superscripts:!0},triangles:!0},l=n(t,s);s.triangles=!1;var u,c,f=n(t,s);if(r&&1!==r){for(u=0;u max(a, b)) || \\n (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y) ||\\n outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nattribute vec3 position;\\nattribute vec4 color;\\nattribute vec2 glyph;\\nattribute vec4 id;\\n\\nuniform vec4 highlightId;\\nuniform float highlightScale;\\nuniform mat4 model, view, projection;\\nuniform vec3 clipBounds[2];\\n\\nvarying vec4 interpColor;\\nvarying vec4 pickId;\\nvarying vec3 dataCoordinate;\\n\\nvoid main() {\\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\\n\\n gl_Position = vec4(0,0,0,0);\\n } else {\\n float scale = 1.0;\\n if(distance(highlightId, id) < 0.0001) {\\n scale = highlightScale;\\n }\\n\\n vec4 worldPosition = model * vec4(position, 1);\\n vec4 viewPosition = view * worldPosition;\\n viewPosition = viewPosition / viewPosition.w;\\n vec4 clipPosition = projection * (viewPosition + scale * vec4(glyph.x, -glyph.y, 0, 0));\\n\\n gl_Position = clipPosition;\\n interpColor = color;\\n pickId = id;\\n dataCoordinate = position;\\n }\\n}\"]),o=i([\"precision highp float;\\n#define GLSLIFY 1\\n\\nbool outOfRange(float a, float b, float p) {\\n return ((p > max(a, b)) || \\n (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y) ||\\n outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nattribute vec3 position;\\nattribute vec4 color;\\nattribute vec2 glyph;\\nattribute vec4 id;\\n\\nuniform mat4 model, view, projection;\\nuniform vec2 screenSize;\\nuniform vec3 clipBounds[2];\\nuniform float highlightScale, pixelRatio;\\nuniform vec4 highlightId;\\n\\nvarying vec4 interpColor;\\nvarying vec4 pickId;\\nvarying vec3 dataCoordinate;\\n\\nvoid main() {\\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\\n\\n gl_Position = vec4(0,0,0,0);\\n } else {\\n float scale = pixelRatio;\\n if(distance(highlightId.bgr, id.bgr) < 0.001) {\\n scale *= highlightScale;\\n }\\n\\n vec4 worldPosition = model * vec4(position, 1.0);\\n vec4 viewPosition = view * worldPosition;\\n vec4 clipPosition = projection * viewPosition;\\n clipPosition /= clipPosition.w;\\n\\n gl_Position = clipPosition + vec4(screenSize * scale * vec2(glyph.x, -glyph.y), 0.0, 0.0);\\n interpColor = color;\\n pickId = id;\\n dataCoordinate = position;\\n }\\n}\"]),s=i([\"precision highp float;\\n#define GLSLIFY 1\\n\\nbool outOfRange(float a, float b, float p) {\\n return ((p > max(a, b)) || \\n (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y) ||\\n outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nattribute vec3 position;\\nattribute vec4 color;\\nattribute vec2 glyph;\\nattribute vec4 id;\\n\\nuniform float highlightScale;\\nuniform vec4 highlightId;\\nuniform vec3 axes[2];\\nuniform mat4 model, view, projection;\\nuniform vec2 screenSize;\\nuniform vec3 clipBounds[2];\\nuniform float scale, pixelRatio;\\n\\nvarying vec4 interpColor;\\nvarying vec4 pickId;\\nvarying vec3 dataCoordinate;\\n\\nvoid main() {\\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\\n\\n gl_Position = vec4(0,0,0,0);\\n } else {\\n float lscale = pixelRatio * scale;\\n if(distance(highlightId, id) < 0.0001) {\\n lscale *= highlightScale;\\n }\\n\\n vec4 clipCenter = projection * view * model * vec4(position, 1);\\n vec3 dataPosition = position + 0.5*lscale*(axes[0] * glyph.x + axes[1] * glyph.y) * clipCenter.w * screenSize.y;\\n vec4 clipPosition = projection * view * model * vec4(dataPosition, 1);\\n\\n gl_Position = clipPosition;\\n interpColor = color;\\n pickId = id;\\n dataCoordinate = dataPosition;\\n }\\n}\\n\"]),l=i([\"precision highp float;\\n#define GLSLIFY 1\\n\\nbool outOfRange(float a, float b, float p) {\\n return ((p > max(a, b)) || \\n (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y) ||\\n outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nuniform vec3 fragClipBounds[2];\\nuniform float opacity;\\n\\nvarying vec4 interpColor;\\nvarying vec3 dataCoordinate;\\n\\nvoid main() {\\n if (\\n outOfRange(fragClipBounds[0], fragClipBounds[1], dataCoordinate) ||\\n interpColor.a * opacity == 0.\\n ) discard;\\n gl_FragColor = interpColor * opacity;\\n}\\n\"]),u=i([\"precision highp float;\\n#define GLSLIFY 1\\n\\nbool outOfRange(float a, float b, float p) {\\n return ((p > max(a, b)) || \\n (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y) ||\\n outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nuniform vec3 fragClipBounds[2];\\nuniform float pickGroup;\\n\\nvarying vec4 pickId;\\nvarying vec3 dataCoordinate;\\n\\nvoid main() {\\n if (outOfRange(fragClipBounds[0], fragClipBounds[1], dataCoordinate)) discard;\\n\\n gl_FragColor = vec4(pickGroup, pickId.bgr);\\n}\"]),c=[{name:\"position\",type:\"vec3\"},{name:\"color\",type:\"vec4\"},{name:\"glyph\",type:\"vec2\"},{name:\"id\",type:\"vec4\"}],f={vertex:a,fragment:l,attributes:c},h={vertex:o,fragment:l,attributes:c},p={vertex:s,fragment:l,attributes:c},d={vertex:a,fragment:u,attributes:c},v={vertex:o,fragment:u,attributes:c},g={vertex:s,fragment:u,attributes:c};function y(t,e){var r=n(t,e),i=r.attributes;return i.position.location=0,i.color.location=1,i.glyph.location=2,i.id.location=3,r}e.createPerspective=function(t){return y(t,f)},e.createOrtho=function(t){return y(t,h)},e.createProject=function(t){return y(t,p)},e.createPickPerspective=function(t){return y(t,d)},e.createPickOrtho=function(t){return y(t,v)},e.createPickProject=function(t){return y(t,g)}},8418:function(t,e,r){\"use strict\";var n=r(5219),i=r(2762),a=r(8116),o=r(1888),s=r(6760),l=r(1283),u=r(9366),c=r(5964),f=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function h(t,e){var r=t[0],n=t[1],i=t[2],a=t[3];return t[0]=e[0]*r+e[4]*n+e[8]*i+e[12]*a,t[1]=e[1]*r+e[5]*n+e[9]*i+e[13]*a,t[2]=e[2]*r+e[6]*n+e[10]*i+e[14]*a,t[3]=e[3]*r+e[7]*n+e[11]*i+e[15]*a,t}function p(t,e,r,n){return h(n,n),h(n,n),h(n,n)}function d(t,e){this.index=t,this.dataCoordinate=this.position=e}function v(t){return!0===t||t>1?1:t}function g(t,e,r,n,i,a,o,s,l,u,c,f){this.gl=t,this.pixelRatio=1,this.shader=e,this.orthoShader=r,this.projectShader=n,this.pointBuffer=i,this.colorBuffer=a,this.glyphBuffer=o,this.idBuffer=s,this.vao=l,this.vertexCount=0,this.lineVertexCount=0,this.opacity=1,this.hasAlpha=!1,this.lineWidth=0,this.projectScale=[2/3,2/3,2/3],this.projectOpacity=[1,1,1],this.projectHasAlpha=!1,this.pickId=0,this.pickPerspectiveShader=u,this.pickOrthoShader=c,this.pickProjectShader=f,this.points=[],this._selectResult=new d(0,[0,0,0]),this.useOrtho=!0,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.axesProject=[!0,!0,!0],this.axesBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.highlightId=[1,1,1,1],this.highlightScale=2,this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.dirty=!0}t.exports=function(t){var e=t.gl,r=l.createPerspective(e),n=l.createOrtho(e),o=l.createProject(e),s=l.createPickPerspective(e),u=l.createPickOrtho(e),c=l.createPickProject(e),f=i(e),h=i(e),p=i(e),d=i(e),v=new g(e,r,n,o,f,h,p,d,a(e,[{buffer:f,size:3,type:e.FLOAT},{buffer:h,size:4,type:e.FLOAT},{buffer:p,size:2,type:e.FLOAT},{buffer:d,size:4,type:e.UNSIGNED_BYTE,normalized:!0}]),s,u,c);return v.update(t),v};var y=g.prototype;y.pickSlots=1,y.setPickBase=function(t){this.pickId=t},y.isTransparent=function(){if(this.hasAlpha)return!0;for(var t=0;t<3;++t)if(this.axesProject[t]&&this.projectHasAlpha)return!0;return!1},y.isOpaque=function(){if(!this.hasAlpha)return!0;for(var t=0;t<3;++t)if(this.axesProject[t]&&!this.projectHasAlpha)return!0;return!1};var m=[0,0],x=[0,0,0],b=[0,0,0],_=[0,0,0,1],w=[0,0,0,1],T=f.slice(),k=[0,0,0],A=[[0,0,0],[0,0,0]];function M(t){return t[0]=t[1]=t[2]=0,t}function S(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=1,t}function E(t,e,r,n){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[r]=n,t}var L=[[-1e8,-1e8,-1e8],[1e8,1e8,1e8]];function C(t,e,r,n,i,a,o){var l=r.gl;if((a===r.projectHasAlpha||o)&&function(t,e,r,n){var i,a=e.axesProject,o=e.gl,l=t.uniforms,u=r.model||f,c=r.view||f,h=r.projection||f,d=e.axesBounds,v=function(t){for(var e=A,r=0;r<2;++r)for(var n=0;n<3;++n)e[r][n]=Math.max(Math.min(t[r][n],1e8),-1e8);return e}(e.clipBounds);i=e.axes&&e.axes.lastCubeProps?e.axes.lastCubeProps.axis:[1,1,1],m[0]=2/o.drawingBufferWidth,m[1]=2/o.drawingBufferHeight,t.bind(),l.view=c,l.projection=h,l.screenSize=m,l.highlightId=e.highlightId,l.highlightScale=e.highlightScale,l.clipBounds=v,l.pickGroup=e.pickId/255,l.pixelRatio=n;for(var g=0;g<3;++g)if(a[g]){l.scale=e.projectScale[g],l.opacity=e.projectOpacity[g];for(var y=T,L=0;L<16;++L)y[L]=0;for(L=0;L<4;++L)y[5*L]=1;y[5*g]=0,i[g]<0?y[12+g]=d[0][g]:y[12+g]=d[1][g],s(y,u,y),l.model=y;var C=(g+1)%3,P=(g+2)%3,O=M(x),I=M(b);O[C]=1,I[P]=1;var z=p(0,0,0,S(_,O)),D=p(0,0,0,S(w,I));if(Math.abs(z[1])>Math.abs(D[1])){var R=z;z=D,D=R,R=O,O=I,I=R;var F=C;C=P,P=F}z[0]<0&&(O[C]=-1),D[1]>0&&(I[P]=-1);var B=0,N=0;for(L=0;L<4;++L)B+=Math.pow(u[4*C+L],2),N+=Math.pow(u[4*P+L],2);O[C]/=Math.sqrt(B),I[P]/=Math.sqrt(N),l.axes[0]=O,l.axes[1]=I,l.fragClipBounds[0]=E(k,v[0],g,-1e8),l.fragClipBounds[1]=E(k,v[1],g,1e8),e.vao.bind(),e.vao.draw(o.TRIANGLES,e.vertexCount),e.lineWidth>0&&(o.lineWidth(e.lineWidth*n),e.vao.draw(o.LINES,e.lineVertexCount,e.vertexCount)),e.vao.unbind()}}(e,r,n,i),a===r.hasAlpha||o){t.bind();var u=t.uniforms;u.model=n.model||f,u.view=n.view||f,u.projection=n.projection||f,m[0]=2/l.drawingBufferWidth,m[1]=2/l.drawingBufferHeight,u.screenSize=m,u.highlightId=r.highlightId,u.highlightScale=r.highlightScale,u.fragClipBounds=L,u.clipBounds=r.axes.bounds,u.opacity=r.opacity,u.pickGroup=r.pickId/255,u.pixelRatio=i,r.vao.bind(),r.vao.draw(l.TRIANGLES,r.vertexCount),r.lineWidth>0&&(l.lineWidth(r.lineWidth*i),r.vao.draw(l.LINES,r.lineVertexCount,r.vertexCount)),r.vao.unbind()}}function P(t,e,r,i){var a;a=Array.isArray(t)?e=this.pointCount||e<0)return null;var r=this.points[e],n=this._selectResult;n.index=e;for(var i=0;i<3;++i)n.position[i]=n.dataCoordinate[i]=r[i];return n},y.highlight=function(t){if(t){var e=t.index,r=255&e,n=e>>8&255,i=e>>16&255;this.highlightId=[r/255,n/255,i/255,0]}else this.highlightId=[1,1,1,1]},y.update=function(t){if(\"perspective\"in(t=t||{})&&(this.useOrtho=!t.perspective),\"orthographic\"in t&&(this.useOrtho=!!t.orthographic),\"lineWidth\"in t&&(this.lineWidth=t.lineWidth),\"project\"in t)if(Array.isArray(t.project))this.axesProject=t.project;else{var e=!!t.project;this.axesProject=[e,e,e]}if(\"projectScale\"in t)if(Array.isArray(t.projectScale))this.projectScale=t.projectScale.slice();else{var r=+t.projectScale;this.projectScale=[r,r,r]}if(this.projectHasAlpha=!1,\"projectOpacity\"in t){Array.isArray(t.projectOpacity)?this.projectOpacity=t.projectOpacity.slice():(r=+t.projectOpacity,this.projectOpacity=[r,r,r]);for(var n=0;n<3;++n)this.projectOpacity[n]=v(this.projectOpacity[n]),this.projectOpacity[n]<1&&(this.projectHasAlpha=!0)}this.hasAlpha=!1,\"opacity\"in t&&(this.opacity=v(t.opacity),this.opacity<1&&(this.hasAlpha=!0)),this.dirty=!0;var i,a,s=t.position,l={family:t.font||\"normal\",style:t.fontStyle||\"normal\",weight:t.fontWeight||\"normal\",variant:t.fontVariant||\"normal\"},u=t.alignment||[0,0];if(2===u.length)i=u[0],a=u[1];else for(i=[],a=[],n=0;n0){var I=0,z=x,D=[0,0,0,1],R=[0,0,0,1],F=Array.isArray(p)&&Array.isArray(p[0]),B=Array.isArray(y)&&Array.isArray(y[0]);t:for(n=0;n<_;++n){for(m+=1,w=s[n],T=0;T<3;++T){if(isNaN(w[T])||!isFinite(w[T]))continue t;f[T]=Math.max(f[T],w[T]),c[T]=Math.min(c[T],w[T])}k=(N=P(h,n,l,this.pixelRatio)).mesh,A=N.lines,M=N.bounds;var N,j=N.visible;if(j)if(Array.isArray(p)){if(3===(U=F?n0?1-M[0][0]:W<0?1+M[1][0]:1,Y*=Y>0?1-M[0][1]:Y<0?1+M[1][1]:1],Z=k.cells||[],K=k.positions||[];for(T=0;T0){var y=r*c;o.drawBox(f-y,h-y,p+y,h+y,a),o.drawBox(f-y,d-y,p+y,d+y,a),o.drawBox(f-y,h-y,f+y,d+y,a),o.drawBox(p-y,h-y,p+y,d+y,a)}}}},s.update=function(t){t=t||{},this.innerFill=!!t.innerFill,this.outerFill=!!t.outerFill,this.innerColor=(t.innerColor||[0,0,0,.5]).slice(),this.outerColor=(t.outerColor||[0,0,0,.5]).slice(),this.borderColor=(t.borderColor||[0,0,0,1]).slice(),this.borderWidth=t.borderWidth||0,this.selectBox=(t.selectBox||this.selectBox).slice()},s.dispose=function(){this.boxBuffer.dispose(),this.boxShader.dispose(),this.plot.removeOverlay(this)}},3589:function(t,e,r){\"use strict\";t.exports=function(t,e){var r=e[0],a=e[1];return new l(t,n(t,r,a,{}),i.mallocUint8(r*a*4))};var n=r(2260),i=r(1888),a=r(9618),o=r(8828).nextPow2;function s(t,e,r,n,i){this.coord=[t,e],this.id=r,this.value=n,this.distance=i}function l(t,e,r){this.gl=t,this.fbo=e,this.buffer=r,this._readTimeout=null;var n=this;this._readCallback=function(){n.gl&&(e.bind(),t.readPixels(0,0,e.shape[0],e.shape[1],t.RGBA,t.UNSIGNED_BYTE,n.buffer),n._readTimeout=null)}}var u=l.prototype;Object.defineProperty(u,\"shape\",{get:function(){return this.gl?this.fbo.shape.slice():[0,0]},set:function(t){if(this.gl){this.fbo.shape=t;var e=this.fbo.shape[0],r=this.fbo.shape[1];if(r*e*4>this.buffer.length){i.free(this.buffer);for(var n=this.buffer=i.mallocUint8(o(r*e*4)),a=0;ar)for(t=r;te)for(t=e;t=0){for(var T=0|w.type.charAt(w.type.length-1),k=new Array(T),A=0;A=0;)M+=1;_[m]=M}var S=new Array(r.length);function E(){h.program=o.program(p,h._vref,h._fref,b,_);for(var t=0;t=0){if((d=h.charCodeAt(h.length-1)-48)<2||d>4)throw new n(\"\",\"Invalid data type for attribute \"+f+\": \"+h);s(t,e,p[0],i,d,a,f)}else{if(!(h.indexOf(\"mat\")>=0))throw new n(\"\",\"Unknown data type for attribute \"+f+\": \"+h);var d;if((d=h.charCodeAt(h.length-1)-48)<2||d>4)throw new n(\"\",\"Invalid data type for attribute \"+f+\": \"+h);l(t,e,p,i,d,a,f)}}}return a};var n=r(8866);function i(t,e,r,n,i,a){this._gl=t,this._wrapper=e,this._index=r,this._locations=n,this._dimension=i,this._constFunc=a}var a=i.prototype;a.pointer=function(t,e,r,n){var i=this,a=i._gl,o=i._locations[i._index];a.vertexAttribPointer(o,i._dimension,t||a.FLOAT,!!e,r||0,n||0),a.enableVertexAttribArray(o)},a.set=function(t,e,r,n){return this._constFunc(this._locations[this._index],t,e,r,n)},Object.defineProperty(a,\"location\",{get:function(){return this._locations[this._index]},set:function(t){return t!==this._locations[this._index]&&(this._locations[this._index]=0|t,this._wrapper.program=null),0|t}});var o=[function(t,e,r){return void 0===r.length?t.vertexAttrib1f(e,r):t.vertexAttrib1fv(e,r)},function(t,e,r,n){return void 0===r.length?t.vertexAttrib2f(e,r,n):t.vertexAttrib2fv(e,r)},function(t,e,r,n,i){return void 0===r.length?t.vertexAttrib3f(e,r,n,i):t.vertexAttrib3fv(e,r)},function(t,e,r,n,i,a){return void 0===r.length?t.vertexAttrib4f(e,r,n,i,a):t.vertexAttrib4fv(e,r)}];function s(t,e,r,n,a,s,l){var u=o[a],c=new i(t,e,r,n,a,u);Object.defineProperty(s,l,{set:function(e){return t.disableVertexAttribArray(n[r]),u(t,n[r],e),e},get:function(){return c},enumerable:!0})}function l(t,e,r,n,i,a,o){for(var l=new Array(i),u=new Array(i),c=0;c4)throw new i(\"\",\"Invalid uniform dimension type for matrix \"+name+\": \"+m);t[\"uniformMatrix\"+y+\"fv\"](s[f],!1,h);break}throw new i(\"\",\"Unknown uniform data type for \"+name+\": \"+m)}if((y=m.charCodeAt(m.length-1)-48)<2||y>4)throw new i(\"\",\"Invalid data type\");switch(m.charAt(0)){case\"b\":case\"i\":t[\"uniform\"+y+\"iv\"](s[f],h);break;case\"v\":t[\"uniform\"+y+\"fv\"](s[f],h);break;default:throw new i(\"\",\"Unrecognized data type for vector \"+name+\": \"+m)}}}}}}function u(t,e){if(\"object\"!=typeof e)return[[t,e]];var r=[];for(var n in e){var i=e[n],a=t;parseInt(n)+\"\"===n?a+=\"[\"+n+\"]\":a+=\".\"+n,\"object\"==typeof i?r.push.apply(r,u(a,i)):r.push([a,i])}return r}function c(t,e,n){if(\"object\"==typeof n){var u=f(n);Object.defineProperty(t,e,{get:a(u),set:l(n),enumerable:!0,configurable:!1})}else s[n]?Object.defineProperty(t,e,{get:(c=n,function(t,e,r){return t.getUniform(e.program,r[c])}),set:l(n),enumerable:!0,configurable:!1}):t[e]=function(t){switch(t){case\"bool\":return!1;case\"int\":case\"sampler2D\":case\"samplerCube\":case\"float\":return 0;default:var e=t.indexOf(\"vec\");if(0<=e&&e<=1&&t.length===4+e){if((r=t.charCodeAt(t.length-1)-48)<2||r>4)throw new i(\"\",\"Invalid data type\");return\"b\"===t.charAt(0)?o(r,!1):o(r,0)}if(0===t.indexOf(\"mat\")&&4===t.length){var r;if((r=t.charCodeAt(t.length-1)-48)<2||r>4)throw new i(\"\",\"Invalid uniform dimension type for matrix \"+name+\": \"+t);return o(r*r,0)}throw new i(\"\",\"Unknown uniform data type for \"+name+\": \"+t)}}(r[n].type);var c}function f(t){var e;if(Array.isArray(t)){e=new Array(t.length);for(var r=0;r1){s[0]in a||(a[s[0]]=[]),a=a[s[0]];for(var l=1;l1)for(var l=0;l 0 U ||b|| > 0.\\n // Assign z = 0, x = -b, y = a:\\n // a*-b + b*a + c*0 = -ba + ba + 0 = 0\\n if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\\n return normalize(vec3(-v.y, v.x, 0.0));\\n } else {\\n return normalize(vec3(0.0, v.z, -v.y));\\n }\\n}\\n\\n// Calculate the tube vertex and normal at the given index.\\n//\\n// The returned vertex is for a tube ring with its center at origin, radius of length(d), pointing in the direction of d.\\n//\\n// Each tube segment is made up of a ring of vertices.\\n// These vertices are used to make up the triangles of the tube by connecting them together in the vertex array.\\n// The indexes of tube segments run from 0 to 8.\\n//\\nvec3 getTubePosition(vec3 d, float index, out vec3 normal) {\\n float segmentCount = 8.0;\\n\\n float angle = 2.0 * 3.14159 * (index / segmentCount);\\n\\n vec3 u = getOrthogonalVector(d);\\n vec3 v = normalize(cross(u, d));\\n\\n vec3 x = u * cos(angle) * length(d);\\n vec3 y = v * sin(angle) * length(d);\\n vec3 v3 = x + y;\\n\\n normal = normalize(v3);\\n\\n return v3;\\n}\\n\\nattribute vec4 vector;\\nattribute vec4 color, position;\\nattribute vec2 uv;\\n\\nuniform float vectorScale, tubeScale;\\nuniform mat4 model, view, projection, inverseModel;\\nuniform vec3 eyePosition, lightPosition;\\n\\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\\nvarying vec4 f_color;\\nvarying vec2 f_uv;\\n\\nvoid main() {\\n // Scale the vector magnitude to stay constant with\\n // model & view changes.\\n vec3 normal;\\n vec3 XYZ = getTubePosition(mat3(model) * (tubeScale * vector.w * normalize(vector.xyz)), position.w, normal);\\n vec4 tubePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\\n\\n //Lighting geometry parameters\\n vec4 cameraCoordinate = view * tubePosition;\\n cameraCoordinate.xyz /= cameraCoordinate.w;\\n f_lightDirection = lightPosition - cameraCoordinate.xyz;\\n f_eyeDirection = eyePosition - cameraCoordinate.xyz;\\n f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz);\\n\\n // vec4 m_position = model * vec4(tubePosition, 1.0);\\n vec4 t_position = view * tubePosition;\\n gl_Position = projection * t_position;\\n\\n f_color = color;\\n f_data = tubePosition.xyz;\\n f_position = position.xyz;\\n f_uv = uv;\\n}\\n\"]),a=n([\"#extension GL_OES_standard_derivatives : enable\\n\\nprecision highp float;\\n#define GLSLIFY 1\\n\\nfloat beckmannDistribution(float x, float roughness) {\\n float NdotH = max(x, 0.0001);\\n float cos2Alpha = NdotH * NdotH;\\n float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\\n float roughness2 = roughness * roughness;\\n float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\\n return exp(tan2Alpha / roughness2) / denom;\\n}\\n\\nfloat cookTorranceSpecular(\\n vec3 lightDirection,\\n vec3 viewDirection,\\n vec3 surfaceNormal,\\n float roughness,\\n float fresnel) {\\n\\n float VdotN = max(dot(viewDirection, surfaceNormal), 0.0);\\n float LdotN = max(dot(lightDirection, surfaceNormal), 0.0);\\n\\n //Half angle vector\\n vec3 H = normalize(lightDirection + viewDirection);\\n\\n //Geometric term\\n float NdotH = max(dot(surfaceNormal, H), 0.0);\\n float VdotH = max(dot(viewDirection, H), 0.000001);\\n float LdotH = max(dot(lightDirection, H), 0.000001);\\n float G1 = (2.0 * NdotH * VdotN) / VdotH;\\n float G2 = (2.0 * NdotH * LdotN) / LdotH;\\n float G = min(1.0, min(G1, G2));\\n \\n //Distribution term\\n float D = beckmannDistribution(NdotH, roughness);\\n\\n //Fresnel term\\n float F = pow(1.0 - VdotN, fresnel);\\n\\n //Multiply terms and done\\n return G * F * D / max(3.14159265 * VdotN, 0.000001);\\n}\\n\\nbool outOfRange(float a, float b, float p) {\\n return ((p > max(a, b)) || \\n (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y) ||\\n outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nuniform vec3 clipBounds[2];\\nuniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\\nuniform sampler2D texture;\\n\\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\\nvarying vec4 f_color;\\nvarying vec2 f_uv;\\n\\nvoid main() {\\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\\n vec3 N = normalize(f_normal);\\n vec3 L = normalize(f_lightDirection);\\n vec3 V = normalize(f_eyeDirection);\\n\\n if(gl_FrontFacing) {\\n N = -N;\\n }\\n\\n float specular = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel)));\\n float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\\n\\n vec4 surfaceColor = f_color * texture2D(texture, f_uv);\\n vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0);\\n\\n gl_FragColor = litColor * opacity;\\n}\\n\"]),o=n([\"precision highp float;\\n\\nprecision highp float;\\n#define GLSLIFY 1\\n\\nvec3 getOrthogonalVector(vec3 v) {\\n // Return up-vector for only-z vector.\\n // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\\n // From the above if-statement we have ||a|| > 0 U ||b|| > 0.\\n // Assign z = 0, x = -b, y = a:\\n // a*-b + b*a + c*0 = -ba + ba + 0 = 0\\n if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\\n return normalize(vec3(-v.y, v.x, 0.0));\\n } else {\\n return normalize(vec3(0.0, v.z, -v.y));\\n }\\n}\\n\\n// Calculate the tube vertex and normal at the given index.\\n//\\n// The returned vertex is for a tube ring with its center at origin, radius of length(d), pointing in the direction of d.\\n//\\n// Each tube segment is made up of a ring of vertices.\\n// These vertices are used to make up the triangles of the tube by connecting them together in the vertex array.\\n// The indexes of tube segments run from 0 to 8.\\n//\\nvec3 getTubePosition(vec3 d, float index, out vec3 normal) {\\n float segmentCount = 8.0;\\n\\n float angle = 2.0 * 3.14159 * (index / segmentCount);\\n\\n vec3 u = getOrthogonalVector(d);\\n vec3 v = normalize(cross(u, d));\\n\\n vec3 x = u * cos(angle) * length(d);\\n vec3 y = v * sin(angle) * length(d);\\n vec3 v3 = x + y;\\n\\n normal = normalize(v3);\\n\\n return v3;\\n}\\n\\nattribute vec4 vector;\\nattribute vec4 position;\\nattribute vec4 id;\\n\\nuniform mat4 model, view, projection;\\nuniform float tubeScale;\\n\\nvarying vec3 f_position;\\nvarying vec4 f_id;\\n\\nvoid main() {\\n vec3 normal;\\n vec3 XYZ = getTubePosition(mat3(model) * (tubeScale * vector.w * normalize(vector.xyz)), position.w, normal);\\n vec4 tubePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\\n\\n gl_Position = projection * view * tubePosition;\\n f_id = id;\\n f_position = position.xyz;\\n}\\n\"]),s=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nbool outOfRange(float a, float b, float p) {\\n return ((p > max(a, b)) || \\n (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y) ||\\n outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nuniform vec3 clipBounds[2];\\nuniform float pickId;\\n\\nvarying vec3 f_position;\\nvarying vec4 f_id;\\n\\nvoid main() {\\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\\n\\n gl_FragColor = vec4(pickId, f_id.xyz);\\n}\"]);e.meshShader={vertex:i,fragment:a,attributes:[{name:\"position\",type:\"vec4\"},{name:\"color\",type:\"vec4\"},{name:\"uv\",type:\"vec2\"},{name:\"vector\",type:\"vec4\"}]},e.pickShader={vertex:o,fragment:s,attributes:[{name:\"position\",type:\"vec4\"},{name:\"id\",type:\"vec4\"},{name:\"vector\",type:\"vec4\"}]}},7815:function(t,e,r){\"use strict\";var n=r(2931),i=r(9970),a=[\"xyz\",\"xzy\",\"yxz\",\"yzx\",\"zxy\",\"zyx\"],o=function(t,e){var r,n=t.length;for(r=0;re)return r-1}return r},s=function(t,e,r){return tr?r:t},l=function(t){var e=1/0;t.sort((function(t,e){return t-e}));for(var r=t.length,n=1;nf-1||m>h-1||x>p-1)return n.create();var b,_,w,T,k,A,M=a[0][d],S=a[0][y],E=a[1][v],L=a[1][m],C=a[2][g],P=(l-M)/(S-M),O=(u-E)/(L-E),I=(c-C)/(a[2][x]-C);switch(isFinite(P)||(P=.5),isFinite(O)||(O=.5),isFinite(I)||(I=.5),r.reversedX&&(d=f-1-d,y=f-1-y),r.reversedY&&(v=h-1-v,m=h-1-m),r.reversedZ&&(g=p-1-g,x=p-1-x),r.filled){case 5:k=g,A=x,w=v*p,T=m*p,b=d*p*h,_=y*p*h;break;case 4:k=g,A=x,b=d*p,_=y*p,w=v*p*f,T=m*p*f;break;case 3:w=v,T=m,k=g*h,A=x*h,b=d*h*p,_=y*h*p;break;case 2:w=v,T=m,b=d*h,_=y*h,k=g*h*f,A=x*h*f;break;case 1:b=d,_=y,k=g*f,A=x*f,w=v*f*p,T=m*f*p;break;default:b=d,_=y,w=v*f,T=m*f,k=g*f*h,A=x*f*h}var z=i[b+w+k],D=i[b+w+A],R=i[b+T+k],F=i[b+T+A],B=i[_+w+k],N=i[_+w+A],j=i[_+T+k],U=i[_+T+A],V=n.create(),q=n.create(),H=n.create(),G=n.create();n.lerp(V,z,B,P),n.lerp(q,D,N,P),n.lerp(H,R,j,P),n.lerp(G,F,U,P);var W=n.create(),Y=n.create();n.lerp(W,V,H,O),n.lerp(Y,q,G,O);var X=n.create();return n.lerp(X,W,Y,I),X}(e,t,p)},v=t.getDivergence||function(t,e){var r=n.create(),i=1e-4;n.add(r,t,[i,0,0]);var a=d(r);n.subtract(a,a,e),n.scale(a,a,1/i),n.add(r,t,[0,i,0]);var o=d(r);n.subtract(o,o,e),n.scale(o,o,1/i),n.add(r,t,[0,0,i]);var s=d(r);return n.subtract(s,s,e),n.scale(s,s,1/i),n.add(r,a,o),n.add(r,r,s),r},g=[],y=e[0][0],m=e[0][1],x=e[0][2],b=e[1][0],_=e[1][1],w=e[1][2],T=function(t){var e=t[0],r=t[1],n=t[2];return!(eb||r_||nw)},k=10*n.distance(e[0],e[1])/u,A=k*k,M=1,S=0,E=r.length;E>1&&(M=function(t){for(var e=[],r=[],n=[],i={},a={},o={},s=t.length,u=0;uS&&(S=F),D.push(F),g.push({points:P,velocities:O,divergences:D});for(var B=0;B<100*u&&P.lengthA&&n.scale(N,N,k/Math.sqrt(j)),n.add(N,N,C),I=d(N),n.squaredDistance(z,N)-A>-1e-4*A&&(P.push(N),z=N,O.push(I),R=v(N,I),F=n.length(R),isFinite(F)&&F>S&&(S=F),D.push(F)),C=N}}var U=function(t,e,r,a){for(var o=0,s=0;s0)for(T=0;T<8;T++){var k=(T+1)%8;u.push(h[T],p[T],p[k],p[k],h[k],h[T]),f.push(m,y,y,y,m,m),d.push(v,g,g,g,v,v);var A=u.length;c.push([A-6,A-5,A-4],[A-3,A-2,A-1])}var M=h;h=p,p=M;var S=m;m=y,y=S;var E=v;v=g,g=E}return{positions:u,cells:c,vectors:f,vertexIntensity:d}}(t,r,a,o)})),f=[],h=[],p=[],d=[];for(s=0;s max(a, b)) || \\n (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y) ||\\n outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nuniform vec3 lowerBound, upperBound;\\nuniform float contourTint;\\nuniform vec4 contourColor;\\nuniform sampler2D colormap;\\nuniform vec3 clipBounds[2];\\nuniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\\nuniform float vertexColor;\\n\\nvarying float value, kill;\\nvarying vec3 worldCoordinate;\\nvarying vec3 lightDirection, eyeDirection, surfaceNormal;\\nvarying vec4 vColor;\\n\\nvoid main() {\\n if (\\n kill > 0.0 ||\\n vColor.a == 0.0 ||\\n outOfRange(clipBounds[0], clipBounds[1], worldCoordinate)\\n ) discard;\\n\\n vec3 N = normalize(surfaceNormal);\\n vec3 V = normalize(eyeDirection);\\n vec3 L = normalize(lightDirection);\\n\\n if(gl_FrontFacing) {\\n N = -N;\\n }\\n\\n float specular = max(beckmannSpecular(L, V, N, roughness), 0.);\\n float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\\n\\n //decide how to interpolate color — in vertex or in fragment\\n vec4 surfaceColor =\\n step(vertexColor, .5) * texture2D(colormap, vec2(value, value)) +\\n step(.5, vertexColor) * vColor;\\n\\n vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0);\\n\\n gl_FragColor = mix(litColor, contourColor, contourTint) * opacity;\\n}\\n\"]),s=i([\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec4 uv;\\nattribute float f;\\n\\nuniform vec3 objectOffset;\\nuniform mat3 permutation;\\nuniform mat4 model, view, projection;\\nuniform float height, zOffset;\\nuniform sampler2D colormap;\\n\\nvarying float value, kill;\\nvarying vec3 worldCoordinate;\\nvarying vec2 planeCoordinate;\\nvarying vec3 lightDirection, eyeDirection, surfaceNormal;\\nvarying vec4 vColor;\\n\\nvoid main() {\\n vec3 dataCoordinate = permutation * vec3(uv.xy, height);\\n worldCoordinate = objectOffset + dataCoordinate;\\n vec4 worldPosition = model * vec4(worldCoordinate, 1.0);\\n\\n vec4 clipPosition = projection * view * worldPosition;\\n clipPosition.z += zOffset;\\n\\n gl_Position = clipPosition;\\n value = f + objectOffset.z;\\n kill = -1.0;\\n planeCoordinate = uv.zw;\\n\\n vColor = texture2D(colormap, vec2(value, value));\\n\\n //Don't do lighting for contours\\n surfaceNormal = vec3(1,0,0);\\n eyeDirection = vec3(0,1,0);\\n lightDirection = vec3(0,0,1);\\n}\\n\"]),l=i([\"precision highp float;\\n#define GLSLIFY 1\\n\\nbool outOfRange(float a, float b, float p) {\\n return ((p > max(a, b)) || \\n (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y) ||\\n outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nuniform vec2 shape;\\nuniform vec3 clipBounds[2];\\nuniform float pickId;\\n\\nvarying float value, kill;\\nvarying vec3 worldCoordinate;\\nvarying vec2 planeCoordinate;\\nvarying vec3 surfaceNormal;\\n\\nvec2 splitFloat(float v) {\\n float vh = 255.0 * v;\\n float upper = floor(vh);\\n float lower = fract(vh);\\n return vec2(upper / 255.0, floor(lower * 16.0) / 16.0);\\n}\\n\\nvoid main() {\\n if ((kill > 0.0) ||\\n (outOfRange(clipBounds[0], clipBounds[1], worldCoordinate))) discard;\\n\\n vec2 ux = splitFloat(planeCoordinate.x / shape.x);\\n vec2 uy = splitFloat(planeCoordinate.y / shape.y);\\n gl_FragColor = vec4(pickId, ux.x, uy.x, ux.y + (uy.y/16.0));\\n}\\n\"]);e.createShader=function(t){var e=n(t,a,o,null,[{name:\"uv\",type:\"vec4\"},{name:\"f\",type:\"vec3\"},{name:\"normal\",type:\"vec3\"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e.attributes.normal.location=2,e},e.createPickShader=function(t){var e=n(t,a,l,null,[{name:\"uv\",type:\"vec4\"},{name:\"f\",type:\"vec3\"},{name:\"normal\",type:\"vec3\"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e.attributes.normal.location=2,e},e.createContourShader=function(t){var e=n(t,s,o,null,[{name:\"uv\",type:\"vec4\"},{name:\"f\",type:\"float\"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e},e.createPickContourShader=function(t){var e=n(t,s,l,null,[{name:\"uv\",type:\"vec4\"},{name:\"f\",type:\"float\"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e}},9499:function(t,e,r){\"use strict\";t.exports=function(t){var e=t.gl,r=m(e),n=b(e),s=x(e),l=_(e),u=i(e),c=a(e,[{buffer:u,size:4,stride:w,offset:0},{buffer:u,size:3,stride:w,offset:16},{buffer:u,size:3,stride:w,offset:28}]),f=i(e),h=a(e,[{buffer:f,size:4,stride:20,offset:0},{buffer:f,size:1,stride:20,offset:16}]),p=i(e),d=a(e,[{buffer:p,size:2,type:e.FLOAT}]),v=o(e,1,S,e.RGBA,e.UNSIGNED_BYTE);v.minFilter=e.LINEAR,v.magFilter=e.LINEAR;var g=new E(e,[0,0],[[0,0,0],[0,0,0]],r,n,u,c,v,s,l,f,h,p,d,[0,0,0]),y={levels:[[],[],[]]};for(var T in t)y[T]=t[T];return y.colormap=y.colormap||\"jet\",g.update(y),g};var n=r(8828),i=r(2762),a=r(8116),o=r(7766),s=r(1888),l=r(6729),u=r(5298),c=r(9994),f=r(9618),h=r(3711),p=r(6760),d=r(7608),v=r(2478),g=r(6199),y=r(990),m=y.createShader,x=y.createContourShader,b=y.createPickShader,_=y.createPickContourShader,w=40,T=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],k=[[0,0],[0,1],[1,0],[1,1],[1,0],[0,1]],A=[[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0]];function M(t,e,r,n,i){this.position=t,this.index=e,this.uv=r,this.level=n,this.dataCoordinate=i}!function(){for(var t=0;t<3;++t){var e=A[t],r=(t+2)%3;e[(t+1)%3+0]=1,e[r+3]=1,e[t+6]=1}}();var S=256;function E(t,e,r,n,i,a,o,l,u,c,h,p,d,v,g){this.gl=t,this.shape=e,this.bounds=r,this.objectOffset=g,this.intensityBounds=[],this._shader=n,this._pickShader=i,this._coordinateBuffer=a,this._vao=o,this._colorMap=l,this._contourShader=u,this._contourPickShader=c,this._contourBuffer=h,this._contourVAO=p,this._contourOffsets=[[],[],[]],this._contourCounts=[[],[],[]],this._vertexCount=0,this._pickResult=new M([0,0,0],[0,0],[0,0],[0,0,0],[0,0,0]),this._dynamicBuffer=d,this._dynamicVAO=v,this._dynamicOffsets=[0,0,0],this._dynamicCounts=[0,0,0],this.contourWidth=[1,1,1],this.contourLevels=[[1],[1],[1]],this.contourTint=[0,0,0],this.contourColor=[[.5,.5,.5,1],[.5,.5,.5,1],[.5,.5,.5,1]],this.showContour=!0,this.showSurface=!0,this.enableHighlight=[!0,!0,!0],this.highlightColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.highlightTint=[1,1,1],this.highlightLevel=[-1,-1,-1],this.enableDynamic=[!0,!0,!0],this.dynamicLevel=[NaN,NaN,NaN],this.dynamicColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.dynamicTint=[1,1,1],this.dynamicWidth=[1,1,1],this.axesBounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.surfaceProject=[!1,!1,!1],this.contourProject=[[!1,!1,!1],[!1,!1,!1],[!1,!1,!1]],this.colorBounds=[!1,!1],this._field=[f(s.mallocFloat(1024),[0,0]),f(s.mallocFloat(1024),[0,0]),f(s.mallocFloat(1024),[0,0])],this.pickId=1,this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.snapToData=!1,this.pixelRatio=1,this.opacity=1,this.lightPosition=[10,1e4,0],this.ambientLight=.8,this.diffuseLight=.8,this.specularLight=2,this.roughness=.5,this.fresnel=1.5,this.vertexColor=0,this.dirty=!0}var L=E.prototype;L.genColormap=function(t,e){var r=!1,n=c([l({colormap:t,nshades:S,format:\"rgba\"}).map((function(t,n){var i=e?function(t,e){if(!e)return 1;if(!e.length)return 1;for(var r=0;rt&&r>0){var n=(e[r][0]-t)/(e[r][0]-e[r-1][0]);return e[r][1]*(1-n)+n*e[r-1][1]}}return 1}(n/255,e):t[3];return i<1&&(r=!0),[t[0],t[1],t[2],255*i]}))]);return u.divseq(n,255),this.hasAlphaScale=r,n},L.isTransparent=function(){return this.opacity<1||this.hasAlphaScale},L.isOpaque=function(){return!this.isTransparent()},L.pickSlots=1,L.setPickBase=function(t){this.pickId=t};var C=[0,0,0],P={showSurface:!1,showContour:!1,projections:[T.slice(),T.slice(),T.slice()],clipBounds:[[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]]]};function O(t,e){var r,n,i,a=e.axes&&e.axes.lastCubeProps.axis||C,o=e.showSurface,s=e.showContour;for(r=0;r<3;++r)for(o=o||e.surfaceProject[r],n=0;n<3;++n)s=s||e.contourProject[r][n];for(r=0;r<3;++r){var l=P.projections[r];for(n=0;n<16;++n)l[n]=0;for(n=0;n<4;++n)l[5*n]=1;l[5*r]=0,l[12+r]=e.axesBounds[+(a[r]>0)][r],p(l,t.model,l);var u=P.clipBounds[r];for(i=0;i<2;++i)for(n=0;n<3;++n)u[i][n]=t.clipBounds[i][n];u[0][r]=-1e8,u[1][r]=1e8}return P.showSurface=o,P.showContour=s,P}var I={model:T,view:T,projection:T,inverseModel:T.slice(),lowerBound:[0,0,0],upperBound:[0,0,0],colorMap:0,clipBounds:[[0,0,0],[0,0,0]],height:0,contourTint:0,contourColor:[0,0,0,1],permutation:[1,0,0,0,1,0,0,0,1],zOffset:-1e-4,objectOffset:[0,0,0],kambient:1,kdiffuse:1,kspecular:1,lightPosition:[1e3,1e3,1e3],eyePosition:[0,0,0],roughness:1,fresnel:1,opacity:1,vertexColor:0},z=T.slice(),D=[1,0,0,0,1,0,0,0,1];function R(t,e){t=t||{};var r=this.gl;r.disable(r.CULL_FACE),this._colorMap.bind(0);var n=I;n.model=t.model||T,n.view=t.view||T,n.projection=t.projection||T,n.lowerBound=[this.bounds[0][0],this.bounds[0][1],this.colorBounds[0]||this.bounds[0][2]],n.upperBound=[this.bounds[1][0],this.bounds[1][1],this.colorBounds[1]||this.bounds[1][2]],n.objectOffset=this.objectOffset,n.contourColor=this.contourColor[0],n.inverseModel=d(n.inverseModel,n.model);for(var i=0;i<2;++i)for(var a=n.clipBounds[i],o=0;o<3;++o)a[o]=Math.min(Math.max(this.clipBounds[i][o],-1e8),1e8);n.kambient=this.ambientLight,n.kdiffuse=this.diffuseLight,n.kspecular=this.specularLight,n.roughness=this.roughness,n.fresnel=this.fresnel,n.opacity=this.opacity,n.height=0,n.permutation=D,n.vertexColor=this.vertexColor;var s=z;for(p(s,n.view,n.model),p(s,n.projection,s),d(s,s),i=0;i<3;++i)n.eyePosition[i]=s[12+i]/s[15];var l=s[15];for(i=0;i<3;++i)l+=this.lightPosition[i]*s[4*i+3];for(i=0;i<3;++i){var u=s[12+i];for(o=0;o<3;++o)u+=s[4*o+i]*this.lightPosition[o];n.lightPosition[i]=u/l}var c=O(n,this);if(c.showSurface){for(this._shader.bind(),this._shader.uniforms=n,this._vao.bind(),this.showSurface&&this._vertexCount&&this._vao.draw(r.TRIANGLES,this._vertexCount),i=0;i<3;++i)this.surfaceProject[i]&&this.vertexCount&&(this._shader.uniforms.model=c.projections[i],this._shader.uniforms.clipBounds=c.clipBounds[i],this._vao.draw(r.TRIANGLES,this._vertexCount));this._vao.unbind()}if(c.showContour){var f=this._contourShader;n.kambient=1,n.kdiffuse=0,n.kspecular=0,n.opacity=1,f.bind(),f.uniforms=n;var h=this._contourVAO;for(h.bind(),i=0;i<3;++i)for(f.uniforms.permutation=A[i],r.lineWidth(this.contourWidth[i]*this.pixelRatio),o=0;o>4)/16)/255,i=Math.floor(n),a=n-i,o=e[1]*(t.value[1]+(15&t.value[2])/16)/255,s=Math.floor(o),l=o-s;i+=1,s+=1;var u=r.position;u[0]=u[1]=u[2]=0;for(var c=0;c<2;++c)for(var f=c?a:1-a,h=0;h<2;++h)for(var p=i+c,d=s+h,g=f*(h?l:1-l),y=0;y<3;++y)u[y]+=this._field[y].get(p,d)*g;for(var m=this._pickResult.level,x=0;x<3;++x)if(m[x]=v.le(this.contourLevels[x],u[x]),m[x]<0)this.contourLevels[x].length>0&&(m[x]=0);else if(m[x]Math.abs(_-u[x])&&(m[x]+=1)}for(r.index[0]=a<.5?i:i+1,r.index[1]=l<.5?s:s+1,r.uv[0]=n/e[0],r.uv[1]=o/e[1],y=0;y<3;++y)r.dataCoordinate[y]=this._field[y].get(r.index[0],r.index[1]);return r},L.padField=function(t,e){var r=e.shape.slice(),n=t.shape.slice();u.assign(t.lo(1,1).hi(r[0],r[1]),e),u.assign(t.lo(1).hi(r[0],1),e.hi(r[0],1)),u.assign(t.lo(1,n[1]-1).hi(r[0],1),e.lo(0,r[1]-1).hi(r[0],1)),u.assign(t.lo(0,1).hi(1,r[1]),e.hi(1)),u.assign(t.lo(n[0]-1,1).hi(1,r[1]),e.lo(r[0]-1)),t.set(0,0,e.get(0,0)),t.set(0,n[1]-1,e.get(0,r[1]-1)),t.set(n[0]-1,0,e.get(r[0]-1,0)),t.set(n[0]-1,n[1]-1,e.get(r[0]-1,r[1]-1))},L.update=function(t){t=t||{},this.objectOffset=t.objectOffset||this.objectOffset,this.dirty=!0,\"contourWidth\"in t&&(this.contourWidth=B(t.contourWidth,Number)),\"showContour\"in t&&(this.showContour=B(t.showContour,Boolean)),\"showSurface\"in t&&(this.showSurface=!!t.showSurface),\"contourTint\"in t&&(this.contourTint=B(t.contourTint,Boolean)),\"contourColor\"in t&&(this.contourColor=j(t.contourColor)),\"contourProject\"in t&&(this.contourProject=B(t.contourProject,(function(t){return B(t,Boolean)}))),\"surfaceProject\"in t&&(this.surfaceProject=t.surfaceProject),\"dynamicColor\"in t&&(this.dynamicColor=j(t.dynamicColor)),\"dynamicTint\"in t&&(this.dynamicTint=B(t.dynamicTint,Number)),\"dynamicWidth\"in t&&(this.dynamicWidth=B(t.dynamicWidth,Number)),\"opacity\"in t&&(this.opacity=t.opacity),\"opacityscale\"in t&&(this.opacityscale=t.opacityscale),\"colorBounds\"in t&&(this.colorBounds=t.colorBounds),\"vertexColor\"in t&&(this.vertexColor=t.vertexColor?1:0),\"colormap\"in t&&this._colorMap.setPixels(this.genColormap(t.colormap,this.opacityscale));var e=t.field||t.coords&&t.coords[2]||null,r=!1;if(e||(e=this._field[2].shape[0]||this._field[2].shape[2]?this._field[2].lo(1,1).hi(this._field[2].shape[0]-2,this._field[2].shape[1]-2):this._field[2].hi(0,0)),\"field\"in t||\"coords\"in t){var i=(e.shape[0]+2)*(e.shape[1]+2);i>this._field[2].data.length&&(s.freeFloat(this._field[2].data),this._field[2].data=s.mallocFloat(n.nextPow2(i))),this._field[2]=f(this._field[2].data,[e.shape[0]+2,e.shape[1]+2]),this.padField(this._field[2],e),this.shape=e.shape.slice();for(var a=this.shape,o=0;o<2;++o)this._field[2].size>this._field[o].data.length&&(s.freeFloat(this._field[o].data),this._field[o].data=s.mallocFloat(this._field[2].size)),this._field[o]=f(this._field[o].data,[a[0]+2,a[1]+2]);if(t.coords){var l=t.coords;if(!Array.isArray(l)||3!==l.length)throw new Error(\"gl-surface: invalid coordinates for x/y\");for(o=0;o<2;++o){var u=l[o];for(y=0;y<2;++y)if(u.shape[y]!==a[y])throw new Error(\"gl-surface: coords have incorrect shape\");this.padField(this._field[o],u)}}else if(t.ticks){var c=t.ticks;if(!Array.isArray(c)||2!==c.length)throw new Error(\"gl-surface: invalid ticks\");for(o=0;o<2;++o){var p=c[o];if((Array.isArray(p)||p.length)&&(p=f(p)),p.shape[0]!==a[o])throw new Error(\"gl-surface: invalid tick length\");var d=f(p.data,a);d.stride[o]=p.stride[0],d.stride[1^o]=0,this.padField(this._field[o],d)}}else{for(o=0;o<2;++o){var v=[0,0];v[o]=1,this._field[o]=f(this._field[o].data,[a[0]+2,a[1]+2],v,0)}this._field[0].set(0,0,0);for(var y=0;y0){for(var xt=0;xt<5;++xt)$.pop();U-=1}continue t}$.push(nt[0],nt[1],ot[0],ot[1],nt[2]),U+=1}}rt.push(U)}this._contourOffsets[Q]=et,this._contourCounts[Q]=rt}var bt=s.mallocFloat($.length);for(o=0;o<$.length;++o)bt[o]=$[o];this._contourBuffer.update(bt),s.freeFloat(bt)}},L.dispose=function(){this._shader.dispose(),this._vao.dispose(),this._coordinateBuffer.dispose(),this._colorMap.dispose(),this._contourBuffer.dispose(),this._contourVAO.dispose(),this._contourShader.dispose(),this._contourPickShader.dispose(),this._dynamicBuffer.dispose(),this._dynamicVAO.dispose();for(var t=0;t<3;++t)s.freeFloat(this._field[t].data)},L.highlight=function(t){var e,r;if(!t)return this._dynamicCounts=[0,0,0],this.dyanamicLevel=[NaN,NaN,NaN],void(this.highlightLevel=[-1,-1,-1]);for(e=0;e<3;++e)this.enableHighlight[e]?this.highlightLevel[e]=t.level[e]:this.highlightLevel[e]=-1;for(r=this.snapToData?t.dataCoordinate:t.position,e=0;e<3;++e)r[e]-=this.objectOffset[e];if(this.enableDynamic[0]&&r[0]!==this.dynamicLevel[0]||this.enableDynamic[1]&&r[1]!==this.dynamicLevel[1]||this.enableDynamic[2]&&r[2]!==this.dynamicLevel[2]){for(var n=0,i=this.shape,a=s.mallocFloat(12*i[0]*i[1]),o=0;o<3;++o)if(this.enableDynamic[o]){this.dynamicLevel[o]=r[o];var l=(o+1)%3,u=(o+2)%3,c=this._field[o],f=this._field[l],p=this._field[u],d=h(c,r[o]),v=d.cells,g=d.positions;for(this._dynamicOffsets[o]=n,e=0;es||o[1]<0||o[1]>s)throw new Error(\"gl-texture2d: Invalid texture size\");var l=d(o,e.stride.slice()),u=0;\"float32\"===r?u=t.FLOAT:\"float64\"===r?(u=t.FLOAT,l=!1,r=\"float32\"):\"uint8\"===r?u=t.UNSIGNED_BYTE:(u=t.UNSIGNED_BYTE,l=!1,r=\"uint8\");var f,p,g=0;if(2===o.length)g=t.LUMINANCE,o=[o[0],o[1],1],e=n(e.data,o,[e.stride[0],e.stride[1],1],e.offset);else{if(3!==o.length)throw new Error(\"gl-texture2d: Invalid shape for texture\");if(1===o[2])g=t.ALPHA;else if(2===o[2])g=t.LUMINANCE_ALPHA;else if(3===o[2])g=t.RGB;else{if(4!==o[2])throw new Error(\"gl-texture2d: Invalid shape for pixel coords\");g=t.RGBA}}u!==t.FLOAT||t.getExtension(\"OES_texture_float\")||(u=t.UNSIGNED_BYTE,l=!1);var y=e.size;if(l)f=0===e.offset&&e.data.length===y?e.data:e.data.subarray(e.offset,e.offset+y);else{var m=[o[2],o[2]*o[0],1];p=a.malloc(y,r);var x=n(p,o,m,0);\"float32\"!==r&&\"float64\"!==r||u!==t.UNSIGNED_BYTE?i.assign(x,e):c(x,e),f=p.subarray(0,y)}var b=v(t);return t.texImage2D(t.TEXTURE_2D,0,g,o[0],o[1],0,g,u,f),l||a.free(p),new h(t,b,o[0],o[1],g,u)}(t,e)}throw new Error(\"gl-texture2d: Invalid arguments for texture2d constructor\")};var o=null,s=null,l=null;function u(t){return\"undefined\"!=typeof HTMLCanvasElement&&t instanceof HTMLCanvasElement||\"undefined\"!=typeof HTMLImageElement&&t instanceof HTMLImageElement||\"undefined\"!=typeof HTMLVideoElement&&t instanceof HTMLVideoElement||\"undefined\"!=typeof ImageData&&t instanceof ImageData}var c=function(t,e){i.muls(t,e,255)};function f(t,e,r){var n=t.gl,i=n.getParameter(n.MAX_TEXTURE_SIZE);if(e<0||e>i||r<0||r>i)throw new Error(\"gl-texture2d: Invalid texture size\");return t._shape=[e,r],t.bind(),n.texImage2D(n.TEXTURE_2D,0,t.format,e,r,0,t.format,t.type,null),t._mipLevels=[0],t}function h(t,e,r,n,i,a){this.gl=t,this.handle=e,this.format=i,this.type=a,this._shape=[r,n],this._mipLevels=[0],this._magFilter=t.NEAREST,this._minFilter=t.NEAREST,this._wrapS=t.CLAMP_TO_EDGE,this._wrapT=t.CLAMP_TO_EDGE,this._anisoSamples=1;var o=this,s=[this._wrapS,this._wrapT];Object.defineProperties(s,[{get:function(){return o._wrapS},set:function(t){return o.wrapS=t}},{get:function(){return o._wrapT},set:function(t){return o.wrapT=t}}]),this._wrapVector=s;var l=[this._shape[0],this._shape[1]];Object.defineProperties(l,[{get:function(){return o._shape[0]},set:function(t){return o.width=t}},{get:function(){return o._shape[1]},set:function(t){return o.height=t}}]),this._shapeVector=l}var p=h.prototype;function d(t,e){return 3===t.length?1===e[2]&&e[1]===t[0]*t[2]&&e[0]===t[2]:1===e[0]&&e[1]===t[0]}function v(t){var e=t.createTexture();return t.bindTexture(t.TEXTURE_2D,e),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),e}function g(t,e,r,n,i){var a=t.getParameter(t.MAX_TEXTURE_SIZE);if(e<0||e>a||r<0||r>a)throw new Error(\"gl-texture2d: Invalid texture shape\");if(i===t.FLOAT&&!t.getExtension(\"OES_texture_float\"))throw new Error(\"gl-texture2d: Floating point textures not supported on this platform\");var o=v(t);return t.texImage2D(t.TEXTURE_2D,0,n,e,r,0,n,i,null),new h(t,o,e,r,n,i)}Object.defineProperties(p,{minFilter:{get:function(){return this._minFilter},set:function(t){this.bind();var e=this.gl;if(this.type===e.FLOAT&&o.indexOf(t)>=0&&(e.getExtension(\"OES_texture_float_linear\")||(t=e.NEAREST)),s.indexOf(t)<0)throw new Error(\"gl-texture2d: Unknown filter mode \"+t);return e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,t),this._minFilter=t}},magFilter:{get:function(){return this._magFilter},set:function(t){this.bind();var e=this.gl;if(this.type===e.FLOAT&&o.indexOf(t)>=0&&(e.getExtension(\"OES_texture_float_linear\")||(t=e.NEAREST)),s.indexOf(t)<0)throw new Error(\"gl-texture2d: Unknown filter mode \"+t);return e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,t),this._magFilter=t}},mipSamples:{get:function(){return this._anisoSamples},set:function(t){var e=this._anisoSamples;if(this._anisoSamples=0|Math.max(t,1),e!==this._anisoSamples){var r=this.gl.getExtension(\"EXT_texture_filter_anisotropic\");r&&this.gl.texParameterf(this.gl.TEXTURE_2D,r.TEXTURE_MAX_ANISOTROPY_EXT,this._anisoSamples)}return this._anisoSamples}},wrapS:{get:function(){return this._wrapS},set:function(t){if(this.bind(),l.indexOf(t)<0)throw new Error(\"gl-texture2d: Unknown wrap mode \"+t);return this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_S,t),this._wrapS=t}},wrapT:{get:function(){return this._wrapT},set:function(t){if(this.bind(),l.indexOf(t)<0)throw new Error(\"gl-texture2d: Unknown wrap mode \"+t);return this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_T,t),this._wrapT=t}},wrap:{get:function(){return this._wrapVector},set:function(t){if(Array.isArray(t)||(t=[t,t]),2!==t.length)throw new Error(\"gl-texture2d: Must specify wrap mode for rows and columns\");for(var e=0;e<2;++e)if(l.indexOf(t[e])<0)throw new Error(\"gl-texture2d: Unknown wrap mode \"+t);this._wrapS=t[0],this._wrapT=t[1];var r=this.gl;return this.bind(),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_S,this._wrapS),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_T,this._wrapT),t}},shape:{get:function(){return this._shapeVector},set:function(t){if(Array.isArray(t)){if(2!==t.length)throw new Error(\"gl-texture2d: Invalid texture shape\")}else t=[0|t,0|t];return f(this,0|t[0],0|t[1]),[0|t[0],0|t[1]]}},width:{get:function(){return this._shape[0]},set:function(t){return f(this,t|=0,this._shape[1]),t}},height:{get:function(){return this._shape[1]},set:function(t){return t|=0,f(this,this._shape[0],t),t}}}),p.bind=function(t){var e=this.gl;return void 0!==t&&e.activeTexture(e.TEXTURE0+(0|t)),e.bindTexture(e.TEXTURE_2D,this.handle),void 0!==t?0|t:e.getParameter(e.ACTIVE_TEXTURE)-e.TEXTURE0},p.dispose=function(){this.gl.deleteTexture(this.handle)},p.generateMipmap=function(){this.bind(),this.gl.generateMipmap(this.gl.TEXTURE_2D);for(var t=Math.min(this._shape[0],this._shape[1]),e=0;t>0;++e,t>>>=1)this._mipLevels.indexOf(e)<0&&this._mipLevels.push(e)},p.setPixels=function(t,e,r,o){var s=this.gl;this.bind(),Array.isArray(e)?(o=r,r=0|e[1],e=0|e[0]):(e=e||0,r=r||0),o=o||0;var l=u(t)?t:t.raw;if(l)this._mipLevels.indexOf(o)<0?(s.texImage2D(s.TEXTURE_2D,0,this.format,this.format,this.type,l),this._mipLevels.push(o)):s.texSubImage2D(s.TEXTURE_2D,o,e,r,this.format,this.type,l);else{if(!(t.shape&&t.stride&&t.data))throw new Error(\"gl-texture2d: Unsupported data type\");if(t.shape.length<2||e+t.shape[1]>this._shape[1]>>>o||r+t.shape[0]>this._shape[0]>>>o||e<0||r<0)throw new Error(\"gl-texture2d: Texture dimensions are out of bounds\");!function(t,e,r,o,s,l,u,f){var h=f.dtype,p=f.shape.slice();if(p.length<2||p.length>3)throw new Error(\"gl-texture2d: Invalid ndarray, must be 2d or 3d\");var v=0,g=0,y=d(p,f.stride.slice());if(\"float32\"===h?v=t.FLOAT:\"float64\"===h?(v=t.FLOAT,y=!1,h=\"float32\"):\"uint8\"===h?v=t.UNSIGNED_BYTE:(v=t.UNSIGNED_BYTE,y=!1,h=\"uint8\"),2===p.length)g=t.LUMINANCE,p=[p[0],p[1],1],f=n(f.data,p,[f.stride[0],f.stride[1],1],f.offset);else{if(3!==p.length)throw new Error(\"gl-texture2d: Invalid shape for texture\");if(1===p[2])g=t.ALPHA;else if(2===p[2])g=t.LUMINANCE_ALPHA;else if(3===p[2])g=t.RGB;else{if(4!==p[2])throw new Error(\"gl-texture2d: Invalid shape for pixel coords\");g=t.RGBA}p[2]}if(g!==t.LUMINANCE&&g!==t.ALPHA||s!==t.LUMINANCE&&s!==t.ALPHA||(g=s),g!==s)throw new Error(\"gl-texture2d: Incompatible texture format for setPixels\");var m=f.size,x=u.indexOf(o)<0;if(x&&u.push(o),v===l&&y)0===f.offset&&f.data.length===m?x?t.texImage2D(t.TEXTURE_2D,o,s,p[0],p[1],0,s,l,f.data):t.texSubImage2D(t.TEXTURE_2D,o,e,r,p[0],p[1],s,l,f.data):x?t.texImage2D(t.TEXTURE_2D,o,s,p[0],p[1],0,s,l,f.data.subarray(f.offset,f.offset+m)):t.texSubImage2D(t.TEXTURE_2D,o,e,r,p[0],p[1],s,l,f.data.subarray(f.offset,f.offset+m));else{var b;b=l===t.FLOAT?a.mallocFloat32(m):a.mallocUint8(m);var _=n(b,p,[p[2],p[2]*p[0],1]);v===t.FLOAT&&l===t.UNSIGNED_BYTE?c(_,f):i.assign(_,f),x?t.texImage2D(t.TEXTURE_2D,o,s,p[0],p[1],0,s,l,b.subarray(0,m)):t.texSubImage2D(t.TEXTURE_2D,o,e,r,p[0],p[1],s,l,b.subarray(0,m)),l===t.FLOAT?a.freeFloat32(b):a.freeUint8(b)}}(s,e,r,o,this.format,this.type,this._mipLevels,t)}}},1433:function(t){\"use strict\";t.exports=function(t,e,r){e?e.bind():t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,null);var n=0|t.getParameter(t.MAX_VERTEX_ATTRIBS);if(r){if(r.length>n)throw new Error(\"gl-vao: Too many vertex attributes\");for(var i=0;i1?0:Math.acos(s)};var n=r(2825),i=r(3536),a=r(244)},9226:function(t){t.exports=function(t,e){return t[0]=Math.ceil(e[0]),t[1]=Math.ceil(e[1]),t[2]=Math.ceil(e[2]),t}},3126:function(t){t.exports=function(t){var e=new Float32Array(3);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e}},3990:function(t){t.exports=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}},1091:function(t){t.exports=function(){var t=new Float32Array(3);return t[0]=0,t[1]=0,t[2]=0,t}},5911:function(t){t.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[0],s=r[1],l=r[2];return t[0]=i*l-a*s,t[1]=a*o-n*l,t[2]=n*s-i*o,t}},5455:function(t,e,r){t.exports=r(7056)},7056:function(t){t.exports=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2];return Math.sqrt(r*r+n*n+i*i)}},4008:function(t,e,r){t.exports=r(6690)},6690:function(t){t.exports=function(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t[2]=e[2]/r[2],t}},244:function(t){t.exports=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}},2613:function(t){t.exports=1e-6},9922:function(t,e,r){t.exports=function(t,e){var r=t[0],i=t[1],a=t[2],o=e[0],s=e[1],l=e[2];return Math.abs(r-o)<=n*Math.max(1,Math.abs(r),Math.abs(o))&&Math.abs(i-s)<=n*Math.max(1,Math.abs(i),Math.abs(s))&&Math.abs(a-l)<=n*Math.max(1,Math.abs(a),Math.abs(l))};var n=r(2613)},9265:function(t){t.exports=function(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]}},2681:function(t){t.exports=function(t,e){return t[0]=Math.floor(e[0]),t[1]=Math.floor(e[1]),t[2]=Math.floor(e[2]),t}},5137:function(t,e,r){t.exports=function(t,e,r,i,a,o){var s,l;for(e||(e=3),r||(r=0),l=i?Math.min(i*e+r,t.length):t.length,s=r;s0&&(a=1/Math.sqrt(a),t[0]=e[0]*a,t[1]=e[1]*a,t[2]=e[2]*a),t}},7636:function(t){t.exports=function(t,e){e=e||1;var r=2*Math.random()*Math.PI,n=2*Math.random()-1,i=Math.sqrt(1-n*n)*e;return t[0]=Math.cos(r)*i,t[1]=Math.sin(r)*i,t[2]=n*e,t}},6894:function(t){t.exports=function(t,e,r,n){var i=r[1],a=r[2],o=e[1]-i,s=e[2]-a,l=Math.sin(n),u=Math.cos(n);return t[0]=e[0],t[1]=i+o*u-s*l,t[2]=a+o*l+s*u,t}},109:function(t){t.exports=function(t,e,r,n){var i=r[0],a=r[2],o=e[0]-i,s=e[2]-a,l=Math.sin(n),u=Math.cos(n);return t[0]=i+s*l+o*u,t[1]=e[1],t[2]=a+s*u-o*l,t}},8692:function(t){t.exports=function(t,e,r,n){var i=r[0],a=r[1],o=e[0]-i,s=e[1]-a,l=Math.sin(n),u=Math.cos(n);return t[0]=i+o*u-s*l,t[1]=a+o*l+s*u,t[2]=e[2],t}},2447:function(t){t.exports=function(t,e){return t[0]=Math.round(e[0]),t[1]=Math.round(e[1]),t[2]=Math.round(e[2]),t}},6621:function(t){t.exports=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t}},8489:function(t){t.exports=function(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t}},1463:function(t){t.exports=function(t,e,r,n){return t[0]=e,t[1]=r,t[2]=n,t}},6141:function(t,e,r){t.exports=r(2953)},5486:function(t,e,r){t.exports=r(3066)},2953:function(t){t.exports=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2];return r*r+n*n+i*i}},3066:function(t){t.exports=function(t){var e=t[0],r=t[1],n=t[2];return e*e+r*r+n*n}},2229:function(t,e,r){t.exports=r(6843)},6843:function(t){t.exports=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t}},492:function(t){t.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2];return t[0]=n*r[0]+i*r[3]+a*r[6],t[1]=n*r[1]+i*r[4]+a*r[7],t[2]=n*r[2]+i*r[5]+a*r[8],t}},5673:function(t){t.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[3]*n+r[7]*i+r[11]*a+r[15];return o=o||1,t[0]=(r[0]*n+r[4]*i+r[8]*a+r[12])/o,t[1]=(r[1]*n+r[5]*i+r[9]*a+r[13])/o,t[2]=(r[2]*n+r[6]*i+r[10]*a+r[14])/o,t}},264:function(t){t.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[0],s=r[1],l=r[2],u=r[3],c=u*n+s*a-l*i,f=u*i+l*n-o*a,h=u*a+o*i-s*n,p=-o*n-s*i-l*a;return t[0]=c*u+p*-o+f*-l-h*-s,t[1]=f*u+p*-s+h*-o-c*-l,t[2]=h*u+p*-l+c*-s-f*-o,t}},4361:function(t){t.exports=function(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t[3]=e[3]+r[3],t}},2335:function(t){t.exports=function(t){var e=new Float32Array(4);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e}},2933:function(t){t.exports=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t}},7536:function(t){t.exports=function(){var t=new Float32Array(4);return t[0]=0,t[1]=0,t[2]=0,t[3]=0,t}},4691:function(t){t.exports=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2],a=e[3]-t[3];return Math.sqrt(r*r+n*n+i*i+a*a)}},1373:function(t){t.exports=function(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t[2]=e[2]/r[2],t[3]=e[3]/r[3],t}},3750:function(t){t.exports=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]}},3390:function(t){t.exports=function(t,e,r,n){var i=new Float32Array(4);return i[0]=t,i[1]=e,i[2]=r,i[3]=n,i}},9970:function(t,e,r){t.exports={create:r(7536),clone:r(2335),fromValues:r(3390),copy:r(2933),set:r(4578),add:r(4361),subtract:r(6860),multiply:r(3576),divide:r(1373),min:r(2334),max:r(160),scale:r(9288),scaleAndAdd:r(4844),distance:r(4691),squaredDistance:r(7960),length:r(6808),squaredLength:r(483),negate:r(1498),inverse:r(4494),normalize:r(5177),dot:r(3750),lerp:r(2573),random:r(9131),transformMat4:r(5352),transformQuat:r(4041)}},4494:function(t){t.exports=function(t,e){return t[0]=1/e[0],t[1]=1/e[1],t[2]=1/e[2],t[3]=1/e[3],t}},6808:function(t){t.exports=function(t){var e=t[0],r=t[1],n=t[2],i=t[3];return Math.sqrt(e*e+r*r+n*n+i*i)}},2573:function(t){t.exports=function(t,e,r,n){var i=e[0],a=e[1],o=e[2],s=e[3];return t[0]=i+n*(r[0]-i),t[1]=a+n*(r[1]-a),t[2]=o+n*(r[2]-o),t[3]=s+n*(r[3]-s),t}},160:function(t){t.exports=function(t,e,r){return t[0]=Math.max(e[0],r[0]),t[1]=Math.max(e[1],r[1]),t[2]=Math.max(e[2],r[2]),t[3]=Math.max(e[3],r[3]),t}},2334:function(t){t.exports=function(t,e,r){return t[0]=Math.min(e[0],r[0]),t[1]=Math.min(e[1],r[1]),t[2]=Math.min(e[2],r[2]),t[3]=Math.min(e[3],r[3]),t}},3576:function(t){t.exports=function(t,e,r){return t[0]=e[0]*r[0],t[1]=e[1]*r[1],t[2]=e[2]*r[2],t[3]=e[3]*r[3],t}},1498:function(t){t.exports=function(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t}},5177:function(t){t.exports=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=r*r+n*n+i*i+a*a;return o>0&&(o=1/Math.sqrt(o),t[0]=r*o,t[1]=n*o,t[2]=i*o,t[3]=a*o),t}},9131:function(t,e,r){var n=r(5177),i=r(9288);t.exports=function(t,e){return e=e||1,t[0]=Math.random(),t[1]=Math.random(),t[2]=Math.random(),t[3]=Math.random(),n(t,t),i(t,t,e),t}},9288:function(t){t.exports=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t[3]=e[3]*r,t}},4844:function(t){t.exports=function(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t[3]=e[3]+r[3]*n,t}},4578:function(t){t.exports=function(t,e,r,n,i){return t[0]=e,t[1]=r,t[2]=n,t[3]=i,t}},7960:function(t){t.exports=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2],a=e[3]-t[3];return r*r+n*n+i*i+a*a}},483:function(t){t.exports=function(t){var e=t[0],r=t[1],n=t[2],i=t[3];return e*e+r*r+n*n+i*i}},6860:function(t){t.exports=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t[3]=e[3]-r[3],t}},5352:function(t){t.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3];return t[0]=r[0]*n+r[4]*i+r[8]*a+r[12]*o,t[1]=r[1]*n+r[5]*i+r[9]*a+r[13]*o,t[2]=r[2]*n+r[6]*i+r[10]*a+r[14]*o,t[3]=r[3]*n+r[7]*i+r[11]*a+r[15]*o,t}},4041:function(t){t.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[0],s=r[1],l=r[2],u=r[3],c=u*n+s*a-l*i,f=u*i+l*n-o*a,h=u*a+o*i-s*n,p=-o*n-s*i-l*a;return t[0]=c*u+p*-o+f*-l-h*-s,t[1]=f*u+p*-s+h*-o-c*-l,t[2]=h*u+p*-l+c*-s-f*-o,t[3]=e[3],t}},1848:function(t,e,r){var n=r(4905),i=r(6468);t.exports=function(t){for(var e=Array.isArray(t)?t:n(t),r=0;r0)continue;r=t.slice(0,1).join(\"\")}return N(r),P+=r.length,(S=S.slice(r.length)).length}}function W(){return/[^a-fA-F0-9]/.test(e)?(N(S.join(\"\")),M=l,k):(S.push(e),r=e,k+1)}function Y(){return\".\"===e||/[eE]/.test(e)?(S.push(e),M=v,r=e,k+1):\"x\"===e&&1===S.length&&\"0\"===S[0]?(M=_,S.push(e),r=e,k+1):/[^\\d]/.test(e)?(N(S.join(\"\")),M=l,k):(S.push(e),r=e,k+1)}function X(){return\"f\"===e&&(S.push(e),r=e,k+=1),/[eE]/.test(e)?(S.push(e),r=e,k+1):(\"-\"!==e&&\"+\"!==e||!/[eE]/.test(r))&&/[^\\d]/.test(e)?(N(S.join(\"\")),M=l,k):(S.push(e),r=e,k+1)}function Z(){if(/[^\\d\\w_]/.test(e)){var t=S.join(\"\");return M=B[t]?m:F[t]?y:g,N(S.join(\"\")),M=l,k}return S.push(e),r=e,k+1}};var n=r(620),i=r(7827),a=r(6852),o=r(7932),s=r(3508),l=999,u=9999,c=0,f=1,h=2,p=3,d=4,v=5,g=6,y=7,m=8,x=9,b=10,_=11,w=[\"block-comment\",\"line-comment\",\"preprocessor\",\"operator\",\"integer\",\"float\",\"ident\",\"builtin\",\"keyword\",\"whitespace\",\"eof\",\"integer\"]},3508:function(t,e,r){var n=r(6852);n=n.slice().filter((function(t){return!/^(gl\\_|texture)/.test(t)})),t.exports=n.concat([\"gl_VertexID\",\"gl_InstanceID\",\"gl_Position\",\"gl_PointSize\",\"gl_FragCoord\",\"gl_FrontFacing\",\"gl_FragDepth\",\"gl_PointCoord\",\"gl_MaxVertexAttribs\",\"gl_MaxVertexUniformVectors\",\"gl_MaxVertexOutputVectors\",\"gl_MaxFragmentInputVectors\",\"gl_MaxVertexTextureImageUnits\",\"gl_MaxCombinedTextureImageUnits\",\"gl_MaxTextureImageUnits\",\"gl_MaxFragmentUniformVectors\",\"gl_MaxDrawBuffers\",\"gl_MinProgramTexelOffset\",\"gl_MaxProgramTexelOffset\",\"gl_DepthRangeParameters\",\"gl_DepthRange\",\"trunc\",\"round\",\"roundEven\",\"isnan\",\"isinf\",\"floatBitsToInt\",\"floatBitsToUint\",\"intBitsToFloat\",\"uintBitsToFloat\",\"packSnorm2x16\",\"unpackSnorm2x16\",\"packUnorm2x16\",\"unpackUnorm2x16\",\"packHalf2x16\",\"unpackHalf2x16\",\"outerProduct\",\"transpose\",\"determinant\",\"inverse\",\"texture\",\"textureSize\",\"textureProj\",\"textureLod\",\"textureOffset\",\"texelFetch\",\"texelFetchOffset\",\"textureProjOffset\",\"textureLodOffset\",\"textureProjLod\",\"textureProjLodOffset\",\"textureGrad\",\"textureGradOffset\",\"textureProjGrad\",\"textureProjGradOffset\"])},6852:function(t){t.exports=[\"abs\",\"acos\",\"all\",\"any\",\"asin\",\"atan\",\"ceil\",\"clamp\",\"cos\",\"cross\",\"dFdx\",\"dFdy\",\"degrees\",\"distance\",\"dot\",\"equal\",\"exp\",\"exp2\",\"faceforward\",\"floor\",\"fract\",\"gl_BackColor\",\"gl_BackLightModelProduct\",\"gl_BackLightProduct\",\"gl_BackMaterial\",\"gl_BackSecondaryColor\",\"gl_ClipPlane\",\"gl_ClipVertex\",\"gl_Color\",\"gl_DepthRange\",\"gl_DepthRangeParameters\",\"gl_EyePlaneQ\",\"gl_EyePlaneR\",\"gl_EyePlaneS\",\"gl_EyePlaneT\",\"gl_Fog\",\"gl_FogCoord\",\"gl_FogFragCoord\",\"gl_FogParameters\",\"gl_FragColor\",\"gl_FragCoord\",\"gl_FragData\",\"gl_FragDepth\",\"gl_FragDepthEXT\",\"gl_FrontColor\",\"gl_FrontFacing\",\"gl_FrontLightModelProduct\",\"gl_FrontLightProduct\",\"gl_FrontMaterial\",\"gl_FrontSecondaryColor\",\"gl_LightModel\",\"gl_LightModelParameters\",\"gl_LightModelProducts\",\"gl_LightProducts\",\"gl_LightSource\",\"gl_LightSourceParameters\",\"gl_MaterialParameters\",\"gl_MaxClipPlanes\",\"gl_MaxCombinedTextureImageUnits\",\"gl_MaxDrawBuffers\",\"gl_MaxFragmentUniformComponents\",\"gl_MaxLights\",\"gl_MaxTextureCoords\",\"gl_MaxTextureImageUnits\",\"gl_MaxTextureUnits\",\"gl_MaxVaryingFloats\",\"gl_MaxVertexAttribs\",\"gl_MaxVertexTextureImageUnits\",\"gl_MaxVertexUniformComponents\",\"gl_ModelViewMatrix\",\"gl_ModelViewMatrixInverse\",\"gl_ModelViewMatrixInverseTranspose\",\"gl_ModelViewMatrixTranspose\",\"gl_ModelViewProjectionMatrix\",\"gl_ModelViewProjectionMatrixInverse\",\"gl_ModelViewProjectionMatrixInverseTranspose\",\"gl_ModelViewProjectionMatrixTranspose\",\"gl_MultiTexCoord0\",\"gl_MultiTexCoord1\",\"gl_MultiTexCoord2\",\"gl_MultiTexCoord3\",\"gl_MultiTexCoord4\",\"gl_MultiTexCoord5\",\"gl_MultiTexCoord6\",\"gl_MultiTexCoord7\",\"gl_Normal\",\"gl_NormalMatrix\",\"gl_NormalScale\",\"gl_ObjectPlaneQ\",\"gl_ObjectPlaneR\",\"gl_ObjectPlaneS\",\"gl_ObjectPlaneT\",\"gl_Point\",\"gl_PointCoord\",\"gl_PointParameters\",\"gl_PointSize\",\"gl_Position\",\"gl_ProjectionMatrix\",\"gl_ProjectionMatrixInverse\",\"gl_ProjectionMatrixInverseTranspose\",\"gl_ProjectionMatrixTranspose\",\"gl_SecondaryColor\",\"gl_TexCoord\",\"gl_TextureEnvColor\",\"gl_TextureMatrix\",\"gl_TextureMatrixInverse\",\"gl_TextureMatrixInverseTranspose\",\"gl_TextureMatrixTranspose\",\"gl_Vertex\",\"greaterThan\",\"greaterThanEqual\",\"inversesqrt\",\"length\",\"lessThan\",\"lessThanEqual\",\"log\",\"log2\",\"matrixCompMult\",\"max\",\"min\",\"mix\",\"mod\",\"normalize\",\"not\",\"notEqual\",\"pow\",\"radians\",\"reflect\",\"refract\",\"sign\",\"sin\",\"smoothstep\",\"sqrt\",\"step\",\"tan\",\"texture2D\",\"texture2DLod\",\"texture2DProj\",\"texture2DProjLod\",\"textureCube\",\"textureCubeLod\",\"texture2DLodEXT\",\"texture2DProjLodEXT\",\"textureCubeLodEXT\",\"texture2DGradEXT\",\"texture2DProjGradEXT\",\"textureCubeGradEXT\"]},7932:function(t,e,r){var n=r(620);t.exports=n.slice().concat([\"layout\",\"centroid\",\"smooth\",\"case\",\"mat2x2\",\"mat2x3\",\"mat2x4\",\"mat3x2\",\"mat3x3\",\"mat3x4\",\"mat4x2\",\"mat4x3\",\"mat4x4\",\"uvec2\",\"uvec3\",\"uvec4\",\"samplerCubeShadow\",\"sampler2DArray\",\"sampler2DArrayShadow\",\"isampler2D\",\"isampler3D\",\"isamplerCube\",\"isampler2DArray\",\"usampler2D\",\"usampler3D\",\"usamplerCube\",\"usampler2DArray\",\"coherent\",\"restrict\",\"readonly\",\"writeonly\",\"resource\",\"atomic_uint\",\"noperspective\",\"patch\",\"sample\",\"subroutine\",\"common\",\"partition\",\"active\",\"filter\",\"image1D\",\"image2D\",\"image3D\",\"imageCube\",\"iimage1D\",\"iimage2D\",\"iimage3D\",\"iimageCube\",\"uimage1D\",\"uimage2D\",\"uimage3D\",\"uimageCube\",\"image1DArray\",\"image2DArray\",\"iimage1DArray\",\"iimage2DArray\",\"uimage1DArray\",\"uimage2DArray\",\"image1DShadow\",\"image2DShadow\",\"image1DArrayShadow\",\"image2DArrayShadow\",\"imageBuffer\",\"iimageBuffer\",\"uimageBuffer\",\"sampler1DArray\",\"sampler1DArrayShadow\",\"isampler1D\",\"isampler1DArray\",\"usampler1D\",\"usampler1DArray\",\"isampler2DRect\",\"usampler2DRect\",\"samplerBuffer\",\"isamplerBuffer\",\"usamplerBuffer\",\"sampler2DMS\",\"isampler2DMS\",\"usampler2DMS\",\"sampler2DMSArray\",\"isampler2DMSArray\",\"usampler2DMSArray\"])},620:function(t){t.exports=[\"precision\",\"highp\",\"mediump\",\"lowp\",\"attribute\",\"const\",\"uniform\",\"varying\",\"break\",\"continue\",\"do\",\"for\",\"while\",\"if\",\"else\",\"in\",\"out\",\"inout\",\"float\",\"int\",\"uint\",\"void\",\"bool\",\"true\",\"false\",\"discard\",\"return\",\"mat2\",\"mat3\",\"mat4\",\"vec2\",\"vec3\",\"vec4\",\"ivec2\",\"ivec3\",\"ivec4\",\"bvec2\",\"bvec3\",\"bvec4\",\"sampler1D\",\"sampler2D\",\"sampler3D\",\"samplerCube\",\"sampler1DShadow\",\"sampler2DShadow\",\"struct\",\"asm\",\"class\",\"union\",\"enum\",\"typedef\",\"template\",\"this\",\"packed\",\"goto\",\"switch\",\"default\",\"inline\",\"noinline\",\"volatile\",\"public\",\"static\",\"extern\",\"external\",\"interface\",\"long\",\"short\",\"double\",\"half\",\"fixed\",\"unsigned\",\"input\",\"output\",\"hvec2\",\"hvec3\",\"hvec4\",\"dvec2\",\"dvec3\",\"dvec4\",\"fvec2\",\"fvec3\",\"fvec4\",\"sampler2DRect\",\"sampler3DRect\",\"sampler2DRectShadow\",\"sizeof\",\"cast\",\"namespace\",\"using\"]},7827:function(t){t.exports=[\"<<=\",\">>=\",\"++\",\"--\",\"<<\",\">>\",\"<=\",\">=\",\"==\",\"!=\",\"&&\",\"||\",\"+=\",\"-=\",\"*=\",\"/=\",\"%=\",\"&=\",\"^^\",\"^=\",\"|=\",\"(\",\")\",\"[\",\"]\",\".\",\"!\",\"~\",\"*\",\"/\",\"%\",\"+\",\"-\",\"<\",\">\",\"&\",\"^\",\"|\",\"?\",\":\",\"=\",\",\",\";\",\"{\",\"}\"]},4905:function(t,e,r){var n=r(5874);t.exports=function(t,e){var r=n(e),i=[];return(i=i.concat(r(t))).concat(r(null))}},3236:function(t){t.exports=function(t){\"string\"==typeof t&&(t=[t]);for(var e=[].slice.call(arguments,1),r=[],n=0;n>1,c=-7,f=r?i-1:0,h=r?-1:1,p=t[e+f];for(f+=h,a=p&(1<<-c)-1,p>>=-c,c+=s;c>0;a=256*a+t[e+f],f+=h,c-=8);for(o=a&(1<<-c)-1,a>>=-c,c+=n;c>0;o=256*o+t[e+f],f+=h,c-=8);if(0===a)a=1-u;else{if(a===l)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,n),a-=u}return(p?-1:1)*o*Math.pow(2,a-n)},e.write=function(t,e,r,n,i,a){var o,s,l,u=8*a-i-1,c=(1<>1,h=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:a-1,d=n?1:-1,v=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,o=c):(o=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-o))<1&&(o--,l*=2),(e+=o+f>=1?h/l:h*Math.pow(2,1-f))*l>=2&&(o++,l/=2),o+f>=c?(s=0,o=c):o+f>=1?(s=(e*l-1)*Math.pow(2,i),o+=f):(s=e*Math.pow(2,f-1)*Math.pow(2,i),o=0));i>=8;t[r+p]=255&s,p+=d,s/=256,i-=8);for(o=o<0;t[r+p]=255&o,p+=d,o/=256,u-=8);t[r+p-d]|=128*v}},8954:function(t,e,r){\"use strict\";t.exports=function(t,e){var r=t.length;if(0===r)throw new Error(\"Must have at least d+1 points\");var i=t[0].length;if(r<=i)throw new Error(\"Must input at least d+1 points\");var o=t.slice(0,i+1),s=n.apply(void 0,o);if(0===s)throw new Error(\"Input not in general position\");for(var l=new Array(i+1),c=0;c<=i;++c)l[c]=c;s<0&&(l[0]=1,l[1]=0);var f=new a(l,new Array(i+1),!1),h=f.adjacent,p=new Array(i+2);for(c=0;c<=i;++c){for(var d=l.slice(),v=0;v<=i;++v)v===c&&(d[v]=-1);var g=d[0];d[0]=d[1],d[1]=g;var y=new a(d,new Array(i+1),!0);h[c]=y,p[c]=y}for(p[i+1]=f,c=0;c<=i;++c){d=h[c].vertices;var m=h[c].adjacent;for(v=0;v<=i;++v){var x=d[v];if(x<0)m[v]=f;else for(var b=0;b<=i;++b)h[b].vertices.indexOf(x)<0&&(m[v]=h[b])}}var _=new u(i,o,p),w=!!e;for(c=i+1;c0;)for(var s=(t=o.pop()).adjacent,l=0;l<=r;++l){var u=s[l];if(u.boundary&&!(u.lastVisited<=-n)){for(var c=u.vertices,f=0;f<=r;++f){var h=c[f];i[f]=h<0?e:a[h]}var p=this.orient();if(p>0)return u;u.lastVisited=-n,0===p&&o.push(u)}}return null},c.walk=function(t,e){var r=this.vertices.length-1,n=this.dimension,i=this.vertices,a=this.tuple,o=e?this.interior.length*Math.random()|0:this.interior.length-1,s=this.interior[o];t:for(;!s.boundary;){for(var l=s.vertices,u=s.adjacent,c=0;c<=n;++c)a[c]=i[l[c]];for(s.lastVisited=r,c=0;c<=n;++c){var f=u[c];if(!(f.lastVisited>=r)){var h=a[c];a[c]=t;var p=this.orient();if(a[c]=h,p<0){s=f;continue t}f.boundary?f.lastVisited=-r:f.lastVisited=r}}return}return s},c.addPeaks=function(t,e){var r=this.vertices.length-1,n=this.dimension,i=this.vertices,l=this.tuple,u=this.interior,c=this.simplices,f=[e];e.lastVisited=r,e.vertices[e.vertices.indexOf(-1)]=r,e.boundary=!1,u.push(e);for(var h=[];f.length>0;){var p=(e=f.pop()).vertices,d=e.adjacent,v=p.indexOf(r);if(!(v<0))for(var g=0;g<=n;++g)if(g!==v){var y=d[g];if(y.boundary&&!(y.lastVisited>=r)){var m=y.vertices;if(y.lastVisited!==-r){for(var x=0,b=0;b<=n;++b)m[b]<0?(x=b,l[b]=t):l[b]=i[m[b]];if(this.orient()>0){m[x]=r,y.boundary=!1,u.push(y),f.push(y),y.lastVisited=r;continue}y.lastVisited=-r}var _=y.adjacent,w=p.slice(),T=d.slice(),k=new a(w,T,!0);c.push(k);var A=_.indexOf(e);if(!(A<0))for(_[A]=k,T[v]=y,w[g]=-1,T[g]=e,d[g]=k,k.flip(),b=0;b<=n;++b){var M=w[b];if(!(M<0||M===r)){for(var S=new Array(n-1),E=0,L=0;L<=n;++L){var C=w[L];C<0||L===b||(S[E++]=C)}h.push(new o(S,k,b))}}}}}for(h.sort(s),g=0;g+1=0?o[l++]=s[c]:u=1&c;if(u===(1&t)){var f=o[0];o[0]=o[1],o[1]=f}e.push(o)}}return e}},3352:function(t,e,r){\"use strict\";var n=r(2478);function i(t,e,r,n,i){this.mid=t,this.left=e,this.right=r,this.leftPoints=n,this.rightPoints=i,this.count=(e?e.count:0)+(r?r.count:0)+n.length}t.exports=function(t){return t&&0!==t.length?new y(g(t)):new y(null)};var a=i.prototype;function o(t,e){t.mid=e.mid,t.left=e.left,t.right=e.right,t.leftPoints=e.leftPoints,t.rightPoints=e.rightPoints,t.count=e.count}function s(t,e){var r=g(e);t.mid=r.mid,t.left=r.left,t.right=r.right,t.leftPoints=r.leftPoints,t.rightPoints=r.rightPoints,t.count=r.count}function l(t,e){var r=t.intervals([]);r.push(e),s(t,r)}function u(t,e){var r=t.intervals([]),n=r.indexOf(e);return n<0?0:(r.splice(n,1),s(t,r),1)}function c(t,e,r){for(var n=0;n=0&&t[n][1]>=e;--n){var i=r(t[n]);if(i)return i}}function h(t,e){for(var r=0;r>1],a=[],o=[],s=[];for(r=0;r3*(e+1)?l(this,t):this.left.insert(t):this.left=g([t]);else if(t[0]>this.mid)this.right?4*(this.right.count+1)>3*(e+1)?l(this,t):this.right.insert(t):this.right=g([t]);else{var r=n.ge(this.leftPoints,t,d),i=n.ge(this.rightPoints,t,v);this.leftPoints.splice(r,0,t),this.rightPoints.splice(i,0,t)}},a.remove=function(t){var e=this.count-this.leftPoints;if(t[1]3*(e-1)?u(this,t):2===(s=this.left.remove(t))?(this.left=null,this.count-=1,1):(1===s&&(this.count-=1),s):0;if(t[0]>this.mid)return this.right?4*(this.left?this.left.count:0)>3*(e-1)?u(this,t):2===(s=this.right.remove(t))?(this.right=null,this.count-=1,1):(1===s&&(this.count-=1),s):0;if(1===this.count)return this.leftPoints[0]===t?2:0;if(1===this.leftPoints.length&&this.leftPoints[0]===t){if(this.left&&this.right){for(var r=this,i=this.left;i.right;)r=i,i=i.right;if(r===this)i.right=this.right;else{var a=this.left,s=this.right;r.count-=i.count,r.right=i.left,i.left=a,i.right=s}o(this,i),this.count=(this.left?this.left.count:0)+(this.right?this.right.count:0)+this.leftPoints.length}else this.left?o(this,this.left):o(this,this.right);return 1}for(a=n.ge(this.leftPoints,t,d);athis.mid?this.right&&(r=this.right.queryPoint(t,e))?r:f(this.rightPoints,t,e):h(this.leftPoints,e);var r},a.queryInterval=function(t,e,r){var n;return tthis.mid&&this.right&&(n=this.right.queryInterval(t,e,r))?n:ethis.mid?f(this.rightPoints,t,r):h(this.leftPoints,r)};var m=y.prototype;m.insert=function(t){this.root?this.root.insert(t):this.root=new i(t[0],null,null,[t],[t])},m.remove=function(t){if(this.root){var e=this.root.remove(t);return 2===e&&(this.root=null),0!==e}return!1},m.queryPoint=function(t,e){if(this.root)return this.root.queryPoint(t,e)},m.queryInterval=function(t,e,r){if(t<=e&&this.root)return this.root.queryInterval(t,e,r)},Object.defineProperty(m,\"count\",{get:function(){return this.root?this.root.count:0}}),Object.defineProperty(m,\"intervals\",{get:function(){return this.root?this.root.intervals([]):[]}})},7762:function(t){\"use strict\";t.exports=function(t){for(var e=new Array(t),r=0;r13)&&32!==e&&133!==e&&160!==e&&5760!==e&&6158!==e&&(e<8192||e>8205)&&8232!==e&&8233!==e&&8239!==e&&8287!==e&&8288!==e&&12288!==e&&65279!==e)return!1;return!0}},395:function(t){t.exports=function(t,e,r){return t*(1-r)+e*r}},2652:function(t,e,r){var n=r(4335),i=r(6864),a=r(1903),o=r(9921),s=r(7608),l=r(5665),u={length:r(1387),normalize:r(3536),dot:r(244),cross:r(5911)},c=i(),f=i(),h=[0,0,0,0],p=[[0,0,0],[0,0,0],[0,0,0]],d=[0,0,0];function v(t,e,r,n,i){t[0]=e[0]*n+r[0]*i,t[1]=e[1]*n+r[1]*i,t[2]=e[2]*n+r[2]*i}t.exports=function(t,e,r,i,g,y){if(e||(e=[0,0,0]),r||(r=[0,0,0]),i||(i=[0,0,0]),g||(g=[0,0,0,1]),y||(y=[0,0,0,1]),!n(c,t))return!1;if(a(f,c),f[3]=0,f[7]=0,f[11]=0,f[15]=1,Math.abs(o(f)<1e-8))return!1;var m,x,b,_,w,T,k,A=c[3],M=c[7],S=c[11],E=c[12],L=c[13],C=c[14],P=c[15];if(0!==A||0!==M||0!==S){if(h[0]=A,h[1]=M,h[2]=S,h[3]=P,!s(f,f))return!1;l(f,f),m=g,b=f,_=(x=h)[0],w=x[1],T=x[2],k=x[3],m[0]=b[0]*_+b[4]*w+b[8]*T+b[12]*k,m[1]=b[1]*_+b[5]*w+b[9]*T+b[13]*k,m[2]=b[2]*_+b[6]*w+b[10]*T+b[14]*k,m[3]=b[3]*_+b[7]*w+b[11]*T+b[15]*k}else g[0]=g[1]=g[2]=0,g[3]=1;if(e[0]=E,e[1]=L,e[2]=C,function(t,e){t[0][0]=e[0],t[0][1]=e[1],t[0][2]=e[2],t[1][0]=e[4],t[1][1]=e[5],t[1][2]=e[6],t[2][0]=e[8],t[2][1]=e[9],t[2][2]=e[10]}(p,c),r[0]=u.length(p[0]),u.normalize(p[0],p[0]),i[0]=u.dot(p[0],p[1]),v(p[1],p[1],p[0],1,-i[0]),r[1]=u.length(p[1]),u.normalize(p[1],p[1]),i[0]/=r[1],i[1]=u.dot(p[0],p[2]),v(p[2],p[2],p[0],1,-i[1]),i[2]=u.dot(p[1],p[2]),v(p[2],p[2],p[1],1,-i[2]),r[2]=u.length(p[2]),u.normalize(p[2],p[2]),i[1]/=r[2],i[2]/=r[2],u.cross(d,p[1],p[2]),u.dot(p[0],d)<0)for(var O=0;O<3;O++)r[O]*=-1,p[O][0]*=-1,p[O][1]*=-1,p[O][2]*=-1;return y[0]=.5*Math.sqrt(Math.max(1+p[0][0]-p[1][1]-p[2][2],0)),y[1]=.5*Math.sqrt(Math.max(1-p[0][0]+p[1][1]-p[2][2],0)),y[2]=.5*Math.sqrt(Math.max(1-p[0][0]-p[1][1]+p[2][2],0)),y[3]=.5*Math.sqrt(Math.max(1+p[0][0]+p[1][1]+p[2][2],0)),p[2][1]>p[1][2]&&(y[0]=-y[0]),p[0][2]>p[2][0]&&(y[1]=-y[1]),p[1][0]>p[0][1]&&(y[2]=-y[2]),!0}},4335:function(t){t.exports=function(t,e){var r=e[15];if(0===r)return!1;for(var n=1/r,i=0;i<16;i++)t[i]=e[i]*n;return!0}},7442:function(t,e,r){var n=r(6658),i=r(7182),a=r(2652),o=r(9921),s=r(8648),l=f(),u=f(),c=f();function f(){return{translate:h(),scale:h(1),skew:h(),perspective:[0,0,0,1],quaternion:[0,0,0,1]}}function h(t){return[t||0,t||0,t||0]}t.exports=function(t,e,r,f){if(0===o(e)||0===o(r))return!1;var h=a(e,l.translate,l.scale,l.skew,l.perspective,l.quaternion),p=a(r,u.translate,u.scale,u.skew,u.perspective,u.quaternion);return!(!h||!p||(n(c.translate,l.translate,u.translate,f),n(c.skew,l.skew,u.skew,f),n(c.scale,l.scale,u.scale,f),n(c.perspective,l.perspective,u.perspective,f),s(c.quaternion,l.quaternion,u.quaternion,f),i(t,c.translate,c.scale,c.skew,c.perspective,c.quaternion),0))}},7182:function(t,e,r){var n={identity:r(7894),translate:r(7656),multiply:r(6760),create:r(6864),scale:r(2504),fromRotationTranslation:r(6743)},i=(n.create(),n.create());t.exports=function(t,e,r,a,o,s){return n.identity(t),n.fromRotationTranslation(t,s,e),t[3]=o[0],t[7]=o[1],t[11]=o[2],t[15]=o[3],n.identity(i),0!==a[2]&&(i[9]=a[2],n.multiply(t,t,i)),0!==a[1]&&(i[9]=0,i[8]=a[1],n.multiply(t,t,i)),0!==a[0]&&(i[8]=0,i[4]=a[0],n.multiply(t,t,i)),n.scale(t,t,r),t}},4192:function(t,e,r){\"use strict\";var n=r(2478),i=r(7442),a=r(7608),o=r(5567),s=r(2408),l=r(7089),u=r(6582),c=r(7656),f=(r(2504),r(3536)),h=[0,0,0];function p(t){this._components=t.slice(),this._time=[0],this.prevMatrix=t.slice(),this.nextMatrix=t.slice(),this.computedMatrix=t.slice(),this.computedInverse=t.slice(),this.computedEye=[0,0,0],this.computedUp=[0,0,0],this.computedCenter=[0,0,0],this.computedRadius=[0],this._limits=[-1/0,1/0]}t.exports=function(t){return new p((t=t||{}).matrix||[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])};var d=p.prototype;d.recalcMatrix=function(t){var e=this._time,r=n.le(e,t),o=this.computedMatrix;if(!(r<0)){var s=this._components;if(r===e.length-1)for(var l=16*r,u=0;u<16;++u)o[u]=s[l++];else{var c=e[r+1]-e[r],h=(l=16*r,this.prevMatrix),p=!0;for(u=0;u<16;++u)h[u]=s[l++];var d=this.nextMatrix;for(u=0;u<16;++u)d[u]=s[l++],p=p&&h[u]===d[u];if(c<1e-6||p)for(u=0;u<16;++u)o[u]=h[u];else i(o,h,d,(t-e[r])/c)}var v=this.computedUp;v[0]=o[1],v[1]=o[5],v[2]=o[9],f(v,v);var g=this.computedInverse;a(g,o);var y=this.computedEye,m=g[15];y[0]=g[12]/m,y[1]=g[13]/m,y[2]=g[14]/m;var x=this.computedCenter,b=Math.exp(this.computedRadius[0]);for(u=0;u<3;++u)x[u]=y[u]-o[2+4*u]*b}},d.idle=function(t){if(!(t1&&n(t[o[c-2]],t[o[c-1]],u)<=0;)c-=1,o.pop();for(o.push(l),c=s.length;c>1&&n(t[s[c-2]],t[s[c-1]],u)>=0;)c-=1,s.pop();s.push(l)}r=new Array(s.length+o.length-2);for(var f=0,h=(i=0,o.length);i0;--p)r[f++]=s[p];return r};var n=r(3250)[3]},351:function(t,e,r){\"use strict\";t.exports=function(t,e){e||(e=t,t=window);var r=0,i=0,a=0,o={shift:!1,alt:!1,control:!1,meta:!1},s=!1;function l(t){var e=!1;return\"altKey\"in t&&(e=e||t.altKey!==o.alt,o.alt=!!t.altKey),\"shiftKey\"in t&&(e=e||t.shiftKey!==o.shift,o.shift=!!t.shiftKey),\"ctrlKey\"in t&&(e=e||t.ctrlKey!==o.control,o.control=!!t.ctrlKey),\"metaKey\"in t&&(e=e||t.metaKey!==o.meta,o.meta=!!t.metaKey),e}function u(t,s){var u=n.x(s),c=n.y(s);\"buttons\"in s&&(t=0|s.buttons),(t!==r||u!==i||c!==a||l(s))&&(r=0|t,i=u||0,a=c||0,e&&e(r,i,a,o))}function c(t){u(0,t)}function f(){(r||i||a||o.shift||o.alt||o.meta||o.control)&&(i=a=0,r=0,o.shift=o.alt=o.control=o.meta=!1,e&&e(0,0,0,o))}function h(t){l(t)&&e&&e(r,i,a,o)}function p(t){0===n.buttons(t)?u(0,t):u(r,t)}function d(t){u(r|n.buttons(t),t)}function v(t){u(r&~n.buttons(t),t)}function g(){s||(s=!0,t.addEventListener(\"mousemove\",p),t.addEventListener(\"mousedown\",d),t.addEventListener(\"mouseup\",v),t.addEventListener(\"mouseleave\",c),t.addEventListener(\"mouseenter\",c),t.addEventListener(\"mouseout\",c),t.addEventListener(\"mouseover\",c),t.addEventListener(\"blur\",f),t.addEventListener(\"keyup\",h),t.addEventListener(\"keydown\",h),t.addEventListener(\"keypress\",h),t!==window&&(window.addEventListener(\"blur\",f),window.addEventListener(\"keyup\",h),window.addEventListener(\"keydown\",h),window.addEventListener(\"keypress\",h)))}g();var y={element:t};return Object.defineProperties(y,{enabled:{get:function(){return s},set:function(e){e?g():s&&(s=!1,t.removeEventListener(\"mousemove\",p),t.removeEventListener(\"mousedown\",d),t.removeEventListener(\"mouseup\",v),t.removeEventListener(\"mouseleave\",c),t.removeEventListener(\"mouseenter\",c),t.removeEventListener(\"mouseout\",c),t.removeEventListener(\"mouseover\",c),t.removeEventListener(\"blur\",f),t.removeEventListener(\"keyup\",h),t.removeEventListener(\"keydown\",h),t.removeEventListener(\"keypress\",h),t!==window&&(window.removeEventListener(\"blur\",f),window.removeEventListener(\"keyup\",h),window.removeEventListener(\"keydown\",h),window.removeEventListener(\"keypress\",h)))},enumerable:!0},buttons:{get:function(){return r},enumerable:!0},x:{get:function(){return i},enumerable:!0},y:{get:function(){return a},enumerable:!0},mods:{get:function(){return o},enumerable:!0}}),y};var n=r(4687)},24:function(t){var e={left:0,top:0};t.exports=function(t,r,n){r=r||t.currentTarget||t.srcElement,Array.isArray(n)||(n=[0,0]);var i,a=t.clientX||0,o=t.clientY||0,s=(i=r)===window||i===document||i===document.body?e:i.getBoundingClientRect();return n[0]=a-s.left,n[1]=o-s.top,n}},4687:function(t,e){\"use strict\";function r(t){return t.target||t.srcElement||window}e.buttons=function(t){if(\"object\"==typeof t){if(\"buttons\"in t)return t.buttons;if(\"which\"in t){if(2===(e=t.which))return 4;if(3===e)return 2;if(e>0)return 1<=0)return 1< 0\"),\"function\"!=typeof t.vertex&&e(\"Must specify vertex creation function\"),\"function\"!=typeof t.cell&&e(\"Must specify cell creation function\"),\"function\"!=typeof t.phase&&e(\"Must specify phase function\");for(var o=t.getters||[],s=new Array(a),l=0;l=0?s[l]=!0:s[l]=!1;return function(t,e,r,a,o,s){var l=[s,o].join(\",\");return(0,i[l])(t,e,r,n.mallocUint32,n.freeUint32)}(t.vertex,t.cell,t.phase,0,r,s)};var i={\"false,0,1\":function(t,e,r,n,i){return function(a,o,s,l){var u,c=0|a.shape[0],f=0|a.shape[1],h=a.data,p=0|a.offset,d=0|a.stride[0],v=0|a.stride[1],g=p,y=0|-d,m=0,x=0|-v,b=0,_=-d-v|0,w=0,T=0|d,k=v-d*c|0,A=0,M=0,S=0,E=2*c|0,L=n(E),C=n(E),P=0,O=0,I=-1,z=-1,D=0,R=0|-c,F=0|c,B=0,N=-c-1|0,j=c-1|0,U=0,V=0,q=0;for(A=0;A0){if(M=1,L[P++]=r(h[g],o,s,l),g+=T,c>0)for(A=1,u=h[g],O=L[P]=r(u,o,s,l),D=L[P+I],B=L[P+R],U=L[P+N],O===D&&O===B&&O===U||(m=h[g+y],b=h[g+x],w=h[g+_],t(A,M,u,m,b,w,O,D,B,U,o,s,l),V=C[P]=S++),P+=1,g+=T,A=2;A0)for(A=1,u=h[g],O=L[P]=r(u,o,s,l),D=L[P+I],B=L[P+R],U=L[P+N],O===D&&O===B&&O===U||(m=h[g+y],b=h[g+x],w=h[g+_],t(A,M,u,m,b,w,O,D,B,U,o,s,l),V=C[P]=S++,U!==B&&e(C[P+R],V,b,w,B,U,o,s,l)),P+=1,g+=T,A=2;A0){if(A=1,L[P++]=r(h[g],o,s,l),g+=T,f>0)for(M=1,u=h[g],O=L[P]=r(u,o,s,l),B=L[P+R],D=L[P+I],U=L[P+N],O===B&&O===D&&O===U||(m=h[g+y],b=h[g+x],w=h[g+_],t(A,M,u,m,b,w,O,B,D,U,o,s,l),V=C[P]=S++),P+=1,g+=T,M=2;M0)for(M=1,u=h[g],O=L[P]=r(u,o,s,l),B=L[P+R],D=L[P+I],U=L[P+N],O===B&&O===D&&O===U||(m=h[g+y],b=h[g+x],w=h[g+_],t(A,M,u,m,b,w,O,B,D,U,o,s,l),V=C[P]=S++,U!==B&&e(C[P+R],V,w,m,U,B,o,s,l)),P+=1,g+=T,M=2;M2&&a[1]>2&&n(i.pick(-1,-1).lo(1,1).hi(a[0]-2,a[1]-2),t.pick(-1,-1,0).lo(1,1).hi(a[0]-2,a[1]-2),t.pick(-1,-1,1).lo(1,1).hi(a[0]-2,a[1]-2)),a[1]>2&&(r(i.pick(0,-1).lo(1).hi(a[1]-2),t.pick(0,-1,1).lo(1).hi(a[1]-2)),e(t.pick(0,-1,0).lo(1).hi(a[1]-2))),a[1]>2&&(r(i.pick(a[0]-1,-1).lo(1).hi(a[1]-2),t.pick(a[0]-1,-1,1).lo(1).hi(a[1]-2)),e(t.pick(a[0]-1,-1,0).lo(1).hi(a[1]-2))),a[0]>2&&(r(i.pick(-1,0).lo(1).hi(a[0]-2),t.pick(-1,0,0).lo(1).hi(a[0]-2)),e(t.pick(-1,0,1).lo(1).hi(a[0]-2))),a[0]>2&&(r(i.pick(-1,a[1]-1).lo(1).hi(a[0]-2),t.pick(-1,a[1]-1,0).lo(1).hi(a[0]-2)),e(t.pick(-1,a[1]-1,1).lo(1).hi(a[0]-2))),t.set(0,0,0,0),t.set(0,0,1,0),t.set(a[0]-1,0,0,0),t.set(a[0]-1,0,1,0),t.set(0,a[1]-1,0,0),t.set(0,a[1]-1,1,0),t.set(a[0]-1,a[1]-1,0,0),t.set(a[0]-1,a[1]-1,1,0),t}}t.exports=function(t,e,r){return Array.isArray(r)||(r=n(e.dimension,\"string\"==typeof r?r:\"clamp\")),0===e.size?t:0===e.dimension?(t.set(0),t):function(t){var e=t.join();if(a=c[e])return a;for(var r=t.length,n=[f,h],i=1;i<=r;++i)n.push(p(i));var a=d.apply(void 0,n);return c[e]=a,a}(r)(t,e)}},4317:function(t){\"use strict\";function e(t,e){var r=Math.floor(e),n=e-r,i=0<=r&&r0;){x<64?(l=x,x=0):(l=64,x-=64);for(var b=0|t[1];b>0;){b<64?(u=b,b=0):(u=64,b-=64),n=y+x*f+b*h,o=m+x*d+b*v;var _=0,w=0,T=0,k=p,A=f-c*p,M=h-l*f,S=g,E=d-c*g,L=v-l*d;for(T=0;T0;){v<64?(l=v,v=0):(l=64,v-=64);for(var g=0|t[0];g>0;){g<64?(s=g,g=0):(s=64,g-=64),n=p+v*c+g*u,o=d+v*h+g*f;var y=0,m=0,x=c,b=u-l*c,_=h,w=f-l*h;for(m=0;m0;){m<64?(u=m,m=0):(u=64,m-=64);for(var x=0|t[0];x>0;){x<64?(s=x,x=0):(s=64,x-=64);for(var b=0|t[1];b>0;){b<64?(l=b,b=0):(l=64,b-=64),n=g+m*h+x*c+b*f,o=y+m*v+x*p+b*d;var _=0,w=0,T=0,k=h,A=c-u*h,M=f-s*c,S=v,E=p-u*v,L=d-s*p;for(T=0;Tr;){y=0,m=v-o;e:for(g=0;gb)break e;m+=f,y+=h}for(y=v,m=v-o,g=0;g>1,H=q-j,G=q+j,W=U,Y=H,X=q,Z=G,K=V,J=i+1,$=a-1,Q=!0,tt=0,et=0,rt=0,nt=f,it=e(nt),at=e(nt);A=l*W,M=l*Y,N=s;t:for(k=0;k0){g=W,W=Y,Y=g;break t}if(rt<0)break t;N+=p}A=l*Z,M=l*K,N=s;t:for(k=0;k0){g=Z,Z=K,K=g;break t}if(rt<0)break t;N+=p}A=l*W,M=l*X,N=s;t:for(k=0;k0){g=W,W=X,X=g;break t}if(rt<0)break t;N+=p}A=l*Y,M=l*X,N=s;t:for(k=0;k0){g=Y,Y=X,X=g;break t}if(rt<0)break t;N+=p}A=l*W,M=l*Z,N=s;t:for(k=0;k0){g=W,W=Z,Z=g;break t}if(rt<0)break t;N+=p}A=l*X,M=l*Z,N=s;t:for(k=0;k0){g=X,X=Z,Z=g;break t}if(rt<0)break t;N+=p}A=l*Y,M=l*K,N=s;t:for(k=0;k0){g=Y,Y=K,K=g;break t}if(rt<0)break t;N+=p}A=l*Y,M=l*X,N=s;t:for(k=0;k0){g=Y,Y=X,X=g;break t}if(rt<0)break t;N+=p}A=l*Z,M=l*K,N=s;t:for(k=0;k0){g=Z,Z=K,K=g;break t}if(rt<0)break t;N+=p}for(A=l*W,M=l*Y,S=l*X,E=l*Z,L=l*K,C=l*U,P=l*q,O=l*V,B=0,N=s,k=0;k0)){if(rt<0){for(A=l*b,M=l*J,S=l*$,N=s,k=0;k0)for(;;){for(_=s+$*l,B=0,k=0;k0)){for(_=s+$*l,B=0,k=0;kV){t:for(;;){for(_=s+J*l,B=0,N=s,k=0;k1&&n?s(r,n[0],n[1]):s(r)}(t,e,l);return n(l,u)}},446:function(t,e,r){\"use strict\";var n=r(7640),i={};t.exports=function(t){var e=t.order,r=t.dtype,a=[e,r].join(\":\"),o=i[a];return o||(i[a]=o=n(e,r)),o(t),t}},9618:function(t,e,r){var n=r(7163),i=\"undefined\"!=typeof Float64Array;function a(t,e){return t[0]-e[0]}function o(){var t,e=this.stride,r=new Array(e.length);for(t=0;t=0&&(e+=a*(r=0|t),i-=r),new n(this.data,i,a,e)},i.step=function(t){var e=this.shape[0],r=this.stride[0],i=this.offset,a=0,o=Math.ceil;return\"number\"==typeof t&&((a=0|t)<0?(i+=r*(e-1),e=o(-e/a)):e=o(e/a),r*=a),new n(this.data,e,r,i)},i.transpose=function(t){t=void 0===t?0:0|t;var e=this.shape,r=this.stride;return new n(this.data,e[t],r[t],this.offset)},i.pick=function(t){var r=[],n=[],i=this.offset;return\"number\"==typeof t&&t>=0?i=i+this.stride[0]*t|0:(r.push(this.shape[0]),n.push(this.stride[0])),(0,e[r.length+1])(this.data,r,n,i)},function(t,e,r,i){return new n(t,e[0],r[0],i)}},2:function(t,e,r){function n(t,e,r,n,i,a){this.data=t,this.shape=[e,r],this.stride=[n,i],this.offset=0|a}var i=n.prototype;return i.dtype=t,i.dimension=2,Object.defineProperty(i,\"size\",{get:function(){return this.shape[0]*this.shape[1]}}),Object.defineProperty(i,\"order\",{get:function(){return Math.abs(this.stride[0])>Math.abs(this.stride[1])?[1,0]:[0,1]}}),i.set=function(e,r,n){return\"generic\"===t?this.data.set(this.offset+this.stride[0]*e+this.stride[1]*r,n):this.data[this.offset+this.stride[0]*e+this.stride[1]*r]=n},i.get=function(e,r){return\"generic\"===t?this.data.get(this.offset+this.stride[0]*e+this.stride[1]*r):this.data[this.offset+this.stride[0]*e+this.stride[1]*r]},i.index=function(t,e){return this.offset+this.stride[0]*t+this.stride[1]*e},i.hi=function(t,e){return new n(this.data,\"number\"!=typeof t||t<0?this.shape[0]:0|t,\"number\"!=typeof e||e<0?this.shape[1]:0|e,this.stride[0],this.stride[1],this.offset)},i.lo=function(t,e){var r=this.offset,i=0,a=this.shape[0],o=this.shape[1],s=this.stride[0],l=this.stride[1];return\"number\"==typeof t&&t>=0&&(r+=s*(i=0|t),a-=i),\"number\"==typeof e&&e>=0&&(r+=l*(i=0|e),o-=i),new n(this.data,a,o,s,l,r)},i.step=function(t,e){var r=this.shape[0],i=this.shape[1],a=this.stride[0],o=this.stride[1],s=this.offset,l=0,u=Math.ceil;return\"number\"==typeof t&&((l=0|t)<0?(s+=a*(r-1),r=u(-r/l)):r=u(r/l),a*=l),\"number\"==typeof e&&((l=0|e)<0?(s+=o*(i-1),i=u(-i/l)):i=u(i/l),o*=l),new n(this.data,r,i,a,o,s)},i.transpose=function(t,e){t=void 0===t?0:0|t,e=void 0===e?1:0|e;var r=this.shape,i=this.stride;return new n(this.data,r[t],r[e],i[t],i[e],this.offset)},i.pick=function(t,r){var n=[],i=[],a=this.offset;return\"number\"==typeof t&&t>=0?a=a+this.stride[0]*t|0:(n.push(this.shape[0]),i.push(this.stride[0])),\"number\"==typeof r&&r>=0?a=a+this.stride[1]*r|0:(n.push(this.shape[1]),i.push(this.stride[1])),(0,e[n.length+1])(this.data,n,i,a)},function(t,e,r,i){return new n(t,e[0],e[1],r[0],r[1],i)}},3:function(t,e,r){function n(t,e,r,n,i,a,o,s){this.data=t,this.shape=[e,r,n],this.stride=[i,a,o],this.offset=0|s}var i=n.prototype;return i.dtype=t,i.dimension=3,Object.defineProperty(i,\"size\",{get:function(){return this.shape[0]*this.shape[1]*this.shape[2]}}),Object.defineProperty(i,\"order\",{get:function(){var t=Math.abs(this.stride[0]),e=Math.abs(this.stride[1]),r=Math.abs(this.stride[2]);return t>e?e>r?[2,1,0]:t>r?[1,2,0]:[1,0,2]:t>r?[2,0,1]:r>e?[0,1,2]:[0,2,1]}}),i.set=function(e,r,n,i){return\"generic\"===t?this.data.set(this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n,i):this.data[this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n]=i},i.get=function(e,r,n){return\"generic\"===t?this.data.get(this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n):this.data[this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n]},i.index=function(t,e,r){return this.offset+this.stride[0]*t+this.stride[1]*e+this.stride[2]*r},i.hi=function(t,e,r){return new n(this.data,\"number\"!=typeof t||t<0?this.shape[0]:0|t,\"number\"!=typeof e||e<0?this.shape[1]:0|e,\"number\"!=typeof r||r<0?this.shape[2]:0|r,this.stride[0],this.stride[1],this.stride[2],this.offset)},i.lo=function(t,e,r){var i=this.offset,a=0,o=this.shape[0],s=this.shape[1],l=this.shape[2],u=this.stride[0],c=this.stride[1],f=this.stride[2];return\"number\"==typeof t&&t>=0&&(i+=u*(a=0|t),o-=a),\"number\"==typeof e&&e>=0&&(i+=c*(a=0|e),s-=a),\"number\"==typeof r&&r>=0&&(i+=f*(a=0|r),l-=a),new n(this.data,o,s,l,u,c,f,i)},i.step=function(t,e,r){var i=this.shape[0],a=this.shape[1],o=this.shape[2],s=this.stride[0],l=this.stride[1],u=this.stride[2],c=this.offset,f=0,h=Math.ceil;return\"number\"==typeof t&&((f=0|t)<0?(c+=s*(i-1),i=h(-i/f)):i=h(i/f),s*=f),\"number\"==typeof e&&((f=0|e)<0?(c+=l*(a-1),a=h(-a/f)):a=h(a/f),l*=f),\"number\"==typeof r&&((f=0|r)<0?(c+=u*(o-1),o=h(-o/f)):o=h(o/f),u*=f),new n(this.data,i,a,o,s,l,u,c)},i.transpose=function(t,e,r){t=void 0===t?0:0|t,e=void 0===e?1:0|e,r=void 0===r?2:0|r;var i=this.shape,a=this.stride;return new n(this.data,i[t],i[e],i[r],a[t],a[e],a[r],this.offset)},i.pick=function(t,r,n){var i=[],a=[],o=this.offset;return\"number\"==typeof t&&t>=0?o=o+this.stride[0]*t|0:(i.push(this.shape[0]),a.push(this.stride[0])),\"number\"==typeof r&&r>=0?o=o+this.stride[1]*r|0:(i.push(this.shape[1]),a.push(this.stride[1])),\"number\"==typeof n&&n>=0?o=o+this.stride[2]*n|0:(i.push(this.shape[2]),a.push(this.stride[2])),(0,e[i.length+1])(this.data,i,a,o)},function(t,e,r,i){return new n(t,e[0],e[1],e[2],r[0],r[1],r[2],i)}},4:function(t,e,r){function n(t,e,r,n,i,a,o,s,l,u){this.data=t,this.shape=[e,r,n,i],this.stride=[a,o,s,l],this.offset=0|u}var i=n.prototype;return i.dtype=t,i.dimension=4,Object.defineProperty(i,\"size\",{get:function(){return this.shape[0]*this.shape[1]*this.shape[2]*this.shape[3]}}),Object.defineProperty(i,\"order\",{get:r}),i.set=function(e,r,n,i,a){return\"generic\"===t?this.data.set(this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i,a):this.data[this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i]=a},i.get=function(e,r,n,i){return\"generic\"===t?this.data.get(this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i):this.data[this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i]},i.index=function(t,e,r,n){return this.offset+this.stride[0]*t+this.stride[1]*e+this.stride[2]*r+this.stride[3]*n},i.hi=function(t,e,r,i){return new n(this.data,\"number\"!=typeof t||t<0?this.shape[0]:0|t,\"number\"!=typeof e||e<0?this.shape[1]:0|e,\"number\"!=typeof r||r<0?this.shape[2]:0|r,\"number\"!=typeof i||i<0?this.shape[3]:0|i,this.stride[0],this.stride[1],this.stride[2],this.stride[3],this.offset)},i.lo=function(t,e,r,i){var a=this.offset,o=0,s=this.shape[0],l=this.shape[1],u=this.shape[2],c=this.shape[3],f=this.stride[0],h=this.stride[1],p=this.stride[2],d=this.stride[3];return\"number\"==typeof t&&t>=0&&(a+=f*(o=0|t),s-=o),\"number\"==typeof e&&e>=0&&(a+=h*(o=0|e),l-=o),\"number\"==typeof r&&r>=0&&(a+=p*(o=0|r),u-=o),\"number\"==typeof i&&i>=0&&(a+=d*(o=0|i),c-=o),new n(this.data,s,l,u,c,f,h,p,d,a)},i.step=function(t,e,r,i){var a=this.shape[0],o=this.shape[1],s=this.shape[2],l=this.shape[3],u=this.stride[0],c=this.stride[1],f=this.stride[2],h=this.stride[3],p=this.offset,d=0,v=Math.ceil;return\"number\"==typeof t&&((d=0|t)<0?(p+=u*(a-1),a=v(-a/d)):a=v(a/d),u*=d),\"number\"==typeof e&&((d=0|e)<0?(p+=c*(o-1),o=v(-o/d)):o=v(o/d),c*=d),\"number\"==typeof r&&((d=0|r)<0?(p+=f*(s-1),s=v(-s/d)):s=v(s/d),f*=d),\"number\"==typeof i&&((d=0|i)<0?(p+=h*(l-1),l=v(-l/d)):l=v(l/d),h*=d),new n(this.data,a,o,s,l,u,c,f,h,p)},i.transpose=function(t,e,r,i){t=void 0===t?0:0|t,e=void 0===e?1:0|e,r=void 0===r?2:0|r,i=void 0===i?3:0|i;var a=this.shape,o=this.stride;return new n(this.data,a[t],a[e],a[r],a[i],o[t],o[e],o[r],o[i],this.offset)},i.pick=function(t,r,n,i){var a=[],o=[],s=this.offset;return\"number\"==typeof t&&t>=0?s=s+this.stride[0]*t|0:(a.push(this.shape[0]),o.push(this.stride[0])),\"number\"==typeof r&&r>=0?s=s+this.stride[1]*r|0:(a.push(this.shape[1]),o.push(this.stride[1])),\"number\"==typeof n&&n>=0?s=s+this.stride[2]*n|0:(a.push(this.shape[2]),o.push(this.stride[2])),\"number\"==typeof i&&i>=0?s=s+this.stride[3]*i|0:(a.push(this.shape[3]),o.push(this.stride[3])),(0,e[a.length+1])(this.data,a,o,s)},function(t,e,r,i){return new n(t,e[0],e[1],e[2],e[3],r[0],r[1],r[2],r[3],i)}},5:function(t,e,r){function n(t,e,r,n,i,a,o,s,l,u,c,f){this.data=t,this.shape=[e,r,n,i,a],this.stride=[o,s,l,u,c],this.offset=0|f}var i=n.prototype;return i.dtype=t,i.dimension=5,Object.defineProperty(i,\"size\",{get:function(){return this.shape[0]*this.shape[1]*this.shape[2]*this.shape[3]*this.shape[4]}}),Object.defineProperty(i,\"order\",{get:r}),i.set=function(e,r,n,i,a,o){return\"generic\"===t?this.data.set(this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i+this.stride[4]*a,o):this.data[this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i+this.stride[4]*a]=o},i.get=function(e,r,n,i,a){return\"generic\"===t?this.data.get(this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i+this.stride[4]*a):this.data[this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i+this.stride[4]*a]},i.index=function(t,e,r,n,i){return this.offset+this.stride[0]*t+this.stride[1]*e+this.stride[2]*r+this.stride[3]*n+this.stride[4]*i},i.hi=function(t,e,r,i,a){return new n(this.data,\"number\"!=typeof t||t<0?this.shape[0]:0|t,\"number\"!=typeof e||e<0?this.shape[1]:0|e,\"number\"!=typeof r||r<0?this.shape[2]:0|r,\"number\"!=typeof i||i<0?this.shape[3]:0|i,\"number\"!=typeof a||a<0?this.shape[4]:0|a,this.stride[0],this.stride[1],this.stride[2],this.stride[3],this.stride[4],this.offset)},i.lo=function(t,e,r,i,a){var o=this.offset,s=0,l=this.shape[0],u=this.shape[1],c=this.shape[2],f=this.shape[3],h=this.shape[4],p=this.stride[0],d=this.stride[1],v=this.stride[2],g=this.stride[3],y=this.stride[4];return\"number\"==typeof t&&t>=0&&(o+=p*(s=0|t),l-=s),\"number\"==typeof e&&e>=0&&(o+=d*(s=0|e),u-=s),\"number\"==typeof r&&r>=0&&(o+=v*(s=0|r),c-=s),\"number\"==typeof i&&i>=0&&(o+=g*(s=0|i),f-=s),\"number\"==typeof a&&a>=0&&(o+=y*(s=0|a),h-=s),new n(this.data,l,u,c,f,h,p,d,v,g,y,o)},i.step=function(t,e,r,i,a){var o=this.shape[0],s=this.shape[1],l=this.shape[2],u=this.shape[3],c=this.shape[4],f=this.stride[0],h=this.stride[1],p=this.stride[2],d=this.stride[3],v=this.stride[4],g=this.offset,y=0,m=Math.ceil;return\"number\"==typeof t&&((y=0|t)<0?(g+=f*(o-1),o=m(-o/y)):o=m(o/y),f*=y),\"number\"==typeof e&&((y=0|e)<0?(g+=h*(s-1),s=m(-s/y)):s=m(s/y),h*=y),\"number\"==typeof r&&((y=0|r)<0?(g+=p*(l-1),l=m(-l/y)):l=m(l/y),p*=y),\"number\"==typeof i&&((y=0|i)<0?(g+=d*(u-1),u=m(-u/y)):u=m(u/y),d*=y),\"number\"==typeof a&&((y=0|a)<0?(g+=v*(c-1),c=m(-c/y)):c=m(c/y),v*=y),new n(this.data,o,s,l,u,c,f,h,p,d,v,g)},i.transpose=function(t,e,r,i,a){t=void 0===t?0:0|t,e=void 0===e?1:0|e,r=void 0===r?2:0|r,i=void 0===i?3:0|i,a=void 0===a?4:0|a;var o=this.shape,s=this.stride;return new n(this.data,o[t],o[e],o[r],o[i],o[a],s[t],s[e],s[r],s[i],s[a],this.offset)},i.pick=function(t,r,n,i,a){var o=[],s=[],l=this.offset;return\"number\"==typeof t&&t>=0?l=l+this.stride[0]*t|0:(o.push(this.shape[0]),s.push(this.stride[0])),\"number\"==typeof r&&r>=0?l=l+this.stride[1]*r|0:(o.push(this.shape[1]),s.push(this.stride[1])),\"number\"==typeof n&&n>=0?l=l+this.stride[2]*n|0:(o.push(this.shape[2]),s.push(this.stride[2])),\"number\"==typeof i&&i>=0?l=l+this.stride[3]*i|0:(o.push(this.shape[3]),s.push(this.stride[3])),\"number\"==typeof a&&a>=0?l=l+this.stride[4]*a|0:(o.push(this.shape[4]),s.push(this.stride[4])),(0,e[o.length+1])(this.data,o,s,l)},function(t,e,r,i){return new n(t,e[0],e[1],e[2],e[3],e[4],r[0],r[1],r[2],r[3],r[4],i)}}};function l(t,e){var r=-1===e?\"T\":String(e),n=s[r];return-1===e?n(t):0===e?n(t,u[t][0]):n(t,u[t],o)}var u={generic:[],buffer:[],array:[],float32:[],float64:[],int8:[],int16:[],int32:[],uint8_clamped:[],uint8:[],uint16:[],uint32:[],bigint64:[],biguint64:[]};t.exports=function(t,e,r,a){if(void 0===t)return(0,u.array[0])([]);\"number\"==typeof t&&(t=[t]),void 0===e&&(e=[t.length]);var o=e.length;if(void 0===r){r=new Array(o);for(var s=o-1,c=1;s>=0;--s)r[s]=c,c*=e[s]}if(void 0===a)for(a=0,s=0;s>>0;t.exports=function(t,e){if(isNaN(t)||isNaN(e))return NaN;if(t===e)return t;if(0===t)return e<0?-i:i;var r=n.hi(t),o=n.lo(t);return e>t==t>0?o===a?(r+=1,o=0):o+=1:0===o?(o=a,r-=1):o-=1,n.pack(o,r)}},8406:function(t,e){e.vertexNormals=function(t,e,r){for(var n=e.length,i=new Array(n),a=void 0===r?1e-6:r,o=0;oa){var b=i[u],_=1/Math.sqrt(g*m);for(x=0;x<3;++x){var w=(x+1)%3,T=(x+2)%3;b[x]+=_*(y[w]*v[T]-y[T]*v[w])}}}for(o=0;oa)for(_=1/Math.sqrt(k),x=0;x<3;++x)b[x]*=_;else for(x=0;x<3;++x)b[x]=0}return i},e.faceNormals=function(t,e,r){for(var n=t.length,i=new Array(n),a=void 0===r?1e-6:r,o=0;oa?1/Math.sqrt(p):0,u=0;u<3;++u)h[u]*=p;i[o]=h}return i}},4081:function(t){\"use strict\";t.exports=function(t,e,r,n,i,a,o,s,l,u){var c=e+a+u;if(f>0){var f=Math.sqrt(c+1);t[0]=.5*(o-l)/f,t[1]=.5*(s-n)/f,t[2]=.5*(r-a)/f,t[3]=.5*f}else{var h=Math.max(e,a,u);f=Math.sqrt(2*h-c+1),e>=h?(t[0]=.5*f,t[1]=.5*(i+r)/f,t[2]=.5*(s+n)/f,t[3]=.5*(o-l)/f):a>=h?(t[0]=.5*(r+i)/f,t[1]=.5*f,t[2]=.5*(l+o)/f,t[3]=.5*(s-n)/f):(t[0]=.5*(n+s)/f,t[1]=.5*(o+l)/f,t[2]=.5*f,t[3]=.5*(r-i)/f)}return t}},9977:function(t,e,r){\"use strict\";t.exports=function(t){var e=(t=t||{}).center||[0,0,0],r=t.rotation||[0,0,0,1],n=t.radius||1;e=[].slice.call(e,0,3),c(r=[].slice.call(r,0,4),r);var i=new f(r,e,Math.log(n));return i.setDistanceLimits(t.zoomMin,t.zoomMax),(\"eye\"in t||\"up\"in t)&&i.lookAt(0,t.eye,t.center,t.up),i};var n=r(9215),i=r(6582),a=r(7399),o=r(7608),s=r(4081);function l(t,e,r){return Math.sqrt(Math.pow(t,2)+Math.pow(e,2)+Math.pow(r,2))}function u(t,e,r,n){return Math.sqrt(Math.pow(t,2)+Math.pow(e,2)+Math.pow(r,2)+Math.pow(n,2))}function c(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=u(r,n,i,a);o>1e-6?(t[0]=r/o,t[1]=n/o,t[2]=i/o,t[3]=a/o):(t[0]=t[1]=t[2]=0,t[3]=1)}function f(t,e,r){this.radius=n([r]),this.center=n(e),this.rotation=n(t),this.computedRadius=this.radius.curve(0),this.computedCenter=this.center.curve(0),this.computedRotation=this.rotation.curve(0),this.computedUp=[.1,0,0],this.computedEye=[.1,0,0],this.computedMatrix=[.1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],this.recalcMatrix(0)}var h=f.prototype;h.lastT=function(){return Math.max(this.radius.lastT(),this.center.lastT(),this.rotation.lastT())},h.recalcMatrix=function(t){this.radius.curve(t),this.center.curve(t),this.rotation.curve(t);var e=this.computedRotation;c(e,e);var r=this.computedMatrix;a(r,e);var n=this.computedCenter,i=this.computedEye,o=this.computedUp,s=Math.exp(this.computedRadius[0]);i[0]=n[0]+s*r[2],i[1]=n[1]+s*r[6],i[2]=n[2]+s*r[10],o[0]=r[1],o[1]=r[5],o[2]=r[9];for(var l=0;l<3;++l){for(var u=0,f=0;f<3;++f)u+=r[l+4*f]*i[f];r[12+l]=-u}},h.getMatrix=function(t,e){this.recalcMatrix(t);var r=this.computedMatrix;if(e){for(var n=0;n<16;++n)e[n]=r[n];return e}return r},h.idle=function(t){this.center.idle(t),this.radius.idle(t),this.rotation.idle(t)},h.flush=function(t){this.center.flush(t),this.radius.flush(t),this.rotation.flush(t)},h.pan=function(t,e,r,n){e=e||0,r=r||0,n=n||0,this.recalcMatrix(t);var i=this.computedMatrix,a=i[1],o=i[5],s=i[9],u=l(a,o,s);a/=u,o/=u,s/=u;var c=i[0],f=i[4],h=i[8],p=c*a+f*o+h*s,d=l(c-=a*p,f-=o*p,h-=s*p);c/=d,f/=d,h/=d;var v=i[2],g=i[6],y=i[10],m=v*a+g*o+y*s,x=v*c+g*f+y*h,b=l(v-=m*a+x*c,g-=m*o+x*f,y-=m*s+x*h);v/=b,g/=b,y/=b;var _=c*e+a*r,w=f*e+o*r,T=h*e+s*r;this.center.move(t,_,w,T);var k=Math.exp(this.computedRadius[0]);k=Math.max(1e-4,k+n),this.radius.set(t,Math.log(k))},h.rotate=function(t,e,r,n){this.recalcMatrix(t),e=e||0,r=r||0;var i=this.computedMatrix,a=i[0],o=i[4],s=i[8],c=i[1],f=i[5],h=i[9],p=i[2],d=i[6],v=i[10],g=e*a+r*c,y=e*o+r*f,m=e*s+r*h,x=-(d*m-v*y),b=-(v*g-p*m),_=-(p*y-d*g),w=Math.sqrt(Math.max(0,1-Math.pow(x,2)-Math.pow(b,2)-Math.pow(_,2))),T=u(x,b,_,w);T>1e-6?(x/=T,b/=T,_/=T,w/=T):(x=b=_=0,w=1);var k=this.computedRotation,A=k[0],M=k[1],S=k[2],E=k[3],L=A*w+E*x+M*_-S*b,C=M*w+E*b+S*x-A*_,P=S*w+E*_+A*b-M*x,O=E*w-A*x-M*b-S*_;if(n){x=p,b=d,_=v;var I=Math.sin(n)/l(x,b,_);x*=I,b*=I,_*=I,O=O*(w=Math.cos(e))-(L=L*w+O*x+C*_-P*b)*x-(C=C*w+O*b+P*x-L*_)*b-(P=P*w+O*_+L*b-C*x)*_}var z=u(L,C,P,O);z>1e-6?(L/=z,C/=z,P/=z,O/=z):(L=C=P=0,O=1),this.rotation.set(t,L,C,P,O)},h.lookAt=function(t,e,r,n){this.recalcMatrix(t),r=r||this.computedCenter,e=e||this.computedEye,n=n||this.computedUp;var a=this.computedMatrix;i(a,e,r,n);var o=this.computedRotation;s(o,a[0],a[1],a[2],a[4],a[5],a[6],a[8],a[9],a[10]),c(o,o),this.rotation.set(t,o[0],o[1],o[2],o[3]);for(var l=0,u=0;u<3;++u)l+=Math.pow(r[u]-e[u],2);this.radius.set(t,.5*Math.log(Math.max(l,1e-6))),this.center.set(t,r[0],r[1],r[2])},h.translate=function(t,e,r,n){this.center.move(t,e||0,r||0,n||0)},h.setMatrix=function(t,e){var r=this.computedRotation;s(r,e[0],e[1],e[2],e[4],e[5],e[6],e[8],e[9],e[10]),c(r,r),this.rotation.set(t,r[0],r[1],r[2],r[3]);var n=this.computedMatrix;o(n,e);var i=n[15];if(Math.abs(i)>1e-6){var a=n[12]/i,l=n[13]/i,u=n[14]/i;this.recalcMatrix(t);var f=Math.exp(this.computedRadius[0]);this.center.set(t,a-n[2]*f,l-n[6]*f,u-n[10]*f),this.radius.idle(t)}else this.center.idle(t),this.radius.idle(t)},h.setDistance=function(t,e){e>0&&this.radius.set(t,Math.log(e))},h.setDistanceLimits=function(t,e){t=t>0?Math.log(t):-1/0,e=e>0?Math.log(e):1/0,e=Math.max(e,t),this.radius.bounds[0][0]=t,this.radius.bounds[1][0]=e},h.getDistanceLimits=function(t){var e=this.radius.bounds;return t?(t[0]=Math.exp(e[0][0]),t[1]=Math.exp(e[1][0]),t):[Math.exp(e[0][0]),Math.exp(e[1][0])]},h.toJSON=function(){return this.recalcMatrix(this.lastT()),{center:this.computedCenter.slice(),rotation:this.computedRotation.slice(),distance:Math.log(this.computedRadius[0]),zoomMin:this.radius.bounds[0][0],zoomMax:this.radius.bounds[1][0]}},h.fromJSON=function(t){var e=this.lastT(),r=t.center;r&&this.center.set(e,r[0],r[1],r[2]);var n=t.rotation;n&&this.rotation.set(e,n[0],n[1],n[2],n[3]);var i=t.distance;i&&i>0&&this.radius.set(e,Math.log(i)),this.setDistanceLimits(t.zoomMin,t.zoomMax)}},1371:function(t,e,r){\"use strict\";var n=r(3233);t.exports=function(t,e,r){return n(r=void 0!==r?r+\"\":\" \",e)+t}},3202:function(t){t.exports=function(t,e){e||(e=[0,\"\"]),t=String(t);var r=parseFloat(t,10);return e[0]=r,e[1]=t.match(/[\\d.\\-\\+]*\\s*(.*)/)[1]||\"\",e}},3088:function(t,e,r){\"use strict\";t.exports=function(t,e){for(var r=0|e.length,i=t.length,a=[new Array(r),new Array(r)],o=0;o0){o=a[c][r][0],l=c;break}s=o[1^l];for(var f=0;f<2;++f)for(var h=a[f][r],p=0;p0&&(o=d,s=v,l=f)}return i||o&&u(o,l),s}function f(t,r){var i=a[r][t][0],o=[t];u(i,r);for(var s=i[1^r];;){for(;s!==t;)o.push(s),s=c(o[o.length-2],s,!1);if(a[0][t].length+a[1][t].length===0)break;var l=o[o.length-1],f=t,h=o[1],p=c(l,f,!0);if(n(e[l],e[f],e[h],e[p])<0)break;o.push(t),s=c(l,f)}return o}function h(t,e){return e[1]===e[e.length-1]}for(o=0;o0;){a[0][o].length;var v=f(o,p);h(0,v)?d.push.apply(d,v):(d.length>0&&l.push(d),d=v)}d.length>0&&l.push(d)}return l};var n=r(3140)},5609:function(t,e,r){\"use strict\";t.exports=function(t,e){for(var r=n(t,e.length),i=new Array(e.length),a=new Array(e.length),o=[],s=0;s0;){i[p=o.pop()]=!1;var u=r[p];for(s=0;s0}))).length,g=new Array(v),y=new Array(v);for(p=0;p0;){var B=R.pop(),N=E[B];l(N,(function(t,e){return t-e}));var j,U=N.length,V=F[B];for(0===V&&(j=[q=d[B]]),p=0;p=0||(F[H]=1^V,R.push(H),0===V&&(D(q=d[H])||(q.reverse(),j.push(q))))}0===V&&r.push(j)}return r};var n=r(3134),i=r(3088),a=r(5085),o=r(5250),s=r(8210),l=r(1682),u=r(5609);function c(t,e){for(var r=new Array(t),n=0;n0&&e[i]===r[0]))return 1;a=t[i-1]}for(var s=1;a;){var l=a.key,u=n(r,l[0],l[1]);if(l[0][0]0))return 0;s=-1,a=a.right}else if(u>0)a=a.left;else{if(!(u<0))return 0;s=1,a=a.right}}return s}}(y.slabs,y.coordinates);return 0===a.length?m:function(t,e){return function(r){return t(r[0],r[1])?0:e(r)}}(l(a),m)};var n=r(3250)[3],i=r(4209),a=r(3352),o=r(2478);function s(){return!0}function l(t){for(var e={},r=0;r=u?(k=1,m=u+2*h+d):m=h*(k=-h/u)+d):(k=0,p>=0?(A=0,m=d):-p>=f?(A=1,m=f+2*p+d):m=p*(A=-p/f)+d);else if(A<0)A=0,h>=0?(k=0,m=d):-h>=u?(k=1,m=u+2*h+d):m=h*(k=-h/u)+d;else{var M=1/T;m=(k*=M)*(u*k+c*(A*=M)+2*h)+A*(c*k+f*A+2*p)+d}else k<0?(b=f+p)>(x=c+h)?(_=b-x)>=(w=u-2*c+f)?(k=1,A=0,m=u+2*h+d):m=(k=_/w)*(u*k+c*(A=1-k)+2*h)+A*(c*k+f*A+2*p)+d:(k=0,b<=0?(A=1,m=f+2*p+d):p>=0?(A=0,m=d):m=p*(A=-p/f)+d):A<0?(b=u+h)>(x=c+p)?(_=b-x)>=(w=u-2*c+f)?(A=1,k=0,m=f+2*p+d):m=(k=1-(A=_/w))*(u*k+c*A+2*h)+A*(c*k+f*A+2*p)+d:(A=0,b<=0?(k=1,m=u+2*h+d):h>=0?(k=0,m=d):m=h*(k=-h/u)+d):(_=f+p-c-h)<=0?(k=0,A=1,m=f+2*p+d):_>=(w=u-2*c+f)?(k=1,A=0,m=u+2*h+d):m=(k=_/w)*(u*k+c*(A=1-k)+2*h)+A*(c*k+f*A+2*p)+d;var S=1-k-A;for(l=0;l0){var u=t[r-1];if(0===n(s,u)&&a(u)!==l){r-=1;continue}}t[r++]=s}}return t.length=r,t}},3233:function(t){\"use strict\";var e,r=\"\";t.exports=function(t,n){if(\"string\"!=typeof t)throw new TypeError(\"expected a string\");if(1===n)return t;if(2===n)return t+t;var i=t.length*n;if(e!==t||void 0===e)e=t,r=\"\";else if(r.length>=i)return r.substr(0,i);for(;i>r.length&&n>1;)1&n&&(r+=t),n>>=1,t+=t;return r=(r+=t).substr(0,i)}},3025:function(t,e,r){t.exports=r.g.performance&&r.g.performance.now?function(){return performance.now()}:Date.now||function(){return+new Date}},7004:function(t){\"use strict\";t.exports=function(t){for(var e=t.length,r=t[t.length-1],n=e,i=e-2;i>=0;--i){var a=r;(l=(s=t[i])-((r=a+s)-a))&&(t[--n]=r,r=l)}var o=0;for(i=n;i0){if(a<=0)return o;n=i+a}else{if(!(i<0))return o;if(a>=0)return o;n=-(i+a)}var s=33306690738754716e-32*n;return o>=s||o<=-s?o:f(t,e,r)},function(t,e,r,n){var i=t[0]-n[0],a=e[0]-n[0],o=r[0]-n[0],s=t[1]-n[1],l=e[1]-n[1],u=r[1]-n[1],c=t[2]-n[2],f=e[2]-n[2],p=r[2]-n[2],d=a*u,v=o*l,g=o*s,y=i*u,m=i*l,x=a*s,b=c*(d-v)+f*(g-y)+p*(m-x),_=7771561172376103e-31*((Math.abs(d)+Math.abs(v))*Math.abs(c)+(Math.abs(g)+Math.abs(y))*Math.abs(f)+(Math.abs(m)+Math.abs(x))*Math.abs(p));return b>_||-b>_?b:h(t,e,r,n)}];function d(t){var e=p[t.length];return e||(e=p[t.length]=c(t.length)),e.apply(void 0,t)}function v(t,e,r,n,i,a,o){return function(e,r,s,l,u){switch(arguments.length){case 0:case 1:return 0;case 2:return n(e,r);case 3:return i(e,r,s);case 4:return a(e,r,s,l);case 5:return o(e,r,s,l,u)}for(var c=new Array(arguments.length),f=0;f0&&o>0||a<0&&o<0)return!1;var s=n(r,t,e),l=n(i,t,e);return!(s>0&&l>0||s<0&&l<0)&&(0!==a||0!==o||0!==s||0!==l||function(t,e,r,n){for(var i=0;i<2;++i){var a=t[i],o=e[i],s=Math.min(a,o),l=Math.max(a,o),u=r[i],c=n[i],f=Math.min(u,c);if(Math.max(u,c)=n?(i=f,(l+=1)=n?(i=f,(l+=1)>1,u=e[2*l+1];if(u===a)return l;a>1,u=e[2*l+1];if(u===a)return l;a>1,u=e[2*l+1];if(u===a)return l;a0)-(t<0)},e.abs=function(t){var e=t>>31;return(t^e)-e},e.min=function(t,e){return e^(t^e)&-(t65535)<<4,e|=r=((t>>>=e)>255)<<3,e|=r=((t>>>=r)>15)<<2,(e|=r=((t>>>=r)>3)<<1)|(t>>>=r)>>1},e.log10=function(t){return t>=1e9?9:t>=1e8?8:t>=1e7?7:t>=1e6?6:t>=1e5?5:t>=1e4?4:t>=1e3?3:t>=100?2:t>=10?1:0},e.popCount=function(t){return 16843009*((t=(858993459&(t-=t>>>1&1431655765))+(t>>>2&858993459))+(t>>>4)&252645135)>>>24},e.countTrailingZeros=r,e.nextPow2=function(t){return t+=0===t,--t,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,1+(t|=t>>>16)},e.prevPow2=function(t){return t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)-(t>>>1)},e.parity=function(t){return t^=t>>>16,t^=t>>>8,t^=t>>>4,27030>>>(t&=15)&1};var n=new Array(256);!function(t){for(var e=0;e<256;++e){var r=e,n=e,i=7;for(r>>>=1;r;r>>>=1)n<<=1,n|=1&r,--i;t[e]=n<>>8&255]<<16|n[t>>>16&255]<<8|n[t>>>24&255]},e.interleave2=function(t,e){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t&=65535)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e&=65535)|e<<8))|e<<4))|e<<2))|e<<1))<<1},e.deinterleave2=function(t,e){return(t=65535&((t=16711935&((t=252645135&((t=858993459&((t=t>>>e&1431655765)|t>>>1))|t>>>2))|t>>>4))|t>>>16))<<16>>16},e.interleave3=function(t,e,r){return t=1227133513&((t=3272356035&((t=251719695&((t=4278190335&((t&=1023)|t<<16))|t<<8))|t<<4))|t<<2),(t|=(e=1227133513&((e=3272356035&((e=251719695&((e=4278190335&((e&=1023)|e<<16))|e<<8))|e<<4))|e<<2))<<1)|(r=1227133513&((r=3272356035&((r=251719695&((r=4278190335&((r&=1023)|r<<16))|r<<8))|r<<4))|r<<2))<<2},e.deinterleave3=function(t,e){return(t=1023&((t=4278190335&((t=251719695&((t=3272356035&((t=t>>>e&1227133513)|t>>>2))|t>>>4))|t>>>8))|t>>>16))<<22>>22},e.nextCombination=function(t){var e=t|t-1;return e+1|(~e&-~e)-1>>>r(t)+1}},2014:function(t,e,r){\"use strict\";var n=r(3105),i=r(4623);function a(t,e){var r=t.length,n=t.length-e.length,i=Math.min;if(n)return n;switch(r){case 0:return 0;case 1:return t[0]-e[0];case 2:return(s=t[0]+t[1]-e[0]-e[1])||i(t[0],t[1])-i(e[0],e[1]);case 3:var a=t[0]+t[1],o=e[0]+e[1];if(s=a+t[2]-(o+e[2]))return s;var s,l=i(t[0],t[1]),u=i(e[0],e[1]);return(s=i(l,t[2])-i(u,e[2]))||i(l+t[2],a)-i(u+e[2],o);default:var c=t.slice(0);c.sort();var f=e.slice(0);f.sort();for(var h=0;h>1,s=a(t[o],e);s<=0?(0===s&&(i=o),r=o+1):s>0&&(n=o-1)}return i}function c(t,e){for(var r=new Array(t.length),i=0,o=r.length;i=t.length||0!==a(t[g],s)););}return r}function f(t,e){if(e<0)return[];for(var r=[],i=(1<>>c&1&&u.push(i[c]);e.push(u)}return s(e)},e.skeleton=f,e.boundary=function(t){for(var e=[],r=0,n=t.length;r>1:(t>>1)-1}function x(t){for(var e=y(t);;){var r=e,n=2*t+1,i=2*(t+1),a=t;if(n0;){var r=m(t);if(!(r>=0&&e0){var t=k[0];return g(0,M-1),M-=1,x(0),t}return-1}function w(t,e){var r=k[t];return u[r]===e?t:(u[r]=-1/0,b(t),_(),u[r]=e,b((M+=1)-1))}function T(t){if(!c[t]){c[t]=!0;var e=s[t],r=l[t];s[r]>=0&&(s[r]=e),l[e]>=0&&(l[e]=r),A[e]>=0&&w(A[e],v(e)),A[r]>=0&&w(A[r],v(r))}}var k=[],A=new Array(a);for(f=0;f>1;f>=0;--f)x(f);for(;;){var S=_();if(S<0||u[S]>r)break;T(S)}var E=[];for(f=0;f=0&&r>=0&&e!==r){var n=A[e],i=A[r];n!==i&&C.push([n,i])}})),i.unique(i.normalize(C)),{positions:E,edges:C}};var n=r(3250),i=r(2014)},1303:function(t,e,r){\"use strict\";t.exports=function(t,e){var r,a,o,s;if(e[0][0]e[1][0]))return i(e,t);r=e[1],a=e[0]}if(t[0][0]t[1][0]))return-i(t,e);o=t[1],s=t[0]}var l=n(r,a,s),u=n(r,a,o);if(l<0){if(u<=0)return l}else if(l>0){if(u>=0)return l}else if(u)return u;if(l=n(s,o,a),u=n(s,o,r),l<0){if(u<=0)return l}else if(l>0){if(u>=0)return l}else if(u)return u;return a[0]-s[0]};var n=r(3250);function i(t,e){var r,i,a,o;if(e[0][0]e[1][0])){var s=Math.min(t[0][1],t[1][1]),l=Math.max(t[0][1],t[1][1]),u=Math.min(e[0][1],e[1][1]),c=Math.max(e[0][1],e[1][1]);return lc?s-c:l-c}r=e[1],i=e[0]}t[0][1]0)if(e[0]!==o[1][0])r=t,t=t.right;else{if(l=u(t.right,e))return l;t=t.left}else{if(e[0]!==o[1][0])return t;var l;if(l=u(t.right,e))return l;t=t.left}}return r}function c(t,e,r,n){this.y=t,this.index=e,this.start=r,this.closed=n}function f(t,e,r,n){this.x=t,this.segment=e,this.create=r,this.index=n}s.prototype.castUp=function(t){var e=n.le(this.coordinates,t[0]);if(e<0)return-1;this.slabs[e];var r=u(this.slabs[e],t),i=-1;if(r&&(i=r.value),this.coordinates[e]===t[0]){var s=null;if(r&&(s=r.key),e>0){var c=u(this.slabs[e-1],t);c&&(s?o(c.key,s)>0&&(s=c.key,i=c.value):(i=c.value,s=c.key))}var f=this.horizontal[e];if(f.length>0){var h=n.ge(f,t[1],l);if(h=f.length)return i;p=f[h]}}if(p.start)if(s){var d=a(s[0],s[1],[t[0],p.y]);s[0][0]>s[1][0]&&(d=-d),d>0&&(i=p.index)}else i=p.index;else p.y!==t[1]&&(i=p.index)}}}return i}},5202:function(t,e,r){\"use strict\";var n=r(1944),i=r(8210);function a(t,e){var r=i(n(t,e),[e[e.length-1]]);return r[r.length-1]}function o(t,e,r,n){var i=-e/(n-e);i<0?i=0:i>1&&(i=1);for(var a=1-i,o=t.length,s=new Array(o),l=0;l0||i>0&&c<0){var f=o(s,c,l,i);r.push(f),n.push(f.slice())}c<0?n.push(l.slice()):c>0?r.push(l.slice()):(r.push(l.slice()),n.push(l.slice())),i=c}return{positive:r,negative:n}},t.exports.positive=function(t,e){for(var r=[],n=a(t[t.length-1],e),i=t[t.length-1],s=t[0],l=0;l0||n>0&&u<0)&&r.push(o(i,u,s,n)),u>=0&&r.push(s.slice()),n=u}return r},t.exports.negative=function(t,e){for(var r=[],n=a(t[t.length-1],e),i=t[t.length-1],s=t[0],l=0;l0||n>0&&u<0)&&r.push(o(i,u,s,n)),u<=0&&r.push(s.slice()),n=u}return r}},3387:function(t,e,r){var n;!function(){\"use strict\";var i={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\\x25]+/,modulo:/^\\x25{2}/,placeholder:/^\\x25(?:([1-9]\\d*)\\$|\\(([^)]+)\\))?(\\+)?(0|'[^$])?(-)?(\\d+)?(?:\\.(\\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\\d]*)/i,key_access:/^\\.([a-z_][a-z_\\d]*)/i,index_access:/^\\[(\\d+)\\]/,sign:/^[+-]/};function a(t){return function(t,e){var r,n,o,s,l,u,c,f,h,p=1,d=t.length,v=\"\";for(n=0;n=0),s.type){case\"b\":r=parseInt(r,10).toString(2);break;case\"c\":r=String.fromCharCode(parseInt(r,10));break;case\"d\":case\"i\":r=parseInt(r,10);break;case\"j\":r=JSON.stringify(r,null,s.width?parseInt(s.width):0);break;case\"e\":r=s.precision?parseFloat(r).toExponential(s.precision):parseFloat(r).toExponential();break;case\"f\":r=s.precision?parseFloat(r).toFixed(s.precision):parseFloat(r);break;case\"g\":r=s.precision?String(Number(r.toPrecision(s.precision))):parseFloat(r);break;case\"o\":r=(parseInt(r,10)>>>0).toString(8);break;case\"s\":r=String(r),r=s.precision?r.substring(0,s.precision):r;break;case\"t\":r=String(!!r),r=s.precision?r.substring(0,s.precision):r;break;case\"T\":r=Object.prototype.toString.call(r).slice(8,-1).toLowerCase(),r=s.precision?r.substring(0,s.precision):r;break;case\"u\":r=parseInt(r,10)>>>0;break;case\"v\":r=r.valueOf(),r=s.precision?r.substring(0,s.precision):r;break;case\"x\":r=(parseInt(r,10)>>>0).toString(16);break;case\"X\":r=(parseInt(r,10)>>>0).toString(16).toUpperCase()}i.json.test(s.type)?v+=r:(!i.number.test(s.type)||f&&!s.sign?h=\"\":(h=f?\"+\":\"-\",r=r.toString().replace(i.sign,\"\")),u=s.pad_char?\"0\"===s.pad_char?\"0\":s.pad_char.charAt(1):\" \",c=s.width-(h+r).length,l=s.width&&c>0?u.repeat(c):\"\",v+=s.align?h+r+l:\"0\"===u?h+l+r:l+h+r)}return v}(function(t){if(s[t])return s[t];for(var e,r=t,n=[],a=0;r;){if(null!==(e=i.text.exec(r)))n.push(e[0]);else if(null!==(e=i.modulo.exec(r)))n.push(\"%\");else{if(null===(e=i.placeholder.exec(r)))throw new SyntaxError(\"[sprintf] unexpected placeholder\");if(e[2]){a|=1;var o=[],l=e[2],u=[];if(null===(u=i.key.exec(l)))throw new SyntaxError(\"[sprintf] failed to parse named argument key\");for(o.push(u[1]);\"\"!==(l=l.substring(u[0].length));)if(null!==(u=i.key_access.exec(l)))o.push(u[1]);else{if(null===(u=i.index_access.exec(l)))throw new SyntaxError(\"[sprintf] failed to parse named argument key\");o.push(u[1])}e[2]=o}else a|=2;if(3===a)throw new Error(\"[sprintf] mixing positional and named placeholders is not (yet) supported\");n.push({placeholder:e[0],param_no:e[1],keys:e[2],sign:e[3],pad_char:e[4],align:e[5],width:e[6],precision:e[7],type:e[8]})}r=r.substring(e[0].length)}return s[t]=n}(t),arguments)}function o(t,e){return a.apply(null,[t].concat(e||[]))}var s=Object.create(null);e.sprintf=a,e.vsprintf=o,\"undefined\"!=typeof window&&(window.sprintf=a,window.vsprintf=o,void 0===(n=function(){return{sprintf:a,vsprintf:o}}.call(e,r,e,t))||(t.exports=n))}()},3711:function(t,e,r){\"use strict\";t.exports=function(t,e){if(t.dimension<=0)return{positions:[],cells:[]};if(1===t.dimension)return function(t,e){for(var r=i(t,e),n=r.length,a=new Array(n),o=new Array(n),s=0;sn|0},vertex:function(t,e,r,n,i,a,o,s,l,u,c,f,h){var p=(o<<0)+(s<<1)+(l<<2)+(u<<3)|0;if(0!==p&&15!==p)switch(p){case 0:case 15:c.push([t-.5,e-.5]);break;case 1:c.push([t-.25-.25*(n+r-2*h)/(r-n),e-.25-.25*(i+r-2*h)/(r-i)]);break;case 2:c.push([t-.75-.25*(-n-r+2*h)/(n-r),e-.25-.25*(a+n-2*h)/(n-a)]);break;case 3:c.push([t-.5,e-.5-.5*(i+r+a+n-4*h)/(r-i+n-a)]);break;case 4:c.push([t-.25-.25*(a+i-2*h)/(i-a),e-.75-.25*(-i-r+2*h)/(i-r)]);break;case 5:c.push([t-.5-.5*(n+r+a+i-4*h)/(r-n+i-a),e-.5]);break;case 6:c.push([t-.5-.25*(-n-r+a+i)/(n-r+i-a),e-.5-.25*(-i-r+a+n)/(i-r+n-a)]);break;case 7:c.push([t-.75-.25*(a+i-2*h)/(i-a),e-.75-.25*(a+n-2*h)/(n-a)]);break;case 8:c.push([t-.75-.25*(-a-i+2*h)/(a-i),e-.75-.25*(-a-n+2*h)/(a-n)]);break;case 9:c.push([t-.5-.25*(n+r+-a-i)/(r-n+a-i),e-.5-.25*(i+r+-a-n)/(r-i+a-n)]);break;case 10:c.push([t-.5-.5*(-n-r-a-i+4*h)/(n-r+a-i),e-.5]);break;case 11:c.push([t-.25-.25*(-a-i+2*h)/(a-i),e-.75-.25*(i+r-2*h)/(r-i)]);break;case 12:c.push([t-.5,e-.5-.5*(-i-r-a-n+4*h)/(i-r+a-n)]);break;case 13:c.push([t-.75-.25*(n+r-2*h)/(r-n),e-.25-.25*(-a-n+2*h)/(a-n)]);break;case 14:c.push([t-.25-.25*(-n-r+2*h)/(n-r),e-.25-.25*(-i-r+2*h)/(i-r)])}},cell:function(t,e,r,n,i,a,o,s,l){i?s.push([t,e]):s.push([e,t])}});return function(t,e){var r=[],i=[];return n(t,r,i,e),{positions:r,cells:i}}}},o={}},529:function(t,e,r){\"use strict\";t.exports=function t(e,r,n){var a=(n=n||{}).fontStyle||\"normal\",s=n.fontWeight||\"normal\",l=n.fontVariant||\"normal\",u=[a,s,l,e].join(\"_\"),c=o[u];c||(c=o[u]={\" \":{data:new Float32Array(0),shape:.2}});var f=c[r];if(!f)if(r.length<=1||!/\\d/.test(r))f=c[r]=function(t){for(var e=t.cells,r=t.positions,n=new Float32Array(6*e.length),i=0,a=0,o=0;o0&&(v+=.02);var y=new Float32Array(d),m=0,x=-.5*v;for(g=0;gMath.max(r,n)?i[2]=1:r>Math.max(e,n)?i[0]=1:i[1]=1;for(var a=0,o=0,l=0;l<3;++l)a+=t[l]*t[l],o+=i[l]*t[l];for(l=0;l<3;++l)i[l]-=o/a*t[l];return s(i,i),i}function h(t,e,r,i,a,o,s,l){this.center=n(r),this.up=n(i),this.right=n(a),this.radius=n([o]),this.angle=n([s,l]),this.angle.bounds=[[-1/0,-Math.PI/2],[1/0,Math.PI/2]],this.setDistanceLimits(t,e),this.computedCenter=this.center.curve(0),this.computedUp=this.up.curve(0),this.computedRight=this.right.curve(0),this.computedRadius=this.radius.curve(0),this.computedAngle=this.angle.curve(0),this.computedToward=[0,0,0],this.computedEye=[0,0,0],this.computedMatrix=new Array(16);for(var u=0;u<16;++u)this.computedMatrix[u]=.5;this.recalcMatrix(0)}var p=h.prototype;p.setDistanceLimits=function(t,e){t=t>0?Math.log(t):-1/0,e=e>0?Math.log(e):1/0,e=Math.max(e,t),this.radius.bounds[0][0]=t,this.radius.bounds[1][0]=e},p.getDistanceLimits=function(t){var e=this.radius.bounds[0];return t?(t[0]=Math.exp(e[0][0]),t[1]=Math.exp(e[1][0]),t):[Math.exp(e[0][0]),Math.exp(e[1][0])]},p.recalcMatrix=function(t){this.center.curve(t),this.up.curve(t),this.right.curve(t),this.radius.curve(t),this.angle.curve(t);for(var e=this.computedUp,r=this.computedRight,n=0,i=0,a=0;a<3;++a)i+=e[a]*r[a],n+=e[a]*e[a];var l=Math.sqrt(n),c=0;for(a=0;a<3;++a)r[a]-=e[a]*i/n,c+=r[a]*r[a],e[a]/=l;var f=Math.sqrt(c);for(a=0;a<3;++a)r[a]/=f;var h=this.computedToward;o(h,e,r),s(h,h);var p=Math.exp(this.computedRadius[0]),d=this.computedAngle[0],v=this.computedAngle[1],g=Math.cos(d),y=Math.sin(d),m=Math.cos(v),x=Math.sin(v),b=this.computedCenter,_=g*m,w=y*m,T=x,k=-g*x,A=-y*x,M=m,S=this.computedEye,E=this.computedMatrix;for(a=0;a<3;++a){var L=_*r[a]+w*h[a]+T*e[a];E[4*a+1]=k*r[a]+A*h[a]+M*e[a],E[4*a+2]=L,E[4*a+3]=0}var C=E[1],P=E[5],O=E[9],I=E[2],z=E[6],D=E[10],R=P*D-O*z,F=O*I-C*D,B=C*z-P*I,N=u(R,F,B);for(R/=N,F/=N,B/=N,E[0]=R,E[4]=F,E[8]=B,a=0;a<3;++a)S[a]=b[a]+E[2+4*a]*p;for(a=0;a<3;++a){c=0;for(var j=0;j<3;++j)c+=E[a+4*j]*S[j];E[12+a]=-c}E[15]=1},p.getMatrix=function(t,e){this.recalcMatrix(t);var r=this.computedMatrix;if(e){for(var n=0;n<16;++n)e[n]=r[n];return e}return r};var d=[0,0,0];p.rotate=function(t,e,r,n){if(this.angle.move(t,e,r),n){this.recalcMatrix(t);var i=this.computedMatrix;d[0]=i[2],d[1]=i[6],d[2]=i[10];for(var o=this.computedUp,s=this.computedRight,l=this.computedToward,u=0;u<3;++u)i[4*u]=o[u],i[4*u+1]=s[u],i[4*u+2]=l[u];for(a(i,i,n,d),u=0;u<3;++u)o[u]=i[4*u],s[u]=i[4*u+1];this.up.set(t,o[0],o[1],o[2]),this.right.set(t,s[0],s[1],s[2])}},p.pan=function(t,e,r,n){e=e||0,r=r||0,n=n||0,this.recalcMatrix(t);var i=this.computedMatrix,a=(Math.exp(this.computedRadius[0]),i[1]),o=i[5],s=i[9],l=u(a,o,s);a/=l,o/=l,s/=l;var c=i[0],f=i[4],h=i[8],p=c*a+f*o+h*s,d=u(c-=a*p,f-=o*p,h-=s*p),v=(c/=d)*e+a*r,g=(f/=d)*e+o*r,y=(h/=d)*e+s*r;this.center.move(t,v,g,y);var m=Math.exp(this.computedRadius[0]);m=Math.max(1e-4,m+n),this.radius.set(t,Math.log(m))},p.translate=function(t,e,r,n){this.center.move(t,e||0,r||0,n||0)},p.setMatrix=function(t,e,r,n){var a=1;\"number\"==typeof r&&(a=0|r),(a<0||a>3)&&(a=1);var o=(a+2)%3;e||(this.recalcMatrix(t),e=this.computedMatrix);var s=e[a],l=e[a+4],f=e[a+8];if(n){var h=Math.abs(s),p=Math.abs(l),d=Math.abs(f),v=Math.max(h,p,d);h===v?(s=s<0?-1:1,l=f=0):d===v?(f=f<0?-1:1,s=l=0):(l=l<0?-1:1,s=f=0)}else{var g=u(s,l,f);s/=g,l/=g,f/=g}var y,m,x=e[o],b=e[o+4],_=e[o+8],w=x*s+b*l+_*f,T=u(x-=s*w,b-=l*w,_-=f*w),k=l*(_/=T)-f*(b/=T),A=f*(x/=T)-s*_,M=s*b-l*x,S=u(k,A,M);if(k/=S,A/=S,M/=S,this.center.jump(t,H,G,W),this.radius.idle(t),this.up.jump(t,s,l,f),this.right.jump(t,x,b,_),2===a){var E=e[1],L=e[5],C=e[9],P=E*x+L*b+C*_,O=E*k+L*A+C*M;y=R<0?-Math.PI/2:Math.PI/2,m=Math.atan2(O,P)}else{var I=e[2],z=e[6],D=e[10],R=I*s+z*l+D*f,F=I*x+z*b+D*_,B=I*k+z*A+D*M;y=Math.asin(c(R)),m=Math.atan2(B,F)}this.angle.jump(t,m,y),this.recalcMatrix(t);var N=e[2],j=e[6],U=e[10],V=this.computedMatrix;i(V,e);var q=V[15],H=V[12]/q,G=V[13]/q,W=V[14]/q,Y=Math.exp(this.computedRadius[0]);this.center.jump(t,H-N*Y,G-j*Y,W-U*Y)},p.lastT=function(){return Math.max(this.center.lastT(),this.up.lastT(),this.right.lastT(),this.radius.lastT(),this.angle.lastT())},p.idle=function(t){this.center.idle(t),this.up.idle(t),this.right.idle(t),this.radius.idle(t),this.angle.idle(t)},p.flush=function(t){this.center.flush(t),this.up.flush(t),this.right.flush(t),this.radius.flush(t),this.angle.flush(t)},p.setDistance=function(t,e){e>0&&this.radius.set(t,Math.log(e))},p.lookAt=function(t,e,r,n){this.recalcMatrix(t),e=e||this.computedEye,r=r||this.computedCenter;var i=(n=n||this.computedUp)[0],a=n[1],o=n[2],s=u(i,a,o);if(!(s<1e-6)){i/=s,a/=s,o/=s;var l=e[0]-r[0],f=e[1]-r[1],h=e[2]-r[2],p=u(l,f,h);if(!(p<1e-6)){l/=p,f/=p,h/=p;var d=this.computedRight,v=d[0],g=d[1],y=d[2],m=i*v+a*g+o*y,x=u(v-=m*i,g-=m*a,y-=m*o);if(!(x<.01&&(x=u(v=a*h-o*f,g=o*l-i*h,y=i*f-a*l))<1e-6)){v/=x,g/=x,y/=x,this.up.set(t,i,a,o),this.right.set(t,v,g,y),this.center.set(t,r[0],r[1],r[2]),this.radius.set(t,Math.log(p));var b=a*y-o*g,_=o*v-i*y,w=i*g-a*v,T=u(b,_,w),k=i*l+a*f+o*h,A=v*l+g*f+y*h,M=(b/=T)*l+(_/=T)*f+(w/=T)*h,S=Math.asin(c(k)),E=Math.atan2(M,A),L=this.angle._state,C=L[L.length-1],P=L[L.length-2];C%=2*Math.PI;var O=Math.abs(C+2*Math.PI-E),I=Math.abs(C-E),z=Math.abs(C-2*Math.PI-E);O0?r.pop():new ArrayBuffer(t)}function d(t){return new Uint8Array(p(t),0,t)}function v(t){return new Uint16Array(p(2*t),0,t)}function g(t){return new Uint32Array(p(4*t),0,t)}function y(t){return new Int8Array(p(t),0,t)}function m(t){return new Int16Array(p(2*t),0,t)}function x(t){return new Int32Array(p(4*t),0,t)}function b(t){return new Float32Array(p(4*t),0,t)}function _(t){return new Float64Array(p(8*t),0,t)}function w(t){return o?new Uint8ClampedArray(p(t),0,t):d(t)}function T(t){return s?new BigUint64Array(p(8*t),0,t):null}function k(t){return l?new BigInt64Array(p(8*t),0,t):null}function A(t){return new DataView(p(t),0,t)}function M(t){t=n.nextPow2(t);var e=n.log2(t),r=f[e];return r.length>0?r.pop():new a(t)}e.free=function(t){if(a.isBuffer(t))f[n.log2(t.length)].push(t);else{if(\"[object ArrayBuffer]\"!==Object.prototype.toString.call(t)&&(t=t.buffer),!t)return;var e=t.length||t.byteLength,r=0|n.log2(e);c[r].push(t)}},e.freeUint8=e.freeUint16=e.freeUint32=e.freeBigUint64=e.freeInt8=e.freeInt16=e.freeInt32=e.freeBigInt64=e.freeFloat32=e.freeFloat=e.freeFloat64=e.freeDouble=e.freeUint8Clamped=e.freeDataView=function(t){h(t.buffer)},e.freeArrayBuffer=h,e.freeBuffer=function(t){f[n.log2(t.length)].push(t)},e.malloc=function(t,e){if(void 0===e||\"arraybuffer\"===e)return p(t);switch(e){case\"uint8\":return d(t);case\"uint16\":return v(t);case\"uint32\":return g(t);case\"int8\":return y(t);case\"int16\":return m(t);case\"int32\":return x(t);case\"float\":case\"float32\":return b(t);case\"double\":case\"float64\":return _(t);case\"uint8_clamped\":return w(t);case\"bigint64\":return k(t);case\"biguint64\":return T(t);case\"buffer\":return M(t);case\"data\":case\"dataview\":return A(t);default:return null}return null},e.mallocArrayBuffer=p,e.mallocUint8=d,e.mallocUint16=v,e.mallocUint32=g,e.mallocInt8=y,e.mallocInt16=m,e.mallocInt32=x,e.mallocFloat32=e.mallocFloat=b,e.mallocFloat64=e.mallocDouble=_,e.mallocUint8Clamped=w,e.mallocBigUint64=T,e.mallocBigInt64=k,e.mallocDataView=A,e.mallocBuffer=M,e.clearCache=function(){for(var t=0;t<32;++t)u.UINT8[t].length=0,u.UINT16[t].length=0,u.UINT32[t].length=0,u.INT8[t].length=0,u.INT16[t].length=0,u.INT32[t].length=0,u.FLOAT[t].length=0,u.DOUBLE[t].length=0,u.BIGUINT64[t].length=0,u.BIGINT64[t].length=0,u.UINT8C[t].length=0,c[t].length=0,f[t].length=0}},1755:function(t){\"use strict\";function e(t){this.roots=new Array(t),this.ranks=new Array(t);for(var e=0;e0&&(a=n.size),n.lineSpacing&&n.lineSpacing>0&&(o=n.lineSpacing),n.styletags&&n.styletags.breaklines&&(s.breaklines=!!n.styletags.breaklines),n.styletags&&n.styletags.bolds&&(s.bolds=!!n.styletags.bolds),n.styletags&&n.styletags.italics&&(s.italics=!!n.styletags.italics),n.styletags&&n.styletags.subscripts&&(s.subscripts=!!n.styletags.subscripts),n.styletags&&n.styletags.superscripts&&(s.superscripts=!!n.styletags.superscripts)),r.font=[n.fontStyle,n.fontVariant,n.fontWeight,a+\"px\",n.font].filter((function(t){return t})).join(\" \"),r.textAlign=\"start\",r.textBaseline=\"alphabetic\",r.direction=\"ltr\",w(function(t,e,r,n,a,o){r=r.replace(/\\n/g,\"\"),r=!0===o.breaklines?r.replace(/\\/g,\"\\n\"):r.replace(/\\/g,\" \");var s=\"\",l=[];for(T=0;T-1?parseInt(t[1+i]):0,l=a>-1?parseInt(r[1+a]):0;s!==l&&(n=n.replace(F(),\"?px \"),M*=Math.pow(.75,l-s),n=n.replace(\"?px \",F())),A+=.25*L*(l-s)}if(!0===o.superscripts){var u=t.indexOf(d),f=r.indexOf(d),p=u>-1?parseInt(t[1+u]):0,v=f>-1?parseInt(r[1+f]):0;p!==v&&(n=n.replace(F(),\"?px \"),M*=Math.pow(.75,v-p),n=n.replace(\"?px \",F())),A-=.25*L*(v-p)}if(!0===o.bolds){var g=t.indexOf(c)>-1,m=r.indexOf(c)>-1;!g&&m&&(n=x?n.replace(\"italic \",\"italic bold \"):\"bold \"+n),g&&!m&&(n=n.replace(\"bold \",\"\"))}if(!0===o.italics){var x=t.indexOf(h)>-1,b=r.indexOf(h)>-1;!x&&b&&(n=\"italic \"+n),x&&!b&&(n=n.replace(\"italic \",\"\"))}e.font=n}for(w=0;w\",a=\"\",o=i.length,s=a.length,l=e[0]===d||e[0]===y,u=0,c=-s;u>-1&&-1!==(u=r.indexOf(i,u))&&-1!==(c=r.indexOf(a,u+o))&&!(c<=u);){for(var f=u;f=c)n[f]=null,r=r.substr(0,f)+\" \"+r.substr(f+1);else if(null!==n[f]){var h=n[f].indexOf(e[0]);-1===h?n[f]+=e:l&&(n[f]=n[f].substr(0,h+1)+(1+parseInt(n[f][h+1]))+n[f].substr(h+2))}var p=u+o,v=r.substr(p,c-p).indexOf(i);u=-1!==v?v:c+s}return n}function b(t,e){var r=n(t,128);return e?a(r.cells,r.positions,.25):{edges:r.cells,positions:r.positions}}function _(t,e,r,n){var i=b(t,n),a=function(t,e,r){for(var n=e.textAlign||\"start\",i=e.textBaseline||\"alphabetic\",a=[1<<30,1<<30],o=[0,0],s=t.length,l=0;l=0?e[a]:i}))},has___:{value:x((function(e){var n=m(e);return n?r in n:t.indexOf(e)>=0}))},set___:{value:x((function(n,i){var a,o=m(n);return o?o[r]=i:(a=t.indexOf(n))>=0?e[a]=i:(a=t.length,e[a]=i,t[a]=n),this}))},delete___:{value:x((function(n){var i,a,o=m(n);return o?r in o&&delete o[r]:!((i=t.indexOf(n))<0||(a=t.length-1,t[i]=void 0,e[i]=e[a],t[i]=t[a],t.length=a,e.length=a,0))}))}})};v.prototype=Object.create(Object.prototype,{get:{value:function(t,e){return this.get___(t,e)},writable:!0,configurable:!0},has:{value:function(t){return this.has___(t)},writable:!0,configurable:!0},set:{value:function(t,e){return this.set___(t,e)},writable:!0,configurable:!0},delete:{value:function(t){return this.delete___(t)},writable:!0,configurable:!0}}),\"function\"==typeof r?function(){function n(){this instanceof v||b();var t,n=new r,i=void 0,a=!1;return t=e?function(t,e){return n.set(t,e),n.has(t)||(i||(i=new v),i.set(t,e)),this}:function(t,e){if(a)try{n.set(t,e)}catch(r){i||(i=new v),i.set___(t,e)}else n.set(t,e);return this},Object.create(v.prototype,{get___:{value:x((function(t,e){return i?n.has(t)?n.get(t):i.get___(t,e):n.get(t,e)}))},has___:{value:x((function(t){return n.has(t)||!!i&&i.has___(t)}))},set___:{value:x(t)},delete___:{value:x((function(t){var e=!!n.delete(t);return i&&i.delete___(t)||e}))},permitHostObjects___:{value:x((function(t){if(t!==g)throw new Error(\"bogus call to permitHostObjects___\");a=!0}))}})}e&&\"undefined\"!=typeof Proxy&&(Proxy=void 0),n.prototype=v.prototype,t.exports=n,Object.defineProperty(WeakMap.prototype,\"constructor\",{value:WeakMap,enumerable:!1,configurable:!0,writable:!0})}():(\"undefined\"!=typeof Proxy&&(Proxy=void 0),t.exports=v)}function g(t){t.permitHostObjects___&&t.permitHostObjects___(g)}function y(t){return!(t.substr(0,8)==l&&\"___\"===t.substr(t.length-3))}function m(t){if(t!==Object(t))throw new TypeError(\"Not an object: \"+t);var e=t[u];if(e&&e.key===t)return e;if(s(t)){e={key:t};try{return o(t,u,{value:e,writable:!1,enumerable:!1,configurable:!1}),e}catch(t){return}}}function x(t){return t.prototype=null,Object.freeze(t)}function b(){p||\"undefined\"==typeof console||(p=!0,console.warn(\"WeakMap should be invoked as new WeakMap(), not WeakMap(). This will be an error in the future.\"))}}()},236:function(t,e,r){var n=r(8284);t.exports=function(){var t={};return function(e){if((\"object\"!=typeof e||null===e)&&\"function\"!=typeof e)throw new Error(\"Weakmap-shim: Key must be object\");var r=e.valueOf(t);return r&&r.identity===t?r:n(e,t)}}},8284:function(t){t.exports=function(t,e){var r={identity:e},n=t.valueOf;return Object.defineProperty(t,\"valueOf\",{value:function(t){return t!==e?n.apply(this,arguments):r},writable:!0}),r}},606:function(t,e,r){var n=r(236);t.exports=function(){var t=n();return{get:function(e,r){var n=t(e);return n.hasOwnProperty(\"value\")?n.value:r},set:function(e,r){return t(e).value=r,this},has:function(e){return\"value\"in t(e)},delete:function(e){return delete t(e).value}}}},3349:function(t){\"use strict\";t.exports=function(t){var e={};return function(r,n,i){var a=r.dtype,o=r.order,s=[a,o.join()].join(),l=e[s];return l||(e[s]=l=t([a,o])),l(r.shape.slice(0),r.data,r.stride,0|r.offset,n,i)}}(function(){return function(t,e,r,n,i,a){var o=t[0],s=r[0],l=[0],u=s;n|=0;var c=0,f=s;for(c=0;c=0!=p>=0&&i.push(l[0]+.5+.5*(h+p)/(h-p)),n+=f,++l[0]}}}.bind(void 0,{funcName:\"zeroCrossings\"}))},781:function(t,e,r){\"use strict\";t.exports=function(t,e){var r=[];return e=+e||0,n(t.hi(t.shape[0]-1),r,e),r};var n=r(3349)},7790:function(){}},r={};function i(t){var n=r[t];if(void 0!==n)return n.exports;var a=r[t]={id:t,loaded:!1,exports:{}};return e[t].call(a.exports,a,a.exports,i),a.loaded=!0,a.exports}i.g=function(){if(\"object\"==typeof globalThis)return globalThis;try{return this||new Function(\"return this\")()}catch(t){if(\"object\"==typeof window)return window}}(),i.nmd=function(t){return t.paths=[],t.children||(t.children=[]),t};var a=i(1964);t.exports=a}()},33576:function(t,e,r){\"use strict\";function n(t,e){for(var r=0;rf)throw new RangeError('The value \"'+t+'\" is invalid for option \"size\"');var e=new Uint8Array(t);return Object.setPrototypeOf(e,p.prototype),e}function p(t,e,r){if(\"number\"==typeof t){if(\"string\"==typeof e)throw new TypeError('The \"string\" argument must be of type string. Received type number');return g(t)}return d(t,e,r)}function d(t,e,r){if(\"string\"==typeof t)return function(t,e){if(\"string\"==typeof e&&\"\"!==e||(e=\"utf8\"),!p.isEncoding(e))throw new TypeError(\"Unknown encoding: \"+e);var r=0|b(t,e),n=h(r),i=n.write(t,e);return i!==r&&(n=n.slice(0,i)),n}(t,e);if(ArrayBuffer.isView(t))return function(t){if(tt(t,Uint8Array)){var e=new Uint8Array(t);return m(e.buffer,e.byteOffset,e.byteLength)}return y(t)}(t);if(null==t)throw new TypeError(\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type \"+s(t));if(tt(t,ArrayBuffer)||t&&tt(t.buffer,ArrayBuffer))return m(t,e,r);if(\"undefined\"!=typeof SharedArrayBuffer&&(tt(t,SharedArrayBuffer)||t&&tt(t.buffer,SharedArrayBuffer)))return m(t,e,r);if(\"number\"==typeof t)throw new TypeError('The \"value\" argument must not be of type number. Received type number');var n=t.valueOf&&t.valueOf();if(null!=n&&n!==t)return p.from(n,e,r);var i=function(t){if(p.isBuffer(t)){var e=0|x(t.length),r=h(e);return 0===r.length||t.copy(r,0,0,e),r}return void 0!==t.length?\"number\"!=typeof t.length||et(t.length)?h(0):y(t):\"Buffer\"===t.type&&Array.isArray(t.data)?y(t.data):void 0}(t);if(i)return i;if(\"undefined\"!=typeof Symbol&&null!=Symbol.toPrimitive&&\"function\"==typeof t[Symbol.toPrimitive])return p.from(t[Symbol.toPrimitive](\"string\"),e,r);throw new TypeError(\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type \"+s(t))}function v(t){if(\"number\"!=typeof t)throw new TypeError('\"size\" argument must be of type number');if(t<0)throw new RangeError('The value \"'+t+'\" is invalid for option \"size\"')}function g(t){return v(t),h(t<0?0:0|x(t))}function y(t){for(var e=t.length<0?0:0|x(t.length),r=h(e),n=0;n=f)throw new RangeError(\"Attempt to allocate Buffer larger than maximum size: 0x\"+f.toString(16)+\" bytes\");return 0|t}function b(t,e){if(p.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||tt(t,ArrayBuffer))return t.byteLength;if(\"string\"!=typeof t)throw new TypeError('The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+s(t));var r=t.length,n=arguments.length>2&&!0===arguments[2];if(!n&&0===r)return 0;for(var i=!1;;)switch(e){case\"ascii\":case\"latin1\":case\"binary\":return r;case\"utf8\":case\"utf-8\":return J(t).length;case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return 2*r;case\"hex\":return r>>>1;case\"base64\":return $(t).length;default:if(i)return n?-1:J(t).length;e=(\"\"+e).toLowerCase(),i=!0}}function _(t,e,r){var n=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return\"\";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return\"\";if((r>>>=0)<=(e>>>=0))return\"\";for(t||(t=\"utf8\");;)switch(t){case\"hex\":return D(this,e,r);case\"utf8\":case\"utf-8\":return P(this,e,r);case\"ascii\":return I(this,e,r);case\"latin1\":case\"binary\":return z(this,e,r);case\"base64\":return C(this,e,r);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return R(this,e,r);default:if(n)throw new TypeError(\"Unknown encoding: \"+t);t=(t+\"\").toLowerCase(),n=!0}}function w(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function T(t,e,r,n,i){if(0===t.length)return-1;if(\"string\"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),et(r=+r)&&(r=i?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(i)return-1;r=t.length-1}else if(r<0){if(!i)return-1;r=0}if(\"string\"==typeof e&&(e=p.from(e,n)),p.isBuffer(e))return 0===e.length?-1:k(t,e,r,n,i);if(\"number\"==typeof e)return e&=255,\"function\"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):k(t,[e],r,n,i);throw new TypeError(\"val must be string, number or Buffer\")}function k(t,e,r,n,i){var a,o=1,s=t.length,l=e.length;if(void 0!==n&&(\"ucs2\"===(n=String(n).toLowerCase())||\"ucs-2\"===n||\"utf16le\"===n||\"utf-16le\"===n)){if(t.length<2||e.length<2)return-1;o=2,s/=2,l/=2,r/=2}function u(t,e){return 1===o?t[e]:t.readUInt16BE(e*o)}if(i){var c=-1;for(a=r;as&&(r=s-l),a=r;a>=0;a--){for(var f=!0,h=0;hi&&(n=i):n=i;var a,o=e.length;for(n>o/2&&(n=o/2),a=0;a>8,i=r%256,a.push(i),a.push(n);return a}(e,t.length-r),t,r,n)}function C(t,e,r){return 0===e&&r===t.length?l.fromByteArray(t):l.fromByteArray(t.slice(e,r))}function P(t,e,r){r=Math.min(t.length,r);for(var n=[],i=e;i239?4:a>223?3:a>191?2:1;if(i+s<=r){var l=void 0,u=void 0,c=void 0,f=void 0;switch(s){case 1:a<128&&(o=a);break;case 2:128==(192&(l=t[i+1]))&&(f=(31&a)<<6|63&l)>127&&(o=f);break;case 3:l=t[i+1],u=t[i+2],128==(192&l)&&128==(192&u)&&(f=(15&a)<<12|(63&l)<<6|63&u)>2047&&(f<55296||f>57343)&&(o=f);break;case 4:l=t[i+1],u=t[i+2],c=t[i+3],128==(192&l)&&128==(192&u)&&128==(192&c)&&(f=(15&a)<<18|(63&l)<<12|(63&u)<<6|63&c)>65535&&f<1114112&&(o=f)}}null===o?(o=65533,s=1):o>65535&&(o-=65536,n.push(o>>>10&1023|55296),o=56320|1023&o),n.push(o),i+=s}return function(t){var e=t.length;if(e<=O)return String.fromCharCode.apply(String,t);for(var r=\"\",n=0;nn.length?(p.isBuffer(a)||(a=p.from(a)),a.copy(n,i)):Uint8Array.prototype.set.call(n,a,i);else{if(!p.isBuffer(a))throw new TypeError('\"list\" argument must be an Array of Buffers');a.copy(n,i)}i+=a.length}return n},p.byteLength=b,p.prototype._isBuffer=!0,p.prototype.swap16=function(){var t=this.length;if(t%2!=0)throw new RangeError(\"Buffer size must be a multiple of 16-bits\");for(var e=0;er&&(t+=\" ... \"),\"\"},c&&(p.prototype[c]=p.prototype.inspect),p.prototype.compare=function(t,e,r,n,i){if(tt(t,Uint8Array)&&(t=p.from(t,t.offset,t.byteLength)),!p.isBuffer(t))throw new TypeError('The \"target\" argument must be one of type Buffer or Uint8Array. Received type '+s(t));if(void 0===e&&(e=0),void 0===r&&(r=t?t.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),e<0||r>t.length||n<0||i>this.length)throw new RangeError(\"out of range index\");if(n>=i&&e>=r)return 0;if(n>=i)return-1;if(e>=r)return 1;if(this===t)return 0;for(var a=(i>>>=0)-(n>>>=0),o=(r>>>=0)-(e>>>=0),l=Math.min(a,o),u=this.slice(n,i),c=t.slice(e,r),f=0;f>>=0,isFinite(r)?(r>>>=0,void 0===n&&(n=\"utf8\")):(n=r,r=void 0)}var i=this.length-e;if((void 0===r||r>i)&&(r=i),t.length>0&&(r<0||e<0)||e>this.length)throw new RangeError(\"Attempt to write outside buffer bounds\");n||(n=\"utf8\");for(var a=!1;;)switch(n){case\"hex\":return A(this,t,e,r);case\"utf8\":case\"utf-8\":return M(this,t,e,r);case\"ascii\":case\"latin1\":case\"binary\":return S(this,t,e,r);case\"base64\":return E(this,t,e,r);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return L(this,t,e,r);default:if(a)throw new TypeError(\"Unknown encoding: \"+n);n=(\"\"+n).toLowerCase(),a=!0}},p.prototype.toJSON=function(){return{type:\"Buffer\",data:Array.prototype.slice.call(this._arr||this,0)}};var O=4096;function I(t,e,r){var n=\"\";r=Math.min(t.length,r);for(var i=e;in)&&(r=n);for(var i=\"\",a=e;ar)throw new RangeError(\"Trying to access beyond buffer length\")}function B(t,e,r,n,i,a){if(!p.isBuffer(t))throw new TypeError('\"buffer\" argument must be a Buffer instance');if(e>i||et.length)throw new RangeError(\"Index out of range\")}function N(t,e,r,n,i){Y(e,n,i,t,r,7);var a=Number(e&BigInt(4294967295));t[r++]=a,a>>=8,t[r++]=a,a>>=8,t[r++]=a,a>>=8,t[r++]=a;var o=Number(e>>BigInt(32)&BigInt(4294967295));return t[r++]=o,o>>=8,t[r++]=o,o>>=8,t[r++]=o,o>>=8,t[r++]=o,r}function j(t,e,r,n,i){Y(e,n,i,t,r,7);var a=Number(e&BigInt(4294967295));t[r+7]=a,a>>=8,t[r+6]=a,a>>=8,t[r+5]=a,a>>=8,t[r+4]=a;var o=Number(e>>BigInt(32)&BigInt(4294967295));return t[r+3]=o,o>>=8,t[r+2]=o,o>>=8,t[r+1]=o,o>>=8,t[r]=o,r+8}function U(t,e,r,n,i,a){if(r+n>t.length)throw new RangeError(\"Index out of range\");if(r<0)throw new RangeError(\"Index out of range\")}function V(t,e,r,n,i){return e=+e,r>>>=0,i||U(t,0,r,4),u.write(t,e,r,n,23,4),r+4}function q(t,e,r,n,i){return e=+e,r>>>=0,i||U(t,0,r,8),u.write(t,e,r,n,52,8),r+8}p.prototype.slice=function(t,e){var r=this.length;(t=~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),(e=void 0===e?r:~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),e>>=0,e>>>=0,r||F(t,e,this.length);for(var n=this[t],i=1,a=0;++a>>=0,e>>>=0,r||F(t,e,this.length);for(var n=this[t+--e],i=1;e>0&&(i*=256);)n+=this[t+--e]*i;return n},p.prototype.readUint8=p.prototype.readUInt8=function(t,e){return t>>>=0,e||F(t,1,this.length),this[t]},p.prototype.readUint16LE=p.prototype.readUInt16LE=function(t,e){return t>>>=0,e||F(t,2,this.length),this[t]|this[t+1]<<8},p.prototype.readUint16BE=p.prototype.readUInt16BE=function(t,e){return t>>>=0,e||F(t,2,this.length),this[t]<<8|this[t+1]},p.prototype.readUint32LE=p.prototype.readUInt32LE=function(t,e){return t>>>=0,e||F(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},p.prototype.readUint32BE=p.prototype.readUInt32BE=function(t,e){return t>>>=0,e||F(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},p.prototype.readBigUInt64LE=nt((function(t){X(t>>>=0,\"offset\");var e=this[t],r=this[t+7];void 0!==e&&void 0!==r||Z(t,this.length-8);var n=e+this[++t]*Math.pow(2,8)+this[++t]*Math.pow(2,16)+this[++t]*Math.pow(2,24),i=this[++t]+this[++t]*Math.pow(2,8)+this[++t]*Math.pow(2,16)+r*Math.pow(2,24);return BigInt(n)+(BigInt(i)<>>=0,\"offset\");var e=this[t],r=this[t+7];void 0!==e&&void 0!==r||Z(t,this.length-8);var n=e*Math.pow(2,24)+this[++t]*Math.pow(2,16)+this[++t]*Math.pow(2,8)+this[++t],i=this[++t]*Math.pow(2,24)+this[++t]*Math.pow(2,16)+this[++t]*Math.pow(2,8)+r;return(BigInt(n)<>>=0,e>>>=0,r||F(t,e,this.length);for(var n=this[t],i=1,a=0;++a=(i*=128)&&(n-=Math.pow(2,8*e)),n},p.prototype.readIntBE=function(t,e,r){t>>>=0,e>>>=0,r||F(t,e,this.length);for(var n=e,i=1,a=this[t+--n];n>0&&(i*=256);)a+=this[t+--n]*i;return a>=(i*=128)&&(a-=Math.pow(2,8*e)),a},p.prototype.readInt8=function(t,e){return t>>>=0,e||F(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},p.prototype.readInt16LE=function(t,e){t>>>=0,e||F(t,2,this.length);var r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},p.prototype.readInt16BE=function(t,e){t>>>=0,e||F(t,2,this.length);var r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},p.prototype.readInt32LE=function(t,e){return t>>>=0,e||F(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},p.prototype.readInt32BE=function(t,e){return t>>>=0,e||F(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},p.prototype.readBigInt64LE=nt((function(t){X(t>>>=0,\"offset\");var e=this[t],r=this[t+7];void 0!==e&&void 0!==r||Z(t,this.length-8);var n=this[t+4]+this[t+5]*Math.pow(2,8)+this[t+6]*Math.pow(2,16)+(r<<24);return(BigInt(n)<>>=0,\"offset\");var e=this[t],r=this[t+7];void 0!==e&&void 0!==r||Z(t,this.length-8);var n=(e<<24)+this[++t]*Math.pow(2,16)+this[++t]*Math.pow(2,8)+this[++t];return(BigInt(n)<>>=0,e||F(t,4,this.length),u.read(this,t,!0,23,4)},p.prototype.readFloatBE=function(t,e){return t>>>=0,e||F(t,4,this.length),u.read(this,t,!1,23,4)},p.prototype.readDoubleLE=function(t,e){return t>>>=0,e||F(t,8,this.length),u.read(this,t,!0,52,8)},p.prototype.readDoubleBE=function(t,e){return t>>>=0,e||F(t,8,this.length),u.read(this,t,!1,52,8)},p.prototype.writeUintLE=p.prototype.writeUIntLE=function(t,e,r,n){t=+t,e>>>=0,r>>>=0,n||B(this,t,e,r,Math.pow(2,8*r)-1,0);var i=1,a=0;for(this[e]=255&t;++a>>=0,r>>>=0,n||B(this,t,e,r,Math.pow(2,8*r)-1,0);var i=r-1,a=1;for(this[e+i]=255&t;--i>=0&&(a*=256);)this[e+i]=t/a&255;return e+r},p.prototype.writeUint8=p.prototype.writeUInt8=function(t,e,r){return t=+t,e>>>=0,r||B(this,t,e,1,255,0),this[e]=255&t,e+1},p.prototype.writeUint16LE=p.prototype.writeUInt16LE=function(t,e,r){return t=+t,e>>>=0,r||B(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},p.prototype.writeUint16BE=p.prototype.writeUInt16BE=function(t,e,r){return t=+t,e>>>=0,r||B(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},p.prototype.writeUint32LE=p.prototype.writeUInt32LE=function(t,e,r){return t=+t,e>>>=0,r||B(this,t,e,4,4294967295,0),this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t,e+4},p.prototype.writeUint32BE=p.prototype.writeUInt32BE=function(t,e,r){return t=+t,e>>>=0,r||B(this,t,e,4,4294967295,0),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},p.prototype.writeBigUInt64LE=nt((function(t){return N(this,t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,BigInt(0),BigInt(\"0xffffffffffffffff\"))})),p.prototype.writeBigUInt64BE=nt((function(t){return j(this,t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,BigInt(0),BigInt(\"0xffffffffffffffff\"))})),p.prototype.writeIntLE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);B(this,t,e,r,i-1,-i)}var a=0,o=1,s=0;for(this[e]=255&t;++a>0)-s&255;return e+r},p.prototype.writeIntBE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);B(this,t,e,r,i-1,-i)}var a=r-1,o=1,s=0;for(this[e+a]=255&t;--a>=0&&(o*=256);)t<0&&0===s&&0!==this[e+a+1]&&(s=1),this[e+a]=(t/o>>0)-s&255;return e+r},p.prototype.writeInt8=function(t,e,r){return t=+t,e>>>=0,r||B(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},p.prototype.writeInt16LE=function(t,e,r){return t=+t,e>>>=0,r||B(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},p.prototype.writeInt16BE=function(t,e,r){return t=+t,e>>>=0,r||B(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},p.prototype.writeInt32LE=function(t,e,r){return t=+t,e>>>=0,r||B(this,t,e,4,2147483647,-2147483648),this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24,e+4},p.prototype.writeInt32BE=function(t,e,r){return t=+t,e>>>=0,r||B(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},p.prototype.writeBigInt64LE=nt((function(t){return N(this,t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,-BigInt(\"0x8000000000000000\"),BigInt(\"0x7fffffffffffffff\"))})),p.prototype.writeBigInt64BE=nt((function(t){return j(this,t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,-BigInt(\"0x8000000000000000\"),BigInt(\"0x7fffffffffffffff\"))})),p.prototype.writeFloatLE=function(t,e,r){return V(this,t,e,!0,r)},p.prototype.writeFloatBE=function(t,e,r){return V(this,t,e,!1,r)},p.prototype.writeDoubleLE=function(t,e,r){return q(this,t,e,!0,r)},p.prototype.writeDoubleBE=function(t,e,r){return q(this,t,e,!1,r)},p.prototype.copy=function(t,e,r,n){if(!p.isBuffer(t))throw new TypeError(\"argument should be a Buffer\");if(r||(r=0),n||0===n||(n=this.length),e>=t.length&&(e=t.length),e||(e=0),n>0&&n=this.length)throw new RangeError(\"Index out of range\");if(n<0)throw new RangeError(\"sourceEnd out of bounds\");n>this.length&&(n=this.length),t.length-e>>=0,r=void 0===r?this.length:r>>>0,t||(t=0),\"number\"==typeof t)for(a=e;a=n+4;r-=3)e=\"_\".concat(t.slice(r-3,r)).concat(e);return\"\".concat(t.slice(0,r)).concat(e)}function Y(t,e,r,n,i,a){if(t>r||t3?0===e||e===BigInt(0)?\">= 0\".concat(s,\" and < 2\").concat(s,\" ** \").concat(8*(a+1)).concat(s):\">= -(2\".concat(s,\" ** \").concat(8*(a+1)-1).concat(s,\") and < 2 ** \")+\"\".concat(8*(a+1)-1).concat(s):\">= \".concat(e).concat(s,\" and <= \").concat(r).concat(s),new H.ERR_OUT_OF_RANGE(\"value\",o,t)}!function(t,e,r){X(e,\"offset\"),void 0!==t[e]&&void 0!==t[e+r]||Z(e,t.length-(r+1))}(n,i,a)}function X(t,e){if(\"number\"!=typeof t)throw new H.ERR_INVALID_ARG_TYPE(e,\"number\",t)}function Z(t,e,r){if(Math.floor(t)!==t)throw X(t,r),new H.ERR_OUT_OF_RANGE(r||\"offset\",\"an integer\",t);if(e<0)throw new H.ERR_BUFFER_OUT_OF_BOUNDS;throw new H.ERR_OUT_OF_RANGE(r||\"offset\",\">= \".concat(r?1:0,\" and <= \").concat(e),t)}G(\"ERR_BUFFER_OUT_OF_BOUNDS\",(function(t){return t?\"\".concat(t,\" is outside of buffer bounds\"):\"Attempt to access memory outside buffer bounds\"}),RangeError),G(\"ERR_INVALID_ARG_TYPE\",(function(t,e){return'The \"'.concat(t,'\" argument must be of type number. Received type ').concat(s(e))}),TypeError),G(\"ERR_OUT_OF_RANGE\",(function(t,e,r){var n='The value of \"'.concat(t,'\" is out of range.'),i=r;return Number.isInteger(r)&&Math.abs(r)>Math.pow(2,32)?i=W(String(r)):\"bigint\"==typeof r&&(i=String(r),(r>Math.pow(BigInt(2),BigInt(32))||r<-Math.pow(BigInt(2),BigInt(32)))&&(i=W(i)),i+=\"n\"),n+\" It must be \".concat(e,\". Received \").concat(i)}),RangeError);var K=/[^+/0-9A-Za-z-_]/g;function J(t,e){var r;e=e||1/0;for(var n=t.length,i=null,a=[],o=0;o55295&&r<57344){if(!i){if(r>56319){(e-=3)>-1&&a.push(239,191,189);continue}if(o+1===n){(e-=3)>-1&&a.push(239,191,189);continue}i=r;continue}if(r<56320){(e-=3)>-1&&a.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(e-=3)>-1&&a.push(239,191,189);if(i=null,r<128){if((e-=1)<0)break;a.push(r)}else if(r<2048){if((e-=2)<0)break;a.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;a.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error(\"Invalid code point\");if((e-=4)<0)break;a.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return a}function $(t){return l.toByteArray(function(t){if((t=(t=t.split(\"=\")[0]).trim().replace(K,\"\")).length<2)return\"\";for(;t.length%4!=0;)t+=\"=\";return t}(t))}function Q(t,e,r,n){var i;for(i=0;i=e.length||i>=t.length);++i)e[i+r]=t[i];return i}function tt(t,e){return t instanceof e||null!=t&&null!=t.constructor&&null!=t.constructor.name&&t.constructor.name===e.name}function et(t){return t!=t}var rt=function(){for(var t=\"0123456789abcdef\",e=new Array(256),r=0;r<16;++r)for(var n=16*r,i=0;i<16;++i)e[n+i]=t[r]+t[i];return e}();function nt(t){return\"undefined\"==typeof BigInt?it:t}function it(){throw new Error(\"BigInt not supported\")}},25928:function(t){\"use strict\";t.exports=i,t.exports.isMobile=i,t.exports.default=i;var e=/(android|bb\\d+|meego).+mobile|armv7l|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series[46]0|samsungbrowser.*mobile|symbian|treo|up\\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i,r=/CrOS/,n=/android|ipad|playbook|silk/i;function i(t){t||(t={});var i=t.ua;if(i||\"undefined\"==typeof navigator||(i=navigator.userAgent),i&&i.headers&&\"string\"==typeof i.headers[\"user-agent\"]&&(i=i.headers[\"user-agent\"]),\"string\"!=typeof i)return!1;var a=e.test(i)&&!r.test(i)||!!t.tablet&&n.test(i);return!a&&t.tablet&&t.featureDetect&&navigator&&navigator.maxTouchPoints>1&&-1!==i.indexOf(\"Macintosh\")&&-1!==i.indexOf(\"Safari\")&&(a=!0),a}},48932:function(t,e,r){\"use strict\";r.r(e),r.d(e,{sankeyCenter:function(){return h},sankeyCircular:function(){return C},sankeyJustify:function(){return f},sankeyLeft:function(){return u},sankeyRight:function(){return c}});var n=r(84706),i=r(34712),a=r(10132),o=r(6688),s=r.n(o);function l(t){return t.target.depth}function u(t){return t.depth}function c(t,e){return e-1-t.height}function f(t,e){return t.sourceLinks.length?t.depth:e-1}function h(t){return t.targetLinks.length?t.depth:t.sourceLinks.length?(0,n.SY)(t.sourceLinks,l)-1:0}function p(t){return function(){return t}}var d=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t};function v(t,e){return y(t.source,e.source)||t.index-e.index}function g(t,e){return y(t.target,e.target)||t.index-e.index}function y(t,e){return t.partOfCycle===e.partOfCycle?t.y0-e.y0:\"top\"===t.circularLinkType||\"bottom\"===e.circularLinkType?-1:1}function m(t){return t.value}function x(t){return(t.y0+t.y1)/2}function b(t){return x(t.source)}function _(t){return x(t.target)}function w(t){return t.index}function T(t){return t.nodes}function k(t){return t.links}function A(t,e){var r=t.get(e);if(!r)throw new Error(\"missing: \"+e);return r}function M(t,e){return e(t)}var S=25,E=10,L=.3;function C(){var t,e,r=0,a=0,o=1,l=1,u=24,c=w,h=f,M=T,C=k,O=32,z=2,D=null;function F(){var f={nodes:M.apply(null,arguments),links:C.apply(null,arguments)};!function(t){t.nodes.forEach((function(t,e){t.index=e,t.sourceLinks=[],t.targetLinks=[]}));var e=(0,i.kH)(t.nodes,c);t.links.forEach((function(t,r){t.index=r;var n=t.source,i=t.target;\"object\"!==(void 0===n?\"undefined\":d(n))&&(n=t.source=A(e,n)),\"object\"!==(void 0===i?\"undefined\":d(i))&&(i=t.target=A(e,i)),n.sourceLinks.push(t),i.targetLinks.push(t)}))}(f),function(t,e,r){var n=0;if(null===r){for(var i=[],a=0;a0?e+S+E:e,bottom:r=r>0?r+S+E:r,left:a=a>0?a+S+E:a,right:i=i>0?i+S+E:i}}(s),d=function(t,e){var i=(0,n.kv)(t.nodes,(function(t){return t.column})),s=o-r,c=l-a,f=s/(s+e.right+e.left),h=c/(c+e.top+e.bottom);return r=r*f+e.left,o=0==e.right?o:o*f,a=a*h+e.top,l*=h,t.nodes.forEach((function(t){t.x0=r+t.column*((o-r-u)/i),t.x1=t.x0+u})),h}(s,p);f*=d,s.links.forEach((function(t){t.width=t.value*f})),h.forEach((function(t){var e=t.length;t.forEach((function(t,r){t.depth==h.length-1&&1==e||0==t.depth&&1==e?(t.y0=l/2-t.value*f,t.y1=t.y0+t.value*f):t.partOfCycle?0==I(t,i)?(t.y0=l/2+r,t.y1=t.y0+t.value*f):\"top\"==t.circularLinkType?(t.y0=a+r,t.y1=t.y0+t.value*f):(t.y0=l-t.value*f-r,t.y1=t.y0+t.value*f):0==p.top||0==p.bottom?(t.y0=(l-a)/e*r,t.y1=t.y0+t.value*f):(t.y0=(l-a)/2-e/2+r,t.y1=t.y0+t.value*f)}))}))})(f),g();for(var p=1,d=c;d>0;--d)v(p*=.99,f),g();function v(t,e){var r=h.length;h.forEach((function(i){var a=i.length,o=i[0].depth;i.forEach((function(i){var s;if(i.sourceLinks.length||i.targetLinks.length)if(i.partOfCycle&&I(i,e)>0);else if(0==o&&1==a)s=i.y1-i.y0,i.y0=l/2-s/2,i.y1=l/2+s/2;else if(o==r-1&&1==a)s=i.y1-i.y0,i.y0=l/2-s/2,i.y1=l/2+s/2;else{var u=(0,n.mo)(i.sourceLinks,_),c=(0,n.mo)(i.targetLinks,b),f=((u&&c?(u+c)/2:u||c)-x(i))*t;i.y0+=f,i.y1+=f}}))}))}function g(){h.forEach((function(e){var r,n,i,o=a,s=e.length;for(e.sort(y),i=0;i0&&(r.y0+=n,r.y1+=n),o=r.y1+t;if((n=o-t-l)>0)for(o=r.y0-=n,r.y1-=n,i=s-2;i>=0;--i)(n=(r=e[i]).y1+t-o)>0&&(r.y0-=n,r.y1-=n),o=r.y0}))}}(f,O,c),B(f);for(var p=0;p<4;p++)X(f,l,c),Z(f,0,c),W(f,a,l,c),X(f,l,c),Z(f,0,c);return function(t,e,r){var i=t.nodes,a=t.links,o=!1,s=!1;if(a.forEach((function(t){\"top\"==t.circularLinkType?o=!0:\"bottom\"==t.circularLinkType&&(s=!0)})),0==o||0==s){var l=(0,n.SY)(i,(function(t){return t.y0})),u=(r-e)/((0,n.kv)(i,(function(t){return t.y1}))-l);i.forEach((function(t){var e=(t.y1-t.y0)*u;t.y0=(t.y0-l)*u,t.y1=t.y0+e})),a.forEach((function(t){t.y0=(t.y0-l)*u,t.y1=(t.y1-l)*u,t.width=t.width*u}))}}(f,a,l),R(f,z,l,c),f}function B(t){t.nodes.forEach((function(t){t.sourceLinks.sort(g),t.targetLinks.sort(v)})),t.nodes.forEach((function(t){var e=t.y0,r=e,n=t.y1,i=n;t.sourceLinks.forEach((function(t){t.circular?(t.y0=n-t.width/2,n-=t.width):(t.y0=e+t.width/2,e+=t.width)})),t.targetLinks.forEach((function(t){t.circular?(t.y1=i-t.width/2,i-=t.width):(t.y1=r+t.width/2,r+=t.width)}))}))}return F.nodeId=function(t){return arguments.length?(c=\"function\"==typeof t?t:p(t),F):c},F.nodeAlign=function(t){return arguments.length?(h=\"function\"==typeof t?t:p(t),F):h},F.nodeWidth=function(t){return arguments.length?(u=+t,F):u},F.nodePadding=function(e){return arguments.length?(t=+e,F):t},F.nodes=function(t){return arguments.length?(M=\"function\"==typeof t?t:p(t),F):M},F.links=function(t){return arguments.length?(C=\"function\"==typeof t?t:p(t),F):C},F.size=function(t){return arguments.length?(r=a=0,o=+t[0],l=+t[1],F):[o-r,l-a]},F.extent=function(t){return arguments.length?(r=+t[0][0],o=+t[1][0],a=+t[0][1],l=+t[1][1],F):[[r,a],[o,l]]},F.iterations=function(t){return arguments.length?(O=+t,F):O},F.circularLinkGap=function(t){return arguments.length?(z=+t,F):z},F.nodePaddingRatio=function(t){return arguments.length?(e=+t,F):e},F.sortNodes=function(t){return arguments.length?(D=t,F):D},F.update=function(t){return P(t,c),B(t),t.links.forEach((function(t){t.circular&&(t.circularLinkType=t.y0+t.y11||i>1)}function D(t,e,r){return t.sort(F),t.forEach((function(n,i){var a,o,s=0;if($(n,r)&&z(n))n.circularPathData.verticalBuffer=s+n.width/2;else{for(var l=0;lo.source.column)){var u=t[l].circularPathData.verticalBuffer+t[l].width/2+e;s=u>s?u:s}n.circularPathData.verticalBuffer=s+n.width/2}})),t}function R(t,e,r,i){var o=(0,n.SY)(t.links,(function(t){return t.source.y0}));t.links.forEach((function(t){t.circular&&(t.circularPathData={})})),D(t.links.filter((function(t){return\"top\"==t.circularLinkType})),e,i),D(t.links.filter((function(t){return\"bottom\"==t.circularLinkType})),e,i),t.links.forEach((function(n){if(n.circular){if(n.circularPathData.arcRadius=n.width+E,n.circularPathData.leftNodeBuffer=5,n.circularPathData.rightNodeBuffer=5,n.circularPathData.sourceWidth=n.source.x1-n.source.x0,n.circularPathData.sourceX=n.source.x0+n.circularPathData.sourceWidth,n.circularPathData.targetX=n.target.x0,n.circularPathData.sourceY=n.y0,n.circularPathData.targetY=n.y1,$(n,i)&&z(n))n.circularPathData.leftSmallArcRadius=E+n.width/2,n.circularPathData.leftLargeArcRadius=E+n.width/2,n.circularPathData.rightSmallArcRadius=E+n.width/2,n.circularPathData.rightLargeArcRadius=E+n.width/2,\"bottom\"==n.circularLinkType?(n.circularPathData.verticalFullExtent=n.source.y1+S+n.circularPathData.verticalBuffer,n.circularPathData.verticalLeftInnerExtent=n.circularPathData.verticalFullExtent-n.circularPathData.leftLargeArcRadius,n.circularPathData.verticalRightInnerExtent=n.circularPathData.verticalFullExtent-n.circularPathData.rightLargeArcRadius):(n.circularPathData.verticalFullExtent=n.source.y0-S-n.circularPathData.verticalBuffer,n.circularPathData.verticalLeftInnerExtent=n.circularPathData.verticalFullExtent+n.circularPathData.leftLargeArcRadius,n.circularPathData.verticalRightInnerExtent=n.circularPathData.verticalFullExtent+n.circularPathData.rightLargeArcRadius);else{var s=n.source.column,l=n.circularLinkType,u=t.links.filter((function(t){return t.source.column==s&&t.circularLinkType==l}));\"bottom\"==n.circularLinkType?u.sort(N):u.sort(B);var c=0;u.forEach((function(t,r){t.circularLinkID==n.circularLinkID&&(n.circularPathData.leftSmallArcRadius=E+n.width/2+c,n.circularPathData.leftLargeArcRadius=E+n.width/2+r*e+c),c+=t.width})),s=n.target.column,u=t.links.filter((function(t){return t.target.column==s&&t.circularLinkType==l})),\"bottom\"==n.circularLinkType?u.sort(U):u.sort(j),c=0,u.forEach((function(t,r){t.circularLinkID==n.circularLinkID&&(n.circularPathData.rightSmallArcRadius=E+n.width/2+c,n.circularPathData.rightLargeArcRadius=E+n.width/2+r*e+c),c+=t.width})),\"bottom\"==n.circularLinkType?(n.circularPathData.verticalFullExtent=Math.max(r,n.source.y1,n.target.y1)+S+n.circularPathData.verticalBuffer,n.circularPathData.verticalLeftInnerExtent=n.circularPathData.verticalFullExtent-n.circularPathData.leftLargeArcRadius,n.circularPathData.verticalRightInnerExtent=n.circularPathData.verticalFullExtent-n.circularPathData.rightLargeArcRadius):(n.circularPathData.verticalFullExtent=o-S-n.circularPathData.verticalBuffer,n.circularPathData.verticalLeftInnerExtent=n.circularPathData.verticalFullExtent+n.circularPathData.leftLargeArcRadius,n.circularPathData.verticalRightInnerExtent=n.circularPathData.verticalFullExtent+n.circularPathData.rightLargeArcRadius)}n.circularPathData.leftInnerExtent=n.circularPathData.sourceX+n.circularPathData.leftNodeBuffer,n.circularPathData.rightInnerExtent=n.circularPathData.targetX-n.circularPathData.rightNodeBuffer,n.circularPathData.leftFullExtent=n.circularPathData.sourceX+n.circularPathData.leftLargeArcRadius+n.circularPathData.leftNodeBuffer,n.circularPathData.rightFullExtent=n.circularPathData.targetX-n.circularPathData.rightLargeArcRadius-n.circularPathData.rightNodeBuffer}if(n.circular)n.path=function(t){return\"top\"==t.circularLinkType?\"M\"+t.circularPathData.sourceX+\" \"+t.circularPathData.sourceY+\" L\"+t.circularPathData.leftInnerExtent+\" \"+t.circularPathData.sourceY+\" A\"+t.circularPathData.leftLargeArcRadius+\" \"+t.circularPathData.leftSmallArcRadius+\" 0 0 0 \"+t.circularPathData.leftFullExtent+\" \"+(t.circularPathData.sourceY-t.circularPathData.leftSmallArcRadius)+\" L\"+t.circularPathData.leftFullExtent+\" \"+t.circularPathData.verticalLeftInnerExtent+\" A\"+t.circularPathData.leftLargeArcRadius+\" \"+t.circularPathData.leftLargeArcRadius+\" 0 0 0 \"+t.circularPathData.leftInnerExtent+\" \"+t.circularPathData.verticalFullExtent+\" L\"+t.circularPathData.rightInnerExtent+\" \"+t.circularPathData.verticalFullExtent+\" A\"+t.circularPathData.rightLargeArcRadius+\" \"+t.circularPathData.rightLargeArcRadius+\" 0 0 0 \"+t.circularPathData.rightFullExtent+\" \"+t.circularPathData.verticalRightInnerExtent+\" L\"+t.circularPathData.rightFullExtent+\" \"+(t.circularPathData.targetY-t.circularPathData.rightSmallArcRadius)+\" A\"+t.circularPathData.rightLargeArcRadius+\" \"+t.circularPathData.rightSmallArcRadius+\" 0 0 0 \"+t.circularPathData.rightInnerExtent+\" \"+t.circularPathData.targetY+\" L\"+t.circularPathData.targetX+\" \"+t.circularPathData.targetY:\"M\"+t.circularPathData.sourceX+\" \"+t.circularPathData.sourceY+\" L\"+t.circularPathData.leftInnerExtent+\" \"+t.circularPathData.sourceY+\" A\"+t.circularPathData.leftLargeArcRadius+\" \"+t.circularPathData.leftSmallArcRadius+\" 0 0 1 \"+t.circularPathData.leftFullExtent+\" \"+(t.circularPathData.sourceY+t.circularPathData.leftSmallArcRadius)+\" L\"+t.circularPathData.leftFullExtent+\" \"+t.circularPathData.verticalLeftInnerExtent+\" A\"+t.circularPathData.leftLargeArcRadius+\" \"+t.circularPathData.leftLargeArcRadius+\" 0 0 1 \"+t.circularPathData.leftInnerExtent+\" \"+t.circularPathData.verticalFullExtent+\" L\"+t.circularPathData.rightInnerExtent+\" \"+t.circularPathData.verticalFullExtent+\" A\"+t.circularPathData.rightLargeArcRadius+\" \"+t.circularPathData.rightLargeArcRadius+\" 0 0 1 \"+t.circularPathData.rightFullExtent+\" \"+t.circularPathData.verticalRightInnerExtent+\" L\"+t.circularPathData.rightFullExtent+\" \"+(t.circularPathData.targetY+t.circularPathData.rightSmallArcRadius)+\" A\"+t.circularPathData.rightLargeArcRadius+\" \"+t.circularPathData.rightSmallArcRadius+\" 0 0 1 \"+t.circularPathData.rightInnerExtent+\" \"+t.circularPathData.targetY+\" L\"+t.circularPathData.targetX+\" \"+t.circularPathData.targetY}(n);else{var f=(0,a.ak)().source((function(t){return[t.source.x0+(t.source.x1-t.source.x0),t.y0]})).target((function(t){return[t.target.x0,t.y1]}));n.path=f(n)}}))}function F(t,e){return V(t)==V(e)?\"bottom\"==t.circularLinkType?N(t,e):B(t,e):V(e)-V(t)}function B(t,e){return t.y0-e.y0}function N(t,e){return e.y0-t.y0}function j(t,e){return t.y1-e.y1}function U(t,e){return e.y1-t.y1}function V(t){return t.target.column-t.source.column}function q(t){return t.target.x0-t.source.x1}function H(t,e){var r=O(t),n=q(e)/Math.tan(r);return\"up\"==J(t)?t.y1+n:t.y1-n}function G(t,e){var r=O(t),n=q(e)/Math.tan(r);return\"up\"==J(t)?t.y1-n:t.y1+n}function W(t,e,r,n){t.links.forEach((function(i){if(!i.circular&&i.target.column-i.source.column>1){var a=i.source.column+1,o=i.target.column-1,s=1,l=o-a+1;for(s=1;a<=o;a++,s++)t.nodes.forEach((function(o){if(o.column==a){var u,c=s/(l+1),f=Math.pow(1-c,3),h=3*c*Math.pow(1-c,2),p=3*Math.pow(c,2)*(1-c),d=Math.pow(c,3),v=f*i.y0+h*i.y0+p*i.y1+d*i.y1,g=v-i.width/2,y=v+i.width/2;g>o.y0&&ga.y0&&i.y0a.y0&&i.y1a.y1)&&Y(t,u,e,r)}))):(y>o.y0&&yo.y1)&&(u=y-o.y0+10,o=Y(o,u,e,r),t.nodes.forEach((function(t){M(t,n)!=M(o,n)&&t.column==o.column&&t.y0o.y1&&Y(t,u,e,r)})))}}))}}))}function Y(t,e,r,n){return t.y0+e>=r&&t.y1+e<=n&&(t.y0=t.y0+e,t.y1=t.y1+e,t.targetLinks.forEach((function(t){t.y1=t.y1+e})),t.sourceLinks.forEach((function(t){t.y0=t.y0+e}))),t}function X(t,e,r,n){t.nodes.forEach((function(i){n&&i.y+(i.y1-i.y0)>e&&(i.y=i.y-(i.y+(i.y1-i.y0)-e));var a=t.links.filter((function(t){return M(t.source,r)==M(i,r)})),o=a.length;o>1&&a.sort((function(t,e){if(!t.circular&&!e.circular){if(t.target.column==e.target.column)return t.y1-e.y1;if(!K(t,e))return t.y1-e.y1;if(t.target.column>e.target.column){var r=G(e,t);return t.y1-r}if(e.target.column>t.target.column)return G(t,e)-e.y1}return t.circular&&!e.circular?\"top\"==t.circularLinkType?-1:1:e.circular&&!t.circular?\"top\"==e.circularLinkType?1:-1:t.circular&&e.circular?t.circularLinkType===e.circularLinkType&&\"top\"==t.circularLinkType?t.target.column===e.target.column?t.target.y1-e.target.y1:e.target.column-t.target.column:t.circularLinkType===e.circularLinkType&&\"bottom\"==t.circularLinkType?t.target.column===e.target.column?e.target.y1-t.target.y1:t.target.column-e.target.column:\"top\"==t.circularLinkType?-1:1:void 0}));var s=i.y0;a.forEach((function(t){t.y0=s+t.width/2,s+=t.width})),a.forEach((function(t,e){if(\"bottom\"==t.circularLinkType){for(var r=e+1,n=0;r1&&n.sort((function(t,e){if(!t.circular&&!e.circular){if(t.source.column==e.source.column)return t.y0-e.y0;if(!K(t,e))return t.y0-e.y0;if(e.source.column0?\"up\":\"down\"}function $(t,e){return M(t.source,e)==M(t.target,e)}},26800:function(t,e,r){\"use strict\";r.r(e),r.d(e,{sankey:function(){return w},sankeyCenter:function(){return u},sankeyJustify:function(){return l},sankeyLeft:function(){return o},sankeyLinkHorizontal:function(){return M},sankeyRight:function(){return s}});var n=r(84706),i=r(34712);function a(t){return t.target.depth}function o(t){return t.depth}function s(t,e){return e-1-t.height}function l(t,e){return t.sourceLinks.length?t.depth:e-1}function u(t){return t.targetLinks.length?t.depth:t.sourceLinks.length?(0,n.SY)(t.sourceLinks,a)-1:0}function c(t){return function(){return t}}function f(t,e){return p(t.source,e.source)||t.index-e.index}function h(t,e){return p(t.target,e.target)||t.index-e.index}function p(t,e){return t.y0-e.y0}function d(t){return t.value}function v(t){return(t.y0+t.y1)/2}function g(t){return v(t.source)*t.value}function y(t){return v(t.target)*t.value}function m(t){return t.index}function x(t){return t.nodes}function b(t){return t.links}function _(t,e){var r=t.get(e);if(!r)throw new Error(\"missing: \"+e);return r}function w(){var t=0,e=0,r=1,a=1,o=24,s=8,u=m,w=l,T=x,k=b,A=32;function M(){var l={nodes:T.apply(null,arguments),links:k.apply(null,arguments)};return function(t){t.nodes.forEach((function(t,e){t.index=e,t.sourceLinks=[],t.targetLinks=[]}));var e=(0,i.kH)(t.nodes,u);t.links.forEach((function(t,r){t.index=r;var n=t.source,i=t.target;\"object\"!=typeof n&&(n=t.source=_(e,n)),\"object\"!=typeof i&&(i=t.target=_(e,i)),n.sourceLinks.push(t),i.targetLinks.push(t)}))}(l),function(t){t.nodes.forEach((function(t){t.value=Math.max((0,n.oh)(t.sourceLinks,d),(0,n.oh)(t.targetLinks,d))}))}(l),function(e){var n,i,a;for(n=e.nodes,i=[],a=0;n.length;++a,n=i,i=[])n.forEach((function(t){t.depth=a,t.sourceLinks.forEach((function(t){i.indexOf(t.target)<0&&i.push(t.target)}))}));for(n=e.nodes,i=[],a=0;n.length;++a,n=i,i=[])n.forEach((function(t){t.height=a,t.targetLinks.forEach((function(t){i.indexOf(t.source)<0&&i.push(t.source)}))}));var s=(r-t-o)/(a-1);e.nodes.forEach((function(e){e.x1=(e.x0=t+Math.max(0,Math.min(a-1,Math.floor(w.call(null,e,a))))*s)+o}))}(l),function(t){var r=(0,i.UJ)().key((function(t){return t.x0})).sortKeys(n.XE).entries(t.nodes).map((function(t){return t.values}));(function(){var i=(0,n.kv)(r,(function(t){return t.length})),o=.6666666666666666*(a-e)/(i-1);s>o&&(s=o);var l=(0,n.SY)(r,(function(t){return(a-e-(t.length-1)*s)/(0,n.oh)(t,d)}));r.forEach((function(t){t.forEach((function(t,e){t.y1=(t.y0=e)+t.value*l}))})),t.links.forEach((function(t){t.width=t.value*l}))})(),f();for(var o=1,l=A;l>0;--l)c(o*=.99),f(),u(o),f();function u(t){r.forEach((function(e){e.forEach((function(e){if(e.targetLinks.length){var r=((0,n.oh)(e.targetLinks,g)/(0,n.oh)(e.targetLinks,d)-v(e))*t;e.y0+=r,e.y1+=r}}))}))}function c(t){r.slice().reverse().forEach((function(e){e.forEach((function(e){if(e.sourceLinks.length){var r=((0,n.oh)(e.sourceLinks,y)/(0,n.oh)(e.sourceLinks,d)-v(e))*t;e.y0+=r,e.y1+=r}}))}))}function f(){r.forEach((function(t){var r,n,i,o=e,l=t.length;for(t.sort(p),i=0;i0&&(r.y0+=n,r.y1+=n),o=r.y1+s;if((n=o-s-a)>0)for(o=r.y0-=n,r.y1-=n,i=l-2;i>=0;--i)(n=(r=t[i]).y1+s-o)>0&&(r.y0-=n,r.y1-=n),o=r.y0}))}}(l),S(l),l}function S(t){t.nodes.forEach((function(t){t.sourceLinks.sort(h),t.targetLinks.sort(f)})),t.nodes.forEach((function(t){var e=t.y0,r=e;t.sourceLinks.forEach((function(t){t.y0=e+t.width/2,e+=t.width})),t.targetLinks.forEach((function(t){t.y1=r+t.width/2,r+=t.width}))}))}return M.update=function(t){return S(t),t},M.nodeId=function(t){return arguments.length?(u=\"function\"==typeof t?t:c(t),M):u},M.nodeAlign=function(t){return arguments.length?(w=\"function\"==typeof t?t:c(t),M):w},M.nodeWidth=function(t){return arguments.length?(o=+t,M):o},M.nodePadding=function(t){return arguments.length?(s=+t,M):s},M.nodes=function(t){return arguments.length?(T=\"function\"==typeof t?t:c(t),M):T},M.links=function(t){return arguments.length?(k=\"function\"==typeof t?t:c(t),M):k},M.size=function(n){return arguments.length?(t=e=0,r=+n[0],a=+n[1],M):[r-t,a-e]},M.extent=function(n){return arguments.length?(t=+n[0][0],r=+n[1][0],e=+n[0][1],a=+n[1][1],M):[[t,e],[r,a]]},M.iterations=function(t){return arguments.length?(A=+t,M):A},M}var T=r(10132);function k(t){return[t.source.x1,t.y0]}function A(t){return[t.target.x0,t.y1]}function M(){return(0,T.ak)().source(k).target(A)}},33428:function(t,e,r){var n,i;(function(){var a={version:\"3.8.0\"},o=[].slice,s=function(t){return o.call(t)},l=self.document;function u(t){return t&&(t.ownerDocument||t.document||t).documentElement}function c(t){return t&&(t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView)}if(l)try{s(l.documentElement.childNodes)[0].nodeType}catch(t){s=function(t){for(var e=t.length,r=new Array(e);e--;)r[e]=t[e];return r}}if(Date.now||(Date.now=function(){return+new Date}),l)try{l.createElement(\"DIV\").style.setProperty(\"opacity\",0,\"\")}catch(t){var f=this.Element.prototype,h=f.setAttribute,p=f.setAttributeNS,d=this.CSSStyleDeclaration.prototype,v=d.setProperty;f.setAttribute=function(t,e){h.call(this,t,e+\"\")},f.setAttributeNS=function(t,e,r){p.call(this,t,e,r+\"\")},d.setProperty=function(t,e,r){v.call(this,t,e+\"\",r)}}function g(t,e){return te?1:t>=e?0:NaN}function y(t){return null===t?NaN:+t}function m(t){return!isNaN(t)}function x(t){return{left:function(e,r,n,i){for(arguments.length<3&&(n=0),arguments.length<4&&(i=e.length);n>>1;t(e[a],r)<0?n=a+1:i=a}return n},right:function(e,r,n,i){for(arguments.length<3&&(n=0),arguments.length<4&&(i=e.length);n>>1;t(e[a],r)>0?i=a:n=a+1}return n}}}a.ascending=g,a.descending=function(t,e){return et?1:e>=t?0:NaN},a.min=function(t,e){var r,n,i=-1,a=t.length;if(1===arguments.length){for(;++i=n){r=n;break}for(;++in&&(r=n)}else{for(;++i=n){r=n;break}for(;++in&&(r=n)}return r},a.max=function(t,e){var r,n,i=-1,a=t.length;if(1===arguments.length){for(;++i=n){r=n;break}for(;++ir&&(r=n)}else{for(;++i=n){r=n;break}for(;++ir&&(r=n)}return r},a.extent=function(t,e){var r,n,i,a=-1,o=t.length;if(1===arguments.length){for(;++a=n){r=i=n;break}for(;++an&&(r=n),i=n){r=i=n;break}for(;++an&&(r=n),i1)return o/(l-1)},a.deviation=function(){var t=a.variance.apply(this,arguments);return t?Math.sqrt(t):t};var b=x(g);function _(t){return t.length}a.bisectLeft=b.left,a.bisect=a.bisectRight=b.right,a.bisector=function(t){return x(1===t.length?function(e,r){return g(t(e),r)}:t)},a.shuffle=function(t,e,r){(a=arguments.length)<3&&(r=t.length,a<2&&(e=0));for(var n,i,a=r-e;a;)i=Math.random()*a--|0,n=t[a+e],t[a+e]=t[i+e],t[i+e]=n;return t},a.permute=function(t,e){for(var r=e.length,n=new Array(r);r--;)n[r]=t[e[r]];return n},a.pairs=function(t){for(var e=0,r=t.length-1,n=t[0],i=new Array(r<0?0:r);e=0;)for(e=(n=t[i]).length;--e>=0;)r[--o]=n[e];return r};var w=Math.abs;function T(t,e){for(var r in e)Object.defineProperty(t.prototype,r,{value:e[r],enumerable:!1})}function k(){this._=Object.create(null)}a.range=function(t,e,r){if(arguments.length<3&&(r=1,arguments.length<2&&(e=t,t=0)),(e-t)/r==1/0)throw new Error(\"infinite range\");var n,i=[],a=function(t){for(var e=1;t*e%1;)e*=10;return e}(w(r)),o=-1;if(t*=a,e*=a,(r*=a)<0)for(;(n=t+r*++o)>e;)i.push(n/a);else for(;(n=t+r*++o)=n.length)return e?e.call(r,a):t?a.sort(t):a;for(var l,u,c,f,h=-1,p=a.length,d=n[s++],v=new k;++h=n.length)return t;var r=[],a=i[e++];return t.forEach((function(t,n){r.push({key:t,values:s(n,e)})})),a?r.sort((function(t,e){return a(t.key,e.key)})):r}return r.map=function(t,e){return o(e,t,0)},r.entries=function(t){return s(o(a.map,t,0),0)},r.key=function(t){return n.push(t),r},r.sortKeys=function(t){return i[n.length-1]=t,r},r.sortValues=function(e){return t=e,r},r.rollup=function(t){return e=t,r},r},a.set=function(t){var e=new z;if(t)for(var r=0,n=t.length;r=0&&(n=t.slice(r+1),t=t.slice(0,r)),t)return arguments.length<2?this[t].on(n):this[t].on(n,e);if(2===arguments.length){if(null==e)for(t in this)this.hasOwnProperty(t)&&this[t].on(n,null);return this}},a.event=null,a.requote=function(t){return t.replace(G,\"\\\\$&\")};var G=/[\\\\\\^\\$\\*\\+\\?\\|\\[\\]\\(\\)\\.\\{\\}]/g,W={}.__proto__?function(t,e){t.__proto__=e}:function(t,e){for(var r in e)t[r]=e[r]};function Y(t){return W(t,J),t}var X=function(t,e){return e.querySelector(t)},Z=function(t,e){return e.querySelectorAll(t)},K=function(t,e){var r=t.matches||t[F(t,\"matchesSelector\")];return K=function(t,e){return r.call(t,e)},K(t,e)};\"function\"==typeof Sizzle&&(X=function(t,e){return Sizzle(t,e)[0]||null},Z=Sizzle,K=Sizzle.matchesSelector),a.selection=function(){return a.select(l.documentElement)};var J=a.selection.prototype=[];function $(t){return\"function\"==typeof t?t:function(){return X(t,this)}}function Q(t){return\"function\"==typeof t?t:function(){return Z(t,this)}}J.select=function(t){var e,r,n,i,a=[];t=$(t);for(var o=-1,s=this.length;++o=0&&\"xmlns\"!==(r=t.slice(0,e))&&(t=t.slice(e+1)),et.hasOwnProperty(r)?{space:et[r],local:t}:t}},J.attr=function(t,e){if(arguments.length<2){if(\"string\"==typeof t){var r=this.node();return(t=a.ns.qualify(t)).local?r.getAttributeNS(t.space,t.local):r.getAttribute(t)}for(e in t)this.each(rt(e,t[e]));return this}return this.each(rt(t,e))},J.classed=function(t,e){if(arguments.length<2){if(\"string\"==typeof t){var r=this.node(),n=(t=at(t)).length,i=-1;if(e=r.classList){for(;++i=0;)(r=n[i])&&(a&&a!==r.nextSibling&&a.parentNode.insertBefore(r,a),a=r);return this},J.sort=function(t){t=dt.apply(this,arguments);for(var e=-1,r=this.length;++e0&&(t=t.slice(0,i));var l=xt.get(t);function u(){var e=this[n];e&&(this.removeEventListener(t,e,e.$),delete this[n])}return l&&(t=l,o=_t),i?e?function(){var i=o(e,s(arguments));u.call(this),this.addEventListener(t,this[n]=i,i.$=r),i._=e}:u:e?N:function(){var e,r=new RegExp(\"^__on([^.]+)\"+a.requote(t)+\"$\");for(var n in this)if(e=n.match(r)){var i=this[n];this.removeEventListener(e[1],i,i.$),delete this[n]}}}a.selection.enter=gt,a.selection.enter.prototype=yt,yt.append=J.append,yt.empty=J.empty,yt.node=J.node,yt.call=J.call,yt.size=J.size,yt.select=function(t){for(var e,r,n,i,a,o=[],s=-1,l=this.length;++s=n&&(n=e+1);!(o=s[n])&&++n1?It:t<-1?-It:Math.asin(t)}function Ft(t){return((t=Math.exp(t))+1/t)/2}var Bt=Math.SQRT2;a.interpolateZoom=function(t,e){var r,n,i=t[0],a=t[1],o=t[2],s=e[0],l=e[1],u=e[2],c=s-i,f=l-a,h=c*c+f*f;if(h0&&(t=t.transition().duration(v)),t.call(w.event)}function S(){s&&s.domain(o.range().map((function(t){return(t-h.x)/h.k})).map(o.invert)),f&&f.domain(u.range().map((function(t){return(t-h.y)/h.k})).map(u.invert))}function E(t){g++||t({type:\"zoomstart\"})}function L(t){S(),t({type:\"zoom\",scale:h.k,translate:[h.x,h.y]})}function C(t){--g||(t({type:\"zoomend\"}),e=null)}function P(){var t=this,e=_.of(t,arguments),r=0,n=a.select(c(t)).on(m,(function(){r=1,A(a.mouse(t),i),L(e)})).on(x,(function(){n.on(m,null).on(x,null),o(r),C(e)})),i=T(a.mouse(t)),o=kt(t);Ki.call(t),E(e)}function O(){var t,e=this,r=_.of(e,arguments),n={},o=0,s=\".zoom-\"+a.event.changedTouches[0].identifier,l=\"touchmove\"+s,u=\"touchend\"+s,c=[],f=a.select(e),p=kt(e);function d(){var r=a.touches(e);return t=h.k,r.forEach((function(t){t.identifier in n&&(n[t.identifier]=T(t))})),r}function v(){var t=a.event.target;a.select(t).on(l,g).on(u,m),c.push(t);for(var r=a.event.changedTouches,s=0,f=r.length;s1){y=p[0];var x=p[1],b=y[0]-x[0],_=y[1]-x[1];o=b*b+_*_}}function g(){var s,l,u,c,f=a.touches(e);Ki.call(e);for(var h=0,p=f.length;h360?t-=360:t<0&&(t+=360),t<60?n+(i-n)*t/60:t<180?i:t<240?n+(i-n)*(240-t)/60:n}(t))}return t=isNaN(t)?0:(t%=360)<0?t+360:t,e=isNaN(e)||e<0?0:e>1?1:e,n=2*(r=r<0?0:r>1?1:r)-(i=r<=.5?r*(1+e):r+e-r*e),new ae(a(t+120),a(t),a(t-120))}function Wt(t,e,r){return this instanceof Wt?(this.h=+t,this.c=+e,void(this.l=+r)):arguments.length<2?t instanceof Wt?new Wt(t.h,t.c,t.l):function(t,e,r){return t>0?new Wt(Math.atan2(r,e)*Dt,Math.sqrt(e*e+r*r),t):new Wt(NaN,NaN,t)}(t instanceof Zt?t.l:(t=he((t=a.rgb(t)).r,t.g,t.b)).l,t.a,t.b):new Wt(t,e,r)}Ht.brighter=function(t){return t=Math.pow(.7,arguments.length?t:1),new qt(this.h,this.s,this.l/t)},Ht.darker=function(t){return t=Math.pow(.7,arguments.length?t:1),new qt(this.h,this.s,t*this.l)},Ht.rgb=function(){return Gt(this.h,this.s,this.l)},a.hcl=Wt;var Yt=Wt.prototype=new Vt;function Xt(t,e,r){return isNaN(t)&&(t=0),isNaN(e)&&(e=0),new Zt(r,Math.cos(t*=zt)*e,Math.sin(t)*e)}function Zt(t,e,r){return this instanceof Zt?(this.l=+t,this.a=+e,void(this.b=+r)):arguments.length<2?t instanceof Zt?new Zt(t.l,t.a,t.b):t instanceof Wt?Xt(t.h,t.c,t.l):he((t=ae(t)).r,t.g,t.b):new Zt(t,e,r)}Yt.brighter=function(t){return new Wt(this.h,this.c,Math.min(100,this.l+Kt*(arguments.length?t:1)))},Yt.darker=function(t){return new Wt(this.h,this.c,Math.max(0,this.l-Kt*(arguments.length?t:1)))},Yt.rgb=function(){return Xt(this.h,this.c,this.l).rgb()},a.lab=Zt;var Kt=18,Jt=.95047,$t=1,Qt=1.08883,te=Zt.prototype=new Vt;function ee(t,e,r){var n=(t+16)/116,i=n+e/500,a=n-r/200;return new ae(ie(3.2404542*(i=re(i)*Jt)-1.5371385*(n=re(n)*$t)-.4985314*(a=re(a)*Qt)),ie(-.969266*i+1.8760108*n+.041556*a),ie(.0556434*i-.2040259*n+1.0572252*a))}function re(t){return t>.206893034?t*t*t:(t-4/29)/7.787037}function ne(t){return t>.008856?Math.pow(t,1/3):7.787037*t+4/29}function ie(t){return Math.round(255*(t<=.00304?12.92*t:1.055*Math.pow(t,1/2.4)-.055))}function ae(t,e,r){return this instanceof ae?(this.r=~~t,this.g=~~e,void(this.b=~~r)):arguments.length<2?t instanceof ae?new ae(t.r,t.g,t.b):ce(\"\"+t,ae,Gt):new ae(t,e,r)}function oe(t){return new ae(t>>16,t>>8&255,255&t)}function se(t){return oe(t)+\"\"}te.brighter=function(t){return new Zt(Math.min(100,this.l+Kt*(arguments.length?t:1)),this.a,this.b)},te.darker=function(t){return new Zt(Math.max(0,this.l-Kt*(arguments.length?t:1)),this.a,this.b)},te.rgb=function(){return ee(this.l,this.a,this.b)},a.rgb=ae;var le=ae.prototype=new Vt;function ue(t){return t<16?\"0\"+Math.max(0,t).toString(16):Math.min(255,t).toString(16)}function ce(t,e,r){var n,i,a,o=0,s=0,l=0;if(n=/([a-z]+)\\((.*)\\)/.exec(t=t.toLowerCase()))switch(i=n[2].split(\",\"),n[1]){case\"hsl\":return r(parseFloat(i[0]),parseFloat(i[1])/100,parseFloat(i[2])/100);case\"rgb\":return e(de(i[0]),de(i[1]),de(i[2]))}return(a=ve.get(t))?e(a.r,a.g,a.b):(null==t||\"#\"!==t.charAt(0)||isNaN(a=parseInt(t.slice(1),16))||(4===t.length?(o=(3840&a)>>4,o|=o>>4,s=240&a,s|=s>>4,l=15&a,l|=l<<4):7===t.length&&(o=(16711680&a)>>16,s=(65280&a)>>8,l=255&a)),e(o,s,l))}function fe(t,e,r){var n,i,a=Math.min(t/=255,e/=255,r/=255),o=Math.max(t,e,r),s=o-a,l=(o+a)/2;return s?(i=l<.5?s/(o+a):s/(2-o-a),n=t==o?(e-r)/s+(e0&&l<1?0:n),new qt(n,i,l)}function he(t,e,r){var n=ne((.4124564*(t=pe(t))+.3575761*(e=pe(e))+.1804375*(r=pe(r)))/Jt),i=ne((.2126729*t+.7151522*e+.072175*r)/$t);return Zt(116*i-16,500*(n-i),200*(i-ne((.0193339*t+.119192*e+.9503041*r)/Qt)))}function pe(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function de(t){var e=parseFloat(t);return\"%\"===t.charAt(t.length-1)?Math.round(2.55*e):e}le.brighter=function(t){t=Math.pow(.7,arguments.length?t:1);var e=this.r,r=this.g,n=this.b,i=30;return e||r||n?(e&&e=200&&e<300||304===e){try{t=r.call(i,u)}catch(t){return void o.error.call(i,t)}o.load.call(i,t)}else o.error.call(i,u)}return self.XDomainRequest&&!(\"withCredentials\"in u)&&/^(http(s)?:)?\\/\\//.test(t)&&(u=new XDomainRequest),\"onload\"in u?u.onload=u.onerror=f:u.onreadystatechange=function(){u.readyState>3&&f()},u.onprogress=function(t){var e=a.event;a.event=t;try{o.progress.call(i,u)}finally{a.event=e}},i.header=function(t,e){return t=(t+\"\").toLowerCase(),arguments.length<2?l[t]:(null==e?delete l[t]:l[t]=e+\"\",i)},i.mimeType=function(t){return arguments.length?(e=null==t?null:t+\"\",i):e},i.responseType=function(t){return arguments.length?(c=t,i):c},i.response=function(t){return r=t,i},[\"get\",\"post\"].forEach((function(t){i[t]=function(){return i.send.apply(i,[t].concat(s(arguments)))}})),i.send=function(r,n,a){if(2===arguments.length&&\"function\"==typeof n&&(a=n,n=null),u.open(r,t,!0),null==e||\"accept\"in l||(l.accept=e+\",*/*\"),u.setRequestHeader)for(var s in l)u.setRequestHeader(s,l[s]);return null!=e&&u.overrideMimeType&&u.overrideMimeType(e),null!=c&&(u.responseType=c),null!=a&&i.on(\"error\",a).on(\"load\",(function(t){a(null,t)})),o.beforesend.call(i,u),u.send(null==n?null:n),i},i.abort=function(){return u.abort(),i},a.rebind(i,o,\"on\"),null==n?i:i.get(function(t){return 1===t.length?function(e,r){t(null==e?r:null)}:t}(n))}ve.forEach((function(t,e){ve.set(t,oe(e))})),a.functor=ge,a.xhr=ye(D),a.dsv=function(t,e){var r=new RegExp('[\"'+t+\"\\n]\"),n=t.charCodeAt(0);function i(t,r,n){arguments.length<3&&(n=r,r=null);var i=me(t,e,null==r?a:o(r),n);return i.row=function(t){return arguments.length?i.response(null==(r=t)?a:o(t)):r},i}function a(t){return i.parse(t.responseText)}function o(t){return function(e){return i.parse(e.responseText,t)}}function s(e){return e.map(l).join(t)}function l(t){return r.test(t)?'\"'+t.replace(/\\\"/g,'\"\"')+'\"':t}return i.parse=function(t,e){var r;return i.parseRows(t,(function(t,n){if(r)return r(t,n-1);var i=function(e){for(var r={},n=t.length,i=0;i=l)return o;if(i)return i=!1,a;var e=u;if(34===t.charCodeAt(e)){for(var r=e;r++24?(isFinite(e)&&(clearTimeout(we),we=setTimeout(Ae,e)),_e=0):(_e=1,Te(Ae))}function Me(){for(var t=Date.now(),e=xe;e;)t>=e.t&&e.c(t-e.t)&&(e.c=null),e=e.n;return t}function Se(){for(var t,e=xe,r=1/0;e;)e.c?(e.t1&&(e=t[a[o-2]],r=t[a[o-1]],n=t[s],(r[0]-e[0])*(n[1]-e[1])-(r[1]-e[1])*(n[0]-e[0])<=0);)--o;a[o++]=s}return a.slice(0,o)}function Pe(t,e){return t[0]-e[0]||t[1]-e[1]}a.timer=function(){ke.apply(this,arguments)},a.timer.flush=function(){Me(),Se()},a.round=function(t,e){return e?Math.round(t*(e=Math.pow(10,e)))/e:Math.round(t)},a.geom={},a.geom.hull=function(t){var e=Ee,r=Le;if(arguments.length)return n(t);function n(t){if(t.length<3)return[];var n,i=ge(e),a=ge(r),o=t.length,s=[],l=[];for(n=0;n=0;--n)p.push(t[s[u[n]][2]]);for(n=+f;nEt)s=s.L;else{if(!((i=a-Ze(s,o))>Et)){n>-Et?(e=s.P,r=s):i>-Et?(e=s,r=s.N):e=r=s;break}if(!s.R){e=s;break}s=s.R}var l=He(t);if(Be.insert(e,l),e||r){if(e===r)return tr(e),r=He(e.site),Be.insert(l,r),l.edge=r.edge=nr(e.site,l.site),Qe(e),void Qe(r);if(r){tr(e),tr(r);var u=e.site,c=u.x,f=u.y,h=t.x-c,p=t.y-f,d=r.site,v=d.x-c,g=d.y-f,y=2*(h*g-p*v),m=h*h+p*p,x=v*v+g*g,b={x:(g*m-p*x)/y+c,y:(h*x-v*m)/y+f};ir(r.edge,u,d,b),l.edge=nr(u,t,null,b),r.edge=nr(t,d,null,b),Qe(e),Qe(r)}else l.edge=nr(e.site,l.site)}}function Xe(t,e){var r=t.site,n=r.x,i=r.y,a=i-e;if(!a)return n;var o=t.P;if(!o)return-1/0;var s=(r=o.site).x,l=r.y,u=l-e;if(!u)return s;var c=s-n,f=1/a-1/u,h=c/u;return f?(-h+Math.sqrt(h*h-2*f*(c*c/(-2*u)-l+u/2+i-a/2)))/f+n:(n+s)/2}function Ze(t,e){var r=t.N;if(r)return Xe(r,e);var n=t.site;return n.y===e?n.x:1/0}function Ke(t){this.site=t,this.edges=[]}function Je(t,e){return e.angle-t.angle}function $e(){sr(this),this.x=this.y=this.arc=this.site=this.cy=null}function Qe(t){var e=t.P,r=t.N;if(e&&r){var n=e.site,i=t.site,a=r.site;if(n!==a){var o=i.x,s=i.y,l=n.x-o,u=n.y-s,c=a.x-o,f=2*(l*(g=a.y-s)-u*c);if(!(f>=-Lt)){var h=l*l+u*u,p=c*c+g*g,d=(g*h-u*p)/f,v=(l*p-c*h)/f,g=v+s,y=Ve.pop()||new $e;y.arc=t,y.site=i,y.x=d+o,y.y=g+Math.sqrt(d*d+v*v),y.cy=g,t.circle=y;for(var m=null,x=je._;x;)if(y.y=s)return;if(h>d){if(a){if(a.y>=u)return}else a={x:g,y:l};r={x:g,y:u}}else{if(a){if(a.y1)if(h>d){if(a){if(a.y>=u)return}else a={x:(l-i)/n,y:l};r={x:(u-i)/n,y:u}}else{if(a){if(a.y=s)return}else a={x:o,y:n*o+i};r={x:s,y:n*s+i}}else{if(a){if(a.x0)){if(e/=h,h<0){if(e0){if(e>f)return;e>c&&(c=e)}if(e=i-l,h||!(e<0)){if(e/=h,h<0){if(e>f)return;e>c&&(c=e)}else if(h>0){if(e0)){if(e/=p,p<0){if(e0){if(e>f)return;e>c&&(c=e)}if(e=a-u,p||!(e<0)){if(e/=p,p<0){if(e>f)return;e>c&&(c=e)}else if(p>0){if(e0&&(t.a={x:l+c*h,y:u+c*p}),f<1&&(t.b={x:l+f*h,y:u+f*p}),t}}}}}),l=o.length;l--;)(!er(e=o[l],t)||!s(e)||w(e.a.x-e.b.x)Et||w(i-r)>Et)&&(s.splice(o,0,new ar((y=a.site,m=c,x=w(n-f)Et?{x:f,y:w(e-f)Et?{x:w(r-d)Et?{x:h,y:w(e-h)Et?{x:w(r-p)=r&&u.x<=i&&u.y>=n&&u.y<=o?[[r,o],[i,o],[i,n],[r,n]]:[]).point=t[s]})),e}function s(t){return t.map((function(t,e){return{x:Math.round(n(t,e)/Et)*Et,y:Math.round(i(t,e)/Et)*Et,i:e}}))}return o.links=function(t){return fr(s(t)).edges.filter((function(t){return t.l&&t.r})).map((function(e){return{source:t[e.l.i],target:t[e.r.i]}}))},o.triangles=function(t){var e=[];return fr(s(t)).cells.forEach((function(r,n){for(var i,a,o,s,l=r.site,u=r.edges.sort(Je),c=-1,f=u.length,h=u[f-1].edge,p=h.l===l?h.r:h.l;++ca&&(i=e.slice(a,i),s[o]?s[o]+=i:s[++o]=i),(r=r[0])===(n=n[0])?s[o]?s[o]+=n:s[++o]=n:(s[++o]=null,l.push({i:o,x:xr(r,n)})),a=wr.lastIndex;return av&&(v=l.x),l.y>g&&(g=l.y),u.push(l.x),c.push(l.y);else for(f=0;fv&&(v=x),b>g&&(g=b),u.push(x),c.push(b)}var _=v-p,T=g-d;function k(t,e,r,n,i,a,o,s){if(!isNaN(r)&&!isNaN(n))if(t.leaf){var l=t.x,u=t.y;if(null!=l)if(w(l-r)+w(u-n)<.01)A(t,e,r,n,i,a,o,s);else{var c=t.point;t.x=t.y=t.point=null,A(t,c,l,u,i,a,o,s),A(t,e,r,n,i,a,o,s)}else t.x=r,t.y=n,t.point=e}else A(t,e,r,n,i,a,o,s)}function A(t,e,r,n,i,a,o,s){var l=.5*(i+o),u=.5*(a+s),c=r>=l,f=n>=u,h=f<<1|c;t.leaf=!1,c?i=l:o=l,f?a=u:s=u,k(t=t.nodes[h]||(t.nodes[h]={leaf:!0,nodes:[],point:null,x:null,y:null}),e,r,n,i,a,o,s)}_>T?g=d+_:v=p+T;var M={leaf:!0,nodes:[],point:null,x:null,y:null,add:function(t){k(M,t,+y(t,++f),+m(t,f),p,d,v,g)}};if(M.visit=function(t){gr(t,M,p,d,v,g)},M.find=function(t){return function(t,e,r,n,i,a,o){var s,l=1/0;return function t(u,c,f,h,p){if(!(c>a||f>o||h=_)<<1|e>=b,T=w+4;w=0&&!(r=a.interpolators[n](t,e)););return r}function kr(t,e){var r,n=[],i=[],a=t.length,o=e.length,s=Math.min(t.length,e.length);for(r=0;r=1)return 1;var e=t*t,r=e*t;return 4*(t<.5?r:3*(t-e)+r-.75)}function Ir(t){return 1-Math.cos(t*It)}function zr(t){return Math.pow(2,10*(t-1))}function Dr(t){return 1-Math.sqrt(1-t*t)}function Rr(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375}function Fr(t,e){return e-=t,function(r){return Math.round(t+e*r)}}function Br(t){var e,r,n,i=[t.a,t.b],a=[t.c,t.d],o=jr(i),s=Nr(i,a),l=jr(((e=a)[0]+=(n=-s)*(r=i)[0],e[1]+=n*r[1],e))||0;i[0]*a[1]=0?t.slice(0,r):t,i=r>=0?t.slice(r+1):\"in\";return n=Mr.get(n)||Ar,i=Sr.get(i)||D,e=i(n.apply(null,o.call(arguments,1))),function(t){return t<=0?0:t>=1?1:e(t)}},a.interpolateHcl=function(t,e){t=a.hcl(t),e=a.hcl(e);var r=t.h,n=t.c,i=t.l,o=e.h-r,s=e.c-n,l=e.l-i;return isNaN(s)&&(s=0,n=isNaN(n)?e.c:n),isNaN(o)?(o=0,r=isNaN(r)?e.h:r):o>180?o-=360:o<-180&&(o+=360),function(t){return Xt(r+o*t,n+s*t,i+l*t)+\"\"}},a.interpolateHsl=function(t,e){t=a.hsl(t),e=a.hsl(e);var r=t.h,n=t.s,i=t.l,o=e.h-r,s=e.s-n,l=e.l-i;return isNaN(s)&&(s=0,n=isNaN(n)?e.s:n),isNaN(o)?(o=0,r=isNaN(r)?e.h:r):o>180?o-=360:o<-180&&(o+=360),function(t){return Gt(r+o*t,n+s*t,i+l*t)+\"\"}},a.interpolateLab=function(t,e){t=a.lab(t),e=a.lab(e);var r=t.l,n=t.a,i=t.b,o=e.l-r,s=e.a-n,l=e.b-i;return function(t){return ee(r+o*t,n+s*t,i+l*t)+\"\"}},a.interpolateRound=Fr,a.transform=function(t){var e=l.createElementNS(a.ns.prefix.svg,\"g\");return(a.transform=function(t){if(null!=t){e.setAttribute(\"transform\",t);var r=e.transform.baseVal.consolidate()}return new Br(r?r.matrix:Ur)})(t)},Br.prototype.toString=function(){return\"translate(\"+this.translate+\")rotate(\"+this.rotate+\")skewX(\"+this.skew+\")scale(\"+this.scale+\")\"};var Ur={a:1,b:0,c:0,d:1,e:0,f:0};function Vr(t){return t.length?t.pop()+\",\":\"\"}function qr(t,e){var r=[],n=[];return t=a.transform(t),e=a.transform(e),function(t,e,r,n){if(t[0]!==e[0]||t[1]!==e[1]){var i=r.push(\"translate(\",null,\",\",null,\")\");n.push({i:i-4,x:xr(t[0],e[0])},{i:i-2,x:xr(t[1],e[1])})}else(e[0]||e[1])&&r.push(\"translate(\"+e+\")\")}(t.translate,e.translate,r,n),function(t,e,r,n){t!==e?(t-e>180?e+=360:e-t>180&&(t+=360),n.push({i:r.push(Vr(r)+\"rotate(\",null,\")\")-2,x:xr(t,e)})):e&&r.push(Vr(r)+\"rotate(\"+e+\")\")}(t.rotate,e.rotate,r,n),function(t,e,r,n){t!==e?n.push({i:r.push(Vr(r)+\"skewX(\",null,\")\")-2,x:xr(t,e)}):e&&r.push(Vr(r)+\"skewX(\"+e+\")\")}(t.skew,e.skew,r,n),function(t,e,r,n){if(t[0]!==e[0]||t[1]!==e[1]){var i=r.push(Vr(r)+\"scale(\",null,\",\",null,\")\");n.push({i:i-4,x:xr(t[0],e[0])},{i:i-2,x:xr(t[1],e[1])})}else 1===e[0]&&1===e[1]||r.push(Vr(r)+\"scale(\"+e+\")\")}(t.scale,e.scale,r,n),t=e=null,function(t){for(var e,i=-1,a=n.length;++i0?r=e:(t.c=null,t.t=NaN,t=null,l.end({type:\"end\",alpha:r=0})):e>0&&(l.start({type:\"start\",alpha:r=e}),t=ke(s.tick)),s):r},s.start=function(){var t,e,r,a=y.length,l=m.length,c=u[0],d=u[1];for(t=0;t=0;)r.push(i[n])}function an(t,e){for(var r=[t],n=[];null!=(t=r.pop());)if(n.push(t),(a=t.children)&&(i=a.length))for(var i,a,o=-1;++o=0;)o.push(c=u[l]),c.parent=a,c.depth=a.depth+1;r&&(a.value=0),a.children=u}else r&&(a.value=+r.call(n,a,a.depth)||0),delete a.children;return an(i,(function(e){var n,i;t&&(n=e.children)&&n.sort(t),r&&(i=e.parent)&&(i.value+=e.value)})),s}return n.sort=function(e){return arguments.length?(t=e,n):t},n.children=function(t){return arguments.length?(e=t,n):e},n.value=function(t){return arguments.length?(r=t,n):r},n.revalue=function(t){return r&&(nn(t,(function(t){t.children&&(t.value=0)})),an(t,(function(t){var e;t.children||(t.value=+r.call(n,t,t.depth)||0),(e=t.parent)&&(e.value+=t.value)}))),t},n},a.layout.partition=function(){var t=a.layout.hierarchy(),e=[1,1];function r(t,e,n,i){var a=t.children;if(t.x=e,t.y=t.depth*i,t.dx=n,t.dy=i,a&&(o=a.length)){var o,s,l,u=-1;for(n=t.value?n/t.value:0;++us&&(s=n),o.push(n)}for(r=0;ri&&(n=r,i=e);return n}function xn(t){return t.reduce(bn,0)}function bn(t,e){return t+e[1]}function _n(t,e){return wn(t,Math.ceil(Math.log(e.length)/Math.LN2+1))}function wn(t,e){for(var r=-1,n=+t[0],i=(t[1]-n)/e,a=[];++r<=e;)a[r]=i*r+n;return a}function Tn(t){return[a.min(t),a.max(t)]}function kn(t,e){return t.value-e.value}function An(t,e){var r=t._pack_next;t._pack_next=e,e._pack_prev=t,e._pack_next=r,r._pack_prev=e}function Mn(t,e){t._pack_next=e,e._pack_prev=t}function Sn(t,e){var r=e.x-t.x,n=e.y-t.y,i=t.r+e.r;return.999*i*i>r*r+n*n}function En(t){if((e=t.children)&&(l=e.length)){var e,r,n,i,a,o,s,l,u=1/0,c=-1/0,f=1/0,h=-1/0;if(e.forEach(Ln),(r=e[0]).x=-r.r,r.y=0,x(r),l>1&&((n=e[1]).x=n.r,n.y=0,x(n),l>2))for(On(r,n,i=e[2]),x(i),An(r,i),r._pack_prev=i,An(i,n),n=r._pack_next,a=3;a0)for(o=-1;++o=f[0]&&l<=f[1]&&((s=u[a.bisect(h,l,1,d)-1]).y+=v,s.push(i[o]));return u}return i.value=function(t){return arguments.length?(e=t,i):e},i.range=function(t){return arguments.length?(r=ge(t),i):r},i.bins=function(t){return arguments.length?(n=\"number\"==typeof t?function(e){return wn(e,t)}:ge(t),i):n},i.frequency=function(e){return arguments.length?(t=!!e,i):t},i},a.layout.pack=function(){var t,e=a.layout.hierarchy().sort(kn),r=0,n=[1,1];function i(i,a){var o=e.call(this,i,a),s=o[0],l=n[0],u=n[1],c=null==t?Math.sqrt:\"function\"==typeof t?t:function(){return t};if(s.x=s.y=0,an(s,(function(t){t.r=+c(t.value)})),an(s,En),r){var f=r*(t?1:Math.max(2*s.r/l,2*s.r/u))/2;an(s,(function(t){t.r+=f})),an(s,En),an(s,(function(t){t.r-=f}))}return Pn(s,l/2,u/2,t?1:1/Math.max(2*s.r/l,2*s.r/u)),o}return i.size=function(t){return arguments.length?(n=t,i):n},i.radius=function(e){return arguments.length?(t=null==e||\"function\"==typeof e?e:+e,i):t},i.padding=function(t){return arguments.length?(r=+t,i):r},rn(i,e)},a.layout.tree=function(){var t=a.layout.hierarchy().sort(null).value(null),e=In,r=[1,1],n=null;function i(i,a){var u=t.call(this,i,a),c=u[0],f=function(t){for(var e,r={A:null,children:[t]},n=[r];null!=(e=n.pop());)for(var i,a=e.children,o=0,s=a.length;op.x&&(p=t),t.depth>d.depth&&(d=t)}));var v=e(h,p)/2-h.x,g=r[0]/(p.x+e(p,h)/2+v),y=r[1]/(d.depth||1);nn(c,(function(t){t.x=(t.x+v)*g,t.y=t.depth*y}))}return u}function o(t){var r=t.children,n=t.parent.children,i=t.i?n[t.i-1]:null;if(r.length){!function(t){for(var e,r=0,n=0,i=t.children,a=i.length;--a>=0;)(e=i[a]).z+=r,e.m+=r,r+=e.s+(n+=e.c)}(t);var a=(r[0].z+r[r.length-1].z)/2;i?(t.z=i.z+e(t._,i._),t.m=t.z-a):t.z=a}else i&&(t.z=i.z+e(t._,i._));t.parent.A=function(t,r,n){if(r){for(var i,a=t,o=t,s=r,l=a.parent.children[0],u=a.m,c=o.m,f=s.m,h=l.m;s=Dn(s),a=zn(a),s&&a;)l=zn(l),(o=Dn(o)).a=t,(i=s.z+f-a.z-u+e(s._,a._))>0&&(Rn(Fn(s,t,n),t,i),u+=i,c+=i),f+=s.m,u+=a.m,h+=l.m,c+=o.m;s&&!Dn(o)&&(o.t=s,o.m+=f-c),a&&!zn(l)&&(l.t=a,l.m+=u-h,n=t)}return n}(t,i,t.parent.A||n[0])}function s(t){t._.x=t.z+t.parent.m,t.m+=t.parent.m}function l(t){t.x*=r[0],t.y=t.depth*r[1]}return i.separation=function(t){return arguments.length?(e=t,i):e},i.size=function(t){return arguments.length?(n=null==(r=t)?l:null,i):n?null:r},i.nodeSize=function(t){return arguments.length?(n=null==(r=t)?null:l,i):n?r:null},rn(i,t)},a.layout.cluster=function(){var t=a.layout.hierarchy().sort(null).value(null),e=In,r=[1,1],n=!1;function i(i,o){var s,l=t.call(this,i,o),u=l[0],c=0;an(u,(function(t){var r=t.children;r&&r.length?(t.x=function(t){return t.reduce((function(t,e){return t+e.x}),0)/t.length}(r),t.y=function(t){return 1+a.max(t,(function(t){return t.y}))}(r)):(t.x=s?c+=e(t,s):0,t.y=0,s=t)}));var f=Bn(u),h=Nn(u),p=f.x-e(f,h)/2,d=h.x+e(h,f)/2;return an(u,n?function(t){t.x=(t.x-u.x)*r[0],t.y=(u.y-t.y)*r[1]}:function(t){t.x=(t.x-p)/(d-p)*r[0],t.y=(1-(u.y?t.y/u.y:1))*r[1]}),l}return i.separation=function(t){return arguments.length?(e=t,i):e},i.size=function(t){return arguments.length?(n=null==(r=t),i):n?null:r},i.nodeSize=function(t){return arguments.length?(n=null!=(r=t),i):n?r:null},rn(i,t)},a.layout.treemap=function(){var t,e=a.layout.hierarchy(),r=Math.round,n=[1,1],i=null,o=jn,s=!1,l=\"squarify\",u=.5*(1+Math.sqrt(5));function c(t,e){for(var r,n,i=-1,a=t.length;++i0;)s.push(r=u[i-1]),s.area+=r.area,\"squarify\"!==l||(n=p(s,v))<=h?(u.pop(),h=n):(s.area-=s.pop().area,d(s,v,a,!1),v=Math.min(a.dx,a.dy),s.length=s.area=0,h=1/0);s.length&&(d(s,v,a,!0),s.length=s.area=0),e.forEach(f)}}function h(t){var e=t.children;if(e&&e.length){var r,n=o(t),i=e.slice(),a=[];for(c(i,n.dx*n.dy/t.value),a.area=0;r=i.pop();)a.push(r),a.area+=r.area,null!=r.z&&(d(a,r.z?n.dx:n.dy,n,!i.length),a.length=a.area=0);e.forEach(h)}}function p(t,e){for(var r,n=t.area,i=0,a=1/0,o=-1,s=t.length;++oi&&(i=r));return e*=e,(n*=n)?Math.max(e*i*u/n,n/(e*a*u)):1/0}function d(t,e,n,i){var a,o=-1,s=t.length,l=n.x,u=n.y,c=e?r(t.area/e):0;if(e==n.dx){for((i||c>n.dy)&&(c=n.dy);++on.dx)&&(c=n.dx);++o1);return t+e*r*Math.sqrt(-2*Math.log(i)/i)}},logNormal:function(){var t=a.random.normal.apply(a,arguments);return function(){return Math.exp(t())}},bates:function(t){var e=a.random.irwinHall(t);return function(){return e()/t}},irwinHall:function(t){return function(){for(var e=0,r=0;r2?Xn:Hn,l=n?Gr:Hr;return i=o(t,e,l,r),a=o(e,t,l,Tr),s}function s(t){return i(t)}return s.invert=function(t){return a(t)},s.domain=function(e){return arguments.length?(t=e.map(Number),o()):t},s.range=function(t){return arguments.length?(e=t,o()):e},s.rangeRound=function(t){return s.range(t).interpolate(Fr)},s.clamp=function(t){return arguments.length?(n=t,o()):n},s.interpolate=function(t){return arguments.length?(r=t,o()):r},s.ticks=function(e){return Qn(t,e)},s.tickFormat=function(e,r){return d3_scale_linearTickFormat(t,e,r)},s.nice=function(e){return Jn(t,e),o()},s.copy=function(){return Zn(t,e,r,n)},o()}function Kn(t,e){return a.rebind(t,e,\"range\",\"rangeRound\",\"interpolate\",\"clamp\")}function Jn(t,e){return Gn(t,Wn($n(t,e)[2])),Gn(t,Wn($n(t,e)[2])),t}function $n(t,e){null==e&&(e=10);var r=Vn(t),n=r[1]-r[0],i=Math.pow(10,Math.floor(Math.log(n/e)/Math.LN10)),a=e/n*i;return a<=.15?i*=10:a<=.35?i*=5:a<=.75&&(i*=2),r[0]=Math.ceil(r[0]/i)*i,r[1]=Math.floor(r[1]/i)*i+.5*i,r[2]=i,r}function Qn(t,e){return a.range.apply(a,$n(t,e))}function ti(t,e,r,n){function i(t){return(r?Math.log(t<0?0:t):-Math.log(t>0?0:-t))/Math.log(e)}function a(t){return r?Math.pow(e,t):-Math.pow(e,-t)}function o(e){return t(i(e))}return o.invert=function(e){return a(t.invert(e))},o.domain=function(e){return arguments.length?(r=e[0]>=0,t.domain((n=e.map(Number)).map(i)),o):n},o.base=function(r){return arguments.length?(e=+r,t.domain(n.map(i)),o):e},o.nice=function(){var e=Gn(n.map(i),r?Math:ei);return t.domain(e),n=e.map(a),o},o.ticks=function(){var t=Vn(n),o=[],s=t[0],l=t[1],u=Math.floor(i(s)),c=Math.ceil(i(l)),f=e%1?2:e;if(isFinite(c-u)){if(r){for(;u0;h--)o.push(a(u)*h);for(u=0;o[u]l;c--);o=o.slice(u,c)}return o},o.copy=function(){return ti(t.copy(),e,r,n)},Kn(o,t)}a.scale.linear=function(){return Zn([0,1],[0,1],Tr,!1)},a.scale.log=function(){return ti(a.scale.linear().domain([0,1]),10,!0,[1,10])};var ei={floor:function(t){return-Math.ceil(-t)},ceil:function(t){return-Math.floor(-t)}};function ri(t,e,r){var n=ni(e),i=ni(1/e);function a(e){return t(n(e))}return a.invert=function(e){return i(t.invert(e))},a.domain=function(e){return arguments.length?(t.domain((r=e.map(Number)).map(n)),a):r},a.ticks=function(t){return Qn(r,t)},a.tickFormat=function(t,e){return d3_scale_linearTickFormat(r,t,e)},a.nice=function(t){return a.domain(Jn(r,t))},a.exponent=function(o){return arguments.length?(n=ni(e=o),i=ni(1/e),t.domain(r.map(n)),a):e},a.copy=function(){return ri(t.copy(),e,r)},Kn(a,t)}function ni(t){return function(e){return e<0?-Math.pow(-e,t):Math.pow(e,t)}}function ii(t,e){var r,n,i;function o(i){return n[((r.get(i)||(\"range\"===e.t?r.set(i,t.push(i)):NaN))-1)%n.length]}function s(e,r){return a.range(t.length).map((function(t){return e+r*t}))}return o.domain=function(n){if(!arguments.length)return t;t=[],r=new k;for(var i,a=-1,s=n.length;++a0?r[n-1]:t[0],nf?0:1;if(u=Ot)return l(u,p)+(s?l(s,1-p):\"\")+\"Z\";var d,v,g,y,m,x,b,_,w,T,k,A,M=0,S=0,E=[];if((y=(+o.apply(this,arguments)||0)/2)&&(g=n===di?Math.sqrt(s*s+u*u):+n.apply(this,arguments),p||(S*=-1),u&&(S=Rt(g/u*Math.sin(y))),s&&(M=Rt(g/s*Math.sin(y)))),u){m=u*Math.cos(c+S),x=u*Math.sin(c+S),b=u*Math.cos(f-S),_=u*Math.sin(f-S);var L=Math.abs(f-c-2*S)<=Ct?0:1;if(S&&bi(m,x,b,_)===p^L){var C=(c+f)/2;m=u*Math.cos(C),x=u*Math.sin(C),b=_=null}}else m=x=0;if(s){w=s*Math.cos(f-M),T=s*Math.sin(f-M),k=s*Math.cos(c+M),A=s*Math.sin(c+M);var P=Math.abs(c-f+2*M)<=Ct?0:1;if(M&&bi(w,T,k,A)===1-p^P){var O=(c+f)/2;w=s*Math.cos(O),T=s*Math.sin(O),k=A=null}}else w=T=0;if(h>Et&&(d=Math.min(Math.abs(u-s)/2,+r.apply(this,arguments)))>.001){v=s0?0:1}function _i(t,e,r,n,i){var a=t[0]-e[0],o=t[1]-e[1],s=(i?n:-n)/Math.sqrt(a*a+o*o),l=s*o,u=-s*a,c=t[0]+l,f=t[1]+u,h=e[0]+l,p=e[1]+u,d=(c+h)/2,v=(f+p)/2,g=h-c,y=p-f,m=g*g+y*y,x=r-n,b=c*p-h*f,_=(y<0?-1:1)*Math.sqrt(Math.max(0,x*x*m-b*b)),w=(b*y-g*_)/m,T=(-b*g-y*_)/m,k=(b*y+g*_)/m,A=(-b*g+y*_)/m,M=w-d,S=T-v,E=k-d,L=A-v;return M*M+S*S>E*E+L*L&&(w=k,T=A),[[w-l,T-u],[w*r/x,T*r/x]]}function wi(){return!0}function Ti(t){var e=Ee,r=Le,n=wi,i=Ai,a=i.key,o=.7;function s(a){var s,l=[],u=[],c=-1,f=a.length,h=ge(e),p=ge(r);function d(){l.push(\"M\",i(t(u),o))}for(;++c1&&i.push(\"H\",n[0]),i.join(\"\")},\"step-before\":Si,\"step-after\":Ei,basis:Pi,\"basis-open\":function(t){if(t.length<4)return Ai(t);for(var e,r=[],n=-1,i=t.length,a=[0],o=[0];++n<3;)e=t[n],a.push(e[0]),o.push(e[1]);for(r.push(Oi(Di,a)+\",\"+Oi(Di,o)),--n;++n9&&(i=3*e/Math.sqrt(i),o[s]=i*r,o[s+1]=i*n);for(s=-1;++s<=l;)i=(t[Math.min(l,s+1)][0]-t[Math.max(0,s-1)][0])/(6*(1+o[s]*o[s])),a.push([i||0,o[s]*i||0]);return a}(t))}});function Ai(t){return t.length>1?t.join(\"L\"):t+\"Z\"}function Mi(t){return t.join(\"L\")+\"Z\"}function Si(t){for(var e=0,r=t.length,n=t[0],i=[n[0],\",\",n[1]];++e1){s=e[1],a=t[l],l++,n+=\"C\"+(i[0]+o[0])+\",\"+(i[1]+o[1])+\",\"+(a[0]-s[0])+\",\"+(a[1]-s[1])+\",\"+a[0]+\",\"+a[1];for(var u=2;uCt)+\",1 \"+e}function l(t,e,r,n){return\"Q 0,0 \"+n}return a.radius=function(t){return arguments.length?(r=ge(t),a):r},a.source=function(e){return arguments.length?(t=ge(e),a):t},a.target=function(t){return arguments.length?(e=ge(t),a):e},a.startAngle=function(t){return arguments.length?(n=ge(t),a):n},a.endAngle=function(t){return arguments.length?(i=ge(t),a):i},a},a.svg.diagonal=function(){var t=ji,e=Ui,r=qi;function n(n,i){var a=t.call(this,n,i),o=e.call(this,n,i),s=(a.y+o.y)/2,l=[a,{x:a.x,y:s},{x:o.x,y:s},o];return\"M\"+(l=l.map(r))[0]+\"C\"+l[1]+\" \"+l[2]+\" \"+l[3]}return n.source=function(e){return arguments.length?(t=ge(e),n):t},n.target=function(t){return arguments.length?(e=ge(t),n):e},n.projection=function(t){return arguments.length?(r=t,n):r},n},a.svg.diagonal.radial=function(){var t=a.svg.diagonal(),e=qi,r=t.projection;return t.projection=function(t){return arguments.length?r(function(t){return function(){var e=t.apply(this,arguments),r=e[0],n=e[1]-It;return[r*Math.cos(n),r*Math.sin(n)]}}(e=t)):e},t},a.svg.symbol=function(){var t=Gi,e=Hi;function r(r,n){return(Yi.get(t.call(this,r,n))||Wi)(e.call(this,r,n))}return r.type=function(e){return arguments.length?(t=ge(e),r):t},r.size=function(t){return arguments.length?(e=ge(t),r):e},r};var Yi=a.map({circle:Wi,cross:function(t){var e=Math.sqrt(t/5)/2;return\"M\"+-3*e+\",\"+-e+\"H\"+-e+\"V\"+-3*e+\"H\"+e+\"V\"+-e+\"H\"+3*e+\"V\"+e+\"H\"+e+\"V\"+3*e+\"H\"+-e+\"V\"+e+\"H\"+-3*e+\"Z\"},diamond:function(t){var e=Math.sqrt(t/(2*Zi)),r=e*Zi;return\"M0,\"+-e+\"L\"+r+\",0 0,\"+e+\" \"+-r+\",0Z\"},square:function(t){var e=Math.sqrt(t)/2;return\"M\"+-e+\",\"+-e+\"L\"+e+\",\"+-e+\" \"+e+\",\"+e+\" \"+-e+\",\"+e+\"Z\"},\"triangle-down\":function(t){var e=Math.sqrt(t/Xi),r=e*Xi/2;return\"M0,\"+r+\"L\"+e+\",\"+-r+\" \"+-e+\",\"+-r+\"Z\"},\"triangle-up\":function(t){var e=Math.sqrt(t/Xi),r=e*Xi/2;return\"M0,\"+-r+\"L\"+e+\",\"+r+\" \"+-e+\",\"+r+\"Z\"}});a.svg.symbolTypes=Yi.keys();var Xi=Math.sqrt(3),Zi=Math.tan(30*zt);J.transition=function(t){for(var e,r,n=Qi||++ra,i=aa(t),a=[],o=ta||{time:Date.now(),ease:Or,delay:0,duration:250},s=-1,l=this.length;++s0;)u[--h].call(t,o);if(a>=1)return f.event&&f.event.end.call(t,t.__data__,e),--c.count?delete c[n]:delete t[r],1}f||(a=i.time,o=ke((function(t){var e=f.delay;if(o.t=e+a,e<=t)return h(t-e);o.c=h}),0,a),f=c[n]={tween:new k,time:a,timer:o,delay:i.delay,duration:i.duration,ease:i.ease,index:e},i=null,++c.count)}ea.call=J.call,ea.empty=J.empty,ea.node=J.node,ea.size=J.size,a.transition=function(t,e){return t&&t.transition?Qi?t.transition(e):t:a.selection().transition(t)},a.transition.prototype=ea,ea.select=function(t){var e,r,n,i=this.id,a=this.namespace,o=[];t=$(t);for(var s=-1,l=this.length;++srect,.s>rect\").attr(\"width\",o[1]-o[0])}function v(t){t.select(\".extent\").attr(\"y\",s[0]),t.selectAll(\".extent,.e>rect,.w>rect\").attr(\"height\",s[1]-s[0])}function g(){var f,g,y=this,m=a.select(a.event.target),x=r.of(y,arguments),b=a.select(y),_=m.datum(),w=!/^(n|s)$/.test(_)&&n,T=!/^(e|w)$/.test(_)&&i,k=m.classed(\"extent\"),A=kt(y),M=a.mouse(y),S=a.select(c(y)).on(\"keydown.brush\",(function(){32==a.event.keyCode&&(k||(f=null,M[0]-=o[1],M[1]-=s[1],k=2),V())})).on(\"keyup.brush\",(function(){32==a.event.keyCode&&2==k&&(M[0]+=o[1],M[1]+=s[1],k=0,V())}));if(a.event.changedTouches?S.on(\"touchmove.brush\",C).on(\"touchend.brush\",O):S.on(\"mousemove.brush\",C).on(\"mouseup.brush\",O),b.interrupt().selectAll(\"*\").interrupt(),k)M[0]=o[0]-M[0],M[1]=s[0]-M[1];else if(_){var E=+/w$/.test(_),L=+/^n/.test(_);g=[o[1-E]-M[0],s[1-L]-M[1]],M[0]=o[E],M[1]=s[L]}else a.event.altKey&&(f=M.slice());function C(){var t=a.mouse(y),e=!1;g&&(t[0]+=g[0],t[1]+=g[1]),k||(a.event.altKey?(f||(f=[(o[0]+o[1])/2,(s[0]+s[1])/2]),M[0]=o[+(t[0](n=1))return n;for(;ra?r=i:n=i,i=.5*(n-r)+r}return i},i.prototype.solve=function(t,e){return this.sampleCurveY(this.solveCurveX(t,e))};var a=o;function o(t,e){this.x=t,this.y=e}o.prototype={clone:function(){return new o(this.x,this.y)},add:function(t){return this.clone()._add(t)},sub:function(t){return this.clone()._sub(t)},multByPoint:function(t){return this.clone()._multByPoint(t)},divByPoint:function(t){return this.clone()._divByPoint(t)},mult:function(t){return this.clone()._mult(t)},div:function(t){return this.clone()._div(t)},rotate:function(t){return this.clone()._rotate(t)},rotateAround:function(t,e){return this.clone()._rotateAround(t,e)},matMult:function(t){return this.clone()._matMult(t)},unit:function(){return this.clone()._unit()},perp:function(){return this.clone()._perp()},round:function(){return this.clone()._round()},mag:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},equals:function(t){return this.x===t.x&&this.y===t.y},dist:function(t){return Math.sqrt(this.distSqr(t))},distSqr:function(t){var e=t.x-this.x,r=t.y-this.y;return e*e+r*r},angle:function(){return Math.atan2(this.y,this.x)},angleTo:function(t){return Math.atan2(this.y-t.y,this.x-t.x)},angleWith:function(t){return this.angleWithSep(t.x,t.y)},angleWithSep:function(t,e){return Math.atan2(this.x*e-this.y*t,this.x*t+this.y*e)},_matMult:function(t){var e=t[0]*this.x+t[1]*this.y,r=t[2]*this.x+t[3]*this.y;return this.x=e,this.y=r,this},_add:function(t){return this.x+=t.x,this.y+=t.y,this},_sub:function(t){return this.x-=t.x,this.y-=t.y,this},_mult:function(t){return this.x*=t,this.y*=t,this},_div:function(t){return this.x/=t,this.y/=t,this},_multByPoint:function(t){return this.x*=t.x,this.y*=t.y,this},_divByPoint:function(t){return this.x/=t.x,this.y/=t.y,this},_unit:function(){return this._div(this.mag()),this},_perp:function(){var t=this.y;return this.y=this.x,this.x=-t,this},_rotate:function(t){var e=Math.cos(t),r=Math.sin(t),n=e*this.x-r*this.y,i=r*this.x+e*this.y;return this.x=n,this.y=i,this},_rotateAround:function(t,e){var r=Math.cos(t),n=Math.sin(t),i=e.x+r*(this.x-e.x)-n*(this.y-e.y),a=e.y+n*(this.x-e.x)+r*(this.y-e.y);return this.x=i,this.y=a,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},o.convert=function(t){return t instanceof o?t:Array.isArray(t)?new o(t[0],t[1]):t};var s=\"undefined\"!=typeof self?self:{};var l=Math.pow(2,53)-1;function u(t,e,r,i){var a=new n(t,e,r,i);return function(t){return a.solve(t)}}var c=u(.25,.1,.25,1);function f(t,e,r){return Math.min(r,Math.max(e,t))}function h(t,e,r){var n=r-e,i=((t-e)%n+n)%n+e;return i===e?r:i}function p(t){for(var e=[],r=arguments.length-1;r-- >0;)e[r]=arguments[r+1];for(var n=0,i=e;n>e/4).toString(16):([1e7]+-[1e3]+-4e3+-8e3+-1e11).replace(/[018]/g,t)}()}function y(t){return!!t&&/^[0-9a-f]{8}-[0-9a-f]{4}-[4][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(t)}function m(t,e){t.forEach((function(t){e[t]&&(e[t]=e[t].bind(e))}))}function x(t,e){return-1!==t.indexOf(e,t.length-e.length)}function b(t,e,r){var n={};for(var i in t)n[i]=e.call(r||this,t[i],i,t);return n}function _(t,e,r){var n={};for(var i in t)e.call(r||this,t[i],i,t)&&(n[i]=t[i]);return n}function w(t){return Array.isArray(t)?t.map(w):\"object\"==typeof t&&t?b(t,w):t}var T={};function k(t){T[t]||(\"undefined\"!=typeof console&&console.warn(t),T[t]=!0)}function A(t,e,r){return(r.y-t.y)*(e.x-t.x)>(e.y-t.y)*(r.x-t.x)}function M(t){for(var e=0,r=0,n=t.length,i=n-1,a=void 0,o=void 0;r@\\,;\\:\\\\\"\\/\\[\\]\\?\\=\\{\\}\\x7F]+)(?:\\=(?:([^\\x00-\\x20\\(\\)<>@\\,;\\:\\\\\"\\/\\[\\]\\?\\=\\{\\}\\x7F]+)|(?:\\\"((?:[^\"\\\\]|\\\\.)*)\\\")))?/g,(function(t,r,n,i){var a=n||i;return e[r]=!a||a.toLowerCase(),\"\"})),e[\"max-age\"]){var r=parseInt(e[\"max-age\"],10);isNaN(r)?delete e[\"max-age\"]:e[\"max-age\"]=r}return e}var L=null;function C(t){if(null==L){var e=t.navigator?t.navigator.userAgent:null;L=!!t.safari||!(!e||!(/\\b(iPad|iPhone|iPod)\\b/.test(e)||e.match(\"Safari\")&&!e.match(\"Chrome\")))}return L}function P(t){try{var e=s[t];return e.setItem(\"_mapbox_test_\",1),e.removeItem(\"_mapbox_test_\"),!0}catch(t){return!1}}var O,I,z,D,R=s.performance&&s.performance.now?s.performance.now.bind(s.performance):Date.now.bind(Date),F=s.requestAnimationFrame||s.mozRequestAnimationFrame||s.webkitRequestAnimationFrame||s.msRequestAnimationFrame,B=s.cancelAnimationFrame||s.mozCancelAnimationFrame||s.webkitCancelAnimationFrame||s.msCancelAnimationFrame,N={now:R,frame:function(t){var e=F(t);return{cancel:function(){return B(e)}}},getImageData:function(t,e){void 0===e&&(e=0);var r=s.document.createElement(\"canvas\"),n=r.getContext(\"2d\");if(!n)throw new Error(\"failed to create canvas 2d context\");return r.width=t.width,r.height=t.height,n.drawImage(t,0,0,t.width,t.height),n.getImageData(-e,-e,t.width+2*e,t.height+2*e)},resolveURL:function(t){return O||(O=s.document.createElement(\"a\")),O.href=t,O.href},hardwareConcurrency:s.navigator&&s.navigator.hardwareConcurrency||4,get devicePixelRatio(){return s.devicePixelRatio},get prefersReducedMotion(){return!!s.matchMedia&&(null==I&&(I=s.matchMedia(\"(prefers-reduced-motion: reduce)\")),I.matches)}},j={API_URL:\"https://api.mapbox.com\",get EVENTS_URL(){return this.API_URL?0===this.API_URL.indexOf(\"https://api.mapbox.cn\")?\"https://events.mapbox.cn/events/v2\":0===this.API_URL.indexOf(\"https://api.mapbox.com\")?\"https://events.mapbox.com/events/v2\":null:null},FEEDBACK_URL:\"https://apps.mapbox.com/feedback\",REQUIRE_ACCESS_TOKEN:!0,ACCESS_TOKEN:null,MAX_PARALLEL_IMAGE_REQUESTS:16},U={supported:!1,testSupport:function(t){!V&&D&&(q?H(t):z=t)}},V=!1,q=!1;function H(t){var e=t.createTexture();t.bindTexture(t.TEXTURE_2D,e);try{if(t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,D),t.isContextLost())return;U.supported=!0}catch(t){}t.deleteTexture(e),V=!0}s.document&&((D=s.document.createElement(\"img\")).onload=function(){z&&H(z),z=null,q=!0},D.onerror=function(){V=!0,z=null},D.src=\"data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=\");var G=\"01\";var W=function(t,e){this._transformRequestFn=t,this._customAccessToken=e,this._createSkuToken()};function Y(t){return 0===t.indexOf(\"mapbox:\")}W.prototype._createSkuToken=function(){var t=function(){for(var t=\"\",e=0;e<10;e++)t+=\"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ\"[Math.floor(62*Math.random())];return{token:[\"1\",G,t].join(\"\"),tokenExpiresAt:Date.now()+432e5}}();this._skuToken=t.token,this._skuTokenExpiresAt=t.tokenExpiresAt},W.prototype._isSkuTokenExpired=function(){return Date.now()>this._skuTokenExpiresAt},W.prototype.transformRequest=function(t,e){return this._transformRequestFn&&this._transformRequestFn(t,e)||{url:t}},W.prototype.normalizeStyleURL=function(t,e){if(!Y(t))return t;var r=J(t);return r.path=\"/styles/v1\"+r.path,this._makeAPIURL(r,this._customAccessToken||e)},W.prototype.normalizeGlyphsURL=function(t,e){if(!Y(t))return t;var r=J(t);return r.path=\"/fonts/v1\"+r.path,this._makeAPIURL(r,this._customAccessToken||e)},W.prototype.normalizeSourceURL=function(t,e){if(!Y(t))return t;var r=J(t);return r.path=\"/v4/\"+r.authority+\".json\",r.params.push(\"secure\"),this._makeAPIURL(r,this._customAccessToken||e)},W.prototype.normalizeSpriteURL=function(t,e,r,n){var i=J(t);return Y(t)?(i.path=\"/styles/v1\"+i.path+\"/sprite\"+e+r,this._makeAPIURL(i,this._customAccessToken||n)):(i.path+=\"\"+e+r,$(i))},W.prototype.normalizeTileURL=function(t,e){if(this._isSkuTokenExpired()&&this._createSkuToken(),t&&!Y(t))return t;var r=J(t),n=N.devicePixelRatio>=2||512===e?\"@2x\":\"\",i=U.supported?\".webp\":\"$1\";r.path=r.path.replace(/(\\.(png|jpg)\\d*)(?=$)/,\"\"+n+i),r.path=r.path.replace(/^.+\\/v4\\//,\"/\"),r.path=\"/v4\"+r.path;var a=this._customAccessToken||function(t){for(var e=0,r=t;e=0&&t.params.splice(i,1)}if(\"/\"!==n.path&&(t.path=\"\"+n.path+t.path),!j.REQUIRE_ACCESS_TOKEN)return $(t);if(!(e=e||j.ACCESS_TOKEN))throw new Error(\"An API access token is required to use Mapbox GL. \"+r);if(\"s\"===e[0])throw new Error(\"Use a public access token (pk.*) with Mapbox GL, not a secret access token (sk.*). \"+r);return t.params=t.params.filter((function(t){return-1===t.indexOf(\"access_token\")})),t.params.push(\"access_token=\"+e),$(t)};var X=/^((https?:)?\\/\\/)?([^\\/]+\\.)?mapbox\\.c(n|om)(\\/|\\?|$)/i;function Z(t){return X.test(t)}var K=/^(\\w+):\\/\\/([^/?]*)(\\/[^?]+)?\\??(.+)?/;function J(t){var e=t.match(K);if(!e)throw new Error(\"Unable to parse URL object\");return{protocol:e[1],authority:e[2],path:e[3]||\"/\",params:e[4]?e[4].split(\"&\"):[]}}function $(t){var e=t.params.length?\"?\"+t.params.join(\"&\"):\"\";return t.protocol+\"://\"+t.authority+t.path+e}var Q=\"mapbox.eventData\";function tt(t){if(!t)return null;var e,r=t.split(\".\");if(!r||3!==r.length)return null;try{return JSON.parse((e=r[1],decodeURIComponent(s.atob(e).split(\"\").map((function(t){return\"%\"+(\"00\"+t.charCodeAt(0).toString(16)).slice(-2)})).join(\"\"))))}catch(t){return null}}var et=function(t){this.type=t,this.anonId=null,this.eventData={},this.queue=[],this.pendingRequest=null};et.prototype.getStorageKey=function(t){var e,r,n=tt(j.ACCESS_TOKEN);return e=n&&n.u?(r=n.u,s.btoa(encodeURIComponent(r).replace(/%([0-9A-F]{2})/g,(function(t,e){return String.fromCharCode(Number(\"0x\"+e))})))):j.ACCESS_TOKEN||\"\",t?Q+\".\"+t+\":\"+e:Q+\":\"+e},et.prototype.fetchEventData=function(){var t=P(\"localStorage\"),e=this.getStorageKey(),r=this.getStorageKey(\"uuid\");if(t)try{var n=s.localStorage.getItem(e);n&&(this.eventData=JSON.parse(n));var i=s.localStorage.getItem(r);i&&(this.anonId=i)}catch(t){k(\"Unable to read from LocalStorage\")}},et.prototype.saveEventData=function(){var t=P(\"localStorage\"),e=this.getStorageKey(),r=this.getStorageKey(\"uuid\");if(t)try{s.localStorage.setItem(r,this.anonId),Object.keys(this.eventData).length>=1&&s.localStorage.setItem(e,JSON.stringify(this.eventData))}catch(t){k(\"Unable to write to LocalStorage\")}},et.prototype.processRequests=function(t){},et.prototype.postEvent=function(t,e,n,i){var a=this;if(j.EVENTS_URL){var o=J(j.EVENTS_URL);o.params.push(\"access_token=\"+(i||j.ACCESS_TOKEN||\"\"));var s={event:this.type,created:new Date(t).toISOString(),sdkIdentifier:\"mapbox-gl-js\",sdkVersion:r,skuId:G,userId:this.anonId},l=e?p(s,e):s,u={url:$(o),headers:{\"Content-Type\":\"text/plain\"},body:JSON.stringify([l])};this.pendingRequest=St(u,(function(t){a.pendingRequest=null,n(t),a.saveEventData(),a.processRequests(i)}))}},et.prototype.queueRequest=function(t,e){this.queue.push(t),this.processRequests(e)};var rt,nt,it=function(t){function e(){t.call(this,\"map.load\"),this.success={},this.skuToken=\"\"}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.postMapLoadEvent=function(t,e,r,n){this.skuToken=r,(j.EVENTS_URL&&n||j.ACCESS_TOKEN&&Array.isArray(t)&&t.some((function(t){return Y(t)||Z(t)})))&&this.queueRequest({id:e,timestamp:Date.now()},n)},e.prototype.processRequests=function(t){var e=this;if(!this.pendingRequest&&0!==this.queue.length){var r=this.queue.shift(),n=r.id,i=r.timestamp;n&&this.success[n]||(this.anonId||this.fetchEventData(),y(this.anonId)||(this.anonId=g()),this.postEvent(i,{skuToken:this.skuToken},(function(t){t||n&&(e.success[n]=!0)}),t))}},e}(et),at=function(t){function e(e){t.call(this,\"appUserTurnstile\"),this._customAccessToken=e}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.postTurnstileEvent=function(t,e){j.EVENTS_URL&&j.ACCESS_TOKEN&&Array.isArray(t)&&t.some((function(t){return Y(t)||Z(t)}))&&this.queueRequest(Date.now(),e)},e.prototype.processRequests=function(t){var e=this;if(!this.pendingRequest&&0!==this.queue.length){this.anonId&&this.eventData.lastSuccess&&this.eventData.tokenU||this.fetchEventData();var r=tt(j.ACCESS_TOKEN),n=r?r.u:j.ACCESS_TOKEN,i=n!==this.eventData.tokenU;y(this.anonId)||(this.anonId=g(),i=!0);var a=this.queue.shift();if(this.eventData.lastSuccess){var o=new Date(this.eventData.lastSuccess),s=new Date(a),l=(a-this.eventData.lastSuccess)/864e5;i=i||l>=1||l<-1||o.getDate()!==s.getDate()}else i=!0;if(!i)return this.processRequests();this.postEvent(a,{\"enabled.telemetry\":!1},(function(t){t||(e.eventData.lastSuccess=a,e.eventData.tokenU=n)}),t)}},e}(et),ot=new at,st=ot.postTurnstileEvent.bind(ot),lt=new it,ut=lt.postMapLoadEvent.bind(lt),ct=\"mapbox-tiles\",ft=500,ht=50,pt=42e4;function dt(){s.caches&&!rt&&(rt=s.caches.open(ct))}function vt(t,e,r){if(dt(),rt){var n={status:e.status,statusText:e.statusText,headers:new s.Headers};e.headers.forEach((function(t,e){return n.headers.set(e,t)}));var i=E(e.headers.get(\"Cache-Control\")||\"\");i[\"no-store\"]||(i[\"max-age\"]&&n.headers.set(\"Expires\",new Date(r+1e3*i[\"max-age\"]).toUTCString()),new Date(n.headers.get(\"Expires\")).getTime()-rDate.now()&&!r[\"no-cache\"]}(n);t.delete(r),i&&t.put(r,n.clone()),e(null,n,i)})).catch(e)})).catch(e)}var mt,xt=1/0;function bt(){return null==mt&&(mt=s.OffscreenCanvas&&new s.OffscreenCanvas(1,1).getContext(\"2d\")&&\"function\"==typeof s.createImageBitmap),mt}var _t={Unknown:\"Unknown\",Style:\"Style\",Source:\"Source\",Tile:\"Tile\",Glyphs:\"Glyphs\",SpriteImage:\"SpriteImage\",SpriteJSON:\"SpriteJSON\",Image:\"Image\"};\"function\"==typeof Object.freeze&&Object.freeze(_t);var wt=function(t){function e(e,r,n){401===r&&Z(n)&&(e+=\": you may have provided an invalid Mapbox access token. See https://www.mapbox.com/api-documentation/#access-tokens-and-token-scopes\"),t.call(this,e),this.status=r,this.url=n,this.name=this.constructor.name,this.message=e}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.toString=function(){return this.name+\": \"+this.message+\" (\"+this.status+\"): \"+this.url},e}(Error),Tt=S()?function(){return self.worker&&self.worker.referrer}:function(){return(\"blob:\"===s.location.protocol?s.parent:s).location.href};function kt(t,e){var r,n=new s.AbortController,i=new s.Request(t.url,{method:t.method||\"GET\",body:t.body,credentials:t.credentials,headers:t.headers,referrer:Tt(),signal:n.signal}),a=!1,o=!1,l=(r=i.url).indexOf(\"sku=\")>0&&Z(r);\"json\"===t.type&&i.headers.set(\"Accept\",\"application/json\");var u=function(r,n,a){if(!o){if(r&&\"SecurityError\"!==r.message&&k(r),n&&a)return c(n);var u=Date.now();s.fetch(i).then((function(r){if(r.ok){var n=l?r.clone():null;return c(r,n,u)}return e(new wt(r.statusText,r.status,t.url))})).catch((function(t){20!==t.code&&e(new Error(t.message))}))}},c=function(r,n,s){(\"arrayBuffer\"===t.type?r.arrayBuffer():\"json\"===t.type?r.json():r.text()).then((function(t){o||(n&&s&&vt(i,n,s),a=!0,e(null,t,r.headers.get(\"Cache-Control\"),r.headers.get(\"Expires\")))})).catch((function(t){o||e(new Error(t.message))}))};return l?yt(i,u):u(null,null),{cancel:function(){o=!0,a||n.abort()}}}var At=function(t,e){if(r=t.url,!(/^file:/.test(r)||/^file:/.test(Tt())&&!/^\\w+:/.test(r))){if(s.fetch&&s.Request&&s.AbortController&&s.Request.prototype.hasOwnProperty(\"signal\"))return kt(t,e);if(S()&&self.worker&&self.worker.actor){return self.worker.actor.send(\"getResource\",t,e,void 0,!0)}}var r;return function(t,e){var r=new s.XMLHttpRequest;for(var n in r.open(t.method||\"GET\",t.url,!0),\"arrayBuffer\"===t.type&&(r.responseType=\"arraybuffer\"),t.headers)r.setRequestHeader(n,t.headers[n]);return\"json\"===t.type&&(r.responseType=\"text\",r.setRequestHeader(\"Accept\",\"application/json\")),r.withCredentials=\"include\"===t.credentials,r.onerror=function(){e(new Error(r.statusText))},r.onload=function(){if((r.status>=200&&r.status<300||0===r.status)&&null!==r.response){var n=r.response;if(\"json\"===t.type)try{n=JSON.parse(r.response)}catch(t){return e(t)}e(null,n,r.getResponseHeader(\"Cache-Control\"),r.getResponseHeader(\"Expires\"))}else e(new wt(r.statusText,r.status,t.url))},r.send(t.body),{cancel:function(){return r.abort()}}}(t,e)},Mt=function(t,e){return At(p(t,{type:\"arrayBuffer\"}),e)},St=function(t,e){return At(p(t,{method:\"POST\"}),e)};var Et,Lt,Ct=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=\";Et=[],Lt=0;var Pt=function(t,e){if(U.supported&&(t.headers||(t.headers={}),t.headers.accept=\"image/webp,*/*\"),Lt>=j.MAX_PARALLEL_IMAGE_REQUESTS){var r={requestParameters:t,callback:e,cancelled:!1,cancel:function(){this.cancelled=!0}};return Et.push(r),r}Lt++;var n=!1,i=function(){if(!n)for(n=!0,Lt--;Et.length&&Lt0||this._oneTimeListeners&&this._oneTimeListeners[t]&&this._oneTimeListeners[t].length>0||this._eventedParent&&this._eventedParent.listens(t)},Rt.prototype.setEventedParent=function(t,e){return this._eventedParent=t,this._eventedParentData=e,this};var Ft={$version:8,$root:{version:{required:!0,type:\"enum\",values:[8]},name:{type:\"string\"},metadata:{type:\"*\"},center:{type:\"array\",value:\"number\"},zoom:{type:\"number\"},bearing:{type:\"number\",default:0,period:360,units:\"degrees\"},pitch:{type:\"number\",default:0,units:\"degrees\"},light:{type:\"light\"},sources:{required:!0,type:\"sources\"},sprite:{type:\"string\"},glyphs:{type:\"string\"},transition:{type:\"transition\"},layers:{required:!0,type:\"array\",value:\"layer\"}},sources:{\"*\":{type:\"source\"}},source:[\"source_vector\",\"source_raster\",\"source_raster_dem\",\"source_geojson\",\"source_video\",\"source_image\"],source_vector:{type:{required:!0,type:\"enum\",values:{vector:{}}},url:{type:\"string\"},tiles:{type:\"array\",value:\"string\"},bounds:{type:\"array\",value:\"number\",length:4,default:[-180,-85.051129,180,85.051129]},scheme:{type:\"enum\",values:{xyz:{},tms:{}},default:\"xyz\"},minzoom:{type:\"number\",default:0},maxzoom:{type:\"number\",default:22},attribution:{type:\"string\"},promoteId:{type:\"promoteId\"},volatile:{type:\"boolean\",default:!1},\"*\":{type:\"*\"}},source_raster:{type:{required:!0,type:\"enum\",values:{raster:{}}},url:{type:\"string\"},tiles:{type:\"array\",value:\"string\"},bounds:{type:\"array\",value:\"number\",length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:\"number\",default:0},maxzoom:{type:\"number\",default:22},tileSize:{type:\"number\",default:512,units:\"pixels\"},scheme:{type:\"enum\",values:{xyz:{},tms:{}},default:\"xyz\"},attribution:{type:\"string\"},volatile:{type:\"boolean\",default:!1},\"*\":{type:\"*\"}},source_raster_dem:{type:{required:!0,type:\"enum\",values:{\"raster-dem\":{}}},url:{type:\"string\"},tiles:{type:\"array\",value:\"string\"},bounds:{type:\"array\",value:\"number\",length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:\"number\",default:0},maxzoom:{type:\"number\",default:22},tileSize:{type:\"number\",default:512,units:\"pixels\"},attribution:{type:\"string\"},encoding:{type:\"enum\",values:{terrarium:{},mapbox:{}},default:\"mapbox\"},volatile:{type:\"boolean\",default:!1},\"*\":{type:\"*\"}},source_geojson:{type:{required:!0,type:\"enum\",values:{geojson:{}}},data:{type:\"*\"},maxzoom:{type:\"number\",default:18},attribution:{type:\"string\"},buffer:{type:\"number\",default:128,maximum:512,minimum:0},filter:{type:\"*\"},tolerance:{type:\"number\",default:.375},cluster:{type:\"boolean\",default:!1},clusterRadius:{type:\"number\",default:50,minimum:0},clusterMaxZoom:{type:\"number\"},clusterMinPoints:{type:\"number\"},clusterProperties:{type:\"*\"},lineMetrics:{type:\"boolean\",default:!1},generateId:{type:\"boolean\",default:!1},promoteId:{type:\"promoteId\"}},source_video:{type:{required:!0,type:\"enum\",values:{video:{}}},urls:{required:!0,type:\"array\",value:\"string\"},coordinates:{required:!0,type:\"array\",length:4,value:{type:\"array\",length:2,value:\"number\"}}},source_image:{type:{required:!0,type:\"enum\",values:{image:{}}},url:{required:!0,type:\"string\"},coordinates:{required:!0,type:\"array\",length:4,value:{type:\"array\",length:2,value:\"number\"}}},layer:{id:{type:\"string\",required:!0},type:{type:\"enum\",values:{fill:{},line:{},symbol:{},circle:{},heatmap:{},\"fill-extrusion\":{},raster:{},hillshade:{},background:{}},required:!0},metadata:{type:\"*\"},source:{type:\"string\"},\"source-layer\":{type:\"string\"},minzoom:{type:\"number\",minimum:0,maximum:24},maxzoom:{type:\"number\",minimum:0,maximum:24},filter:{type:\"filter\"},layout:{type:\"layout\"},paint:{type:\"paint\"}},layout:[\"layout_fill\",\"layout_line\",\"layout_circle\",\"layout_heatmap\",\"layout_fill-extrusion\",\"layout_symbol\",\"layout_raster\",\"layout_hillshade\",\"layout_background\"],layout_background:{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_fill:{\"fill-sort-key\":{type:\"number\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_circle:{\"circle-sort-key\":{type:\"number\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_heatmap:{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},\"layout_fill-extrusion\":{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_line:{\"line-cap\":{type:\"enum\",values:{butt:{},round:{},square:{}},default:\"butt\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-join\":{type:\"enum\",values:{bevel:{},round:{},miter:{}},default:\"miter\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"line-miter-limit\":{type:\"number\",default:2,requires:[{\"line-join\":\"miter\"}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-round-limit\":{type:\"number\",default:1.05,requires:[{\"line-join\":\"round\"}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-sort-key\":{type:\"number\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_symbol:{\"symbol-placement\":{type:\"enum\",values:{point:{},line:{},\"line-center\":{}},default:\"point\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"symbol-spacing\":{type:\"number\",default:250,minimum:1,units:\"pixels\",requires:[{\"symbol-placement\":\"line\"}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"symbol-avoid-edges\":{type:\"boolean\",default:!1,expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"symbol-sort-key\":{type:\"number\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"symbol-z-order\":{type:\"enum\",values:{auto:{},\"viewport-y\":{},source:{}},default:\"auto\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-allow-overlap\":{type:\"boolean\",default:!1,requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-ignore-placement\":{type:\"boolean\",default:!1,requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-optional\":{type:\"boolean\",default:!1,requires:[\"icon-image\",\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-rotation-alignment\":{type:\"enum\",values:{map:{},viewport:{},auto:{}},default:\"auto\",requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-size\":{type:\"number\",default:1,minimum:0,units:\"factor of the original icon size\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-text-fit\":{type:\"enum\",values:{none:{},width:{},height:{},both:{}},default:\"none\",requires:[\"icon-image\",\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-text-fit-padding\":{type:\"array\",value:\"number\",length:4,default:[0,0,0,0],units:\"pixels\",requires:[\"icon-image\",\"text-field\",{\"icon-text-fit\":[\"both\",\"width\",\"height\"]}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-image\":{type:\"resolvedImage\",tokens:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-rotate\":{type:\"number\",default:0,period:360,units:\"degrees\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-padding\":{type:\"number\",default:2,minimum:0,units:\"pixels\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-keep-upright\":{type:\"boolean\",default:!1,requires:[\"icon-image\",{\"icon-rotation-alignment\":\"map\"},{\"symbol-placement\":[\"line\",\"line-center\"]}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-offset\":{type:\"array\",value:\"number\",length:2,default:[0,0],requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-anchor\":{type:\"enum\",values:{center:{},left:{},right:{},top:{},bottom:{},\"top-left\":{},\"top-right\":{},\"bottom-left\":{},\"bottom-right\":{}},default:\"center\",requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-pitch-alignment\":{type:\"enum\",values:{map:{},viewport:{},auto:{}},default:\"auto\",requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-pitch-alignment\":{type:\"enum\",values:{map:{},viewport:{},auto:{}},default:\"auto\",requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-rotation-alignment\":{type:\"enum\",values:{map:{},viewport:{},auto:{}},default:\"auto\",requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-field\":{type:\"formatted\",default:\"\",tokens:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-font\":{type:\"array\",value:\"string\",default:[\"Open Sans Regular\",\"Arial Unicode MS Regular\"],requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-size\":{type:\"number\",default:16,minimum:0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-max-width\":{type:\"number\",default:10,minimum:0,units:\"ems\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-line-height\":{type:\"number\",default:1.2,units:\"ems\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-letter-spacing\":{type:\"number\",default:0,units:\"ems\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-justify\":{type:\"enum\",values:{auto:{},left:{},center:{},right:{}},default:\"center\",requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-radial-offset\":{type:\"number\",units:\"ems\",default:0,requires:[\"text-field\"],\"property-type\":\"data-driven\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]}},\"text-variable-anchor\":{type:\"array\",value:\"enum\",values:{center:{},left:{},right:{},top:{},bottom:{},\"top-left\":{},\"top-right\":{},\"bottom-left\":{},\"bottom-right\":{}},requires:[\"text-field\",{\"symbol-placement\":[\"point\"]}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-anchor\":{type:\"enum\",values:{center:{},left:{},right:{},top:{},bottom:{},\"top-left\":{},\"top-right\":{},\"bottom-left\":{},\"bottom-right\":{}},default:\"center\",requires:[\"text-field\",{\"!\":\"text-variable-anchor\"}],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-max-angle\":{type:\"number\",default:45,units:\"degrees\",requires:[\"text-field\",{\"symbol-placement\":[\"line\",\"line-center\"]}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-writing-mode\":{type:\"array\",value:\"enum\",values:{horizontal:{},vertical:{}},requires:[\"text-field\",{\"symbol-placement\":[\"point\"]}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-rotate\":{type:\"number\",default:0,period:360,units:\"degrees\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-padding\":{type:\"number\",default:2,minimum:0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-keep-upright\":{type:\"boolean\",default:!0,requires:[\"text-field\",{\"text-rotation-alignment\":\"map\"},{\"symbol-placement\":[\"line\",\"line-center\"]}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-transform\":{type:\"enum\",values:{none:{},uppercase:{},lowercase:{}},default:\"none\",requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-offset\":{type:\"array\",value:\"number\",units:\"ems\",length:2,default:[0,0],requires:[\"text-field\",{\"!\":\"text-radial-offset\"}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-allow-overlap\":{type:\"boolean\",default:!1,requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-ignore-placement\":{type:\"boolean\",default:!1,requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-optional\":{type:\"boolean\",default:!1,requires:[\"text-field\",\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_raster:{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_hillshade:{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},filter:{type:\"array\",value:\"*\"},filter_operator:{type:\"enum\",values:{\"==\":{},\"!=\":{},\">\":{},\">=\":{},\"<\":{},\"<=\":{},in:{},\"!in\":{},all:{},any:{},none:{},has:{},\"!has\":{},within:{}}},geometry_type:{type:\"enum\",values:{Point:{},LineString:{},Polygon:{}}},function:{expression:{type:\"expression\"},stops:{type:\"array\",value:\"function_stop\"},base:{type:\"number\",default:1,minimum:0},property:{type:\"string\",default:\"$zoom\"},type:{type:\"enum\",values:{identity:{},exponential:{},interval:{},categorical:{}},default:\"exponential\"},colorSpace:{type:\"enum\",values:{rgb:{},lab:{},hcl:{}},default:\"rgb\"},default:{type:\"*\",required:!1}},function_stop:{type:\"array\",minimum:0,maximum:24,value:[\"number\",\"color\"],length:2},expression:{type:\"array\",value:\"*\",minimum:1},light:{anchor:{type:\"enum\",default:\"viewport\",values:{map:{},viewport:{}},\"property-type\":\"data-constant\",transition:!1,expression:{interpolated:!1,parameters:[\"zoom\"]}},position:{type:\"array\",default:[1.15,210,30],length:3,value:\"number\",\"property-type\":\"data-constant\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]}},color:{type:\"color\",\"property-type\":\"data-constant\",default:\"#ffffff\",expression:{interpolated:!0,parameters:[\"zoom\"]},transition:!0},intensity:{type:\"number\",\"property-type\":\"data-constant\",default:.5,minimum:0,maximum:1,expression:{interpolated:!0,parameters:[\"zoom\"]},transition:!0}},paint:[\"paint_fill\",\"paint_line\",\"paint_circle\",\"paint_heatmap\",\"paint_fill-extrusion\",\"paint_symbol\",\"paint_raster\",\"paint_hillshade\",\"paint_background\"],paint_fill:{\"fill-antialias\":{type:\"boolean\",default:!0,expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[{\"!\":\"fill-pattern\"}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-outline-color\":{type:\"color\",transition:!0,requires:[{\"!\":\"fill-pattern\"},{\"fill-antialias\":!0}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"fill-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-pattern\":{type:\"resolvedImage\",transition:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"cross-faded-data-driven\"}},\"paint_fill-extrusion\":{\"fill-extrusion-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-extrusion-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[{\"!\":\"fill-extrusion-pattern\"}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-extrusion-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-extrusion-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"fill-extrusion-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-extrusion-pattern\":{type:\"resolvedImage\",transition:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"cross-faded-data-driven\"},\"fill-extrusion-height\":{type:\"number\",default:0,minimum:0,units:\"meters\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-extrusion-base\":{type:\"number\",default:0,minimum:0,units:\"meters\",transition:!0,requires:[\"fill-extrusion-height\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-extrusion-vertical-gradient\":{type:\"boolean\",default:!0,transition:!1,expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_line:{\"line-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[{\"!\":\"line-pattern\"}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"line-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-width\":{type:\"number\",default:1,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-gap-width\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-offset\":{type:\"number\",default:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-blur\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-dasharray\":{type:\"array\",value:\"number\",minimum:0,transition:!0,units:\"line widths\",requires:[{\"!\":\"line-pattern\"}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"cross-faded\"},\"line-pattern\":{type:\"resolvedImage\",transition:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"cross-faded-data-driven\"},\"line-gradient\":{type:\"color\",transition:!1,requires:[{\"!\":\"line-dasharray\"},{\"!\":\"line-pattern\"},{source:\"geojson\",has:{lineMetrics:!0}}],expression:{interpolated:!0,parameters:[\"line-progress\"]},\"property-type\":\"color-ramp\"}},paint_circle:{\"circle-radius\":{type:\"number\",default:5,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-color\":{type:\"color\",default:\"#000000\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-blur\":{type:\"number\",default:0,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"circle-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"circle-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"circle-pitch-scale\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"circle-pitch-alignment\":{type:\"enum\",values:{map:{},viewport:{}},default:\"viewport\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"circle-stroke-width\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-stroke-color\":{type:\"color\",default:\"#000000\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-stroke-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"}},paint_heatmap:{\"heatmap-radius\":{type:\"number\",default:30,minimum:1,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"heatmap-weight\":{type:\"number\",default:1,minimum:0,transition:!1,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"heatmap-intensity\":{type:\"number\",default:1,minimum:0,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"heatmap-color\":{type:\"color\",default:[\"interpolate\",[\"linear\"],[\"heatmap-density\"],0,\"rgba(0, 0, 255, 0)\",.1,\"royalblue\",.3,\"cyan\",.5,\"lime\",.7,\"yellow\",1,\"red\"],transition:!1,expression:{interpolated:!0,parameters:[\"heatmap-density\"]},\"property-type\":\"color-ramp\"},\"heatmap-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_symbol:{\"icon-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-halo-color\":{type:\"color\",default:\"rgba(0, 0, 0, 0)\",transition:!0,requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-halo-width\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-halo-blur\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"icon-image\",\"icon-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-color\":{type:\"color\",default:\"#000000\",transition:!0,overridable:!0,requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-halo-color\":{type:\"color\",default:\"rgba(0, 0, 0, 0)\",transition:!0,requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-halo-width\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-halo-blur\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"text-field\",\"text-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_raster:{\"raster-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-hue-rotate\":{type:\"number\",default:0,period:360,transition:!0,units:\"degrees\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-brightness-min\":{type:\"number\",default:0,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-brightness-max\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-saturation\":{type:\"number\",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-contrast\":{type:\"number\",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-resampling\":{type:\"enum\",values:{linear:{},nearest:{}},default:\"linear\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-fade-duration\":{type:\"number\",default:300,minimum:0,transition:!1,units:\"milliseconds\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_hillshade:{\"hillshade-illumination-direction\":{type:\"number\",default:335,minimum:0,maximum:359,transition:!1,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-illumination-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"viewport\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-exaggeration\":{type:\"number\",default:.5,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-shadow-color\":{type:\"color\",default:\"#000000\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-highlight-color\":{type:\"color\",default:\"#FFFFFF\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-accent-color\":{type:\"color\",default:\"#000000\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_background:{\"background-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[{\"!\":\"background-pattern\"}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"background-pattern\":{type:\"resolvedImage\",transition:!0,expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"cross-faded\"},\"background-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},transition:{duration:{type:\"number\",default:300,minimum:0,units:\"milliseconds\"},delay:{type:\"number\",default:0,minimum:0,units:\"milliseconds\"}},\"property-type\":{\"data-driven\":{type:\"property-type\"},\"cross-faded\":{type:\"property-type\"},\"cross-faded-data-driven\":{type:\"property-type\"},\"color-ramp\":{type:\"property-type\"},\"data-constant\":{type:\"property-type\"},constant:{type:\"property-type\"}},promoteId:{\"*\":{type:\"string\"}}},Bt=function(t,e,r,n){this.message=(t?t+\": \":\"\")+r,n&&(this.identifier=n),null!=e&&e.__line__&&(this.line=e.__line__)};function Nt(t){var e=t.key,r=t.value;return r?[new Bt(e,r,\"constants have been deprecated as of v8\")]:[]}function jt(t){for(var e=[],r=arguments.length-1;r-- >0;)e[r]=arguments[r+1];for(var n=0,i=e;n\":\"value\"===t.itemType.kind?\"array\":\"array<\"+e+\">\"}return t.kind}var ne=[Gt,Wt,Yt,Xt,Zt,Qt,Kt,ee(Jt),te];function ie(t,e){if(\"error\"===e.kind)return null;if(\"array\"===t.kind){if(\"array\"===e.kind&&(0===e.N&&\"value\"===e.itemType.kind||!ie(t.itemType,e.itemType))&&(\"number\"!=typeof t.N||t.N===e.N))return null}else{if(t.kind===e.kind)return null;if(\"value\"===t.kind)for(var r=0,n=ne;r255?255:t}function i(t){return t<0?0:t>1?1:t}function a(t){return\"%\"===t[t.length-1]?n(parseFloat(t)/100*255):n(parseInt(t))}function o(t){return\"%\"===t[t.length-1]?i(parseFloat(t)/100):i(parseFloat(t))}function s(t,e,r){return r<0?r+=1:r>1&&(r-=1),6*r<1?t+(e-t)*r*6:2*r<1?e:3*r<2?t+(e-t)*(2/3-r)*6:t}try{e.parseCSSColor=function(t){var e,i=t.replace(/ /g,\"\").toLowerCase();if(i in r)return r[i].slice();if(\"#\"===i[0])return 4===i.length?(e=parseInt(i.substr(1),16))>=0&&e<=4095?[(3840&e)>>4|(3840&e)>>8,240&e|(240&e)>>4,15&e|(15&e)<<4,1]:null:7===i.length&&(e=parseInt(i.substr(1),16))>=0&&e<=16777215?[(16711680&e)>>16,(65280&e)>>8,255&e,1]:null;var l=i.indexOf(\"(\"),u=i.indexOf(\")\");if(-1!==l&&u+1===i.length){var c=i.substr(0,l),f=i.substr(l+1,u-(l+1)).split(\",\"),h=1;switch(c){case\"rgba\":if(4!==f.length)return null;h=o(f.pop());case\"rgb\":return 3!==f.length?null:[a(f[0]),a(f[1]),a(f[2]),h];case\"hsla\":if(4!==f.length)return null;h=o(f.pop());case\"hsl\":if(3!==f.length)return null;var p=(parseFloat(f[0])%360+360)%360/360,d=o(f[1]),v=o(f[2]),g=v<=.5?v*(d+1):v+d-v*d,y=2*v-g;return[n(255*s(y,g,p+1/3)),n(255*s(y,g,p)),n(255*s(y,g,p-1/3)),h];default:return null}}return null}}catch(t){}})),le=se.parseCSSColor,ue=function(t,e,r,n){void 0===n&&(n=1),this.r=t,this.g=e,this.b=r,this.a=n};ue.parse=function(t){if(t){if(t instanceof ue)return t;if(\"string\"==typeof t){var e=le(t);if(e)return new ue(e[0]/255*e[3],e[1]/255*e[3],e[2]/255*e[3],e[3])}}},ue.prototype.toString=function(){var t=this.toArray(),e=t[0],r=t[1],n=t[2],i=t[3];return\"rgba(\"+Math.round(e)+\",\"+Math.round(r)+\",\"+Math.round(n)+\",\"+i+\")\"},ue.prototype.toArray=function(){var t=this,e=t.r,r=t.g,n=t.b,i=t.a;return 0===i?[0,0,0,0]:[255*e/i,255*r/i,255*n/i,i]},ue.black=new ue(0,0,0,1),ue.white=new ue(1,1,1,1),ue.transparent=new ue(0,0,0,0),ue.red=new ue(1,0,0,1);var ce=function(t,e,r){this.sensitivity=t?e?\"variant\":\"case\":e?\"accent\":\"base\",this.locale=r,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:\"search\"})};ce.prototype.compare=function(t,e){return this.collator.compare(t,e)},ce.prototype.resolvedLocale=function(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale};var fe=function(t,e,r,n,i){this.text=t,this.image=e,this.scale=r,this.fontStack=n,this.textColor=i},he=function(t){this.sections=t};he.fromString=function(t){return new he([new fe(t,null,null,null,null)])},he.prototype.isEmpty=function(){return 0===this.sections.length||!this.sections.some((function(t){return 0!==t.text.length||t.image&&0!==t.image.name.length}))},he.factory=function(t){return t instanceof he?t:he.fromString(t)},he.prototype.toString=function(){return 0===this.sections.length?\"\":this.sections.map((function(t){return t.text})).join(\"\")},he.prototype.serialize=function(){for(var t=[\"format\"],e=0,r=this.sections;e=0&&t<=255&&\"number\"==typeof e&&e>=0&&e<=255&&\"number\"==typeof r&&r>=0&&r<=255?void 0===n||\"number\"==typeof n&&n>=0&&n<=1?null:\"Invalid rgba value [\"+[t,e,r,n].join(\", \")+\"]: 'a' must be between 0 and 1.\":\"Invalid rgba value [\"+(\"number\"==typeof n?[t,e,r,n]:[t,e,r]).join(\", \")+\"]: 'r', 'g', and 'b' must be between 0 and 255.\"}function ve(t){if(null===t)return!0;if(\"string\"==typeof t)return!0;if(\"boolean\"==typeof t)return!0;if(\"number\"==typeof t)return!0;if(t instanceof ue)return!0;if(t instanceof ce)return!0;if(t instanceof he)return!0;if(t instanceof pe)return!0;if(Array.isArray(t)){for(var e=0,r=t;e2){var s=t[1];if(\"string\"!=typeof s||!(s in be)||\"object\"===s)return e.error('The item type argument of \"array\" must be one of string, number, boolean',1);a=be[s],n++}else a=Jt;if(t.length>3){if(null!==t[2]&&(\"number\"!=typeof t[2]||t[2]<0||t[2]!==Math.floor(t[2])))return e.error('The length argument to \"array\" must be a positive integer literal',2);o=t[2],n++}r=ee(a,o)}else r=be[i];for(var l=[];n1)&&e.push(n)}}return e.concat(this.args.map((function(t){return t.serialize()})))};var we=function(t){this.type=Qt,this.sections=t};we.parse=function(t,e){if(t.length<2)return e.error(\"Expected at least one argument.\");var r=t[1];if(!Array.isArray(r)&&\"object\"==typeof r)return e.error(\"First argument must be an image or text section.\");for(var n=[],i=!1,a=1;a<=t.length-1;++a){var o=t[a];if(i&&\"object\"==typeof o&&!Array.isArray(o)){i=!1;var s=null;if(o[\"font-scale\"]&&!(s=e.parse(o[\"font-scale\"],1,Wt)))return null;var l=null;if(o[\"text-font\"]&&!(l=e.parse(o[\"text-font\"],1,ee(Yt))))return null;var u=null;if(o[\"text-color\"]&&!(u=e.parse(o[\"text-color\"],1,Zt)))return null;var c=n[n.length-1];c.scale=s,c.font=l,c.textColor=u}else{var f=e.parse(t[a],1,Jt);if(!f)return null;var h=f.type.kind;if(\"string\"!==h&&\"value\"!==h&&\"null\"!==h&&\"resolvedImage\"!==h)return e.error(\"Formatted text type must be 'string', 'value', 'image' or 'null'.\");i=!0,n.push({content:f,scale:null,font:null,textColor:null})}}return new we(n)},we.prototype.evaluate=function(t){return new he(this.sections.map((function(e){var r=e.content.evaluate(t);return ge(r)===te?new fe(\"\",r,null,null,null):new fe(ye(r),null,e.scale?e.scale.evaluate(t):null,e.font?e.font.evaluate(t).join(\",\"):null,e.textColor?e.textColor.evaluate(t):null)})))},we.prototype.eachChild=function(t){for(var e=0,r=this.sections;e-1),r},Te.prototype.eachChild=function(t){t(this.input)},Te.prototype.outputDefined=function(){return!1},Te.prototype.serialize=function(){return[\"image\",this.input.serialize()]};var ke={\"to-boolean\":Xt,\"to-color\":Zt,\"to-number\":Wt,\"to-string\":Yt},Ae=function(t,e){this.type=t,this.args=e};Ae.parse=function(t,e){if(t.length<2)return e.error(\"Expected at least one argument.\");var r=t[0];if((\"to-boolean\"===r||\"to-string\"===r)&&2!==t.length)return e.error(\"Expected one argument.\");for(var n=ke[r],i=[],a=1;a4?\"Invalid rbga value \"+JSON.stringify(e)+\": expected an array containing either three or four numeric values.\":de(e[0],e[1],e[2],e[3])))return new ue(e[0]/255,e[1]/255,e[2]/255,e[3])}throw new xe(r||\"Could not parse color from value '\"+(\"string\"==typeof e?e:String(JSON.stringify(e)))+\"'\")}if(\"number\"===this.type.kind){for(var o=null,s=0,l=this.args;s=e[2]||t[1]<=e[1]||t[3]>=e[3])}function Ie(t,e){var r,n=(180+t[0])/360,i=(r=t[1],(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+r*Math.PI/360)))/360),a=Math.pow(2,e.z);return[Math.round(n*a*Ce),Math.round(i*a*Ce)]}function ze(t,e,r){return e[1]>t[1]!=r[1]>t[1]&&t[0]<(r[0]-e[0])*(t[1]-e[1])/(r[1]-e[1])+e[0]}function De(t,e){for(var r=!1,n=0,i=e.length;n0&&f<0||c<0&&f>0}function Be(t,e,r){for(var n=0,i=r;nr[2]){var i=.5*n,a=t[0]-r[0]>i?-n:r[0]-t[0]>i?n:0;0===a&&(a=t[0]-r[2]>i?-n:r[2]-t[0]>i?n:0),t[0]+=a}Pe(e,t)}function He(t,e,r,n){for(var i=Math.pow(2,n.z)*Ce,a=[n.x*Ce,n.y*Ce],o=[],s=0,l=t;s=0)return!1;var r=!0;return t.eachChild((function(t){r&&!Ze(t,e)&&(r=!1)})),r}We.parse=function(t,e){if(2!==t.length)return e.error(\"'within' expression requires exactly one argument, but found \"+(t.length-1)+\" instead.\");if(ve(t[1])){var r=t[1];if(\"FeatureCollection\"===r.type)for(var n=0;ne))throw new xe(\"Input is not a number.\");o=s-1}return 0}Je.prototype.parse=function(t,e,r,n,i){return void 0===i&&(i={}),e?this.concat(e,r,n)._parse(t,i):this._parse(t,i)},Je.prototype._parse=function(t,e){function r(t,e,r){return\"assert\"===r?new _e(e,[t]):\"coerce\"===r?new Ae(e,[t]):t}if(null!==t&&\"string\"!=typeof t&&\"boolean\"!=typeof t&&\"number\"!=typeof t||(t=[\"literal\",t]),Array.isArray(t)){if(0===t.length)return this.error('Expected an array with at least one element. If you wanted a literal array, use [\"literal\", []].');var n=t[0];if(\"string\"!=typeof n)return this.error(\"Expression name must be a string, but found \"+typeof n+' instead. If you wanted a literal array, use [\"literal\", [...]].',0),null;var i=this.registry[n];if(i){var a=i.parse(t,this);if(!a)return null;if(this.expectedType){var o=this.expectedType,s=a.type;if(\"string\"!==o.kind&&\"number\"!==o.kind&&\"boolean\"!==o.kind&&\"object\"!==o.kind&&\"array\"!==o.kind||\"value\"!==s.kind)if(\"color\"!==o.kind&&\"formatted\"!==o.kind&&\"resolvedImage\"!==o.kind||\"value\"!==s.kind&&\"string\"!==s.kind){if(this.checkSubtype(o,s))return null}else a=r(a,o,e.typeAnnotation||\"coerce\");else a=r(a,o,e.typeAnnotation||\"assert\")}if(!(a instanceof me)&&\"resolvedImage\"!==a.type.kind&&$e(a)){var l=new Se;try{a=new me(a.type,a.evaluate(l))}catch(t){return this.error(t.message),null}}return a}return this.error('Unknown expression \"'+n+'\". If you wanted a literal array, use [\"literal\", [...]].',0)}return void 0===t?this.error(\"'undefined' value invalid. Use null instead.\"):\"object\"==typeof t?this.error('Bare objects invalid. Use [\"literal\", {...}] instead.'):this.error(\"Expected an array, but found \"+typeof t+\" instead.\")},Je.prototype.concat=function(t,e,r){var n=\"number\"==typeof t?this.path.concat(t):this.path,i=r?this.scope.concat(r):this.scope;return new Je(this.registry,n,e||null,i,this.errors)},Je.prototype.error=function(t){for(var e=[],r=arguments.length-1;r-- >0;)e[r]=arguments[r+1];var n=\"\"+this.key+e.map((function(t){return\"[\"+t+\"]\"})).join(\"\");this.errors.push(new qt(n,t))},Je.prototype.checkSubtype=function(t,e){var r=ie(t,e);return r&&this.error(r),r};var tr=function(t,e,r){this.type=t,this.input=e,this.labels=[],this.outputs=[];for(var n=0,i=r;n=o)return e.error('Input/output pairs for \"step\" expressions must be arranged with input values in strictly ascending order.',l);var c=e.parse(s,u,i);if(!c)return null;i=i||c.type,n.push([o,c])}return new tr(i,r,n)},tr.prototype.evaluate=function(t){var e=this.labels,r=this.outputs;if(1===e.length)return r[0].evaluate(t);var n=this.input.evaluate(t);if(n<=e[0])return r[0].evaluate(t);var i=e.length;return n>=e[i-1]?r[i-1].evaluate(t):r[Qe(e,n)].evaluate(t)},tr.prototype.eachChild=function(t){t(this.input);for(var e=0,r=this.outputs;e0&&t.push(this.labels[e]),t.push(this.outputs[e].serialize());return t};var rr=Object.freeze({__proto__:null,number:er,color:function(t,e,r){return new ue(er(t.r,e.r,r),er(t.g,e.g,r),er(t.b,e.b,r),er(t.a,e.a,r))},array:function(t,e,r){return t.map((function(t,n){return er(t,e[n],r)}))}}),nr=.95047,ir=1,ar=1.08883,or=4/29,sr=6/29,lr=3*sr*sr,ur=sr*sr*sr,cr=Math.PI/180,fr=180/Math.PI;function hr(t){return t>ur?Math.pow(t,1/3):t/lr+or}function pr(t){return t>sr?t*t*t:lr*(t-or)}function dr(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function vr(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function gr(t){var e=vr(t.r),r=vr(t.g),n=vr(t.b),i=hr((.4124564*e+.3575761*r+.1804375*n)/nr),a=hr((.2126729*e+.7151522*r+.072175*n)/ir);return{l:116*a-16,a:500*(i-a),b:200*(a-hr((.0193339*e+.119192*r+.9503041*n)/ar)),alpha:t.a}}function yr(t){var e=(t.l+16)/116,r=isNaN(t.a)?e:e+t.a/500,n=isNaN(t.b)?e:e-t.b/200;return e=ir*pr(e),r=nr*pr(r),n=ar*pr(n),new ue(dr(3.2404542*r-1.5371385*e-.4985314*n),dr(-.969266*r+1.8760108*e+.041556*n),dr(.0556434*r-.2040259*e+1.0572252*n),t.alpha)}function mr(t,e,r){var n=e-t;return t+r*(n>180||n<-180?n-360*Math.round(n/360):n)}var xr={forward:gr,reverse:yr,interpolate:function(t,e,r){return{l:er(t.l,e.l,r),a:er(t.a,e.a,r),b:er(t.b,e.b,r),alpha:er(t.alpha,e.alpha,r)}}},br={forward:function(t){var e=gr(t),r=e.l,n=e.a,i=e.b,a=Math.atan2(i,n)*fr;return{h:a<0?a+360:a,c:Math.sqrt(n*n+i*i),l:r,alpha:t.a}},reverse:function(t){var e=t.h*cr,r=t.c;return yr({l:t.l,a:Math.cos(e)*r,b:Math.sin(e)*r,alpha:t.alpha})},interpolate:function(t,e,r){return{h:mr(t.h,e.h,r),c:er(t.c,e.c,r),l:er(t.l,e.l,r),alpha:er(t.alpha,e.alpha,r)}}},_r=Object.freeze({__proto__:null,lab:xr,hcl:br}),wr=function(t,e,r,n,i){this.type=t,this.operator=e,this.interpolation=r,this.input=n,this.labels=[],this.outputs=[];for(var a=0,o=i;a1})))return e.error(\"Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.\",1);n={name:\"cubic-bezier\",controlPoints:s}}if(t.length-1<4)return e.error(\"Expected at least 4 arguments, but found only \"+(t.length-1)+\".\");if((t.length-1)%2!=0)return e.error(\"Expected an even number of arguments.\");if(!(i=e.parse(i,2,Wt)))return null;var l=[],u=null;\"interpolate-hcl\"===r||\"interpolate-lab\"===r?u=Zt:e.expectedType&&\"value\"!==e.expectedType.kind&&(u=e.expectedType);for(var c=0;c=f)return e.error('Input/output pairs for \"interpolate\" expressions must be arranged with input values in strictly ascending order.',p);var v=e.parse(h,d,u);if(!v)return null;u=u||v.type,l.push([f,v])}return\"number\"===u.kind||\"color\"===u.kind||\"array\"===u.kind&&\"number\"===u.itemType.kind&&\"number\"==typeof u.N?new wr(u,r,n,i,l):e.error(\"Type \"+re(u)+\" is not interpolatable.\")},wr.prototype.evaluate=function(t){var e=this.labels,r=this.outputs;if(1===e.length)return r[0].evaluate(t);var n=this.input.evaluate(t);if(n<=e[0])return r[0].evaluate(t);var i=e.length;if(n>=e[i-1])return r[i-1].evaluate(t);var a=Qe(e,n),o=e[a],s=e[a+1],l=wr.interpolationFactor(this.interpolation,n,o,s),u=r[a].evaluate(t),c=r[a+1].evaluate(t);return\"interpolate\"===this.operator?rr[this.type.kind.toLowerCase()](u,c,l):\"interpolate-hcl\"===this.operator?br.reverse(br.interpolate(br.forward(u),br.forward(c),l)):xr.reverse(xr.interpolate(xr.forward(u),xr.forward(c),l))},wr.prototype.eachChild=function(t){t(this.input);for(var e=0,r=this.outputs;e=r.length)throw new xe(\"Array index out of bounds: \"+e+\" > \"+(r.length-1)+\".\");if(e!==Math.floor(e))throw new xe(\"Array index must be an integer, but found \"+e+\" instead.\");return r[e]},Mr.prototype.eachChild=function(t){t(this.index),t(this.input)},Mr.prototype.outputDefined=function(){return!1},Mr.prototype.serialize=function(){return[\"at\",this.index.serialize(),this.input.serialize()]};var Sr=function(t,e){this.type=Xt,this.needle=t,this.haystack=e};Sr.parse=function(t,e){if(3!==t.length)return e.error(\"Expected 2 arguments, but found \"+(t.length-1)+\" instead.\");var r=e.parse(t[1],1,Jt),n=e.parse(t[2],2,Jt);return r&&n?ae(r.type,[Xt,Yt,Wt,Gt,Jt])?new Sr(r,n):e.error(\"Expected first argument to be of type boolean, string, number or null, but found \"+re(r.type)+\" instead\"):null},Sr.prototype.evaluate=function(t){var e=this.needle.evaluate(t),r=this.haystack.evaluate(t);if(!r)return!1;if(!oe(e,[\"boolean\",\"string\",\"number\",\"null\"]))throw new xe(\"Expected first argument to be of type boolean, string, number or null, but found \"+re(ge(e))+\" instead.\");if(!oe(r,[\"string\",\"array\"]))throw new xe(\"Expected second argument to be of type array or string, but found \"+re(ge(r))+\" instead.\");return r.indexOf(e)>=0},Sr.prototype.eachChild=function(t){t(this.needle),t(this.haystack)},Sr.prototype.outputDefined=function(){return!0},Sr.prototype.serialize=function(){return[\"in\",this.needle.serialize(),this.haystack.serialize()]};var Er=function(t,e,r){this.type=Wt,this.needle=t,this.haystack=e,this.fromIndex=r};Er.parse=function(t,e){if(t.length<=2||t.length>=5)return e.error(\"Expected 3 or 4 arguments, but found \"+(t.length-1)+\" instead.\");var r=e.parse(t[1],1,Jt),n=e.parse(t[2],2,Jt);if(!r||!n)return null;if(!ae(r.type,[Xt,Yt,Wt,Gt,Jt]))return e.error(\"Expected first argument to be of type boolean, string, number or null, but found \"+re(r.type)+\" instead\");if(4===t.length){var i=e.parse(t[3],3,Wt);return i?new Er(r,n,i):null}return new Er(r,n)},Er.prototype.evaluate=function(t){var e=this.needle.evaluate(t),r=this.haystack.evaluate(t);if(!oe(e,[\"boolean\",\"string\",\"number\",\"null\"]))throw new xe(\"Expected first argument to be of type boolean, string, number or null, but found \"+re(ge(e))+\" instead.\");if(!oe(r,[\"string\",\"array\"]))throw new xe(\"Expected second argument to be of type array or string, but found \"+re(ge(r))+\" instead.\");if(this.fromIndex){var n=this.fromIndex.evaluate(t);return r.indexOf(e,n)}return r.indexOf(e)},Er.prototype.eachChild=function(t){t(this.needle),t(this.haystack),this.fromIndex&&t(this.fromIndex)},Er.prototype.outputDefined=function(){return!1},Er.prototype.serialize=function(){if(null!=this.fromIndex&&void 0!==this.fromIndex){var t=this.fromIndex.serialize();return[\"index-of\",this.needle.serialize(),this.haystack.serialize(),t]}return[\"index-of\",this.needle.serialize(),this.haystack.serialize()]};var Lr=function(t,e,r,n,i,a){this.inputType=t,this.type=e,this.input=r,this.cases=n,this.outputs=i,this.otherwise=a};Lr.parse=function(t,e){if(t.length<5)return e.error(\"Expected at least 4 arguments, but found only \"+(t.length-1)+\".\");if(t.length%2!=1)return e.error(\"Expected an even number of arguments.\");var r,n;e.expectedType&&\"value\"!==e.expectedType.kind&&(n=e.expectedType);for(var i={},a=[],o=2;oNumber.MAX_SAFE_INTEGER)return u.error(\"Branch labels must be integers no larger than \"+Number.MAX_SAFE_INTEGER+\".\");if(\"number\"==typeof h&&Math.floor(h)!==h)return u.error(\"Numeric branch labels must be integer values.\");if(r){if(u.checkSubtype(r,ge(h)))return null}else r=ge(h);if(void 0!==i[String(h)])return u.error(\"Branch labels must be unique.\");i[String(h)]=a.length}var p=e.parse(l,o,n);if(!p)return null;n=n||p.type,a.push(p)}var d=e.parse(t[1],1,Jt);if(!d)return null;var v=e.parse(t[t.length-1],t.length-1,n);return v?\"value\"!==d.type.kind&&e.concat(1).checkSubtype(r,d.type)?null:new Lr(r,n,d,i,a,v):null},Lr.prototype.evaluate=function(t){var e=this.input.evaluate(t);return(ge(e)===this.inputType&&this.outputs[this.cases[e]]||this.otherwise).evaluate(t)},Lr.prototype.eachChild=function(t){t(this.input),this.outputs.forEach(t),t(this.otherwise)},Lr.prototype.outputDefined=function(){return this.outputs.every((function(t){return t.outputDefined()}))&&this.otherwise.outputDefined()},Lr.prototype.serialize=function(){for(var t=this,e=[\"match\",this.input.serialize()],r=[],n={},i=0,a=Object.keys(this.cases).sort();i=5)return e.error(\"Expected 3 or 4 arguments, but found \"+(t.length-1)+\" instead.\");var r=e.parse(t[1],1,Jt),n=e.parse(t[2],2,Wt);if(!r||!n)return null;if(!ae(r.type,[ee(Jt),Yt,Jt]))return e.error(\"Expected first argument to be of type array or string, but found \"+re(r.type)+\" instead\");if(4===t.length){var i=e.parse(t[3],3,Wt);return i?new Pr(r.type,r,n,i):null}return new Pr(r.type,r,n)},Pr.prototype.evaluate=function(t){var e=this.input.evaluate(t),r=this.beginIndex.evaluate(t);if(!oe(e,[\"string\",\"array\"]))throw new xe(\"Expected first argument to be of type array or string, but found \"+re(ge(e))+\" instead.\");if(this.endIndex){var n=this.endIndex.evaluate(t);return e.slice(r,n)}return e.slice(r)},Pr.prototype.eachChild=function(t){t(this.input),t(this.beginIndex),this.endIndex&&t(this.endIndex)},Pr.prototype.outputDefined=function(){return!1},Pr.prototype.serialize=function(){if(null!=this.endIndex&&void 0!==this.endIndex){var t=this.endIndex.serialize();return[\"slice\",this.input.serialize(),this.beginIndex.serialize(),t]}return[\"slice\",this.input.serialize(),this.beginIndex.serialize()]};var Dr=zr(\"==\",(function(t,e,r){return e===r}),Ir),Rr=zr(\"!=\",(function(t,e,r){return e!==r}),(function(t,e,r,n){return!Ir(0,e,r,n)})),Fr=zr(\"<\",(function(t,e,r){return e\",(function(t,e,r){return e>r}),(function(t,e,r,n){return n.compare(e,r)>0})),Nr=zr(\"<=\",(function(t,e,r){return e<=r}),(function(t,e,r,n){return n.compare(e,r)<=0})),jr=zr(\">=\",(function(t,e,r){return e>=r}),(function(t,e,r,n){return n.compare(e,r)>=0})),Ur=function(t,e,r,n,i){this.type=Yt,this.number=t,this.locale=e,this.currency=r,this.minFractionDigits=n,this.maxFractionDigits=i};Ur.parse=function(t,e){if(3!==t.length)return e.error(\"Expected two arguments.\");var r=e.parse(t[1],1,Wt);if(!r)return null;var n=t[2];if(\"object\"!=typeof n||Array.isArray(n))return e.error(\"NumberFormat options argument must be an object.\");var i=null;if(n.locale&&!(i=e.parse(n.locale,1,Yt)))return null;var a=null;if(n.currency&&!(a=e.parse(n.currency,1,Yt)))return null;var o=null;if(n[\"min-fraction-digits\"]&&!(o=e.parse(n[\"min-fraction-digits\"],1,Wt)))return null;var s=null;return n[\"max-fraction-digits\"]&&!(s=e.parse(n[\"max-fraction-digits\"],1,Wt))?null:new Ur(r,i,a,o,s)},Ur.prototype.evaluate=function(t){return new Intl.NumberFormat(this.locale?this.locale.evaluate(t):[],{style:this.currency?\"currency\":\"decimal\",currency:this.currency?this.currency.evaluate(t):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(t):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(t):void 0}).format(this.number.evaluate(t))},Ur.prototype.eachChild=function(t){t(this.number),this.locale&&t(this.locale),this.currency&&t(this.currency),this.minFractionDigits&&t(this.minFractionDigits),this.maxFractionDigits&&t(this.maxFractionDigits)},Ur.prototype.outputDefined=function(){return!1},Ur.prototype.serialize=function(){var t={};return this.locale&&(t.locale=this.locale.serialize()),this.currency&&(t.currency=this.currency.serialize()),this.minFractionDigits&&(t[\"min-fraction-digits\"]=this.minFractionDigits.serialize()),this.maxFractionDigits&&(t[\"max-fraction-digits\"]=this.maxFractionDigits.serialize()),[\"number-format\",this.number.serialize(),t]};var Vr=function(t){this.type=Wt,this.input=t};Vr.parse=function(t,e){if(2!==t.length)return e.error(\"Expected 1 argument, but found \"+(t.length-1)+\" instead.\");var r=e.parse(t[1],1);return r?\"array\"!==r.type.kind&&\"string\"!==r.type.kind&&\"value\"!==r.type.kind?e.error(\"Expected argument of type string or array, but found \"+re(r.type)+\" instead.\"):new Vr(r):null},Vr.prototype.evaluate=function(t){var e=this.input.evaluate(t);if(\"string\"==typeof e)return e.length;if(Array.isArray(e))return e.length;throw new xe(\"Expected value to be of type string or array, but found \"+re(ge(e))+\" instead.\")},Vr.prototype.eachChild=function(t){t(this.input)},Vr.prototype.outputDefined=function(){return!1},Vr.prototype.serialize=function(){var t=[\"length\"];return this.eachChild((function(e){t.push(e.serialize())})),t};var qr={\"==\":Dr,\"!=\":Rr,\">\":Br,\"<\":Fr,\">=\":jr,\"<=\":Nr,array:_e,at:Mr,boolean:_e,case:Cr,coalesce:kr,collator:Le,format:we,image:Te,in:Sr,\"index-of\":Er,interpolate:wr,\"interpolate-hcl\":wr,\"interpolate-lab\":wr,length:Vr,let:Ar,literal:me,match:Lr,number:_e,\"number-format\":Ur,object:_e,slice:Pr,step:tr,string:_e,\"to-boolean\":Ae,\"to-color\":Ae,\"to-number\":Ae,\"to-string\":Ae,var:Ke,within:We};function Hr(t,e){var r=e[0],n=e[1],i=e[2],a=e[3];r=r.evaluate(t),n=n.evaluate(t),i=i.evaluate(t);var o=a?a.evaluate(t):1,s=de(r,n,i,o);if(s)throw new xe(s);return new ue(r/255*o,n/255*o,i/255*o,o)}function Gr(t,e){return t in e}function Wr(t,e){var r=e[t];return void 0===r?null:r}function Yr(t){return{type:t}}function Xr(t){return{result:\"success\",value:t}}function Zr(t){return{result:\"error\",value:t}}function Kr(t){return\"data-driven\"===t[\"property-type\"]||\"cross-faded-data-driven\"===t[\"property-type\"]}function Jr(t){return!!t.expression&&t.expression.parameters.indexOf(\"zoom\")>-1}function $r(t){return!!t.expression&&t.expression.interpolated}function Qr(t){return t instanceof Number?\"number\":t instanceof String?\"string\":t instanceof Boolean?\"boolean\":Array.isArray(t)?\"array\":null===t?\"null\":typeof t}function tn(t){return\"object\"==typeof t&&null!==t&&!Array.isArray(t)}function en(t){return t}function rn(t,e){var r,n,i,a=\"color\"===e.type,o=t.stops&&\"object\"==typeof t.stops[0][0],s=o||void 0!==t.property,l=o||!s,u=t.type||($r(e)?\"exponential\":\"interval\");if(a&&((t=jt({},t)).stops&&(t.stops=t.stops.map((function(t){return[t[0],ue.parse(t[1])]}))),t.default?t.default=ue.parse(t.default):t.default=ue.parse(e.default)),t.colorSpace&&\"rgb\"!==t.colorSpace&&!_r[t.colorSpace])throw new Error(\"Unknown color space: \"+t.colorSpace);if(\"exponential\"===u)r=sn;else if(\"interval\"===u)r=on;else if(\"categorical\"===u){r=an,n=Object.create(null);for(var c=0,f=t.stops;c=t.stops[n-1][0])return t.stops[n-1][1];var i=Qe(t.stops.map((function(t){return t[0]})),r);return t.stops[i][1]}function sn(t,e,r){var n=void 0!==t.base?t.base:1;if(\"number\"!==Qr(r))return nn(t.default,e.default);var i=t.stops.length;if(1===i)return t.stops[0][1];if(r<=t.stops[0][0])return t.stops[0][1];if(r>=t.stops[i-1][0])return t.stops[i-1][1];var a=Qe(t.stops.map((function(t){return t[0]})),r),o=function(t,e,r,n){var i=n-r,a=t-r;return 0===i?0:1===e?a/i:(Math.pow(e,a)-1)/(Math.pow(e,i)-1)}(r,n,t.stops[a][0],t.stops[a+1][0]),s=t.stops[a][1],l=t.stops[a+1][1],u=rr[e.type]||en;if(t.colorSpace&&\"rgb\"!==t.colorSpace){var c=_r[t.colorSpace];u=function(t,e){return c.reverse(c.interpolate(c.forward(t),c.forward(e),o))}}return\"function\"==typeof s.evaluate?{evaluate:function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];var r=s.evaluate.apply(void 0,t),n=l.evaluate.apply(void 0,t);if(void 0!==r&&void 0!==n)return u(r,n,o)}}:u(s,l,o)}function ln(t,e,r){return\"color\"===e.type?r=ue.parse(r):\"formatted\"===e.type?r=he.fromString(r.toString()):\"resolvedImage\"===e.type?r=pe.fromString(r.toString()):Qr(r)===e.type||\"enum\"===e.type&&e.values[r]||(r=void 0),nn(r,t.default,e.default)}Ee.register(qr,{error:[{kind:\"error\"},[Yt],function(t,e){var r=e[0];throw new xe(r.evaluate(t))}],typeof:[Yt,[Jt],function(t,e){return re(ge(e[0].evaluate(t)))}],\"to-rgba\":[ee(Wt,4),[Zt],function(t,e){return e[0].evaluate(t).toArray()}],rgb:[Zt,[Wt,Wt,Wt],Hr],rgba:[Zt,[Wt,Wt,Wt,Wt],Hr],has:{type:Xt,overloads:[[[Yt],function(t,e){return Gr(e[0].evaluate(t),t.properties())}],[[Yt,Kt],function(t,e){var r=e[0],n=e[1];return Gr(r.evaluate(t),n.evaluate(t))}]]},get:{type:Jt,overloads:[[[Yt],function(t,e){return Wr(e[0].evaluate(t),t.properties())}],[[Yt,Kt],function(t,e){var r=e[0],n=e[1];return Wr(r.evaluate(t),n.evaluate(t))}]]},\"feature-state\":[Jt,[Yt],function(t,e){return Wr(e[0].evaluate(t),t.featureState||{})}],properties:[Kt,[],function(t){return t.properties()}],\"geometry-type\":[Yt,[],function(t){return t.geometryType()}],id:[Jt,[],function(t){return t.id()}],zoom:[Wt,[],function(t){return t.globals.zoom}],\"heatmap-density\":[Wt,[],function(t){return t.globals.heatmapDensity||0}],\"line-progress\":[Wt,[],function(t){return t.globals.lineProgress||0}],accumulated:[Jt,[],function(t){return void 0===t.globals.accumulated?null:t.globals.accumulated}],\"+\":[Wt,Yr(Wt),function(t,e){for(var r=0,n=0,i=e;n\":[Xt,[Yt,Jt],function(t,e){var r=e[0],n=e[1],i=t.properties()[r.value],a=n.value;return typeof i==typeof a&&i>a}],\"filter-id->\":[Xt,[Jt],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n>i}],\"filter-<=\":[Xt,[Yt,Jt],function(t,e){var r=e[0],n=e[1],i=t.properties()[r.value],a=n.value;return typeof i==typeof a&&i<=a}],\"filter-id-<=\":[Xt,[Jt],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n<=i}],\"filter->=\":[Xt,[Yt,Jt],function(t,e){var r=e[0],n=e[1],i=t.properties()[r.value],a=n.value;return typeof i==typeof a&&i>=a}],\"filter-id->=\":[Xt,[Jt],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n>=i}],\"filter-has\":[Xt,[Jt],function(t,e){return e[0].value in t.properties()}],\"filter-has-id\":[Xt,[],function(t){return null!==t.id()&&void 0!==t.id()}],\"filter-type-in\":[Xt,[ee(Yt)],function(t,e){return e[0].value.indexOf(t.geometryType())>=0}],\"filter-id-in\":[Xt,[ee(Jt)],function(t,e){return e[0].value.indexOf(t.id())>=0}],\"filter-in-small\":[Xt,[Yt,ee(Jt)],function(t,e){var r=e[0];return e[1].value.indexOf(t.properties()[r.value])>=0}],\"filter-in-large\":[Xt,[Yt,ee(Jt)],function(t,e){var r=e[0],n=e[1];return function(t,e,r,n){for(;r<=n;){var i=r+n>>1;if(e[i]===t)return!0;e[i]>t?n=i-1:r=i+1}return!1}(t.properties()[r.value],n.value,0,n.value.length-1)}],all:{type:Xt,overloads:[[[Xt,Xt],function(t,e){var r=e[0],n=e[1];return r.evaluate(t)&&n.evaluate(t)}],[Yr(Xt),function(t,e){for(var r=0,n=e;r0&&\"string\"==typeof t[0]&&t[0]in qr}function fn(t,e){var r=new Je(qr,[],e?function(t){var e={color:Zt,string:Yt,number:Wt,enum:Yt,boolean:Xt,formatted:Qt,resolvedImage:te};return\"array\"===t.type?ee(e[t.value]||Jt,t.length):e[t.type]}(e):void 0),n=r.parse(t,void 0,void 0,void 0,e&&\"string\"===e.type?{typeAnnotation:\"coerce\"}:void 0);return n?Xr(new un(n,e)):Zr(r.errors)}un.prototype.evaluateWithoutErrorHandling=function(t,e,r,n,i,a){return this._evaluator.globals=t,this._evaluator.feature=e,this._evaluator.featureState=r,this._evaluator.canonical=n,this._evaluator.availableImages=i||null,this._evaluator.formattedSection=a,this.expression.evaluate(this._evaluator)},un.prototype.evaluate=function(t,e,r,n,i,a){this._evaluator.globals=t,this._evaluator.feature=e||null,this._evaluator.featureState=r||null,this._evaluator.canonical=n,this._evaluator.availableImages=i||null,this._evaluator.formattedSection=a||null;try{var o=this.expression.evaluate(this._evaluator);if(null==o||\"number\"==typeof o&&o!=o)return this._defaultValue;if(this._enumValues&&!(o in this._enumValues))throw new xe(\"Expected value to be one of \"+Object.keys(this._enumValues).map((function(t){return JSON.stringify(t)})).join(\", \")+\", but found \"+JSON.stringify(o)+\" instead.\");return o}catch(t){return this._warningHistory[t.message]||(this._warningHistory[t.message]=!0,\"undefined\"!=typeof console&&console.warn(t.message)),this._defaultValue}};var hn=function(t,e){this.kind=t,this._styleExpression=e,this.isStateDependent=\"constant\"!==t&&!Xe(e.expression)};hn.prototype.evaluateWithoutErrorHandling=function(t,e,r,n,i,a){return this._styleExpression.evaluateWithoutErrorHandling(t,e,r,n,i,a)},hn.prototype.evaluate=function(t,e,r,n,i,a){return this._styleExpression.evaluate(t,e,r,n,i,a)};var pn=function(t,e,r,n){this.kind=t,this.zoomStops=r,this._styleExpression=e,this.isStateDependent=\"camera\"!==t&&!Xe(e.expression),this.interpolationType=n};function dn(t,e){if(\"error\"===(t=fn(t,e)).result)return t;var r=t.value.expression,n=Ye(r);if(!n&&!Kr(e))return Zr([new qt(\"\",\"data expressions not supported\")]);var i=Ze(r,[\"zoom\"]);if(!i&&!Jr(e))return Zr([new qt(\"\",\"zoom expressions not supported\")]);var a=gn(r);if(!a&&!i)return Zr([new qt(\"\",'\"zoom\" expression may only be used as input to a top-level \"step\" or \"interpolate\" expression.')]);if(a instanceof qt)return Zr([a]);if(a instanceof wr&&!$r(e))return Zr([new qt(\"\",'\"interpolate\" expressions cannot be used with this property')]);if(!a)return Xr(new hn(n?\"constant\":\"source\",t.value));var o=a instanceof wr?a.interpolation:void 0;return Xr(new pn(n?\"camera\":\"composite\",t.value,a.labels,o))}pn.prototype.evaluateWithoutErrorHandling=function(t,e,r,n,i,a){return this._styleExpression.evaluateWithoutErrorHandling(t,e,r,n,i,a)},pn.prototype.evaluate=function(t,e,r,n,i,a){return this._styleExpression.evaluate(t,e,r,n,i,a)},pn.prototype.interpolationFactor=function(t,e,r){return this.interpolationType?wr.interpolationFactor(this.interpolationType,t,e,r):0};var vn=function(t,e){this._parameters=t,this._specification=e,jt(this,rn(this._parameters,this._specification))};function gn(t){var e=null;if(t instanceof Ar)e=gn(t.result);else if(t instanceof kr)for(var r=0,n=t.args;rn.maximum?[new Bt(e,r,r+\" is greater than the maximum value \"+n.maximum)]:[]}function bn(t){var e,r,n,i=t.valueSpec,a=Ut(t.value.type),o={},s=\"categorical\"!==a&&void 0===t.value.property,l=!s,u=\"array\"===Qr(t.value.stops)&&\"array\"===Qr(t.value.stops[0])&&\"object\"===Qr(t.value.stops[0][0]),c=yn({key:t.key,value:t.value,valueSpec:t.styleSpec.function,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{stops:function(t){if(\"identity\"===a)return[new Bt(t.key,t.value,'identity function may not have a \"stops\" property')];var e=[],r=t.value;return e=e.concat(mn({key:t.key,value:r,valueSpec:t.valueSpec,style:t.style,styleSpec:t.styleSpec,arrayElementValidator:f})),\"array\"===Qr(r)&&0===r.length&&e.push(new Bt(t.key,r,\"array must have at least one stop\")),e},default:function(t){return Hn({key:t.key,value:t.value,valueSpec:i,style:t.style,styleSpec:t.styleSpec})}}});return\"identity\"===a&&s&&c.push(new Bt(t.key,t.value,'missing required property \"property\"')),\"identity\"===a||t.value.stops||c.push(new Bt(t.key,t.value,'missing required property \"stops\"')),\"exponential\"===a&&t.valueSpec.expression&&!$r(t.valueSpec)&&c.push(new Bt(t.key,t.value,\"exponential functions not supported\")),t.styleSpec.$version>=8&&(l&&!Kr(t.valueSpec)?c.push(new Bt(t.key,t.value,\"property functions not supported\")):s&&!Jr(t.valueSpec)&&c.push(new Bt(t.key,t.value,\"zoom functions not supported\"))),\"categorical\"!==a&&!u||void 0!==t.value.property||c.push(new Bt(t.key,t.value,'\"property\" property is required')),c;function f(t){var e=[],a=t.value,s=t.key;if(\"array\"!==Qr(a))return[new Bt(s,a,\"array expected, \"+Qr(a)+\" found\")];if(2!==a.length)return[new Bt(s,a,\"array length 2 expected, length \"+a.length+\" found\")];if(u){if(\"object\"!==Qr(a[0]))return[new Bt(s,a,\"object expected, \"+Qr(a[0])+\" found\")];if(void 0===a[0].zoom)return[new Bt(s,a,\"object stop key must have zoom\")];if(void 0===a[0].value)return[new Bt(s,a,\"object stop key must have value\")];if(n&&n>Ut(a[0].zoom))return[new Bt(s,a[0].zoom,\"stop zoom values must appear in ascending order\")];Ut(a[0].zoom)!==n&&(n=Ut(a[0].zoom),r=void 0,o={}),e=e.concat(yn({key:s+\"[0]\",value:a[0],valueSpec:{zoom:{}},style:t.style,styleSpec:t.styleSpec,objectElementValidators:{zoom:xn,value:h}}))}else e=e.concat(h({key:s+\"[0]\",value:a[0],valueSpec:{},style:t.style,styleSpec:t.styleSpec},a));return cn(Vt(a[1]))?e.concat([new Bt(s+\"[1]\",a[1],\"expressions are not allowed in function stops.\")]):e.concat(Hn({key:s+\"[1]\",value:a[1],valueSpec:i,style:t.style,styleSpec:t.styleSpec}))}function h(t,n){var s=Qr(t.value),l=Ut(t.value),u=null!==t.value?t.value:n;if(e){if(s!==e)return[new Bt(t.key,u,s+\" stop domain type must match previous stop domain type \"+e)]}else e=s;if(\"number\"!==s&&\"string\"!==s&&\"boolean\"!==s)return[new Bt(t.key,u,\"stop domain value must be a number, string, or boolean\")];if(\"number\"!==s&&\"categorical\"!==a){var c=\"number expected, \"+s+\" found\";return Kr(i)&&void 0===a&&(c+='\\nIf you intended to use a categorical function, specify `\"type\": \"categorical\"`.'),[new Bt(t.key,u,c)]}return\"categorical\"!==a||\"number\"!==s||isFinite(l)&&Math.floor(l)===l?\"categorical\"!==a&&\"number\"===s&&void 0!==r&&l=2&&\"$id\"!==t[1]&&\"$type\"!==t[1];case\"in\":return t.length>=3&&(\"string\"!=typeof t[1]||Array.isArray(t[2]));case\"!in\":case\"!has\":case\"none\":return!1;case\"==\":case\"!=\":case\">\":case\">=\":case\"<\":case\"<=\":return 3!==t.length||Array.isArray(t[1])||Array.isArray(t[2]);case\"any\":case\"all\":for(var e=0,r=t.slice(1);ee?1:0}function Sn(t){if(!Array.isArray(t))return!1;if(\"within\"===t[0])return!0;for(var e=1;e\"===r||\"<=\"===r||\">=\"===r?Ln(t[1],t[2],r):\"any\"===r?(e=t.slice(1),[\"any\"].concat(e.map(En))):\"all\"===r?[\"all\"].concat(t.slice(1).map(En)):\"none\"===r?[\"all\"].concat(t.slice(1).map(En).map(On)):\"in\"===r?Cn(t[1],t.slice(2)):\"!in\"===r?On(Cn(t[1],t.slice(2))):\"has\"===r?Pn(t[1]):\"!has\"===r?On(Pn(t[1])):\"within\"!==r||t}function Ln(t,e,r){switch(t){case\"$type\":return[\"filter-type-\"+r,e];case\"$id\":return[\"filter-id-\"+r,e];default:return[\"filter-\"+r,t,e]}}function Cn(t,e){if(0===e.length)return!1;switch(t){case\"$type\":return[\"filter-type-in\",[\"literal\",e]];case\"$id\":return[\"filter-id-in\",[\"literal\",e]];default:return e.length>200&&!e.some((function(t){return typeof t!=typeof e[0]}))?[\"filter-in-large\",t,[\"literal\",e.sort(Mn)]]:[\"filter-in-small\",t,[\"literal\",e]]}}function Pn(t){switch(t){case\"$type\":return!0;case\"$id\":return[\"filter-has-id\"];default:return[\"filter-has\",t]}}function On(t){return[\"!\",t]}function In(t){return Tn(Vt(t.value))?_n(jt({},t,{expressionContext:\"filter\",valueSpec:{value:\"boolean\"}})):zn(t)}function zn(t){var e=t.value,r=t.key;if(\"array\"!==Qr(e))return[new Bt(r,e,\"array expected, \"+Qr(e)+\" found\")];var n,i=t.styleSpec,a=[];if(e.length<1)return[new Bt(r,e,\"filter array must have at least 1 element\")];switch(a=a.concat(wn({key:r+\"[0]\",value:e[0],valueSpec:i.filter_operator,style:t.style,styleSpec:t.styleSpec})),Ut(e[0])){case\"<\":case\"<=\":case\">\":case\">=\":e.length>=2&&\"$type\"===Ut(e[1])&&a.push(new Bt(r,e,'\"$type\" cannot be use with operator \"'+e[0]+'\"'));case\"==\":case\"!=\":3!==e.length&&a.push(new Bt(r,e,'filter array for operator \"'+e[0]+'\" must have 3 elements'));case\"in\":case\"!in\":e.length>=2&&\"string\"!==(n=Qr(e[1]))&&a.push(new Bt(r+\"[1]\",e[1],\"string expected, \"+n+\" found\"));for(var o=2;o=c[p+0]&&n>=c[p+1])?(o[h]=!0,a.push(u[h])):o[h]=!1}}},ri.prototype._forEachCell=function(t,e,r,n,i,a,o,s){for(var l=this._convertToCellCoord(t),u=this._convertToCellCoord(e),c=this._convertToCellCoord(r),f=this._convertToCellCoord(n),h=l;h<=c;h++)for(var p=u;p<=f;p++){var d=this.d*p+h;if((!s||s(this._convertFromCellCoord(h),this._convertFromCellCoord(p),this._convertFromCellCoord(h+1),this._convertFromCellCoord(p+1)))&&i.call(this,t,e,r,n,d,a,o,s))return}},ri.prototype._convertFromCellCoord=function(t){return(t-this.padding)/this.scale},ri.prototype._convertToCellCoord=function(t){return Math.max(0,Math.min(this.d-1,Math.floor(t*this.scale)+this.padding))},ri.prototype.toArrayBuffer=function(){if(this.arrayBuffer)return this.arrayBuffer;for(var t=this.cells,e=ei+this.cells.length+1+1,r=0,n=0;n=0)){var f=t[c];u[c]=ai[l].shallow.indexOf(c)>=0?f:ci(f,e)}t instanceof Error&&(u.message=t.message)}if(u.$name)throw new Error(\"$name property is reserved for worker serialization logic.\");return\"Object\"!==l&&(u.$name=l),u}throw new Error(\"can't serialize object of type \"+typeof t)}function fi(t){if(null==t||\"boolean\"==typeof t||\"number\"==typeof t||\"string\"==typeof t||t instanceof Boolean||t instanceof Number||t instanceof String||t instanceof Date||t instanceof RegExp||li(t)||ui(t)||ArrayBuffer.isView(t)||t instanceof ni)return t;if(Array.isArray(t))return t.map(fi);if(\"object\"==typeof t){var e=t.$name||\"Object\",r=ai[e].klass;if(!r)throw new Error(\"can't deserialize unregistered class \"+e);if(r.deserialize)return r.deserialize(t);for(var n=Object.create(r.prototype),i=0,a=Object.keys(t);i=0?s:fi(s)}}return n}throw new Error(\"can't deserialize object of type \"+typeof t)}var hi=function(){this.first=!0};hi.prototype.update=function(t,e){var r=Math.floor(t);return this.first?(this.first=!1,this.lastIntegerZoom=r,this.lastIntegerZoomTime=0,this.lastZoom=t,this.lastFloorZoom=r,!0):(this.lastFloorZoom>r?(this.lastIntegerZoom=r+1,this.lastIntegerZoomTime=e):this.lastFloorZoom=128&&t<=255},Arabic:function(t){return t>=1536&&t<=1791},\"Arabic Supplement\":function(t){return t>=1872&&t<=1919},\"Arabic Extended-A\":function(t){return t>=2208&&t<=2303},\"Hangul Jamo\":function(t){return t>=4352&&t<=4607},\"Unified Canadian Aboriginal Syllabics\":function(t){return t>=5120&&t<=5759},Khmer:function(t){return t>=6016&&t<=6143},\"Unified Canadian Aboriginal Syllabics Extended\":function(t){return t>=6320&&t<=6399},\"General Punctuation\":function(t){return t>=8192&&t<=8303},\"Letterlike Symbols\":function(t){return t>=8448&&t<=8527},\"Number Forms\":function(t){return t>=8528&&t<=8591},\"Miscellaneous Technical\":function(t){return t>=8960&&t<=9215},\"Control Pictures\":function(t){return t>=9216&&t<=9279},\"Optical Character Recognition\":function(t){return t>=9280&&t<=9311},\"Enclosed Alphanumerics\":function(t){return t>=9312&&t<=9471},\"Geometric Shapes\":function(t){return t>=9632&&t<=9727},\"Miscellaneous Symbols\":function(t){return t>=9728&&t<=9983},\"Miscellaneous Symbols and Arrows\":function(t){return t>=11008&&t<=11263},\"CJK Radicals Supplement\":function(t){return t>=11904&&t<=12031},\"Kangxi Radicals\":function(t){return t>=12032&&t<=12255},\"Ideographic Description Characters\":function(t){return t>=12272&&t<=12287},\"CJK Symbols and Punctuation\":function(t){return t>=12288&&t<=12351},Hiragana:function(t){return t>=12352&&t<=12447},Katakana:function(t){return t>=12448&&t<=12543},Bopomofo:function(t){return t>=12544&&t<=12591},\"Hangul Compatibility Jamo\":function(t){return t>=12592&&t<=12687},Kanbun:function(t){return t>=12688&&t<=12703},\"Bopomofo Extended\":function(t){return t>=12704&&t<=12735},\"CJK Strokes\":function(t){return t>=12736&&t<=12783},\"Katakana Phonetic Extensions\":function(t){return t>=12784&&t<=12799},\"Enclosed CJK Letters and Months\":function(t){return t>=12800&&t<=13055},\"CJK Compatibility\":function(t){return t>=13056&&t<=13311},\"CJK Unified Ideographs Extension A\":function(t){return t>=13312&&t<=19903},\"Yijing Hexagram Symbols\":function(t){return t>=19904&&t<=19967},\"CJK Unified Ideographs\":function(t){return t>=19968&&t<=40959},\"Yi Syllables\":function(t){return t>=40960&&t<=42127},\"Yi Radicals\":function(t){return t>=42128&&t<=42191},\"Hangul Jamo Extended-A\":function(t){return t>=43360&&t<=43391},\"Hangul Syllables\":function(t){return t>=44032&&t<=55215},\"Hangul Jamo Extended-B\":function(t){return t>=55216&&t<=55295},\"Private Use Area\":function(t){return t>=57344&&t<=63743},\"CJK Compatibility Ideographs\":function(t){return t>=63744&&t<=64255},\"Arabic Presentation Forms-A\":function(t){return t>=64336&&t<=65023},\"Vertical Forms\":function(t){return t>=65040&&t<=65055},\"CJK Compatibility Forms\":function(t){return t>=65072&&t<=65103},\"Small Form Variants\":function(t){return t>=65104&&t<=65135},\"Arabic Presentation Forms-B\":function(t){return t>=65136&&t<=65279},\"Halfwidth and Fullwidth Forms\":function(t){return t>=65280&&t<=65519}};function di(t){for(var e=0,r=t;e=65097&&t<=65103)||pi[\"CJK Compatibility Ideographs\"](t)||pi[\"CJK Compatibility\"](t)||pi[\"CJK Radicals Supplement\"](t)||pi[\"CJK Strokes\"](t)||!(!pi[\"CJK Symbols and Punctuation\"](t)||t>=12296&&t<=12305||t>=12308&&t<=12319||12336===t)||pi[\"CJK Unified Ideographs Extension A\"](t)||pi[\"CJK Unified Ideographs\"](t)||pi[\"Enclosed CJK Letters and Months\"](t)||pi[\"Hangul Compatibility Jamo\"](t)||pi[\"Hangul Jamo Extended-A\"](t)||pi[\"Hangul Jamo Extended-B\"](t)||pi[\"Hangul Jamo\"](t)||pi[\"Hangul Syllables\"](t)||pi.Hiragana(t)||pi[\"Ideographic Description Characters\"](t)||pi.Kanbun(t)||pi[\"Kangxi Radicals\"](t)||pi[\"Katakana Phonetic Extensions\"](t)||pi.Katakana(t)&&12540!==t||!(!pi[\"Halfwidth and Fullwidth Forms\"](t)||65288===t||65289===t||65293===t||t>=65306&&t<=65310||65339===t||65341===t||65343===t||t>=65371&&t<=65503||65507===t||t>=65512&&t<=65519)||!(!pi[\"Small Form Variants\"](t)||t>=65112&&t<=65118||t>=65123&&t<=65126)||pi[\"Unified Canadian Aboriginal Syllabics\"](t)||pi[\"Unified Canadian Aboriginal Syllabics Extended\"](t)||pi[\"Vertical Forms\"](t)||pi[\"Yijing Hexagram Symbols\"](t)||pi[\"Yi Syllables\"](t)||pi[\"Yi Radicals\"](t))))}function gi(t){return!(vi(t)||function(t){return!!(pi[\"Latin-1 Supplement\"](t)&&(167===t||169===t||174===t||177===t||188===t||189===t||190===t||215===t||247===t)||pi[\"General Punctuation\"](t)&&(8214===t||8224===t||8225===t||8240===t||8241===t||8251===t||8252===t||8258===t||8263===t||8264===t||8265===t||8273===t)||pi[\"Letterlike Symbols\"](t)||pi[\"Number Forms\"](t)||pi[\"Miscellaneous Technical\"](t)&&(t>=8960&&t<=8967||t>=8972&&t<=8991||t>=8996&&t<=9e3||9003===t||t>=9085&&t<=9114||t>=9150&&t<=9165||9167===t||t>=9169&&t<=9179||t>=9186&&t<=9215)||pi[\"Control Pictures\"](t)&&9251!==t||pi[\"Optical Character Recognition\"](t)||pi[\"Enclosed Alphanumerics\"](t)||pi[\"Geometric Shapes\"](t)||pi[\"Miscellaneous Symbols\"](t)&&!(t>=9754&&t<=9759)||pi[\"Miscellaneous Symbols and Arrows\"](t)&&(t>=11026&&t<=11055||t>=11088&&t<=11097||t>=11192&&t<=11243)||pi[\"CJK Symbols and Punctuation\"](t)||pi.Katakana(t)||pi[\"Private Use Area\"](t)||pi[\"CJK Compatibility Forms\"](t)||pi[\"Small Form Variants\"](t)||pi[\"Halfwidth and Fullwidth Forms\"](t)||8734===t||8756===t||8757===t||t>=9984&&t<=10087||t>=10102&&t<=10131||65532===t||65533===t)}(t))}function yi(t){return pi.Arabic(t)||pi[\"Arabic Supplement\"](t)||pi[\"Arabic Extended-A\"](t)||pi[\"Arabic Presentation Forms-A\"](t)||pi[\"Arabic Presentation Forms-B\"](t)}function mi(t){return t>=1424&&t<=2303||pi[\"Arabic Presentation Forms-A\"](t)||pi[\"Arabic Presentation Forms-B\"](t)}function xi(t,e){return!(!e&&mi(t)||t>=2304&&t<=3583||t>=3840&&t<=4255||pi.Khmer(t))}function bi(t){for(var e=0,r=t;e-1&&(Mi=ki),Ai&&Ai(t)};function Li(){Ci.fire(new zt(\"pluginStateChange\",{pluginStatus:Mi,pluginURL:Si}))}var Ci=new Rt,Pi=function(){return Mi},Oi=function(){if(Mi!==_i||!Si)throw new Error(\"rtl-text-plugin cannot be downloaded unless a pluginURL is specified\");Mi=wi,Li(),Si&&Mt({url:Si},(function(t){t?Ei(t):(Mi=Ti,Li())}))},Ii={applyArabicShaping:null,processBidirectionalText:null,processStyledBidirectionalText:null,isLoaded:function(){return Mi===Ti||null!=Ii.applyArabicShaping},isLoading:function(){return Mi===wi},setState:function(t){Mi=t.pluginStatus,Si=t.pluginURL},isParsed:function(){return null!=Ii.applyArabicShaping&&null!=Ii.processBidirectionalText&&null!=Ii.processStyledBidirectionalText},getPluginURL:function(){return Si}},zi=function(t,e){this.zoom=t,e?(this.now=e.now,this.fadeDuration=e.fadeDuration,this.zoomHistory=e.zoomHistory,this.transition=e.transition):(this.now=0,this.fadeDuration=0,this.zoomHistory=new hi,this.transition={})};zi.prototype.isSupportedScript=function(t){return function(t,e){for(var r=0,n=t;rthis.zoomHistory.lastIntegerZoom?{fromScale:2,toScale:1,t:e+(1-e)*r}:{fromScale:.5,toScale:1,t:1-(1-r)*e}};var Di=function(t,e){this.property=t,this.value=e,this.expression=function(t,e){if(tn(t))return new vn(t,e);if(cn(t)){var r=dn(t,e);if(\"error\"===r.result)throw new Error(r.value.map((function(t){return t.key+\": \"+t.message})).join(\", \"));return r.value}var n=t;return\"string\"==typeof t&&\"color\"===e.type&&(n=ue.parse(t)),{kind:\"constant\",evaluate:function(){return n}}}(void 0===e?t.specification.default:e,t.specification)};Di.prototype.isDataDriven=function(){return\"source\"===this.expression.kind||\"composite\"===this.expression.kind},Di.prototype.possiblyEvaluate=function(t,e,r){return this.property.possiblyEvaluate(this,t,e,r)};var Ri=function(t){this.property=t,this.value=new Di(t,void 0)};Ri.prototype.transitioned=function(t,e){return new Bi(this.property,this.value,e,p({},t.transition,this.transition),t.now)},Ri.prototype.untransitioned=function(){return new Bi(this.property,this.value,null,{},0)};var Fi=function(t){this._properties=t,this._values=Object.create(t.defaultTransitionablePropertyValues)};Fi.prototype.getValue=function(t){return w(this._values[t].value.value)},Fi.prototype.setValue=function(t,e){this._values.hasOwnProperty(t)||(this._values[t]=new Ri(this._values[t].property)),this._values[t].value=new Di(this._values[t].property,null===e?void 0:w(e))},Fi.prototype.getTransition=function(t){return w(this._values[t].transition)},Fi.prototype.setTransition=function(t,e){this._values.hasOwnProperty(t)||(this._values[t]=new Ri(this._values[t].property)),this._values[t].transition=w(e)||void 0},Fi.prototype.serialize=function(){for(var t={},e=0,r=Object.keys(this._values);ethis.end)return this.prior=null,i;if(this.value.isDataDriven())return this.prior=null,i;if(n=1)return 1;var e=t*t,r=e*t;return 4*(t<.5?r:3*(t-e)+r-.75)}(o))}return i};var Ni=function(t){this._properties=t,this._values=Object.create(t.defaultTransitioningPropertyValues)};Ni.prototype.possiblyEvaluate=function(t,e,r){for(var n=new Vi(this._properties),i=0,a=Object.keys(this._values);in.zoomHistory.lastIntegerZoom?{from:t,to:e}:{from:r,to:e}},e.prototype.interpolate=function(t){return t},e}(Hi),Wi=function(t){this.specification=t};Wi.prototype.possiblyEvaluate=function(t,e,r,n){if(void 0!==t.value){if(\"constant\"===t.expression.kind){var i=t.expression.evaluate(e,null,{},r,n);return this._calculate(i,i,i,e)}return this._calculate(t.expression.evaluate(new zi(Math.floor(e.zoom-1),e)),t.expression.evaluate(new zi(Math.floor(e.zoom),e)),t.expression.evaluate(new zi(Math.floor(e.zoom+1),e)),e)}},Wi.prototype._calculate=function(t,e,r,n){return n.zoom>n.zoomHistory.lastIntegerZoom?{from:t,to:e}:{from:r,to:e}},Wi.prototype.interpolate=function(t){return t};var Yi=function(t){this.specification=t};Yi.prototype.possiblyEvaluate=function(t,e,r,n){return!!t.expression.evaluate(e,null,{},r,n)},Yi.prototype.interpolate=function(){return!1};var Xi=function(t){for(var e in this.properties=t,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},this.overridableProperties=[],t){var r=t[e];r.specification.overridable&&this.overridableProperties.push(e);var n=this.defaultPropertyValues[e]=new Di(r,void 0),i=this.defaultTransitionablePropertyValues[e]=new Ri(r);this.defaultTransitioningPropertyValues[e]=i.untransitioned(),this.defaultPossiblyEvaluatedValues[e]=n.possiblyEvaluate({})}};oi(\"DataDrivenProperty\",Hi),oi(\"DataConstantProperty\",qi),oi(\"CrossFadedDataDrivenProperty\",Gi),oi(\"CrossFadedProperty\",Wi),oi(\"ColorRampProperty\",Yi);var Zi=\"-transition\",Ki=function(t){function e(e,r){if(t.call(this),this.id=e.id,this.type=e.type,this._featureFilter={filter:function(){return!0},needGeometry:!1},\"custom\"!==e.type&&(this.metadata=e.metadata,this.minzoom=e.minzoom,this.maxzoom=e.maxzoom,\"background\"!==e.type&&(this.source=e.source,this.sourceLayer=e[\"source-layer\"],this.filter=e.filter),r.layout&&(this._unevaluatedLayout=new ji(r.layout)),r.paint)){for(var n in this._transitionablePaint=new Fi(r.paint),e.paint)this.setPaintProperty(n,e.paint[n],{validate:!1});for(var i in e.layout)this.setLayoutProperty(i,e.layout[i],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned(),this.paint=new Vi(r.paint)}}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getCrossfadeParameters=function(){return this._crossfadeParameters},e.prototype.getLayoutProperty=function(t){return\"visibility\"===t?this.visibility:this._unevaluatedLayout.getValue(t)},e.prototype.setLayoutProperty=function(t,e,r){if(void 0===r&&(r={}),null!=e){var n=\"layers.\"+this.id+\".layout.\"+t;if(this._validate($n,n,t,e,r))return}\"visibility\"!==t?this._unevaluatedLayout.setValue(t,e):this.visibility=e},e.prototype.getPaintProperty=function(t){return x(t,Zi)?this._transitionablePaint.getTransition(t.slice(0,-11)):this._transitionablePaint.getValue(t)},e.prototype.setPaintProperty=function(t,e,r){if(void 0===r&&(r={}),null!=e){var n=\"layers.\"+this.id+\".paint.\"+t;if(this._validate(Jn,n,t,e,r))return!1}if(x(t,Zi))return this._transitionablePaint.setTransition(t.slice(0,-11),e||void 0),!1;var i=this._transitionablePaint._values[t],a=\"cross-faded-data-driven\"===i.property.specification[\"property-type\"],o=i.value.isDataDriven(),s=i.value;this._transitionablePaint.setValue(t,e),this._handleSpecialPaintPropertyUpdate(t);var l=this._transitionablePaint._values[t].value;return l.isDataDriven()||o||a||this._handleOverridablePaintPropertyUpdate(t,s,l)},e.prototype._handleSpecialPaintPropertyUpdate=function(t){},e.prototype._handleOverridablePaintPropertyUpdate=function(t,e,r){return!1},e.prototype.isHidden=function(t){return!!(this.minzoom&&t=this.maxzoom)||\"none\"===this.visibility},e.prototype.updateTransitions=function(t){this._transitioningPaint=this._transitionablePaint.transitioned(t,this._transitioningPaint)},e.prototype.hasTransition=function(){return this._transitioningPaint.hasTransition()},e.prototype.recalculate=function(t,e){t.getCrossfadeParameters&&(this._crossfadeParameters=t.getCrossfadeParameters()),this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(t,void 0,e)),this.paint=this._transitioningPaint.possiblyEvaluate(t,void 0,e)},e.prototype.serialize=function(){var t={id:this.id,type:this.type,source:this.source,\"source-layer\":this.sourceLayer,metadata:this.metadata,minzoom:this.minzoom,maxzoom:this.maxzoom,filter:this.filter,layout:this._unevaluatedLayout&&this._unevaluatedLayout.serialize(),paint:this._transitionablePaint&&this._transitionablePaint.serialize()};return this.visibility&&(t.layout=t.layout||{},t.layout.visibility=this.visibility),_(t,(function(t,e){return!(void 0===t||\"layout\"===e&&!Object.keys(t).length||\"paint\"===e&&!Object.keys(t).length)}))},e.prototype._validate=function(t,e,r,n,i){return void 0===i&&(i={}),(!i||!1!==i.validate)&&Qn(this,t.call(Zn,{key:e,layerType:this.type,objectKey:r,value:n,styleSpec:Ft,style:{glyphs:!0,sprite:!0}}))},e.prototype.is3D=function(){return!1},e.prototype.isTileClipped=function(){return!1},e.prototype.hasOffscreenPass=function(){return!1},e.prototype.resize=function(){},e.prototype.isStateDependent=function(){for(var t in this.paint._values){var e=this.paint.get(t);if(e instanceof Ui&&Kr(e.property.specification)&&(\"source\"===e.value.kind||\"composite\"===e.value.kind)&&e.value.isStateDependent)return!0}return!1},e}(Rt),Ji={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array},$i=function(t,e){this._structArray=t,this._pos1=e*this.size,this._pos2=this._pos1/2,this._pos4=this._pos1/4,this._pos8=this._pos1/8},Qi=function(){this.isTransferred=!1,this.capacity=-1,this.resize(0)};function ta(t,e){void 0===e&&(e=1);var r=0,n=0;return{members:t.map((function(t){var i,a=(i=t.type,Ji[i].BYTES_PER_ELEMENT),o=r=ea(r,Math.max(e,a)),s=t.components||1;return n=Math.max(n,a),r+=a*s,{name:t.name,type:t.type,components:s,offset:o}})),size:ea(r,Math.max(n,e)),alignment:e}}function ea(t,e){return Math.ceil(t/e)*e}Qi.serialize=function(t,e){return t._trim(),e&&(t.isTransferred=!0,e.push(t.arrayBuffer)),{length:t.length,arrayBuffer:t.arrayBuffer}},Qi.deserialize=function(t){var e=Object.create(this.prototype);return e.arrayBuffer=t.arrayBuffer,e.length=t.length,e.capacity=t.arrayBuffer.byteLength/e.bytesPerElement,e._refreshViews(),e},Qi.prototype._trim=function(){this.length!==this.capacity&&(this.capacity=this.length,this.arrayBuffer=this.arrayBuffer.slice(0,this.length*this.bytesPerElement),this._refreshViews())},Qi.prototype.clear=function(){this.length=0},Qi.prototype.resize=function(t){this.reserve(t),this.length=t},Qi.prototype.reserve=function(t){if(t>this.capacity){this.capacity=Math.max(t,Math.floor(5*this.capacity),128),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);var e=this.uint8;this._refreshViews(),e&&this.uint8.set(e)}},Qi.prototype._refreshViews=function(){throw new Error(\"_refreshViews() must be implemented by each concrete StructArray layout\")};var ra=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e){var r=this.length;return this.resize(r+1),this.emplace(r,t,e)},e.prototype.emplace=function(t,e,r){var n=2*t;return this.int16[n+0]=e,this.int16[n+1]=r,t},e}(Qi);ra.prototype.bytesPerElement=4,oi(\"StructArrayLayout2i4\",ra);var na=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n){var i=this.length;return this.resize(i+1),this.emplace(i,t,e,r,n)},e.prototype.emplace=function(t,e,r,n,i){var a=4*t;return this.int16[a+0]=e,this.int16[a+1]=r,this.int16[a+2]=n,this.int16[a+3]=i,t},e}(Qi);na.prototype.bytesPerElement=8,oi(\"StructArrayLayout4i8\",na);var ia=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a){var o=this.length;return this.resize(o+1),this.emplace(o,t,e,r,n,i,a)},e.prototype.emplace=function(t,e,r,n,i,a,o){var s=6*t;return this.int16[s+0]=e,this.int16[s+1]=r,this.int16[s+2]=n,this.int16[s+3]=i,this.int16[s+4]=a,this.int16[s+5]=o,t},e}(Qi);ia.prototype.bytesPerElement=12,oi(\"StructArrayLayout2i4i12\",ia);var aa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a){var o=this.length;return this.resize(o+1),this.emplace(o,t,e,r,n,i,a)},e.prototype.emplace=function(t,e,r,n,i,a,o){var s=4*t,l=8*t;return this.int16[s+0]=e,this.int16[s+1]=r,this.uint8[l+4]=n,this.uint8[l+5]=i,this.uint8[l+6]=a,this.uint8[l+7]=o,t},e}(Qi);aa.prototype.bytesPerElement=8,oi(\"StructArrayLayout2i4ub8\",aa);var oa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e){var r=this.length;return this.resize(r+1),this.emplace(r,t,e)},e.prototype.emplace=function(t,e,r){var n=2*t;return this.float32[n+0]=e,this.float32[n+1]=r,t},e}(Qi);oa.prototype.bytesPerElement=8,oi(\"StructArrayLayout2f8\",oa);var sa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s,l,u){var c=this.length;return this.resize(c+1),this.emplace(c,t,e,r,n,i,a,o,s,l,u)},e.prototype.emplace=function(t,e,r,n,i,a,o,s,l,u,c){var f=10*t;return this.uint16[f+0]=e,this.uint16[f+1]=r,this.uint16[f+2]=n,this.uint16[f+3]=i,this.uint16[f+4]=a,this.uint16[f+5]=o,this.uint16[f+6]=s,this.uint16[f+7]=l,this.uint16[f+8]=u,this.uint16[f+9]=c,t},e}(Qi);sa.prototype.bytesPerElement=20,oi(\"StructArrayLayout10ui20\",sa);var la=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s,l,u,c,f){var h=this.length;return this.resize(h+1),this.emplace(h,t,e,r,n,i,a,o,s,l,u,c,f)},e.prototype.emplace=function(t,e,r,n,i,a,o,s,l,u,c,f,h){var p=12*t;return this.int16[p+0]=e,this.int16[p+1]=r,this.int16[p+2]=n,this.int16[p+3]=i,this.uint16[p+4]=a,this.uint16[p+5]=o,this.uint16[p+6]=s,this.uint16[p+7]=l,this.int16[p+8]=u,this.int16[p+9]=c,this.int16[p+10]=f,this.int16[p+11]=h,t},e}(Qi);la.prototype.bytesPerElement=24,oi(\"StructArrayLayout4i4ui4i24\",la);var ua=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r){var n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)},e.prototype.emplace=function(t,e,r,n){var i=3*t;return this.float32[i+0]=e,this.float32[i+1]=r,this.float32[i+2]=n,t},e}(Qi);ua.prototype.bytesPerElement=12,oi(\"StructArrayLayout3f12\",ua);var ca=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t){var e=this.length;return this.resize(e+1),this.emplace(e,t)},e.prototype.emplace=function(t,e){var r=1*t;return this.uint32[r+0]=e,t},e}(Qi);ca.prototype.bytesPerElement=4,oi(\"StructArrayLayout1ul4\",ca);var fa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s,l){var u=this.length;return this.resize(u+1),this.emplace(u,t,e,r,n,i,a,o,s,l)},e.prototype.emplace=function(t,e,r,n,i,a,o,s,l,u){var c=10*t,f=5*t;return this.int16[c+0]=e,this.int16[c+1]=r,this.int16[c+2]=n,this.int16[c+3]=i,this.int16[c+4]=a,this.int16[c+5]=o,this.uint32[f+3]=s,this.uint16[c+8]=l,this.uint16[c+9]=u,t},e}(Qi);fa.prototype.bytesPerElement=20,oi(\"StructArrayLayout6i1ul2ui20\",fa);var ha=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a){var o=this.length;return this.resize(o+1),this.emplace(o,t,e,r,n,i,a)},e.prototype.emplace=function(t,e,r,n,i,a,o){var s=6*t;return this.int16[s+0]=e,this.int16[s+1]=r,this.int16[s+2]=n,this.int16[s+3]=i,this.int16[s+4]=a,this.int16[s+5]=o,t},e}(Qi);ha.prototype.bytesPerElement=12,oi(\"StructArrayLayout2i2i2i12\",ha);var pa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i){var a=this.length;return this.resize(a+1),this.emplace(a,t,e,r,n,i)},e.prototype.emplace=function(t,e,r,n,i,a){var o=4*t,s=8*t;return this.float32[o+0]=e,this.float32[o+1]=r,this.float32[o+2]=n,this.int16[s+6]=i,this.int16[s+7]=a,t},e}(Qi);pa.prototype.bytesPerElement=16,oi(\"StructArrayLayout2f1f2i16\",pa);var da=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n){var i=this.length;return this.resize(i+1),this.emplace(i,t,e,r,n)},e.prototype.emplace=function(t,e,r,n,i){var a=12*t,o=3*t;return this.uint8[a+0]=e,this.uint8[a+1]=r,this.float32[o+1]=n,this.float32[o+2]=i,t},e}(Qi);da.prototype.bytesPerElement=12,oi(\"StructArrayLayout2ub2f12\",da);var va=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r){var n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)},e.prototype.emplace=function(t,e,r,n){var i=3*t;return this.uint16[i+0]=e,this.uint16[i+1]=r,this.uint16[i+2]=n,t},e}(Qi);va.prototype.bytesPerElement=6,oi(\"StructArrayLayout3ui6\",va);var ga=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s,l,u,c,f,h,p,d,v,g){var y=this.length;return this.resize(y+1),this.emplace(y,t,e,r,n,i,a,o,s,l,u,c,f,h,p,d,v,g)},e.prototype.emplace=function(t,e,r,n,i,a,o,s,l,u,c,f,h,p,d,v,g,y){var m=24*t,x=12*t,b=48*t;return this.int16[m+0]=e,this.int16[m+1]=r,this.uint16[m+2]=n,this.uint16[m+3]=i,this.uint32[x+2]=a,this.uint32[x+3]=o,this.uint32[x+4]=s,this.uint16[m+10]=l,this.uint16[m+11]=u,this.uint16[m+12]=c,this.float32[x+7]=f,this.float32[x+8]=h,this.uint8[b+36]=p,this.uint8[b+37]=d,this.uint8[b+38]=v,this.uint32[x+10]=g,this.int16[m+22]=y,t},e}(Qi);ga.prototype.bytesPerElement=48,oi(\"StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48\",ga);var ya=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s,l,u,c,f,h,p,d,v,g,y,m,x,b,_,w,T,k,A,M,S){var E=this.length;return this.resize(E+1),this.emplace(E,t,e,r,n,i,a,o,s,l,u,c,f,h,p,d,v,g,y,m,x,b,_,w,T,k,A,M,S)},e.prototype.emplace=function(t,e,r,n,i,a,o,s,l,u,c,f,h,p,d,v,g,y,m,x,b,_,w,T,k,A,M,S,E){var L=34*t,C=17*t;return this.int16[L+0]=e,this.int16[L+1]=r,this.int16[L+2]=n,this.int16[L+3]=i,this.int16[L+4]=a,this.int16[L+5]=o,this.int16[L+6]=s,this.int16[L+7]=l,this.uint16[L+8]=u,this.uint16[L+9]=c,this.uint16[L+10]=f,this.uint16[L+11]=h,this.uint16[L+12]=p,this.uint16[L+13]=d,this.uint16[L+14]=v,this.uint16[L+15]=g,this.uint16[L+16]=y,this.uint16[L+17]=m,this.uint16[L+18]=x,this.uint16[L+19]=b,this.uint16[L+20]=_,this.uint16[L+21]=w,this.uint16[L+22]=T,this.uint32[C+12]=k,this.float32[C+13]=A,this.float32[C+14]=M,this.float32[C+15]=S,this.float32[C+16]=E,t},e}(Qi);ya.prototype.bytesPerElement=68,oi(\"StructArrayLayout8i15ui1ul4f68\",ya);var ma=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t){var e=this.length;return this.resize(e+1),this.emplace(e,t)},e.prototype.emplace=function(t,e){var r=1*t;return this.float32[r+0]=e,t},e}(Qi);ma.prototype.bytesPerElement=4,oi(\"StructArrayLayout1f4\",ma);var xa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r){var n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)},e.prototype.emplace=function(t,e,r,n){var i=3*t;return this.int16[i+0]=e,this.int16[i+1]=r,this.int16[i+2]=n,t},e}(Qi);xa.prototype.bytesPerElement=6,oi(\"StructArrayLayout3i6\",xa);var ba=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r){var n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)},e.prototype.emplace=function(t,e,r,n){var i=2*t,a=4*t;return this.uint32[i+0]=e,this.uint16[a+2]=r,this.uint16[a+3]=n,t},e}(Qi);ba.prototype.bytesPerElement=8,oi(\"StructArrayLayout1ul2ui8\",ba);var _a=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e){var r=this.length;return this.resize(r+1),this.emplace(r,t,e)},e.prototype.emplace=function(t,e,r){var n=2*t;return this.uint16[n+0]=e,this.uint16[n+1]=r,t},e}(Qi);_a.prototype.bytesPerElement=4,oi(\"StructArrayLayout2ui4\",_a);var wa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t){var e=this.length;return this.resize(e+1),this.emplace(e,t)},e.prototype.emplace=function(t,e){var r=1*t;return this.uint16[r+0]=e,t},e}(Qi);wa.prototype.bytesPerElement=2,oi(\"StructArrayLayout1ui2\",wa);var Ta=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n){var i=this.length;return this.resize(i+1),this.emplace(i,t,e,r,n)},e.prototype.emplace=function(t,e,r,n,i){var a=4*t;return this.float32[a+0]=e,this.float32[a+1]=r,this.float32[a+2]=n,this.float32[a+3]=i,t},e}(Qi);Ta.prototype.bytesPerElement=16,oi(\"StructArrayLayout4f16\",Ta);var ka=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={anchorPointX:{configurable:!0},anchorPointY:{configurable:!0},x1:{configurable:!0},y1:{configurable:!0},x2:{configurable:!0},y2:{configurable:!0},featureIndex:{configurable:!0},sourceLayerIndex:{configurable:!0},bucketIndex:{configurable:!0},anchorPoint:{configurable:!0}};return r.anchorPointX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorPointY.get=function(){return this._structArray.int16[this._pos2+1]},r.x1.get=function(){return this._structArray.int16[this._pos2+2]},r.y1.get=function(){return this._structArray.int16[this._pos2+3]},r.x2.get=function(){return this._structArray.int16[this._pos2+4]},r.y2.get=function(){return this._structArray.int16[this._pos2+5]},r.featureIndex.get=function(){return this._structArray.uint32[this._pos4+3]},r.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+8]},r.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+9]},r.anchorPoint.get=function(){return new a(this.anchorPointX,this.anchorPointY)},Object.defineProperties(e.prototype,r),e}($i);ka.prototype.size=20;var Aa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.get=function(t){return new ka(this,t)},e}(fa);oi(\"CollisionBoxArray\",Aa);var Ma=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={anchorX:{configurable:!0},anchorY:{configurable:!0},glyphStartIndex:{configurable:!0},numGlyphs:{configurable:!0},vertexStartIndex:{configurable:!0},lineStartIndex:{configurable:!0},lineLength:{configurable:!0},segment:{configurable:!0},lowerSize:{configurable:!0},upperSize:{configurable:!0},lineOffsetX:{configurable:!0},lineOffsetY:{configurable:!0},writingMode:{configurable:!0},placedOrientation:{configurable:!0},hidden:{configurable:!0},crossTileID:{configurable:!0},associatedIconIndex:{configurable:!0}};return r.anchorX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorY.get=function(){return this._structArray.int16[this._pos2+1]},r.glyphStartIndex.get=function(){return this._structArray.uint16[this._pos2+2]},r.numGlyphs.get=function(){return this._structArray.uint16[this._pos2+3]},r.vertexStartIndex.get=function(){return this._structArray.uint32[this._pos4+2]},r.lineStartIndex.get=function(){return this._structArray.uint32[this._pos4+3]},r.lineLength.get=function(){return this._structArray.uint32[this._pos4+4]},r.segment.get=function(){return this._structArray.uint16[this._pos2+10]},r.lowerSize.get=function(){return this._structArray.uint16[this._pos2+11]},r.upperSize.get=function(){return this._structArray.uint16[this._pos2+12]},r.lineOffsetX.get=function(){return this._structArray.float32[this._pos4+7]},r.lineOffsetY.get=function(){return this._structArray.float32[this._pos4+8]},r.writingMode.get=function(){return this._structArray.uint8[this._pos1+36]},r.placedOrientation.get=function(){return this._structArray.uint8[this._pos1+37]},r.placedOrientation.set=function(t){this._structArray.uint8[this._pos1+37]=t},r.hidden.get=function(){return this._structArray.uint8[this._pos1+38]},r.hidden.set=function(t){this._structArray.uint8[this._pos1+38]=t},r.crossTileID.get=function(){return this._structArray.uint32[this._pos4+10]},r.crossTileID.set=function(t){this._structArray.uint32[this._pos4+10]=t},r.associatedIconIndex.get=function(){return this._structArray.int16[this._pos2+22]},Object.defineProperties(e.prototype,r),e}($i);Ma.prototype.size=48;var Sa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.get=function(t){return new Ma(this,t)},e}(ga);oi(\"PlacedSymbolArray\",Sa);var Ea=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={anchorX:{configurable:!0},anchorY:{configurable:!0},rightJustifiedTextSymbolIndex:{configurable:!0},centerJustifiedTextSymbolIndex:{configurable:!0},leftJustifiedTextSymbolIndex:{configurable:!0},verticalPlacedTextSymbolIndex:{configurable:!0},placedIconSymbolIndex:{configurable:!0},verticalPlacedIconSymbolIndex:{configurable:!0},key:{configurable:!0},textBoxStartIndex:{configurable:!0},textBoxEndIndex:{configurable:!0},verticalTextBoxStartIndex:{configurable:!0},verticalTextBoxEndIndex:{configurable:!0},iconBoxStartIndex:{configurable:!0},iconBoxEndIndex:{configurable:!0},verticalIconBoxStartIndex:{configurable:!0},verticalIconBoxEndIndex:{configurable:!0},featureIndex:{configurable:!0},numHorizontalGlyphVertices:{configurable:!0},numVerticalGlyphVertices:{configurable:!0},numIconVertices:{configurable:!0},numVerticalIconVertices:{configurable:!0},useRuntimeCollisionCircles:{configurable:!0},crossTileID:{configurable:!0},textBoxScale:{configurable:!0},textOffset0:{configurable:!0},textOffset1:{configurable:!0},collisionCircleDiameter:{configurable:!0}};return r.anchorX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorY.get=function(){return this._structArray.int16[this._pos2+1]},r.rightJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+2]},r.centerJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+3]},r.leftJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+4]},r.verticalPlacedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+5]},r.placedIconSymbolIndex.get=function(){return this._structArray.int16[this._pos2+6]},r.verticalPlacedIconSymbolIndex.get=function(){return this._structArray.int16[this._pos2+7]},r.key.get=function(){return this._structArray.uint16[this._pos2+8]},r.textBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+9]},r.textBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+10]},r.verticalTextBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+11]},r.verticalTextBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+12]},r.iconBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+13]},r.iconBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+14]},r.verticalIconBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+15]},r.verticalIconBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+16]},r.featureIndex.get=function(){return this._structArray.uint16[this._pos2+17]},r.numHorizontalGlyphVertices.get=function(){return this._structArray.uint16[this._pos2+18]},r.numVerticalGlyphVertices.get=function(){return this._structArray.uint16[this._pos2+19]},r.numIconVertices.get=function(){return this._structArray.uint16[this._pos2+20]},r.numVerticalIconVertices.get=function(){return this._structArray.uint16[this._pos2+21]},r.useRuntimeCollisionCircles.get=function(){return this._structArray.uint16[this._pos2+22]},r.crossTileID.get=function(){return this._structArray.uint32[this._pos4+12]},r.crossTileID.set=function(t){this._structArray.uint32[this._pos4+12]=t},r.textBoxScale.get=function(){return this._structArray.float32[this._pos4+13]},r.textOffset0.get=function(){return this._structArray.float32[this._pos4+14]},r.textOffset1.get=function(){return this._structArray.float32[this._pos4+15]},r.collisionCircleDiameter.get=function(){return this._structArray.float32[this._pos4+16]},Object.defineProperties(e.prototype,r),e}($i);Ea.prototype.size=68;var La=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.get=function(t){return new Ea(this,t)},e}(ya);oi(\"SymbolInstanceArray\",La);var Ca=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getoffsetX=function(t){return this.float32[1*t+0]},e}(ma);oi(\"GlyphOffsetArray\",Ca);var Pa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getx=function(t){return this.int16[3*t+0]},e.prototype.gety=function(t){return this.int16[3*t+1]},e.prototype.gettileUnitDistanceFromAnchor=function(t){return this.int16[3*t+2]},e}(xa);oi(\"SymbolLineVertexArray\",Pa);var Oa=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={featureIndex:{configurable:!0},sourceLayerIndex:{configurable:!0},bucketIndex:{configurable:!0}};return r.featureIndex.get=function(){return this._structArray.uint32[this._pos4+0]},r.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+2]},r.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+3]},Object.defineProperties(e.prototype,r),e}($i);Oa.prototype.size=8;var Ia=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.get=function(t){return new Oa(this,t)},e}(ba);oi(\"FeatureIndexArray\",Ia);var za=ta([{name:\"a_pos\",components:2,type:\"Int16\"}],4).members,Da=function(t){void 0===t&&(t=[]),this.segments=t};function Ra(t,e){return 256*(t=f(Math.floor(t),0,255))+f(Math.floor(e),0,255)}Da.prototype.prepareSegment=function(t,e,r,n){var i=this.segments[this.segments.length-1];return t>Da.MAX_VERTEX_ARRAY_LENGTH&&k(\"Max vertices per segment is \"+Da.MAX_VERTEX_ARRAY_LENGTH+\": bucket requested \"+t),(!i||i.vertexLength+t>Da.MAX_VERTEX_ARRAY_LENGTH||i.sortKey!==n)&&(i={vertexOffset:e.length,primitiveOffset:r.length,vertexLength:0,primitiveLength:0},void 0!==n&&(i.sortKey=n),this.segments.push(i)),i},Da.prototype.get=function(){return this.segments},Da.prototype.destroy=function(){for(var t=0,e=this.segments;t>>16)*o&65535)<<16)&4294967295)<<15|l>>>17))*s+(((l>>>16)*s&65535)<<16)&4294967295)<<13|i>>>19))+((5*(i>>>16)&65535)<<16)&4294967295))+((58964+(a>>>16)&65535)<<16);switch(l=0,r){case 3:l^=(255&t.charCodeAt(u+2))<<16;case 2:l^=(255&t.charCodeAt(u+1))<<8;case 1:i^=l=(65535&(l=(l=(65535&(l^=255&t.charCodeAt(u)))*o+(((l>>>16)*o&65535)<<16)&4294967295)<<15|l>>>17))*s+(((l>>>16)*s&65535)<<16)&4294967295}return i^=t.length,i=2246822507*(65535&(i^=i>>>16))+((2246822507*(i>>>16)&65535)<<16)&4294967295,i=3266489909*(65535&(i^=i>>>13))+((3266489909*(i>>>16)&65535)<<16)&4294967295,(i^=i>>>16)>>>0}})),Na=e((function(t){t.exports=function(t,e){for(var r,n=t.length,i=e^n,a=0;n>=4;)r=1540483477*(65535&(r=255&t.charCodeAt(a)|(255&t.charCodeAt(++a))<<8|(255&t.charCodeAt(++a))<<16|(255&t.charCodeAt(++a))<<24))+((1540483477*(r>>>16)&65535)<<16),i=1540483477*(65535&i)+((1540483477*(i>>>16)&65535)<<16)^(r=1540483477*(65535&(r^=r>>>24))+((1540483477*(r>>>16)&65535)<<16)),n-=4,++a;switch(n){case 3:i^=(255&t.charCodeAt(a+2))<<16;case 2:i^=(255&t.charCodeAt(a+1))<<8;case 1:i=1540483477*(65535&(i^=255&t.charCodeAt(a)))+((1540483477*(i>>>16)&65535)<<16)}return i=1540483477*(65535&(i^=i>>>13))+((1540483477*(i>>>16)&65535)<<16),(i^=i>>>15)>>>0}})),ja=Ba,Ua=Ba,Va=Na;ja.murmur3=Ua,ja.murmur2=Va;var qa=function(){this.ids=[],this.positions=[],this.indexed=!1};qa.prototype.add=function(t,e,r,n){this.ids.push(Ga(t)),this.positions.push(e,r,n)},qa.prototype.getPositions=function(t){for(var e=Ga(t),r=0,n=this.ids.length-1;r>1;this.ids[i]>=e?n=i:r=i+1}for(var a=[];this.ids[r]===e;){var o=this.positions[3*r],s=this.positions[3*r+1],l=this.positions[3*r+2];a.push({index:o,start:s,end:l}),r++}return a},qa.serialize=function(t,e){var r=new Float64Array(t.ids),n=new Uint32Array(t.positions);return Wa(r,n,0,r.length-1),e&&e.push(r.buffer,n.buffer),{ids:r,positions:n}},qa.deserialize=function(t){var e=new qa;return e.ids=t.ids,e.positions=t.positions,e.indexed=!0,e};var Ha=Math.pow(2,53)-1;function Ga(t){var e=+t;return!isNaN(e)&&e<=Ha?e:ja(String(t))}function Wa(t,e,r,n){for(;r>1],a=r-1,o=n+1;;){do{a++}while(t[a]i);if(a>=o)break;Ya(t,a,o),Ya(e,3*a,3*o),Ya(e,3*a+1,3*o+1),Ya(e,3*a+2,3*o+2)}o-ro.x+1||lo.y+1)&&k(\"Geometry exceeds allowed extent, reduce your vector tile buffer size\")}return r}function mo(t,e){return{type:t.type,id:t.id,properties:t.properties,geometry:e?yo(t):[]}}function xo(t,e,r,n,i){t.emplaceBack(2*e+(n+1)/2,2*r+(i+1)/2)}var bo=function(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((function(t){return t.id})),this.index=t.index,this.hasPattern=!1,this.layoutVertexArray=new ra,this.indexArray=new va,this.segments=new Da,this.programConfigurations=new co(t.layers,t.zoom),this.stateDependentLayerIds=this.layers.filter((function(t){return t.isStateDependent()})).map((function(t){return t.id}))};function _o(t,e){for(var r=0;r1){if(Ao(t,e))return!0;for(var n=0;n1?t.distSqr(r):t.distSqr(r.sub(e)._mult(i)._add(e))}function Lo(t,e){for(var r,n,i,a=!1,o=0;oe.y!=i.y>e.y&&e.x<(i.x-n.x)*(e.y-n.y)/(i.y-n.y)+n.x&&(a=!a);return a}function Co(t,e){for(var r=!1,n=0,i=t.length-1;ne.y!=o.y>e.y&&e.x<(o.x-a.x)*(e.y-a.y)/(o.y-a.y)+a.x&&(r=!r)}return r}function Po(t,e,r){var n=r[0],i=r[2];if(t.xi.x&&e.x>i.x||t.yi.y&&e.y>i.y)return!1;var a=A(t,e,r[0]);return a!==A(t,e,r[1])||a!==A(t,e,r[2])||a!==A(t,e,r[3])}function Oo(t,e,r){var n=e.paint.get(t).value;return\"constant\"===n.kind?n.value:r.programConfigurations.get(e.id).getMaxValue(t)}function Io(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1])}function zo(t,e,r,n,i){if(!e[0]&&!e[1])return t;var o=a.convert(e)._mult(i);\"viewport\"===r&&o._rotate(-n);for(var s=[],l=0;l=po||c<0||c>=po)){var f=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray,t.sortKey),h=f.vertexLength;xo(this.layoutVertexArray,u,c,-1,-1),xo(this.layoutVertexArray,u,c,1,-1),xo(this.layoutVertexArray,u,c,1,1),xo(this.layoutVertexArray,u,c,-1,1),this.indexArray.emplaceBack(h,h+1,h+2),this.indexArray.emplaceBack(h,h+3,h+2),f.vertexLength+=4,f.primitiveLength+=2}}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t,r,{},n)},oi(\"CircleBucket\",bo,{omit:[\"layers\"]});var Do=new Xi({\"circle-sort-key\":new Hi(Ft.layout_circle[\"circle-sort-key\"])}),Ro={paint:new Xi({\"circle-radius\":new Hi(Ft.paint_circle[\"circle-radius\"]),\"circle-color\":new Hi(Ft.paint_circle[\"circle-color\"]),\"circle-blur\":new Hi(Ft.paint_circle[\"circle-blur\"]),\"circle-opacity\":new Hi(Ft.paint_circle[\"circle-opacity\"]),\"circle-translate\":new qi(Ft.paint_circle[\"circle-translate\"]),\"circle-translate-anchor\":new qi(Ft.paint_circle[\"circle-translate-anchor\"]),\"circle-pitch-scale\":new qi(Ft.paint_circle[\"circle-pitch-scale\"]),\"circle-pitch-alignment\":new qi(Ft.paint_circle[\"circle-pitch-alignment\"]),\"circle-stroke-width\":new Hi(Ft.paint_circle[\"circle-stroke-width\"]),\"circle-stroke-color\":new Hi(Ft.paint_circle[\"circle-stroke-color\"]),\"circle-stroke-opacity\":new Hi(Ft.paint_circle[\"circle-stroke-opacity\"])}),layout:Do},Fo=\"undefined\"!=typeof Float32Array?Float32Array:Array;function Bo(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function No(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],u=e[6],c=e[7],f=e[8],h=e[9],p=e[10],d=e[11],v=e[12],g=e[13],y=e[14],m=e[15],x=r[0],b=r[1],_=r[2],w=r[3];return t[0]=x*n+b*s+_*f+w*v,t[1]=x*i+b*l+_*h+w*g,t[2]=x*a+b*u+_*p+w*y,t[3]=x*o+b*c+_*d+w*m,x=r[4],b=r[5],_=r[6],w=r[7],t[4]=x*n+b*s+_*f+w*v,t[5]=x*i+b*l+_*h+w*g,t[6]=x*a+b*u+_*p+w*y,t[7]=x*o+b*c+_*d+w*m,x=r[8],b=r[9],_=r[10],w=r[11],t[8]=x*n+b*s+_*f+w*v,t[9]=x*i+b*l+_*h+w*g,t[10]=x*a+b*u+_*p+w*y,t[11]=x*o+b*c+_*d+w*m,x=r[12],b=r[13],_=r[14],w=r[15],t[12]=x*n+b*s+_*f+w*v,t[13]=x*i+b*l+_*h+w*g,t[14]=x*a+b*u+_*p+w*y,t[15]=x*o+b*c+_*d+w*m,t}Math.hypot||(Math.hypot=function(){for(var t=arguments,e=0,r=arguments.length;r--;)e+=t[r]*t[r];return Math.sqrt(e)});var jo=No;var Uo,Vo=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t};function qo(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3];return t[0]=r[0]*n+r[4]*i+r[8]*a+r[12]*o,t[1]=r[1]*n+r[5]*i+r[9]*a+r[13]*o,t[2]=r[2]*n+r[6]*i+r[10]*a+r[14]*o,t[3]=r[3]*n+r[7]*i+r[11]*a+r[15]*o,t}Uo=new Fo(3),Fo!=Float32Array&&(Uo[0]=0,Uo[1]=0,Uo[2]=0),function(){var t=new Fo(4);Fo!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0,t[3]=0)}();var Ho=function(t){var e=t[0],r=t[1];return e*e+r*r},Go=(function(){var t=new Fo(2);Fo!=Float32Array&&(t[0]=0,t[1]=0)}(),function(t){function e(e){t.call(this,e,Ro)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.createBucket=function(t){return new bo(t)},e.prototype.queryRadius=function(t){var e=t;return Oo(\"circle-radius\",this,e)+Oo(\"circle-stroke-width\",this,e)+Io(this.paint.get(\"circle-translate\"))},e.prototype.queryIntersectsFeature=function(t,e,r,n,i,a,o,s){for(var l=zo(t,this.paint.get(\"circle-translate\"),this.paint.get(\"circle-translate-anchor\"),a.angle,o),u=this.paint.get(\"circle-radius\").evaluate(e,r)+this.paint.get(\"circle-stroke-width\").evaluate(e,r),c=\"map\"===this.paint.get(\"circle-pitch-alignment\"),f=c?l:function(t,e){return t.map((function(t){return Wo(t,e)}))}(l,s),h=c?u*o:u,p=0,d=n;pt.width||i.height>t.height||r.x>t.width-i.width||r.y>t.height-i.height)throw new RangeError(\"out of range source coordinates for image copy\");if(i.width>e.width||i.height>e.height||n.x>e.width-i.width||n.y>e.height-i.height)throw new RangeError(\"out of range destination coordinates for image copy\");for(var o=t.data,s=e.data,l=0;l80*r){n=a=t[0],i=o=t[1];for(var d=r;da&&(a=s),l>o&&(o=l);u=0!==(u=Math.max(a-n,o-i))?1/u:0}return cs(h,p,r,n,i,u),p}function ls(t,e,r,n,i){var a,o;if(i===Os(t,e,r,n)>0)for(a=e;a=e;a-=n)o=Ls(a,t[a],t[a+1],o);return o&&Ts(o,o.next)&&(Cs(o),o=o.next),o}function us(t,e){if(!t)return t;e||(e=t);var r,n=t;do{if(r=!1,n.steiner||!Ts(n,n.next)&&0!==ws(n.prev,n,n.next))n=n.next;else{if(Cs(n),(n=e=n.prev)===n.next)break;r=!0}}while(r||n!==e);return e}function cs(t,e,r,n,i,a,o){if(t){!o&&a&&function(t,e,r,n){var i=t;do{null===i.z&&(i.z=ms(i.x,i.y,e,r,n)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next}while(i!==t);i.prevZ.nextZ=null,i.prevZ=null,function(t){var e,r,n,i,a,o,s,l,u=1;do{for(r=t,t=null,a=null,o=0;r;){for(o++,n=r,s=0,e=0;e0||l>0&&n;)0!==s&&(0===l||!n||r.z<=n.z)?(i=r,r=r.nextZ,s--):(i=n,n=n.nextZ,l--),a?a.nextZ=i:t=i,i.prevZ=a,a=i;r=n}a.nextZ=null,u*=2}while(o>1)}(i)}(t,n,i,a);for(var s,l,u=t;t.prev!==t.next;)if(s=t.prev,l=t.next,a?hs(t,n,i,a):fs(t))e.push(s.i/r),e.push(t.i/r),e.push(l.i/r),Cs(t),t=l.next,u=l.next;else if((t=l)===u){o?1===o?cs(t=ps(us(t),e,r),e,r,n,i,a,2):2===o&&ds(t,e,r,n,i,a):cs(us(t),e,r,n,i,a,1);break}}}function fs(t){var e=t.prev,r=t,n=t.next;if(ws(e,r,n)>=0)return!1;for(var i=t.next.next;i!==t.prev;){if(bs(e.x,e.y,r.x,r.y,n.x,n.y,i.x,i.y)&&ws(i.prev,i,i.next)>=0)return!1;i=i.next}return!0}function hs(t,e,r,n){var i=t.prev,a=t,o=t.next;if(ws(i,a,o)>=0)return!1;for(var s=i.xa.x?i.x>o.x?i.x:o.x:a.x>o.x?a.x:o.x,c=i.y>a.y?i.y>o.y?i.y:o.y:a.y>o.y?a.y:o.y,f=ms(s,l,e,r,n),h=ms(u,c,e,r,n),p=t.prevZ,d=t.nextZ;p&&p.z>=f&&d&&d.z<=h;){if(p!==t.prev&&p!==t.next&&bs(i.x,i.y,a.x,a.y,o.x,o.y,p.x,p.y)&&ws(p.prev,p,p.next)>=0)return!1;if(p=p.prevZ,d!==t.prev&&d!==t.next&&bs(i.x,i.y,a.x,a.y,o.x,o.y,d.x,d.y)&&ws(d.prev,d,d.next)>=0)return!1;d=d.nextZ}for(;p&&p.z>=f;){if(p!==t.prev&&p!==t.next&&bs(i.x,i.y,a.x,a.y,o.x,o.y,p.x,p.y)&&ws(p.prev,p,p.next)>=0)return!1;p=p.prevZ}for(;d&&d.z<=h;){if(d!==t.prev&&d!==t.next&&bs(i.x,i.y,a.x,a.y,o.x,o.y,d.x,d.y)&&ws(d.prev,d,d.next)>=0)return!1;d=d.nextZ}return!0}function ps(t,e,r){var n=t;do{var i=n.prev,a=n.next.next;!Ts(i,a)&&ks(i,n,n.next,a)&&Ss(i,a)&&Ss(a,i)&&(e.push(i.i/r),e.push(n.i/r),e.push(a.i/r),Cs(n),Cs(n.next),n=t=a),n=n.next}while(n!==t);return us(n)}function ds(t,e,r,n,i,a){var o=t;do{for(var s=o.next.next;s!==o.prev;){if(o.i!==s.i&&_s(o,s)){var l=Es(o,s);return o=us(o,o.next),l=us(l,l.next),cs(o,e,r,n,i,a),void cs(l,e,r,n,i,a)}s=s.next}o=o.next}while(o!==t)}function vs(t,e){return t.x-e.x}function gs(t,e){if(e=function(t,e){var r,n=e,i=t.x,a=t.y,o=-1/0;do{if(a<=n.y&&a>=n.next.y&&n.next.y!==n.y){var s=n.x+(a-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(s<=i&&s>o){if(o=s,s===i){if(a===n.y)return n;if(a===n.next.y)return n.next}r=n.x=n.x&&n.x>=c&&i!==n.x&&bs(ar.x||n.x===r.x&&ys(r,n)))&&(r=n,h=l)),n=n.next}while(n!==u);return r}(t,e)){var r=Es(e,t);us(e,e.next),us(r,r.next)}}function ys(t,e){return ws(t.prev,t,e.prev)<0&&ws(e.next,t,t.next)<0}function ms(t,e,r,n,i){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-r)*i)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-n)*i)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function xs(t){var e=t,r=t;do{(e.x=0&&(t-o)*(n-s)-(r-o)*(e-s)>=0&&(r-o)*(a-s)-(i-o)*(n-s)>=0}function _s(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!function(t,e){var r=t;do{if(r.i!==t.i&&r.next.i!==t.i&&r.i!==e.i&&r.next.i!==e.i&&ks(r,r.next,t,e))return!0;r=r.next}while(r!==t);return!1}(t,e)&&(Ss(t,e)&&Ss(e,t)&&function(t,e){var r=t,n=!1,i=(t.x+e.x)/2,a=(t.y+e.y)/2;do{r.y>a!=r.next.y>a&&r.next.y!==r.y&&i<(r.next.x-r.x)*(a-r.y)/(r.next.y-r.y)+r.x&&(n=!n),r=r.next}while(r!==t);return n}(t,e)&&(ws(t.prev,t,e.prev)||ws(t,e.prev,e))||Ts(t,e)&&ws(t.prev,t,t.next)>0&&ws(e.prev,e,e.next)>0)}function ws(t,e,r){return(e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y)}function Ts(t,e){return t.x===e.x&&t.y===e.y}function ks(t,e,r,n){var i=Ms(ws(t,e,r)),a=Ms(ws(t,e,n)),o=Ms(ws(r,n,t)),s=Ms(ws(r,n,e));return i!==a&&o!==s||!(0!==i||!As(t,r,e))||!(0!==a||!As(t,n,e))||!(0!==o||!As(r,t,n))||!(0!==s||!As(r,e,n))}function As(t,e,r){return e.x<=Math.max(t.x,r.x)&&e.x>=Math.min(t.x,r.x)&&e.y<=Math.max(t.y,r.y)&&e.y>=Math.min(t.y,r.y)}function Ms(t){return t>0?1:t<0?-1:0}function Ss(t,e){return ws(t.prev,t,t.next)<0?ws(t,e,t.next)>=0&&ws(t,t.prev,e)>=0:ws(t,e,t.prev)<0||ws(t,t.next,e)<0}function Es(t,e){var r=new Ps(t.i,t.x,t.y),n=new Ps(e.i,e.x,e.y),i=t.next,a=e.prev;return t.next=e,e.prev=t,r.next=i,i.prev=r,n.next=r,r.prev=n,a.next=n,n.prev=a,n}function Ls(t,e,r,n){var i=new Ps(t,e,r);return n?(i.next=n.next,i.prev=n,n.next.prev=i,n.next=i):(i.prev=i,i.next=i),i}function Cs(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}function Ps(t,e,r){this.i=t,this.x=e,this.y=r,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function Os(t,e,r,n){for(var i=0,a=e,o=r-n;ar;){if(n-r>600){var a=n-r+1,o=e-r+1,s=Math.log(a),l=.5*Math.exp(2*s/3),u=.5*Math.sqrt(s*l*(a-l)/a)*(o-a/2<0?-1:1);zs(t,e,Math.max(r,Math.floor(e-o*l/a+u)),Math.min(n,Math.floor(e+(a-o)*l/a+u)),i)}var c=t[e],f=r,h=n;for(Ds(t,r,e),i(t[n],c)>0&&Ds(t,r,n);f0;)h--}0===i(t[r],c)?Ds(t,r,h):Ds(t,++h,n),h<=e&&(r=h+1),e<=h&&(n=h-1)}}function Ds(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function Rs(t,e){return te?1:0}function Fs(t,e){var r=t.length;if(r<=1)return[t];for(var n,i,a=[],o=0;o1)for(var l=0;l0&&(n+=t[i-1].length,r.holes.push(n))}return r},as.default=os;var Us=function(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((function(t){return t.id})),this.index=t.index,this.hasPattern=!1,this.patternFeatures=[],this.layoutVertexArray=new ra,this.indexArray=new va,this.indexArray2=new _a,this.programConfigurations=new co(t.layers,t.zoom),this.segments=new Da,this.segments2=new Da,this.stateDependentLayerIds=this.layers.filter((function(t){return t.isStateDependent()})).map((function(t){return t.id}))};Us.prototype.populate=function(t,e,r){this.hasPattern=Ns(\"fill\",this.layers,e);for(var n=this.layers[0].layout.get(\"fill-sort-key\"),i=[],a=0,o=t;a>3}if(i--,1===n||2===n)o+=t.readSVarint(),s+=t.readSVarint(),1===n&&(e&&l.push(e),e=[]),e.push(new a(o,s));else{if(7!==n)throw new Error(\"unknown command \"+n);e&&e.push(e[0].clone())}}return e&&l.push(e),l},Ys.prototype.bbox=function(){var t=this._pbf;t.pos=this._geometry;for(var e=t.readVarint()+t.pos,r=1,n=0,i=0,a=0,o=1/0,s=-1/0,l=1/0,u=-1/0;t.pos>3}if(n--,1===r||2===r)(i+=t.readSVarint())s&&(s=i),(a+=t.readSVarint())u&&(u=a);else if(7!==r)throw new Error(\"unknown command \"+r)}return[o,l,s,u]},Ys.prototype.toGeoJSON=function(t,e,r){var n,i,a=this.extent*Math.pow(2,r),o=this.extent*t,s=this.extent*e,l=this.loadGeometry(),u=Ys.types[this.type];function c(t){for(var e=0;e>3;e=1===n?t.readString():2===n?t.readFloat():3===n?t.readDouble():4===n?t.readVarint64():5===n?t.readVarint():6===n?t.readSVarint():7===n?t.readBoolean():null}return e}(r))}function Qs(t,e,r){if(3===t){var n=new Ks(r,r.readVarint()+r.pos);n.length&&(e[n.name]=n)}}Js.prototype.feature=function(t){if(t<0||t>=this._features.length)throw new Error(\"feature index out of bounds\");this._pbf.pos=this._features[t];var e=this._pbf.readVarint()+this._pbf.pos;return new Ws(this._pbf,e,this.extent,this._keys,this._values)};var tl={VectorTile:function(t,e){this.layers=t.readFields(Qs,{},e)},VectorTileFeature:Ws,VectorTileLayer:Ks},el=tl.VectorTileFeature.types,rl=Math.pow(2,13);function nl(t,e,r,n,i,a,o,s){t.emplaceBack(e,r,2*Math.floor(n*rl)+o,i*rl*2,a*rl*2,Math.round(s))}var il=function(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((function(t){return t.id})),this.index=t.index,this.hasPattern=!1,this.layoutVertexArray=new ia,this.indexArray=new va,this.programConfigurations=new co(t.layers,t.zoom),this.segments=new Da,this.stateDependentLayerIds=this.layers.filter((function(t){return t.isStateDependent()})).map((function(t){return t.id}))};function al(t,e){return t.x===e.x&&(t.x<0||t.x>po)||t.y===e.y&&(t.y<0||t.y>po)}il.prototype.populate=function(t,e,r){this.features=[],this.hasPattern=Ns(\"fill-extrusion\",this.layers,e);for(var n=0,i=t;npo}))||O.every((function(t){return t.y<0}))||O.every((function(t){return t.y>po}))))for(var v=0,g=0;g=1){var m=d[g-1];if(!al(y,m)){f.vertexLength+4>Da.MAX_VERTEX_ARRAY_LENGTH&&(f=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));var x=y.sub(m)._perp()._unit(),b=m.dist(y);v+b>32768&&(v=0),nl(this.layoutVertexArray,y.x,y.y,x.x,x.y,0,0,v),nl(this.layoutVertexArray,y.x,y.y,x.x,x.y,0,1,v),v+=b,nl(this.layoutVertexArray,m.x,m.y,x.x,x.y,0,0,v),nl(this.layoutVertexArray,m.x,m.y,x.x,x.y,0,1,v);var _=f.vertexLength;this.indexArray.emplaceBack(_,_+2,_+1),this.indexArray.emplaceBack(_+1,_+2,_+3),f.vertexLength+=4,f.primitiveLength+=2}}}}if(f.vertexLength+l>Da.MAX_VERTEX_ARRAY_LENGTH&&(f=this.segments.prepareSegment(l,this.layoutVertexArray,this.indexArray)),\"Polygon\"===el[t.type]){for(var w=[],T=[],k=f.vertexLength,A=0,M=s;A=2&&t[l-1].equals(t[l-2]);)l--;for(var u=0;u0;if(T&&y>u){var A=c.dist(p);if(A>2*f){var M=c.sub(c.sub(p)._mult(f/A)._round());this.updateDistance(p,M),this.addCurrentVertex(M,v,0,0,h),p=M}}var S=p&&d,E=S?r:s?\"butt\":n;if(S&&\"round\"===E&&(_i&&(E=\"bevel\"),\"bevel\"===E&&(_>2&&(E=\"flipbevel\"),_100)m=g.mult(-1);else{var L=_*v.add(g).mag()/v.sub(g).mag();m._perp()._mult(L*(k?-1:1))}this.addCurrentVertex(c,m,0,0,h),this.addCurrentVertex(c,m.mult(-1),0,0,h)}else if(\"bevel\"===E||\"fakeround\"===E){var C=-Math.sqrt(_*_-1),P=k?C:0,O=k?0:C;if(p&&this.addCurrentVertex(c,v,P,O,h),\"fakeround\"===E)for(var I=Math.round(180*w/Math.PI/20),z=1;z2*f){var j=c.add(d.sub(c)._mult(f/N)._round());this.updateDistance(c,j),this.addCurrentVertex(j,g,0,0,h),c=j}}}}},vl.prototype.addCurrentVertex=function(t,e,r,n,i,a){void 0===a&&(a=!1);var o=e.x+e.y*r,s=e.y-e.x*r,l=-e.x+e.y*n,u=-e.y-e.x*n;this.addHalfVertex(t,o,s,a,!1,r,i),this.addHalfVertex(t,l,u,a,!0,-n,i),this.distance>dl/2&&0===this.totalDistance&&(this.distance=0,this.addCurrentVertex(t,e,r,n,i,a))},vl.prototype.addHalfVertex=function(t,e,r,n,i,a,o){var s=t.x,l=t.y,u=.5*(this.lineClips?this.scaledDistance*(dl-1):this.scaledDistance);if(this.layoutVertexArray.emplaceBack((s<<1)+(n?1:0),(l<<1)+(i?1:0),Math.round(63*e)+128,Math.round(63*r)+128,1+(0===a?0:a<0?-1:1)|(63&u)<<2,u>>6),this.lineClips){var c=(this.scaledDistance-this.lineClips.start)/(this.lineClips.end-this.lineClips.start);this.layoutVertexArray2.emplaceBack(c,this.lineClipsArray.length)}var f=o.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,this.e2,f),o.primitiveLength++),i?this.e2=f:this.e1=f},vl.prototype.updateScaledDistance=function(){this.scaledDistance=this.lineClips?this.lineClips.start+(this.lineClips.end-this.lineClips.start)*this.distance/this.totalDistance:this.distance},vl.prototype.updateDistance=function(t,e){this.distance+=t.dist(e),this.updateScaledDistance()},oi(\"LineBucket\",vl,{omit:[\"layers\",\"patternFeatures\"]});var gl=new Xi({\"line-cap\":new qi(Ft.layout_line[\"line-cap\"]),\"line-join\":new Hi(Ft.layout_line[\"line-join\"]),\"line-miter-limit\":new qi(Ft.layout_line[\"line-miter-limit\"]),\"line-round-limit\":new qi(Ft.layout_line[\"line-round-limit\"]),\"line-sort-key\":new Hi(Ft.layout_line[\"line-sort-key\"])}),yl={paint:new Xi({\"line-opacity\":new Hi(Ft.paint_line[\"line-opacity\"]),\"line-color\":new Hi(Ft.paint_line[\"line-color\"]),\"line-translate\":new qi(Ft.paint_line[\"line-translate\"]),\"line-translate-anchor\":new qi(Ft.paint_line[\"line-translate-anchor\"]),\"line-width\":new Hi(Ft.paint_line[\"line-width\"]),\"line-gap-width\":new Hi(Ft.paint_line[\"line-gap-width\"]),\"line-offset\":new Hi(Ft.paint_line[\"line-offset\"]),\"line-blur\":new Hi(Ft.paint_line[\"line-blur\"]),\"line-dasharray\":new Wi(Ft.paint_line[\"line-dasharray\"]),\"line-pattern\":new Gi(Ft.paint_line[\"line-pattern\"]),\"line-gradient\":new Yi(Ft.paint_line[\"line-gradient\"])}),layout:gl},ml=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.possiblyEvaluate=function(e,r){return r=new zi(Math.floor(r.zoom),{now:r.now,fadeDuration:r.fadeDuration,zoomHistory:r.zoomHistory,transition:r.transition}),t.prototype.possiblyEvaluate.call(this,e,r)},e.prototype.evaluate=function(e,r,n,i){return r=p({},r,{zoom:Math.floor(r.zoom)}),t.prototype.evaluate.call(this,e,r,n,i)},e}(Hi),xl=new ml(yl.paint.properties[\"line-width\"].specification);xl.useIntegerZoom=!0;var bl=function(t){function e(e){t.call(this,e,yl),this.gradientVersion=0}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._handleSpecialPaintPropertyUpdate=function(t){if(\"line-gradient\"===t){var e=this._transitionablePaint._values[\"line-gradient\"].value.expression;this.stepInterpolant=e._styleExpression.expression instanceof tr,this.gradientVersion=(this.gradientVersion+1)%l}},e.prototype.gradientExpression=function(){return this._transitionablePaint._values[\"line-gradient\"].value.expression},e.prototype.recalculate=function(e,r){t.prototype.recalculate.call(this,e,r),this.paint._values[\"line-floorwidth\"]=xl.possiblyEvaluate(this._transitioningPaint._values[\"line-width\"].value,e)},e.prototype.createBucket=function(t){return new vl(t)},e.prototype.queryRadius=function(t){var e=t,r=_l(Oo(\"line-width\",this,e),Oo(\"line-gap-width\",this,e)),n=Oo(\"line-offset\",this,e);return r/2+Math.abs(n)+Io(this.paint.get(\"line-translate\"))},e.prototype.queryIntersectsFeature=function(t,e,r,n,i,o,s){var l=zo(t,this.paint.get(\"line-translate\"),this.paint.get(\"line-translate-anchor\"),o.angle,s),u=s/2*_l(this.paint.get(\"line-width\").evaluate(e,r),this.paint.get(\"line-gap-width\").evaluate(e,r)),c=this.paint.get(\"line-offset\").evaluate(e,r);return c&&(n=function(t,e){for(var r=[],n=new a(0,0),i=0;i=3)for(var a=0;a0?e+2*t:t}var wl=ta([{name:\"a_pos_offset\",components:4,type:\"Int16\"},{name:\"a_data\",components:4,type:\"Uint16\"},{name:\"a_pixeloffset\",components:4,type:\"Int16\"}],4),Tl=ta([{name:\"a_projected_pos\",components:3,type:\"Float32\"}],4),kl=(ta([{name:\"a_fade_opacity\",components:1,type:\"Uint32\"}],4),ta([{name:\"a_placed\",components:2,type:\"Uint8\"},{name:\"a_shift\",components:2,type:\"Float32\"}])),Al=(ta([{type:\"Int16\",name:\"anchorPointX\"},{type:\"Int16\",name:\"anchorPointY\"},{type:\"Int16\",name:\"x1\"},{type:\"Int16\",name:\"y1\"},{type:\"Int16\",name:\"x2\"},{type:\"Int16\",name:\"y2\"},{type:\"Uint32\",name:\"featureIndex\"},{type:\"Uint16\",name:\"sourceLayerIndex\"},{type:\"Uint16\",name:\"bucketIndex\"}]),ta([{name:\"a_pos\",components:2,type:\"Int16\"},{name:\"a_anchor_pos\",components:2,type:\"Int16\"},{name:\"a_extrude\",components:2,type:\"Int16\"}],4)),Ml=ta([{name:\"a_pos\",components:2,type:\"Float32\"},{name:\"a_radius\",components:1,type:\"Float32\"},{name:\"a_flags\",components:2,type:\"Int16\"}],4);function Sl(t,e,r){return t.sections.forEach((function(t){t.text=function(t,e,r){var n=e.layout.get(\"text-transform\").evaluate(r,{});return\"uppercase\"===n?t=t.toLocaleUpperCase():\"lowercase\"===n&&(t=t.toLocaleLowerCase()),Ii.applyArabicShaping&&(t=Ii.applyArabicShaping(t)),t}(t.text,e,r)})),t}ta([{name:\"triangle\",components:3,type:\"Uint16\"}]),ta([{type:\"Int16\",name:\"anchorX\"},{type:\"Int16\",name:\"anchorY\"},{type:\"Uint16\",name:\"glyphStartIndex\"},{type:\"Uint16\",name:\"numGlyphs\"},{type:\"Uint32\",name:\"vertexStartIndex\"},{type:\"Uint32\",name:\"lineStartIndex\"},{type:\"Uint32\",name:\"lineLength\"},{type:\"Uint16\",name:\"segment\"},{type:\"Uint16\",name:\"lowerSize\"},{type:\"Uint16\",name:\"upperSize\"},{type:\"Float32\",name:\"lineOffsetX\"},{type:\"Float32\",name:\"lineOffsetY\"},{type:\"Uint8\",name:\"writingMode\"},{type:\"Uint8\",name:\"placedOrientation\"},{type:\"Uint8\",name:\"hidden\"},{type:\"Uint32\",name:\"crossTileID\"},{type:\"Int16\",name:\"associatedIconIndex\"}]),ta([{type:\"Int16\",name:\"anchorX\"},{type:\"Int16\",name:\"anchorY\"},{type:\"Int16\",name:\"rightJustifiedTextSymbolIndex\"},{type:\"Int16\",name:\"centerJustifiedTextSymbolIndex\"},{type:\"Int16\",name:\"leftJustifiedTextSymbolIndex\"},{type:\"Int16\",name:\"verticalPlacedTextSymbolIndex\"},{type:\"Int16\",name:\"placedIconSymbolIndex\"},{type:\"Int16\",name:\"verticalPlacedIconSymbolIndex\"},{type:\"Uint16\",name:\"key\"},{type:\"Uint16\",name:\"textBoxStartIndex\"},{type:\"Uint16\",name:\"textBoxEndIndex\"},{type:\"Uint16\",name:\"verticalTextBoxStartIndex\"},{type:\"Uint16\",name:\"verticalTextBoxEndIndex\"},{type:\"Uint16\",name:\"iconBoxStartIndex\"},{type:\"Uint16\",name:\"iconBoxEndIndex\"},{type:\"Uint16\",name:\"verticalIconBoxStartIndex\"},{type:\"Uint16\",name:\"verticalIconBoxEndIndex\"},{type:\"Uint16\",name:\"featureIndex\"},{type:\"Uint16\",name:\"numHorizontalGlyphVertices\"},{type:\"Uint16\",name:\"numVerticalGlyphVertices\"},{type:\"Uint16\",name:\"numIconVertices\"},{type:\"Uint16\",name:\"numVerticalIconVertices\"},{type:\"Uint16\",name:\"useRuntimeCollisionCircles\"},{type:\"Uint32\",name:\"crossTileID\"},{type:\"Float32\",name:\"textBoxScale\"},{type:\"Float32\",components:2,name:\"textOffset\"},{type:\"Float32\",name:\"collisionCircleDiameter\"}]),ta([{type:\"Float32\",name:\"offsetX\"}]),ta([{type:\"Int16\",name:\"x\"},{type:\"Int16\",name:\"y\"},{type:\"Int16\",name:\"tileUnitDistanceFromAnchor\"}]);var El={\"!\":\"︕\",\"#\":\"#\",$:\"$\",\"%\":\"%\",\"&\":\"&\",\"(\":\"︵\",\")\":\"︶\",\"*\":\"*\",\"+\":\"+\",\",\":\"︐\",\"-\":\"︲\",\".\":\"・\",\"/\":\"/\",\":\":\"︓\",\";\":\"︔\",\"<\":\"︿\",\"=\":\"=\",\">\":\"﹀\",\"?\":\"︖\",\"@\":\"@\",\"[\":\"﹇\",\"\\\\\":\"\\",\"]\":\"﹈\",\"^\":\"^\",_:\"︳\",\"`\":\"`\",\"{\":\"︷\",\"|\":\"―\",\"}\":\"︸\",\"~\":\"~\",\"¢\":\"¢\",\"£\":\"£\",\"¥\":\"¥\",\"¦\":\"¦\",\"¬\":\"¬\",\"¯\":\" ̄\",\"–\":\"︲\",\"—\":\"︱\",\"‘\":\"﹃\",\"’\":\"﹄\",\"“\":\"﹁\",\"”\":\"﹂\",\"…\":\"︙\",\"‧\":\"・\",\"₩\":\"₩\",\"、\":\"︑\",\"。\":\"︒\",\"〈\":\"︿\",\"〉\":\"﹀\",\"《\":\"︽\",\"》\":\"︾\",\"「\":\"﹁\",\"」\":\"﹂\",\"『\":\"﹃\",\"』\":\"﹄\",\"【\":\"︻\",\"】\":\"︼\",\"〔\":\"︹\",\"〕\":\"︺\",\"〖\":\"︗\",\"〗\":\"︘\",\"!\":\"︕\",\"(\":\"︵\",\")\":\"︶\",\",\":\"︐\",\"-\":\"︲\",\".\":\"・\",\":\":\"︓\",\";\":\"︔\",\"<\":\"︿\",\">\":\"﹀\",\"?\":\"︖\",\"[\":\"﹇\",\"]\":\"﹈\",\"_\":\"︳\",\"{\":\"︷\",\"|\":\"―\",\"}\":\"︸\",\"⦅\":\"︵\",\"⦆\":\"︶\",\"。\":\"︒\",\"「\":\"﹁\",\"」\":\"﹂\"};var Ll=24,Cl=function(t,e,r,n,i){var a,o,s=8*i-n-1,l=(1<>1,c=-7,f=r?i-1:0,h=r?-1:1,p=t[e+f];for(f+=h,a=p&(1<<-c)-1,p>>=-c,c+=s;c>0;a=256*a+t[e+f],f+=h,c-=8);for(o=a&(1<<-c)-1,a>>=-c,c+=n;c>0;o=256*o+t[e+f],f+=h,c-=8);if(0===a)a=1-u;else{if(a===l)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,n),a-=u}return(p?-1:1)*o*Math.pow(2,a-n)},Pl=function(t,e,r,n,i,a){var o,s,l,u=8*a-i-1,c=(1<>1,h=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:a-1,d=n?1:-1,v=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,o=c):(o=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-o))<1&&(o--,l*=2),(e+=o+f>=1?h/l:h*Math.pow(2,1-f))*l>=2&&(o++,l/=2),o+f>=c?(s=0,o=c):o+f>=1?(s=(e*l-1)*Math.pow(2,i),o+=f):(s=e*Math.pow(2,f-1)*Math.pow(2,i),o=0));i>=8;t[r+p]=255&s,p+=d,s/=256,i-=8);for(o=o<0;t[r+p]=255&o,p+=d,o/=256,u-=8);t[r+p-d]|=128*v},Ol=Il;function Il(t){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(t)?t:new Uint8Array(t||0),this.pos=0,this.type=0,this.length=this.buf.length}Il.Varint=0,Il.Fixed64=1,Il.Bytes=2,Il.Fixed32=5;var zl=4294967296,Dl=1/zl,Rl=\"undefined\"==typeof TextDecoder?null:new TextDecoder(\"utf8\");function Fl(t){return t.type===Il.Bytes?t.readVarint()+t.pos:t.pos+1}function Bl(t,e,r){return r?4294967296*e+(t>>>0):4294967296*(e>>>0)+(t>>>0)}function Nl(t,e,r){var n=e<=16383?1:e<=2097151?2:e<=268435455?3:Math.floor(Math.log(e)/(7*Math.LN2));r.realloc(n);for(var i=r.pos-1;i>=t;i--)r.buf[i+n]=r.buf[i]}function jl(t,e){for(var r=0;r>>8,t[r+2]=e>>>16,t[r+3]=e>>>24}function Jl(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16)+(t[e+3]<<24)}Il.prototype={destroy:function(){this.buf=null},readFields:function(t,e,r){for(r=r||this.length;this.pos>3,a=this.pos;this.type=7&n,t(i,e,this),this.pos===a&&this.skip(n)}return e},readMessage:function(t,e){return this.readFields(t,e,this.readVarint()+this.pos)},readFixed32:function(){var t=Zl(this.buf,this.pos);return this.pos+=4,t},readSFixed32:function(){var t=Jl(this.buf,this.pos);return this.pos+=4,t},readFixed64:function(){var t=Zl(this.buf,this.pos)+Zl(this.buf,this.pos+4)*zl;return this.pos+=8,t},readSFixed64:function(){var t=Zl(this.buf,this.pos)+Jl(this.buf,this.pos+4)*zl;return this.pos+=8,t},readFloat:function(){var t=Cl(this.buf,this.pos,!0,23,4);return this.pos+=4,t},readDouble:function(){var t=Cl(this.buf,this.pos,!0,52,8);return this.pos+=8,t},readVarint:function(t){var e,r,n=this.buf;return e=127&(r=n[this.pos++]),r<128?e:(e|=(127&(r=n[this.pos++]))<<7,r<128?e:(e|=(127&(r=n[this.pos++]))<<14,r<128?e:(e|=(127&(r=n[this.pos++]))<<21,r<128?e:function(t,e,r){var n,i,a=r.buf;if(n=(112&(i=a[r.pos++]))>>4,i<128)return Bl(t,n,e);if(n|=(127&(i=a[r.pos++]))<<3,i<128)return Bl(t,n,e);if(n|=(127&(i=a[r.pos++]))<<10,i<128)return Bl(t,n,e);if(n|=(127&(i=a[r.pos++]))<<17,i<128)return Bl(t,n,e);if(n|=(127&(i=a[r.pos++]))<<24,i<128)return Bl(t,n,e);if(n|=(1&(i=a[r.pos++]))<<31,i<128)return Bl(t,n,e);throw new Error(\"Expected varint not more than 10 bytes\")}(e|=(15&(r=n[this.pos]))<<28,t,this))))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var t=this.readVarint();return t%2==1?(t+1)/-2:t/2},readBoolean:function(){return Boolean(this.readVarint())},readString:function(){var t=this.readVarint()+this.pos,e=this.pos;return this.pos=t,t-e>=12&&Rl?function(t,e,r){return Rl.decode(t.subarray(e,r))}(this.buf,e,t):function(t,e,r){for(var n=\"\",i=e;i239?4:l>223?3:l>191?2:1;if(i+c>r)break;1===c?l<128&&(u=l):2===c?128==(192&(a=t[i+1]))&&(u=(31&l)<<6|63&a)<=127&&(u=null):3===c?(a=t[i+1],o=t[i+2],128==(192&a)&&128==(192&o)&&((u=(15&l)<<12|(63&a)<<6|63&o)<=2047||u>=55296&&u<=57343)&&(u=null)):4===c&&(a=t[i+1],o=t[i+2],s=t[i+3],128==(192&a)&&128==(192&o)&&128==(192&s)&&((u=(15&l)<<18|(63&a)<<12|(63&o)<<6|63&s)<=65535||u>=1114112)&&(u=null)),null===u?(u=65533,c=1):u>65535&&(u-=65536,n+=String.fromCharCode(u>>>10&1023|55296),u=56320|1023&u),n+=String.fromCharCode(u),i+=c}return n}(this.buf,e,t)},readBytes:function(){var t=this.readVarint()+this.pos,e=this.buf.subarray(this.pos,t);return this.pos=t,e},readPackedVarint:function(t,e){if(this.type!==Il.Bytes)return t.push(this.readVarint(e));var r=Fl(this);for(t=t||[];this.pos127;);else if(e===Il.Bytes)this.pos=this.readVarint()+this.pos;else if(e===Il.Fixed32)this.pos+=4;else{if(e!==Il.Fixed64)throw new Error(\"Unimplemented type: \"+e);this.pos+=8}},writeTag:function(t,e){this.writeVarint(t<<3|e)},realloc:function(t){for(var e=this.length||16;e268435455||t<0?function(t,e){var r,n;if(t>=0?(r=t%4294967296|0,n=t/4294967296|0):(n=~(-t/4294967296),4294967295^(r=~(-t%4294967296))?r=r+1|0:(r=0,n=n+1|0)),t>=0x10000000000000000||t<-0x10000000000000000)throw new Error(\"Given varint doesn't fit into 10 bytes\");e.realloc(10),function(t,e,r){r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos]=127&t}(r,0,e),function(t,e){var r=(7&t)<<4;e.buf[e.pos++]|=r|((t>>>=3)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t)))))}(n,e)}(t,this):(this.realloc(4),this.buf[this.pos++]=127&t|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=t>>>7&127))))},writeSVarint:function(t){this.writeVarint(t<0?2*-t-1:2*t)},writeBoolean:function(t){this.writeVarint(Boolean(t))},writeString:function(t){t=String(t),this.realloc(4*t.length),this.pos++;var e=this.pos;this.pos=function(t,e,r){for(var n,i,a=0;a55295&&n<57344){if(!i){n>56319||a+1===e.length?(t[r++]=239,t[r++]=191,t[r++]=189):i=n;continue}if(n<56320){t[r++]=239,t[r++]=191,t[r++]=189,i=n;continue}n=i-55296<<10|n-56320|65536,i=null}else i&&(t[r++]=239,t[r++]=191,t[r++]=189,i=null);n<128?t[r++]=n:(n<2048?t[r++]=n>>6|192:(n<65536?t[r++]=n>>12|224:(t[r++]=n>>18|240,t[r++]=n>>12&63|128),t[r++]=n>>6&63|128),t[r++]=63&n|128)}return r}(this.buf,t,this.pos);var r=this.pos-e;r>=128&&Nl(e,r,this),this.pos=e-1,this.writeVarint(r),this.pos+=r},writeFloat:function(t){this.realloc(4),Pl(this.buf,t,this.pos,!0,23,4),this.pos+=4},writeDouble:function(t){this.realloc(8),Pl(this.buf,t,this.pos,!0,52,8),this.pos+=8},writeBytes:function(t){var e=t.length;this.writeVarint(e),this.realloc(e);for(var r=0;r=128&&Nl(r,n,this),this.pos=r-1,this.writeVarint(n),this.pos+=n},writeMessage:function(t,e,r){this.writeTag(t,Il.Bytes),this.writeRawMessage(e,r)},writePackedVarint:function(t,e){e.length&&this.writeMessage(t,jl,e)},writePackedSVarint:function(t,e){e.length&&this.writeMessage(t,Ul,e)},writePackedBoolean:function(t,e){e.length&&this.writeMessage(t,Hl,e)},writePackedFloat:function(t,e){e.length&&this.writeMessage(t,Vl,e)},writePackedDouble:function(t,e){e.length&&this.writeMessage(t,ql,e)},writePackedFixed32:function(t,e){e.length&&this.writeMessage(t,Gl,e)},writePackedSFixed32:function(t,e){e.length&&this.writeMessage(t,Wl,e)},writePackedFixed64:function(t,e){e.length&&this.writeMessage(t,Yl,e)},writePackedSFixed64:function(t,e){e.length&&this.writeMessage(t,Xl,e)},writeBytesField:function(t,e){this.writeTag(t,Il.Bytes),this.writeBytes(e)},writeFixed32Field:function(t,e){this.writeTag(t,Il.Fixed32),this.writeFixed32(e)},writeSFixed32Field:function(t,e){this.writeTag(t,Il.Fixed32),this.writeSFixed32(e)},writeFixed64Field:function(t,e){this.writeTag(t,Il.Fixed64),this.writeFixed64(e)},writeSFixed64Field:function(t,e){this.writeTag(t,Il.Fixed64),this.writeSFixed64(e)},writeVarintField:function(t,e){this.writeTag(t,Il.Varint),this.writeVarint(e)},writeSVarintField:function(t,e){this.writeTag(t,Il.Varint),this.writeSVarint(e)},writeStringField:function(t,e){this.writeTag(t,Il.Bytes),this.writeString(e)},writeFloatField:function(t,e){this.writeTag(t,Il.Fixed32),this.writeFloat(e)},writeDoubleField:function(t,e){this.writeTag(t,Il.Fixed64),this.writeDouble(e)},writeBooleanField:function(t,e){this.writeVarintField(t,Boolean(e))}};var $l=3;function Ql(t,e,r){1===t&&r.readMessage(tu,e)}function tu(t,e,r){if(3===t){var n=r.readMessage(eu,{}),i=n.id,a=n.bitmap,o=n.width,s=n.height,l=n.left,u=n.top,c=n.advance;e.push({id:i,bitmap:new Jo({width:o+2*$l,height:s+2*$l},a),metrics:{width:o,height:s,left:l,top:u,advance:c}})}}function eu(t,e,r){1===t?e.id=r.readVarint():2===t?e.bitmap=r.readBytes():3===t?e.width=r.readVarint():4===t?e.height=r.readVarint():5===t?e.left=r.readSVarint():6===t?e.top=r.readSVarint():7===t&&(e.advance=r.readVarint())}var ru=$l;function nu(t){for(var e=0,r=0,n=0,i=t;n=0;h--){var p=o[h];if(!(f.w>p.w||f.h>p.h)){if(f.x=p.x,f.y=p.y,l=Math.max(l,f.y+f.h),s=Math.max(s,f.x+f.w),f.w===p.w&&f.h===p.h){var d=o.pop();h0&&B>A&&(A=B)}else{var N=r[S.fontStack],j=N&&N[L];if(j&&j.rect)O=j.rect,P=j.metrics;else{var U=e[S.fontStack],V=U&&U[L];if(!V)continue;P=V.metrics}C=(_-S.scale)*Ll}D?(t.verticalizable=!0,k.push({glyph:L,imageName:I,x:h,y:p+C,vertical:D,scale:S.scale,fontStack:S.fontStack,sectionIndex:E,metrics:P,rect:O}),h+=z*S.scale+u):(k.push({glyph:L,imageName:I,x:h,y:p+C,vertical:D,scale:S.scale,fontStack:S.fontStack,sectionIndex:E,metrics:P,rect:O}),h+=P.advance*S.scale+u)}if(0!==k.length){var q=h-u;d=Math.max(q,d),wu(k,0,k.length-1,g,A)}h=0;var H=a*_+A;T.lineOffset=Math.max(A,w),p+=H,v=Math.max(H,v),++y}else p+=a,++y}var G=p-uu,W=_u(o),Y=W.horizontalAlign,X=W.verticalAlign;(function(t,e,r,n,i,a,o,s,l){var u=(e-r)*i,c=0;c=a!==o?-s*n-uu:(-n*l+.5)*o;for(var f=0,h=t;f=0&&n>=t&&pu[this.text.charCodeAt(n)];n--)r--;this.text=this.text.substring(t,r),this.sectionIndex=this.sectionIndex.slice(t,r)},fu.prototype.substring=function(t,e){var r=new fu;return r.text=this.text.substring(t,e),r.sectionIndex=this.sectionIndex.slice(t,e),r.sections=this.sections,r},fu.prototype.toString=function(){return this.text},fu.prototype.getMaxScale=function(){var t=this;return this.sectionIndex.reduce((function(e,r){return Math.max(e,t.sections[r].scale)}),0)},fu.prototype.addTextSection=function(t,e){this.text+=t.text,this.sections.push(cu.forText(t.scale,t.fontStack||e));for(var r=this.sections.length-1,n=0;n=63743?null:++this.imageSectionID:(this.imageSectionID=57344,this.imageSectionID)};var pu={9:!0,10:!0,11:!0,12:!0,13:!0,32:!0},du={};function vu(t,e,r,n,i,a){if(e.imageName){var o=n[e.imageName];return o?o.displaySize[0]*e.scale*Ll/a+i:0}var s=r[e.fontStack],l=s&&s[t];return l?l.metrics.advance*e.scale+i:0}function gu(t,e,r,n){var i=Math.pow(t-e,2);return n?t=0,c=0,f=0;f-r/2;){if(--o<0)return!1;s-=t[o].dist(a),a=t[o]}s+=t[o].dist(t[o+1]),o++;for(var l=[],u=0;sn;)u-=l.shift().angleDelta;if(u>i)return!1;o++,s+=f.dist(h)}return!0}function Pu(t){for(var e=0,r=0;ru){var d=(u-l)/p,v=er(f.x,h.x,d),g=er(f.y,h.y,d),y=new ku(v,g,h.angleTo(f),c);return y._round(),!o||Cu(t,y,s,o,e)?y:void 0}l+=p}}function Du(t,e,r,n,i,a,o,s,l){var u=Ou(n,a,o),c=Iu(n,i),f=c*o,h=0===t[0].x||t[0].x===l||0===t[0].y||t[0].y===l;return e-f=0&&b=0&&_=0&&h+u<=c){var w=new ku(b,_,m,d);w._round(),n&&!Cu(t,w,a,n,i)||p.push(w)}}f+=y}return s||p.length||o||(p=Ru(t,f/2,r,n,i,a,o,!0,l)),p}function Fu(t,e,r,n,i){for(var o=[],s=0;s=n&&h.x>=n||(f.x>=n?f=new a(n,f.y+(h.y-f.y)*((n-f.x)/(h.x-f.x)))._round():h.x>=n&&(h=new a(n,f.y+(h.y-f.y)*((n-f.x)/(h.x-f.x)))._round()),f.y>=i&&h.y>=i||(f.y>=i?f=new a(f.x+(h.x-f.x)*((i-f.y)/(h.y-f.y)),i)._round():h.y>=i&&(h=new a(f.x+(h.x-f.x)*((i-f.y)/(h.y-f.y)),i)._round()),u&&f.equals(u[u.length-1])||(u=[f],o.push(u)),u.push(h)))))}return o}var Bu=iu;function Nu(t,e,r,n){var i=[],o=t.image,s=o.pixelRatio,l=o.paddedRect.w-2*Bu,u=o.paddedRect.h-2*Bu,c=t.right-t.left,f=t.bottom-t.top,h=o.stretchX||[[0,l]],p=o.stretchY||[[0,u]],d=function(t,e){return t+e[1]-e[0]},v=h.reduce(d,0),g=p.reduce(d,0),y=l-v,m=u-g,x=0,b=v,_=0,w=g,T=0,k=y,A=0,M=m;if(o.content&&n){var S=o.content;x=ju(h,0,S[0]),_=ju(p,0,S[1]),b=ju(h,S[0],S[2]),w=ju(p,S[1],S[3]),T=S[0]-x,A=S[1]-_,k=S[2]-S[0]-b,M=S[3]-S[1]-w}var E=function(n,i,l,u){var h=Vu(n.stretch-x,b,c,t.left),p=qu(n.fixed-T,k,n.stretch,v),d=Vu(i.stretch-_,w,f,t.top),y=qu(i.fixed-A,M,i.stretch,g),m=Vu(l.stretch-x,b,c,t.left),S=qu(l.fixed-T,k,l.stretch,v),E=Vu(u.stretch-_,w,f,t.top),L=qu(u.fixed-A,M,u.stretch,g),C=new a(h,d),P=new a(m,d),O=new a(m,E),I=new a(h,E),z=new a(p/s,y/s),D=new a(S/s,L/s),R=e*Math.PI/180;if(R){var F=Math.sin(R),B=Math.cos(R),N=[B,-F,F,B];C._matMult(N),P._matMult(N),I._matMult(N),O._matMult(N)}var j=n.stretch+n.fixed,U=l.stretch+l.fixed,V=i.stretch+i.fixed,q=u.stretch+u.fixed;return{tl:C,tr:P,bl:I,br:O,tex:{x:o.paddedRect.x+Bu+j,y:o.paddedRect.y+Bu+V,w:U-j,h:q-V},writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:z,pixelOffsetBR:D,minFontScaleX:k/s/c,minFontScaleY:M/s/f,isSDF:r}};if(n&&(o.stretchX||o.stretchY))for(var L=Uu(h,y,v),C=Uu(p,m,g),P=0;P0&&(d=Math.max(10,d),this.circleDiameter=d)}else{var v=o.top*s-l,g=o.bottom*s+l,y=o.left*s-l,m=o.right*s+l,x=o.collisionPadding;if(x&&(y-=x[0]*s,v-=x[1]*s,m+=x[2]*s,g+=x[3]*s),c){var b=new a(y,v),_=new a(m,v),w=new a(y,g),T=new a(m,g),k=c*Math.PI/180;b._rotate(k),_._rotate(k),w._rotate(k),T._rotate(k),y=Math.min(b.x,_.x,w.x,T.x),m=Math.max(b.x,_.x,w.x,T.x),v=Math.min(b.y,_.y,w.y,T.y),g=Math.max(b.y,_.y,w.y,T.y)}t.emplaceBack(e.x,e.y,y,v,m,g,r,n,i)}this.boxEndIndex=t.length},Gu=function(t,e){if(void 0===t&&(t=[]),void 0===e&&(e=Wu),this.data=t,this.length=this.data.length,this.compare=e,this.length>0)for(var r=(this.length>>1)-1;r>=0;r--)this._down(r)};function Wu(t,e){return te?1:0}function Yu(t,e,r){void 0===e&&(e=1),void 0===r&&(r=!1);for(var n=1/0,i=1/0,o=-1/0,s=-1/0,l=t[0],u=0;uo)&&(o=c.x),(!u||c.y>s)&&(s=c.y)}var f=o-n,h=s-i,p=Math.min(f,h),d=p/2,v=new Gu([],Xu);if(0===p)return new a(n,i);for(var g=n;gm.d||!m.d)&&(m=b,r&&console.log(\"found best %d after %d probes\",Math.round(1e4*b.d)/1e4,x)),b.max-m.d<=e||(d=b.h/2,v.push(new Zu(b.p.x-d,b.p.y-d,d,t)),v.push(new Zu(b.p.x+d,b.p.y-d,d,t)),v.push(new Zu(b.p.x-d,b.p.y+d,d,t)),v.push(new Zu(b.p.x+d,b.p.y+d,d,t)),x+=4)}return r&&(console.log(\"num probes: \"+x),console.log(\"best distance: \"+m.d)),m.p}function Xu(t,e){return e.max-t.max}function Zu(t,e,r,n){this.p=new a(t,e),this.h=r,this.d=function(t,e){for(var r=!1,n=1/0,i=0;it.y!=c.y>t.y&&t.x<(c.x-u.x)*(t.y-u.y)/(c.y-u.y)+u.x&&(r=!r),n=Math.min(n,Eo(t,u,c))}return(r?1:-1)*Math.sqrt(n)}(this.p,n),this.max=this.d+this.h*Math.SQRT2}Gu.prototype.push=function(t){this.data.push(t),this.length++,this._up(this.length-1)},Gu.prototype.pop=function(){if(0!==this.length){var t=this.data[0],e=this.data.pop();return this.length--,this.length>0&&(this.data[0]=e,this._down(0)),t}},Gu.prototype.peek=function(){return this.data[0]},Gu.prototype._up=function(t){for(var e=this.data,r=this.compare,n=e[t];t>0;){var i=t-1>>1,a=e[i];if(r(n,a)>=0)break;e[t]=a,t=i}e[t]=n},Gu.prototype._down=function(t){for(var e=this.data,r=this.compare,n=this.length>>1,i=e[t];t=0)break;e[t]=o,t=a}e[t]=i};var Ku=7,Ju=Number.POSITIVE_INFINITY;function $u(t,e){return e[1]!==Ju?function(t,e,r){var n=0,i=0;switch(e=Math.abs(e),r=Math.abs(r),t){case\"top-right\":case\"top-left\":case\"top\":i=r-Ku;break;case\"bottom-right\":case\"bottom-left\":case\"bottom\":i=-r+Ku}switch(t){case\"top-right\":case\"bottom-right\":case\"right\":n=-e;break;case\"top-left\":case\"bottom-left\":case\"left\":n=e}return[n,i]}(t,e[0],e[1]):function(t,e){var r=0,n=0;e<0&&(e=0);var i=e/Math.sqrt(2);switch(t){case\"top-right\":case\"top-left\":n=i-Ku;break;case\"bottom-right\":case\"bottom-left\":n=-i+Ku;break;case\"bottom\":n=-e+Ku;break;case\"top\":n=e-Ku}switch(t){case\"top-right\":case\"bottom-right\":r=-i;break;case\"top-left\":case\"bottom-left\":r=i;break;case\"left\":r=e;break;case\"right\":r=-e}return[r,n]}(t,e[0])}function Qu(t){switch(t){case\"right\":case\"top-right\":case\"bottom-right\":return\"right\";case\"left\":case\"top-left\":case\"bottom-left\":return\"left\"}return\"center\"}var tc=255,ec=tc*Au;function rc(t,e,r,n,i,o,s,l,u,c,f,h,p,d,v){var g=function(t,e,r,n,i,o,s,l){for(var u=n.layout.get(\"text-rotate\").evaluate(o,{})*Math.PI/180,c=[],f=0,h=e.positionedLines;fec&&k(t.layerIds[0]+': Value for \"text-size\" is >= '+tc+'. Reduce your \"text-size\".'):\"composite\"===y.kind&&((m=[Au*d.compositeTextSizes[0].evaluate(s,{},v),Au*d.compositeTextSizes[1].evaluate(s,{},v)])[0]>ec||m[1]>ec)&&k(t.layerIds[0]+': Value for \"text-size\" is >= '+tc+'. Reduce your \"text-size\".'),t.addSymbols(t.text,g,m,l,o,s,c,e,u.lineStartIndex,u.lineLength,p,v);for(var x=0,b=f;x=0;o--)if(n.dist(a[o])0)&&(\"constant\"!==a.value.kind||a.value.value.length>0),u=\"constant\"!==s.value.kind||!!s.value.value||Object.keys(s.parameters).length>0,c=i.get(\"symbol-sort-key\");if(this.features=[],l||u){for(var f=e.iconDependencies,h=e.glyphDependencies,p=e.availableImages,d=new zi(this.zoom),v=0,g=t;v=0;for(var I=0,z=k.sections;I=0;s--)a[s]={x:e[s].x,y:e[s].y,tileUnitDistanceFromAnchor:i},s>0&&(i+=e[s-1].dist(e[s]));for(var l=0;l0},hc.prototype.hasIconData=function(){return this.icon.segments.get().length>0},hc.prototype.hasDebugData=function(){return this.textCollisionBox&&this.iconCollisionBox},hc.prototype.hasTextCollisionBoxData=function(){return this.hasDebugData()&&this.textCollisionBox.segments.get().length>0},hc.prototype.hasIconCollisionBoxData=function(){return this.hasDebugData()&&this.iconCollisionBox.segments.get().length>0},hc.prototype.addIndicesForPlacedSymbol=function(t,e){for(var r=t.placedSymbolArray.get(e),n=r.vertexStartIndex+4*r.numGlyphs,i=r.vertexStartIndex;i1||this.icon.segments.get().length>1)){this.symbolInstanceIndexes=this.getSortedSymbolIndexes(t),this.sortedAngle=t,this.text.indexArray.clear(),this.icon.indexArray.clear(),this.featureSortOrder=[];for(var r=0,n=this.symbolInstanceIndexes;r=0&&n.indexOf(t)===r&&e.addIndicesForPlacedSymbol(e.text,t)})),a.verticalPlacedTextSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.text,a.verticalPlacedTextSymbolIndex),a.placedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,a.placedIconSymbolIndex),a.verticalPlacedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,a.verticalPlacedIconSymbolIndex)}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray)}},oi(\"SymbolBucket\",hc,{omit:[\"layers\",\"collisionBoxArray\",\"features\",\"compareText\"]}),hc.MAX_GLYPHS=65535,hc.addDynamicAttributes=lc;var pc=new Xi({\"symbol-placement\":new qi(Ft.layout_symbol[\"symbol-placement\"]),\"symbol-spacing\":new qi(Ft.layout_symbol[\"symbol-spacing\"]),\"symbol-avoid-edges\":new qi(Ft.layout_symbol[\"symbol-avoid-edges\"]),\"symbol-sort-key\":new Hi(Ft.layout_symbol[\"symbol-sort-key\"]),\"symbol-z-order\":new qi(Ft.layout_symbol[\"symbol-z-order\"]),\"icon-allow-overlap\":new qi(Ft.layout_symbol[\"icon-allow-overlap\"]),\"icon-ignore-placement\":new qi(Ft.layout_symbol[\"icon-ignore-placement\"]),\"icon-optional\":new qi(Ft.layout_symbol[\"icon-optional\"]),\"icon-rotation-alignment\":new qi(Ft.layout_symbol[\"icon-rotation-alignment\"]),\"icon-size\":new Hi(Ft.layout_symbol[\"icon-size\"]),\"icon-text-fit\":new qi(Ft.layout_symbol[\"icon-text-fit\"]),\"icon-text-fit-padding\":new qi(Ft.layout_symbol[\"icon-text-fit-padding\"]),\"icon-image\":new Hi(Ft.layout_symbol[\"icon-image\"]),\"icon-rotate\":new Hi(Ft.layout_symbol[\"icon-rotate\"]),\"icon-padding\":new qi(Ft.layout_symbol[\"icon-padding\"]),\"icon-keep-upright\":new qi(Ft.layout_symbol[\"icon-keep-upright\"]),\"icon-offset\":new Hi(Ft.layout_symbol[\"icon-offset\"]),\"icon-anchor\":new Hi(Ft.layout_symbol[\"icon-anchor\"]),\"icon-pitch-alignment\":new qi(Ft.layout_symbol[\"icon-pitch-alignment\"]),\"text-pitch-alignment\":new qi(Ft.layout_symbol[\"text-pitch-alignment\"]),\"text-rotation-alignment\":new qi(Ft.layout_symbol[\"text-rotation-alignment\"]),\"text-field\":new Hi(Ft.layout_symbol[\"text-field\"]),\"text-font\":new Hi(Ft.layout_symbol[\"text-font\"]),\"text-size\":new Hi(Ft.layout_symbol[\"text-size\"]),\"text-max-width\":new Hi(Ft.layout_symbol[\"text-max-width\"]),\"text-line-height\":new qi(Ft.layout_symbol[\"text-line-height\"]),\"text-letter-spacing\":new Hi(Ft.layout_symbol[\"text-letter-spacing\"]),\"text-justify\":new Hi(Ft.layout_symbol[\"text-justify\"]),\"text-radial-offset\":new Hi(Ft.layout_symbol[\"text-radial-offset\"]),\"text-variable-anchor\":new qi(Ft.layout_symbol[\"text-variable-anchor\"]),\"text-anchor\":new Hi(Ft.layout_symbol[\"text-anchor\"]),\"text-max-angle\":new qi(Ft.layout_symbol[\"text-max-angle\"]),\"text-writing-mode\":new qi(Ft.layout_symbol[\"text-writing-mode\"]),\"text-rotate\":new Hi(Ft.layout_symbol[\"text-rotate\"]),\"text-padding\":new qi(Ft.layout_symbol[\"text-padding\"]),\"text-keep-upright\":new qi(Ft.layout_symbol[\"text-keep-upright\"]),\"text-transform\":new Hi(Ft.layout_symbol[\"text-transform\"]),\"text-offset\":new Hi(Ft.layout_symbol[\"text-offset\"]),\"text-allow-overlap\":new qi(Ft.layout_symbol[\"text-allow-overlap\"]),\"text-ignore-placement\":new qi(Ft.layout_symbol[\"text-ignore-placement\"]),\"text-optional\":new qi(Ft.layout_symbol[\"text-optional\"])}),dc={paint:new Xi({\"icon-opacity\":new Hi(Ft.paint_symbol[\"icon-opacity\"]),\"icon-color\":new Hi(Ft.paint_symbol[\"icon-color\"]),\"icon-halo-color\":new Hi(Ft.paint_symbol[\"icon-halo-color\"]),\"icon-halo-width\":new Hi(Ft.paint_symbol[\"icon-halo-width\"]),\"icon-halo-blur\":new Hi(Ft.paint_symbol[\"icon-halo-blur\"]),\"icon-translate\":new qi(Ft.paint_symbol[\"icon-translate\"]),\"icon-translate-anchor\":new qi(Ft.paint_symbol[\"icon-translate-anchor\"]),\"text-opacity\":new Hi(Ft.paint_symbol[\"text-opacity\"]),\"text-color\":new Hi(Ft.paint_symbol[\"text-color\"],{runtimeType:Zt,getOverride:function(t){return t.textColor},hasOverride:function(t){return!!t.textColor}}),\"text-halo-color\":new Hi(Ft.paint_symbol[\"text-halo-color\"]),\"text-halo-width\":new Hi(Ft.paint_symbol[\"text-halo-width\"]),\"text-halo-blur\":new Hi(Ft.paint_symbol[\"text-halo-blur\"]),\"text-translate\":new qi(Ft.paint_symbol[\"text-translate\"]),\"text-translate-anchor\":new qi(Ft.paint_symbol[\"text-translate-anchor\"])}),layout:pc},vc=function(t){this.type=t.property.overrides?t.property.overrides.runtimeType:Gt,this.defaultValue=t};vc.prototype.evaluate=function(t){if(t.formattedSection){var e=this.defaultValue.property.overrides;if(e&&e.hasOverride(t.formattedSection))return e.getOverride(t.formattedSection)}return t.feature&&t.featureState?this.defaultValue.evaluate(t.feature,t.featureState):this.defaultValue.property.specification.default},vc.prototype.eachChild=function(t){this.defaultValue.isConstant()||t(this.defaultValue.value._styleExpression.expression)},vc.prototype.outputDefined=function(){return!1},vc.prototype.serialize=function(){return null},oi(\"FormatSectionOverride\",vc,{omit:[\"defaultValue\"]});var gc=function(t){function e(e){t.call(this,e,dc)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.recalculate=function(e,r){if(t.prototype.recalculate.call(this,e,r),\"auto\"===this.layout.get(\"icon-rotation-alignment\")&&(\"point\"!==this.layout.get(\"symbol-placement\")?this.layout._values[\"icon-rotation-alignment\"]=\"map\":this.layout._values[\"icon-rotation-alignment\"]=\"viewport\"),\"auto\"===this.layout.get(\"text-rotation-alignment\")&&(\"point\"!==this.layout.get(\"symbol-placement\")?this.layout._values[\"text-rotation-alignment\"]=\"map\":this.layout._values[\"text-rotation-alignment\"]=\"viewport\"),\"auto\"===this.layout.get(\"text-pitch-alignment\")&&(this.layout._values[\"text-pitch-alignment\"]=this.layout.get(\"text-rotation-alignment\")),\"auto\"===this.layout.get(\"icon-pitch-alignment\")&&(this.layout._values[\"icon-pitch-alignment\"]=this.layout.get(\"icon-rotation-alignment\")),\"point\"===this.layout.get(\"symbol-placement\")){var n=this.layout.get(\"text-writing-mode\");if(n){for(var i=[],a=0,o=n;a\",targetMapId:n,sourceMapId:a.mapId})}}},Cc.prototype.receive=function(t){var e=t.data,r=e.id;if(r&&(!e.targetMapId||this.mapId===e.targetMapId))if(\"\"===e.type){delete this.tasks[r];var n=this.cancelCallbacks[r];delete this.cancelCallbacks[r],n&&n()}else S()||e.mustQueue?(this.tasks[r]=e,this.taskQueue.push(r),this.invoker.trigger()):this.processTask(r,e)},Cc.prototype.process=function(){if(this.taskQueue.length){var t=this.taskQueue.shift(),e=this.tasks[t];delete this.tasks[t],this.taskQueue.length&&this.invoker.trigger(),e&&this.processTask(t,e)}},Cc.prototype.processTask=function(t,e){var r=this;if(\"\"===e.type){var n=this.callbacks[t];delete this.callbacks[t],n&&(e.error?n(fi(e.error)):n(null,fi(e.data)))}else{var i=!1,a=C(this.globalScope)?void 0:[],o=e.hasCallback?function(e,n){i=!0,delete r.cancelCallbacks[t],r.target.postMessage({id:t,type:\"\",sourceMapId:r.mapId,error:e?ci(e):null,data:ci(n,a)},a)}:function(t){i=!0},s=null,l=fi(e.data);if(this.parent[e.type])s=this.parent[e.type](e.sourceMapId,l,o);else if(this.parent.getWorkerSource){var u=e.type.split(\".\");s=this.parent.getWorkerSource(e.sourceMapId,u[0],l.source)[u[1]](l,o)}else o(new Error(\"Could not find function \"+e.type));!i&&s&&s.cancel&&(this.cancelCallbacks[t]=s.cancel)}},Cc.prototype.remove=function(){this.invoker.remove(),this.target.removeEventListener(\"message\",this.receive,!1)};var Oc=function(t,e){t&&(e?this.setSouthWest(t).setNorthEast(e):4===t.length?this.setSouthWest([t[0],t[1]]).setNorthEast([t[2],t[3]]):this.setSouthWest(t[0]).setNorthEast(t[1]))};Oc.prototype.setNorthEast=function(t){return this._ne=t instanceof zc?new zc(t.lng,t.lat):zc.convert(t),this},Oc.prototype.setSouthWest=function(t){return this._sw=t instanceof zc?new zc(t.lng,t.lat):zc.convert(t),this},Oc.prototype.extend=function(t){var e,r,n=this._sw,i=this._ne;if(t instanceof zc)e=t,r=t;else{if(!(t instanceof Oc)){if(Array.isArray(t)){if(4===t.length||t.every(Array.isArray)){var a=t;return this.extend(Oc.convert(a))}var o=t;return this.extend(zc.convert(o))}return this}if(e=t._sw,r=t._ne,!e||!r)return this}return n||i?(n.lng=Math.min(e.lng,n.lng),n.lat=Math.min(e.lat,n.lat),i.lng=Math.max(r.lng,i.lng),i.lat=Math.max(r.lat,i.lat)):(this._sw=new zc(e.lng,e.lat),this._ne=new zc(r.lng,r.lat)),this},Oc.prototype.getCenter=function(){return new zc((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)},Oc.prototype.getSouthWest=function(){return this._sw},Oc.prototype.getNorthEast=function(){return this._ne},Oc.prototype.getNorthWest=function(){return new zc(this.getWest(),this.getNorth())},Oc.prototype.getSouthEast=function(){return new zc(this.getEast(),this.getSouth())},Oc.prototype.getWest=function(){return this._sw.lng},Oc.prototype.getSouth=function(){return this._sw.lat},Oc.prototype.getEast=function(){return this._ne.lng},Oc.prototype.getNorth=function(){return this._ne.lat},Oc.prototype.toArray=function(){return[this._sw.toArray(),this._ne.toArray()]},Oc.prototype.toString=function(){return\"LngLatBounds(\"+this._sw.toString()+\", \"+this._ne.toString()+\")\"},Oc.prototype.isEmpty=function(){return!(this._sw&&this._ne)},Oc.prototype.contains=function(t){var e=zc.convert(t),r=e.lng,n=e.lat,i=this._sw.lat<=n&&n<=this._ne.lat,a=this._sw.lng<=r&&r<=this._ne.lng;return this._sw.lng>this._ne.lng&&(a=this._sw.lng>=r&&r>=this._ne.lng),i&&a},Oc.convert=function(t){return!t||t instanceof Oc?t:new Oc(t)};var Ic=6371008.8,zc=function(t,e){if(isNaN(t)||isNaN(e))throw new Error(\"Invalid LngLat object: (\"+t+\", \"+e+\")\");if(this.lng=+t,this.lat=+e,this.lat>90||this.lat<-90)throw new Error(\"Invalid LngLat latitude value: must be between -90 and 90\")};zc.prototype.wrap=function(){return new zc(h(this.lng,-180,180),this.lat)},zc.prototype.toArray=function(){return[this.lng,this.lat]},zc.prototype.toString=function(){return\"LngLat(\"+this.lng+\", \"+this.lat+\")\"},zc.prototype.distanceTo=function(t){var e=Math.PI/180,r=this.lat*e,n=t.lat*e,i=Math.sin(r)*Math.sin(n)+Math.cos(r)*Math.cos(n)*Math.cos((t.lng-this.lng)*e);return Ic*Math.acos(Math.min(i,1))},zc.prototype.toBounds=function(t){void 0===t&&(t=0);var e=360*t/40075017,r=e/Math.cos(Math.PI/180*this.lat);return new Oc(new zc(this.lng-r,this.lat-e),new zc(this.lng+r,this.lat+e))},zc.convert=function(t){if(t instanceof zc)return t;if(Array.isArray(t)&&(2===t.length||3===t.length))return new zc(Number(t[0]),Number(t[1]));if(!Array.isArray(t)&&\"object\"==typeof t&&null!==t)return new zc(Number(\"lng\"in t?t.lng:t.lon),Number(t.lat));throw new Error(\"`LngLatLike` argument must be specified as a LngLat instance, an object {lng: , lat: }, an object {lon: , lat: }, or an array of [, ]\")};var Dc=2*Math.PI*Ic;function Rc(t){return Dc*Math.cos(t*Math.PI/180)}function Fc(t){return(180+t)/360}function Bc(t){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+t*Math.PI/360)))/360}function Nc(t,e){return t/Rc(e)}function jc(t){var e=180-360*t;return 360/Math.PI*Math.atan(Math.exp(e*Math.PI/180))-90}var Uc=function(t,e,r){void 0===r&&(r=0),this.x=+t,this.y=+e,this.z=+r};Uc.fromLngLat=function(t,e){void 0===e&&(e=0);var r=zc.convert(t);return new Uc(Fc(r.lng),Bc(r.lat),Nc(e,r.lat))},Uc.prototype.toLngLat=function(){return new zc(360*this.x-180,jc(this.y))},Uc.prototype.toAltitude=function(){return t=this.z,e=this.y,t*Rc(jc(e));var t,e},Uc.prototype.meterInMercatorCoordinateUnits=function(){return 1/Dc*(t=jc(this.y),1/Math.cos(t*Math.PI/180));var t};var Vc=function(t,e,r){this.z=t,this.x=e,this.y=r,this.key=Gc(0,t,t,e,r)};Vc.prototype.equals=function(t){return this.z===t.z&&this.x===t.x&&this.y===t.y},Vc.prototype.url=function(t,e){var r,n,i,a,o,s=(r=this.x,n=this.y,i=this.z,a=Pc(256*r,256*(n=Math.pow(2,i)-n-1),i),o=Pc(256*(r+1),256*(n+1),i),a[0]+\",\"+a[1]+\",\"+o[0]+\",\"+o[1]),l=function(t,e,r){for(var n,i=\"\",a=t;a>0;a--)i+=(e&(n=1<this.canonical.z?new Hc(t,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new Hc(t,this.wrap,t,this.canonical.x>>e,this.canonical.y>>e)},Hc.prototype.calculateScaledKey=function(t,e){var r=this.canonical.z-t;return t>this.canonical.z?Gc(this.wrap*+e,t,this.canonical.z,this.canonical.x,this.canonical.y):Gc(this.wrap*+e,t,t,this.canonical.x>>r,this.canonical.y>>r)},Hc.prototype.isChildOf=function(t){if(t.wrap!==this.wrap)return!1;var e=this.canonical.z-t.canonical.z;return 0===t.overscaledZ||t.overscaledZ>e&&t.canonical.y===this.canonical.y>>e},Hc.prototype.children=function(t){if(this.overscaledZ>=t)return[new Hc(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];var e=this.canonical.z+1,r=2*this.canonical.x,n=2*this.canonical.y;return[new Hc(e,this.wrap,e,r,n),new Hc(e,this.wrap,e,r+1,n),new Hc(e,this.wrap,e,r,n+1),new Hc(e,this.wrap,e,r+1,n+1)]},Hc.prototype.isLessThan=function(t){return this.wrapt.wrap)&&(this.overscaledZt.overscaledZ)&&(this.canonical.xt.canonical.x)&&this.canonical.y=this.dim+1||e<-1||e>=this.dim+1)throw new RangeError(\"out of range source coordinates for DEM data\");return(e+1)*this.stride+(t+1)},Wc.prototype._unpackMapbox=function(t,e,r){return(256*t*256+256*e+r)/10-1e4},Wc.prototype._unpackTerrarium=function(t,e,r){return 256*t+e+r/256-32768},Wc.prototype.getPixels=function(){return new $o({width:this.stride,height:this.stride},new Uint8Array(this.data.buffer))},Wc.prototype.backfillBorder=function(t,e,r){if(this.dim!==t.dim)throw new Error(\"dem dimension mismatch\");var n=e*this.dim,i=e*this.dim+this.dim,a=r*this.dim,o=r*this.dim+this.dim;switch(e){case-1:n=i-1;break;case 1:i=n+1}switch(r){case-1:a=o-1;break;case 1:o=a+1}for(var s=-e*this.dim,l=-r*this.dim,u=a;u=0&&c[3]>=0&&s.insert(o,c[0],c[1],c[2],c[3])}},Jc.prototype.loadVTLayers=function(){return this.vtLayers||(this.vtLayers=new tl.VectorTile(new Ol(this.rawTileData)).layers,this.sourceLayerCoder=new Yc(this.vtLayers?Object.keys(this.vtLayers).sort():[\"_geojsonTileLayer\"])),this.vtLayers},Jc.prototype.query=function(t,e,r,n){var i=this;this.loadVTLayers();for(var o=t.params||{},s=po/t.tileSize/t.scale,l=An(o.filter),u=t.queryGeometry,c=t.queryPadding*s,f=Qc(u),h=this.grid.query(f.minX-c,f.minY-c,f.maxX+c,f.maxY+c),p=Qc(t.cameraQueryGeometry),d=0,v=this.grid3D.query(p.minX-c,p.minY-c,p.maxX+c,p.maxY+c,(function(e,r,n,i){return function(t,e,r,n,i){for(var o=0,s=t;o=l.x&&i>=l.y)return!0}var u=[new a(e,r),new a(e,i),new a(n,i),new a(n,r)];if(t.length>2)for(var c=0,f=u;c=0)return!0;return!1}(a,f)){var h=this.sourceLayerCoder.decode(r),d=this.vtLayers[h].feature(n);if(i.needGeometry){var v=mo(d,!0);if(!i.filter(new zi(this.tileID.overscaledZ),v,this.tileID.canonical))return}else if(!i.filter(new zi(this.tileID.overscaledZ),d))return;for(var g=this.getId(d,h),y=0;yn)i=!1;else if(e)if(this.expirationTimeht&&(t.getActor().send(\"enforceCacheSizeLimit\",ft),xt=0)},t.clamp=f,t.clearTileCache=function(t){var e=s.caches.delete(ct);t&&e.catch(t).then((function(){return t()}))},t.clipLine=Fu,t.clone=function(t){var e=new Fo(16);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e},t.clone$1=w,t.clone$2=function(t){var e=new Fo(3);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e},t.collisionCircleLayout=Ml,t.config=j,t.create=function(){var t=new Fo(16);return Fo!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0),t[0]=1,t[5]=1,t[10]=1,t[15]=1,t},t.create$1=function(){var t=new Fo(9);return Fo!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[5]=0,t[6]=0,t[7]=0),t[0]=1,t[4]=1,t[8]=1,t},t.create$2=function(){var t=new Fo(4);return Fo!=Float32Array&&(t[1]=0,t[2]=0),t[0]=1,t[3]=1,t},t.createCommonjsModule=e,t.createExpression=fn,t.createLayout=ta,t.createStyleLayer=function(t){return\"custom\"===t.type?new _c(t):new wc[t.type](t)},t.cross=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[0],s=r[1],l=r[2];return t[0]=i*l-a*s,t[1]=a*o-n*l,t[2]=n*s-i*o,t},t.deepEqual=function t(e,r){if(Array.isArray(e)){if(!Array.isArray(r)||e.length!==r.length)return!1;for(var n=0;n0&&(a=1/Math.sqrt(a)),t[0]=e[0]*a,t[1]=e[1]*a,t[2]=e[2]*a,t},t.number=er,t.offscreenCanvasSupported=bt,t.ortho=function(t,e,r,n,i,a,o){var s=1/(e-r),l=1/(n-i),u=1/(a-o);return t[0]=-2*s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*l,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=2*u,t[11]=0,t[12]=(e+r)*s,t[13]=(i+n)*l,t[14]=(o+a)*u,t[15]=1,t},t.parseGlyphPBF=function(t){return new Ol(t).readFields(Ql,[])},t.pbf=Ol,t.performSymbolLayout=function(t,e,r,n,i,a,o){t.createArrays();var s=512*t.overscaling;t.tilePixelRatio=po/s,t.compareText={},t.iconsNeedLinear=!1;var l=t.layers[0].layout,u=t.layers[0]._unevaluatedLayout._values,c={};if(\"composite\"===t.textSizeData.kind){var f=t.textSizeData,h=f.minZoom,p=f.maxZoom;c.compositeTextSizes=[u[\"text-size\"].possiblyEvaluate(new zi(h),o),u[\"text-size\"].possiblyEvaluate(new zi(p),o)]}if(\"composite\"===t.iconSizeData.kind){var d=t.iconSizeData,v=d.minZoom,g=d.maxZoom;c.compositeIconSizes=[u[\"icon-size\"].possiblyEvaluate(new zi(v),o),u[\"icon-size\"].possiblyEvaluate(new zi(g),o)]}c.layoutTextSize=u[\"text-size\"].possiblyEvaluate(new zi(t.zoom+1),o),c.layoutIconSize=u[\"icon-size\"].possiblyEvaluate(new zi(t.zoom+1),o),c.textMaxSize=u[\"text-size\"].possiblyEvaluate(new zi(18));for(var y=l.get(\"text-line-height\")*Ll,m=\"map\"===l.get(\"text-rotation-alignment\")&&\"point\"!==l.get(\"symbol-placement\"),x=l.get(\"text-keep-upright\"),b=l.get(\"text-size\"),_=function(){var a=T[w],s=l.get(\"text-font\").evaluate(a,{},o).join(\",\"),u=b.evaluate(a,{},o),f=c.layoutTextSize.evaluate(a,{},o),h=c.layoutIconSize.evaluate(a,{},o),p={horizontal:{},vertical:void 0},d=a.text,v=[0,0];if(d){var g=d.toString(),_=l.get(\"text-letter-spacing\").evaluate(a,{},o)*Ll,A=function(t){for(var e=0,r=t;e=po||f.y<0||f.y>=po||function(t,e,r,n,i,a,o,s,l,u,c,f,h,p,d,v,g,y,m,x,b,_,w,T,A){var M,S,E,L,C,P=t.addToLineVertexArray(e,r),O=0,I=0,z=0,D=0,R=-1,F=-1,B={},N=ja(\"\"),j=0,U=0;if(void 0===s._unevaluatedLayout.getValue(\"text-radial-offset\")?(j=(M=s.layout.get(\"text-offset\").evaluate(b,{},T).map((function(t){return t*Ll})))[0],U=M[1]):(j=s.layout.get(\"text-radial-offset\").evaluate(b,{},T)*Ll,U=Ju),t.allowVerticalPlacement&&n.vertical){var V=s.layout.get(\"text-rotate\").evaluate(b,{},T)+90,q=n.vertical;L=new Hu(l,e,u,c,f,q,h,p,d,V),o&&(C=new Hu(l,e,u,c,f,o,g,y,d,V))}if(i){var H=s.layout.get(\"icon-rotate\").evaluate(b,{}),G=\"none\"!==s.layout.get(\"icon-text-fit\"),W=Nu(i,H,w,G),Y=o?Nu(o,H,w,G):void 0;E=new Hu(l,e,u,c,f,i,g,y,!1,H),O=4*W.length;var X=t.iconSizeData,Z=null;\"source\"===X.kind?(Z=[Au*s.layout.get(\"icon-size\").evaluate(b,{})])[0]>ec&&k(t.layerIds[0]+': Value for \"icon-size\" is >= '+tc+'. Reduce your \"icon-size\".'):\"composite\"===X.kind&&((Z=[Au*_.compositeIconSizes[0].evaluate(b,{},T),Au*_.compositeIconSizes[1].evaluate(b,{},T)])[0]>ec||Z[1]>ec)&&k(t.layerIds[0]+': Value for \"icon-size\" is >= '+tc+'. Reduce your \"icon-size\".'),t.addSymbols(t.icon,W,Z,x,m,b,!1,e,P.lineStartIndex,P.lineLength,-1,T),R=t.icon.placedSymbolArray.length-1,Y&&(I=4*Y.length,t.addSymbols(t.icon,Y,Z,x,m,b,lu.vertical,e,P.lineStartIndex,P.lineLength,-1,T),F=t.icon.placedSymbolArray.length-1)}for(var K in n.horizontal){var J=n.horizontal[K];if(!S){N=ja(J.text);var $=s.layout.get(\"text-rotate\").evaluate(b,{},T);S=new Hu(l,e,u,c,f,J,h,p,d,$)}var Q=1===J.positionedLines.length;if(z+=rc(t,e,J,a,s,d,b,v,P,n.vertical?lu.horizontal:lu.horizontalOnly,Q?Object.keys(n.horizontal):[K],B,R,_,T),Q)break}n.vertical&&(D+=rc(t,e,n.vertical,a,s,d,b,v,P,lu.vertical,[\"vertical\"],B,F,_,T));var tt=S?S.boxStartIndex:t.collisionBoxArray.length,et=S?S.boxEndIndex:t.collisionBoxArray.length,rt=L?L.boxStartIndex:t.collisionBoxArray.length,nt=L?L.boxEndIndex:t.collisionBoxArray.length,it=E?E.boxStartIndex:t.collisionBoxArray.length,at=E?E.boxEndIndex:t.collisionBoxArray.length,ot=C?C.boxStartIndex:t.collisionBoxArray.length,st=C?C.boxEndIndex:t.collisionBoxArray.length,lt=-1,ut=function(t,e){return t&&t.circleDiameter?Math.max(t.circleDiameter,e):e};lt=ut(S,lt),lt=ut(L,lt),lt=ut(E,lt);var ct=(lt=ut(C,lt))>-1?1:0;ct&&(lt*=A/Ll),t.glyphOffsetArray.length>=hc.MAX_GLYPHS&&k(\"Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907\"),void 0!==b.sortKey&&t.addToSortKeyRanges(t.symbolInstances.length,b.sortKey),t.symbolInstances.emplaceBack(e.x,e.y,B.right>=0?B.right:-1,B.center>=0?B.center:-1,B.left>=0?B.left:-1,B.vertical||-1,R,F,N,tt,et,rt,nt,it,at,ot,st,u,z,D,O,I,ct,0,h,j,U,lt)}(t,f,s,r,n,i,h,t.layers[0],t.collisionBoxArray,e.index,e.sourceLayerIndex,t.index,m,w,M,l,b,T,S,d,e,a,u,c,o)};if(\"line\"===E)for(var O=0,I=Fu(e.geometry,0,0,po,po);O1){var U=zu(j,A,r.vertical||v,n,g,x);U&&P(j,U)}}else if(\"Polygon\"===e.type)for(var V=0,q=Fs(e.geometry,0);V=E.maxzoom||\"none\"!==E.visibility&&(o(S,this.zoom,n),(v[E.id]=E.createBucket({index:c.bucketLayerIDs.length,layers:S,zoom:this.zoom,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:b,sourceID:this.source})).populate(_,g,this.tileID.canonical),c.bucketLayerIDs.push(S.map((function(t){return t.id}))))}}}var L=t.mapObject(g.glyphDependencies,(function(t){return Object.keys(t).map(Number)}));Object.keys(L).length?a.send(\"getGlyphs\",{uid:this.uid,stacks:L},(function(t,e){f||(f=t,h=e,O.call(l))})):h={};var C=Object.keys(g.iconDependencies);C.length?a.send(\"getImages\",{icons:C,source:this.source,tileID:this.tileID,type:\"icons\"},(function(t,e){f||(f=t,p=e,O.call(l))})):p={};var P=Object.keys(g.patternDependencies);function O(){if(f)return s(f);if(h&&p&&d){var e=new i(h),r=new t.ImageAtlas(p,d);for(var a in v){var l=v[a];l instanceof t.SymbolBucket?(o(l.layers,this.zoom,n),t.performSymbolLayout(l,h,e.positions,p,r.iconPositions,this.showCollisionBoxes,this.tileID.canonical)):l.hasPattern&&(l instanceof t.LineBucket||l instanceof t.FillBucket||l instanceof t.FillExtrusionBucket)&&(o(l.layers,this.zoom,n),l.addFeatures(g,this.tileID.canonical,r.patternPositions))}this.status=\"done\",s(null,{buckets:t.values(v).filter((function(t){return!t.isEmpty()})),featureIndex:c,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:e.image,imageAtlas:r,glyphMap:this.returnDependencies?h:null,iconMap:this.returnDependencies?p:null,glyphPositions:this.returnDependencies?e.positions:null})}}P.length?a.send(\"getImages\",{icons:P,source:this.source,tileID:this.tileID,type:\"patterns\"},(function(t,e){f||(f=t,d=e,O.call(l))})):d={},O.call(this)};var l=function(t,e,r,n){this.actor=t,this.layerIndex=e,this.availableImages=r,this.loadVectorData=n||s,this.loading={},this.loaded={}};l.prototype.loadTile=function(e,r){var n=this,i=e.uid;this.loading||(this.loading={});var o=!!(e&&e.request&&e.request.collectResourceTiming)&&new t.RequestPerformance(e.request),s=this.loading[i]=new a(e);s.abort=this.loadVectorData(e,(function(e,a){if(delete n.loading[i],e||!a)return s.status=\"done\",n.loaded[i]=s,r(e);var l=a.rawData,u={};a.expires&&(u.expires=a.expires),a.cacheControl&&(u.cacheControl=a.cacheControl);var c={};if(o){var f=o.finish();f&&(c.resourceTiming=JSON.parse(JSON.stringify(f)))}s.vectorTile=a.vectorTile,s.parse(a.vectorTile,n.layerIndex,n.availableImages,n.actor,(function(e,n){if(e||!n)return r(e);r(null,t.extend({rawTileData:l.slice(0)},n,u,c))})),n.loaded=n.loaded||{},n.loaded[i]=s}))},l.prototype.reloadTile=function(t,e){var r=this,n=this.loaded,i=t.uid,a=this;if(n&&n[i]){var o=n[i];o.showCollisionBoxes=t.showCollisionBoxes;var s=function(t,n){var i=o.reloadCallback;i&&(delete o.reloadCallback,o.parse(o.vectorTile,a.layerIndex,r.availableImages,a.actor,i)),e(t,n)};\"parsing\"===o.status?o.reloadCallback=s:\"done\"===o.status&&(o.vectorTile?o.parse(o.vectorTile,this.layerIndex,this.availableImages,this.actor,s):s())}},l.prototype.abortTile=function(t,e){var r=this.loading,n=t.uid;r&&r[n]&&r[n].abort&&(r[n].abort(),delete r[n]),e()},l.prototype.removeTile=function(t,e){var r=this.loaded,n=t.uid;r&&r[n]&&delete r[n],e()};var u=t.window.ImageBitmap,c=function(){this.loaded={}};c.prototype.loadTile=function(e,r){var n=e.uid,i=e.encoding,a=e.rawImageData,o=u&&a instanceof u?this.getImageData(a):a,s=new t.DEMData(n,o,i);this.loaded=this.loaded||{},this.loaded[n]=s,r(null,s)},c.prototype.getImageData=function(e){this.offscreenCanvas&&this.offscreenCanvasContext||(this.offscreenCanvas=new OffscreenCanvas(e.width,e.height),this.offscreenCanvasContext=this.offscreenCanvas.getContext(\"2d\")),this.offscreenCanvas.width=e.width,this.offscreenCanvas.height=e.height,this.offscreenCanvasContext.drawImage(e,0,0,e.width,e.height);var r=this.offscreenCanvasContext.getImageData(-1,-1,e.width+2,e.height+2);return this.offscreenCanvasContext.clearRect(0,0,this.offscreenCanvas.width,this.offscreenCanvas.height),new t.RGBAImage({width:r.width,height:r.height},r.data)},c.prototype.removeTile=function(t){var e=this.loaded,r=t.uid;e&&e[r]&&delete e[r]};var f=function t(e,r){var n,i=e&&e.type;if(\"FeatureCollection\"===i)for(n=0;n=0!=!!e&&t.reverse()}var d=t.vectorTile.VectorTileFeature.prototype.toGeoJSON,v=function(e){this._feature=e,this.extent=t.EXTENT,this.type=e.type,this.properties=e.tags,\"id\"in e&&!isNaN(e.id)&&(this.id=parseInt(e.id,10))};v.prototype.loadGeometry=function(){if(1===this._feature.type){for(var e=[],r=0,n=this._feature.geometry;r>31}function P(t,e){for(var r=t.loadGeometry(),n=t.type,i=0,a=0,o=r.length,s=0;s>1;z(t,e,o,n,i,a%2),I(t,e,r,n,o-1,a+1),I(t,e,r,o+1,i,a+1)}}function z(t,e,r,n,i,a){for(;i>n;){if(i-n>600){var o=i-n+1,s=r-n+1,l=Math.log(o),u=.5*Math.exp(2*l/3),c=.5*Math.sqrt(l*u*(o-u)/o)*(s-o/2<0?-1:1);z(t,e,r,Math.max(n,Math.floor(r-s*u/o+c)),Math.min(i,Math.floor(r+(o-s)*u/o+c)),a)}var f=e[2*r+a],h=n,p=i;for(D(t,e,n,r),e[2*i+a]>f&&D(t,e,n,i);hf;)p--}e[2*n+a]===f?D(t,e,n,p):D(t,e,++p,i),p<=r&&(n=p+1),r<=p&&(i=p-1)}}function D(t,e,r,n){R(t,r,n),R(e,2*r,2*n),R(e,2*r+1,2*n+1)}function R(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function F(t,e,r,n){var i=t-r,a=e-n;return i*i+a*a}_.fromVectorTileJs=w,_.fromGeojsonVt=T,_.GeoJSONWrapper=k;var B=function(t){return t[0]},N=function(t){return t[1]},j=function(t,e,r,n,i){void 0===e&&(e=B),void 0===r&&(r=N),void 0===n&&(n=64),void 0===i&&(i=Float64Array),this.nodeSize=n,this.points=t;for(var a=t.length<65536?Uint16Array:Uint32Array,o=this.ids=new a(t.length),s=this.coords=new i(2*t.length),l=0;l=r&&s<=i&&l>=n&&l<=a&&c.push(t[d]);else{var v=Math.floor((p+h)/2);s=e[2*v],l=e[2*v+1],s>=r&&s<=i&&l>=n&&l<=a&&c.push(t[v]);var g=(f+1)%2;(0===f?r<=s:n<=l)&&(u.push(p),u.push(v-1),u.push(g)),(0===f?i>=s:a>=l)&&(u.push(v+1),u.push(h),u.push(g))}}return c}(this.ids,this.coords,t,e,r,n,this.nodeSize)},j.prototype.within=function(t,e,r){return function(t,e,r,n,i,a){for(var o=[0,t.length-1,0],s=[],l=i*i;o.length;){var u=o.pop(),c=o.pop(),f=o.pop();if(c-f<=a)for(var h=f;h<=c;h++)F(e[2*h],e[2*h+1],r,n)<=l&&s.push(t[h]);else{var p=Math.floor((f+c)/2),d=e[2*p],v=e[2*p+1];F(d,v,r,n)<=l&&s.push(t[p]);var g=(u+1)%2;(0===u?r-i<=d:n-i<=v)&&(o.push(f),o.push(p-1),o.push(g)),(0===u?r+i>=d:n+i>=v)&&(o.push(p+1),o.push(c),o.push(g))}}return s}(this.ids,this.coords,t,e,r,this.nodeSize)};var U={minZoom:0,maxZoom:16,minPoints:2,radius:40,extent:512,nodeSize:64,log:!1,generateId:!1,reduce:null,map:function(t){return t}},V=function(t){this.options=Z(Object.create(U),t),this.trees=new Array(this.options.maxZoom+1)};function q(t,e,r,n,i){return{x:t,y:e,zoom:1/0,id:r,parentId:-1,numPoints:n,properties:i}}function H(t,e){var r=t.geometry.coordinates,n=r[0],i=r[1];return{x:Y(n),y:X(i),zoom:1/0,index:e,parentId:-1}}function G(t){return{type:\"Feature\",id:t.id,properties:W(t),geometry:{type:\"Point\",coordinates:[(n=t.x,360*(n-.5)),(e=t.y,r=(180-360*e)*Math.PI/180,360*Math.atan(Math.exp(r))/Math.PI-90)]}};var e,r,n}function W(t){var e=t.numPoints,r=e>=1e4?Math.round(e/1e3)+\"k\":e>=1e3?Math.round(e/100)/10+\"k\":e;return Z(Z({},t.properties),{cluster:!0,cluster_id:t.id,point_count:e,point_count_abbreviated:r})}function Y(t){return t/360+.5}function X(t){var e=Math.sin(t*Math.PI/180),r=.5-.25*Math.log((1+e)/(1-e))/Math.PI;return r<0?0:r>1?1:r}function Z(t,e){for(var r in e)t[r]=e[r];return t}function K(t){return t.x}function J(t){return t.y}function $(t,e,r,n){for(var i,a=n,o=r-e>>1,s=r-e,l=t[e],u=t[e+1],c=t[r],f=t[r+1],h=e+3;ha)i=h,a=p;else if(p===a){var d=Math.abs(h-o);dn&&(i-e>3&&$(t,e,i,n),t[i+2]=a,r-i>3&&$(t,i,r,n))}function Q(t,e,r,n,i,a){var o=i-r,s=a-n;if(0!==o||0!==s){var l=((t-r)*o+(e-n)*s)/(o*o+s*s);l>1?(r=i,n=a):l>0&&(r+=o*l,n+=s*l)}return(o=t-r)*o+(s=e-n)*s}function tt(t,e,r,n){var i={id:void 0===t?null:t,type:e,geometry:r,tags:n,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};return function(t){var e=t.geometry,r=t.type;if(\"Point\"===r||\"MultiPoint\"===r||\"LineString\"===r)et(t,e);else if(\"Polygon\"===r||\"MultiLineString\"===r)for(var n=0;n0&&(o+=n?(i*u-l*a)/2:Math.sqrt(Math.pow(l-i,2)+Math.pow(u-a,2))),i=l,a=u}var c=e.length-3;e[2]=1,$(e,0,c,r),e[c+2]=1,e.size=Math.abs(o),e.start=0,e.end=e.size}function at(t,e,r,n){for(var i=0;i1?1:r}function lt(t,e,r,n,i,a,o,s){if(n/=e,a>=(r/=e)&&o=n)return null;for(var l=[],u=0;u=r&&d=n)){var v=[];if(\"Point\"===h||\"MultiPoint\"===h)ut(f,v,r,n,i);else if(\"LineString\"===h)ct(f,v,r,n,i,!1,s.lineMetrics);else if(\"MultiLineString\"===h)ht(f,v,r,n,i,!1);else if(\"Polygon\"===h)ht(f,v,r,n,i,!0);else if(\"MultiPolygon\"===h)for(var g=0;g=r&&o<=n&&(e.push(t[a]),e.push(t[a+1]),e.push(t[a+2]))}}function ct(t,e,r,n,i,a,o){for(var s,l,u=ft(t),c=0===i?dt:vt,f=t.start,h=0;hr&&(l=c(u,p,d,g,y,r),o&&(u.start=f+s*l)):m>n?x=r&&(l=c(u,p,d,g,y,r),b=!0),x>n&&m<=n&&(l=c(u,p,d,g,y,n),b=!0),!a&&b&&(o&&(u.end=f+s*l),e.push(u),u=ft(t)),o&&(f+=s)}var _=t.length-3;p=t[_],d=t[_+1],v=t[_+2],(m=0===i?p:d)>=r&&m<=n&&pt(u,p,d,v),_=u.length-3,a&&_>=3&&(u[_]!==u[0]||u[_+1]!==u[1])&&pt(u,u[0],u[1],u[2]),u.length&&e.push(u)}function ft(t){var e=[];return e.size=t.size,e.start=t.start,e.end=t.end,e}function ht(t,e,r,n,i,a){for(var o=0;oo.maxX&&(o.maxX=c),f>o.maxY&&(o.maxY=f)}return o}function _t(t,e,r,n){var i=e.geometry,a=e.type,o=[];if(\"Point\"===a||\"MultiPoint\"===a)for(var s=0;s0&&e.size<(i?o:n))r.numPoints+=e.length/3;else{for(var s=[],l=0;lo)&&(r.numSimplified++,s.push(e[l]),s.push(e[l+1])),r.numPoints++;i&&function(t,e){for(var r=0,n=0,i=t.length,a=i-2;n0===e)for(n=0,i=t.length;n24)throw new Error(\"maxZoom should be in the 0-24 range\");if(e.promoteId&&e.generateId)throw new Error(\"promoteId and generateId cannot be used together.\");var n=function(t,e){var r=[];if(\"FeatureCollection\"===t.type)for(var n=0;n=n;u--){var c=+Date.now();s=this._cluster(s,u),this.trees[u]=new j(s,K,J,a,Float32Array),r&&console.log(\"z%d: %d clusters in %dms\",u,s.length,+Date.now()-c)}return r&&console.timeEnd(\"total time\"),this},V.prototype.getClusters=function(t,e){var r=((t[0]+180)%360+360)%360-180,n=Math.max(-90,Math.min(90,t[1])),i=180===t[2]?180:((t[2]+180)%360+360)%360-180,a=Math.max(-90,Math.min(90,t[3]));if(t[2]-t[0]>=360)r=-180,i=180;else if(r>i){var o=this.getClusters([r,n,180,a],e),s=this.getClusters([-180,n,i,a],e);return o.concat(s)}for(var l=this.trees[this._limitZoom(e)],u=[],c=0,f=l.range(Y(r),X(a),Y(i),X(n));ce&&(d+=m.numPoints||1)}if(d>=s){for(var x=c.x*p,b=c.y*p,_=o&&p>1?this._map(c,!0):null,w=(u<<5)+(e+1)+this.points.length,T=0,k=h;T1)for(var E=0,L=h;E>5},V.prototype._getOriginZoom=function(t){return(t-this.points.length)%32},V.prototype._map=function(t,e){if(t.numPoints)return e?Z({},t.properties):t.properties;var r=this.points[t.index].properties,n=this.options.map(r);return e&&n===r?Z({},n):n},Tt.prototype.options={maxZoom:14,indexMaxZoom:5,indexMaxPoints:1e5,tolerance:3,extent:4096,buffer:64,lineMetrics:!1,promoteId:null,generateId:!1,debug:0},Tt.prototype.splitTile=function(t,e,r,n,i,a,o){for(var s=[t,e,r,n],l=this.options,u=l.debug;s.length;){n=s.pop(),r=s.pop(),e=s.pop(),t=s.pop();var c=1<1&&console.time(\"creation\"),h=this.tiles[f]=bt(t,e,r,n,l),this.tileCoords.push({z:e,x:r,y:n}),u)){u>1&&(console.log(\"tile z%d-%d-%d (features: %d, points: %d, simplified: %d)\",e,r,n,h.numFeatures,h.numPoints,h.numSimplified),console.timeEnd(\"creation\"));var p=\"z\"+e;this.stats[p]=(this.stats[p]||0)+1,this.total++}if(h.source=t,i){if(e===l.maxZoom||e===i)continue;var d=1<1&&console.time(\"clipping\");var v,g,y,m,x,b,_=.5*l.buffer/l.extent,w=.5-_,T=.5+_,k=1+_;v=g=y=m=null,x=lt(t,c,r-_,r+T,0,h.minX,h.maxX,l),b=lt(t,c,r+w,r+k,0,h.minX,h.maxX,l),t=null,x&&(v=lt(x,c,n-_,n+T,1,h.minY,h.maxY,l),g=lt(x,c,n+w,n+k,1,h.minY,h.maxY,l),x=null),b&&(y=lt(b,c,n-_,n+T,1,h.minY,h.maxY,l),m=lt(b,c,n+w,n+k,1,h.minY,h.maxY,l),b=null),u>1&&console.timeEnd(\"clipping\"),s.push(v||[],e+1,2*r,2*n),s.push(g||[],e+1,2*r,2*n+1),s.push(y||[],e+1,2*r+1,2*n),s.push(m||[],e+1,2*r+1,2*n+1)}}},Tt.prototype.getTile=function(t,e,r){var n=this.options,i=n.extent,a=n.debug;if(t<0||t>24)return null;var o=1<1&&console.log(\"drilling down to z%d-%d-%d\",t,e,r);for(var l,u=t,c=e,f=r;!l&&u>0;)u--,c=Math.floor(c/2),f=Math.floor(f/2),l=this.tiles[kt(u,c,f)];return l&&l.source?(a>1&&console.log(\"found parent tile z%d-%d-%d\",u,c,f),a>1&&console.time(\"drilling down\"),this.splitTile(l.source,u,c,f,t,e,r),a>1&&console.timeEnd(\"drilling down\"),this.tiles[s]?mt(this.tiles[s],i):null):null};var Mt=function(e){function r(t,r,n,i){e.call(this,t,r,n,At),i&&(this.loadGeoJSON=i)}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.loadData=function(t,e){this._pendingCallback&&this._pendingCallback(null,{abandoned:!0}),this._pendingCallback=e,this._pendingLoadDataParams=t,this._state&&\"Idle\"!==this._state?this._state=\"NeedsLoadData\":(this._state=\"Coalescing\",this._loadData())},r.prototype._loadData=function(){var e=this;if(this._pendingCallback&&this._pendingLoadDataParams){var r=this._pendingCallback,n=this._pendingLoadDataParams;delete this._pendingCallback,delete this._pendingLoadDataParams;var i=!!(n&&n.request&&n.request.collectResourceTiming)&&new t.RequestPerformance(n.request);this.loadGeoJSON(n,(function(a,o){if(a||!o)return r(a);if(\"object\"!=typeof o)return r(new Error(\"Input data given to '\"+n.source+\"' is not a valid GeoJSON object.\"));f(o,!0);try{if(n.filter){var s=t.createExpression(n.filter,{type:\"boolean\",\"property-type\":\"data-driven\",overridable:!1,transition:!1});if(\"error\"===s.result)throw new Error(s.value.map((function(t){return t.key+\": \"+t.message})).join(\", \"));var l=o.features.filter((function(t){return s.value.evaluate({zoom:0},t)}));o={type:\"FeatureCollection\",features:l}}e._geoJSONIndex=n.cluster?new V(function(e){var r=e.superclusterOptions,n=e.clusterProperties;if(!n||!r)return r;for(var i={},a={},o={accumulated:null,zoom:0},s={properties:null},l=Object.keys(n),u=0,c=l;u=0?0:e.button},r.remove=function(t){t.parentNode&&t.parentNode.removeChild(t)};var h=function(e){function r(){e.call(this),this.images={},this.updatedImages={},this.callbackDispatchedThisFrame={},this.loaded=!1,this.requestors=[],this.patterns={},this.atlasImage=new t.RGBAImage({width:1,height:1}),this.dirty=!0}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.isLoaded=function(){return this.loaded},r.prototype.setLoaded=function(t){if(this.loaded!==t&&(this.loaded=t,t)){for(var e=0,r=this.requestors;e=0?1.2:1))}function y(t,e,r,n,i,a,o){for(var s=0;s65535)e(new Error(\"glyphs > 65535 not supported\"));else if(a.ranges[s])e(null,{stack:r,id:i,glyph:o});else{var l=a.requests[s];l||(l=a.requests[s]=[],x.loadGlyphRange(r,s,n.url,n.requestManager,(function(t,e){if(e){for(var r in e)n._doesCharSupportLocalGlyph(+r)||(a.glyphs[+r]=e[+r]);a.ranges[s]=!0}for(var i=0,o=l;i1&&(l=t[++s]);var c=Math.abs(u-l.left),f=Math.abs(u-l.right),h=Math.min(c,f),p=void 0,d=i/r*(n+1);if(l.isDash){var v=n-Math.abs(d);p=Math.sqrt(h*h+v*v)}else p=n-Math.sqrt(h*h+d*d);this.data[o+u]=Math.max(0,Math.min(255,p+128))}},k.prototype.addRegularDash=function(t){for(var e=t.length-1;e>=0;--e){var r=t[e],n=t[e+1];r.zeroLength?t.splice(e,1):n&&n.isDash===r.isDash&&(n.left=r.left,t.splice(e,1))}var i=t[0],a=t[t.length-1];i.isDash===a.isDash&&(i.left=a.left-this.width,a.right=i.right+this.width);for(var o=this.width*this.nextRow,s=0,l=t[s],u=0;u1&&(l=t[++s]);var c=Math.abs(u-l.left),f=Math.abs(u-l.right),h=Math.min(c,f),p=l.isDash?h:-h;this.data[o+u]=Math.max(0,Math.min(255,p+128))}},k.prototype.addDash=function(e,r){var n=r?7:0,i=2*n+1;if(this.nextRow+i>this.height)return t.warnOnce(\"LineAtlas out of space\"),null;for(var a=0,o=0;o=n&&e.x=i&&e.y0&&(l[new t.OverscaledTileID(e.overscaledZ,a,r.z,i,r.y-1).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,e.wrap,r.z,r.x,r.y-1).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,s,r.z,o,r.y-1).key]={backfilled:!1}),r.y+10&&(n.resourceTiming=e._resourceTiming,e._resourceTiming=[]),e.fire(new t.Event(\"data\",n))}}))},r.prototype.onAdd=function(t){this.map=t,this.load()},r.prototype.setData=function(e){var r=this;return this._data=e,this.fire(new t.Event(\"dataloading\",{dataType:\"source\"})),this._updateWorkerData((function(e){if(e)r.fire(new t.ErrorEvent(e));else{var n={dataType:\"source\",sourceDataType:\"content\"};r._collectResourceTiming&&r._resourceTiming&&r._resourceTiming.length>0&&(n.resourceTiming=r._resourceTiming,r._resourceTiming=[]),r.fire(new t.Event(\"data\",n))}})),this},r.prototype.getClusterExpansionZoom=function(t,e){return this.actor.send(\"geojson.getClusterExpansionZoom\",{clusterId:t,source:this.id},e),this},r.prototype.getClusterChildren=function(t,e){return this.actor.send(\"geojson.getClusterChildren\",{clusterId:t,source:this.id},e),this},r.prototype.getClusterLeaves=function(t,e,r,n){return this.actor.send(\"geojson.getClusterLeaves\",{source:this.id,clusterId:t,limit:e,offset:r},n),this},r.prototype._updateWorkerData=function(e){var r=this;this._loaded=!1;var n=t.extend({},this.workerOptions),i=this._data;\"string\"==typeof i?(n.request=this.map._requestManager.transformRequest(t.browser.resolveURL(i),t.ResourceType.Source),n.request.collectResourceTiming=this._collectResourceTiming):n.data=JSON.stringify(i),this.actor.send(this.type+\".loadData\",n,(function(t,i){r._removed||i&&i.abandoned||(r._loaded=!0,i&&i.resourceTiming&&i.resourceTiming[r.id]&&(r._resourceTiming=i.resourceTiming[r.id].slice(0)),r.actor.send(r.type+\".coalesce\",{source:n.source},null),e(t))}))},r.prototype.loaded=function(){return this._loaded},r.prototype.loadTile=function(e,r){var n=this,i=e.actor?\"reloadTile\":\"loadTile\";e.actor=this.actor;var a={type:this.type,uid:e.uid,tileID:e.tileID,zoom:e.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:t.browser.devicePixelRatio,showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};e.request=this.actor.send(i,a,(function(t,a){return delete e.request,e.unloadVectorData(),e.aborted?r(null):t?r(t):(e.loadVectorData(a,n.map.painter,\"reloadTile\"===i),r(null))}))},r.prototype.abortTile=function(t){t.request&&(t.request.cancel(),delete t.request),t.aborted=!0},r.prototype.unloadTile=function(t){t.unloadVectorData(),this.actor.send(\"removeTile\",{uid:t.uid,type:this.type,source:this.id})},r.prototype.onRemove=function(){this._removed=!0,this.actor.send(\"removeSource\",{type:this.type,source:this.id})},r.prototype.serialize=function(){return t.extend({},this._options,{type:this.type,data:this._data})},r.prototype.hasTransition=function(){return!1},r}(t.Evented),O=t.createLayout([{name:\"a_pos\",type:\"Int16\",components:2},{name:\"a_texture_pos\",type:\"Int16\",components:2}]),I=function(e){function r(t,r,n,i){e.call(this),this.id=t,this.dispatcher=n,this.coordinates=r.coordinates,this.type=\"image\",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this._loaded=!1,this.setEventedParent(i),this.options=r}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.load=function(e,r){var n=this;this._loaded=!1,this.fire(new t.Event(\"dataloading\",{dataType:\"source\"})),this.url=this.options.url,t.getImage(this.map._requestManager.transformRequest(this.url,t.ResourceType.Image),(function(i,a){n._loaded=!0,i?n.fire(new t.ErrorEvent(i)):a&&(n.image=a,e&&(n.coordinates=e),r&&r(),n._finishLoading())}))},r.prototype.loaded=function(){return this._loaded},r.prototype.updateImage=function(t){var e=this;return this.image&&t.url?(this.options.url=t.url,this.load(t.coordinates,(function(){e.texture=null})),this):this},r.prototype._finishLoading=function(){this.map&&(this.setCoordinates(this.coordinates),this.fire(new t.Event(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"})))},r.prototype.onAdd=function(t){this.map=t,this.load()},r.prototype.setCoordinates=function(e){var r=this;this.coordinates=e;var n=e.map(t.MercatorCoordinate.fromLngLat);this.tileID=function(e){for(var r=1/0,n=1/0,i=-1/0,a=-1/0,o=0,s=e;or.end(0)?this.fire(new t.ErrorEvent(new t.ValidationError(\"sources.\"+this.id,null,\"Playback for this video can be set only between the \"+r.start(0)+\" and \"+r.end(0)+\"-second mark.\"))):this.video.currentTime=e}},r.prototype.getVideo=function(){return this.video},r.prototype.onAdd=function(t){this.map||(this.map=t,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))},r.prototype.prepare=function(){if(!(0===Object.keys(this.tiles).length||this.video.readyState<2)){var e=this.map.painter.context,r=e.gl;for(var n in this.boundsBuffer||(this.boundsBuffer=e.createVertexBuffer(this._boundsArray,O.members)),this.boundsSegments||(this.boundsSegments=t.SegmentVector.simpleSegment(0,0,4,2)),this.texture?this.video.paused||(this.texture.bind(r.LINEAR,r.CLAMP_TO_EDGE),r.texSubImage2D(r.TEXTURE_2D,0,0,0,r.RGBA,r.UNSIGNED_BYTE,this.video)):(this.texture=new t.Texture(e,this.video,r.RGBA),this.texture.bind(r.LINEAR,r.CLAMP_TO_EDGE)),this.tiles){var i=this.tiles[n];\"loaded\"!==i.state&&(i.state=\"loaded\",i.texture=this.texture)}}},r.prototype.serialize=function(){return{type:\"video\",urls:this.urls,coordinates:this.coordinates}},r.prototype.hasTransition=function(){return this.video&&!this.video.paused},r}(I),D=function(e){function r(r,n,i,a){e.call(this,r,n,i,a),n.coordinates?Array.isArray(n.coordinates)&&4===n.coordinates.length&&!n.coordinates.some((function(t){return!Array.isArray(t)||2!==t.length||t.some((function(t){return\"number\"!=typeof t}))}))||this.fire(new t.ErrorEvent(new t.ValidationError(\"sources.\"+r,null,'\"coordinates\" property must be an array of 4 longitude/latitude array pairs'))):this.fire(new t.ErrorEvent(new t.ValidationError(\"sources.\"+r,null,'missing required property \"coordinates\"'))),n.animate&&\"boolean\"!=typeof n.animate&&this.fire(new t.ErrorEvent(new t.ValidationError(\"sources.\"+r,null,'optional \"animate\" property must be a boolean value'))),n.canvas?\"string\"==typeof n.canvas||n.canvas instanceof t.window.HTMLCanvasElement||this.fire(new t.ErrorEvent(new t.ValidationError(\"sources.\"+r,null,'\"canvas\" must be either a string representing the ID of the canvas element from which to read, or an HTMLCanvasElement instance'))):this.fire(new t.ErrorEvent(new t.ValidationError(\"sources.\"+r,null,'missing required property \"canvas\"'))),this.options=n,this.animate=void 0===n.animate||n.animate}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.load=function(){this._loaded=!0,this.canvas||(this.canvas=this.options.canvas instanceof t.window.HTMLCanvasElement?this.options.canvas:t.window.document.getElementById(this.options.canvas)),this.width=this.canvas.width,this.height=this.canvas.height,this._hasInvalidDimensions()?this.fire(new t.ErrorEvent(new Error(\"Canvas dimensions cannot be less than or equal to zero.\"))):(this.play=function(){this._playing=!0,this.map.triggerRepaint()},this.pause=function(){this._playing&&(this.prepare(),this._playing=!1)},this._finishLoading())},r.prototype.getCanvas=function(){return this.canvas},r.prototype.onAdd=function(t){this.map=t,this.load(),this.canvas&&this.animate&&this.play()},r.prototype.onRemove=function(){this.pause()},r.prototype.prepare=function(){var e=!1;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,e=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,e=!0),!this._hasInvalidDimensions()&&0!==Object.keys(this.tiles).length){var r=this.map.painter.context,n=r.gl;for(var i in this.boundsBuffer||(this.boundsBuffer=r.createVertexBuffer(this._boundsArray,O.members)),this.boundsSegments||(this.boundsSegments=t.SegmentVector.simpleSegment(0,0,4,2)),this.texture?(e||this._playing)&&this.texture.update(this.canvas,{premultiply:!0}):this.texture=new t.Texture(r,this.canvas,n.RGBA,{premultiply:!0}),this.tiles){var a=this.tiles[i];\"loaded\"!==a.state&&(a.state=\"loaded\",a.texture=this.texture)}}},r.prototype.serialize=function(){return{type:\"canvas\",coordinates:this.coordinates}},r.prototype.hasTransition=function(){return this._playing},r.prototype._hasInvalidDimensions=function(){for(var t=0,e=[this.canvas.width,this.canvas.height];tthis.max){var o=this._getAndRemoveByKey(this.order[0]);o&&this.onRemove(o)}return this},j.prototype.has=function(t){return t.wrapped().key in this.data},j.prototype.getAndRemove=function(t){return this.has(t)?this._getAndRemoveByKey(t.wrapped().key):null},j.prototype._getAndRemoveByKey=function(t){var e=this.data[t].shift();return e.timeout&&clearTimeout(e.timeout),0===this.data[t].length&&delete this.data[t],this.order.splice(this.order.indexOf(t),1),e.value},j.prototype.getByKey=function(t){var e=this.data[t];return e?e[0].value:null},j.prototype.get=function(t){return this.has(t)?this.data[t.wrapped().key][0].value:null},j.prototype.remove=function(t,e){if(!this.has(t))return this;var r=t.wrapped().key,n=void 0===e?0:this.data[r].indexOf(e),i=this.data[r][n];return this.data[r].splice(n,1),i.timeout&&clearTimeout(i.timeout),0===this.data[r].length&&delete this.data[r],this.onRemove(i.value),this.order.splice(this.order.indexOf(r),1),this},j.prototype.setMaxSize=function(t){for(this.max=t;this.order.length>this.max;){var e=this._getAndRemoveByKey(this.order[0]);e&&this.onRemove(e)}return this},j.prototype.filter=function(t){var e=[];for(var r in this.data)for(var n=0,i=this.data[r];n1||(Math.abs(r)>1&&(1===Math.abs(r+i)?r+=i:1===Math.abs(r-i)&&(r-=i)),e.dem&&t.dem&&(t.dem.backfillBorder(e.dem,r,n),t.neighboringTiles&&t.neighboringTiles[a]&&(t.neighboringTiles[a].backfilled=!0)))}},r.prototype.getTile=function(t){return this.getTileByID(t.key)},r.prototype.getTileByID=function(t){return this._tiles[t]},r.prototype._retainLoadedChildren=function(t,e,r,n){for(var i in this._tiles){var a=this._tiles[i];if(!(n[i]||!a.hasData()||a.tileID.overscaledZ<=e||a.tileID.overscaledZ>r)){for(var o=a.tileID;a&&a.tileID.overscaledZ>e+1;){var s=a.tileID.scaledTo(a.tileID.overscaledZ-1);(a=this._tiles[s.key])&&a.hasData()&&(o=s)}for(var l=o;l.overscaledZ>e;)if(t[(l=l.scaledTo(l.overscaledZ-1)).key]){n[o.key]=o;break}}}},r.prototype.findLoadedParent=function(t,e){if(t.key in this._loadedParentTiles){var r=this._loadedParentTiles[t.key];return r&&r.tileID.overscaledZ>=e?r:null}for(var n=t.overscaledZ-1;n>=e;n--){var i=t.scaledTo(n),a=this._getLoadedTile(i);if(a)return a}},r.prototype._getLoadedTile=function(t){var e=this._tiles[t.key];return e&&e.hasData()?e:this._cache.getByKey(t.wrapped().key)},r.prototype.updateCacheSize=function(t){var e=(Math.ceil(t.width/this._source.tileSize)+1)*(Math.ceil(t.height/this._source.tileSize)+1),r=Math.floor(5*e),n=\"number\"==typeof this._maxTileCacheSize?Math.min(this._maxTileCacheSize,r):r;this._cache.setMaxSize(n)},r.prototype.handleWrapJump=function(t){var e=(t-(void 0===this._prevLng?t:this._prevLng))/360,r=Math.round(e);if(this._prevLng=t,r){var n={};for(var i in this._tiles){var a=this._tiles[i];a.tileID=a.tileID.unwrapTo(a.tileID.wrap+r),n[a.tileID.key]=a}for(var o in this._tiles=n,this._timers)clearTimeout(this._timers[o]),delete this._timers[o];for(var s in this._tiles){var l=this._tiles[s];this._setTileReloadTimer(s,l)}}},r.prototype.update=function(e){var n=this;if(this.transform=e,this._sourceLoaded&&!this._paused){var i;this.updateCacheSize(e),this.handleWrapJump(this.transform.center.lng),this._coveredTiles={},this.used?this._source.tileID?i=e.getVisibleUnwrappedCoordinates(this._source.tileID).map((function(e){return new t.OverscaledTileID(e.canonical.z,e.wrap,e.canonical.z,e.canonical.x,e.canonical.y)})):(i=e.coveringTiles({tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled}),this._source.hasTile&&(i=i.filter((function(t){return n._source.hasTile(t)})))):i=[];var a=e.coveringZoomLevel(this._source),o=Math.max(a-r.maxOverzooming,this._source.minzoom),s=Math.max(a+r.maxUnderzooming,this._source.minzoom),l=this._updateRetainedTiles(i,a);if(zt(this._source.type)){for(var u={},c={},f=0,h=Object.keys(l);fthis._source.maxzoom){var g=d.children(this._source.maxzoom)[0],y=this.getTile(g);if(y&&y.hasData()){n[g.key]=g;continue}}else{var m=d.children(this._source.maxzoom);if(n[m[0].key]&&n[m[1].key]&&n[m[2].key]&&n[m[3].key])continue}for(var x=v.wasRequested(),b=d.overscaledZ-1;b>=a;--b){var _=d.scaledTo(b);if(i[_.key])break;if(i[_.key]=!0,!(v=this.getTile(_))&&x&&(v=this._addTile(_)),v&&(n[_.key]=_,x=v.wasRequested(),v.hasData()))break}}}return n},r.prototype._updateLoadedParentTileCache=function(){for(var t in this._loadedParentTiles={},this._tiles){for(var e=[],r=void 0,n=this._tiles[t].tileID;n.overscaledZ>0;){if(n.key in this._loadedParentTiles){r=this._loadedParentTiles[n.key];break}e.push(n.key);var i=n.scaledTo(n.overscaledZ-1);if(r=this._getLoadedTile(i))break;n=i}for(var a=0,o=e;a0||(e.hasData()&&\"reloading\"!==e.state?this._cache.add(e.tileID,e,e.getExpiryTimeout()):(e.aborted=!0,this._abortTile(e),this._unloadTile(e))))},r.prototype.clearTiles=function(){for(var t in this._shouldReloadOnResume=!1,this._paused=!1,this._tiles)this._removeTile(t);this._cache.reset()},r.prototype.tilesIn=function(e,r,n){var i=this,a=[],o=this.transform;if(!o)return a;for(var s=n?o.getCameraQueryGeometry(e):e,l=e.map((function(t){return o.pointCoordinate(t)})),u=s.map((function(t){return o.pointCoordinate(t)})),c=this.getIds(),f=1/0,h=1/0,p=-1/0,d=-1/0,v=0,g=u;v=0&&y[1].y+g>=0){var m=l.map((function(t){return s.getTilePoint(t)})),x=u.map((function(t){return s.getTilePoint(t)}));a.push({tile:n,tileID:s,queryGeometry:m,cameraQueryGeometry:x,scale:v})}}},x=0;x=t.browser.now())return!0}return!1},r.prototype.setFeatureState=function(t,e,r){t=t||\"_geojsonTileLayer\",this._state.updateState(t,e,r)},r.prototype.removeFeatureState=function(t,e,r){t=t||\"_geojsonTileLayer\",this._state.removeFeatureState(t,e,r)},r.prototype.getFeatureState=function(t,e){return t=t||\"_geojsonTileLayer\",this._state.getState(t,e)},r.prototype.setDependencies=function(t,e,r){var n=this._tiles[t];n&&n.setDependencies(e,r)},r.prototype.reloadTilesForDependencies=function(t,e){for(var r in this._tiles)this._tiles[r].hasDependency(t,e)&&this._reloadTile(r,\"reloading\");this._cache.filter((function(r){return!r.hasDependency(t,e)}))},r}(t.Evented);function It(t,e){var r=Math.abs(2*t.wrap)-+(t.wrap<0),n=Math.abs(2*e.wrap)-+(e.wrap<0);return t.overscaledZ-e.overscaledZ||n-r||e.canonical.y-t.canonical.y||e.canonical.x-t.canonical.x}function zt(t){return\"raster\"===t||\"image\"===t||\"video\"===t}function Dt(){return new t.window.Worker(oa.workerUrl)}Ot.maxOverzooming=10,Ot.maxUnderzooming=3;var Rt=\"mapboxgl_preloaded_worker_pool\",Ft=function(){this.active={}};Ft.prototype.acquire=function(t){if(!this.workers)for(this.workers=[];this.workers.length0?(i-o)/s:0;return this.points[a].mult(1-l).add(this.points[r].mult(l))};var Qt=function(t,e,r){var n=this.boxCells=[],i=this.circleCells=[];this.xCellCount=Math.ceil(t/r),this.yCellCount=Math.ceil(e/r);for(var a=0;a=-e[0]&&r<=e[0]&&n>=-e[1]&&n<=e[1]}function ae(e,r,n,i,a,o,s,l){var u=i?e.textSizeData:e.iconSizeData,c=t.evaluateSizeForZoom(u,n.transform.zoom),f=[256/n.width*2+1,256/n.height*2+1],h=i?e.text.dynamicLayoutVertexArray:e.icon.dynamicLayoutVertexArray;h.clear();for(var p=e.lineVertexArray,d=i?e.text.placedSymbolArray:e.icon.placedSymbolArray,v=n.transform.width/n.transform.height,g=!1,y=0;yMath.abs(n.x-r.x)*i?{useVertical:!0}:(e===t.WritingMode.vertical?r.yn.x)?{needsFlipping:!0}:null}function le(e,r,n,i,a,o,s,l,u,c,f,h,p,d){var v,g=r/24,y=e.lineOffsetX*g,m=e.lineOffsetY*g;if(e.numGlyphs>1){var x=e.glyphStartIndex+e.numGlyphs,b=e.lineStartIndex,_=e.lineStartIndex+e.lineLength,w=oe(g,l,y,m,n,f,h,e,u,o,p);if(!w)return{notEnoughRoom:!0};var T=re(w.first.point,s).point,k=re(w.last.point,s).point;if(i&&!n){var A=se(e.writingMode,T,k,d);if(A)return A}v=[w.first];for(var M=e.glyphStartIndex+1;M0?C.point:ue(h,L,S,1,a),O=se(e.writingMode,S,P,d);if(O)return O}var I=ce(g*l.getoffsetX(e.glyphStartIndex),y,m,n,f,h,e.segment,e.lineStartIndex,e.lineStartIndex+e.lineLength,u,o,p);if(!I)return{notEnoughRoom:!0};v=[I]}for(var z=0,D=v;z0?1:-1,v=0;i&&(d*=-1,v=Math.PI),d<0&&(v+=Math.PI);for(var g=d>0?l+s:l+s+1,y=a,m=a,x=0,b=0,_=Math.abs(p),w=[];x+b<=_;){if((g+=d)=u)return null;if(m=y,w.push(y),void 0===(y=h[g])){var T=new t.Point(c.getx(g),c.gety(g)),k=re(T,f);if(k.signedDistanceFromCamera>0)y=h[g]=k.point;else{var A=g-d;y=ue(0===x?o:new t.Point(c.getx(A),c.gety(A)),T,m,_-x+1,f)}}x+=b,b=m.dist(y)}var M=(_-x)/b,S=y.sub(m),E=S.mult(M)._add(m);E._add(S._unit()._perp()._mult(n*d));var L=v+Math.atan2(y.y-m.y,y.x-m.x);return w.push(E),{point:E,angle:L,path:w}}Qt.prototype.keysLength=function(){return this.boxKeys.length+this.circleKeys.length},Qt.prototype.insert=function(t,e,r,n,i){this._forEachCell(e,r,n,i,this._insertBoxCell,this.boxUid++),this.boxKeys.push(t),this.bboxes.push(e),this.bboxes.push(r),this.bboxes.push(n),this.bboxes.push(i)},Qt.prototype.insertCircle=function(t,e,r,n){this._forEachCell(e-n,r-n,e+n,r+n,this._insertCircleCell,this.circleUid++),this.circleKeys.push(t),this.circles.push(e),this.circles.push(r),this.circles.push(n)},Qt.prototype._insertBoxCell=function(t,e,r,n,i,a){this.boxCells[i].push(a)},Qt.prototype._insertCircleCell=function(t,e,r,n,i,a){this.circleCells[i].push(a)},Qt.prototype._query=function(t,e,r,n,i,a){if(r<0||t>this.width||n<0||e>this.height)return!i&&[];var o=[];if(t<=0&&e<=0&&this.width<=r&&this.height<=n){if(i)return!0;for(var s=0;s0:o},Qt.prototype._queryCircle=function(t,e,r,n,i){var a=t-r,o=t+r,s=e-r,l=e+r;if(o<0||a>this.width||l<0||s>this.height)return!n&&[];var u=[],c={hitTest:n,circle:{x:t,y:e,radius:r},seenUids:{box:{},circle:{}}};return this._forEachCell(a,s,o,l,this._queryCellCircle,u,c,i),n?u.length>0:u},Qt.prototype.query=function(t,e,r,n,i){return this._query(t,e,r,n,!1,i)},Qt.prototype.hitTest=function(t,e,r,n,i){return this._query(t,e,r,n,!0,i)},Qt.prototype.hitTestCircle=function(t,e,r,n){return this._queryCircle(t,e,r,!0,n)},Qt.prototype._queryCell=function(t,e,r,n,i,a,o,s){var l=o.seenUids,u=this.boxCells[i];if(null!==u)for(var c=this.bboxes,f=0,h=u;f=c[d+0]&&n>=c[d+1]&&(!s||s(this.boxKeys[p]))){if(o.hitTest)return a.push(!0),!0;a.push({key:this.boxKeys[p],x1:c[d],y1:c[d+1],x2:c[d+2],y2:c[d+3]})}}}var v=this.circleCells[i];if(null!==v)for(var g=this.circles,y=0,m=v;yo*o+s*s},Qt.prototype._circleAndRectCollide=function(t,e,r,n,i,a,o){var s=(a-n)/2,l=Math.abs(t-(n+s));if(l>s+r)return!1;var u=(o-i)/2,c=Math.abs(e-(i+u));if(c>u+r)return!1;if(l<=s||c<=u)return!0;var f=l-s,h=c-u;return f*f+h*h<=r*r};var fe=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0]);function he(t,e){for(var r=0;r=1;P--)C.push(E.path[P]);for(var O=1;O0){for(var R=C[0].clone(),F=C[0].clone(),B=1;B=A.x&&F.x<=M.x&&R.y>=A.y&&F.y<=M.y?[C]:F.xM.x||F.yM.y?[]:t.clipLine([C],A.x,A.y,M.x,M.y)}for(var N=0,j=D;N=this.screenRightBoundary||nthis.screenBottomBoundary},ve.prototype.isInsideGrid=function(t,e,r,n){return r>=0&&t=0&&e0?(this.prevPlacement&&this.prevPlacement.variableOffsets[f.crossTileID]&&this.prevPlacement.placements[f.crossTileID]&&this.prevPlacement.placements[f.crossTileID].text&&(v=this.prevPlacement.variableOffsets[f.crossTileID].anchor),this.variableOffsets[f.crossTileID]={textOffset:g,width:r,height:n,anchor:t,textBoxScale:i,prevAnchor:v},this.markUsedJustification(h,t,f,p),h.allowVerticalPlacement&&(this.markUsedOrientation(h,p,f),this.placedOrientations[f.crossTileID]=p),{shift:y,placedGlyphBoxes:m}):void 0},Ae.prototype.placeLayerBucketPart=function(e,r,n){var i=this,a=e.parameters,o=a.bucket,s=a.layout,l=a.posMatrix,u=a.textLabelPlaneMatrix,c=a.labelToScreenMatrix,f=a.textPixelRatio,h=a.holdingForFade,p=a.collisionBoxArray,d=a.partiallyEvaluatedTextSize,v=a.collisionGroup,g=s.get(\"text-optional\"),y=s.get(\"icon-optional\"),m=s.get(\"text-allow-overlap\"),x=s.get(\"icon-allow-overlap\"),b=\"map\"===s.get(\"text-rotation-alignment\"),_=\"map\"===s.get(\"text-pitch-alignment\"),w=\"none\"!==s.get(\"icon-text-fit\"),T=\"viewport-y\"===s.get(\"symbol-z-order\"),k=m&&(x||!o.hasIconData()||y),A=x&&(m||!o.hasTextData()||g);!o.collisionArrays&&p&&o.deserializeCollisionBoxes(p);var M=function(e,a){if(!r[e.crossTileID])if(h)i.placements[e.crossTileID]=new xe(!1,!1,!1);else{var p,T=!1,M=!1,S=!0,E=null,L={box:null,offscreen:null},C={box:null,offscreen:null},P=null,O=null,I=0,z=0,D=0;a.textFeatureIndex?I=a.textFeatureIndex:e.useRuntimeCollisionCircles&&(I=e.featureIndex),a.verticalTextFeatureIndex&&(z=a.verticalTextFeatureIndex);var R=a.textBox;if(R){var F=function(r){var n=t.WritingMode.horizontal;if(o.allowVerticalPlacement&&!r&&i.prevPlacement){var a=i.prevPlacement.placedOrientations[e.crossTileID];a&&(i.placedOrientations[e.crossTileID]=a,n=a,i.markUsedOrientation(o,n,e))}return n},B=function(r,n){if(o.allowVerticalPlacement&&e.numVerticalGlyphVertices>0&&a.verticalTextBox)for(var i=0,s=o.writingModes;i0&&(N=N.filter((function(t){return t!==j.anchor}))).unshift(j.anchor)}var U=function(t,r,n){for(var a=t.x2-t.x1,s=t.y2-t.y1,u=e.textBoxScale,c=w&&!x?r:null,h={box:[],offscreen:!1},p=m?2*N.length:N.length,d=0;d=N.length,k=i.attemptAnchorPlacement(g,t,a,s,u,b,_,f,l,v,y,e,o,n,c);if(k&&(h=k.placedGlyphBoxes)&&h.box&&h.box.length){T=!0,E=k.shift;break}}return h};B((function(){return U(R,a.iconBox,t.WritingMode.horizontal)}),(function(){var r=a.verticalTextBox,n=L&&L.box&&L.box.length;return o.allowVerticalPlacement&&!n&&e.numVerticalGlyphVertices>0&&r?U(r,a.verticalIconBox,t.WritingMode.vertical):{box:null,offscreen:null}})),L&&(T=L.box,S=L.offscreen);var V=F(L&&L.box);if(!T&&i.prevPlacement){var q=i.prevPlacement.variableOffsets[e.crossTileID];q&&(i.variableOffsets[e.crossTileID]=q,i.markUsedJustification(o,q.anchor,e,V))}}else{var H=function(t,r){var n=i.collisionIndex.placeCollisionBox(t,m,f,l,v.predicate);return n&&n.box&&n.box.length&&(i.markUsedOrientation(o,r,e),i.placedOrientations[e.crossTileID]=r),n};B((function(){return H(R,t.WritingMode.horizontal)}),(function(){var r=a.verticalTextBox;return o.allowVerticalPlacement&&e.numVerticalGlyphVertices>0&&r?H(r,t.WritingMode.vertical):{box:null,offscreen:null}})),F(L&&L.box&&L.box.length)}}if(T=(p=L)&&p.box&&p.box.length>0,S=p&&p.offscreen,e.useRuntimeCollisionCircles){var G=o.text.placedSymbolArray.get(e.centerJustifiedTextSymbolIndex),W=t.evaluateSizeForFeature(o.textSizeData,d,G),Y=s.get(\"text-padding\"),X=e.collisionCircleDiameter;P=i.collisionIndex.placeCollisionCircles(m,G,o.lineVertexArray,o.glyphOffsetArray,W,l,u,c,n,_,v.predicate,X,Y),T=m||P.circles.length>0&&!P.collisionDetected,S=S&&P.offscreen}if(a.iconFeatureIndex&&(D=a.iconFeatureIndex),a.iconBox){var Z=function(t){var e=w&&E?ke(t,E.x,E.y,b,_,i.transform.angle):t;return i.collisionIndex.placeCollisionBox(e,x,f,l,v.predicate)};M=C&&C.box&&C.box.length&&a.verticalIconBox?(O=Z(a.verticalIconBox)).box.length>0:(O=Z(a.iconBox)).box.length>0,S=S&&O.offscreen}var K=g||0===e.numHorizontalGlyphVertices&&0===e.numVerticalGlyphVertices,J=y||0===e.numIconVertices;if(K||J?J?K||(M=M&&T):T=M&&T:M=T=M&&T,T&&p&&p.box&&(C&&C.box&&z?i.collisionIndex.insertCollisionBox(p.box,s.get(\"text-ignore-placement\"),o.bucketInstanceId,z,v.ID):i.collisionIndex.insertCollisionBox(p.box,s.get(\"text-ignore-placement\"),o.bucketInstanceId,I,v.ID)),M&&O&&i.collisionIndex.insertCollisionBox(O.box,s.get(\"icon-ignore-placement\"),o.bucketInstanceId,D,v.ID),P&&(T&&i.collisionIndex.insertCollisionCircles(P.circles,s.get(\"text-ignore-placement\"),o.bucketInstanceId,I,v.ID),n)){var $=o.bucketInstanceId,Q=i.collisionCircleArrays[$];void 0===Q&&(Q=i.collisionCircleArrays[$]=new be);for(var tt=0;tt=0;--E){var L=S[E];M(o.symbolInstances.get(L),o.collisionArrays[L])}else for(var C=e.symbolInstanceStart;C=0&&(e.text.placedSymbolArray.get(u).crossTileID=a>=0&&u!==a?0:n.crossTileID)}},Ae.prototype.markUsedOrientation=function(e,r,n){for(var i=r===t.WritingMode.horizontal||r===t.WritingMode.horizontalOnly?r:0,a=r===t.WritingMode.vertical?r:0,o=0,s=[n.leftJustifiedTextSymbolIndex,n.centerJustifiedTextSymbolIndex,n.rightJustifiedTextSymbolIndex];o0||l>0,x=a.numIconVertices>0,b=i.placedOrientations[a.crossTileID],_=b===t.WritingMode.vertical,w=b===t.WritingMode.horizontal||b===t.WritingMode.horizontalOnly;if(m){var T=ze(y.text),k=_?De:T;d(e.text,s,k);var A=w?De:T;d(e.text,l,A);var M=y.text.isHidden();[a.rightJustifiedTextSymbolIndex,a.centerJustifiedTextSymbolIndex,a.leftJustifiedTextSymbolIndex].forEach((function(t){t>=0&&(e.text.placedSymbolArray.get(t).hidden=M||_?1:0)})),a.verticalPlacedTextSymbolIndex>=0&&(e.text.placedSymbolArray.get(a.verticalPlacedTextSymbolIndex).hidden=M||w?1:0);var S=i.variableOffsets[a.crossTileID];S&&i.markUsedJustification(e,S.anchor,a,b);var E=i.placedOrientations[a.crossTileID];E&&(i.markUsedJustification(e,\"left\",a,E),i.markUsedOrientation(e,E,a))}if(x){var L=ze(y.icon),C=!(h&&a.verticalPlacedIconSymbolIndex&&_);if(a.placedIconSymbolIndex>=0){var P=C?L:De;d(e.icon,a.numIconVertices,P),e.icon.placedSymbolArray.get(a.placedIconSymbolIndex).hidden=y.icon.isHidden()}if(a.verticalPlacedIconSymbolIndex>=0){var O=C?De:L;d(e.icon,a.numVerticalIconVertices,O),e.icon.placedSymbolArray.get(a.verticalPlacedIconSymbolIndex).hidden=y.icon.isHidden()}}if(e.hasIconCollisionBoxData()||e.hasTextCollisionBoxData()){var I=e.collisionArrays[n];if(I){var z=new t.Point(0,0);if(I.textBox||I.verticalTextBox){var D=!0;if(u){var R=i.variableOffsets[v];R?(z=Te(R.anchor,R.width,R.height,R.textOffset,R.textBoxScale),c&&z._rotate(f?i.transform.angle:-i.transform.angle)):D=!1}I.textBox&&Me(e.textCollisionBox.collisionVertexArray,y.text.placed,!D||_,z.x,z.y),I.verticalTextBox&&Me(e.textCollisionBox.collisionVertexArray,y.text.placed,!D||w,z.x,z.y)}var F=Boolean(!w&&I.verticalIconBox);I.iconBox&&Me(e.iconCollisionBox.collisionVertexArray,y.icon.placed,F,h?z.x:0,h?z.y:0),I.verticalIconBox&&Me(e.iconCollisionBox.collisionVertexArray,y.icon.placed,!F,h?z.x:0,h?z.y:0)}}},g=0;gt},Ae.prototype.setStale=function(){this.stale=!0};var Se=Math.pow(2,25),Ee=Math.pow(2,24),Le=Math.pow(2,17),Ce=Math.pow(2,16),Pe=Math.pow(2,9),Oe=Math.pow(2,8),Ie=Math.pow(2,1);function ze(t){if(0===t.opacity&&!t.placed)return 0;if(1===t.opacity&&t.placed)return 4294967295;var e=t.placed?1:0,r=Math.floor(127*t.opacity);return r*Se+e*Ee+r*Le+e*Ce+r*Pe+e*Oe+r*Ie+e}var De=0,Re=function(t){this._sortAcrossTiles=\"viewport-y\"!==t.layout.get(\"symbol-z-order\")&&void 0!==t.layout.get(\"symbol-sort-key\").constantOr(1),this._currentTileIndex=0,this._currentPartIndex=0,this._seenCrossTileIDs={},this._bucketParts=[]};Re.prototype.continuePlacement=function(t,e,r,n,i){for(var a=this._bucketParts;this._currentTileIndex2};this._currentPlacementIndex>=0;){var s=r[e[this._currentPlacementIndex]],l=this.placement.collisionIndex.transform.zoom;if(\"symbol\"===s.type&&(!s.minzoom||s.minzoom<=l)&&(!s.maxzoom||s.maxzoom>l)){if(this._inProgressLayer||(this._inProgressLayer=new Re(s)),this._inProgressLayer.continuePlacement(n[s.source],this.placement,this._showCollisionBoxes,s,o))return;delete this._inProgressLayer}this._currentPlacementIndex--}this._done=!0},Fe.prototype.commit=function(t){return this.placement.commit(t),this.placement};var Be=512/t.EXTENT/2,Ne=function(t,e,r){this.tileID=t,this.indexedSymbolInstances={},this.bucketInstanceId=r;for(var n=0;nt.overscaledZ)for(var s in o){var l=o[s];l.tileID.isChildOf(t)&&l.findMatches(e.symbolInstances,t,i)}else{var u=o[t.scaledTo(Number(a)).key];u&&u.findMatches(e.symbolInstances,t,i)}}for(var c=0;c1?\"@2x\":\"\",l=t.getJSON(r.transformRequest(r.normalizeSpriteURL(e,s,\".json\"),t.ResourceType.SpriteJSON),(function(t,e){l=null,o||(o=t,i=e,c())})),u=t.getImage(r.transformRequest(r.normalizeSpriteURL(e,s,\".png\"),t.ResourceType.SpriteImage),(function(t,e){u=null,o||(o=t,a=e,c())}));function c(){if(o)n(o);else if(i&&a){var e=t.browser.getImageData(a),r={};for(var s in i){var l=i[s],u=l.width,c=l.height,f=l.x,h=l.y,p=l.sdf,d=l.pixelRatio,v=l.stretchX,g=l.stretchY,y=l.content,m=new t.RGBAImage({width:u,height:c});t.RGBAImage.copy(e,m,{x:f,y:h},{x:0,y:0},{width:u,height:c}),r[s]={data:m,pixelRatio:d,sdf:p,stretchX:v,stretchY:g,content:y}}n(null,r)}}return{cancel:function(){l&&(l.cancel(),l=null),u&&(u.cancel(),u=null)}}}(e,this.map._requestManager,(function(e,n){if(r._spriteRequest=null,e)r.fire(new t.ErrorEvent(e));else if(n)for(var i in n)r.imageManager.addImage(i,n[i]);r.imageManager.setLoaded(!0),r._availableImages=r.imageManager.listImages(),r.dispatcher.broadcast(\"setImages\",r._availableImages),r.fire(new t.Event(\"data\",{dataType:\"style\"}))}))},r.prototype._validateLayer=function(e){var r=this.sourceCaches[e.source];if(r){var n=e.sourceLayer;if(n){var i=r.getSource();(\"geojson\"===i.type||i.vectorLayerIds&&-1===i.vectorLayerIds.indexOf(n))&&this.fire(new t.ErrorEvent(new Error('Source layer \"'+n+'\" does not exist on source \"'+i.id+'\" as specified by style layer \"'+e.id+'\"')))}}},r.prototype.loaded=function(){if(!this._loaded)return!1;if(Object.keys(this._updatedSources).length)return!1;for(var t in this.sourceCaches)if(!this.sourceCaches[t].loaded())return!1;return!!this.imageManager.isLoaded()},r.prototype._serializeLayers=function(t){for(var e=[],r=0,n=t;r0)throw new Error(\"Unimplemented: \"+i.map((function(t){return t.command})).join(\", \")+\".\");return n.forEach((function(t){\"setTransition\"!==t.command&&r[t.command].apply(r,t.args)})),this.stylesheet=e,!0},r.prototype.addImage=function(e,r){if(this.getImage(e))return this.fire(new t.ErrorEvent(new Error(\"An image with this name already exists.\")));this.imageManager.addImage(e,r),this._afterImageUpdated(e)},r.prototype.updateImage=function(t,e){this.imageManager.updateImage(t,e)},r.prototype.getImage=function(t){return this.imageManager.getImage(t)},r.prototype.removeImage=function(e){if(!this.getImage(e))return this.fire(new t.ErrorEvent(new Error(\"No image with this name exists.\")));this.imageManager.removeImage(e),this._afterImageUpdated(e)},r.prototype._afterImageUpdated=function(e){this._availableImages=this.imageManager.listImages(),this._changedImages[e]=!0,this._changed=!0,this.dispatcher.broadcast(\"setImages\",this._availableImages),this.fire(new t.Event(\"data\",{dataType:\"style\"}))},r.prototype.listImages=function(){return this._checkLoaded(),this.imageManager.listImages()},r.prototype.addSource=function(e,r,n){var i=this;if(void 0===n&&(n={}),this._checkLoaded(),void 0!==this.sourceCaches[e])throw new Error(\"There is already a source with this ID\");if(!r.type)throw new Error(\"The type property must be defined, but only the following properties were given: \"+Object.keys(r).join(\", \")+\".\");if(!([\"vector\",\"raster\",\"geojson\",\"video\",\"image\"].indexOf(r.type)>=0&&this._validate(t.validateStyle.source,\"sources.\"+e,r,null,n))){this.map&&this.map._collectResourceTiming&&(r.collectResourceTiming=!0);var a=this.sourceCaches[e]=new Ot(e,r,this.dispatcher);a.style=this,a.setEventedParent(this,(function(){return{isSourceLoaded:i.loaded(),source:a.serialize(),sourceId:e}})),a.onAdd(this.map),this._changed=!0}},r.prototype.removeSource=function(e){if(this._checkLoaded(),void 0===this.sourceCaches[e])throw new Error(\"There is no source with this ID\");for(var r in this._layers)if(this._layers[r].source===e)return this.fire(new t.ErrorEvent(new Error('Source \"'+e+'\" cannot be removed while layer \"'+r+'\" is using it.')));var n=this.sourceCaches[e];delete this.sourceCaches[e],delete this._updatedSources[e],n.fire(new t.Event(\"data\",{sourceDataType:\"metadata\",dataType:\"source\",sourceId:e})),n.setEventedParent(null),n.clearTiles(),n.onRemove&&n.onRemove(this.map),this._changed=!0},r.prototype.setGeoJSONSourceData=function(t,e){this._checkLoaded(),this.sourceCaches[t].getSource().setData(e),this._changed=!0},r.prototype.getSource=function(t){return this.sourceCaches[t]&&this.sourceCaches[t].getSource()},r.prototype.addLayer=function(e,r,n){void 0===n&&(n={}),this._checkLoaded();var i=e.id;if(this.getLayer(i))this.fire(new t.ErrorEvent(new Error('Layer with id \"'+i+'\" already exists on this map')));else{var a;if(\"custom\"===e.type){if(qe(this,t.validateCustomStyleLayer(e)))return;a=t.createStyleLayer(e)}else{if(\"object\"==typeof e.source&&(this.addSource(i,e.source),e=t.clone$1(e),e=t.extend(e,{source:i})),this._validate(t.validateStyle.layer,\"layers.\"+i,e,{arrayIndex:-1},n))return;a=t.createStyleLayer(e),this._validateLayer(a),a.setEventedParent(this,{layer:{id:i}}),this._serializedLayers[a.id]=a.serialize()}var o=r?this._order.indexOf(r):this._order.length;if(r&&-1===o)this.fire(new t.ErrorEvent(new Error('Layer with id \"'+r+'\" does not exist on this map.')));else{if(this._order.splice(o,0,i),this._layerOrderChanged=!0,this._layers[i]=a,this._removedLayers[i]&&a.source&&\"custom\"!==a.type){var s=this._removedLayers[i];delete this._removedLayers[i],s.type!==a.type?this._updatedSources[a.source]=\"clear\":(this._updatedSources[a.source]=\"reload\",this.sourceCaches[a.source].pause())}this._updateLayer(a),a.onAdd&&a.onAdd(this.map)}}},r.prototype.moveLayer=function(e,r){if(this._checkLoaded(),this._changed=!0,this._layers[e]){if(e!==r){var n=this._order.indexOf(e);this._order.splice(n,1);var i=r?this._order.indexOf(r):this._order.length;r&&-1===i?this.fire(new t.ErrorEvent(new Error('Layer with id \"'+r+'\" does not exist on this map.'))):(this._order.splice(i,0,e),this._layerOrderChanged=!0)}}else this.fire(new t.ErrorEvent(new Error(\"The layer '\"+e+\"' does not exist in the map's style and cannot be moved.\")))},r.prototype.removeLayer=function(e){this._checkLoaded();var r=this._layers[e];if(r){r.setEventedParent(null);var n=this._order.indexOf(e);this._order.splice(n,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[e]=r,delete this._layers[e],delete this._serializedLayers[e],delete this._updatedLayers[e],delete this._updatedPaintProps[e],r.onRemove&&r.onRemove(this.map)}else this.fire(new t.ErrorEvent(new Error(\"The layer '\"+e+\"' does not exist in the map's style and cannot be removed.\")))},r.prototype.getLayer=function(t){return this._layers[t]},r.prototype.hasLayer=function(t){return t in this._layers},r.prototype.setLayerZoomRange=function(e,r,n){this._checkLoaded();var i=this.getLayer(e);i?i.minzoom===r&&i.maxzoom===n||(null!=r&&(i.minzoom=r),null!=n&&(i.maxzoom=n),this._updateLayer(i)):this.fire(new t.ErrorEvent(new Error(\"The layer '\"+e+\"' does not exist in the map's style and cannot have zoom extent.\")))},r.prototype.setFilter=function(e,r,n){void 0===n&&(n={}),this._checkLoaded();var i=this.getLayer(e);if(i){if(!t.deepEqual(i.filter,r))return null==r?(i.filter=void 0,void this._updateLayer(i)):void(this._validate(t.validateStyle.filter,\"layers.\"+i.id+\".filter\",r,null,n)||(i.filter=t.clone$1(r),this._updateLayer(i)))}else this.fire(new t.ErrorEvent(new Error(\"The layer '\"+e+\"' does not exist in the map's style and cannot be filtered.\")))},r.prototype.getFilter=function(e){return t.clone$1(this.getLayer(e).filter)},r.prototype.setLayoutProperty=function(e,r,n,i){void 0===i&&(i={}),this._checkLoaded();var a=this.getLayer(e);a?t.deepEqual(a.getLayoutProperty(r),n)||(a.setLayoutProperty(r,n,i),this._updateLayer(a)):this.fire(new t.ErrorEvent(new Error(\"The layer '\"+e+\"' does not exist in the map's style and cannot be styled.\")))},r.prototype.getLayoutProperty=function(e,r){var n=this.getLayer(e);if(n)return n.getLayoutProperty(r);this.fire(new t.ErrorEvent(new Error(\"The layer '\"+e+\"' does not exist in the map's style.\")))},r.prototype.setPaintProperty=function(e,r,n,i){void 0===i&&(i={}),this._checkLoaded();var a=this.getLayer(e);a?t.deepEqual(a.getPaintProperty(r),n)||(a.setPaintProperty(r,n,i)&&this._updateLayer(a),this._changed=!0,this._updatedPaintProps[e]=!0):this.fire(new t.ErrorEvent(new Error(\"The layer '\"+e+\"' does not exist in the map's style and cannot be styled.\")))},r.prototype.getPaintProperty=function(t,e){return this.getLayer(t).getPaintProperty(e)},r.prototype.setFeatureState=function(e,r){this._checkLoaded();var n=e.source,i=e.sourceLayer,a=this.sourceCaches[n];if(void 0!==a){var o=a.getSource().type;\"geojson\"===o&&i?this.fire(new t.ErrorEvent(new Error(\"GeoJSON sources cannot have a sourceLayer parameter.\"))):\"vector\"!==o||i?(void 0===e.id&&this.fire(new t.ErrorEvent(new Error(\"The feature id parameter must be provided.\"))),a.setFeatureState(i,e.id,r)):this.fire(new t.ErrorEvent(new Error(\"The sourceLayer parameter must be provided for vector source types.\")))}else this.fire(new t.ErrorEvent(new Error(\"The source '\"+n+\"' does not exist in the map's style.\")))},r.prototype.removeFeatureState=function(e,r){this._checkLoaded();var n=e.source,i=this.sourceCaches[n];if(void 0!==i){var a=i.getSource().type,o=\"vector\"===a?e.sourceLayer:void 0;\"vector\"!==a||o?r&&\"string\"!=typeof e.id&&\"number\"!=typeof e.id?this.fire(new t.ErrorEvent(new Error(\"A feature id is required to remove its specific state property.\"))):i.removeFeatureState(o,e.id,r):this.fire(new t.ErrorEvent(new Error(\"The sourceLayer parameter must be provided for vector source types.\")))}else this.fire(new t.ErrorEvent(new Error(\"The source '\"+n+\"' does not exist in the map's style.\")))},r.prototype.getFeatureState=function(e){this._checkLoaded();var r=e.source,n=e.sourceLayer,i=this.sourceCaches[r];if(void 0!==i){if(\"vector\"!==i.getSource().type||n)return void 0===e.id&&this.fire(new t.ErrorEvent(new Error(\"The feature id parameter must be provided.\"))),i.getFeatureState(n,e.id);this.fire(new t.ErrorEvent(new Error(\"The sourceLayer parameter must be provided for vector source types.\")))}else this.fire(new t.ErrorEvent(new Error(\"The source '\"+r+\"' does not exist in the map's style.\")))},r.prototype.getTransition=function(){return t.extend({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)},r.prototype.serialize=function(){return t.filterObject({version:this.stylesheet.version,name:this.stylesheet.name,metadata:this.stylesheet.metadata,light:this.stylesheet.light,center:this.stylesheet.center,zoom:this.stylesheet.zoom,bearing:this.stylesheet.bearing,pitch:this.stylesheet.pitch,sprite:this.stylesheet.sprite,glyphs:this.stylesheet.glyphs,transition:this.stylesheet.transition,sources:t.mapObject(this.sourceCaches,(function(t){return t.serialize()})),layers:this._serializeLayers(this._order)},(function(t){return void 0!==t}))},r.prototype._updateLayer=function(t){this._updatedLayers[t.id]=!0,t.source&&!this._updatedSources[t.source]&&\"raster\"!==this.sourceCaches[t.source].getSource().type&&(this._updatedSources[t.source]=\"reload\",this.sourceCaches[t.source].pause()),this._changed=!0},r.prototype._flattenAndSortRenderedFeatures=function(t){for(var e=this,r=function(t){return\"fill-extrusion\"===e._layers[t].type},n={},i=[],a=this._order.length-1;a>=0;a--){var o=this._order[a];if(r(o)){n[o]=a;for(var s=0,l=t;s=0;d--){var v=this._order[d];if(r(v))for(var g=i.length-1;g>=0;g--){var y=i[g].feature;if(n[y.layer.id] 0.5) {gl_FragColor=vec4(0.0,0.0,1.0,0.5)*alpha;}if (v_notUsed > 0.5) {gl_FragColor*=.1;}}\",\"attribute vec2 a_pos;attribute vec2 a_anchor_pos;attribute vec2 a_extrude;attribute vec2 a_placed;attribute vec2 a_shift;uniform mat4 u_matrix;uniform vec2 u_extrude_scale;uniform float u_camera_to_center_distance;varying float v_placed;varying float v_notUsed;void main() {vec4 projectedPoint=u_matrix*vec4(a_anchor_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float collision_perspective_ratio=clamp(0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);gl_Position=u_matrix*vec4(a_pos,0.0,1.0);gl_Position.xy+=(a_extrude+a_shift)*u_extrude_scale*gl_Position.w*collision_perspective_ratio;v_placed=a_placed.x;v_notUsed=a_placed.y;}\"),nr=_r(\"varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;void main() {float alpha=0.5*min(v_perspective_ratio,1.0);float stroke_radius=0.9*max(v_perspective_ratio,1.0);float distance_to_center=length(v_extrude);float distance_to_edge=abs(distance_to_center-v_radius);float opacity_t=smoothstep(-stroke_radius,0.0,-distance_to_edge);vec4 color=mix(vec4(0.0,0.0,1.0,0.5),vec4(1.0,0.0,0.0,1.0),v_collision);gl_FragColor=color*alpha*opacity_t;}\",\"attribute vec2 a_pos;attribute float a_radius;attribute vec2 a_flags;uniform mat4 u_matrix;uniform mat4 u_inv_matrix;uniform vec2 u_viewport_size;uniform float u_camera_to_center_distance;varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;vec3 toTilePosition(vec2 screenPos) {vec4 rayStart=u_inv_matrix*vec4(screenPos,-1.0,1.0);vec4 rayEnd =u_inv_matrix*vec4(screenPos, 1.0,1.0);rayStart.xyz/=rayStart.w;rayEnd.xyz /=rayEnd.w;highp float t=(0.0-rayStart.z)/(rayEnd.z-rayStart.z);return mix(rayStart.xyz,rayEnd.xyz,t);}void main() {vec2 quadCenterPos=a_pos;float radius=a_radius;float collision=a_flags.x;float vertexIdx=a_flags.y;vec2 quadVertexOffset=vec2(mix(-1.0,1.0,float(vertexIdx >=2.0)),mix(-1.0,1.0,float(vertexIdx >=1.0 && vertexIdx <=2.0)));vec2 quadVertexExtent=quadVertexOffset*radius;vec3 tilePos=toTilePosition(quadCenterPos);vec4 clipPos=u_matrix*vec4(tilePos,1.0);highp float camera_to_anchor_distance=clipPos.w;highp float collision_perspective_ratio=clamp(0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);float padding_factor=1.2;v_radius=radius;v_extrude=quadVertexExtent*padding_factor;v_perspective_ratio=collision_perspective_ratio;v_collision=collision;gl_Position=vec4(clipPos.xyz/clipPos.w,1.0)+vec4(quadVertexExtent*padding_factor/u_viewport_size*2.0,0.0,0.0);}\"),ir=_r(\"uniform highp vec4 u_color;uniform sampler2D u_overlay;varying vec2 v_uv;void main() {vec4 overlay_color=texture2D(u_overlay,v_uv);gl_FragColor=mix(u_color,overlay_color,overlay_color.a);}\",\"attribute vec2 a_pos;varying vec2 v_uv;uniform mat4 u_matrix;uniform float u_overlay_scale;void main() {v_uv=a_pos/8192.0;gl_Position=u_matrix*vec4(a_pos*u_overlay_scale,0,1);}\"),ar=_r(\"#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 color\\n#pragma mapbox: initialize lowp float opacity\\ngl_FragColor=color*opacity;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"attribute vec2 a_pos;uniform mat4 u_matrix;\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 color\\n#pragma mapbox: initialize lowp float opacity\\ngl_Position=u_matrix*vec4(a_pos,0,1);}\"),or=_r(\"varying vec2 v_pos;\\n#pragma mapbox: define highp vec4 outline_color\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 outline_color\\n#pragma mapbox: initialize lowp float opacity\\nfloat dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=outline_color*(alpha*opacity);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"attribute vec2 a_pos;uniform mat4 u_matrix;uniform vec2 u_world;varying vec2 v_pos;\\n#pragma mapbox: define highp vec4 outline_color\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 outline_color\\n#pragma mapbox: initialize lowp float opacity\\ngl_Position=u_matrix*vec4(a_pos,0,1);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}\"),sr=_r(\"uniform vec2 u_texsize;uniform sampler2D u_image;uniform float u_fade;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos;\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp vec4 pattern_from\\n#pragma mapbox: define lowp vec4 pattern_to\\nvoid main() {\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump vec4 pattern_from\\n#pragma mapbox: initialize mediump vec4 pattern_to\\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);float dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=mix(color1,color2,u_fade)*alpha*opacity;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec2 u_world;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos;\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp vec4 pattern_from\\n#pragma mapbox: define lowp vec4 pattern_to\\n#pragma mapbox: define lowp float pixel_ratio_from\\n#pragma mapbox: define lowp float pixel_ratio_to\\nvoid main() {\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump vec4 pattern_from\\n#pragma mapbox: initialize mediump vec4 pattern_to\\n#pragma mapbox: initialize lowp float pixel_ratio_from\\n#pragma mapbox: initialize lowp float pixel_ratio_to\\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;gl_Position=u_matrix*vec4(a_pos,0,1);vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,a_pos);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}\"),lr=_r(\"uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp vec4 pattern_from\\n#pragma mapbox: define lowp vec4 pattern_to\\nvoid main() {\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump vec4 pattern_from\\n#pragma mapbox: initialize mediump vec4 pattern_to\\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);gl_FragColor=mix(color1,color2,u_fade)*opacity;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp vec4 pattern_from\\n#pragma mapbox: define lowp vec4 pattern_to\\n#pragma mapbox: define lowp float pixel_ratio_from\\n#pragma mapbox: define lowp float pixel_ratio_to\\nvoid main() {\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump vec4 pattern_from\\n#pragma mapbox: initialize mediump vec4 pattern_to\\n#pragma mapbox: initialize lowp float pixel_ratio_from\\n#pragma mapbox: initialize lowp float pixel_ratio_to\\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;gl_Position=u_matrix*vec4(a_pos,0,1);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileZoomRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileZoomRatio,a_pos);}\"),ur=_r(\"varying vec4 v_color;void main() {gl_FragColor=v_color;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;uniform float u_vertical_gradient;uniform lowp float u_opacity;attribute vec2 a_pos;attribute vec4 a_normal_ed;varying vec4 v_color;\\n#pragma mapbox: define highp float base\\n#pragma mapbox: define highp float height\\n#pragma mapbox: define highp vec4 color\\nvoid main() {\\n#pragma mapbox: initialize highp float base\\n#pragma mapbox: initialize highp float height\\n#pragma mapbox: initialize highp vec4 color\\nvec3 normal=a_normal_ed.xyz;base=max(0.0,base);height=max(0.0,height);float t=mod(normal.x,2.0);gl_Position=u_matrix*vec4(a_pos,t > 0.0 ? height : base,1);float colorvalue=color.r*0.2126+color.g*0.7152+color.b*0.0722;v_color=vec4(0.0,0.0,0.0,1.0);vec4 ambientlight=vec4(0.03,0.03,0.03,1.0);color+=ambientlight;float directional=clamp(dot(normal/16384.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((1.0-colorvalue+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_color.r+=clamp(color.r*directional*u_lightcolor.r,mix(0.0,0.3,1.0-u_lightcolor.r),1.0);v_color.g+=clamp(color.g*directional*u_lightcolor.g,mix(0.0,0.3,1.0-u_lightcolor.g),1.0);v_color.b+=clamp(color.b*directional*u_lightcolor.b,mix(0.0,0.3,1.0-u_lightcolor.b),1.0);v_color*=u_opacity;}\"),cr=_r(\"uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\\n#pragma mapbox: define lowp float base\\n#pragma mapbox: define lowp float height\\n#pragma mapbox: define lowp vec4 pattern_from\\n#pragma mapbox: define lowp vec4 pattern_to\\n#pragma mapbox: define lowp float pixel_ratio_from\\n#pragma mapbox: define lowp float pixel_ratio_to\\nvoid main() {\\n#pragma mapbox: initialize lowp float base\\n#pragma mapbox: initialize lowp float height\\n#pragma mapbox: initialize mediump vec4 pattern_from\\n#pragma mapbox: initialize mediump vec4 pattern_to\\n#pragma mapbox: initialize lowp float pixel_ratio_from\\n#pragma mapbox: initialize lowp float pixel_ratio_to\\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);vec4 mixedColor=mix(color1,color2,u_fade);gl_FragColor=mixedColor*v_lighting;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_height_factor;uniform vec3 u_scale;uniform float u_vertical_gradient;uniform lowp float u_opacity;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;attribute vec2 a_pos;attribute vec4 a_normal_ed;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\\n#pragma mapbox: define lowp float base\\n#pragma mapbox: define lowp float height\\n#pragma mapbox: define lowp vec4 pattern_from\\n#pragma mapbox: define lowp vec4 pattern_to\\n#pragma mapbox: define lowp float pixel_ratio_from\\n#pragma mapbox: define lowp float pixel_ratio_to\\nvoid main() {\\n#pragma mapbox: initialize lowp float base\\n#pragma mapbox: initialize lowp float height\\n#pragma mapbox: initialize mediump vec4 pattern_from\\n#pragma mapbox: initialize mediump vec4 pattern_to\\n#pragma mapbox: initialize lowp float pixel_ratio_from\\n#pragma mapbox: initialize lowp float pixel_ratio_to\\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec3 normal=a_normal_ed.xyz;float edgedistance=a_normal_ed.w;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;base=max(0.0,base);height=max(0.0,height);float t=mod(normal.x,2.0);float z=t > 0.0 ? height : base;gl_Position=u_matrix*vec4(a_pos,z,1);vec2 pos=normal.x==1.0 && normal.y==0.0 && normal.z==16384.0\\n? a_pos\\n: vec2(edgedistance,z*u_height_factor);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,pos);v_lighting=vec4(0.0,0.0,0.0,1.0);float directional=clamp(dot(normal/16383.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((0.5+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_lighting.rgb+=clamp(directional*u_lightcolor,mix(vec3(0.0),vec3(0.3),1.0-u_lightcolor),vec3(1.0));v_lighting*=u_opacity;}\"),fr=_r(\"#ifdef GL_ES\\nprecision highp float;\\n#endif\\nuniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_dimension;uniform float u_zoom;uniform vec4 u_unpack;float getElevation(vec2 coord,float bias) {vec4 data=texture2D(u_image,coord)*255.0;data.a=-1.0;return dot(data,u_unpack)/4.0;}void main() {vec2 epsilon=1.0/u_dimension;float a=getElevation(v_pos+vec2(-epsilon.x,-epsilon.y),0.0);float b=getElevation(v_pos+vec2(0,-epsilon.y),0.0);float c=getElevation(v_pos+vec2(epsilon.x,-epsilon.y),0.0);float d=getElevation(v_pos+vec2(-epsilon.x,0),0.0);float e=getElevation(v_pos,0.0);float f=getElevation(v_pos+vec2(epsilon.x,0),0.0);float g=getElevation(v_pos+vec2(-epsilon.x,epsilon.y),0.0);float h=getElevation(v_pos+vec2(0,epsilon.y),0.0);float i=getElevation(v_pos+vec2(epsilon.x,epsilon.y),0.0);float exaggerationFactor=u_zoom < 2.0 ? 0.4 : u_zoom < 4.5 ? 0.35 : 0.3;float exaggeration=u_zoom < 15.0 ? (u_zoom-15.0)*exaggerationFactor : 0.0;vec2 deriv=vec2((c+f+f+i)-(a+d+d+g),(g+h+h+i)-(a+b+b+c))/pow(2.0,exaggeration+(19.2562-u_zoom));gl_FragColor=clamp(vec4(deriv.x/2.0+0.5,deriv.y/2.0+0.5,1.0,1.0),0.0,1.0);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec2 u_dimension;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);highp vec2 epsilon=1.0/u_dimension;float scale=(u_dimension.x-2.0)/u_dimension.x;v_pos=(a_texture_pos/8192.0)*scale+epsilon;}\"),hr=_r(\"uniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_latrange;uniform vec2 u_light;uniform vec4 u_shadow;uniform vec4 u_highlight;uniform vec4 u_accent;\\n#define PI 3.141592653589793\\nvoid main() {vec4 pixel=texture2D(u_image,v_pos);vec2 deriv=((pixel.rg*2.0)-1.0);float scaleFactor=cos(radians((u_latrange[0]-u_latrange[1])*(1.0-v_pos.y)+u_latrange[1]));float slope=atan(1.25*length(deriv)/scaleFactor);float aspect=deriv.x !=0.0 ? atan(deriv.y,-deriv.x) : PI/2.0*(deriv.y > 0.0 ? 1.0 :-1.0);float intensity=u_light.x;float azimuth=u_light.y+PI;float base=1.875-intensity*1.75;float maxValue=0.5*PI;float scaledSlope=intensity !=0.5 ? ((pow(base,slope)-1.0)/(pow(base,maxValue)-1.0))*maxValue : slope;float accent=cos(scaledSlope);vec4 accent_color=(1.0-accent)*u_accent*clamp(intensity*2.0,0.0,1.0);float shade=abs(mod((aspect+azimuth)/PI+0.5,2.0)-1.0);vec4 shade_color=mix(u_shadow,u_highlight,shade)*sin(scaledSlope)*clamp(intensity*2.0,0.0,1.0);gl_FragColor=accent_color*(1.0-shade_color.a)+shade_color;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos=a_texture_pos/8192.0;}\"),pr=_r(\"uniform lowp float u_device_pixel_ratio;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 color\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);gl_FragColor=color*(alpha*opacity);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"\\n#define scale 0.015873016\\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform vec2 u_units_to_pixels;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp float v_linesofar;\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define mediump float gapwidth\\n#pragma mapbox: define lowp float offset\\n#pragma mapbox: define mediump float width\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 color\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump float gapwidth\\n#pragma mapbox: initialize lowp float offset\\n#pragma mapbox: initialize mediump float width\\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;v_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*2.0;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_width2=vec2(outset,inset);}\"),dr=_r(\"uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;varying highp vec2 v_uv;\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);vec4 color=texture2D(u_image,v_uv);gl_FragColor=color*(alpha*opacity);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"\\n#define scale 0.015873016\\nattribute vec2 a_pos_normal;attribute vec4 a_data;attribute float a_uv_x;attribute float a_split_index;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_units_to_pixels;uniform float u_image_height;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp vec2 v_uv;\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define mediump float gapwidth\\n#pragma mapbox: define lowp float offset\\n#pragma mapbox: define mediump float width\\nvoid main() {\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump float gapwidth\\n#pragma mapbox: initialize lowp float offset\\n#pragma mapbox: initialize mediump float width\\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;highp float texel_height=1.0/u_image_height;highp float half_texel_height=0.5*texel_height;v_uv=vec2(a_uv_x,a_split_index*texel_height-half_texel_height);vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_width2=vec2(outset,inset);}\"),vr=_r(\"uniform lowp float u_device_pixel_ratio;uniform vec2 u_texsize;uniform float u_fade;uniform mediump vec3 u_scale;uniform sampler2D u_image;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\\n#pragma mapbox: define lowp vec4 pattern_from\\n#pragma mapbox: define lowp vec4 pattern_to\\n#pragma mapbox: define lowp float pixel_ratio_from\\n#pragma mapbox: define lowp float pixel_ratio_to\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize mediump vec4 pattern_from\\n#pragma mapbox: initialize mediump vec4 pattern_to\\n#pragma mapbox: initialize lowp float pixel_ratio_from\\n#pragma mapbox: initialize lowp float pixel_ratio_to\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;vec2 pattern_size_a=vec2(display_size_a.x*fromScale/tileZoomRatio,display_size_a.y);vec2 pattern_size_b=vec2(display_size_b.x*toScale/tileZoomRatio,display_size_b.y);float aspect_a=display_size_a.y/v_width;float aspect_b=display_size_b.y/v_width;float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float x_a=mod(v_linesofar/pattern_size_a.x*aspect_a,1.0);float x_b=mod(v_linesofar/pattern_size_b.x*aspect_b,1.0);float y=0.5*v_normal.y+0.5;vec2 texel_size=1.0/u_texsize;vec2 pos_a=mix(pattern_tl_a*texel_size-texel_size,pattern_br_a*texel_size+texel_size,vec2(x_a,y));vec2 pos_b=mix(pattern_tl_b*texel_size-texel_size,pattern_br_b*texel_size+texel_size,vec2(x_b,y));vec4 color=mix(texture2D(u_image,pos_a),texture2D(u_image,pos_b),u_fade);gl_FragColor=color*alpha*opacity;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"\\n#define scale 0.015873016\\n#define LINE_DISTANCE_SCALE 2.0\\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform vec2 u_units_to_pixels;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp float offset\\n#pragma mapbox: define mediump float gapwidth\\n#pragma mapbox: define mediump float width\\n#pragma mapbox: define lowp float floorwidth\\n#pragma mapbox: define lowp vec4 pattern_from\\n#pragma mapbox: define lowp vec4 pattern_to\\n#pragma mapbox: define lowp float pixel_ratio_from\\n#pragma mapbox: define lowp float pixel_ratio_to\\nvoid main() {\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize lowp float offset\\n#pragma mapbox: initialize mediump float gapwidth\\n#pragma mapbox: initialize mediump float width\\n#pragma mapbox: initialize lowp float floorwidth\\n#pragma mapbox: initialize mediump vec4 pattern_from\\n#pragma mapbox: initialize mediump vec4 pattern_to\\n#pragma mapbox: initialize lowp float pixel_ratio_from\\n#pragma mapbox: initialize lowp float pixel_ratio_to\\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_linesofar=a_linesofar;v_width2=vec2(outset,inset);v_width=floorwidth;}\"),gr=_r(\"uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;uniform float u_sdfgamma;uniform float u_mix;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale;\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define mediump float width\\n#pragma mapbox: define lowp float floorwidth\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 color\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump float width\\n#pragma mapbox: initialize lowp float floorwidth\\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float sdfdist_a=texture2D(u_image,v_tex_a).a;float sdfdist_b=texture2D(u_image,v_tex_b).a;float sdfdist=mix(sdfdist_a,sdfdist_b,u_mix);alpha*=smoothstep(0.5-u_sdfgamma/floorwidth,0.5+u_sdfgamma/floorwidth,sdfdist);gl_FragColor=color*(alpha*opacity);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"\\n#define scale 0.015873016\\n#define LINE_DISTANCE_SCALE 2.0\\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_patternscale_a;uniform float u_tex_y_a;uniform vec2 u_patternscale_b;uniform float u_tex_y_b;uniform vec2 u_units_to_pixels;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale;\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define mediump float gapwidth\\n#pragma mapbox: define lowp float offset\\n#pragma mapbox: define mediump float width\\n#pragma mapbox: define lowp float floorwidth\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 color\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump float gapwidth\\n#pragma mapbox: initialize lowp float offset\\n#pragma mapbox: initialize mediump float width\\n#pragma mapbox: initialize lowp float floorwidth\\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_tex_a=vec2(a_linesofar*u_patternscale_a.x/floorwidth,normal.y*u_patternscale_a.y+u_tex_y_a);v_tex_b=vec2(a_linesofar*u_patternscale_b.x/floorwidth,normal.y*u_patternscale_b.y+u_tex_y_b);v_width2=vec2(outset,inset);}\"),yr=_r(\"uniform float u_fade_t;uniform float u_opacity;uniform sampler2D u_image0;uniform sampler2D u_image1;varying vec2 v_pos0;varying vec2 v_pos1;uniform float u_brightness_low;uniform float u_brightness_high;uniform float u_saturation_factor;uniform float u_contrast_factor;uniform vec3 u_spin_weights;void main() {vec4 color0=texture2D(u_image0,v_pos0);vec4 color1=texture2D(u_image1,v_pos1);if (color0.a > 0.0) {color0.rgb=color0.rgb/color0.a;}if (color1.a > 0.0) {color1.rgb=color1.rgb/color1.a;}vec4 color=mix(color0,color1,u_fade_t);color.a*=u_opacity;vec3 rgb=color.rgb;rgb=vec3(dot(rgb,u_spin_weights.xyz),dot(rgb,u_spin_weights.zxy),dot(rgb,u_spin_weights.yzx));float average=(color.r+color.g+color.b)/3.0;rgb+=(average-rgb)*u_saturation_factor;rgb=(rgb-0.5)*u_contrast_factor+0.5;vec3 u_high_vec=vec3(u_brightness_low,u_brightness_low,u_brightness_low);vec3 u_low_vec=vec3(u_brightness_high,u_brightness_high,u_brightness_high);gl_FragColor=vec4(mix(u_high_vec,u_low_vec,rgb)*color.a,color.a);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec2 u_tl_parent;uniform float u_scale_parent;uniform float u_buffer_scale;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos0;varying vec2 v_pos1;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos0=(((a_texture_pos/8192.0)-0.5)/u_buffer_scale )+0.5;v_pos1=(v_pos0*u_scale_parent)+u_tl_parent;}\"),mr=_r(\"uniform sampler2D u_texture;varying vec2 v_tex;varying float v_fade_opacity;\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize lowp float opacity\\nlowp float alpha=opacity*v_fade_opacity;gl_FragColor=texture2D(u_texture,v_tex)*alpha;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform highp float u_camera_to_center_distance;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform float u_fade_change;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform vec2 u_texsize;varying vec2 v_tex;varying float v_fade_opacity;\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize lowp float opacity\\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;vec2 a_minFontScale=a_pixeloffset.zw/256.0;highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\\ncamera_to_anchor_distance/u_camera_to_center_distance :\\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),0,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*max(a_minFontScale,fontScale)+a_pxoffset/16.0),0.0,1.0);v_tex=a_tex/u_texsize;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;v_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));}\"),xr=_r(\"#define SDF_PX 8.0\\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;uniform bool u_is_text;varying vec2 v_data0;varying vec3 v_data1;\\n#pragma mapbox: define highp vec4 fill_color\\n#pragma mapbox: define highp vec4 halo_color\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp float halo_width\\n#pragma mapbox: define lowp float halo_blur\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 fill_color\\n#pragma mapbox: initialize highp vec4 halo_color\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize lowp float halo_width\\n#pragma mapbox: initialize lowp float halo_blur\\nfloat EDGE_GAMMA=0.105/u_device_pixel_ratio;vec2 tex=v_data0.xy;float gamma_scale=v_data1.x;float size=v_data1.y;float fade_opacity=v_data1[2];float fontScale=u_is_text ? size/24.0 : size;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;varying vec2 v_data0;varying vec3 v_data1;\\n#pragma mapbox: define highp vec4 fill_color\\n#pragma mapbox: define highp vec4 halo_color\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp float halo_width\\n#pragma mapbox: define lowp float halo_blur\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 fill_color\\n#pragma mapbox: initialize highp vec4 halo_color\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize lowp float halo_width\\n#pragma mapbox: initialize lowp float halo_blur\\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\\ncamera_to_anchor_distance/u_camera_to_center_distance :\\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),0,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale+a_pxoffset),0.0,1.0);float gamma_scale=gl_Position.w;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));v_data0=a_tex/u_texsize;v_data1=vec3(gamma_scale,size,interpolated_fade_opacity);}\"),br=_r(\"#define SDF_PX 8.0\\n#define SDF 1.0\\n#define ICON 0.0\\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform sampler2D u_texture_icon;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;varying vec4 v_data0;varying vec4 v_data1;\\n#pragma mapbox: define highp vec4 fill_color\\n#pragma mapbox: define highp vec4 halo_color\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp float halo_width\\n#pragma mapbox: define lowp float halo_blur\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 fill_color\\n#pragma mapbox: initialize highp vec4 halo_color\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize lowp float halo_width\\n#pragma mapbox: initialize lowp float halo_blur\\nfloat fade_opacity=v_data1[2];if (v_data1.w==ICON) {vec2 tex_icon=v_data0.zw;lowp float alpha=opacity*fade_opacity;gl_FragColor=texture2D(u_texture_icon,tex_icon)*alpha;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\nreturn;}vec2 tex=v_data0.xy;float EDGE_GAMMA=0.105/u_device_pixel_ratio;float gamma_scale=v_data1.x;float size=v_data1.y;float fontScale=size/24.0;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;uniform vec2 u_texsize_icon;varying vec4 v_data0;varying vec4 v_data1;\\n#pragma mapbox: define highp vec4 fill_color\\n#pragma mapbox: define highp vec4 halo_color\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp float halo_width\\n#pragma mapbox: define lowp float halo_blur\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 fill_color\\n#pragma mapbox: initialize highp vec4 halo_color\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize lowp float halo_width\\n#pragma mapbox: initialize lowp float halo_blur\\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);float is_sdf=a_size[0]-2.0*a_size_min;highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\\ncamera_to_anchor_distance/u_camera_to_center_distance :\\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=size/24.0;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),0,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale),0.0,1.0);float gamma_scale=gl_Position.w;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));v_data0.xy=a_tex/u_texsize;v_data0.zw=a_tex/u_texsize_icon;v_data1=vec4(gamma_scale,size,interpolated_fade_opacity,is_sdf);}\");function _r(t,e){var r=/#pragma mapbox: ([\\w]+) ([\\w]+) ([\\w]+) ([\\w]+)/g,n=e.match(/attribute ([\\w]+) ([\\w]+)/g),i=t.match(/uniform ([\\w]+) ([\\w]+)([\\s]*)([\\w]*)/g),a=e.match(/uniform ([\\w]+) ([\\w]+)([\\s]*)([\\w]*)/g),o=a?a.concat(i):i,s={};return{fragmentSource:t=t.replace(r,(function(t,e,r,n,i){return s[i]=!0,\"define\"===e?\"\\n#ifndef HAS_UNIFORM_u_\"+i+\"\\nvarying \"+r+\" \"+n+\" \"+i+\";\\n#else\\nuniform \"+r+\" \"+n+\" u_\"+i+\";\\n#endif\\n\":\"\\n#ifdef HAS_UNIFORM_u_\"+i+\"\\n \"+r+\" \"+n+\" \"+i+\" = u_\"+i+\";\\n#endif\\n\"})),vertexSource:e=e.replace(r,(function(t,e,r,n,i){var a=\"float\"===n?\"vec2\":\"vec4\",o=i.match(/color/)?\"color\":a;return s[i]?\"define\"===e?\"\\n#ifndef HAS_UNIFORM_u_\"+i+\"\\nuniform lowp float u_\"+i+\"_t;\\nattribute \"+r+\" \"+a+\" a_\"+i+\";\\nvarying \"+r+\" \"+n+\" \"+i+\";\\n#else\\nuniform \"+r+\" \"+n+\" u_\"+i+\";\\n#endif\\n\":\"vec4\"===o?\"\\n#ifndef HAS_UNIFORM_u_\"+i+\"\\n \"+i+\" = a_\"+i+\";\\n#else\\n \"+r+\" \"+n+\" \"+i+\" = u_\"+i+\";\\n#endif\\n\":\"\\n#ifndef HAS_UNIFORM_u_\"+i+\"\\n \"+i+\" = unpack_mix_\"+o+\"(a_\"+i+\", u_\"+i+\"_t);\\n#else\\n \"+r+\" \"+n+\" \"+i+\" = u_\"+i+\";\\n#endif\\n\":\"define\"===e?\"\\n#ifndef HAS_UNIFORM_u_\"+i+\"\\nuniform lowp float u_\"+i+\"_t;\\nattribute \"+r+\" \"+a+\" a_\"+i+\";\\n#else\\nuniform \"+r+\" \"+n+\" u_\"+i+\";\\n#endif\\n\":\"vec4\"===o?\"\\n#ifndef HAS_UNIFORM_u_\"+i+\"\\n \"+r+\" \"+n+\" \"+i+\" = a_\"+i+\";\\n#else\\n \"+r+\" \"+n+\" \"+i+\" = u_\"+i+\";\\n#endif\\n\":\"\\n#ifndef HAS_UNIFORM_u_\"+i+\"\\n \"+r+\" \"+n+\" \"+i+\" = unpack_mix_\"+o+\"(a_\"+i+\", u_\"+i+\"_t);\\n#else\\n \"+r+\" \"+n+\" \"+i+\" = u_\"+i+\";\\n#endif\\n\"})),staticAttributes:n,staticUniforms:o}}var wr=Object.freeze({__proto__:null,prelude:Ze,background:Ke,backgroundPattern:Je,circle:$e,clippingMask:Qe,heatmap:tr,heatmapTexture:er,collisionBox:rr,collisionCircle:nr,debug:ir,fill:ar,fillOutline:or,fillOutlinePattern:sr,fillPattern:lr,fillExtrusion:ur,fillExtrusionPattern:cr,hillshadePrepare:fr,hillshade:hr,line:pr,lineGradient:dr,linePattern:vr,lineSDF:gr,raster:yr,symbolIcon:mr,symbolSDF:xr,symbolTextAndIcon:br}),Tr=function(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffer=null,this.vao=null};function kr(t){for(var e=[],r=0;r>16,s>>16],u_pixel_coord_lower:[65535&o,65535&s]}}Ar.prototype.draw=function(t,e,r,n,i,a,o,s,l,u,c,f,h,p,d,v){var g,y=t.gl;if(!this.failedToCreate){for(var m in t.program.set(this.program),t.setDepthMode(r),t.setStencilMode(n),t.setColorMode(i),t.setCullFace(a),this.fixedUniforms)this.fixedUniforms[m].set(o[m]);p&&p.setUniforms(t,this.binderUniforms,f,{zoom:h});for(var x=(g={},g[y.LINES]=2,g[y.TRIANGLES]=3,g[y.LINE_STRIP]=1,g)[e],b=0,_=c.get();b<_.length;b+=1){var w=_[b],T=w.vaos||(w.vaos={});(T[s]||(T[s]=new Tr)).bind(t,this,l,p?p.getPaintVertexBuffers():[],u,w.vertexOffset,d,v),y.drawElements(e,w.primitiveLength*x,y.UNSIGNED_SHORT,w.primitiveOffset*x*2)}}};var Sr=function(e,r,n,i){var a=r.style.light,o=a.properties.get(\"position\"),s=[o.x,o.y,o.z],l=t.create$1();\"viewport\"===a.properties.get(\"anchor\")&&t.fromRotation(l,-r.transform.angle),t.transformMat3(s,s,l);var u=a.properties.get(\"color\");return{u_matrix:e,u_lightpos:s,u_lightintensity:a.properties.get(\"intensity\"),u_lightcolor:[u.r,u.g,u.b],u_vertical_gradient:+n,u_opacity:i}},Er=function(e,r,n,i,a,o,s){return t.extend(Sr(e,r,n,i),Mr(o,r,s),{u_height_factor:-Math.pow(2,a.overscaledZ)/s.tileSize/8})},Lr=function(t){return{u_matrix:t}},Cr=function(e,r,n,i){return t.extend(Lr(e),Mr(n,r,i))},Pr=function(t,e){return{u_matrix:t,u_world:e}},Or=function(e,r,n,i,a){return t.extend(Cr(e,r,n,i),{u_world:a})},Ir=function(e,r,n,i){var a,o,s=e.transform;if(\"map\"===i.paint.get(\"circle-pitch-alignment\")){var l=ge(n,1,s.zoom);a=!0,o=[l,l]}else a=!1,o=s.pixelsToGLUnits;return{u_camera_to_center_distance:s.cameraToCenterDistance,u_scale_with_map:+(\"map\"===i.paint.get(\"circle-pitch-scale\")),u_matrix:e.translatePosMatrix(r.posMatrix,n,i.paint.get(\"circle-translate\"),i.paint.get(\"circle-translate-anchor\")),u_pitch_with_map:+a,u_device_pixel_ratio:t.browser.devicePixelRatio,u_extrude_scale:o}},zr=function(t,e,r){var n=ge(r,1,e.zoom),i=Math.pow(2,e.zoom-r.tileID.overscaledZ),a=r.tileID.overscaleFactor();return{u_matrix:t,u_camera_to_center_distance:e.cameraToCenterDistance,u_pixels_to_tile_units:n,u_extrude_scale:[e.pixelsToGLUnits[0]/(n*i),e.pixelsToGLUnits[1]/(n*i)],u_overscale_factor:a}},Dr=function(t,e,r){return{u_matrix:t,u_inv_matrix:e,u_camera_to_center_distance:r.cameraToCenterDistance,u_viewport_size:[r.width,r.height]}},Rr=function(t,e,r){return void 0===r&&(r=1),{u_matrix:t,u_color:e,u_overlay:0,u_overlay_scale:r}},Fr=function(t){return{u_matrix:t}},Br=function(t,e,r,n){return{u_matrix:t,u_extrude_scale:ge(e,1,r),u_intensity:n}},Nr=function(e,r,n,i){var a=t.create();t.ortho(a,0,e.width,e.height,0,0,1);var o=e.context.gl;return{u_matrix:a,u_world:[o.drawingBufferWidth,o.drawingBufferHeight],u_image:n,u_color_ramp:i,u_opacity:r.paint.get(\"heatmap-opacity\")}},jr=function(e,r,n){var i=n.paint.get(\"hillshade-shadow-color\"),a=n.paint.get(\"hillshade-highlight-color\"),o=n.paint.get(\"hillshade-accent-color\"),s=n.paint.get(\"hillshade-illumination-direction\")*(Math.PI/180);\"viewport\"===n.paint.get(\"hillshade-illumination-anchor\")&&(s-=e.transform.angle);var l,u,c,f=!e.options.moving;return{u_matrix:e.transform.calculatePosMatrix(r.tileID.toUnwrapped(),f),u_image:0,u_latrange:(l=r.tileID,u=Math.pow(2,l.canonical.z),c=l.canonical.y,[new t.MercatorCoordinate(0,c/u).toLngLat().lat,new t.MercatorCoordinate(0,(c+1)/u).toLngLat().lat]),u_light:[n.paint.get(\"hillshade-exaggeration\"),s],u_shadow:i,u_highlight:a,u_accent:o}},Ur=function(e,r){var n=r.stride,i=t.create();return t.ortho(i,0,t.EXTENT,-t.EXTENT,0,0,1),t.translate(i,i,[0,-t.EXTENT,0]),{u_matrix:i,u_image:1,u_dimension:[n,n],u_zoom:e.overscaledZ,u_unpack:r.getUnpackVector()}};var Vr=function(e,r,n){var i=e.transform;return{u_matrix:Yr(e,r,n),u_ratio:1/ge(r,1,i.zoom),u_device_pixel_ratio:t.browser.devicePixelRatio,u_units_to_pixels:[1/i.pixelsToGLUnits[0],1/i.pixelsToGLUnits[1]]}},qr=function(e,r,n,i){return t.extend(Vr(e,r,n),{u_image:0,u_image_height:i})},Hr=function(e,r,n,i){var a=e.transform,o=Wr(r,a);return{u_matrix:Yr(e,r,n),u_texsize:r.imageAtlasTexture.size,u_ratio:1/ge(r,1,a.zoom),u_device_pixel_ratio:t.browser.devicePixelRatio,u_image:0,u_scale:[o,i.fromScale,i.toScale],u_fade:i.t,u_units_to_pixels:[1/a.pixelsToGLUnits[0],1/a.pixelsToGLUnits[1]]}},Gr=function(e,r,n,i,a){var o=e.transform,s=e.lineAtlas,l=Wr(r,o),u=\"round\"===n.layout.get(\"line-cap\"),c=s.getDash(i.from,u),f=s.getDash(i.to,u),h=c.width*a.fromScale,p=f.width*a.toScale;return t.extend(Vr(e,r,n),{u_patternscale_a:[l/h,-c.height/2],u_patternscale_b:[l/p,-f.height/2],u_sdfgamma:s.width/(256*Math.min(h,p)*t.browser.devicePixelRatio)/2,u_image:0,u_tex_y_a:c.y,u_tex_y_b:f.y,u_mix:a.t})};function Wr(t,e){return 1/ge(t,1,e.tileZoom)}function Yr(t,e,r){return t.translatePosMatrix(e.tileID.posMatrix,e,r.paint.get(\"line-translate\"),r.paint.get(\"line-translate-anchor\"))}var Xr=function(t,e,r,n,i){return{u_matrix:t,u_tl_parent:e,u_scale_parent:r,u_buffer_scale:1,u_fade_t:n.mix,u_opacity:n.opacity*i.paint.get(\"raster-opacity\"),u_image0:0,u_image1:1,u_brightness_low:i.paint.get(\"raster-brightness-min\"),u_brightness_high:i.paint.get(\"raster-brightness-max\"),u_saturation_factor:(o=i.paint.get(\"raster-saturation\"),o>0?1-1/(1.001-o):-o),u_contrast_factor:(a=i.paint.get(\"raster-contrast\"),a>0?1/(1-a):1+a),u_spin_weights:Zr(i.paint.get(\"raster-hue-rotate\"))};var a,o};function Zr(t){t*=Math.PI/180;var e=Math.sin(t),r=Math.cos(t);return[(2*r+1)/3,(-Math.sqrt(3)*e-r+1)/3,(Math.sqrt(3)*e-r+1)/3]}var Kr,Jr=function(t,e,r,n,i,a,o,s,l,u){var c=i.transform;return{u_is_size_zoom_constant:+(\"constant\"===t||\"source\"===t),u_is_size_feature_constant:+(\"constant\"===t||\"camera\"===t),u_size_t:e?e.uSizeT:0,u_size:e?e.uSize:0,u_camera_to_center_distance:c.cameraToCenterDistance,u_pitch:c.pitch/360*2*Math.PI,u_rotate_symbol:+r,u_aspect_ratio:c.width/c.height,u_fade_change:i.options.fadeDuration?i.symbolFadeChange:1,u_matrix:a,u_label_plane_matrix:o,u_coord_matrix:s,u_is_text:+l,u_pitch_with_map:+n,u_texsize:u,u_texture:0}},$r=function(e,r,n,i,a,o,s,l,u,c,f){var h=a.transform;return t.extend(Jr(e,r,n,i,a,o,s,l,u,c),{u_gamma_scale:i?Math.cos(h._pitch)*h.cameraToCenterDistance:1,u_device_pixel_ratio:t.browser.devicePixelRatio,u_is_halo:+f})},Qr=function(e,r,n,i,a,o,s,l,u,c){return t.extend($r(e,r,n,i,a,o,s,l,!0,u,!0),{u_texsize_icon:c,u_texture_icon:1})},tn=function(t,e,r){return{u_matrix:t,u_opacity:e,u_color:r}},en=function(e,r,n,i,a,o){return t.extend(function(t,e,r,n){var i=r.imageManager.getPattern(t.from.toString()),a=r.imageManager.getPattern(t.to.toString()),o=r.imageManager.getPixelSize(),s=o.width,l=o.height,u=Math.pow(2,n.tileID.overscaledZ),c=n.tileSize*Math.pow(2,r.transform.tileZoom)/u,f=c*(n.tileID.canonical.x+n.tileID.wrap*u),h=c*n.tileID.canonical.y;return{u_image:0,u_pattern_tl_a:i.tl,u_pattern_br_a:i.br,u_pattern_tl_b:a.tl,u_pattern_br_b:a.br,u_texsize:[s,l],u_mix:e.t,u_pattern_size_a:i.displaySize,u_pattern_size_b:a.displaySize,u_scale_a:e.fromScale,u_scale_b:e.toScale,u_tile_units_to_pixels:1/ge(n,1,r.transform.tileZoom),u_pixel_coord_upper:[f>>16,h>>16],u_pixel_coord_lower:[65535&f,65535&h]}}(i,o,n,a),{u_matrix:e,u_opacity:r})},rn={fillExtrusion:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_lightpos:new t.Uniform3f(e,r.u_lightpos),u_lightintensity:new t.Uniform1f(e,r.u_lightintensity),u_lightcolor:new t.Uniform3f(e,r.u_lightcolor),u_vertical_gradient:new t.Uniform1f(e,r.u_vertical_gradient),u_opacity:new t.Uniform1f(e,r.u_opacity)}},fillExtrusionPattern:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_lightpos:new t.Uniform3f(e,r.u_lightpos),u_lightintensity:new t.Uniform1f(e,r.u_lightintensity),u_lightcolor:new t.Uniform3f(e,r.u_lightcolor),u_vertical_gradient:new t.Uniform1f(e,r.u_vertical_gradient),u_height_factor:new t.Uniform1f(e,r.u_height_factor),u_image:new t.Uniform1i(e,r.u_image),u_texsize:new t.Uniform2f(e,r.u_texsize),u_pixel_coord_upper:new t.Uniform2f(e,r.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,r.u_pixel_coord_lower),u_scale:new t.Uniform3f(e,r.u_scale),u_fade:new t.Uniform1f(e,r.u_fade),u_opacity:new t.Uniform1f(e,r.u_opacity)}},fill:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix)}},fillPattern:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_image:new t.Uniform1i(e,r.u_image),u_texsize:new t.Uniform2f(e,r.u_texsize),u_pixel_coord_upper:new t.Uniform2f(e,r.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,r.u_pixel_coord_lower),u_scale:new t.Uniform3f(e,r.u_scale),u_fade:new t.Uniform1f(e,r.u_fade)}},fillOutline:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_world:new t.Uniform2f(e,r.u_world)}},fillOutlinePattern:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_world:new t.Uniform2f(e,r.u_world),u_image:new t.Uniform1i(e,r.u_image),u_texsize:new t.Uniform2f(e,r.u_texsize),u_pixel_coord_upper:new t.Uniform2f(e,r.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,r.u_pixel_coord_lower),u_scale:new t.Uniform3f(e,r.u_scale),u_fade:new t.Uniform1f(e,r.u_fade)}},circle:function(e,r){return{u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_scale_with_map:new t.Uniform1i(e,r.u_scale_with_map),u_pitch_with_map:new t.Uniform1i(e,r.u_pitch_with_map),u_extrude_scale:new t.Uniform2f(e,r.u_extrude_scale),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_matrix:new t.UniformMatrix4f(e,r.u_matrix)}},collisionBox:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_pixels_to_tile_units:new t.Uniform1f(e,r.u_pixels_to_tile_units),u_extrude_scale:new t.Uniform2f(e,r.u_extrude_scale),u_overscale_factor:new t.Uniform1f(e,r.u_overscale_factor)}},collisionCircle:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_inv_matrix:new t.UniformMatrix4f(e,r.u_inv_matrix),u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_viewport_size:new t.Uniform2f(e,r.u_viewport_size)}},debug:function(e,r){return{u_color:new t.UniformColor(e,r.u_color),u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_overlay:new t.Uniform1i(e,r.u_overlay),u_overlay_scale:new t.Uniform1f(e,r.u_overlay_scale)}},clippingMask:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix)}},heatmap:function(e,r){return{u_extrude_scale:new t.Uniform1f(e,r.u_extrude_scale),u_intensity:new t.Uniform1f(e,r.u_intensity),u_matrix:new t.UniformMatrix4f(e,r.u_matrix)}},heatmapTexture:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_world:new t.Uniform2f(e,r.u_world),u_image:new t.Uniform1i(e,r.u_image),u_color_ramp:new t.Uniform1i(e,r.u_color_ramp),u_opacity:new t.Uniform1f(e,r.u_opacity)}},hillshade:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_image:new t.Uniform1i(e,r.u_image),u_latrange:new t.Uniform2f(e,r.u_latrange),u_light:new t.Uniform2f(e,r.u_light),u_shadow:new t.UniformColor(e,r.u_shadow),u_highlight:new t.UniformColor(e,r.u_highlight),u_accent:new t.UniformColor(e,r.u_accent)}},hillshadePrepare:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_image:new t.Uniform1i(e,r.u_image),u_dimension:new t.Uniform2f(e,r.u_dimension),u_zoom:new t.Uniform1f(e,r.u_zoom),u_unpack:new t.Uniform4f(e,r.u_unpack)}},line:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_ratio:new t.Uniform1f(e,r.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_units_to_pixels:new t.Uniform2f(e,r.u_units_to_pixels)}},lineGradient:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_ratio:new t.Uniform1f(e,r.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_units_to_pixels:new t.Uniform2f(e,r.u_units_to_pixels),u_image:new t.Uniform1i(e,r.u_image),u_image_height:new t.Uniform1f(e,r.u_image_height)}},linePattern:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_texsize:new t.Uniform2f(e,r.u_texsize),u_ratio:new t.Uniform1f(e,r.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_image:new t.Uniform1i(e,r.u_image),u_units_to_pixels:new t.Uniform2f(e,r.u_units_to_pixels),u_scale:new t.Uniform3f(e,r.u_scale),u_fade:new t.Uniform1f(e,r.u_fade)}},lineSDF:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_ratio:new t.Uniform1f(e,r.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_units_to_pixels:new t.Uniform2f(e,r.u_units_to_pixels),u_patternscale_a:new t.Uniform2f(e,r.u_patternscale_a),u_patternscale_b:new t.Uniform2f(e,r.u_patternscale_b),u_sdfgamma:new t.Uniform1f(e,r.u_sdfgamma),u_image:new t.Uniform1i(e,r.u_image),u_tex_y_a:new t.Uniform1f(e,r.u_tex_y_a),u_tex_y_b:new t.Uniform1f(e,r.u_tex_y_b),u_mix:new t.Uniform1f(e,r.u_mix)}},raster:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_tl_parent:new t.Uniform2f(e,r.u_tl_parent),u_scale_parent:new t.Uniform1f(e,r.u_scale_parent),u_buffer_scale:new t.Uniform1f(e,r.u_buffer_scale),u_fade_t:new t.Uniform1f(e,r.u_fade_t),u_opacity:new t.Uniform1f(e,r.u_opacity),u_image0:new t.Uniform1i(e,r.u_image0),u_image1:new t.Uniform1i(e,r.u_image1),u_brightness_low:new t.Uniform1f(e,r.u_brightness_low),u_brightness_high:new t.Uniform1f(e,r.u_brightness_high),u_saturation_factor:new t.Uniform1f(e,r.u_saturation_factor),u_contrast_factor:new t.Uniform1f(e,r.u_contrast_factor),u_spin_weights:new t.Uniform3f(e,r.u_spin_weights)}},symbolIcon:function(e,r){return{u_is_size_zoom_constant:new t.Uniform1i(e,r.u_is_size_zoom_constant),u_is_size_feature_constant:new t.Uniform1i(e,r.u_is_size_feature_constant),u_size_t:new t.Uniform1f(e,r.u_size_t),u_size:new t.Uniform1f(e,r.u_size),u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_pitch:new t.Uniform1f(e,r.u_pitch),u_rotate_symbol:new t.Uniform1i(e,r.u_rotate_symbol),u_aspect_ratio:new t.Uniform1f(e,r.u_aspect_ratio),u_fade_change:new t.Uniform1f(e,r.u_fade_change),u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_label_plane_matrix:new t.UniformMatrix4f(e,r.u_label_plane_matrix),u_coord_matrix:new t.UniformMatrix4f(e,r.u_coord_matrix),u_is_text:new t.Uniform1i(e,r.u_is_text),u_pitch_with_map:new t.Uniform1i(e,r.u_pitch_with_map),u_texsize:new t.Uniform2f(e,r.u_texsize),u_texture:new t.Uniform1i(e,r.u_texture)}},symbolSDF:function(e,r){return{u_is_size_zoom_constant:new t.Uniform1i(e,r.u_is_size_zoom_constant),u_is_size_feature_constant:new t.Uniform1i(e,r.u_is_size_feature_constant),u_size_t:new t.Uniform1f(e,r.u_size_t),u_size:new t.Uniform1f(e,r.u_size),u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_pitch:new t.Uniform1f(e,r.u_pitch),u_rotate_symbol:new t.Uniform1i(e,r.u_rotate_symbol),u_aspect_ratio:new t.Uniform1f(e,r.u_aspect_ratio),u_fade_change:new t.Uniform1f(e,r.u_fade_change),u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_label_plane_matrix:new t.UniformMatrix4f(e,r.u_label_plane_matrix),u_coord_matrix:new t.UniformMatrix4f(e,r.u_coord_matrix),u_is_text:new t.Uniform1i(e,r.u_is_text),u_pitch_with_map:new t.Uniform1i(e,r.u_pitch_with_map),u_texsize:new t.Uniform2f(e,r.u_texsize),u_texture:new t.Uniform1i(e,r.u_texture),u_gamma_scale:new t.Uniform1f(e,r.u_gamma_scale),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_is_halo:new t.Uniform1i(e,r.u_is_halo)}},symbolTextAndIcon:function(e,r){return{u_is_size_zoom_constant:new t.Uniform1i(e,r.u_is_size_zoom_constant),u_is_size_feature_constant:new t.Uniform1i(e,r.u_is_size_feature_constant),u_size_t:new t.Uniform1f(e,r.u_size_t),u_size:new t.Uniform1f(e,r.u_size),u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_pitch:new t.Uniform1f(e,r.u_pitch),u_rotate_symbol:new t.Uniform1i(e,r.u_rotate_symbol),u_aspect_ratio:new t.Uniform1f(e,r.u_aspect_ratio),u_fade_change:new t.Uniform1f(e,r.u_fade_change),u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_label_plane_matrix:new t.UniformMatrix4f(e,r.u_label_plane_matrix),u_coord_matrix:new t.UniformMatrix4f(e,r.u_coord_matrix),u_is_text:new t.Uniform1i(e,r.u_is_text),u_pitch_with_map:new t.Uniform1i(e,r.u_pitch_with_map),u_texsize:new t.Uniform2f(e,r.u_texsize),u_texsize_icon:new t.Uniform2f(e,r.u_texsize_icon),u_texture:new t.Uniform1i(e,r.u_texture),u_texture_icon:new t.Uniform1i(e,r.u_texture_icon),u_gamma_scale:new t.Uniform1f(e,r.u_gamma_scale),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_is_halo:new t.Uniform1i(e,r.u_is_halo)}},background:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_opacity:new t.Uniform1f(e,r.u_opacity),u_color:new t.UniformColor(e,r.u_color)}},backgroundPattern:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_opacity:new t.Uniform1f(e,r.u_opacity),u_image:new t.Uniform1i(e,r.u_image),u_pattern_tl_a:new t.Uniform2f(e,r.u_pattern_tl_a),u_pattern_br_a:new t.Uniform2f(e,r.u_pattern_br_a),u_pattern_tl_b:new t.Uniform2f(e,r.u_pattern_tl_b),u_pattern_br_b:new t.Uniform2f(e,r.u_pattern_br_b),u_texsize:new t.Uniform2f(e,r.u_texsize),u_mix:new t.Uniform1f(e,r.u_mix),u_pattern_size_a:new t.Uniform2f(e,r.u_pattern_size_a),u_pattern_size_b:new t.Uniform2f(e,r.u_pattern_size_b),u_scale_a:new t.Uniform1f(e,r.u_scale_a),u_scale_b:new t.Uniform1f(e,r.u_scale_b),u_pixel_coord_upper:new t.Uniform2f(e,r.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,r.u_pixel_coord_lower),u_tile_units_to_pixels:new t.Uniform1f(e,r.u_tile_units_to_pixels)}}};function nn(e,r,n,i,a,o,s){for(var l=e.context,u=l.gl,c=e.useProgram(\"collisionBox\"),f=[],h=0,p=0,d=0;d0){var _=t.create(),w=m;t.mul(_,y.placementInvProjMatrix,e.transform.glCoordMatrix),t.mul(_,_,y.placementViewportMatrix),f.push({circleArray:b,circleOffset:p,transform:w,invTransform:_}),p=h+=b.length/4}x&&c.draw(l,u.LINES,Mt.disabled,Et.disabled,e.colorModeForRenderPass(),Ct.disabled,zr(m,e.transform,g),n.id,x.layoutVertexBuffer,x.indexBuffer,x.segments,null,e.transform.zoom,null,null,x.collisionVertexBuffer)}}if(s&&f.length){var T=e.useProgram(\"collisionCircle\"),k=new t.StructArrayLayout2f1f2i16;k.resize(4*h),k._trim();for(var A=0,M=0,S=f;M=0&&(v[y.associatedIconIndex]={shiftedAnchor:S,angle:E})}else he(y.numGlyphs,p)}if(f){d.clear();for(var C=e.icon.placedSymbolArray,P=0;P0){var s=t.browser.now(),l=(s-e.timeAdded)/o,u=r?(s-r.timeAdded)/o:-1,c=n.getSource(),f=a.coveringZoomLevel({tileSize:c.tileSize,roundZoom:c.roundZoom}),h=!r||Math.abs(r.tileID.overscaledZ-f)>Math.abs(e.tileID.overscaledZ-f),p=h&&e.refreshedUponExpiration?1:t.clamp(h?l:1-u,0,1);return e.refreshedUponExpiration&&l>=1&&(e.refreshedUponExpiration=!1),r?{opacity:1,mix:1-p}:{opacity:p,mix:0}}return{opacity:1,mix:0}}var gn=new t.Color(1,0,0,1),yn=new t.Color(0,1,0,1),mn=new t.Color(0,0,1,1),xn=new t.Color(1,0,1,1),bn=new t.Color(0,1,1,1);function _n(t){var e=t.transform.padding;wn(t,t.transform.height-(e.top||0),3,gn),wn(t,e.bottom||0,3,yn),Tn(t,e.left||0,3,mn),Tn(t,t.transform.width-(e.right||0),3,xn);var r=t.transform.centerPoint;!function(t,e,r,n){var i=20,a=2;kn(t,e-a/2,r-i/2,a,i,n),kn(t,e-i/2,r-a/2,i,a,n)}(t,r.x,t.transform.height-r.y,bn)}function wn(t,e,r,n){kn(t,0,e+r/2,t.transform.width,r,n)}function Tn(t,e,r,n){kn(t,e-r/2,0,r,t.transform.height,n)}function kn(e,r,n,i,a,o){var s=e.context,l=s.gl;l.enable(l.SCISSOR_TEST),l.scissor(r*t.browser.devicePixelRatio,n*t.browser.devicePixelRatio,i*t.browser.devicePixelRatio,a*t.browser.devicePixelRatio),s.clear({color:o}),l.disable(l.SCISSOR_TEST)}function An(e,r,n){var i=e.context,a=i.gl,o=n.posMatrix,s=e.useProgram(\"debug\"),l=Mt.disabled,u=Et.disabled,c=e.colorModeForRenderPass(),f=\"$debug\";i.activeTexture.set(a.TEXTURE0),e.emptyTexture.bind(a.LINEAR,a.CLAMP_TO_EDGE),s.draw(i,a.LINE_STRIP,l,u,c,Ct.disabled,Rr(o,t.Color.red),f,e.debugBuffer,e.tileBorderIndexBuffer,e.debugSegments);var h=r.getTileByID(n.key).latestRawTileData,p=h&&h.byteLength||0,d=Math.floor(p/1024),v=r.getTile(n).tileSize,g=512/Math.min(v,512)*(n.overscaledZ/e.transform.zoom)*.5,y=n.canonical.toString();n.overscaledZ!==n.canonical.z&&(y+=\" => \"+n.overscaledZ),function(t,e){t.initDebugOverlayCanvas();var r=t.debugOverlayCanvas,n=t.context.gl,i=t.debugOverlayCanvas.getContext(\"2d\");i.clearRect(0,0,r.width,r.height),i.shadowColor=\"white\",i.shadowBlur=2,i.lineWidth=1.5,i.strokeStyle=\"white\",i.textBaseline=\"top\",i.font=\"bold 36px Open Sans, sans-serif\",i.fillText(e,5,5),i.strokeText(e,5,5),t.debugOverlayTexture.update(r),t.debugOverlayTexture.bind(n.LINEAR,n.CLAMP_TO_EDGE)}(e,y+\" \"+d+\"kb\"),s.draw(i,a.TRIANGLES,l,u,Lt.alphaBlended,Ct.disabled,Rr(o,t.Color.transparent,g),f,e.debugBuffer,e.quadTriangleIndexBuffer,e.debugSegments)}var Mn={symbol:function(e,r,n,i,a){if(\"translucent\"===e.renderPass){var o=Et.disabled,s=e.colorModeForRenderPass();n.layout.get(\"text-variable-anchor\")&&function(e,r,n,i,a,o,s){for(var l=r.transform,u=\"map\"===a,c=\"map\"===o,f=0,h=e;f256&&this.clearStencil(),r.setColorMode(Lt.disabled),r.setDepthMode(Mt.disabled);var i=this.useProgram(\"clippingMask\");this._tileClippingMaskIDs={};for(var a=0,o=e;a256&&this.clearStencil();var t=this.nextStencilID++,e=this.context.gl;return new Et({func:e.NOTEQUAL,mask:255},t,255,e.KEEP,e.KEEP,e.REPLACE)},Sn.prototype.stencilModeForClipping=function(t){var e=this.context.gl;return new Et({func:e.EQUAL,mask:255},this._tileClippingMaskIDs[t.key],0,e.KEEP,e.KEEP,e.REPLACE)},Sn.prototype.stencilConfigForOverlap=function(t){var e,r=this.context.gl,n=t.sort((function(t,e){return e.overscaledZ-t.overscaledZ})),i=n[n.length-1].overscaledZ,a=n[0].overscaledZ-i+1;if(a>1){this.currentStencilSource=void 0,this.nextStencilID+a>256&&this.clearStencil();for(var o={},s=0;s=0;this.currentLayer--){var w=this.style._layers[i[this.currentLayer]],T=a[w.source],k=c[w.source];this._renderTileClippingMasks(w,k),this.renderLayer(this,T,w,k)}for(this.renderPass=\"translucent\",this.currentLayer=0;this.currentLayer0?e.pop():null},Sn.prototype.isPatternMissing=function(t){if(!t)return!1;if(!t.from||!t.to)return!0;var e=this.imageManager.getPattern(t.from.toString()),r=this.imageManager.getPattern(t.to.toString());return!e||!r},Sn.prototype.useProgram=function(t,e){this.cache=this.cache||{};var r=\"\"+t+(e?e.cacheKey:\"\")+(this._showOverdrawInspector?\"/overdraw\":\"\");return this.cache[r]||(this.cache[r]=new Ar(this.context,t,wr[t],e,rn[t],this._showOverdrawInspector)),this.cache[r]},Sn.prototype.setCustomLayerDefaults=function(){this.context.unbindVAO(),this.context.cullFace.setDefault(),this.context.activeTexture.setDefault(),this.context.pixelStoreUnpack.setDefault(),this.context.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.context.pixelStoreUnpackFlipY.setDefault()},Sn.prototype.setBaseState=function(){var t=this.context.gl;this.context.cullFace.set(!1),this.context.viewport.set([0,0,this.width,this.height]),this.context.blendEquation.set(t.FUNC_ADD)},Sn.prototype.initDebugOverlayCanvas=function(){if(null==this.debugOverlayCanvas){this.debugOverlayCanvas=t.window.document.createElement(\"canvas\"),this.debugOverlayCanvas.width=512,this.debugOverlayCanvas.height=512;var e=this.context.gl;this.debugOverlayTexture=new t.Texture(this.context,this.debugOverlayCanvas,e.RGBA)}},Sn.prototype.destroy=function(){this.emptyTexture.destroy(),this.debugOverlayTexture&&this.debugOverlayTexture.destroy()};var En=function(t,e){this.points=t,this.planes=e};En.fromInvProjectionMatrix=function(e,r,n){var i=Math.pow(2,n),a=[[-1,1,-1,1],[1,1,-1,1],[1,-1,-1,1],[-1,-1,-1,1],[-1,1,1,1],[1,1,1,1],[1,-1,1,1],[-1,-1,1,1]].map((function(r){return t.transformMat4([],r,e)})).map((function(e){return t.scale$1([],e,1/e[3]/r*i)})),o=[[0,1,2],[6,5,4],[0,3,7],[2,1,5],[3,2,6],[0,4,5]].map((function(e){var r=t.sub([],a[e[0]],a[e[1]]),n=t.sub([],a[e[2]],a[e[1]]),i=t.normalize([],t.cross([],r,n)),o=-t.dot(i,a[e[1]]);return i.concat(o)}));return new En(a,o)};var Ln=function(e,r){this.min=e,this.max=r,this.center=t.scale$2([],t.add([],this.min,this.max),.5)};Ln.prototype.quadrant=function(e){for(var r=[e%2==0,e<2],n=t.clone$2(this.min),i=t.clone$2(this.max),a=0;a=0;if(0===o)return 0;o!==r.length&&(n=!1)}if(n)return 2;for(var l=0;l<3;l++){for(var u=Number.MAX_VALUE,c=-Number.MAX_VALUE,f=0;fthis.max[l]-this.min[l])return 0}return 1};var Cn=function(t,e,r,n){if(void 0===t&&(t=0),void 0===e&&(e=0),void 0===r&&(r=0),void 0===n&&(n=0),isNaN(t)||t<0||isNaN(e)||e<0||isNaN(r)||r<0||isNaN(n)||n<0)throw new Error(\"Invalid value for edge-insets, top, bottom, left and right must all be numbers\");this.top=t,this.bottom=e,this.left=r,this.right=n};Cn.prototype.interpolate=function(e,r,n){return null!=r.top&&null!=e.top&&(this.top=t.number(e.top,r.top,n)),null!=r.bottom&&null!=e.bottom&&(this.bottom=t.number(e.bottom,r.bottom,n)),null!=r.left&&null!=e.left&&(this.left=t.number(e.left,r.left,n)),null!=r.right&&null!=e.right&&(this.right=t.number(e.right,r.right,n)),this},Cn.prototype.getCenter=function(e,r){var n=t.clamp((this.left+e-this.right)/2,0,e),i=t.clamp((this.top+r-this.bottom)/2,0,r);return new t.Point(n,i)},Cn.prototype.equals=function(t){return this.top===t.top&&this.bottom===t.bottom&&this.left===t.left&&this.right===t.right},Cn.prototype.clone=function(){return new Cn(this.top,this.bottom,this.left,this.right)},Cn.prototype.toJSON=function(){return{top:this.top,bottom:this.bottom,left:this.left,right:this.right}};var Pn=function(e,r,n,i,a){this.tileSize=512,this.maxValidLatitude=85.051129,this._renderWorldCopies=void 0===a||a,this._minZoom=e||0,this._maxZoom=r||22,this._minPitch=null==n?0:n,this._maxPitch=null==i?60:i,this.setMaxBounds(),this.width=0,this.height=0,this._center=new t.LngLat(0,0),this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0,this._edgeInsets=new Cn,this._posMatrixCache={},this._alignedPosMatrixCache={}},On={minZoom:{configurable:!0},maxZoom:{configurable:!0},minPitch:{configurable:!0},maxPitch:{configurable:!0},renderWorldCopies:{configurable:!0},worldSize:{configurable:!0},centerOffset:{configurable:!0},size:{configurable:!0},bearing:{configurable:!0},pitch:{configurable:!0},fov:{configurable:!0},zoom:{configurable:!0},center:{configurable:!0},padding:{configurable:!0},centerPoint:{configurable:!0},unmodified:{configurable:!0},point:{configurable:!0}};Pn.prototype.clone=function(){var t=new Pn(this._minZoom,this._maxZoom,this._minPitch,this.maxPitch,this._renderWorldCopies);return t.tileSize=this.tileSize,t.latRange=this.latRange,t.width=this.width,t.height=this.height,t._center=this._center,t.zoom=this.zoom,t.angle=this.angle,t._fov=this._fov,t._pitch=this._pitch,t._unmodified=this._unmodified,t._edgeInsets=this._edgeInsets.clone(),t._calcMatrices(),t},On.minZoom.get=function(){return this._minZoom},On.minZoom.set=function(t){this._minZoom!==t&&(this._minZoom=t,this.zoom=Math.max(this.zoom,t))},On.maxZoom.get=function(){return this._maxZoom},On.maxZoom.set=function(t){this._maxZoom!==t&&(this._maxZoom=t,this.zoom=Math.min(this.zoom,t))},On.minPitch.get=function(){return this._minPitch},On.minPitch.set=function(t){this._minPitch!==t&&(this._minPitch=t,this.pitch=Math.max(this.pitch,t))},On.maxPitch.get=function(){return this._maxPitch},On.maxPitch.set=function(t){this._maxPitch!==t&&(this._maxPitch=t,this.pitch=Math.min(this.pitch,t))},On.renderWorldCopies.get=function(){return this._renderWorldCopies},On.renderWorldCopies.set=function(t){void 0===t?t=!0:null===t&&(t=!1),this._renderWorldCopies=t},On.worldSize.get=function(){return this.tileSize*this.scale},On.centerOffset.get=function(){return this.centerPoint._sub(this.size._div(2))},On.size.get=function(){return new t.Point(this.width,this.height)},On.bearing.get=function(){return-this.angle/Math.PI*180},On.bearing.set=function(e){var r=-t.wrap(e,-180,180)*Math.PI/180;this.angle!==r&&(this._unmodified=!1,this.angle=r,this._calcMatrices(),this.rotationMatrix=t.create$2(),t.rotate(this.rotationMatrix,this.rotationMatrix,this.angle))},On.pitch.get=function(){return this._pitch/Math.PI*180},On.pitch.set=function(e){var r=t.clamp(e,this.minPitch,this.maxPitch)/180*Math.PI;this._pitch!==r&&(this._unmodified=!1,this._pitch=r,this._calcMatrices())},On.fov.get=function(){return this._fov/Math.PI*180},On.fov.set=function(t){t=Math.max(.01,Math.min(60,t)),this._fov!==t&&(this._unmodified=!1,this._fov=t/180*Math.PI,this._calcMatrices())},On.zoom.get=function(){return this._zoom},On.zoom.set=function(t){var e=Math.min(Math.max(t,this.minZoom),this.maxZoom);this._zoom!==e&&(this._unmodified=!1,this._zoom=e,this.scale=this.zoomScale(e),this.tileZoom=Math.floor(e),this.zoomFraction=e-this.tileZoom,this._constrain(),this._calcMatrices())},On.center.get=function(){return this._center},On.center.set=function(t){t.lat===this._center.lat&&t.lng===this._center.lng||(this._unmodified=!1,this._center=t,this._constrain(),this._calcMatrices())},On.padding.get=function(){return this._edgeInsets.toJSON()},On.padding.set=function(t){this._edgeInsets.equals(t)||(this._unmodified=!1,this._edgeInsets.interpolate(this._edgeInsets,t,1),this._calcMatrices())},On.centerPoint.get=function(){return this._edgeInsets.getCenter(this.width,this.height)},Pn.prototype.isPaddingEqual=function(t){return this._edgeInsets.equals(t)},Pn.prototype.interpolatePadding=function(t,e,r){this._unmodified=!1,this._edgeInsets.interpolate(t,e,r),this._constrain(),this._calcMatrices()},Pn.prototype.coveringZoomLevel=function(t){var e=(t.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/t.tileSize));return Math.max(0,e)},Pn.prototype.getVisibleUnwrappedCoordinates=function(e){var r=[new t.UnwrappedTileID(0,e)];if(this._renderWorldCopies)for(var n=this.pointCoordinate(new t.Point(0,0)),i=this.pointCoordinate(new t.Point(this.width,0)),a=this.pointCoordinate(new t.Point(this.width,this.height)),o=this.pointCoordinate(new t.Point(0,this.height)),s=Math.floor(Math.min(n.x,i.x,a.x,o.x)),l=Math.floor(Math.max(n.x,i.x,a.x,o.x)),u=s-1;u<=l+1;u++)0!==u&&r.push(new t.UnwrappedTileID(u,e));return r},Pn.prototype.coveringTiles=function(e){var r=this.coveringZoomLevel(e),n=r;if(void 0!==e.minzoom&&re.maxzoom&&(r=e.maxzoom);var i=t.MercatorCoordinate.fromLngLat(this.center),a=Math.pow(2,r),o=[a*i.x,a*i.y,0],s=En.fromInvProjectionMatrix(this.invProjMatrix,this.worldSize,r),l=e.minzoom||0;this.pitch<=60&&this._edgeInsets.top<.1&&(l=r);var u=function(t){return{aabb:new Ln([t*a,0,0],[(t+1)*a,a,0]),zoom:0,x:0,y:0,wrap:t,fullyVisible:!1}},c=[],f=[],h=r,p=e.reparseOverscaled?n:r;if(this._renderWorldCopies)for(var d=1;d<=3;d++)c.push(u(-d)),c.push(u(d));for(c.push(u(0));c.length>0;){var v=c.pop(),g=v.x,y=v.y,m=v.fullyVisible;if(!m){var x=v.aabb.intersects(s);if(0===x)continue;m=2===x}var b=v.aabb.distanceX(o),_=v.aabb.distanceY(o),w=Math.max(Math.abs(b),Math.abs(_)),T=3+(1<T&&v.zoom>=l)f.push({tileID:new t.OverscaledTileID(v.zoom===h?p:v.zoom,v.wrap,v.zoom,g,y),distanceSq:t.sqrLen([o[0]-.5-g,o[1]-.5-y])});else for(var k=0;k<4;k++){var A=(g<<1)+k%2,M=(y<<1)+(k>>1);c.push({aabb:v.aabb.quadrant(k),zoom:v.zoom+1,x:A,y:M,wrap:v.wrap,fullyVisible:m})}}return f.sort((function(t,e){return t.distanceSq-e.distanceSq})).map((function(t){return t.tileID}))},Pn.prototype.resize=function(t,e){this.width=t,this.height=e,this.pixelsToGLUnits=[2/t,-2/e],this._constrain(),this._calcMatrices()},On.unmodified.get=function(){return this._unmodified},Pn.prototype.zoomScale=function(t){return Math.pow(2,t)},Pn.prototype.scaleZoom=function(t){return Math.log(t)/Math.LN2},Pn.prototype.project=function(e){var r=t.clamp(e.lat,-this.maxValidLatitude,this.maxValidLatitude);return new t.Point(t.mercatorXfromLng(e.lng)*this.worldSize,t.mercatorYfromLat(r)*this.worldSize)},Pn.prototype.unproject=function(e){return new t.MercatorCoordinate(e.x/this.worldSize,e.y/this.worldSize).toLngLat()},On.point.get=function(){return this.project(this.center)},Pn.prototype.setLocationAtPoint=function(e,r){var n=this.pointCoordinate(r),i=this.pointCoordinate(this.centerPoint),a=this.locationCoordinate(e),o=new t.MercatorCoordinate(a.x-(n.x-i.x),a.y-(n.y-i.y));this.center=this.coordinateLocation(o),this._renderWorldCopies&&(this.center=this.center.wrap())},Pn.prototype.locationPoint=function(t){return this.coordinatePoint(this.locationCoordinate(t))},Pn.prototype.pointLocation=function(t){return this.coordinateLocation(this.pointCoordinate(t))},Pn.prototype.locationCoordinate=function(e){return t.MercatorCoordinate.fromLngLat(e)},Pn.prototype.coordinateLocation=function(t){return t.toLngLat()},Pn.prototype.pointCoordinate=function(e){var r=[e.x,e.y,0,1],n=[e.x,e.y,1,1];t.transformMat4(r,r,this.pixelMatrixInverse),t.transformMat4(n,n,this.pixelMatrixInverse);var i=r[3],a=n[3],o=r[0]/i,s=n[0]/a,l=r[1]/i,u=n[1]/a,c=r[2]/i,f=n[2]/a,h=c===f?0:(0-c)/(f-c);return new t.MercatorCoordinate(t.number(o,s,h)/this.worldSize,t.number(l,u,h)/this.worldSize)},Pn.prototype.coordinatePoint=function(e){var r=[e.x*this.worldSize,e.y*this.worldSize,0,1];return t.transformMat4(r,r,this.pixelMatrix),new t.Point(r[0]/r[3],r[1]/r[3])},Pn.prototype.getBounds=function(){return(new t.LngLatBounds).extend(this.pointLocation(new t.Point(0,0))).extend(this.pointLocation(new t.Point(this.width,0))).extend(this.pointLocation(new t.Point(this.width,this.height))).extend(this.pointLocation(new t.Point(0,this.height)))},Pn.prototype.getMaxBounds=function(){return this.latRange&&2===this.latRange.length&&this.lngRange&&2===this.lngRange.length?new t.LngLatBounds([this.lngRange[0],this.latRange[0]],[this.lngRange[1],this.latRange[1]]):null},Pn.prototype.setMaxBounds=function(t){t?(this.lngRange=[t.getWest(),t.getEast()],this.latRange=[t.getSouth(),t.getNorth()],this._constrain()):(this.lngRange=null,this.latRange=[-this.maxValidLatitude,this.maxValidLatitude])},Pn.prototype.calculatePosMatrix=function(e,r){void 0===r&&(r=!1);var n=e.key,i=r?this._alignedPosMatrixCache:this._posMatrixCache;if(i[n])return i[n];var a=e.canonical,o=this.worldSize/this.zoomScale(a.z),s=a.x+Math.pow(2,a.z)*e.wrap,l=t.identity(new Float64Array(16));return t.translate(l,l,[s*o,a.y*o,0]),t.scale(l,l,[o/t.EXTENT,o/t.EXTENT,1]),t.multiply(l,r?this.alignedProjMatrix:this.projMatrix,l),i[n]=new Float32Array(l),i[n]},Pn.prototype.customLayerMatrix=function(){return this.mercatorMatrix.slice()},Pn.prototype._constrain=function(){if(this.center&&this.width&&this.height&&!this._constraining){this._constraining=!0;var e,r,n,i,a=-90,o=90,s=-180,l=180,u=this.size,c=this._unmodified;if(this.latRange){var f=this.latRange;a=t.mercatorYfromLat(f[1])*this.worldSize,e=(o=t.mercatorYfromLat(f[0])*this.worldSize)-ao&&(i=o-g)}if(this.lngRange){var y=p.x,m=u.x/2;y-ml&&(n=l-m)}void 0===n&&void 0===i||(this.center=this.unproject(new t.Point(void 0!==n?n:p.x,void 0!==i?i:p.y))),this._unmodified=c,this._constraining=!1}},Pn.prototype._calcMatrices=function(){if(this.height){var e=this._fov/2,r=this.centerOffset;this.cameraToCenterDistance=.5/Math.tan(e)*this.height;var n=Math.PI/2+this._pitch,i=this._fov*(.5+r.y/this.height),a=Math.sin(i)*this.cameraToCenterDistance/Math.sin(t.clamp(Math.PI-n-i,.01,Math.PI-.01)),o=this.point,s=o.x,l=o.y,u=1.01*(Math.cos(Math.PI/2-this._pitch)*a+this.cameraToCenterDistance),c=this.height/50,f=new Float64Array(16);t.perspective(f,this._fov,this.width/this.height,c,u),f[8]=2*-r.x/this.width,f[9]=2*r.y/this.height,t.scale(f,f,[1,-1,1]),t.translate(f,f,[0,0,-this.cameraToCenterDistance]),t.rotateX(f,f,this._pitch),t.rotateZ(f,f,this.angle),t.translate(f,f,[-s,-l,0]),this.mercatorMatrix=t.scale([],f,[this.worldSize,this.worldSize,this.worldSize]),t.scale(f,f,[1,1,t.mercatorZfromAltitude(1,this.center.lat)*this.worldSize,1]),this.projMatrix=f,this.invProjMatrix=t.invert([],this.projMatrix);var h=this.width%2/2,p=this.height%2/2,d=Math.cos(this.angle),v=Math.sin(this.angle),g=s-Math.round(s)+d*h+v*p,y=l-Math.round(l)+d*p+v*h,m=new Float64Array(f);if(t.translate(m,m,[g>.5?g-1:g,y>.5?y-1:y,0]),this.alignedProjMatrix=m,f=t.create(),t.scale(f,f,[this.width/2,-this.height/2,1]),t.translate(f,f,[1,-1,0]),this.labelPlaneMatrix=f,f=t.create(),t.scale(f,f,[1,-1,1]),t.translate(f,f,[-1,-1,0]),t.scale(f,f,[2/this.width,2/this.height,1]),this.glCoordMatrix=f,this.pixelMatrix=t.multiply(new Float64Array(16),this.labelPlaneMatrix,this.projMatrix),!(f=t.invert(new Float64Array(16),this.pixelMatrix)))throw new Error(\"failed to invert matrix\");this.pixelMatrixInverse=f,this._posMatrixCache={},this._alignedPosMatrixCache={}}},Pn.prototype.maxPitchScaleFactor=function(){if(!this.pixelMatrixInverse)return 1;var e=this.pointCoordinate(new t.Point(0,0)),r=[e.x*this.worldSize,e.y*this.worldSize,0,1];return t.transformMat4(r,r,this.pixelMatrix)[3]/this.cameraToCenterDistance},Pn.prototype.getCameraPoint=function(){var e=this._pitch,r=Math.tan(e)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new t.Point(0,r))},Pn.prototype.getCameraQueryGeometry=function(e){var r=this.getCameraPoint();if(1===e.length)return[e[0],r];for(var n=r.x,i=r.y,a=r.x,o=r.y,s=0,l=e;s=3&&!t.some((function(t){return isNaN(t)}))){var e=this._map.dragRotate.isEnabled()&&this._map.touchZoomRotate.isEnabled()?+(t[3]||0):this._map.getBearing();return this._map.jumpTo({center:[+t[2],+t[1]],zoom:+t[0],bearing:e,pitch:+(t[4]||0)}),!0}return!1},In.prototype._updateHashUnthrottled=function(){var e=t.window.location.href.replace(/(#.+)?$/,this.getHashString());try{t.window.history.replaceState(t.window.history.state,null,e)}catch(t){}};var zn={linearity:.3,easing:t.bezier(0,0,.3,1)},Dn=t.extend({deceleration:2500,maxSpeed:1400},zn),Rn=t.extend({deceleration:20,maxSpeed:1400},zn),Fn=t.extend({deceleration:1e3,maxSpeed:360},zn),Bn=t.extend({deceleration:1e3,maxSpeed:90},zn),Nn=function(t){this._map=t,this.clear()};function jn(t,e){(!t.duration||t.duration0&&r-e[0].time>160;)e.shift()},Nn.prototype._onMoveEnd=function(e){if(this._drainInertiaBuffer(),!(this._inertiaBuffer.length<2)){for(var r={zoom:0,bearing:0,pitch:0,pan:new t.Point(0,0),pinchAround:void 0,around:void 0},n=0,i=this._inertiaBuffer;n=this._clickTolerance||this._map.fire(new Vn(t.type,this._map,t))},Gn.prototype.dblclick=function(t){return this._firePreventable(new Vn(t.type,this._map,t))},Gn.prototype.mouseover=function(t){this._map.fire(new Vn(t.type,this._map,t))},Gn.prototype.mouseout=function(t){this._map.fire(new Vn(t.type,this._map,t))},Gn.prototype.touchstart=function(t){return this._firePreventable(new qn(t.type,this._map,t))},Gn.prototype.touchmove=function(t){this._map.fire(new qn(t.type,this._map,t))},Gn.prototype.touchend=function(t){this._map.fire(new qn(t.type,this._map,t))},Gn.prototype.touchcancel=function(t){this._map.fire(new qn(t.type,this._map,t))},Gn.prototype._firePreventable=function(t){if(this._map.fire(t),t.defaultPrevented)return{}},Gn.prototype.isEnabled=function(){return!0},Gn.prototype.isActive=function(){return!1},Gn.prototype.enable=function(){},Gn.prototype.disable=function(){};var Wn=function(t){this._map=t};Wn.prototype.reset=function(){this._delayContextMenu=!1,delete this._contextMenuEvent},Wn.prototype.mousemove=function(t){this._map.fire(new Vn(t.type,this._map,t))},Wn.prototype.mousedown=function(){this._delayContextMenu=!0},Wn.prototype.mouseup=function(){this._delayContextMenu=!1,this._contextMenuEvent&&(this._map.fire(new Vn(\"contextmenu\",this._map,this._contextMenuEvent)),delete this._contextMenuEvent)},Wn.prototype.contextmenu=function(t){this._delayContextMenu?this._contextMenuEvent=t:this._map.fire(new Vn(t.type,this._map,t)),this._map.listens(\"contextmenu\")&&t.preventDefault()},Wn.prototype.isEnabled=function(){return!0},Wn.prototype.isActive=function(){return!1},Wn.prototype.enable=function(){},Wn.prototype.disable=function(){};var Yn=function(t,e){this._map=t,this._el=t.getCanvasContainer(),this._container=t.getContainer(),this._clickTolerance=e.clickTolerance||1};function Xn(t,e){for(var r={},n=0;nthis.numTouches)&&(this.aborted=!0),this.aborted||(void 0===this.startTime&&(this.startTime=e.timeStamp),n.length===this.numTouches&&(this.centroid=function(e){for(var r=new t.Point(0,0),n=0,i=e;n30)&&(this.aborted=!0)}}},Zn.prototype.touchend=function(t,e,r){if((!this.centroid||t.timeStamp-this.startTime>500)&&(this.aborted=!0),0===r.length){var n=!this.aborted&&this.centroid;if(this.reset(),n)return n}};var Kn=function(t){this.singleTap=new Zn(t),this.numTaps=t.numTaps,this.reset()};Kn.prototype.reset=function(){this.lastTime=1/0,delete this.lastTap,this.count=0,this.singleTap.reset()},Kn.prototype.touchstart=function(t,e,r){this.singleTap.touchstart(t,e,r)},Kn.prototype.touchmove=function(t,e,r){this.singleTap.touchmove(t,e,r)},Kn.prototype.touchend=function(t,e,r){var n=this.singleTap.touchend(t,e,r);if(n){var i=t.timeStamp-this.lastTime<500,a=!this.lastTap||this.lastTap.dist(n)<30;if(i&&a||this.reset(),this.count++,this.lastTime=t.timeStamp,this.lastTap=n,this.count===this.numTaps)return this.reset(),n}};var Jn=function(){this._zoomIn=new Kn({numTouches:1,numTaps:2}),this._zoomOut=new Kn({numTouches:2,numTaps:1}),this.reset()};Jn.prototype.reset=function(){this._active=!1,this._zoomIn.reset(),this._zoomOut.reset()},Jn.prototype.touchstart=function(t,e,r){this._zoomIn.touchstart(t,e,r),this._zoomOut.touchstart(t,e,r)},Jn.prototype.touchmove=function(t,e,r){this._zoomIn.touchmove(t,e,r),this._zoomOut.touchmove(t,e,r)},Jn.prototype.touchend=function(t,e,r){var n=this,i=this._zoomIn.touchend(t,e,r),a=this._zoomOut.touchend(t,e,r);return i?(this._active=!0,t.preventDefault(),setTimeout((function(){return n.reset()}),0),{cameraAnimation:function(e){return e.easeTo({duration:300,zoom:e.getZoom()+1,around:e.unproject(i)},{originalEvent:t})}}):a?(this._active=!0,t.preventDefault(),setTimeout((function(){return n.reset()}),0),{cameraAnimation:function(e){return e.easeTo({duration:300,zoom:e.getZoom()-1,around:e.unproject(a)},{originalEvent:t})}}):void 0},Jn.prototype.touchcancel=function(){this.reset()},Jn.prototype.enable=function(){this._enabled=!0},Jn.prototype.disable=function(){this._enabled=!1,this.reset()},Jn.prototype.isEnabled=function(){return this._enabled},Jn.prototype.isActive=function(){return this._active};var $n={};$n[0]=1,$n[2]=2;var Qn=function(t){this.reset(),this._clickTolerance=t.clickTolerance||1};Qn.prototype.reset=function(){this._active=!1,this._moved=!1,delete this._lastPoint,delete this._eventButton},Qn.prototype._correctButton=function(t,e){return!1},Qn.prototype._move=function(t,e){return{}},Qn.prototype.mousedown=function(t,e){if(!this._lastPoint){var n=r.mouseButton(t);this._correctButton(t,n)&&(this._lastPoint=e,this._eventButton=n)}},Qn.prototype.mousemoveWindow=function(t,e){var r=this._lastPoint;if(r)if(t.preventDefault(),function(t,e){var r=$n[e];return void 0===t.buttons||(t.buttons&r)!==r}(t,this._eventButton))this.reset();else if(this._moved||!(e.dist(r)0&&(this._active=!0);var i=Xn(n,r),a=new t.Point(0,0),o=new t.Point(0,0),s=0;for(var l in i){var u=i[l],c=this._touches[l];c&&(a._add(u),o._add(u.sub(c)),s++,i[l]=u)}if(this._touches=i,!(sMath.abs(t.x)}var fi=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.reset=function(){t.prototype.reset.call(this),this._valid=void 0,delete this._firstMove,delete this._lastPoints},e.prototype._start=function(t){this._lastPoints=t,ci(t[0].sub(t[1]))&&(this._valid=!1)},e.prototype._move=function(t,e,r){var n=t[0].sub(this._lastPoints[0]),i=t[1].sub(this._lastPoints[1]);if(this._valid=this.gestureBeginsVertically(n,i,r.timeStamp),this._valid)return this._lastPoints=t,this._active=!0,{pitchDelta:(n.y+i.y)/2*-.5}},e.prototype.gestureBeginsVertically=function(t,e,r){if(void 0!==this._valid)return this._valid;var n=t.mag()>=2,i=e.mag()>=2;if(n||i){if(!n||!i)return void 0===this._firstMove&&(this._firstMove=r),r-this._firstMove<100&&void 0;var a=t.y>0==e.y>0;return ci(t)&&ci(e)&&a}},e}(ii),hi={panStep:100,bearingStep:15,pitchStep:10},pi=function(){var t=hi;this._panStep=t.panStep,this._bearingStep=t.bearingStep,this._pitchStep=t.pitchStep,this._rotationDisabled=!1};function di(t){return t*(2-t)}pi.prototype.reset=function(){this._active=!1},pi.prototype.keydown=function(t){var e=this;if(!(t.altKey||t.ctrlKey||t.metaKey)){var r=0,n=0,i=0,a=0,o=0;switch(t.keyCode){case 61:case 107:case 171:case 187:r=1;break;case 189:case 109:case 173:r=-1;break;case 37:t.shiftKey?n=-1:(t.preventDefault(),a=-1);break;case 39:t.shiftKey?n=1:(t.preventDefault(),a=1);break;case 38:t.shiftKey?i=1:(t.preventDefault(),o=-1);break;case 40:t.shiftKey?i=-1:(t.preventDefault(),o=1);break;default:return}return this._rotationDisabled&&(n=0,i=0),{cameraAnimation:function(s){var l=s.getZoom();s.easeTo({duration:300,easeId:\"keyboardHandler\",easing:di,zoom:r?Math.round(l)+r*(t.shiftKey?2:1):l,bearing:s.getBearing()+n*e._bearingStep,pitch:s.getPitch()+i*e._pitchStep,offset:[-a*e._panStep,-o*e._panStep],center:s.getCenter()},{originalEvent:t})}}}},pi.prototype.enable=function(){this._enabled=!0},pi.prototype.disable=function(){this._enabled=!1,this.reset()},pi.prototype.isEnabled=function(){return this._enabled},pi.prototype.isActive=function(){return this._active},pi.prototype.disableRotation=function(){this._rotationDisabled=!0},pi.prototype.enableRotation=function(){this._rotationDisabled=!1};var vi=4.000244140625,gi=function(e,r){this._map=e,this._el=e.getCanvasContainer(),this._handler=r,this._delta=0,this._defaultZoomRate=.01,this._wheelZoomRate=.0022222222222222222,t.bindAll([\"_onTimeout\"],this)};gi.prototype.setZoomRate=function(t){this._defaultZoomRate=t},gi.prototype.setWheelZoomRate=function(t){this._wheelZoomRate=t},gi.prototype.isEnabled=function(){return!!this._enabled},gi.prototype.isActive=function(){return!!this._active||void 0!==this._finishTimeout},gi.prototype.isZooming=function(){return!!this._zooming},gi.prototype.enable=function(t){this.isEnabled()||(this._enabled=!0,this._aroundCenter=t&&\"center\"===t.around)},gi.prototype.disable=function(){this.isEnabled()&&(this._enabled=!1)},gi.prototype.wheel=function(e){if(this.isEnabled()){var r=e.deltaMode===t.window.WheelEvent.DOM_DELTA_LINE?40*e.deltaY:e.deltaY,n=t.browser.now(),i=n-(this._lastWheelEventTime||0);this._lastWheelEventTime=n,0!==r&&r%vi==0?this._type=\"wheel\":0!==r&&Math.abs(r)<4?this._type=\"trackpad\":i>400?(this._type=null,this._lastValue=r,this._timeout=setTimeout(this._onTimeout,40,e)):this._type||(this._type=Math.abs(i*r)<200?\"trackpad\":\"wheel\",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,r+=this._lastValue)),e.shiftKey&&r&&(r/=4),this._type&&(this._lastWheelEvent=e,this._delta-=r,this._active||this._start(e)),e.preventDefault()}},gi.prototype._onTimeout=function(t){this._type=\"wheel\",this._delta-=this._lastValue,this._active||this._start(t)},gi.prototype._start=function(e){if(this._delta){this._frameId&&(this._frameId=null),this._active=!0,this.isZooming()||(this._zooming=!0),this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout);var n=r.mousePos(this._el,e);this._around=t.LngLat.convert(this._aroundCenter?this._map.getCenter():this._map.unproject(n)),this._aroundPoint=this._map.transform.locationPoint(this._around),this._frameId||(this._frameId=!0,this._handler._triggerRenderFrame())}},gi.prototype.renderFrame=function(){var e=this;if(this._frameId&&(this._frameId=null,this.isActive())){var r=this._map.transform;if(0!==this._delta){var n=\"wheel\"===this._type&&Math.abs(this._delta)>vi?this._wheelZoomRate:this._defaultZoomRate,i=2/(1+Math.exp(-Math.abs(this._delta*n)));this._delta<0&&0!==i&&(i=1/i);var a=\"number\"==typeof this._targetZoom?r.zoomScale(this._targetZoom):r.scale;this._targetZoom=Math.min(r.maxZoom,Math.max(r.minZoom,r.scaleZoom(a*i))),\"wheel\"===this._type&&(this._startZoom=r.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0}var o,s=\"number\"==typeof this._targetZoom?this._targetZoom:r.zoom,l=this._startZoom,u=this._easing,c=!1;if(\"wheel\"===this._type&&l&&u){var f=Math.min((t.browser.now()-this._lastWheelEventTime)/200,1),h=u(f);o=t.number(l,s,h),f<1?this._frameId||(this._frameId=!0):c=!0}else o=s,c=!0;return this._active=!0,c&&(this._active=!1,this._finishTimeout=setTimeout((function(){e._zooming=!1,e._handler._triggerRenderFrame(),delete e._targetZoom,delete e._finishTimeout}),200)),{noInertia:!0,needsRenderFrame:!c,zoomDelta:o-r.zoom,around:this._aroundPoint,originalEvent:this._lastWheelEvent}}},gi.prototype._smoothOutEasing=function(e){var r=t.ease;if(this._prevEase){var n=this._prevEase,i=(t.browser.now()-n.start)/n.duration,a=n.easing(i+.01)-n.easing(i),o=.27/Math.sqrt(a*a+1e-4)*.01,s=Math.sqrt(.0729-o*o);r=t.bezier(o,s,.25,1)}return this._prevEase={start:t.browser.now(),duration:e,easing:r},r},gi.prototype.reset=function(){this._active=!1};var yi=function(t,e){this._clickZoom=t,this._tapZoom=e};yi.prototype.enable=function(){this._clickZoom.enable(),this._tapZoom.enable()},yi.prototype.disable=function(){this._clickZoom.disable(),this._tapZoom.disable()},yi.prototype.isEnabled=function(){return this._clickZoom.isEnabled()&&this._tapZoom.isEnabled()},yi.prototype.isActive=function(){return this._clickZoom.isActive()||this._tapZoom.isActive()};var mi=function(){this.reset()};mi.prototype.reset=function(){this._active=!1},mi.prototype.dblclick=function(t,e){return t.preventDefault(),{cameraAnimation:function(r){r.easeTo({duration:300,zoom:r.getZoom()+(t.shiftKey?-1:1),around:r.unproject(e)},{originalEvent:t})}}},mi.prototype.enable=function(){this._enabled=!0},mi.prototype.disable=function(){this._enabled=!1,this.reset()},mi.prototype.isEnabled=function(){return this._enabled},mi.prototype.isActive=function(){return this._active};var xi=function(){this._tap=new Kn({numTouches:1,numTaps:1}),this.reset()};xi.prototype.reset=function(){this._active=!1,delete this._swipePoint,delete this._swipeTouch,delete this._tapTime,this._tap.reset()},xi.prototype.touchstart=function(t,e,r){this._swipePoint||(this._tapTime&&t.timeStamp-this._tapTime>500&&this.reset(),this._tapTime?r.length>0&&(this._swipePoint=e[0],this._swipeTouch=r[0].identifier):this._tap.touchstart(t,e,r))},xi.prototype.touchmove=function(t,e,r){if(this._tapTime){if(this._swipePoint){if(r[0].identifier!==this._swipeTouch)return;var n=e[0],i=n.y-this._swipePoint.y;return this._swipePoint=n,t.preventDefault(),this._active=!0,{zoomDelta:i/128}}}else this._tap.touchmove(t,e,r)},xi.prototype.touchend=function(t,e,r){this._tapTime?this._swipePoint&&0===r.length&&this.reset():this._tap.touchend(t,e,r)&&(this._tapTime=t.timeStamp)},xi.prototype.touchcancel=function(){this.reset()},xi.prototype.enable=function(){this._enabled=!0},xi.prototype.disable=function(){this._enabled=!1,this.reset()},xi.prototype.isEnabled=function(){return this._enabled},xi.prototype.isActive=function(){return this._active};var bi=function(t,e,r){this._el=t,this._mousePan=e,this._touchPan=r};bi.prototype.enable=function(t){this._inertiaOptions=t||{},this._mousePan.enable(),this._touchPan.enable(),this._el.classList.add(\"mapboxgl-touch-drag-pan\")},bi.prototype.disable=function(){this._mousePan.disable(),this._touchPan.disable(),this._el.classList.remove(\"mapboxgl-touch-drag-pan\")},bi.prototype.isEnabled=function(){return this._mousePan.isEnabled()&&this._touchPan.isEnabled()},bi.prototype.isActive=function(){return this._mousePan.isActive()||this._touchPan.isActive()};var _i=function(t,e,r){this._pitchWithRotate=t.pitchWithRotate,this._mouseRotate=e,this._mousePitch=r};_i.prototype.enable=function(){this._mouseRotate.enable(),this._pitchWithRotate&&this._mousePitch.enable()},_i.prototype.disable=function(){this._mouseRotate.disable(),this._mousePitch.disable()},_i.prototype.isEnabled=function(){return this._mouseRotate.isEnabled()&&(!this._pitchWithRotate||this._mousePitch.isEnabled())},_i.prototype.isActive=function(){return this._mouseRotate.isActive()||this._mousePitch.isActive()};var wi=function(t,e,r,n){this._el=t,this._touchZoom=e,this._touchRotate=r,this._tapDragZoom=n,this._rotationDisabled=!1,this._enabled=!0};wi.prototype.enable=function(t){this._touchZoom.enable(t),this._rotationDisabled||this._touchRotate.enable(t),this._tapDragZoom.enable(),this._el.classList.add(\"mapboxgl-touch-zoom-rotate\")},wi.prototype.disable=function(){this._touchZoom.disable(),this._touchRotate.disable(),this._tapDragZoom.disable(),this._el.classList.remove(\"mapboxgl-touch-zoom-rotate\")},wi.prototype.isEnabled=function(){return this._touchZoom.isEnabled()&&(this._rotationDisabled||this._touchRotate.isEnabled())&&this._tapDragZoom.isEnabled()},wi.prototype.isActive=function(){return this._touchZoom.isActive()||this._touchRotate.isActive()||this._tapDragZoom.isActive()},wi.prototype.disableRotation=function(){this._rotationDisabled=!0,this._touchRotate.disable()},wi.prototype.enableRotation=function(){this._rotationDisabled=!1,this._touchZoom.isEnabled()&&this._touchRotate.enable()};var Ti=function(t){return t.zoom||t.drag||t.pitch||t.rotate},ki=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(t.Event);function Ai(t){return t.panDelta&&t.panDelta.mag()||t.zoomDelta||t.bearingDelta||t.pitchDelta}var Mi=function(e,n){this._map=e,this._el=this._map.getCanvasContainer(),this._handlers=[],this._handlersById={},this._changes=[],this._inertia=new Nn(e),this._bearingSnap=n.bearingSnap,this._previousActiveHandlers={},this._eventsInProgress={},this._addDefaultHandlers(n),t.bindAll([\"handleEvent\",\"handleWindowEvent\"],this);var i=this._el;this._listeners=[[i,\"touchstart\",{passive:!0}],[i,\"touchmove\",{passive:!1}],[i,\"touchend\",void 0],[i,\"touchcancel\",void 0],[i,\"mousedown\",void 0],[i,\"mousemove\",void 0],[i,\"mouseup\",void 0],[t.window.document,\"mousemove\",{capture:!0}],[t.window.document,\"mouseup\",void 0],[i,\"mouseover\",void 0],[i,\"mouseout\",void 0],[i,\"dblclick\",void 0],[i,\"click\",void 0],[i,\"keydown\",{capture:!1}],[i,\"keyup\",void 0],[i,\"wheel\",{passive:!1}],[i,\"contextmenu\",void 0],[t.window,\"blur\",void 0]];for(var a=0,o=this._listeners;aa?Math.min(2,_):Math.max(.5,_),w=Math.pow(g,1-e),T=i.unproject(x.add(b.mult(e*w)).mult(v));i.setLocationAtPoint(i.renderWorldCopies?T.wrap():T,d)}n._fireMoveEvents(r)}),(function(t){n._afterEase(r,t)}),e),this},r.prototype._prepareEase=function(e,r,n){void 0===n&&(n={}),this._moving=!0,r||n.moving||this.fire(new t.Event(\"movestart\",e)),this._zooming&&!n.zooming&&this.fire(new t.Event(\"zoomstart\",e)),this._rotating&&!n.rotating&&this.fire(new t.Event(\"rotatestart\",e)),this._pitching&&!n.pitching&&this.fire(new t.Event(\"pitchstart\",e))},r.prototype._fireMoveEvents=function(e){this.fire(new t.Event(\"move\",e)),this._zooming&&this.fire(new t.Event(\"zoom\",e)),this._rotating&&this.fire(new t.Event(\"rotate\",e)),this._pitching&&this.fire(new t.Event(\"pitch\",e))},r.prototype._afterEase=function(e,r){if(!this._easeId||!r||this._easeId!==r){delete this._easeId;var n=this._zooming,i=this._rotating,a=this._pitching;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,this._padding=!1,n&&this.fire(new t.Event(\"zoomend\",e)),i&&this.fire(new t.Event(\"rotateend\",e)),a&&this.fire(new t.Event(\"pitchend\",e)),this.fire(new t.Event(\"moveend\",e))}},r.prototype.flyTo=function(e,r){var n=this;if(!e.essential&&t.browser.prefersReducedMotion){var i=t.pick(e,[\"center\",\"zoom\",\"bearing\",\"pitch\",\"around\"]);return this.jumpTo(i,r)}this.stop(),e=t.extend({offset:[0,0],speed:1.2,curve:1.42,easing:t.ease},e);var a=this.transform,o=this.getZoom(),s=this.getBearing(),l=this.getPitch(),u=this.getPadding(),c=\"zoom\"in e?t.clamp(+e.zoom,a.minZoom,a.maxZoom):o,f=\"bearing\"in e?this._normalizeBearing(e.bearing,s):s,h=\"pitch\"in e?+e.pitch:l,p=\"padding\"in e?e.padding:a.padding,d=a.zoomScale(c-o),v=t.Point.convert(e.offset),g=a.centerPoint.add(v),y=a.pointLocation(g),m=t.LngLat.convert(e.center||y);this._normalizeCenter(m);var x=a.project(y),b=a.project(m).sub(x),_=e.curve,w=Math.max(a.width,a.height),T=w/d,k=b.mag();if(\"minZoom\"in e){var A=t.clamp(Math.min(e.minZoom,o,c),a.minZoom,a.maxZoom),M=w/a.zoomScale(A-o);_=Math.sqrt(M/k*2)}var S=_*_;function E(t){var e=(T*T-w*w+(t?-1:1)*S*S*k*k)/(2*(t?T:w)*S*k);return Math.log(Math.sqrt(e*e+1)-e)}function L(t){return(Math.exp(t)-Math.exp(-t))/2}function C(t){return(Math.exp(t)+Math.exp(-t))/2}var P=E(0),O=function(t){return C(P)/C(P+_*t)},I=function(t){return w*((C(P)*(L(e=P+_*t)/C(e))-L(P))/S)/k;var e},z=(E(1)-P)/_;if(Math.abs(k)<1e-6||!isFinite(z)){if(Math.abs(w-T)<1e-6)return this.easeTo(e,r);var D=Te.maxDuration&&(e.duration=0),this._zooming=!0,this._rotating=s!==f,this._pitching=h!==l,this._padding=!a.isPaddingEqual(p),this._prepareEase(r,!1),this._ease((function(e){var i=e*z,d=1/O(i);a.zoom=1===e?c:o+a.scaleZoom(d),n._rotating&&(a.bearing=t.number(s,f,e)),n._pitching&&(a.pitch=t.number(l,h,e)),n._padding&&(a.interpolatePadding(u,p,e),g=a.centerPoint.add(v));var y=1===e?m:a.unproject(x.add(b.mult(I(i))).mult(d));a.setLocationAtPoint(a.renderWorldCopies?y.wrap():y,g),n._fireMoveEvents(r)}),(function(){return n._afterEase(r)}),e),this},r.prototype.isEasing=function(){return!!this._easeFrameId},r.prototype.stop=function(){return this._stop()},r.prototype._stop=function(t,e){if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),delete this._easeFrameId,delete this._onEaseFrame),this._onEaseEnd){var r=this._onEaseEnd;delete this._onEaseEnd,r.call(this,e)}if(!t){var n=this.handlers;n&&n.stop(!1)}return this},r.prototype._ease=function(e,r,n){!1===n.animate||0===n.duration?(e(1),r()):(this._easeStart=t.browser.now(),this._easeOptions=n,this._onEaseFrame=e,this._onEaseEnd=r,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback))},r.prototype._renderFrameCallback=function(){var e=Math.min((t.browser.now()-this._easeStart)/this._easeOptions.duration,1);this._onEaseFrame(this._easeOptions.easing(e)),e<1?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop()},r.prototype._normalizeBearing=function(e,r){e=t.wrap(e,-180,180);var n=Math.abs(e-r);return Math.abs(e-360-r)180?-360:r<-180?360:0}},r}(t.Evented),Ei=function(e){void 0===e&&(e={}),this.options=e,t.bindAll([\"_toggleAttribution\",\"_updateEditLink\",\"_updateData\",\"_updateCompact\"],this)};Ei.prototype.getDefaultPosition=function(){return\"bottom-right\"},Ei.prototype.onAdd=function(t){var e=this.options&&this.options.compact;return this._map=t,this._container=r.create(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-attrib\"),this._compactButton=r.create(\"button\",\"mapboxgl-ctrl-attrib-button\",this._container),this._compactButton.addEventListener(\"click\",this._toggleAttribution),this._setElementTitle(this._compactButton,\"ToggleAttribution\"),this._innerContainer=r.create(\"div\",\"mapboxgl-ctrl-attrib-inner\",this._container),this._innerContainer.setAttribute(\"role\",\"list\"),e&&this._container.classList.add(\"mapboxgl-compact\"),this._updateAttributions(),this._updateEditLink(),this._map.on(\"styledata\",this._updateData),this._map.on(\"sourcedata\",this._updateData),this._map.on(\"moveend\",this._updateEditLink),void 0===e&&(this._map.on(\"resize\",this._updateCompact),this._updateCompact()),this._container},Ei.prototype.onRemove=function(){r.remove(this._container),this._map.off(\"styledata\",this._updateData),this._map.off(\"sourcedata\",this._updateData),this._map.off(\"moveend\",this._updateEditLink),this._map.off(\"resize\",this._updateCompact),this._map=void 0,this._attribHTML=void 0},Ei.prototype._setElementTitle=function(t,e){var r=this._map._getUIString(\"AttributionControl.\"+e);t.title=r,t.setAttribute(\"aria-label\",r)},Ei.prototype._toggleAttribution=function(){this._container.classList.contains(\"mapboxgl-compact-show\")?(this._container.classList.remove(\"mapboxgl-compact-show\"),this._compactButton.setAttribute(\"aria-pressed\",\"false\")):(this._container.classList.add(\"mapboxgl-compact-show\"),this._compactButton.setAttribute(\"aria-pressed\",\"true\"))},Ei.prototype._updateEditLink=function(){var e=this._editLink;e||(e=this._editLink=this._container.querySelector(\".mapbox-improve-map\"));var r=[{key:\"owner\",value:this.styleOwner},{key:\"id\",value:this.styleId},{key:\"access_token\",value:this._map._requestManager._customAccessToken||t.config.ACCESS_TOKEN}];if(e){var n=r.reduce((function(t,e,n){return e.value&&(t+=e.key+\"=\"+e.value+(n=0)return!1;return!0}))).join(\" | \");o!==this._attribHTML&&(this._attribHTML=o,t.length?(this._innerContainer.innerHTML=o,this._container.classList.remove(\"mapboxgl-attrib-empty\")):this._container.classList.add(\"mapboxgl-attrib-empty\"),this._editLink=null)}},Ei.prototype._updateCompact=function(){this._map.getCanvasContainer().offsetWidth<=640?this._container.classList.add(\"mapboxgl-compact\"):this._container.classList.remove(\"mapboxgl-compact\",\"mapboxgl-compact-show\")};var Li=function(){t.bindAll([\"_updateLogo\"],this),t.bindAll([\"_updateCompact\"],this)};Li.prototype.onAdd=function(t){this._map=t,this._container=r.create(\"div\",\"mapboxgl-ctrl\");var e=r.create(\"a\",\"mapboxgl-ctrl-logo\");return e.target=\"_blank\",e.rel=\"noopener nofollow\",e.href=\"https://www.mapbox.com/\",e.setAttribute(\"aria-label\",this._map._getUIString(\"LogoControl.Title\")),e.setAttribute(\"rel\",\"noopener nofollow\"),this._container.appendChild(e),this._container.style.display=\"none\",this._map.on(\"sourcedata\",this._updateLogo),this._updateLogo(),this._map.on(\"resize\",this._updateCompact),this._updateCompact(),this._container},Li.prototype.onRemove=function(){r.remove(this._container),this._map.off(\"sourcedata\",this._updateLogo),this._map.off(\"resize\",this._updateCompact)},Li.prototype.getDefaultPosition=function(){return\"bottom-left\"},Li.prototype._updateLogo=function(t){t&&\"metadata\"!==t.sourceDataType||(this._container.style.display=this._logoRequired()?\"block\":\"none\")},Li.prototype._logoRequired=function(){if(this._map.style){var t=this._map.style.sourceCaches;for(var e in t)if(t[e].getSource().mapbox_logo)return!0;return!1}},Li.prototype._updateCompact=function(){var t=this._container.children;if(t.length){var e=t[0];this._map.getCanvasContainer().offsetWidth<250?e.classList.add(\"mapboxgl-compact\"):e.classList.remove(\"mapboxgl-compact\")}};var Ci=function(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1};Ci.prototype.add=function(t){var e=++this._id;return this._queue.push({callback:t,id:e,cancelled:!1}),e},Ci.prototype.remove=function(t){for(var e=this._currentlyRunning,r=0,n=e?this._queue.concat(e):this._queue;re.maxZoom)throw new Error(\"maxZoom must be greater than or equal to minZoom\");if(null!=e.minPitch&&null!=e.maxPitch&&e.minPitch>e.maxPitch)throw new Error(\"maxPitch must be greater than or equal to minPitch\");if(null!=e.minPitch&&e.minPitch<0)throw new Error(\"minPitch must be greater than or equal to 0\");if(null!=e.maxPitch&&e.maxPitch>Di)throw new Error(\"maxPitch must be less than or equal to 60\");var i=new Pn(e.minZoom,e.maxZoom,e.minPitch,e.maxPitch,e.renderWorldCopies);if(n.call(this,i,e),this._interactive=e.interactive,this._maxTileCacheSize=e.maxTileCacheSize,this._failIfMajorPerformanceCaveat=e.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=e.preserveDrawingBuffer,this._antialias=e.antialias,this._trackResize=e.trackResize,this._bearingSnap=e.bearingSnap,this._refreshExpiredTiles=e.refreshExpiredTiles,this._fadeDuration=e.fadeDuration,this._crossSourceCollisions=e.crossSourceCollisions,this._crossFadingFactor=1,this._collectResourceTiming=e.collectResourceTiming,this._renderTaskQueue=new Ci,this._controls=[],this._mapId=t.uniqueId(),this._locale=t.extend({},Pi,e.locale),this._clickTolerance=e.clickTolerance,this._requestManager=new t.RequestManager(e.transformRequest,e.accessToken),\"string\"==typeof e.container){if(this._container=t.window.document.getElementById(e.container),!this._container)throw new Error(\"Container '\"+e.container+\"' not found.\")}else{if(!(e.container instanceof Ii))throw new Error(\"Invalid type: 'container' must be a String or HTMLElement.\");this._container=e.container}if(e.maxBounds&&this.setMaxBounds(e.maxBounds),t.bindAll([\"_onWindowOnline\",\"_onWindowResize\",\"_onMapScroll\",\"_contextLost\",\"_contextRestored\"],this),this._setupContainer(),this._setupPainter(),void 0===this.painter)throw new Error(\"Failed to initialize WebGL.\");this.on(\"move\",(function(){return r._update(!1)})),this.on(\"moveend\",(function(){return r._update(!1)})),this.on(\"zoom\",(function(){return r._update(!0)})),void 0!==t.window&&(t.window.addEventListener(\"online\",this._onWindowOnline,!1),t.window.addEventListener(\"resize\",this._onWindowResize,!1),t.window.addEventListener(\"orientationchange\",this._onWindowResize,!1)),this.handlers=new Mi(this,e);var a=\"string\"==typeof e.hash&&e.hash||void 0;this._hash=e.hash&&new In(a).addTo(this),this._hash&&this._hash._onHashChange()||(this.jumpTo({center:e.center,zoom:e.zoom,bearing:e.bearing,pitch:e.pitch}),e.bounds&&(this.resize(),this.fitBounds(e.bounds,t.extend({},e.fitBoundsOptions,{duration:0})))),this.resize(),this._localIdeographFontFamily=e.localIdeographFontFamily,e.style&&this.setStyle(e.style,{localIdeographFontFamily:e.localIdeographFontFamily}),e.attributionControl&&this.addControl(new Ei({customAttribution:e.customAttribution})),this.addControl(new Li,e.logoPosition),this.on(\"style.load\",(function(){r.transform.unmodified&&r.jumpTo(r.style.stylesheet)})),this.on(\"data\",(function(e){r._update(\"style\"===e.dataType),r.fire(new t.Event(e.dataType+\"data\",e))})),this.on(\"dataloading\",(function(e){r.fire(new t.Event(e.dataType+\"dataloading\",e))}))}n&&(i.__proto__=n),i.prototype=Object.create(n&&n.prototype),i.prototype.constructor=i;var a={showTileBoundaries:{configurable:!0},showPadding:{configurable:!0},showCollisionBoxes:{configurable:!0},showOverdrawInspector:{configurable:!0},repaint:{configurable:!0},vertices:{configurable:!0},version:{configurable:!0}};return i.prototype._getMapId=function(){return this._mapId},i.prototype.addControl=function(e,r){if(void 0===r&&(r=e.getDefaultPosition?e.getDefaultPosition():\"top-right\"),!e||!e.onAdd)return this.fire(new t.ErrorEvent(new Error(\"Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.\")));var n=e.onAdd(this);this._controls.push(e);var i=this._controlPositions[r];return-1!==r.indexOf(\"bottom\")?i.insertBefore(n,i.firstChild):i.appendChild(n),this},i.prototype.removeControl=function(e){if(!e||!e.onRemove)return this.fire(new t.ErrorEvent(new Error(\"Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.\")));var r=this._controls.indexOf(e);return r>-1&&this._controls.splice(r,1),e.onRemove(this),this},i.prototype.hasControl=function(t){return this._controls.indexOf(t)>-1},i.prototype.resize=function(e){var r=this._containerDimensions(),n=r[0],i=r[1];this._resizeCanvas(n,i),this.transform.resize(n,i),this.painter.resize(n,i);var a=!this._moving;return a&&(this.stop(),this.fire(new t.Event(\"movestart\",e)).fire(new t.Event(\"move\",e))),this.fire(new t.Event(\"resize\",e)),a&&this.fire(new t.Event(\"moveend\",e)),this},i.prototype.getBounds=function(){return this.transform.getBounds()},i.prototype.getMaxBounds=function(){return this.transform.getMaxBounds()},i.prototype.setMaxBounds=function(e){return this.transform.setMaxBounds(t.LngLatBounds.convert(e)),this._update()},i.prototype.setMinZoom=function(t){if((t=null==t?-2:t)>=-2&&t<=this.transform.maxZoom)return this.transform.minZoom=t,this._update(),this.getZoom()=this.transform.minZoom)return this.transform.maxZoom=t,this._update(),this.getZoom()>t&&this.setZoom(t),this;throw new Error(\"maxZoom must be greater than the current minZoom\")},i.prototype.getMaxZoom=function(){return this.transform.maxZoom},i.prototype.setMinPitch=function(t){if((t=null==t?0:t)<0)throw new Error(\"minPitch must be greater than or equal to 0\");if(t>=0&&t<=this.transform.maxPitch)return this.transform.minPitch=t,this._update(),this.getPitch()Di)throw new Error(\"maxPitch must be less than or equal to 60\");if(t>=this.transform.minPitch)return this.transform.maxPitch=t,this._update(),this.getPitch()>t&&this.setPitch(t),this;throw new Error(\"maxPitch must be greater than the current minPitch\")},i.prototype.getMaxPitch=function(){return this.transform.maxPitch},i.prototype.getRenderWorldCopies=function(){return this.transform.renderWorldCopies},i.prototype.setRenderWorldCopies=function(t){return this.transform.renderWorldCopies=t,this._update()},i.prototype.project=function(e){return this.transform.locationPoint(t.LngLat.convert(e))},i.prototype.unproject=function(e){return this.transform.pointLocation(t.Point.convert(e))},i.prototype.isMoving=function(){return this._moving||this.handlers.isMoving()},i.prototype.isZooming=function(){return this._zooming||this.handlers.isZooming()},i.prototype.isRotating=function(){return this._rotating||this.handlers.isRotating()},i.prototype._createDelegatedListener=function(t,e,r){var n,i=this;if(\"mouseenter\"===t||\"mouseover\"===t){var a=!1;return{layer:e,listener:r,delegates:{mousemove:function(n){var o=i.getLayer(e)?i.queryRenderedFeatures(n.point,{layers:[e]}):[];o.length?a||(a=!0,r.call(i,new Vn(t,i,n.originalEvent,{features:o}))):a=!1},mouseout:function(){a=!1}}}}if(\"mouseleave\"===t||\"mouseout\"===t){var o=!1;return{layer:e,listener:r,delegates:{mousemove:function(n){(i.getLayer(e)?i.queryRenderedFeatures(n.point,{layers:[e]}):[]).length?o=!0:o&&(o=!1,r.call(i,new Vn(t,i,n.originalEvent)))},mouseout:function(e){o&&(o=!1,r.call(i,new Vn(t,i,e.originalEvent)))}}}}return{layer:e,listener:r,delegates:(n={},n[t]=function(t){var n=i.getLayer(e)?i.queryRenderedFeatures(t.point,{layers:[e]}):[];n.length&&(t.features=n,r.call(i,t),delete t.features)},n)}},i.prototype.on=function(t,e,r){if(void 0===r)return n.prototype.on.call(this,t,e);var i=this._createDelegatedListener(t,e,r);for(var a in this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[t]=this._delegatedListeners[t]||[],this._delegatedListeners[t].push(i),i.delegates)this.on(a,i.delegates[a]);return this},i.prototype.once=function(t,e,r){if(void 0===r)return n.prototype.once.call(this,t,e);var i=this._createDelegatedListener(t,e,r);for(var a in i.delegates)this.once(a,i.delegates[a]);return this},i.prototype.off=function(t,e,r){var i=this;if(void 0===r)return n.prototype.off.call(this,t,e);return this._delegatedListeners&&this._delegatedListeners[t]&&function(n){for(var a=n[t],o=0;o180;){var s=n.locationPoint(e);if(s.x>=0&&s.y>=0&&s.x<=n.width&&s.y<=n.height)break;e.lng>n.center.lng?e.lng-=360:e.lng+=360}return e}Ui.prototype.down=function(t,e){this.mouseRotate.mousedown(t,e),this.mousePitch&&this.mousePitch.mousedown(t,e),r.disableDrag()},Ui.prototype.move=function(t,e){var r=this.map,n=this.mouseRotate.mousemoveWindow(t,e);if(n&&n.bearingDelta&&r.setBearing(r.getBearing()+n.bearingDelta),this.mousePitch){var i=this.mousePitch.mousemoveWindow(t,e);i&&i.pitchDelta&&r.setPitch(r.getPitch()+i.pitchDelta)}},Ui.prototype.off=function(){var t=this.element;r.removeEventListener(t,\"mousedown\",this.mousedown),r.removeEventListener(t,\"touchstart\",this.touchstart,{passive:!1}),r.removeEventListener(t,\"touchmove\",this.touchmove),r.removeEventListener(t,\"touchend\",this.touchend),r.removeEventListener(t,\"touchcancel\",this.reset),this.offTemp()},Ui.prototype.offTemp=function(){r.enableDrag(),r.removeEventListener(t.window,\"mousemove\",this.mousemove),r.removeEventListener(t.window,\"mouseup\",this.mouseup)},Ui.prototype.mousedown=function(e){this.down(t.extend({},e,{ctrlKey:!0,preventDefault:function(){return e.preventDefault()}}),r.mousePos(this.element,e)),r.addEventListener(t.window,\"mousemove\",this.mousemove),r.addEventListener(t.window,\"mouseup\",this.mouseup)},Ui.prototype.mousemove=function(t){this.move(t,r.mousePos(this.element,t))},Ui.prototype.mouseup=function(t){this.mouseRotate.mouseupWindow(t),this.mousePitch&&this.mousePitch.mouseupWindow(t),this.offTemp()},Ui.prototype.touchstart=function(t){1!==t.targetTouches.length?this.reset():(this._startPos=this._lastPos=r.touchPos(this.element,t.targetTouches)[0],this.down({type:\"mousedown\",button:0,ctrlKey:!0,preventDefault:function(){return t.preventDefault()}},this._startPos))},Ui.prototype.touchmove=function(t){1!==t.targetTouches.length?this.reset():(this._lastPos=r.touchPos(this.element,t.targetTouches)[0],this.move({preventDefault:function(){return t.preventDefault()}},this._lastPos))},Ui.prototype.touchend=function(t){0===t.targetTouches.length&&this._startPos&&this._lastPos&&this._startPos.dist(this._lastPos)=r}this._isDragging&&(this._pos=e.point.sub(this._positionDelta),this._lngLat=this._map.unproject(this._pos),this.setLngLat(this._lngLat),this._element.style.pointerEvents=\"none\",\"pending\"===this._state&&(this._state=\"active\",this.fire(new t.Event(\"dragstart\"))),this.fire(new t.Event(\"drag\")))},n.prototype._onUp=function(){this._element.style.pointerEvents=\"auto\",this._positionDelta=null,this._pointerdownPos=null,this._isDragging=!1,this._map.off(\"mousemove\",this._onMove),this._map.off(\"touchmove\",this._onMove),\"active\"===this._state&&this.fire(new t.Event(\"dragend\")),this._state=\"inactive\"},n.prototype._addDragHandler=function(t){this._element.contains(t.originalEvent.target)&&(t.preventDefault(),this._positionDelta=t.point.sub(this._pos).add(this._offset),this._pointerdownPos=t.point,this._state=\"pending\",this._map.on(\"mousemove\",this._onMove),this._map.on(\"touchmove\",this._onMove),this._map.once(\"mouseup\",this._onUp),this._map.once(\"touchend\",this._onUp))},n.prototype.setDraggable=function(t){return this._draggable=!!t,this._map&&(t?(this._map.on(\"mousedown\",this._addDragHandler),this._map.on(\"touchstart\",this._addDragHandler)):(this._map.off(\"mousedown\",this._addDragHandler),this._map.off(\"touchstart\",this._addDragHandler))),this},n.prototype.isDraggable=function(){return this._draggable},n.prototype.setRotation=function(t){return this._rotation=t||0,this._update(),this},n.prototype.getRotation=function(){return this._rotation},n.prototype.setRotationAlignment=function(t){return this._rotationAlignment=t||\"auto\",this._update(),this},n.prototype.getRotationAlignment=function(){return this._rotationAlignment},n.prototype.setPitchAlignment=function(t){return this._pitchAlignment=t&&\"auto\"!==t?t:this._rotationAlignment,this._update(),this},n.prototype.getPitchAlignment=function(){return this._pitchAlignment},n}(t.Evented),Yi={positionOptions:{enableHighAccuracy:!1,maximumAge:0,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showAccuracyCircle:!0,showUserLocation:!0};var Xi=0,Zi=!1,Ki=function(e){function n(r){e.call(this),this.options=t.extend({},Yi,r),t.bindAll([\"_onSuccess\",\"_onError\",\"_onZoom\",\"_finish\",\"_setupUI\",\"_updateCamera\",\"_updateMarker\"],this)}return e&&(n.__proto__=e),n.prototype=Object.create(e&&e.prototype),n.prototype.constructor=n,n.prototype.onAdd=function(e){return this._map=e,this._container=r.create(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-group\"),n=this._setupUI,void 0!==Gi?n(Gi):void 0!==t.window.navigator.permissions?t.window.navigator.permissions.query({name:\"geolocation\"}).then((function(t){Gi=\"denied\"!==t.state,n(Gi)})):(Gi=!!t.window.navigator.geolocation,n(Gi)),this._container;var n},n.prototype.onRemove=function(){void 0!==this._geolocationWatchID&&(t.window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0),this.options.showUserLocation&&this._userLocationDotMarker&&this._userLocationDotMarker.remove(),this.options.showAccuracyCircle&&this._accuracyCircleMarker&&this._accuracyCircleMarker.remove(),r.remove(this._container),this._map.off(\"zoom\",this._onZoom),this._map=void 0,Xi=0,Zi=!1},n.prototype._isOutOfMapMaxBounds=function(t){var e=this._map.getMaxBounds(),r=t.coords;return e&&(r.longitudee.getEast()||r.latitudee.getNorth())},n.prototype._setErrorState=function(){switch(this._watchState){case\"WAITING_ACTIVE\":this._watchState=\"ACTIVE_ERROR\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-active-error\");break;case\"ACTIVE_LOCK\":this._watchState=\"ACTIVE_ERROR\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\");break;case\"BACKGROUND\":this._watchState=\"BACKGROUND_ERROR\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-background-error\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\")}},n.prototype._onSuccess=function(e){if(this._map){if(this._isOutOfMapMaxBounds(e))return this._setErrorState(),this.fire(new t.Event(\"outofmaxbounds\",e)),this._updateMarker(),void this._finish();if(this.options.trackUserLocation)switch(this._lastKnownPosition=e,this._watchState){case\"WAITING_ACTIVE\":case\"ACTIVE_LOCK\":case\"ACTIVE_ERROR\":this._watchState=\"ACTIVE_LOCK\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-active\");break;case\"BACKGROUND\":case\"BACKGROUND_ERROR\":this._watchState=\"BACKGROUND\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background-error\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-background\")}this.options.showUserLocation&&\"OFF\"!==this._watchState&&this._updateMarker(e),this.options.trackUserLocation&&\"ACTIVE_LOCK\"!==this._watchState||this._updateCamera(e),this.options.showUserLocation&&this._dotElement.classList.remove(\"mapboxgl-user-location-dot-stale\"),this.fire(new t.Event(\"geolocate\",e)),this._finish()}},n.prototype._updateCamera=function(e){var r=new t.LngLat(e.coords.longitude,e.coords.latitude),n=e.coords.accuracy,i=this._map.getBearing(),a=t.extend({bearing:i},this.options.fitBoundsOptions);this._map.fitBounds(r.toBounds(n),a,{geolocateSource:!0})},n.prototype._updateMarker=function(e){if(e){var r=new t.LngLat(e.coords.longitude,e.coords.latitude);this._accuracyCircleMarker.setLngLat(r).addTo(this._map),this._userLocationDotMarker.setLngLat(r).addTo(this._map),this._accuracy=e.coords.accuracy,this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()}else this._userLocationDotMarker.remove(),this._accuracyCircleMarker.remove()},n.prototype._updateCircleRadius=function(){var t=this._map._container.clientHeight/2,e=this._map.unproject([0,t]),r=this._map.unproject([1,t]),n=e.distanceTo(r),i=Math.ceil(2*this._accuracy/n);this._circleElement.style.width=i+\"px\",this._circleElement.style.height=i+\"px\"},n.prototype._onZoom=function(){this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()},n.prototype._onError=function(e){if(this._map){if(this.options.trackUserLocation)if(1===e.code){this._watchState=\"OFF\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background-error\"),this._geolocateButton.disabled=!0;var r=this._map._getUIString(\"GeolocateControl.LocationNotAvailable\");this._geolocateButton.title=r,this._geolocateButton.setAttribute(\"aria-label\",r),void 0!==this._geolocationWatchID&&this._clearWatch()}else{if(3===e.code&&Zi)return;this._setErrorState()}\"OFF\"!==this._watchState&&this.options.showUserLocation&&this._dotElement.classList.add(\"mapboxgl-user-location-dot-stale\"),this.fire(new t.Event(\"error\",e)),this._finish()}},n.prototype._finish=function(){this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},n.prototype._setupUI=function(e){var n=this;if(this._container.addEventListener(\"contextmenu\",(function(t){return t.preventDefault()})),this._geolocateButton=r.create(\"button\",\"mapboxgl-ctrl-geolocate\",this._container),r.create(\"span\",\"mapboxgl-ctrl-icon\",this._geolocateButton).setAttribute(\"aria-hidden\",!0),this._geolocateButton.type=\"button\",!1===e){t.warnOnce(\"Geolocation support is not available so the GeolocateControl will be disabled.\");var i=this._map._getUIString(\"GeolocateControl.LocationNotAvailable\");this._geolocateButton.disabled=!0,this._geolocateButton.title=i,this._geolocateButton.setAttribute(\"aria-label\",i)}else{var a=this._map._getUIString(\"GeolocateControl.FindMyLocation\");this._geolocateButton.title=a,this._geolocateButton.setAttribute(\"aria-label\",a)}this.options.trackUserLocation&&(this._geolocateButton.setAttribute(\"aria-pressed\",\"false\"),this._watchState=\"OFF\"),this.options.showUserLocation&&(this._dotElement=r.create(\"div\",\"mapboxgl-user-location-dot\"),this._userLocationDotMarker=new Wi(this._dotElement),this._circleElement=r.create(\"div\",\"mapboxgl-user-location-accuracy-circle\"),this._accuracyCircleMarker=new Wi({element:this._circleElement,pitchAlignment:\"map\"}),this.options.trackUserLocation&&(this._watchState=\"OFF\"),this._map.on(\"zoom\",this._onZoom)),this._geolocateButton.addEventListener(\"click\",this.trigger.bind(this)),this._setup=!0,this.options.trackUserLocation&&this._map.on(\"movestart\",(function(e){var r=e.originalEvent&&\"resize\"===e.originalEvent.type;e.geolocateSource||\"ACTIVE_LOCK\"!==n._watchState||r||(n._watchState=\"BACKGROUND\",n._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-background\"),n._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active\"),n.fire(new t.Event(\"trackuserlocationend\")))}))},n.prototype.trigger=function(){if(!this._setup)return t.warnOnce(\"Geolocate control triggered before added to a map\"),!1;if(this.options.trackUserLocation){switch(this._watchState){case\"OFF\":this._watchState=\"WAITING_ACTIVE\",this.fire(new t.Event(\"trackuserlocationstart\"));break;case\"WAITING_ACTIVE\":case\"ACTIVE_LOCK\":case\"ACTIVE_ERROR\":case\"BACKGROUND_ERROR\":Xi--,Zi=!1,this._watchState=\"OFF\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background-error\"),this.fire(new t.Event(\"trackuserlocationend\"));break;case\"BACKGROUND\":this._watchState=\"ACTIVE_LOCK\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background\"),this._lastKnownPosition&&this._updateCamera(this._lastKnownPosition),this.fire(new t.Event(\"trackuserlocationstart\"))}switch(this._watchState){case\"WAITING_ACTIVE\":this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-active\");break;case\"ACTIVE_LOCK\":this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-active\");break;case\"ACTIVE_ERROR\":this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-active-error\");break;case\"BACKGROUND\":this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-background\");break;case\"BACKGROUND_ERROR\":this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-background-error\")}if(\"OFF\"===this._watchState&&void 0!==this._geolocationWatchID)this._clearWatch();else if(void 0===this._geolocationWatchID){var e;this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.setAttribute(\"aria-pressed\",\"true\"),++Xi>1?(e={maximumAge:6e5,timeout:0},Zi=!0):(e=this.options.positionOptions,Zi=!1),this._geolocationWatchID=t.window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,e)}}else t.window.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,this.options.positionOptions),this._timeoutId=setTimeout(this._finish,1e4);return!0},n.prototype._clearWatch=function(){t.window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0,this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.setAttribute(\"aria-pressed\",\"false\"),this.options.showUserLocation&&this._updateMarker(null)},n}(t.Evented),Ji={maxWidth:100,unit:\"metric\"},$i=function(e){this.options=t.extend({},Ji,e),t.bindAll([\"_onMove\",\"setUnit\"],this)};function Qi(t,e,r){var n=r&&r.maxWidth||100,i=t._container.clientHeight/2,a=t.unproject([0,i]),o=t.unproject([n,i]),s=a.distanceTo(o);if(r&&\"imperial\"===r.unit){var l=3.2808*s;l>5280?ta(e,n,l/5280,t._getUIString(\"ScaleControl.Miles\")):ta(e,n,l,t._getUIString(\"ScaleControl.Feet\"))}else r&&\"nautical\"===r.unit?ta(e,n,s/1852,t._getUIString(\"ScaleControl.NauticalMiles\")):s>=1e3?ta(e,n,s/1e3,t._getUIString(\"ScaleControl.Kilometers\")):ta(e,n,s,t._getUIString(\"ScaleControl.Meters\"))}function ta(t,e,r,n){var i,a,o,s=(i=r,(a=Math.pow(10,(\"\"+Math.floor(i)).length-1))*((o=i/a)>=10?10:o>=5?5:o>=3?3:o>=2?2:o>=1?1:function(t){var e=Math.pow(10,Math.ceil(-Math.log(t)/Math.LN10));return Math.round(t*e)/e}(o))),l=s/r;t.style.width=e*l+\"px\",t.innerHTML=s+\" \"+n}$i.prototype.getDefaultPosition=function(){return\"bottom-left\"},$i.prototype._onMove=function(){Qi(this._map,this._container,this.options)},$i.prototype.onAdd=function(t){return this._map=t,this._container=r.create(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-scale\",t.getContainer()),this._map.on(\"move\",this._onMove),this._onMove(),this._container},$i.prototype.onRemove=function(){r.remove(this._container),this._map.off(\"move\",this._onMove),this._map=void 0},$i.prototype.setUnit=function(t){this.options.unit=t,Qi(this._map,this._container,this.options)};var ea=function(e){this._fullscreen=!1,e&&e.container&&(e.container instanceof t.window.HTMLElement?this._container=e.container:t.warnOnce(\"Full screen control 'container' must be a DOM element.\")),t.bindAll([\"_onClickFullscreen\",\"_changeIcon\"],this),\"onfullscreenchange\"in t.window.document?this._fullscreenchange=\"fullscreenchange\":\"onmozfullscreenchange\"in t.window.document?this._fullscreenchange=\"mozfullscreenchange\":\"onwebkitfullscreenchange\"in t.window.document?this._fullscreenchange=\"webkitfullscreenchange\":\"onmsfullscreenchange\"in t.window.document&&(this._fullscreenchange=\"MSFullscreenChange\")};ea.prototype.onAdd=function(e){return this._map=e,this._container||(this._container=this._map.getContainer()),this._controlContainer=r.create(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-group\"),this._checkFullscreenSupport()?this._setupUI():(this._controlContainer.style.display=\"none\",t.warnOnce(\"This device does not support fullscreen mode.\")),this._controlContainer},ea.prototype.onRemove=function(){r.remove(this._controlContainer),this._map=null,t.window.document.removeEventListener(this._fullscreenchange,this._changeIcon)},ea.prototype._checkFullscreenSupport=function(){return!!(t.window.document.fullscreenEnabled||t.window.document.mozFullScreenEnabled||t.window.document.msFullscreenEnabled||t.window.document.webkitFullscreenEnabled)},ea.prototype._setupUI=function(){var e=this._fullscreenButton=r.create(\"button\",\"mapboxgl-ctrl-fullscreen\",this._controlContainer);r.create(\"span\",\"mapboxgl-ctrl-icon\",e).setAttribute(\"aria-hidden\",!0),e.type=\"button\",this._updateTitle(),this._fullscreenButton.addEventListener(\"click\",this._onClickFullscreen),t.window.document.addEventListener(this._fullscreenchange,this._changeIcon)},ea.prototype._updateTitle=function(){var t=this._getTitle();this._fullscreenButton.setAttribute(\"aria-label\",t),this._fullscreenButton.title=t},ea.prototype._getTitle=function(){return this._map._getUIString(this._isFullscreen()?\"FullscreenControl.Exit\":\"FullscreenControl.Enter\")},ea.prototype._isFullscreen=function(){return this._fullscreen},ea.prototype._changeIcon=function(){(t.window.document.fullscreenElement||t.window.document.mozFullScreenElement||t.window.document.webkitFullscreenElement||t.window.document.msFullscreenElement)===this._container!==this._fullscreen&&(this._fullscreen=!this._fullscreen,this._fullscreenButton.classList.toggle(\"mapboxgl-ctrl-shrink\"),this._fullscreenButton.classList.toggle(\"mapboxgl-ctrl-fullscreen\"),this._updateTitle())},ea.prototype._onClickFullscreen=function(){this._isFullscreen()?t.window.document.exitFullscreen?t.window.document.exitFullscreen():t.window.document.mozCancelFullScreen?t.window.document.mozCancelFullScreen():t.window.document.msExitFullscreen?t.window.document.msExitFullscreen():t.window.document.webkitCancelFullScreen&&t.window.document.webkitCancelFullScreen():this._container.requestFullscreen?this._container.requestFullscreen():this._container.mozRequestFullScreen?this._container.mozRequestFullScreen():this._container.msRequestFullscreen?this._container.msRequestFullscreen():this._container.webkitRequestFullscreen&&this._container.webkitRequestFullscreen()};var ra={closeButton:!0,closeOnClick:!0,focusAfterOpen:!0,className:\"\",maxWidth:\"240px\"},na=[\"a[href]\",\"[tabindex]:not([tabindex='-1'])\",\"[contenteditable]:not([contenteditable='false'])\",\"button:not([disabled])\",\"input:not([disabled])\",\"select:not([disabled])\",\"textarea:not([disabled])\"].join(\", \"),ia=function(e){function n(r){e.call(this),this.options=t.extend(Object.create(ra),r),t.bindAll([\"_update\",\"_onClose\",\"remove\",\"_onMouseMove\",\"_onMouseUp\",\"_onDrag\"],this)}return e&&(n.__proto__=e),n.prototype=Object.create(e&&e.prototype),n.prototype.constructor=n,n.prototype.addTo=function(e){return this._map&&this.remove(),this._map=e,this.options.closeOnClick&&this._map.on(\"click\",this._onClose),this.options.closeOnMove&&this._map.on(\"move\",this._onClose),this._map.on(\"remove\",this.remove),this._update(),this._focusFirstElement(),this._trackPointer?(this._map.on(\"mousemove\",this._onMouseMove),this._map.on(\"mouseup\",this._onMouseUp),this._container&&this._container.classList.add(\"mapboxgl-popup-track-pointer\"),this._map._canvasContainer.classList.add(\"mapboxgl-track-pointer\")):this._map.on(\"move\",this._update),this.fire(new t.Event(\"open\")),this},n.prototype.isOpen=function(){return!!this._map},n.prototype.remove=function(){return this._content&&r.remove(this._content),this._container&&(r.remove(this._container),delete this._container),this._map&&(this._map.off(\"move\",this._update),this._map.off(\"move\",this._onClose),this._map.off(\"click\",this._onClose),this._map.off(\"remove\",this.remove),this._map.off(\"mousemove\",this._onMouseMove),this._map.off(\"mouseup\",this._onMouseUp),this._map.off(\"drag\",this._onDrag),delete this._map),this.fire(new t.Event(\"close\")),this},n.prototype.getLngLat=function(){return this._lngLat},n.prototype.setLngLat=function(e){return this._lngLat=t.LngLat.convert(e),this._pos=null,this._trackPointer=!1,this._update(),this._map&&(this._map.on(\"move\",this._update),this._map.off(\"mousemove\",this._onMouseMove),this._container&&this._container.classList.remove(\"mapboxgl-popup-track-pointer\"),this._map._canvasContainer.classList.remove(\"mapboxgl-track-pointer\")),this},n.prototype.trackPointer=function(){return this._trackPointer=!0,this._pos=null,this._update(),this._map&&(this._map.off(\"move\",this._update),this._map.on(\"mousemove\",this._onMouseMove),this._map.on(\"drag\",this._onDrag),this._container&&this._container.classList.add(\"mapboxgl-popup-track-pointer\"),this._map._canvasContainer.classList.add(\"mapboxgl-track-pointer\")),this},n.prototype.getElement=function(){return this._container},n.prototype.setText=function(e){return this.setDOMContent(t.window.document.createTextNode(e))},n.prototype.setHTML=function(e){var r,n=t.window.document.createDocumentFragment(),i=t.window.document.createElement(\"body\");for(i.innerHTML=e;r=i.firstChild;)n.appendChild(r);return this.setDOMContent(n)},n.prototype.getMaxWidth=function(){return this._container&&this._container.style.maxWidth},n.prototype.setMaxWidth=function(t){return this.options.maxWidth=t,this._update(),this},n.prototype.setDOMContent=function(t){if(this._content)for(;this._content.hasChildNodes();)this._content.firstChild&&this._content.removeChild(this._content.firstChild);else this._content=r.create(\"div\",\"mapboxgl-popup-content\",this._container);return this._content.appendChild(t),this._createCloseButton(),this._update(),this._focusFirstElement(),this},n.prototype.addClassName=function(t){this._container&&this._container.classList.add(t)},n.prototype.removeClassName=function(t){this._container&&this._container.classList.remove(t)},n.prototype.setOffset=function(t){return this.options.offset=t,this._update(),this},n.prototype.toggleClassName=function(t){if(this._container)return this._container.classList.toggle(t)},n.prototype._createCloseButton=function(){this.options.closeButton&&(this._closeButton=r.create(\"button\",\"mapboxgl-popup-close-button\",this._content),this._closeButton.type=\"button\",this._closeButton.setAttribute(\"aria-label\",\"Close popup\"),this._closeButton.innerHTML=\"×\",this._closeButton.addEventListener(\"click\",this._onClose))},n.prototype._onMouseUp=function(t){this._update(t.point)},n.prototype._onMouseMove=function(t){this._update(t.point)},n.prototype._onDrag=function(t){this._update(t.point)},n.prototype._update=function(t){var e=this,n=this._lngLat||this._trackPointer;if(this._map&&n&&this._content&&(this._container||(this._container=r.create(\"div\",\"mapboxgl-popup\",this._map.getContainer()),this._tip=r.create(\"div\",\"mapboxgl-popup-tip\",this._container),this._container.appendChild(this._content),this.options.className&&this.options.className.split(\" \").forEach((function(t){return e._container.classList.add(t)})),this._trackPointer&&this._container.classList.add(\"mapboxgl-popup-track-pointer\")),this.options.maxWidth&&this._container.style.maxWidth!==this.options.maxWidth&&(this._container.style.maxWidth=this.options.maxWidth),this._map.transform.renderWorldCopies&&!this._trackPointer&&(this._lngLat=Vi(this._lngLat,this._pos,this._map.transform)),!this._trackPointer||t)){var i=this._pos=this._trackPointer&&t?t:this._map.project(this._lngLat),a=this.options.anchor,o=aa(this.options.offset);if(!a){var s,l=this._container.offsetWidth,u=this._container.offsetHeight;s=i.y+o.bottom.ythis._map.transform.height-u?[\"bottom\"]:[],i.xthis._map.transform.width-l/2&&s.push(\"right\"),a=0===s.length?\"bottom\":s.join(\"-\")}var c=i.add(o[a]).round();r.setTransform(this._container,qi[a]+\" translate(\"+c.x+\"px,\"+c.y+\"px)\"),Hi(this._container,a,\"popup\")}},n.prototype._focusFirstElement=function(){if(this.options.focusAfterOpen&&this._container){var t=this._container.querySelector(na);t&&t.focus()}},n.prototype._onClose=function(){this.remove()},n}(t.Evented);function aa(e){if(e){if(\"number\"==typeof e){var r=Math.round(Math.sqrt(.5*Math.pow(e,2)));return{center:new t.Point(0,0),top:new t.Point(0,e),\"top-left\":new t.Point(r,r),\"top-right\":new t.Point(-r,r),bottom:new t.Point(0,-e),\"bottom-left\":new t.Point(r,-r),\"bottom-right\":new t.Point(-r,-r),left:new t.Point(e,0),right:new t.Point(-e,0)}}if(e instanceof t.Point||Array.isArray(e)){var n=t.Point.convert(e);return{center:n,top:n,\"top-left\":n,\"top-right\":n,bottom:n,\"bottom-left\":n,\"bottom-right\":n,left:n,right:n}}return{center:t.Point.convert(e.center||[0,0]),top:t.Point.convert(e.top||[0,0]),\"top-left\":t.Point.convert(e[\"top-left\"]||[0,0]),\"top-right\":t.Point.convert(e[\"top-right\"]||[0,0]),bottom:t.Point.convert(e.bottom||[0,0]),\"bottom-left\":t.Point.convert(e[\"bottom-left\"]||[0,0]),\"bottom-right\":t.Point.convert(e[\"bottom-right\"]||[0,0]),left:t.Point.convert(e.left||[0,0]),right:t.Point.convert(e.right||[0,0])}}return aa(new t.Point(0,0))}var oa={version:t.version,supported:e,setRTLTextPlugin:t.setRTLTextPlugin,getRTLTextPluginStatus:t.getRTLTextPluginStatus,Map:Fi,NavigationControl:ji,GeolocateControl:Ki,AttributionControl:Ei,ScaleControl:$i,FullscreenControl:ea,Popup:ia,Marker:Wi,Style:Ye,LngLat:t.LngLat,LngLatBounds:t.LngLatBounds,Point:t.Point,MercatorCoordinate:t.MercatorCoordinate,Evented:t.Evented,config:t.config,prewarm:function(){jt().acquire(Rt)},clearPrewarmedResources:function(){var t=Bt;t&&(t.isPreloaded()&&1===t.numActive()?(t.release(Rt),Bt=null):console.warn(\"Could not clear WebWorkers since there are active Map instances that still reference it. The pre-warmed WebWorker pool can only be cleared when all map instances have been removed with map.remove()\"))},get accessToken(){return t.config.ACCESS_TOKEN},set accessToken(e){t.config.ACCESS_TOKEN=e},get baseApiUrl(){return t.config.API_URL},set baseApiUrl(e){t.config.API_URL=e},get workerCount(){return Ft.workerCount},set workerCount(t){Ft.workerCount=t},get maxParallelImageRequests(){return t.config.MAX_PARALLEL_IMAGE_REQUESTS},set maxParallelImageRequests(e){t.config.MAX_PARALLEL_IMAGE_REQUESTS=e},clearStorage:function(e){t.clearTileCache(e)},workerUrl:\"\"};return oa})),r}()},3108:function(t,e,r){\"use strict\";t.exports=r(26099)},26099:function(t,e,r){\"use strict\";var n=r(64928),i=r(32420),a=r(51160),o=r(76752),s=r(55616),l=r(31264),u=r(47520),c=r(18400),f=r(72512),h=r(76244);function p(t,e){for(var r=e[0],n=e[1],a=1/(e[2]-r),o=1/(e[3]-n),s=new Array(t.length),l=0,u=t.length/2;l>>1;e.dtype||(e.dtype=\"array\"),\"string\"==typeof e.dtype?d=new(f(e.dtype))(g):e.dtype&&(d=e.dtype,Array.isArray(d)&&(d.length=g));for(var y=0;yr||s>1073741824){for(var h=0;hr+i||M>n+i||S=C||o===s)){var l=m[a];void 0===s&&(s=l.length);for(var u=o;u=g&&f<=w&&h>=y&&h<=T&&P.push(c)}var p=x[a],d=p[4*o+0],v=p[4*o+1],b=p[4*o+2],_=p[4*o+3],k=function(t,e){for(var r=null,n=0;null===r;)if(r=t[4*e+n],++n>t.length)return null;return r}(p,o+1),E=.5*i,O=a+1;e(r,n,E,O,d,v||b||_||k),e(r,n+E,E,O,v,b||_||k),e(r+E,n,E,O,b,_||k),e(r+E,n+E,E,O,_,k)}}(0,0,1,0,0,1),P},d;function E(t,e,r){for(var n=1,i=.5,a=.5,o=.5,s=0;s0){e+=Math.abs(o(t[0]));for(var r=1;r2){for(l=0;l=0))throw new Error(\"precision must be a positive number\");var r=Math.pow(10,e||0);return Math.round(t*r)/r},e.radiansToLength=c,e.lengthToRadians=f,e.lengthToDegrees=function(t,e){return h(f(t,e))},e.bearingToAzimuth=function(t){var e=t%360;return e<0&&(e+=360),e},e.radiansToDegrees=h,e.degreesToRadians=function(t){return t%360*Math.PI/180},e.convertLength=function(t,e,r){if(void 0===e&&(e=\"kilometers\"),void 0===r&&(r=\"kilometers\"),!(t>=0))throw new Error(\"length must be a positive number\");return c(f(t,e),r)},e.convertArea=function(t,r,n){if(void 0===r&&(r=\"meters\"),void 0===n&&(n=\"kilometers\"),!(t>=0))throw new Error(\"area must be a positive number\");var i=e.areaFactors[r];if(!i)throw new Error(\"invalid original units\");var a=e.areaFactors[n];if(!a)throw new Error(\"invalid final units\");return t/i*a},e.isNumber=p,e.isObject=function(t){return!!t&&t.constructor===Object},e.validateBBox=function(t){if(!t)throw new Error(\"bbox is required\");if(!Array.isArray(t))throw new Error(\"bbox must be an Array\");if(4!==t.length&&6!==t.length)throw new Error(\"bbox must be an Array of 4 or 6 numbers\");t.forEach((function(t){if(!p(t))throw new Error(\"bbox must only contain numbers\")}))},e.validateId=function(t){if(!t)throw new Error(\"id is required\");if(-1===[\"string\",\"number\"].indexOf(typeof t))throw new Error(\"id must be a number or a string\")}},3256:function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var n=r(46284);function i(t,e,r){if(null!==t)for(var n,a,o,s,l,u,c,f,h=0,p=0,d=t.type,v=\"FeatureCollection\"===d,g=\"Feature\"===d,y=v?t.features.length:1,m=0;mu||p>c||d>f)return l=i,u=r,c=p,f=d,void(o=0);var v=n.lineString([l,i],t.properties);if(!1===e(v,r,a,d,o))return!1;o++,l=i}))&&void 0}}}))}function c(t,e){if(!t)throw new Error(\"geojson is required\");l(t,(function(t,r,i){if(null!==t.geometry){var a=t.geometry.type,o=t.geometry.coordinates;switch(a){case\"LineString\":if(!1===e(t,r,i,0,0))return!1;break;case\"Polygon\":for(var s=0;st[0]&&(e[0]=t[0]),e[1]>t[1]&&(e[1]=t[1]),e[2]=0))throw new Error(\"precision must be a positive number\");var r=Math.pow(10,e||0);return Math.round(t*r)/r},e.radiansToLength=c,e.lengthToRadians=f,e.lengthToDegrees=function(t,e){return h(f(t,e))},e.bearingToAzimuth=function(t){var e=t%360;return e<0&&(e+=360),e},e.radiansToDegrees=h,e.degreesToRadians=function(t){return t%360*Math.PI/180},e.convertLength=function(t,e,r){if(void 0===e&&(e=\"kilometers\"),void 0===r&&(r=\"kilometers\"),!(t>=0))throw new Error(\"length must be a positive number\");return c(f(t,e),r)},e.convertArea=function(t,r,n){if(void 0===r&&(r=\"meters\"),void 0===n&&(n=\"kilometers\"),!(t>=0))throw new Error(\"area must be a positive number\");var i=e.areaFactors[r];if(!i)throw new Error(\"invalid original units\");var a=e.areaFactors[n];if(!a)throw new Error(\"invalid final units\");return t/i*a},e.isNumber=p,e.isObject=function(t){return!!t&&t.constructor===Object},e.validateBBox=function(t){if(!t)throw new Error(\"bbox is required\");if(!Array.isArray(t))throw new Error(\"bbox must be an Array\");if(4!==t.length&&6!==t.length)throw new Error(\"bbox must be an Array of 4 or 6 numbers\");t.forEach((function(t){if(!p(t))throw new Error(\"bbox must only contain numbers\")}))},e.validateId=function(t){if(!t)throw new Error(\"id is required\");if(-1===[\"string\",\"number\"].indexOf(typeof t))throw new Error(\"id must be a number or a string\")}},84880:function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var n=r(76796);function i(t,e,r){if(null!==t)for(var n,a,o,s,l,u,c,f,h=0,p=0,d=t.type,v=\"FeatureCollection\"===d,g=\"Feature\"===d,y=v?t.features.length:1,m=0;mu||p>c||d>f)return l=i,u=r,c=p,f=d,void(o=0);var v=n.lineString([l,i],t.properties);if(!1===e(v,r,a,d,o))return!1;o++,l=i}))&&void 0}}}))}function c(t,e){if(!t)throw new Error(\"geojson is required\");l(t,(function(t,r,i){if(null!==t.geometry){var a=t.geometry.type,o=t.geometry.coordinates;switch(a){case\"LineString\":if(!1===e(t,r,i,0,0))return!1;break;case\"Polygon\":for(var s=0;s=0))throw new Error(\"precision must be a positive number\");var r=Math.pow(10,e||0);return Math.round(t*r)/r},e.radiansToLength=c,e.lengthToRadians=f,e.lengthToDegrees=function(t,e){return h(f(t,e))},e.bearingToAzimuth=function(t){var e=t%360;return e<0&&(e+=360),e},e.radiansToDegrees=h,e.degreesToRadians=function(t){return t%360*Math.PI/180},e.convertLength=function(t,e,r){if(void 0===e&&(e=\"kilometers\"),void 0===r&&(r=\"kilometers\"),!(t>=0))throw new Error(\"length must be a positive number\");return c(f(t,e),r)},e.convertArea=function(t,r,n){if(void 0===r&&(r=\"meters\"),void 0===n&&(n=\"kilometers\"),!(t>=0))throw new Error(\"area must be a positive number\");var i=e.areaFactors[r];if(!i)throw new Error(\"invalid original units\");var a=e.areaFactors[n];if(!a)throw new Error(\"invalid final units\");return t/i*a},e.isNumber=p,e.isObject=function(t){return!!t&&t.constructor===Object},e.validateBBox=function(t){if(!t)throw new Error(\"bbox is required\");if(!Array.isArray(t))throw new Error(\"bbox must be an Array\");if(4!==t.length&&6!==t.length)throw new Error(\"bbox must be an Array of 4 or 6 numbers\");t.forEach((function(t){if(!p(t))throw new Error(\"bbox must only contain numbers\")}))},e.validateId=function(t){if(!t)throw new Error(\"id is required\");if(-1===[\"string\",\"number\"].indexOf(typeof t))throw new Error(\"id must be a number or a string\")},e.radians2degrees=function(){throw new Error(\"method has been renamed to `radiansToDegrees`\")},e.degrees2radians=function(){throw new Error(\"method has been renamed to `degreesToRadians`\")},e.distanceToDegrees=function(){throw new Error(\"method has been renamed to `lengthToDegrees`\")},e.distanceToRadians=function(){throw new Error(\"method has been renamed to `lengthToRadians`\")},e.radiansToDistance=function(){throw new Error(\"method has been renamed to `radiansToLength`\")},e.bearingToAngle=function(){throw new Error(\"method has been renamed to `bearingToAzimuth`\")},e.convertDistance=function(){throw new Error(\"method has been renamed to `convertLength`\")}},43752:function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var n=r(49840);function i(t,e,r){if(null!==t)for(var n,a,o,s,l,u,c,f,h=0,p=0,d=t.type,v=\"FeatureCollection\"===d,g=\"Feature\"===d,y=v?t.features.length:1,m=0;mu||p>c||d>f)return l=i,u=r,c=p,f=d,void(o=0);var v=n.lineString([l,i],t.properties);if(!1===e(v,r,a,d,o))return!1;o++,l=i}))&&void 0}}}))}function c(t,e){if(!t)throw new Error(\"geojson is required\");l(t,(function(t,r,i){if(null!==t.geometry){var a=t.geometry.type,o=t.geometry.coordinates;switch(a){case\"LineString\":if(!1===e(t,r,i,0,0))return!1;break;case\"Polygon\":for(var s=0;si&&(i=t[o]),t[o]1?r-1:0),i=1;i1?r-1:0),i=1;i1?r-1:0),i=1;i1?r-1:0),i=1;it.length)&&(r=t.length),t.substring(r-e.length,r)===e}var g=\"\",y=\"\",m=\"\",x=\"\",b={deepStrictEqual:\"Expected values to be strictly deep-equal:\",strictEqual:\"Expected values to be strictly equal:\",strictEqualObject:'Expected \"actual\" to be reference-equal to \"expected\":',deepEqual:\"Expected values to be loosely deep-equal:\",equal:\"Expected values to be loosely equal:\",notDeepStrictEqual:'Expected \"actual\" not to be strictly deep-equal to:',notStrictEqual:'Expected \"actual\" to be strictly unequal to:',notStrictEqualObject:'Expected \"actual\" not to be reference-equal to \"expected\":',notDeepEqual:'Expected \"actual\" not to be loosely deep-equal to:',notEqual:'Expected \"actual\" to be loosely unequal to:',notIdentical:\"Values identical but not reference-equal:\"};function _(t){var e=Object.keys(t),r=Object.create(Object.getPrototypeOf(t));return e.forEach((function(e){r[e]=t[e]})),Object.defineProperty(r,\"message\",{value:t.message}),r}function w(t){return p(t,{compact:!1,customInspect:!1,depth:1e3,maxArrayLength:1/0,showHidden:!1,breakLength:1/0,showProxy:!1,sorted:!0,getters:!0})}var T=function(t){function e(t){var r;if(function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,e),\"object\"!==h(t)||null===t)throw new d(\"options\",\"Object\",t);var i=t.message,a=t.operator,l=t.stackStartFn,u=t.actual,c=t.expected,p=Error.stackTraceLimit;if(Error.stackTraceLimit=0,null!=i)r=o(this,f(e).call(this,String(i)));else if(n.stderr&&n.stderr.isTTY&&(n.stderr&&n.stderr.getColorDepth&&1!==n.stderr.getColorDepth()?(g=\"\u001b[34m\",y=\"\u001b[32m\",x=\"\u001b[39m\",m=\"\u001b[31m\"):(g=\"\",y=\"\",x=\"\",m=\"\")),\"object\"===h(u)&&null!==u&&\"object\"===h(c)&&null!==c&&\"stack\"in u&&u instanceof Error&&\"stack\"in c&&c instanceof Error&&(u=_(u),c=_(c)),\"deepStrictEqual\"===a||\"strictEqual\"===a)r=o(this,f(e).call(this,function(t,e,r){var i=\"\",a=\"\",o=0,s=\"\",l=!1,u=w(t),c=u.split(\"\\n\"),f=w(e).split(\"\\n\"),p=0,d=\"\";if(\"strictEqual\"===r&&\"object\"===h(t)&&\"object\"===h(e)&&null!==t&&null!==e&&(r=\"strictEqualObject\"),1===c.length&&1===f.length&&c[0]!==f[0]){var _=c[0].length+f[0].length;if(_<=10){if(!(\"object\"===h(t)&&null!==t||\"object\"===h(e)&&null!==e||0===t&&0===e))return\"\".concat(b[r],\"\\n\\n\")+\"\".concat(c[0],\" !== \").concat(f[0],\"\\n\")}else if(\"strictEqualObject\"!==r&&_<(n.stderr&&n.stderr.isTTY?n.stderr.columns:80)){for(;c[0][p]===f[0][p];)p++;p>2&&(d=\"\\n \".concat(function(t,e){if(e=Math.floor(e),0==t.length||0==e)return\"\";var r=t.length*e;for(e=Math.floor(Math.log(e)/Math.log(2));e;)t+=t,e--;return t+t.substring(0,r-t.length)}(\" \",p),\"^\"),p=0)}}for(var T=c[c.length-1],k=f[f.length-1];T===k&&(p++<2?s=\"\\n \".concat(T).concat(s):i=T,c.pop(),f.pop(),0!==c.length&&0!==f.length);)T=c[c.length-1],k=f[f.length-1];var A=Math.max(c.length,f.length);if(0===A){var M=u.split(\"\\n\");if(M.length>30)for(M[26]=\"\".concat(g,\"...\").concat(x);M.length>27;)M.pop();return\"\".concat(b.notIdentical,\"\\n\\n\").concat(M.join(\"\\n\"),\"\\n\")}p>3&&(s=\"\\n\".concat(g,\"...\").concat(x).concat(s),l=!0),\"\"!==i&&(s=\"\\n \".concat(i).concat(s),i=\"\");var S=0,E=b[r]+\"\\n\".concat(y,\"+ actual\").concat(x,\" \").concat(m,\"- expected\").concat(x),L=\" \".concat(g,\"...\").concat(x,\" Lines skipped\");for(p=0;p1&&p>2&&(C>4?(a+=\"\\n\".concat(g,\"...\").concat(x),l=!0):C>3&&(a+=\"\\n \".concat(f[p-2]),S++),a+=\"\\n \".concat(f[p-1]),S++),o=p,i+=\"\\n\".concat(m,\"-\").concat(x,\" \").concat(f[p]),S++;else if(f.length1&&p>2&&(C>4?(a+=\"\\n\".concat(g,\"...\").concat(x),l=!0):C>3&&(a+=\"\\n \".concat(c[p-2]),S++),a+=\"\\n \".concat(c[p-1]),S++),o=p,a+=\"\\n\".concat(y,\"+\").concat(x,\" \").concat(c[p]),S++;else{var P=f[p],O=c[p],I=O!==P&&(!v(O,\",\")||O.slice(0,-1)!==P);I&&v(P,\",\")&&P.slice(0,-1)===O&&(I=!1,O+=\",\"),I?(C>1&&p>2&&(C>4?(a+=\"\\n\".concat(g,\"...\").concat(x),l=!0):C>3&&(a+=\"\\n \".concat(c[p-2]),S++),a+=\"\\n \".concat(c[p-1]),S++),o=p,a+=\"\\n\".concat(y,\"+\").concat(x,\" \").concat(O),i+=\"\\n\".concat(m,\"-\").concat(x,\" \").concat(P),S+=2):(a+=i,i=\"\",1!==C&&0!==p||(a+=\"\\n \".concat(O),S++))}if(S>20&&p30)for(k[26]=\"\".concat(g,\"...\").concat(x);k.length>27;)k.pop();r=1===k.length?o(this,f(e).call(this,\"\".concat(T,\" \").concat(k[0]))):o(this,f(e).call(this,\"\".concat(T,\"\\n\\n\").concat(k.join(\"\\n\"),\"\\n\")))}else{var A=w(u),M=\"\",S=b[a];\"notDeepEqual\"===a||\"notEqual\"===a?(A=\"\".concat(b[a],\"\\n\\n\").concat(A)).length>1024&&(A=\"\".concat(A.slice(0,1021),\"...\")):(M=\"\".concat(w(c)),A.length>512&&(A=\"\".concat(A.slice(0,509),\"...\")),M.length>512&&(M=\"\".concat(M.slice(0,509),\"...\")),\"deepEqual\"===a||\"equal\"===a?A=\"\".concat(S,\"\\n\\n\").concat(A,\"\\n\\nshould equal\\n\\n\"):M=\" \".concat(a,\" \").concat(M)),r=o(this,f(e).call(this,\"\".concat(A).concat(M)))}return Error.stackTraceLimit=p,r.generatedMessage=!i,Object.defineProperty(s(r),\"name\",{value:\"AssertionError [ERR_ASSERTION]\",enumerable:!1,writable:!0,configurable:!0}),r.code=\"ERR_ASSERTION\",r.actual=u,r.expected=c,r.operator=a,Error.captureStackTrace&&Error.captureStackTrace(s(r),l),r.stack,r.name=\"AssertionError\",o(r)}var r,l;return function(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function\");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&c(t,e)}(e,t),r=e,l=[{key:\"toString\",value:function(){return\"\".concat(this.name,\" [\").concat(this.code,\"]: \").concat(this.message)}},{key:p.custom,value:function(t,e){return p(this,function(t){for(var e=1;e2?\"one of \".concat(e,\" \").concat(t.slice(0,r-1).join(\", \"),\", or \")+t[r-1]:2===r?\"one of \".concat(e,\" \").concat(t[0],\" or \").concat(t[1]):\"of \".concat(e,\" \").concat(t[0])}return\"of \".concat(e,\" \").concat(String(t))}u(\"ERR_AMBIGUOUS_ARGUMENT\",'The \"%s\" argument is ambiguous. %s',TypeError),u(\"ERR_INVALID_ARG_TYPE\",(function(t,e,i){var a,s,l,u,f;if(void 0===o&&(o=r(45408)),o(\"string\"==typeof t,\"'name' must be a string\"),\"string\"==typeof e&&(s=\"not \",e.substr(0,4)===s)?(a=\"must not be\",e=e.replace(/^not /,\"\")):a=\"must be\",function(t,e,r){return(void 0===r||r>t.length)&&(r=t.length),t.substring(r-9,r)===e}(t,\" argument\"))l=\"The \".concat(t,\" \").concat(a,\" \").concat(c(e,\"type\"));else{var h=(\"number\"!=typeof f&&(f=0),f+1>(u=t).length||-1===u.indexOf(\".\",f)?\"argument\":\"property\");l='The \"'.concat(t,'\" ').concat(h,\" \").concat(a,\" \").concat(c(e,\"type\"))}return l+\". Received type \".concat(n(i))}),TypeError),u(\"ERR_INVALID_ARG_VALUE\",(function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:\"is invalid\";void 0===s&&(s=r(35840));var i=s.inspect(e);return i.length>128&&(i=\"\".concat(i.slice(0,128),\"...\")),\"The argument '\".concat(t,\"' \").concat(n,\". Received \").concat(i)}),TypeError,RangeError),u(\"ERR_INVALID_RETURN_VALUE\",(function(t,e,r){var i;return i=r&&r.constructor&&r.constructor.name?\"instance of \".concat(r.constructor.name):\"type \".concat(n(r)),\"Expected \".concat(t,' to be returned from the \"').concat(e,'\"')+\" function but got \".concat(i,\".\")}),TypeError),u(\"ERR_MISSING_ARGS\",(function(){for(var t=arguments.length,e=new Array(t),n=0;n0,\"At least one arg needs to be specified\");var i=\"The \",a=e.length;switch(e=e.map((function(t){return'\"'.concat(t,'\"')})),a){case 1:i+=\"\".concat(e[0],\" argument\");break;case 2:i+=\"\".concat(e[0],\" and \").concat(e[1],\" arguments\");break;default:i+=e.slice(0,a-1).join(\", \"),i+=\", and \".concat(e[a-1],\" arguments\")}return\"\".concat(i,\" must be specified\")}),TypeError),t.exports.codes=l},25116:function(t,e,r){\"use strict\";function n(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var r=[],n=!0,i=!1,a=void 0;try{for(var o,s=t[Symbol.iterator]();!(n=(o=s.next()).done)&&(r.push(o.value),!e||r.length!==e);n=!0);}catch(t){i=!0,a=t}finally{try{n||null==s.return||s.return()}finally{if(i)throw a}}return r}(t,e)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance\")}()}function i(t){return i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},i(t)}var a=void 0!==/a/g.flags,o=function(t){var e=[];return t.forEach((function(t){return e.push(t)})),e},s=function(t){var e=[];return t.forEach((function(t,r){return e.push([r,t])})),e},l=Object.is?Object.is:r(39896),u=Object.getOwnPropertySymbols?Object.getOwnPropertySymbols:function(){return[]},c=Number.isNaN?Number.isNaN:r(1560);function f(t){return t.call.bind(t)}var h=f(Object.prototype.hasOwnProperty),p=f(Object.prototype.propertyIsEnumerable),d=f(Object.prototype.toString),v=r(35840).types,g=v.isAnyArrayBuffer,y=v.isArrayBufferView,m=v.isDate,x=v.isMap,b=v.isRegExp,_=v.isSet,w=v.isNativeError,T=v.isBoxedPrimitive,k=v.isNumberObject,A=v.isStringObject,M=v.isBooleanObject,S=v.isBigIntObject,E=v.isSymbolObject,L=v.isFloat32Array,C=v.isFloat64Array;function P(t){if(0===t.length||t.length>10)return!0;for(var e=0;e57)return!0}return 10===t.length&&t>=Math.pow(2,32)}function O(t){return Object.keys(t).filter(P).concat(u(t).filter(Object.prototype.propertyIsEnumerable.bind(t)))}function I(t,e){if(t===e)return 0;for(var r=t.length,n=e.length,i=0,a=Math.min(r,n);i>2],a+=n[(3&r[e])<<4|r[e+1]>>4],a+=n[(15&r[e+1])<<2|r[e+2]>>6],a+=n[63&r[e+2]];return i%3==2?a=a.substring(0,a.length-1)+\"=\":i%3==1&&(a=a.substring(0,a.length-2)+\"==\"),a},s=function(t){var e,r,n,a,o,s=.75*t.length,l=t.length,u=0;\"=\"===t[t.length-1]&&(s--,\"=\"===t[t.length-2]&&s--);var c=new ArrayBuffer(s),f=new Uint8Array(c);for(e=0;e>4,f[u++]=(15&n)<<4|a>>2,f[u++]=(3&a)<<6|63&o;return c}},59968:function(t,e){\"use strict\";e.byteLength=function(t){var e=s(t),r=e[0],n=e[1];return 3*(r+n)/4-n},e.toByteArray=function(t){var e,r,a=s(t),o=a[0],l=a[1],u=new i(function(t,e,r){return 3*(e+r)/4-r}(0,o,l)),c=0,f=l>0?o-4:o;for(r=0;r>16&255,u[c++]=e>>8&255,u[c++]=255&e;return 2===l&&(e=n[t.charCodeAt(r)]<<2|n[t.charCodeAt(r+1)]>>4,u[c++]=255&e),1===l&&(e=n[t.charCodeAt(r)]<<10|n[t.charCodeAt(r+1)]<<4|n[t.charCodeAt(r+2)]>>2,u[c++]=e>>8&255,u[c++]=255&e),u},e.fromByteArray=function(t){for(var e,n=t.length,i=n%3,a=[],o=16383,s=0,u=n-i;su?u:s+o));return 1===i?(e=t[n-1],a.push(r[e>>2]+r[e<<4&63]+\"==\")):2===i&&(e=(t[n-2]<<8)+t[n-1],a.push(r[e>>10]+r[e>>4&63]+r[e<<2&63]+\"=\")),a.join(\"\")};for(var r=[],n=[],i=\"undefined\"!=typeof Uint8Array?Uint8Array:Array,a=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",o=0;o<64;++o)r[o]=a[o],n[a.charCodeAt(o)]=o;function s(t){var e=t.length;if(e%4>0)throw new Error(\"Invalid string. Length must be a multiple of 4\");var r=t.indexOf(\"=\");return-1===r&&(r=e),[r,r===e?0:4-r%4]}function l(t,e,n){for(var i,a,o=[],s=e;s>18&63]+r[a>>12&63]+r[a>>6&63]+r[63&a]);return o.join(\"\")}n[\"-\".charCodeAt(0)]=62,n[\"_\".charCodeAt(0)]=63},64928:function(t){\"use strict\";function e(t,e,r,n,i){for(var a=i+1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)>=0?(a=o,i=o-1):n=o+1}return a}function r(t,e,r,n,i){for(var a=i+1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)>0?(a=o,i=o-1):n=o+1}return a}function n(t,e,r,n,i){for(var a=n-1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)<0?(a=o,n=o+1):i=o-1}return a}function i(t,e,r,n,i){for(var a=n-1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)<=0?(a=o,n=o+1):i=o-1}return a}function a(t,e,r,n,i){for(;n<=i;){var a=n+i>>>1,o=t[a],s=void 0!==r?r(o,e):o-e;if(0===s)return a;s<=0?n=a+1:i=a-1}return-1}function o(t,e,r,n,i,a){return\"function\"==typeof r?a(t,e,r,void 0===n?0:0|n,void 0===i?t.length-1:0|i):a(t,e,void 0,void 0===r?0:0|r,void 0===n?t.length-1:0|n)}t.exports={ge:function(t,r,n,i,a){return o(t,r,n,i,a,e)},gt:function(t,e,n,i,a){return o(t,e,n,i,a,r)},lt:function(t,e,r,i,a){return o(t,e,r,i,a,n)},le:function(t,e,r,n,a){return o(t,e,r,n,a,i)},eq:function(t,e,r,n,i){return o(t,e,r,n,i,a)}}},308:function(t,e){\"use strict\";function r(t){var e=32;return(t&=-t)&&e--,65535&t&&(e-=16),16711935&t&&(e-=8),252645135&t&&(e-=4),858993459&t&&(e-=2),1431655765&t&&(e-=1),e}e.INT_BITS=32,e.INT_MAX=2147483647,e.INT_MIN=-1<<31,e.sign=function(t){return(t>0)-(t<0)},e.abs=function(t){var e=t>>31;return(t^e)-e},e.min=function(t,e){return e^(t^e)&-(t65535)<<4,e|=r=((t>>>=e)>255)<<3,e|=r=((t>>>=r)>15)<<2,(e|=r=((t>>>=r)>3)<<1)|(t>>>=r)>>1},e.log10=function(t){return t>=1e9?9:t>=1e8?8:t>=1e7?7:t>=1e6?6:t>=1e5?5:t>=1e4?4:t>=1e3?3:t>=100?2:t>=10?1:0},e.popCount=function(t){return 16843009*((t=(858993459&(t-=t>>>1&1431655765))+(t>>>2&858993459))+(t>>>4)&252645135)>>>24},e.countTrailingZeros=r,e.nextPow2=function(t){return t+=0===t,--t,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,1+(t|=t>>>16)},e.prevPow2=function(t){return t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)-(t>>>1)},e.parity=function(t){return t^=t>>>16,t^=t>>>8,t^=t>>>4,27030>>>(t&=15)&1};var n=new Array(256);!function(t){for(var e=0;e<256;++e){var r=e,n=e,i=7;for(r>>>=1;r;r>>>=1)n<<=1,n|=1&r,--i;t[e]=n<>>8&255]<<16|n[t>>>16&255]<<8|n[t>>>24&255]},e.interleave2=function(t,e){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t&=65535)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e&=65535)|e<<8))|e<<4))|e<<2))|e<<1))<<1},e.deinterleave2=function(t,e){return(t=65535&((t=16711935&((t=252645135&((t=858993459&((t=t>>>e&1431655765)|t>>>1))|t>>>2))|t>>>4))|t>>>16))<<16>>16},e.interleave3=function(t,e,r){return t=1227133513&((t=3272356035&((t=251719695&((t=4278190335&((t&=1023)|t<<16))|t<<8))|t<<4))|t<<2),(t|=(e=1227133513&((e=3272356035&((e=251719695&((e=4278190335&((e&=1023)|e<<16))|e<<8))|e<<4))|e<<2))<<1)|(r=1227133513&((r=3272356035&((r=251719695&((r=4278190335&((r&=1023)|r<<16))|r<<8))|r<<4))|r<<2))<<2},e.deinterleave3=function(t,e){return(t=1023&((t=4278190335&((t=251719695&((t=3272356035&((t=t>>>e&1227133513)|t>>>2))|t>>>4))|t>>>8))|t>>>16))<<22>>22},e.nextCombination=function(t){var e=t|t-1;return e+1|(~e&-~e)-1>>>r(t)+1}},29620:function(t,e,r){\"use strict\";var n=r(32420);t.exports=function(t,e){e||(e={});var r,o,s,l,u,c,f,h,p,d,v,g=null==e.cutoff?.25:e.cutoff,y=null==e.radius?8:e.radius,m=e.channel||0;if(ArrayBuffer.isView(t)||Array.isArray(t)){if(!e.width||!e.height)throw Error(\"For raw data width and height should be provided by options\");r=e.width,o=e.height,l=t,c=e.stride?e.stride:Math.floor(t.length/r/o)}else window.HTMLCanvasElement&&t instanceof window.HTMLCanvasElement?(f=(h=t).getContext(\"2d\"),r=h.width,o=h.height,l=(p=f.getImageData(0,0,r,o)).data,c=4):window.CanvasRenderingContext2D&&t instanceof window.CanvasRenderingContext2D?(f=t,r=(h=t.canvas).width,o=h.height,l=(p=f.getImageData(0,0,r,o)).data,c=4):window.ImageData&&t instanceof window.ImageData&&(p=t,r=t.width,o=t.height,l=p.data,c=4);if(s=Math.max(r,o),window.Uint8ClampedArray&&l instanceof window.Uint8ClampedArray||window.Uint8Array&&l instanceof window.Uint8Array)for(u=l,l=Array(r*o),d=0,v=u.length;d-1?i(r):r}},57916:function(t,e,r){\"use strict\";var n=r(8844),i=r(53664),a=r(14500),o=i(\"%TypeError%\"),s=i(\"%Function.prototype.apply%\"),l=i(\"%Function.prototype.call%\"),u=i(\"%Reflect.apply%\",!0)||n.call(l,s),c=i(\"%Object.defineProperty%\",!0),f=i(\"%Math.max%\");if(c)try{c({},\"a\",{value:1})}catch(t){c=null}t.exports=function(t){if(\"function\"!=typeof t)throw new o(\"a function is required\");var e=u(n,l,arguments);return a(e,1+f(0,t.length-(arguments.length-1)),!0)};var h=function(){return u(n,s,arguments)};c?c(t.exports,\"apply\",{value:h}):t.exports.apply=h},32420:function(t){t.exports=function(t,e,r){return er?r:t:te?e:t}},3808:function(t,e,r){\"use strict\";var n=r(32420);function i(t,e){null==e&&(e=!0);var r=t[0],i=t[1],a=t[2],o=t[3];return null==o&&(o=e?1:255),e&&(r*=255,i*=255,a*=255,o*=255),16777216*(r=255&n(r,0,255))+((i=255&n(i,0,255))<<16)+((a=255&n(a,0,255))<<8)+(255&n(o,0,255))}t.exports=i,t.exports.to=i,t.exports.from=function(t,e){var r=(t=+t)>>>24,n=(16711680&t)>>>16,i=(65280&t)>>>8,a=255&t;return!1===e?[r,n,i,a]:[r/255,n/255,i/255,a/255]}},17592:function(t){\"use strict\";t.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}},72160:function(t,e,r){\"use strict\";var n=r(96824),i=r(32420),a=r(72512);t.exports=function(t,e){\"float\"!==e&&e||(e=\"array\"),\"uint\"===e&&(e=\"uint8\"),\"uint_clamped\"===e&&(e=\"uint8_clamped\");var r=new(a(e))(4),o=\"uint8\"!==e&&\"uint8_clamped\"!==e;return t.length&&\"string\"!=typeof t||((t=n(t))[0]/=255,t[1]/=255,t[2]/=255),function(t){return t instanceof Uint8Array||t instanceof Uint8ClampedArray||!!(Array.isArray(t)&&(t[0]>1||0===t[0])&&(t[1]>1||0===t[1])&&(t[2]>1||0===t[2])&&(!t[3]||t[3]>1))}(t)?(r[0]=t[0],r[1]=t[1],r[2]=t[2],r[3]=null!=t[3]?t[3]:255,o&&(r[0]/=255,r[1]/=255,r[2]/=255,r[3]/=255),r):(o?(r[0]=t[0],r[1]=t[1],r[2]=t[2],r[3]=null!=t[3]?t[3]:1):(r[0]=i(Math.floor(255*t[0]),0,255),r[1]=i(Math.floor(255*t[1]),0,255),r[2]=i(Math.floor(255*t[2]),0,255),r[3]=null==t[3]?255:i(Math.floor(255*t[3]),0,255)),r)}},96824:function(t,e,r){\"use strict\";var n=r(95532),i=r(53576),a=r(32420);t.exports=function(t){var e,r=n(t);return r.space?((e=Array(3))[0]=a(r.values[0],0,255),e[1]=a(r.values[1],0,255),e[2]=a(r.values[2],0,255),\"h\"===r.space[0]&&(e=i.rgb(e)),e.push(a(r.alpha,0,1)),e):[]}},95532:function(t,e,r){\"use strict\";var n=r(17592);t.exports=function(t){var e,r,a=[],o=1;if(\"string\"==typeof t)if(t=t.toLowerCase(),n[t])a=n[t].slice(),r=\"rgb\";else if(\"transparent\"===t)o=0,r=\"rgb\",a=[0,0,0];else if(/^#[A-Fa-f0-9]+$/.test(t)){var s=t.slice(1);o=1,(c=s.length)<=4?(a=[parseInt(s[0]+s[0],16),parseInt(s[1]+s[1],16),parseInt(s[2]+s[2],16)],4===c&&(o=parseInt(s[3]+s[3],16)/255)):(a=[parseInt(s[0]+s[1],16),parseInt(s[2]+s[3],16),parseInt(s[4]+s[5],16)],8===c&&(o=parseInt(s[6]+s[7],16)/255)),a[0]||(a[0]=0),a[1]||(a[1]=0),a[2]||(a[2]=0),r=\"rgb\"}else if(e=/^((?:rgb|hs[lvb]|hwb|cmyk?|xy[zy]|gray|lab|lchu?v?|[ly]uv|lms)a?)\\s*\\(([^\\)]*)\\)/.exec(t)){var l=e[1],u=\"rgb\"===l;r=s=l.replace(/a$/,\"\");var c=\"cmyk\"===s?4:\"gray\"===s?1:3;a=e[2].trim().split(/\\s*[,\\/]\\s*|\\s+/).map((function(t,e){if(/%$/.test(t))return e===c?parseFloat(t)/100:\"rgb\"===s?255*parseFloat(t)/100:parseFloat(t);if(\"h\"===s[e]){if(/deg$/.test(t))return parseFloat(t);if(void 0!==i[t])return i[t]}return parseFloat(t)})),l===s&&a.push(1),o=u||void 0===a[c]?1:a[c],a=a.slice(0,c)}else t.length>10&&/[0-9](?:\\s|\\/)/.test(t)&&(a=t.match(/([0-9]+)/g).map((function(t){return parseFloat(t)})),r=t.match(/([a-z])/gi).join(\"\").toLowerCase());else isNaN(t)?Array.isArray(t)||t.length?(a=[t[0],t[1],t[2]],r=\"rgb\",o=4===t.length?t[3]:1):t instanceof Object&&(null!=t.r||null!=t.red||null!=t.R?(r=\"rgb\",a=[t.r||t.red||t.R||0,t.g||t.green||t.G||0,t.b||t.blue||t.B||0]):(r=\"hsl\",a=[t.h||t.hue||t.H||0,t.s||t.saturation||t.S||0,t.l||t.lightness||t.L||t.b||t.brightness]),o=t.a||t.alpha||t.opacity||1,null!=t.opacity&&(o/=100)):(r=\"rgb\",a=[t>>>16,(65280&t)>>>8,255&t]);return{space:r,values:a,alpha:o}};var i={red:0,orange:60,yellow:120,green:180,blue:240,purple:300}},53576:function(t,e,r){\"use strict\";var n=r(19336);t.exports={name:\"hsl\",min:[0,0,0],max:[360,100,100],channel:[\"hue\",\"saturation\",\"lightness\"],alias:[\"HSL\"],rgb:function(t){var e,r,n,i,a,o=t[0]/360,s=t[1]/100,l=t[2]/100;if(0===s)return[a=255*l,a,a];e=2*l-(r=l<.5?l*(1+s):l+s-l*s),i=[0,0,0];for(var u=0;u<3;u++)(n=o+1/3*-(u-1))<0?n++:n>1&&n--,a=6*n<1?e+6*(r-e)*n:2*n<1?r:3*n<2?e+(r-e)*(2/3-n)*6:e,i[u]=255*a;return i}},n.hsl=function(t){var e,r,n=t[0]/255,i=t[1]/255,a=t[2]/255,o=Math.min(n,i,a),s=Math.max(n,i,a),l=s-o;return s===o?e=0:n===s?e=(i-a)/l:i===s?e=2+(a-n)/l:a===s&&(e=4+(n-i)/l),(e=Math.min(60*e,360))<0&&(e+=360),r=(o+s)/2,[e,100*(s===o?0:r<=.5?l/(s+o):l/(2-s-o)),100*r]}},19336:function(t){\"use strict\";t.exports={name:\"rgb\",min:[0,0,0],max:[255,255,255],channel:[\"red\",\"green\",\"blue\"],alias:[\"RGB\"]}},36116:function(t){t.exports={AFG:\"afghan\",ALA:\"\\\\b\\\\wland\",ALB:\"albania\",DZA:\"algeria\",ASM:\"^(?=.*americ).*samoa\",AND:\"andorra\",AGO:\"angola\",AIA:\"anguill?a\",ATA:\"antarctica\",ATG:\"antigua\",ARG:\"argentin\",ARM:\"armenia\",ABW:\"^(?!.*bonaire).*\\\\baruba\",AUS:\"australia\",AUT:\"^(?!.*hungary).*austria|\\\\baustri.*\\\\bemp\",AZE:\"azerbaijan\",BHS:\"bahamas\",BHR:\"bahrain\",BGD:\"bangladesh|^(?=.*east).*paki?stan\",BRB:\"barbados\",BLR:\"belarus|byelo\",BEL:\"^(?!.*luxem).*belgium\",BLZ:\"belize|^(?=.*british).*honduras\",BEN:\"benin|dahome\",BMU:\"bermuda\",BTN:\"bhutan\",BOL:\"bolivia\",BES:\"^(?=.*bonaire).*eustatius|^(?=.*carib).*netherlands|\\\\bbes.?islands\",BIH:\"herzegovina|bosnia\",BWA:\"botswana|bechuana\",BVT:\"bouvet\",BRA:\"brazil\",IOT:\"british.?indian.?ocean\",BRN:\"brunei\",BGR:\"bulgaria\",BFA:\"burkina|\\\\bfaso|upper.?volta\",BDI:\"burundi\",CPV:\"verde\",KHM:\"cambodia|kampuchea|khmer\",CMR:\"cameroon\",CAN:\"canada\",CYM:\"cayman\",CAF:\"\\\\bcentral.african.republic\",TCD:\"\\\\bchad\",CHL:\"\\\\bchile\",CHN:\"^(?!.*\\\\bmac)(?!.*\\\\bhong)(?!.*\\\\btai)(?!.*\\\\brep).*china|^(?=.*peo)(?=.*rep).*china\",CXR:\"christmas\",CCK:\"\\\\bcocos|keeling\",COL:\"colombia\",COM:\"comoro\",COG:\"^(?!.*\\\\bdem)(?!.*\\\\bd[\\\\.]?r)(?!.*kinshasa)(?!.*zaire)(?!.*belg)(?!.*l.opoldville)(?!.*free).*\\\\bcongo\",COK:\"\\\\bcook\",CRI:\"costa.?rica\",CIV:\"ivoire|ivory\",HRV:\"croatia\",CUB:\"\\\\bcuba\",CUW:\"^(?!.*bonaire).*\\\\bcura(c|ç)ao\",CYP:\"cyprus\",CSK:\"czechoslovakia\",CZE:\"^(?=.*rep).*czech|czechia|bohemia\",COD:\"\\\\bdem.*congo|congo.*\\\\bdem|congo.*\\\\bd[\\\\.]?r|\\\\bd[\\\\.]?r.*congo|belgian.?congo|congo.?free.?state|kinshasa|zaire|l.opoldville|drc|droc|rdc\",DNK:\"denmark\",DJI:\"djibouti\",DMA:\"dominica(?!n)\",DOM:\"dominican.rep\",ECU:\"ecuador\",EGY:\"egypt\",SLV:\"el.?salvador\",GNQ:\"guine.*eq|eq.*guine|^(?=.*span).*guinea\",ERI:\"eritrea\",EST:\"estonia\",ETH:\"ethiopia|abyssinia\",FLK:\"falkland|malvinas\",FRO:\"faroe|faeroe\",FJI:\"fiji\",FIN:\"finland\",FRA:\"^(?!.*\\\\bdep)(?!.*martinique).*france|french.?republic|\\\\bgaul\",GUF:\"^(?=.*french).*guiana\",PYF:\"french.?polynesia|tahiti\",ATF:\"french.?southern\",GAB:\"gabon\",GMB:\"gambia\",GEO:\"^(?!.*south).*georgia\",DDR:\"german.?democratic.?republic|democratic.?republic.*germany|east.germany\",DEU:\"^(?!.*east).*germany|^(?=.*\\\\bfed.*\\\\brep).*german\",GHA:\"ghana|gold.?coast\",GIB:\"gibraltar\",GRC:\"greece|hellenic|hellas\",GRL:\"greenland\",GRD:\"grenada\",GLP:\"guadeloupe\",GUM:\"\\\\bguam\",GTM:\"guatemala\",GGY:\"guernsey\",GIN:\"^(?!.*eq)(?!.*span)(?!.*bissau)(?!.*portu)(?!.*new).*guinea\",GNB:\"bissau|^(?=.*portu).*guinea\",GUY:\"guyana|british.?guiana\",HTI:\"haiti\",HMD:\"heard.*mcdonald\",VAT:\"holy.?see|vatican|papal.?st\",HND:\"^(?!.*brit).*honduras\",HKG:\"hong.?kong\",HUN:\"^(?!.*austr).*hungary\",ISL:\"iceland\",IND:\"india(?!.*ocea)\",IDN:\"indonesia\",IRN:\"\\\\biran|persia\",IRQ:\"\\\\biraq|mesopotamia\",IRL:\"(^ireland)|(^republic.*ireland)\",IMN:\"^(?=.*isle).*\\\\bman\",ISR:\"israel\",ITA:\"italy\",JAM:\"jamaica\",JPN:\"japan\",JEY:\"jersey\",JOR:\"jordan\",KAZ:\"kazak\",KEN:\"kenya|british.?east.?africa|east.?africa.?prot\",KIR:\"kiribati\",PRK:\"^(?=.*democrat|people|north|d.*p.*.r).*\\\\bkorea|dprk|korea.*(d.*p.*r)\",KWT:\"kuwait\",KGZ:\"kyrgyz|kirghiz\",LAO:\"\\\\blaos?\\\\b\",LVA:\"latvia\",LBN:\"lebanon\",LSO:\"lesotho|basuto\",LBR:\"liberia\",LBY:\"libya\",LIE:\"liechtenstein\",LTU:\"lithuania\",LUX:\"^(?!.*belg).*luxem\",MAC:\"maca(o|u)\",MDG:\"madagascar|malagasy\",MWI:\"malawi|nyasa\",MYS:\"malaysia\",MDV:\"maldive\",MLI:\"\\\\bmali\\\\b\",MLT:\"\\\\bmalta\",MHL:\"marshall\",MTQ:\"martinique\",MRT:\"mauritania\",MUS:\"mauritius\",MYT:\"\\\\bmayotte\",MEX:\"\\\\bmexic\",FSM:\"fed.*micronesia|micronesia.*fed\",MCO:\"monaco\",MNG:\"mongolia\",MNE:\"^(?!.*serbia).*montenegro\",MSR:\"montserrat\",MAR:\"morocco|\\\\bmaroc\",MOZ:\"mozambique\",MMR:\"myanmar|burma\",NAM:\"namibia\",NRU:\"nauru\",NPL:\"nepal\",NLD:\"^(?!.*\\\\bant)(?!.*\\\\bcarib).*netherlands\",ANT:\"^(?=.*\\\\bant).*(nether|dutch)\",NCL:\"new.?caledonia\",NZL:\"new.?zealand\",NIC:\"nicaragua\",NER:\"\\\\bniger(?!ia)\",NGA:\"nigeria\",NIU:\"niue\",NFK:\"norfolk\",MNP:\"mariana\",NOR:\"norway\",OMN:\"\\\\boman|trucial\",PAK:\"^(?!.*east).*paki?stan\",PLW:\"palau\",PSE:\"palestin|\\\\bgaza|west.?bank\",PAN:\"panama\",PNG:\"papua|new.?guinea\",PRY:\"paraguay\",PER:\"peru\",PHL:\"philippines\",PCN:\"pitcairn\",POL:\"poland\",PRT:\"portugal\",PRI:\"puerto.?rico\",QAT:\"qatar\",KOR:\"^(?!.*d.*p.*r)(?!.*democrat)(?!.*people)(?!.*north).*\\\\bkorea(?!.*d.*p.*r)\",MDA:\"moldov|b(a|e)ssarabia\",REU:\"r(e|é)union\",ROU:\"r(o|u|ou)mania\",RUS:\"\\\\brussia|soviet.?union|u\\\\.?s\\\\.?s\\\\.?r|socialist.?republics\",RWA:\"rwanda\",BLM:\"barth(e|é)lemy\",SHN:\"helena\",KNA:\"kitts|\\\\bnevis\",LCA:\"\\\\blucia\",MAF:\"^(?=.*collectivity).*martin|^(?=.*france).*martin(?!ique)|^(?=.*french).*martin(?!ique)\",SPM:\"miquelon\",VCT:\"vincent\",WSM:\"^(?!.*amer).*samoa\",SMR:\"san.?marino\",STP:\"\\\\bs(a|ã)o.?tom(e|é)\",SAU:\"\\\\bsa\\\\w*.?arabia\",SEN:\"senegal\",SRB:\"^(?!.*monte).*serbia\",SYC:\"seychell\",SLE:\"sierra\",SGP:\"singapore\",SXM:\"^(?!.*martin)(?!.*saba).*maarten\",SVK:\"^(?!.*cze).*slovak\",SVN:\"slovenia\",SLB:\"solomon\",SOM:\"somali\",ZAF:\"south.africa|s\\\\\\\\..?africa\",SGS:\"south.?georgia|sandwich\",SSD:\"\\\\bs\\\\w*.?sudan\",ESP:\"spain\",LKA:\"sri.?lanka|ceylon\",SDN:\"^(?!.*\\\\bs(?!u)).*sudan\",SUR:\"surinam|dutch.?guiana\",SJM:\"svalbard\",SWZ:\"swaziland\",SWE:\"sweden\",CHE:\"switz|swiss\",SYR:\"syria\",TWN:\"taiwan|taipei|formosa|^(?!.*peo)(?=.*rep).*china\",TJK:\"tajik\",THA:\"thailand|\\\\bsiam\",MKD:\"macedonia|fyrom\",TLS:\"^(?=.*leste).*timor|^(?=.*east).*timor\",TGO:\"togo\",TKL:\"tokelau\",TON:\"tonga\",TTO:\"trinidad|tobago\",TUN:\"tunisia\",TUR:\"turkey\",TKM:\"turkmen\",TCA:\"turks\",TUV:\"tuvalu\",UGA:\"uganda\",UKR:\"ukrain\",ARE:\"emirates|^u\\\\.?a\\\\.?e\\\\.?$|united.?arab.?em\",GBR:\"united.?kingdom|britain|^u\\\\.?k\\\\.?$\",TZA:\"tanzania\",USA:\"united.?states\\\\b(?!.*islands)|\\\\bu\\\\.?s\\\\.?a\\\\.?\\\\b|^\\\\s*u\\\\.?s\\\\.?\\\\b(?!.*islands)\",UMI:\"minor.?outlying.?is\",URY:\"uruguay\",UZB:\"uzbek\",VUT:\"vanuatu|new.?hebrides\",VEN:\"venezuela\",VNM:\"^(?!.*republic).*viet.?nam|^(?=.*socialist).*viet.?nam\",VGB:\"^(?=.*\\\\bu\\\\.?\\\\s?k).*virgin|^(?=.*brit).*virgin|^(?=.*kingdom).*virgin\",VIR:\"^(?=.*\\\\bu\\\\.?\\\\s?s).*virgin|^(?=.*states).*virgin\",WLF:\"futuna|wallis\",ESH:\"western.sahara\",YEM:\"^(?!.*arab)(?!.*north)(?!.*sana)(?!.*peo)(?!.*dem)(?!.*south)(?!.*aden)(?!.*\\\\bp\\\\.?d\\\\.?r).*yemen\",YMD:\"^(?=.*peo).*yemen|^(?!.*rep)(?=.*dem).*yemen|^(?=.*south).*yemen|^(?=.*aden).*yemen|^(?=.*\\\\bp\\\\.?d\\\\.?r).*yemen\",YUG:\"yugoslavia\",ZMB:\"zambia|northern.?rhodesia\",EAZ:\"zanzibar\",ZWE:\"zimbabwe|^(?!.*northern).*rhodesia\"}},42771:function(t,e,r){\"use strict\";t.exports={parse:r(46416),stringify:r(49395)}},8744:function(t,e,r){\"use strict\";var n=r(30584);t.exports={isSize:function(t){return/^[\\d\\.]/.test(t)||-1!==t.indexOf(\"/\")||-1!==n.indexOf(t)}}},46416:function(t,e,r){\"use strict\";var n=r(92384),i=r(68194),a=r(3748),o=r(2904),s=r(47916),l=r(7294),u=r(39956),c=r(8744).isSize;t.exports=h;var f=h.cache={};function h(t){if(\"string\"!=typeof t)throw new Error(\"Font argument must be a string.\");if(f[t])return f[t];if(\"\"===t)throw new Error(\"Cannot parse an empty string.\");if(-1!==a.indexOf(t))return f[t]={system:t};for(var e,r={style:\"normal\",variant:\"normal\",weight:\"normal\",stretch:\"normal\",lineHeight:\"normal\",size:\"1rem\",family:[\"serif\"]},h=u(t,/\\s+/);e=h.shift();){if(-1!==i.indexOf(e))return[\"style\",\"variant\",\"weight\",\"stretch\"].forEach((function(t){r[t]=e})),f[t]=r;if(-1===s.indexOf(e))if(\"normal\"!==e&&\"small-caps\"!==e)if(-1===l.indexOf(e)){if(-1===o.indexOf(e)){if(c(e)){var d=u(e,\"/\");if(r.size=d[0],null!=d[1]?r.lineHeight=p(d[1]):\"/\"===h[0]&&(h.shift(),r.lineHeight=p(h.shift())),!h.length)throw new Error(\"Missing required font-family.\");return r.family=u(h.join(\" \"),/\\s*,\\s*/).map(n),f[t]=r}throw new Error(\"Unknown or unsupported font token: \"+e)}r.weight=e}else r.stretch=e;else r.variant=e;else r.style=e}throw new Error(\"Missing required font-size.\")}function p(t){var e=parseFloat(t);return e.toString()===t?e:t}},49395:function(t,e,r){\"use strict\";var n=r(55616),i=r(8744).isSize,a=d(r(68194)),o=d(r(3748)),s=d(r(2904)),l=d(r(47916)),u=d(r(7294)),c={normal:1,\"small-caps\":1},f={serif:1,\"sans-serif\":1,monospace:1,cursive:1,fantasy:1,\"system-ui\":1},h=\"serif\";function p(t,e){if(t&&!e[t]&&!a[t])throw Error(\"Unknown keyword `\"+t+\"`\");return t}function d(t){for(var e={},r=0;re?1:t>=e?0:NaN}r.d(e,{XE:function(){return n},kv:function(){return s},mo:function(){return u},Uf:function(){return c},SY:function(){return f},ik:function(){return h},oh:function(){return p}}),1===(i=n).length&&(a=i,i=function(t,e){return n(a(t),e)});var i,a,o=Array.prototype;function s(t,e){var r,n,i=t.length,a=-1;if(null==e){for(;++a=r)for(n=r;++an&&(n=r)}else for(;++a=r)for(n=r;++an&&(n=r);return n}function l(t){return null===t?NaN:+t}function u(t,e){var r,n=t.length,i=n,a=-1,o=0;if(null==e)for(;++a=0;)for(e=(n=t[i]).length;--e>=0;)r[--o]=n[e];return r}function f(t,e){var r,n,i=t.length,a=-1;if(null==e){for(;++a=r)for(n=r;++ar&&(n=r)}else for(;++a=r)for(n=r;++ar&&(n=r);return n}function h(t,e,r){t=+t,e=+e,r=(i=arguments.length)<2?(e=t,t=0,1):i<3?1:+r;for(var n=-1,i=0|Math.max(0,Math.ceil((e-t)/r)),a=new Array(i);++n=n.length)return null!=t&&r.sort(t),null!=e?e(r):r;for(var u,c,f,h=-1,p=r.length,d=n[i++],v=o(),g=s();++hn.length)return t;var a,o=i[r-1];return null!=e&&r>=n.length?a=t.entries():(a=[],t.each((function(t,e){a.push({key:e,values:s(t,r)})}))),null!=o?a.sort((function(t,e){return o(t.key,e.key)})):a}return r={object:function(t){return a(t,0,l,u)},map:function(t){return a(t,0,c,f)},entries:function(t){return s(a(t,0,c,f),0)},key:function(t){return n.push(t),r},sortKeys:function(t){return i[n.length-1]=t,r},sortValues:function(e){return t=e,r},rollup:function(t){return e=t,r}}}function l(){return{}}function u(t,e,r){t[e]=r}function c(){return o()}function f(t,e,r){t.set(e,r)}function h(){}var p=o.prototype;h.prototype=function(t,e){var r=new h;if(t instanceof h)t.each((function(t){r.add(t)}));else if(t){var n=-1,i=t.length;if(null==e)for(;++n=(a=(v+y)/2))?v=a:y=a,(c=r>=(o=(g+m)/2))?g=o:m=o,i=p,!(p=p[f=c<<1|u]))return i[f]=d,t;if(s=+t._x.call(null,p.data),l=+t._y.call(null,p.data),e===s&&r===l)return d.next=p,i?i[f]=d:t._root=d,t;do{i=i?i[f]=new Array(4):t._root=new Array(4),(u=e>=(a=(v+y)/2))?v=a:y=a,(c=r>=(o=(g+m)/2))?g=o:m=o}while((f=c<<1|u)==(h=(l>=o)<<1|s>=a));return i[h]=p,i[f]=d,t}function s(t,e,r,n,i){this.node=t,this.x0=e,this.y0=r,this.x1=n,this.y1=i}function l(t){return t[0]}function u(t){return t[1]}function c(t,e,r){var n=new f(null==e?l:e,null==r?u:r,NaN,NaN,NaN,NaN);return null==t?n:n.addAll(t)}function f(t,e,r,n,i,a){this._x=t,this._y=e,this._x0=r,this._y0=n,this._x1=i,this._y1=a,this._root=void 0}function h(t){for(var e={data:t.data},r=e;t=t.next;)r=r.next={data:t.data};return e}r.r(e),r.d(e,{forceCenter:function(){return n},forceCollide:function(){return g},forceLink:function(){return b},forceManyBody:function(){return K},forceRadial:function(){return J},forceSimulation:function(){return Z},forceX:function(){return $},forceY:function(){return Q}});var p=c.prototype=f.prototype;function d(t){return t.x+t.vx}function v(t){return t.y+t.vy}function g(t){var e,r,n=1,o=1;function s(){for(var t,i,s,u,f,h,p,g=e.length,y=0;yu+d||if+d||os.index){var v=u-l.x-l.vx,g=f-l.y-l.vy,y=v*v+g*g;yt.r&&(t.r=t[e].r)}function u(){if(e){var n,i,a=e.length;for(r=new Array(a),n=0;nf&&(f=n),ih&&(h=i));if(u>f||c>h)return this;for(this.cover(u,c).cover(f,h),r=0;rt||t>=i||n>e||e>=a;)switch(s=(ep||(a=u.y0)>d||(o=u.x1)=m)<<1|t>=y)&&(u=v[v.length-1],v[v.length-1]=v[v.length-1-c],v[v.length-1-c]=u)}else{var x=t-+this._x.call(null,g.data),b=e-+this._y.call(null,g.data),_=x*x+b*b;if(_=(s=(d+g)/2))?d=s:g=s,(c=o>=(l=(v+y)/2))?v=l:y=l,e=p,!(p=p[f=c<<1|u]))return this;if(!p.length)break;(e[f+1&3]||e[f+2&3]||e[f+3&3])&&(r=e,h=f)}for(;p.data!==t;)if(n=p,!(p=p.next))return this;return(i=p.next)&&delete p.next,n?(i?n.next=i:delete n.next,this):e?(i?e[f]=i:delete e[f],(p=e[0]||e[1]||e[2]||e[3])&&p===(e[3]||e[2]||e[1]||e[0])&&!p.length&&(r?r[h]=p:this._root=p),this):(this._root=i,this)},p.removeAll=function(t){for(var e=0,r=t.length;e=0&&(e=t.slice(r+1),t=t.slice(0,r)),t&&!n.hasOwnProperty(t))throw new Error(\"unknown type: \"+t);return{type:t,name:e}}))),o=-1,s=a.length;if(!(arguments.length<2)){if(null!=e&&\"function\"!=typeof e)throw new Error(\"invalid callback: \"+e);for(;++o0)for(var r,n,i=new Array(r),a=0;a=0&&e._call.call(null,t),e=e._next;--L}()}finally{L=0,function(){for(var t,e,r=M,n=1/0;r;)r._call?(n>r._time&&(n=r._time),t=r,r=r._next):(e=r._next,r._next=null,r=t?t._next=e:M=e);S=t,H(n)}(),z=0}}function q(){var t=R.now(),e=t-I;e>O&&(D-=e,I=t)}function H(t){L||(C&&(C=clearTimeout(C)),t-z>24?(t<1/0&&(C=setTimeout(V,t-R.now()-D)),P&&(P=clearInterval(P))):(P||(I=R.now(),P=setInterval(q,O)),L=1,F(V)))}function G(t){return t.x}function W(t){return t.y}j.prototype=U.prototype={constructor:j,restart:function(t,e,r){if(\"function\"!=typeof t)throw new TypeError(\"callback is not a function\");r=(null==r?B():+r)+(null==e?0:+e),this._next||S===this||(S?S._next=this:M=this,S=this),this._call=t,this._time=r,H()},stop:function(){this._call&&(this._call=null,this._time=1/0,H())}};var Y=10,X=Math.PI*(3-Math.sqrt(5));function Z(t){var e,r=1,n=.001,i=1-Math.pow(n,1/300),a=0,o=.6,s=(0,y.kH)(),l=U(c),u=E(\"tick\",\"end\");function c(){f(),u.call(\"tick\",e),r1?(null==r?s.remove(t):s.set(t,p(r)),e):s.get(t)},find:function(e,r,n){var i,a,o,s,l,u=0,c=t.length;for(null==n?n=1/0:n*=n,u=0;u1?(u.on(t,r),e):u.on(t)}}}function K(){var t,e,r,n,o=i(-30),s=1,l=1/0,u=.81;function f(n){var i,a=t.length,o=c(t,G,W).visitAfter(p);for(r=n,i=0;i=l)){(t.data!==e||t.next)&&(0===f&&(d+=(f=a())*f),0===h&&(d+=(h=a())*h),d1?n[0]+n.slice(2):n,+t.slice(r+1)]}r.d(e,{E9:function(){return h},SO:function(){return v}});var i,a=/^(?:(.)?([<>=^]))?([+\\-( ])?([$#])?(0)?(\\d+)?(,)?(\\.\\d+)?(~)?([a-z%])?$/i;function o(t){if(!(e=a.exec(t)))throw new Error(\"invalid format: \"+t);var e;return new s({fill:e[1],align:e[2],sign:e[3],symbol:e[4],zero:e[5],width:e[6],comma:e[7],precision:e[8]&&e[8].slice(1),trim:e[9],type:e[10]})}function s(t){this.fill=void 0===t.fill?\" \":t.fill+\"\",this.align=void 0===t.align?\">\":t.align+\"\",this.sign=void 0===t.sign?\"-\":t.sign+\"\",this.symbol=void 0===t.symbol?\"\":t.symbol+\"\",this.zero=!!t.zero,this.width=void 0===t.width?void 0:+t.width,this.comma=!!t.comma,this.precision=void 0===t.precision?void 0:+t.precision,this.trim=!!t.trim,this.type=void 0===t.type?\"\":t.type+\"\"}function l(t,e){var r=n(t,e);if(!r)return t+\"\";var i=r[0],a=r[1];return a<0?\"0.\"+new Array(-a).join(\"0\")+i:i.length>a+1?i.slice(0,a+1)+\".\"+i.slice(a+1):i+new Array(a-i.length+2).join(\"0\")}o.prototype=s.prototype,s.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?\"0\":\"\")+(void 0===this.width?\"\":Math.max(1,0|this.width))+(this.comma?\",\":\"\")+(void 0===this.precision?\"\":\".\"+Math.max(0,0|this.precision))+(this.trim?\"~\":\"\")+this.type};var u={\"%\":function(t,e){return(100*t).toFixed(e)},b:function(t){return Math.round(t).toString(2)},c:function(t){return t+\"\"},d:function(t){return Math.abs(t=Math.round(t))>=1e21?t.toLocaleString(\"en\").replace(/,/g,\"\"):t.toString(10)},e:function(t,e){return t.toExponential(e)},f:function(t,e){return t.toFixed(e)},g:function(t,e){return t.toPrecision(e)},o:function(t){return Math.round(t).toString(8)},p:function(t,e){return l(100*t,e)},r:l,s:function(t,e){var r=n(t,e);if(!r)return t+\"\";var a=r[0],o=r[1],s=o-(i=3*Math.max(-8,Math.min(8,Math.floor(o/3))))+1,l=a.length;return s===l?a:s>l?a+new Array(s-l+1).join(\"0\"):s>0?a.slice(0,s)+\".\"+a.slice(s):\"0.\"+new Array(1-s).join(\"0\")+n(t,Math.max(0,e+s-1))[0]},X:function(t){return Math.round(t).toString(16).toUpperCase()},x:function(t){return Math.round(t).toString(16)}};function c(t){return t}var f,h,p=Array.prototype.map,d=[\"y\",\"z\",\"a\",\"f\",\"p\",\"n\",\"µ\",\"m\",\"\",\"k\",\"M\",\"G\",\"T\",\"P\",\"E\",\"Z\",\"Y\"];function v(t){var e,r,a=void 0===t.grouping||void 0===t.thousands?c:(e=p.call(t.grouping,Number),r=t.thousands+\"\",function(t,n){for(var i=t.length,a=[],o=0,s=e[0],l=0;i>0&&s>0&&(l+s+1>n&&(s=Math.max(1,n-l)),a.push(t.substring(i-=s,i+s)),!((l+=s+1)>n));)s=e[o=(o+1)%e.length];return a.reverse().join(r)}),s=void 0===t.currency?\"\":t.currency[0]+\"\",l=void 0===t.currency?\"\":t.currency[1]+\"\",f=void 0===t.decimal?\".\":t.decimal+\"\",h=void 0===t.numerals?c:function(t){return function(e){return e.replace(/[0-9]/g,(function(e){return t[+e]}))}}(p.call(t.numerals,String)),v=void 0===t.percent?\"%\":t.percent+\"\",g=void 0===t.minus?\"-\":t.minus+\"\",y=void 0===t.nan?\"NaN\":t.nan+\"\";function m(t){var e=(t=o(t)).fill,r=t.align,n=t.sign,c=t.symbol,p=t.zero,m=t.width,x=t.comma,b=t.precision,_=t.trim,w=t.type;\"n\"===w?(x=!0,w=\"g\"):u[w]||(void 0===b&&(b=12),_=!0,w=\"g\"),(p||\"0\"===e&&\"=\"===r)&&(p=!0,e=\"0\",r=\"=\");var T=\"$\"===c?s:\"#\"===c&&/[boxX]/.test(w)?\"0\"+w.toLowerCase():\"\",k=\"$\"===c?l:/[%p]/.test(w)?v:\"\",A=u[w],M=/[defgprs%]/.test(w);function S(t){var o,s,l,u=T,c=k;if(\"c\"===w)c=A(t)+c,t=\"\";else{var v=(t=+t)<0||1/t<0;if(t=isNaN(t)?y:A(Math.abs(t),b),_&&(t=function(t){t:for(var e,r=t.length,n=1,i=-1;n0&&(i=0)}return i>0?t.slice(0,i)+t.slice(e+1):t}(t)),v&&0==+t&&\"+\"!==n&&(v=!1),u=(v?\"(\"===n?n:g:\"-\"===n||\"(\"===n?\"\":n)+u,c=(\"s\"===w?d[8+i/3]:\"\")+c+(v&&\"(\"===n?\")\":\"\"),M)for(o=-1,s=t.length;++o(l=t.charCodeAt(o))||l>57){c=(46===l?f+t.slice(o+1):t.slice(o))+c,t=t.slice(0,o);break}}x&&!p&&(t=a(t,1/0));var S=u.length+t.length+c.length,E=S>1)+u+t+c+E.slice(S);break;default:t=E+u+t+c}return h(t)}return b=void 0===b?6:/[gprs]/.test(w)?Math.max(1,Math.min(21,b)):Math.max(0,Math.min(20,b)),S.toString=function(){return t+\"\"},S}return{format:m,formatPrefix:function(t,e){var r,i=m(((t=o(t)).type=\"f\",t)),a=3*Math.max(-8,Math.min(8,Math.floor((r=e,((r=n(Math.abs(r)))?r[1]:NaN)/3)))),s=Math.pow(10,-a),l=d[8+a/3];return function(t){return i(s*t)+l}}}}f=v({decimal:\".\",thousands:\",\",grouping:[3],currency:[\"$\",\"\"],minus:\"-\"}),h=f.format,f.formatPrefix},87108:function(t,e,r){\"use strict\";r.r(e),r.d(e,{geoAiry:function(){return D},geoAiryRaw:function(){return z},geoAitoff:function(){return F},geoAitoffRaw:function(){return R},geoArmadillo:function(){return N},geoArmadilloRaw:function(){return B},geoAugust:function(){return U},geoAugustRaw:function(){return j},geoBaker:function(){return G},geoBakerRaw:function(){return H},geoBerghaus:function(){return X},geoBerghausRaw:function(){return Y},geoBertin1953:function(){return rt},geoBertin1953Raw:function(){return et},geoBoggs:function(){return ct},geoBoggsRaw:function(){return ut},geoBonne:function(){return vt},geoBonneRaw:function(){return dt},geoBottomley:function(){return yt},geoBottomleyRaw:function(){return gt},geoBromley:function(){return xt},geoBromleyRaw:function(){return mt},geoChamberlin:function(){return Et},geoChamberlinAfrica:function(){return St},geoChamberlinRaw:function(){return At},geoCollignon:function(){return Ct},geoCollignonRaw:function(){return Lt},geoCraig:function(){return Ot},geoCraigRaw:function(){return Pt},geoCraster:function(){return Dt},geoCrasterRaw:function(){return zt},geoCylindricalEqualArea:function(){return Ft},geoCylindricalEqualAreaRaw:function(){return Rt},geoCylindricalStereographic:function(){return Nt},geoCylindricalStereographicRaw:function(){return Bt},geoEckert1:function(){return Ut},geoEckert1Raw:function(){return jt},geoEckert2:function(){return qt},geoEckert2Raw:function(){return Vt},geoEckert3:function(){return Gt},geoEckert3Raw:function(){return Ht},geoEckert4:function(){return Yt},geoEckert4Raw:function(){return Wt},geoEckert5:function(){return Zt},geoEckert5Raw:function(){return Xt},geoEckert6:function(){return Jt},geoEckert6Raw:function(){return Kt},geoEisenlohr:function(){return te},geoEisenlohrRaw:function(){return Qt},geoFahey:function(){return ne},geoFaheyRaw:function(){return re},geoFoucaut:function(){return ae},geoFoucautRaw:function(){return ie},geoFoucautSinusoidal:function(){return se},geoFoucautSinusoidalRaw:function(){return oe},geoGilbert:function(){return he},geoGingery:function(){return ge},geoGingeryRaw:function(){return pe},geoGinzburg4:function(){return xe},geoGinzburg4Raw:function(){return me},geoGinzburg5:function(){return _e},geoGinzburg5Raw:function(){return be},geoGinzburg6:function(){return Te},geoGinzburg6Raw:function(){return we},geoGinzburg8:function(){return Ae},geoGinzburg8Raw:function(){return ke},geoGinzburg9:function(){return Se},geoGinzburg9Raw:function(){return Me},geoGringorten:function(){return Ce},geoGringortenQuincuncial:function(){return ii},geoGringortenRaw:function(){return Le},geoGuyou:function(){return ze},geoGuyouRaw:function(){return Ie},geoHammer:function(){return $},geoHammerRaw:function(){return K},geoHammerRetroazimuthal:function(){return Be},geoHammerRetroazimuthalRaw:function(){return Re},geoHealpix:function(){return Ye},geoHealpixRaw:function(){return qe},geoHill:function(){return Ze},geoHillRaw:function(){return Xe},geoHomolosine:function(){return er},geoHomolosineRaw:function(){return tr},geoHufnagel:function(){return nr},geoHufnagelRaw:function(){return rr},geoHyperelliptical:function(){return sr},geoHyperellipticalRaw:function(){return or},geoInterrupt:function(){return cr},geoInterruptedBoggs:function(){return hr},geoInterruptedHomolosine:function(){return dr},geoInterruptedMollweide:function(){return gr},geoInterruptedMollweideHemispheres:function(){return mr},geoInterruptedQuarticAuthalic:function(){return fn},geoInterruptedSinuMollweide:function(){return br},geoInterruptedSinusoidal:function(){return wr},geoKavrayskiy7:function(){return kr},geoKavrayskiy7Raw:function(){return Tr},geoLagrange:function(){return Mr},geoLagrangeRaw:function(){return Ar},geoLarrivee:function(){return Lr},geoLarriveeRaw:function(){return Er},geoLaskowski:function(){return Pr},geoLaskowskiRaw:function(){return Cr},geoLittrow:function(){return Ir},geoLittrowRaw:function(){return Or},geoLoximuthal:function(){return Dr},geoLoximuthalRaw:function(){return zr},geoMiller:function(){return Fr},geoMillerRaw:function(){return Rr},geoModifiedStereographic:function(){return Zr},geoModifiedStereographicAlaska:function(){return Hr},geoModifiedStereographicGs48:function(){return Gr},geoModifiedStereographicGs50:function(){return Wr},geoModifiedStereographicLee:function(){return Xr},geoModifiedStereographicMiller:function(){return Yr},geoModifiedStereographicRaw:function(){return Br},geoMollweide:function(){return ot},geoMollweideRaw:function(){return at},geoMtFlatPolarParabolic:function(){return Qr},geoMtFlatPolarParabolicRaw:function(){return $r},geoMtFlatPolarQuartic:function(){return en},geoMtFlatPolarQuarticRaw:function(){return tn},geoMtFlatPolarSinusoidal:function(){return nn},geoMtFlatPolarSinusoidalRaw:function(){return rn},geoNaturalEarth:function(){return an.c},geoNaturalEarth2:function(){return sn},geoNaturalEarth2Raw:function(){return on},geoNaturalEarthRaw:function(){return an.g},geoNellHammer:function(){return un},geoNellHammerRaw:function(){return ln},geoNicolosi:function(){return pn},geoNicolosiRaw:function(){return hn},geoPatterson:function(){return kn},geoPattersonRaw:function(){return Tn},geoPeirceQuincuncial:function(){return ai},geoPierceQuincuncial:function(){return ai},geoPolyconic:function(){return Mn},geoPolyconicRaw:function(){return An},geoPolyhedral:function(){return On},geoPolyhedralButterfly:function(){return Nn},geoPolyhedralCollignon:function(){return Vn},geoPolyhedralWaterman:function(){return qn},geoProject:function(){return Xn},geoQuantize:function(){return oi},geoQuincuncial:function(){return ni},geoRectangularPolyconic:function(){return li},geoRectangularPolyconicRaw:function(){return si},geoRobinson:function(){return fi},geoRobinsonRaw:function(){return ci},geoSatellite:function(){return pi},geoSatelliteRaw:function(){return hi},geoSinuMollweide:function(){return Qe},geoSinuMollweideRaw:function(){return $e},geoSinusoidal:function(){return pt},geoSinusoidalRaw:function(){return ht},geoStitch:function(){return Oi},geoTimes:function(){return zi},geoTimesRaw:function(){return Ii},geoTwoPointAzimuthal:function(){return Bi},geoTwoPointAzimuthalRaw:function(){return Ri},geoTwoPointAzimuthalUsa:function(){return Fi},geoTwoPointEquidistant:function(){return Ui},geoTwoPointEquidistantRaw:function(){return Ni},geoTwoPointEquidistantUsa:function(){return ji},geoVanDerGrinten:function(){return qi},geoVanDerGrinten2:function(){return Gi},geoVanDerGrinten2Raw:function(){return Hi},geoVanDerGrinten3:function(){return Yi},geoVanDerGrinten3Raw:function(){return Wi},geoVanDerGrinten4:function(){return Zi},geoVanDerGrinten4Raw:function(){return Xi},geoVanDerGrintenRaw:function(){return Vi},geoWagner:function(){return Ji},geoWagner4:function(){return ra},geoWagner4Raw:function(){return ea},geoWagner6:function(){return ia},geoWagner6Raw:function(){return na},geoWagner7:function(){return $i},geoWagnerRaw:function(){return Ki},geoWiechel:function(){return oa},geoWiechelRaw:function(){return aa},geoWinkel3:function(){return la},geoWinkel3Raw:function(){return sa}});var n=r(87952),i=Math.abs,a=Math.atan,o=Math.atan2,s=(Math.ceil,Math.cos),l=Math.exp,u=Math.floor,c=Math.log,f=Math.max,h=Math.min,p=Math.pow,d=Math.round,v=Math.sign||function(t){return t>0?1:t<0?-1:0},g=Math.sin,y=Math.tan,m=1e-6,x=1e-12,b=Math.PI,_=b/2,w=b/4,T=Math.SQRT1_2,k=P(2),A=P(b),M=2*b,S=180/b,E=b/180;function L(t){return t>1?_:t<-1?-_:Math.asin(t)}function C(t){return t>1?0:t<-1?b:Math.acos(t)}function P(t){return t>0?Math.sqrt(t):0}function O(t){return(l(t)-l(-t))/2}function I(t){return(l(t)+l(-t))/2}function z(t){var e=y(t/2),r=2*c(s(t/2))/(e*e);function n(t,e){var n=s(t),i=s(e),a=g(e),o=i*n,l=-((1-o?c((1+o)/2)/(1-o):-.5)+r/(1+o));return[l*i*g(t),l*a]}return n.invert=function(e,n){var a,l=P(e*e+n*n),u=-t/2,f=50;if(!l)return[0,0];do{var h=u/2,p=s(h),d=g(h),v=d/p,y=-c(i(p));u-=a=(2/v*y-r*v-l)/(-y/(d*d)+1-r/(2*p*p))*(p<0?.7:1)}while(i(a)>m&&--f>0);var x=g(u);return[o(e*x,l*s(u)),L(n*x/l)]},n}function D(){var t=_,e=(0,n.U)(z),r=e(t);return r.radius=function(r){return arguments.length?e(t=r*E):t*S},r.scale(179.976).clipAngle(147)}function R(t,e){var r=s(e),n=function(t){return t?t/Math.sin(t):1}(C(r*s(t/=2)));return[2*r*g(t)*n,g(e)*n]}function F(){return(0,n.c)(R).scale(152.63)}function B(t){var e=g(t),r=s(t),n=t>=0?1:-1,a=y(n*t),l=(1+e-r)/2;function u(t,i){var u=s(i),c=s(t/=2);return[(1+u)*g(t),(n*i>-o(c,a)-.001?0:10*-n)+l+g(i)*r-(1+u)*e*c]}return u.invert=function(t,u){var c=0,f=0,h=50;do{var p=s(c),d=g(c),v=s(f),y=g(f),x=1+v,b=x*d-t,_=l+y*r-x*e*p-u,w=x*p/2,T=-d*y,k=e*x*d/2,A=r*v+e*p*y,M=T*k-A*w,S=(_*T-b*A)/M/2,E=(b*k-_*w)/M;i(E)>2&&(E/=2),c-=S,f-=E}while((i(S)>m||i(E)>m)&&--h>0);return n*f>-o(s(c),a)-.001?[2*c,f]:null},u}function N(){var t=20*E,e=t>=0?1:-1,r=y(e*t),i=(0,n.U)(B),a=i(t),l=a.stream;return a.parallel=function(n){return arguments.length?(r=y((e=(t=n*E)>=0?1:-1)*t),i(t)):t*S},a.stream=function(n){var i=a.rotate(),u=l(n),c=(a.rotate([0,0]),l(n)),f=a.precision();return a.rotate(i),u.sphere=function(){c.polygonStart(),c.lineStart();for(var n=-180*e;e*n<180;n+=90*e)c.point(n,90*e);if(t)for(;e*(n-=3*e*f)>=-180;)c.point(n,e*-o(s(n*E/2),r)*S);c.lineEnd(),c.polygonEnd()},u},a.scale(218.695).center([0,28.0974])}function j(t,e){var r=y(e/2),n=P(1-r*r),i=1+n*s(t/=2),a=g(t)*n/i,o=r/i,l=a*a,u=o*o;return[4/3*a*(3+l-3*u),4/3*o*(3+3*l-u)]}function U(){return(0,n.c)(j).scale(66.1603)}R.invert=function(t,e){if(!(t*t+4*e*e>b*b+m)){var r=t,n=e,a=25;do{var o,l=g(r),u=g(r/2),c=s(r/2),f=g(n),h=s(n),p=g(2*n),d=f*f,v=h*h,y=u*u,x=1-v*c*c,_=x?C(h*c)*P(o=1/x):o=0,w=2*_*h*u-t,T=_*f-e,k=o*(v*y+_*h*c*d),A=o*(.5*l*p-2*_*f*u),M=.25*o*(p*u-_*f*v*l),S=o*(d*c+_*y*h),E=A*M-S*k;if(!E)break;var L=(T*A-w*S)/E,O=(w*M-T*k)/E;r-=L,n-=O}while((i(L)>m||i(O)>m)&&--a>0);return[r,n]}},j.invert=function(t,e){if(e*=3/8,!(t*=3/8)&&i(e)>1)return null;var r=1+t*t+e*e,n=P((r-P(r*r-4*e*e))/2),a=L(n)/3,l=n?function(t){return c(t+P(t*t-1))}(i(e/n))/3:function(t){return c(t+P(t*t+1))}(i(t))/3,u=s(a),f=I(l),h=f*f-u*u;return[2*v(t)*o(O(l)*u,.25-h),2*v(e)*o(f*g(a),.25+h)]};var V=P(8),q=c(1+k);function H(t,e){var r=i(e);return rx&&--u>0);return[t/(s(o)*(V-1/g(o))),v(e)*o]};var W=r(69020);function Y(t){var e=2*b/t;function r(t,r){var n=(0,W.O)(t,r);if(i(t)>_){var a=o(n[1],n[0]),l=P(n[0]*n[0]+n[1]*n[1]),u=e*d((a-_)/e)+_,c=o(g(a-=u),2-s(a));a=u+L(b/l*g(c))-c,n[0]=l*s(a),n[1]=l*g(a)}return n}return r.invert=function(t,r){var n=P(t*t+r*r);if(n>_){var i=o(r,t),l=e*d((i-_)/e)+_,u=i>l?-1:1,c=n*s(l-i),f=1/y(u*C((c-b)/P(b*(b-2*c)+n*n)));i=l+2*a((f+u*P(f*f-3))/3),t=n*s(i),r=n*g(i)}return W.O.invert(t,r)},r}function X(){var t=5,e=(0,n.U)(Y),r=e(t),i=r.stream,a=.01,l=-s(a*E),u=g(a*E);return r.lobes=function(r){return arguments.length?e(t=+r):t},r.stream=function(e){var n=r.rotate(),c=i(e),f=(r.rotate([0,0]),i(e));return r.rotate(n),c.sphere=function(){f.polygonStart(),f.lineStart();for(var e=0,r=360/t,n=2*b/t,i=90-180/t,c=_;e0&&i(n)>m);return s<0?NaN:r}function tt(t,e,r){return void 0===e&&(e=40),void 0===r&&(r=x),function(n,a,o,s){var l,u,c;o=void 0===o?0:+o,s=void 0===s?0:+s;for(var f=0;fl)o-=u/=2,s-=c/=2;else{l=v;var g=(o>0?-1:1)*r,y=(s>0?-1:1)*r,m=t(o+g,s),x=t(o,s+y),b=(m[0]-h[0])/g,_=(m[1]-h[1])/g,w=(x[0]-h[0])/y,T=(x[1]-h[1])/y,k=T*b-_*w,A=(i(k)<.5?.5:1)/k;if(o+=u=(d*w-p*T)*A,s+=c=(p*_-d*b)*A,i(u)0&&(i[1]*=1+a/1.5*i[0]*i[0]),i}return e.invert=tt(e),e}function rt(){return(0,n.c)(et()).rotate([-16.5,-42]).scale(176.57).center([7.93,.09])}function nt(t,e){var r,n=t*g(e),a=30;do{e-=r=(e+g(e)-n)/(1+s(e))}while(i(r)>m&&--a>0);return e/2}function it(t,e,r){function n(n,i){return[t*n*s(i=nt(r,i)),e*g(i)]}return n.invert=function(n,i){return i=L(i/e),[n/(t*s(i)),L((2*i+g(2*i))/r)]},n}J.invert=function(t,e){var r=2*L(e/2);return[t*s(r/2)/s(r),r]};var at=it(k/_,k,b);function ot(){return(0,n.c)(at).scale(169.529)}var st=2.00276,lt=1.11072;function ut(t,e){var r=nt(b,e);return[st*t/(1/s(e)+lt/s(r)),(e+k*g(r))/st]}function ct(){return(0,n.c)(ut).scale(160.857)}function ft(t){var e=0,r=(0,n.U)(t),i=r(e);return i.parallel=function(t){return arguments.length?r(e=t*E):e*S},i}function ht(t,e){return[t*s(e),e]}function pt(){return(0,n.c)(ht).scale(152.63)}function dt(t){if(!t)return ht;var e=1/y(t);function r(r,n){var i=e+t-n,a=i?r*s(n)/i:i;return[i*g(a),e-i*s(a)]}return r.invert=function(r,n){var i=P(r*r+(n=e-n)*n),a=e+t-i;return[i/s(a)*o(r,n),a]},r}function vt(){return ft(dt).scale(123.082).center([0,26.1441]).parallel(45)}function gt(t){function e(e,r){var n=_-r,i=n?e*t*g(n)/n:n;return[n*g(i)/t,_-n*s(i)]}return e.invert=function(e,r){var n=e*t,i=_-r,a=P(n*n+i*i),s=o(n,i);return[(a?a/g(a):1)*s/t,_-a]},e}function yt(){var t=.5,e=(0,n.U)(gt),r=e(t);return r.fraction=function(r){return arguments.length?e(t=+r):t},r.scale(158.837)}ut.invert=function(t,e){var r,n,a=st*e,o=e<0?-w:w,l=25;do{n=a-k*g(o),o-=r=(g(2*o)+2*o-b*g(n))/(2*s(2*o)+2+b*s(n)*k*s(o))}while(i(r)>m&&--l>0);return n=a-k*g(o),[t*(1/s(n)+lt/s(o))/st,n]},ht.invert=function(t,e){return[t/s(e),e]};var mt=it(1,4/b,b);function xt(){return(0,n.c)(mt).scale(152.63)}var bt=r(24052),_t=r(92992);function wt(t,e,r,n,a,l){var u,c=s(l);if(i(t)>1||i(l)>1)u=C(r*a+e*n*c);else{var f=g(t/2),h=g(l/2);u=2*L(P(f*f+e*n*h*h))}return i(u)>m?[u,o(n*g(l),e*a-r*n*c)]:[0,0]}function Tt(t,e,r){return C((t*t+e*e-r*r)/(2*t*e))}function kt(t){return t-2*b*u((t+b)/(2*b))}function At(t,e,r){for(var n,i=[[t[0],t[1],g(t[1]),s(t[1])],[e[0],e[1],g(e[1]),s(e[1])],[r[0],r[1],g(r[1]),s(r[1])]],a=i[2],o=0;o<3;++o,a=n)n=i[o],a.v=wt(n[1]-a[1],a[3],a[2],n[3],n[2],n[0]-a[0]),a.point=[0,0];var l=Tt(i[0].v[0],i[2].v[0],i[1].v[0]),u=Tt(i[0].v[0],i[1].v[0],i[2].v[0]),c=b-l;i[2].point[1]=0,i[0].point[0]=-(i[1].point[0]=i[0].v[0]/2);var f=[i[2].point[0]=i[0].point[0]+i[2].v[0]*s(l),2*(i[0].point[1]=i[1].point[1]=i[2].v[0]*g(l))];return function(t,e){var r,n=g(e),a=s(e),o=new Array(3);for(r=0;r<3;++r){var l=i[r];if(o[r]=wt(e-l[1],l[3],l[2],a,n,t-l[0]),!o[r][0])return l.point;o[r][1]=kt(o[r][1]-l.v[1])}var h=f.slice();for(r=0;r<3;++r){var p=2==r?0:r+1,d=Tt(i[r].v[0],o[r][0],o[p][0]);o[r][1]<0&&(d=-d),r?1==r?(d=u-d,h[0]-=o[r][0]*s(d),h[1]-=o[r][0]*g(d)):(d=c-d,h[0]+=o[r][0]*s(d),h[1]+=o[r][0]*g(d)):(h[0]+=o[r][0]*s(d),h[1]-=o[r][0]*g(d))}return h[0]/=3,h[1]/=3,h}}function Mt(t){return t[0]*=E,t[1]*=E,t}function St(){return Et([0,22],[45,22],[22.5,-22]).scale(380).center([22.5,2])}function Et(t,e,r){var i=(0,bt.c)({type:\"MultiPoint\",coordinates:[t,e,r]}),a=[-i[0],-i[1]],o=(0,_t.c)(a),s=At(Mt(o(t)),Mt(o(e)),Mt(o(r)));s.invert=tt(s);var l=(0,n.c)(s).rotate(a),u=l.center;return delete l.rotate,l.center=function(t){return arguments.length?u(o(t)):o.invert(u())},l.clipAngle(90)}function Lt(t,e){var r=P(1-g(e));return[2/A*t*r,A*(1-r)]}function Ct(){return(0,n.c)(Lt).scale(95.6464).center([0,30])}function Pt(t){var e=y(t);function r(t,r){return[t,(t?t/g(t):1)*(g(r)*s(t)-e*s(r))]}return r.invert=e?function(t,r){t&&(r*=g(t)/t);var n=s(t);return[t,2*o(P(n*n+e*e-r*r)-n,e-r)]}:function(t,e){return[t,L(t?e*y(t)/t:e)]},r}function Ot(){return ft(Pt).scale(249.828).clipAngle(90)}Lt.invert=function(t,e){var r=(r=e/A-1)*r;return[r>0?t*P(b/r)/2:0,L(1-r)]};var It=P(3);function zt(t,e){return[It*t*(2*s(2*e/3)-1)/A,It*A*g(e/3)]}function Dt(){return(0,n.c)(zt).scale(156.19)}function Rt(t){var e=s(t);function r(t,r){return[t*e,g(r)/e]}return r.invert=function(t,r){return[t/e,L(r*e)]},r}function Ft(){return ft(Rt).parallel(38.58).scale(195.044)}function Bt(t){var e=s(t);function r(t,r){return[t*e,(1+e)*y(r/2)]}return r.invert=function(t,r){return[t/e,2*a(r/(1+e))]},r}function Nt(){return ft(Bt).scale(124.75)}function jt(t,e){var r=P(8/(3*b));return[r*t*(1-i(e)/b),r*e]}function Ut(){return(0,n.c)(jt).scale(165.664)}function Vt(t,e){var r=P(4-3*g(i(e)));return[2/P(6*b)*t*r,v(e)*P(2*b/3)*(2-r)]}function qt(){return(0,n.c)(Vt).scale(165.664)}function Ht(t,e){var r=P(b*(4+b));return[2/r*t*(1+P(1-4*e*e/(b*b))),4/r*e]}function Gt(){return(0,n.c)(Ht).scale(180.739)}function Wt(t,e){var r=(2+_)*g(e);e/=2;for(var n=0,a=1/0;n<10&&i(a)>m;n++){var o=s(e);e-=a=(e+g(e)*(o+2)-r)/(2*o*(1+o))}return[2/P(b*(4+b))*t*(1+s(e)),2*P(b/(4+b))*g(e)]}function Yt(){return(0,n.c)(Wt).scale(180.739)}function Xt(t,e){return[t*(1+s(e))/P(2+b),2*e/P(2+b)]}function Zt(){return(0,n.c)(Xt).scale(173.044)}function Kt(t,e){for(var r=(1+_)*g(e),n=0,a=1/0;n<10&&i(a)>m;n++)e-=a=(e+g(e)-r)/(1+s(e));return r=P(2+b),[t*(1+s(e))/r,2*e/r]}function Jt(){return(0,n.c)(Kt).scale(173.044)}zt.invert=function(t,e){var r=3*L(e/(It*A));return[A*t/(It*(2*s(2*r/3)-1)),r]},jt.invert=function(t,e){var r=P(8/(3*b)),n=e/r;return[t/(r*(1-i(n)/b)),n]},Vt.invert=function(t,e){var r=2-i(e)/P(2*b/3);return[t*P(6*b)/(2*r),v(e)*L((4-r*r)/3)]},Ht.invert=function(t,e){var r=P(b*(4+b))/2;return[t*r/(1+P(1-e*e*(4+b)/(4*b))),e*r/2]},Wt.invert=function(t,e){var r=e*P((4+b)/b)/2,n=L(r),i=s(n);return[t/(2/P(b*(4+b))*(1+i)),L((n+r*(i+2))/(2+_))]},Xt.invert=function(t,e){var r=P(2+b),n=e*r/2;return[r*t/(1+s(n)),n]},Kt.invert=function(t,e){var r=1+_,n=P(r/2);return[2*t*n/(1+s(e*=n)),L((e+g(e))/r)]};var $t=3+2*k;function Qt(t,e){var r=g(t/=2),n=s(t),i=P(s(e)),o=s(e/=2),l=g(e)/(o+k*n*i),u=P(2/(1+l*l)),f=P((k*o+(n+r)*i)/(k*o+(n-r)*i));return[$t*(u*(f-1/f)-2*c(f)),$t*(u*l*(f+1/f)-2*a(l))]}function te(){return(0,n.c)(Qt).scale(62.5271)}Qt.invert=function(t,e){if(!(r=j.invert(t/1.2,1.065*e)))return null;var r,n=r[0],o=r[1],l=20;t/=$t,e/=$t;do{var u=n/2,p=o/2,d=g(u),v=s(u),y=g(p),x=s(p),b=s(o),w=P(b),A=y/(x+k*v*w),M=A*A,S=P(2/(1+M)),E=(k*x+(v+d)*w)/(k*x+(v-d)*w),L=P(E),C=L-1/L,O=L+1/L,I=S*C-2*c(L)-t,z=S*A*O-2*a(A)-e,D=y&&T*w*d*M/y,R=(k*v*x+w)/(2*(x+k*v*w)*(x+k*v*w)*w),F=-.5*A*S*S*S,B=F*D,N=F*R,U=(U=2*x+k*w*(v-d))*U*L,V=(k*v*x*w+b)/U,q=-k*d*y/(w*U),H=C*B-2*V/L+S*(V+V/E),G=C*N-2*q/L+S*(q+q/E),W=A*O*B-2*D/(1+M)+S*O*D+S*A*(V-V/E),Y=A*O*N-2*R/(1+M)+S*O*R+S*A*(q-q/E),X=G*W-Y*H;if(!X)break;var Z=(z*G-I*Y)/X,K=(I*W-z*H)/X;n-=Z,o=f(-_,h(_,o-K))}while((i(Z)>m||i(K)>m)&&--l>0);return i(i(o)-_)n){var h=P(f),p=o(c,u),v=r*d(p/r),y=p-v,x=t*s(y),w=(t*g(y)-y*g(x))/(_-x),T=de(y,w),k=(b-t)/ve(T,x,b);u=h;var A,M=50;do{u-=A=(t+ve(T,x,u)*k-h)/(T(u)*k)}while(i(A)>m&&--M>0);c=y*g(u),u<_&&(c-=w*(u-_));var S=g(v),E=s(v);l[0]=u*E-c*S,l[1]=u*S+c*E}return l}return a.invert=function(e,a){var l=e*e+a*a;if(l>n){var u=P(l),c=o(a,e),f=r*d(c/r),h=c-f;e=u*s(h),a=u*g(h);for(var p=e-_,v=g(e),y=a/v,m=e<_?1/0:0,w=10;;){var T=t*g(y),k=t*s(y),A=g(k),M=_-k,S=(T-y*A)/M,E=de(y,S);if(i(m)m||i(p)>m)&&--y>0);return[d,v]},c}var me=ye(2.8284,-1.6988,.75432,-.18071,1.76003,-.38914,.042555);function xe(){return(0,n.c)(me).scale(149.995)}var be=ye(2.583819,-.835827,.170354,-.038094,1.543313,-.411435,.082742);function _e(){return(0,n.c)(be).scale(153.93)}var we=ye(5/6*b,-.62636,-.0344,0,1.3493,-.05524,0,.045);function Te(){return(0,n.c)(we).scale(130.945)}function ke(t,e){var r=t*t,n=e*e;return[t*(1-.162388*n)*(.87-952426e-9*r*r),e*(1+n/12)]}function Ae(){return(0,n.c)(ke).scale(131.747)}ke.invert=function(t,e){var r,n=t,a=e,o=50;do{var s=a*a;a-=r=(a*(1+s/12)-e)/(1+s/4)}while(i(r)>m&&--o>0);o=50,t/=1-.162388*s;do{var l=(l=n*n)*l;n-=r=(n*(.87-952426e-9*l)-t)/(.87-.00476213*l)}while(i(r)>m&&--o>0);return[n,a]};var Me=ye(2.6516,-.76534,.19123,-.047094,1.36289,-.13965,.031762);function Se(){return(0,n.c)(Me).scale(131.087)}function Ee(t){var e=t(_,0)[0]-t(-_,0)[0];function r(r,n){var i=r>0?-.5:.5,a=t(r+i*b,n);return a[0]-=i*e,a}return t.invert&&(r.invert=function(r,n){var i=r>0?-.5:.5,a=t.invert(r+i*e,n),o=a[0]-i*b;return o<-b?o+=2*b:o>b&&(o-=2*b),a[0]=o,a}),r}function Le(t,e){var r=v(t),n=v(e),a=s(e),l=s(t)*a,u=g(t)*a,c=g(n*e);t=i(o(u,c)),e=L(l),i(t-_)>m&&(t%=_);var f=function(t,e){if(e===_)return[0,0];var r,n,a=g(e),o=a*a,l=o*o,u=1+l,c=1+3*l,f=1-l,h=L(1/P(u)),p=f+o*u*h,d=(1-a)/p,v=P(d),y=d*u,x=P(y),w=v*f;if(0===t)return[0,-(w+o*x)];var T,k=s(e),A=1/k,M=2*a*k,S=(-p*k-(1-a)*((-3*o+h*c)*M))/(p*p),E=-A*M,C=-A*(o*u*S+d*c*M),O=-2*A*(f*(.5*S/v)-2*o*v*M),I=4*t/b;if(t>.222*b||e.175*b){if(r=(w+o*P(y*(1+l)-w*w))/(1+l),t>b/4)return[r,r];var z=r,D=.5*r;r=.5*(D+z),n=50;do{var R=r*(O+E*P(y-r*r))+C*L(r/x)-I;if(!R)break;R<0?D=r:z=r,r=.5*(D+z)}while(i(z-D)>m&&--n>0)}else{r=m,n=25;do{var F=r*r,B=P(y-F),N=O+E*B,j=r*N+C*L(r/x)-I;r-=T=B?j/(N+(C-E*F)/B):0}while(i(T)>m&&--n>0)}return[r,-w-o*P(y-r*r)]}(t>b/4?_-t:t,e);return t>b/4&&(c=f[0],f[0]=-f[1],f[1]=-c),f[0]*=r,f[1]*=-n,f}function Ce(){return(0,n.c)(Ee(Le)).scale(239.75)}function Pe(t,e){var r,n,o,u,c,f;if(e=1-m)return r=(1-e)/4,o=1/(n=I(t)),[(u=((f=l(2*(f=t)))-1)/(f+1))+r*((c=n*O(t))-t)/(n*n),o-r*u*o*(c-t),o+r*u*o*(c+t),2*a(l(t))-_+r*(c-t)/n];var h=[1,0,0,0,0,0,0,0,0],p=[P(e),0,0,0,0,0,0,0,0],d=0;for(n=P(1-e),c=1;i(p[d]/h[d])>m&&d<8;)r=h[d++],p[d]=(r-n)/2,h[d]=(r+n)/2,n=P(r*n),c*=2;o=c*h[d]*t;do{o=(L(u=p[d]*g(n=o)/h[d])+o)/2}while(--d);return[g(o),u=s(o),u/s(o-n),o]}function Oe(t,e){if(!e)return t;if(1===e)return c(y(t/2+w));for(var r=1,n=P(1-e),o=P(e),s=0;i(o)>m;s++){if(t%b){var l=a(n*y(t)/r);l<0&&(l+=b),t+=l+~~(t/b)*b}else t+=t;o=(r+n)/2,n=P(r*n),o=((r=o)-n)/2}return t/(p(2,s)*r)}function Ie(t,e){var r=(k-1)/(k+1),n=P(1-r*r),u=Oe(_,n*n),f=c(y(b/4+i(e)/2)),h=l(-1*f)/P(r),p=function(t,e){var r=t*t,n=e+1,i=1-r-e*e;return[.5*((t>=0?_:-_)-o(i,2*t)),-.25*c(i*i+4*r)+.5*c(n*n+r)]}(h*s(-1*t),h*g(-1*t)),d=function(t,e,r){var n=i(t),o=O(i(e));if(n){var s=1/g(n),l=1/(y(n)*y(n)),u=-(l+r*(o*o*s*s)-1+r),c=(-u+P(u*u-(r-1)*l*4))/2;return[Oe(a(1/P(c)),r)*v(t),Oe(a(P((c/l-1)/r)),1-r)*v(e)]}return[0,Oe(a(o),1-r)*v(e)]}(p[0],p[1],n*n);return[-d[1],(e>=0?1:-1)*(.5*u-d[0])]}function ze(){return(0,n.c)(Ee(Ie)).scale(151.496)}Le.invert=function(t,e){i(t)>1&&(t=2*v(t)-t),i(e)>1&&(e=2*v(e)-e);var r=v(t),n=v(e),a=-r*t,l=-n*e,u=l/a<1,c=function(t,e){for(var r=0,n=1,a=.5,o=50;;){var l=a*a,u=P(a),c=L(1/P(1+l)),f=1-l+a*(1+l)*c,h=(1-u)/f,p=P(h),d=h*(1+l),v=p*(1-l),g=P(d-t*t),y=e+v+a*g;if(i(n-r)0?r=a:n=a,a=.5*(r+n)}if(!o)return null;var m=L(u),_=s(m),w=1/_,T=2*u*_,k=(-f*_-(-3*a+c*(1+3*l))*T*(1-u))/(f*f);return[b/4*(t*(-2*w*((1-l)*(.5*k/p)-2*a*p*T)+-w*T*g)+-w*(a*(1+l)*k+h*(1+3*l)*T)*L(t/P(d))),m]}(u?l:a,u?a:l),f=c[0],h=c[1],p=s(h);return u&&(f=-_-f),[r*(o(g(f)*p,-g(h))+b),n*L(s(f)*p)]},Ie.invert=function(t,e){var r,n,i,s,u,f,h=(k-1)/(k+1),p=P(1-h*h),d=(n=-t,i=p*p,(r=.5*Oe(_,p*p)-e)?(s=Pe(r,i),n?(f=(u=Pe(n,1-i))[1]*u[1]+i*s[0]*s[0]*u[0]*u[0],[[s[0]*u[2]/f,s[1]*s[2]*u[0]*u[1]/f],[s[1]*u[1]/f,-s[0]*s[2]*u[0]*u[2]/f],[s[2]*u[1]*u[2]/f,-i*s[0]*s[1]*u[0]/f]]):[[s[0],0],[s[1],0],[s[2],0]]):[[0,(u=Pe(n,1-i))[0]/u[1]],[1/u[1],0],[u[2]/u[1],0]]),v=function(t,e){var r=e[0]*e[0]+e[1]*e[1];return[(t[0]*e[0]+t[1]*e[1])/r,(t[1]*e[0]-t[0]*e[1])/r]}(d[0],d[1]);return[o(v[1],v[0])/-1,2*a(l(-.5*c(h*v[0]*v[0]+h*v[1]*v[1])))-_]};var De=r(61780);function Re(t){var e=g(t),r=s(t),n=Fe(t);function a(t,a){var o=n(t,a);t=o[0],a=o[1];var l=g(a),u=s(a),c=s(t),f=C(e*l+r*u*c),h=g(f),p=i(h)>m?f/h:1;return[p*r*g(t),(i(t)>_?p:-p)*(e*u-r*l*c)]}return n.invert=Fe(-t),a.invert=function(t,r){var i=P(t*t+r*r),a=-g(i),l=s(i),u=i*l,c=-r*a,f=i*e,h=P(u*u+c*c-f*f),p=o(u*f+c*h,c*f-u*h),d=(i>_?-1:1)*o(t*a,i*s(p)*l+r*g(p)*a);return n.invert(d,p)},a}function Fe(t){var e=g(t),r=s(t);return function(t,n){var i=s(n),a=s(t)*i,l=g(t)*i,u=g(n);return[o(l,a*r-u*e),L(u*r+a*e)]}}function Be(){var t=0,e=(0,n.U)(Re),r=e(t),i=r.rotate,a=r.stream,o=(0,De.c)();return r.parallel=function(n){if(!arguments.length)return t*S;var i=r.rotate();return e(t=n*E).rotate(i)},r.rotate=function(e){return arguments.length?(i.call(r,[e[0],e[1]-t*S]),o.center([-e[0],-e[1]]),r):((e=i.call(r))[1]+=t*S,e)},r.stream=function(t){return(t=a(t)).sphere=function(){t.polygonStart();var e,r=o.radius(89.99)().coordinates[0],n=r.length-1,i=-1;for(t.lineStart();++i=0;)t.point((e=r[i])[0],e[1]);t.lineEnd(),t.polygonEnd()},t},r.scale(79.4187).parallel(45).clipAngle(179.999)}var Ne=r(84706),je=r(16016),Ue=L(1-1/3)*S,Ve=Rt(0);function qe(t){var e=Ue*E,r=Lt(b,e)[0]-Lt(-b,e)[0],n=Ve(0,e)[1],a=Lt(0,e)[1],o=A-a,s=M/t,l=4/M,c=n+o*o*4/M;function p(p,d){var v,g=i(d);if(g>e){var y=h(t-1,f(0,u((p+b)/s)));(v=Lt(p+=b*(t-1)/t-y*s,g))[0]=v[0]*M/r-M*(t-1)/(2*t)+y*M/t,v[1]=n+4*(v[1]-a)*o/M,d<0&&(v[1]=-v[1])}else v=Ve(p,d);return v[0]*=l,v[1]/=c,v}return p.invert=function(e,p){e/=l;var d=i(p*=c);if(d>n){var v=h(t-1,f(0,u((e+b)/s)));e=(e+b*(t-1)/t-v*s)*r/M;var g=Lt.invert(e,.25*(d-n)*M/o+a);return g[0]-=b*(t-1)/t-v*s,p<0&&(g[1]=-g[1]),g}return Ve.invert(e,p)},p}function He(t,e){return[t,1&e?90-m:Ue]}function Ge(t,e){return[t,1&e?-90+m:-Ue]}function We(t){return[t[0]*(1-m),t[1]]}function Ye(){var t=4,e=(0,n.U)(qe),r=e(t),i=r.stream;return r.lobes=function(r){return arguments.length?e(t=+r):t},r.stream=function(e){var n=r.rotate(),a=i(e),o=(r.rotate([0,0]),i(e));return r.rotate(n),a.sphere=function(){var e,r;(0,je.c)((e=180/t,r=[].concat((0,Ne.ik)(-180,180+e/2,e).map(He),(0,Ne.ik)(180,-180-e/2,-e).map(Ge)),{type:\"Polygon\",coordinates:[180===e?r.map(We):r]}),o)},a},r.scale(239.75)}function Xe(t){var e,r=1+t,n=L(g(1/r)),a=2*P(b/(e=b+4*n*r)),l=.5*a*(r+P(t*(2+t))),u=t*t,c=r*r;function f(f,h){var p,d,v=1-g(h);if(v&&v<2){var y,m=_-h,w=25;do{var T=g(m),k=s(m),A=n+o(T,r-k),M=1+c-2*r*k;m-=y=(m-u*n-r*T+M*A-.5*v*e)/(2*r*T*A)}while(i(y)>x&&--w>0);p=a*P(M),d=f*A/b}else p=a*(t+v),d=f*n/b;return[p*g(d),l-p*s(d)]}return f.invert=function(t,i){var s=t*t+(i-=l)*i,f=(1+c-s/(a*a))/(2*r),h=C(f),p=g(h),d=n+o(p,r-f);return[L(t/P(s))*b/d,L(1-2*(h-u*n-r*p+(1+c-2*r*f)*d)/e)]},f}function Ze(){var t=1,e=(0,n.U)(Xe),r=e(t);return r.ratio=function(r){return arguments.length?e(t=+r):t},r.scale(167.774).center([0,18.67])}var Ke=.7109889596207567,Je=.0528035274542;function $e(t,e){return e>-Ke?((t=at(t,e))[1]+=Je,t):ht(t,e)}function Qe(){return(0,n.c)($e).rotate([-20,-55]).scale(164.263).center([0,-5.4036])}function tr(t,e){return i(e)>Ke?((t=at(t,e))[1]-=e>0?Je:-Je,t):ht(t,e)}function er(){return(0,n.c)(tr).scale(152.63)}function rr(t,e,r,n){var i=P(4*b/(2*r+(1+t-e/2)*g(2*r)+(t+e)/2*g(4*r)+e/2*g(6*r))),a=P(n*g(r)*P((1+t*s(2*r)+e*s(4*r))/(1+t+e))),o=r*u(1);function l(r){return P(1+t*s(2*r)+e*s(4*r))}function u(n){var i=n*r;return(2*i+(1+t-e/2)*g(2*i)+(t+e)/2*g(4*i)+e/2*g(6*i))/r}function c(t){return l(t)*g(t)}var f=function(t,e){var n=r*Q(u,o*g(e)/r,e/b);isNaN(n)&&(n=r*v(e));var c=i*l(n);return[c*a*t/b*s(n),c/a*g(n)]};return f.invert=function(t,e){var n=Q(c,e*a/i);return[t*b/(s(n)*i*a*l(n)),L(r*u(n/r)/o)]},0===r&&(i=P(n/b),(f=function(t,e){return[t*i,g(e)/i]}).invert=function(t,e){return[t/i,L(e*i)]}),f}function nr(){var t=1,e=0,r=45*E,i=2,a=(0,n.U)(rr),o=a(t,e,r,i);return o.a=function(n){return arguments.length?a(t=+n,e,r,i):t},o.b=function(n){return arguments.length?a(t,e=+n,r,i):e},o.psiMax=function(n){return arguments.length?a(t,e,r=+n*E,i):r*S},o.ratio=function(n){return arguments.length?a(t,e,r,i=+n):i},o.scale(180.739)}function ir(t,e,r,n,i,a,o,s,l,u,c){if(c.nanEncountered)return NaN;var f,h,p,d,v,g,y,m,x,b;if(h=t(e+.25*(f=r-e)),p=t(r-.25*f),isNaN(h))c.nanEncountered=!0;else{if(!isNaN(p))return b=((g=(d=f*(n+4*h+i)/12)+(v=f*(i+4*p+a)/12))-o)/15,u>l?(c.maxDepthCount++,g+b):Math.abs(b)t?r=n:e=n,n=e+r>>1}while(n>e);var i=u[n+1]-u[n];return i&&(i=(t-u[n+1])/i),(n+1+i)/s}var h=2*f(1)/b*o/r,d=function(t,e){var r=f(i(g(e))),a=n(r)*t;return r/=h,[a,e>=0?r:-r]};return d.invert=function(t,e){var r;return i(e*=h)<1&&(r=v(e)*L(a(i(e))*o)),[t/n(i(e)),r]},d}function sr(){var t=0,e=2.5,r=1.183136,i=(0,n.U)(or),a=i(t,e,r);return a.alpha=function(n){return arguments.length?i(t=+n,e,r):t},a.k=function(n){return arguments.length?i(t,e=+n,r):e},a.gamma=function(n){return arguments.length?i(t,e,r=+n):r},a.scale(152.63)}function lr(t,e){return i(t[0]-e[0])a[o][2][0];++o);var l=t(r-a[o][1][0],n);return l[0]+=t(a[o][1][0],i*n>i*a[o][0][1]?a[o][0][1]:n)[0],l}r?o.invert=r(o):t.invert&&(o.invert=function(r,n){for(var i=a[+(n<0)],s=e[+(n<0)],l=0,u=i.length;l=0;--s)r=(e=t[1][s])[0][0],n=e[0][1],i=e[1][1],a=e[2][0],o=e[2][1],l.push(ur([[a-m,o-m],[a-m,i+m],[r+m,i+m],[r+m,n-m]],30));return{type:\"Polygon\",coordinates:[(0,Ne.Uf)(l)]}}(r),e=r.map((function(t){return t.map((function(t){return[[t[0][0]*E,t[0][1]*E],[t[1][0]*E,t[1][1]*E],[t[2][0]*E,t[2][1]*E]]}))})),a=e.map((function(e){return e.map((function(e){var r,n=t(e[0][0],e[0][1])[0],i=t(e[2][0],e[2][1])[0],a=t(e[1][0],e[0][1])[1],o=t(e[1][0],e[1][1])[1];return a>o&&(r=a,a=o,o=r),[[n,a],[i,o]]}))})),s):e.map((function(t){return t.map((function(t){return[[t[0][0]*S,t[0][1]*S],[t[1][0]*S,t[1][1]*S],[t[2][0]*S,t[2][1]*S]]}))}))},null!=e&&s.lobes(e),s}$e.invert=function(t,e){return e>-Ke?at.invert(t,e-Je):ht.invert(t,e)},tr.invert=function(t,e){return i(e)>Ke?at.invert(t,e+(e>0?Je:-Je)):ht.invert(t,e)};var fr=[[[[-180,0],[-100,90],[-40,0]],[[-40,0],[30,90],[180,0]]],[[[-180,0],[-160,-90],[-100,0]],[[-100,0],[-60,-90],[-20,0]],[[-20,0],[20,-90],[80,0]],[[80,0],[140,-90],[180,0]]]];function hr(){return cr(ut,fr).scale(160.857)}var pr=[[[[-180,0],[-100,90],[-40,0]],[[-40,0],[30,90],[180,0]]],[[[-180,0],[-160,-90],[-100,0]],[[-100,0],[-60,-90],[-20,0]],[[-20,0],[20,-90],[80,0]],[[80,0],[140,-90],[180,0]]]];function dr(){return cr(tr,pr).scale(152.63)}var vr=[[[[-180,0],[-100,90],[-40,0]],[[-40,0],[30,90],[180,0]]],[[[-180,0],[-160,-90],[-100,0]],[[-100,0],[-60,-90],[-20,0]],[[-20,0],[20,-90],[80,0]],[[80,0],[140,-90],[180,0]]]];function gr(){return cr(at,vr).scale(169.529)}var yr=[[[[-180,0],[-90,90],[0,0]],[[0,0],[90,90],[180,0]]],[[[-180,0],[-90,-90],[0,0]],[[0,0],[90,-90],[180,0]]]];function mr(){return cr(at,yr).scale(169.529).rotate([20,0])}var xr=[[[[-180,35],[-30,90],[0,35]],[[0,35],[30,90],[180,35]]],[[[-180,-10],[-102,-90],[-65,-10]],[[-65,-10],[5,-90],[77,-10]],[[77,-10],[103,-90],[180,-10]]]];function br(){return cr($e,xr,tt).rotate([-20,-55]).scale(164.263).center([0,-5.4036])}var _r=[[[[-180,0],[-110,90],[-40,0]],[[-40,0],[0,90],[40,0]],[[40,0],[110,90],[180,0]]],[[[-180,0],[-110,-90],[-40,0]],[[-40,0],[0,-90],[40,0]],[[40,0],[110,-90],[180,0]]]];function wr(){return cr(ht,_r).scale(152.63).rotate([-20,0])}function Tr(t,e){return[3/M*t*P(b*b/3-e*e),e]}function kr(){return(0,n.c)(Tr).scale(158.837)}function Ar(t){function e(e,r){if(i(i(r)-_)2)return null;var a=(e/=2)*e,s=(r/=2)*r,l=2*r/(1+a+s);return l=p((1+l)/(1-l),1/t),[o(2*e,1-a-s)/t,L((l-1)/(l+1))]},e}function Mr(){var t=.5,e=(0,n.U)(Ar),r=e(t);return r.spacing=function(r){return arguments.length?e(t=+r):t},r.scale(124.75)}Tr.invert=function(t,e){return[M/3*t/P(b*b/3-e*e),e]};var Sr=b/k;function Er(t,e){return[t*(1+P(s(e)))/2,e/(s(e/2)*s(t/6))]}function Lr(){return(0,n.c)(Er).scale(97.2672)}function Cr(t,e){var r=t*t,n=e*e;return[t*(.975534+n*(-.0143059*r-.119161+-.0547009*n)),e*(1.00384+r*(.0802894+-.02855*n+199025e-9*r)+n*(.0998909+-.0491032*n))]}function Pr(){return(0,n.c)(Cr).scale(139.98)}function Or(t,e){return[g(t)/s(e),y(e)*s(t)]}function Ir(){return(0,n.c)(Or).scale(144.049).clipAngle(89.999)}function zr(t){var e=s(t),r=y(w+t/2);function n(n,a){var o=a-t,s=i(o)=0;)h=(f=t[c])[0]+l*(i=h)-u*p,p=f[1]+l*p+u*i;return[h=l*(i=h)-u*p,p=l*p+u*i]}return r.invert=function(r,n){var l=20,u=r,c=n;do{for(var f,h=e,p=t[h],d=p[0],v=p[1],y=0,x=0;--h>=0;)y=d+u*(f=y)-c*x,x=v+u*x+c*f,d=(p=t[h])[0]+u*(f=d)-c*v,v=p[1]+u*v+c*f;var b,_,w=(y=d+u*(f=y)-c*x)*y+(x=v+u*x+c*f)*x;u-=b=((d=u*(f=d)-c*v-r)*y+(v=u*v+c*f-n)*x)/w,c-=_=(v*y-d*x)/w}while(i(b)+i(_)>m*m&&--l>0);if(l){var T=P(u*u+c*c),k=2*a(.5*T),A=g(k);return[o(u*A,T*s(k)),T?L(c*A/T):0]}},r}Er.invert=function(t,e){var r=i(t),n=i(e),a=m,o=_;nm||i(x)>m)&&--a>0);return a&&[r,n]},Or.invert=function(t,e){var r=t*t,n=e*e+1,i=r+n,a=t?T*P((i-P(i*i-4*r))/r):1/P(n);return[L(t*a),v(e)*C(a)]},Rr.invert=function(t,e){return[t,2.5*a(l(.8*e))-.625*b]};var Nr=[[.9972523,0],[.0052513,-.0041175],[.0074606,.0048125],[-.0153783,-.1968253],[.0636871,-.1408027],[.3660976,-.2937382]],jr=[[.98879,0],[0,0],[-.050909,0],[0,0],[.075528,0]],Ur=[[.984299,0],[.0211642,.0037608],[-.1036018,-.0575102],[-.0329095,-.0320119],[.0499471,.1223335],[.026046,.0899805],[7388e-7,-.1435792],[.0075848,-.1334108],[-.0216473,.0776645],[-.0225161,.0853673]],Vr=[[.9245,0],[0,0],[.01943,0]],qr=[[.721316,0],[0,0],[-.00881625,-.00617325]];function Hr(){return Zr(Nr,[152,-64]).scale(1400).center([-160.908,62.4864]).clipAngle(30).angle(7.8)}function Gr(){return Zr(jr,[95,-38]).scale(1e3).clipAngle(55).center([-96.5563,38.8675])}function Wr(){return Zr(Ur,[120,-45]).scale(359.513).clipAngle(55).center([-117.474,53.0628])}function Yr(){return Zr(Vr,[-20,-18]).scale(209.091).center([20,16.7214]).clipAngle(82)}function Xr(){return Zr(qr,[165,10]).scale(250).clipAngle(130).center([-165,-10])}function Zr(t,e){var r=(0,n.c)(Br(t)).rotate(e).clipAngle(90),i=(0,_t.c)(e),a=r.center;return delete r.rotate,r.center=function(t){return arguments.length?a(i(t)):i.invert(a())},r}var Kr=P(6),Jr=P(7);function $r(t,e){var r=L(7*g(e)/(3*Kr));return[Kr*t*(2*s(2*r/3)-1)/Jr,9*g(r/3)/Jr]}function Qr(){return(0,n.c)($r).scale(164.859)}function tn(t,e){for(var r,n=(1+T)*g(e),a=e,o=0;o<25&&(a-=r=(g(a/2)+g(a)-n)/(.5*s(a/2)+s(a)),!(i(r)x&&--l>0);return[t/(.84719-.13063*(n=s*s)+(o=n*(a=n*n))*o*(.05494*n-.04515-.02326*a+.00331*o)),s]},ln.invert=function(t,e){for(var r=e/2,n=0,a=1/0;n<10&&i(a)>m;++n){var o=s(e/2);e-=a=(e-y(e/2)-r)/(1-.5/(o*o))}return[2*t/(1+s(e)),e]};var cn=[[[[-180,0],[-90,90],[0,0]],[[0,0],[90,90],[180,0]]],[[[-180,0],[-90,-90],[0,0]],[[0,0],[90,-90],[180,0]]]];function fn(){return cr(K(1/0),cn).rotate([20,0]).scale(152.63)}function hn(t,e){var r=g(e),n=s(e),a=v(t);if(0===t||i(e)===_)return[0,e];if(0===e)return[t,0];if(i(t)===_)return[t*n,_*r];var o=b/(2*t)-2*t/b,l=2*e/b,u=(1-l*l)/(r-l),c=o*o,f=u*u,h=1+c/f,p=1+f/c,d=(o*r/u-o/2)/h,y=(f*r/c+u/2)/p,m=y*y-(f*r*r/c+u*r-1)/p;return[_*(d+P(d*d+n*n/h)*a),_*(y+P(m<0?0:m)*v(-e*o)*a)]}function pn(){return(0,n.c)(hn).scale(127.267)}hn.invert=function(t,e){var r=(t/=_)*t,n=r+(e/=_)*e,i=b*b;return[t?(n-1+P((1-n)*(1-n)+4*r))/(2*t)*_:0,Q((function(t){return n*(b*g(t)-2*t)*b+4*t*t*(e-g(t))+2*b*t-i*e}),0)]};var dn=1.0148,vn=.23185,gn=-.14499,yn=.02406,mn=dn,xn=5*vn,bn=7*gn,_n=9*yn,wn=1.790857183;function Tn(t,e){var r=e*e;return[t,e*(dn+r*r*(vn+r*(gn+yn*r)))]}function kn(){return(0,n.c)(Tn).scale(139.319)}function An(t,e){if(i(e)wn?e=wn:e<-1.790857183&&(e=-1.790857183);var r,n=e;do{var a=n*n;n-=r=(n*(dn+a*a*(vn+a*(gn+yn*a)))-e)/(mn+a*a*(xn+a*(bn+_n*a)))}while(i(r)>m);return[t,n]},An.invert=function(t,e){if(i(e)m&&--o>0);return l=y(a),[(i(e)=0;)if(n=e[s],r[0]===n[0]&&r[1]===n[1]){if(a)return[a,r];a=r}}}(e.face,r.face),i=(c=n.map(r.project),f=n.map(e.project),h=Cn(c[1],c[0]),p=Cn(f[1],f[0]),d=function(t,e){return o(t[0]*e[1]-t[1]*e[0],t[0]*e[0]+t[1]*e[1])}(h,p),v=Pn(h)/Pn(p),Ln([1,0,c[0][0],0,1,c[0][1]],Ln([v,0,0,0,v,0],Ln([s(d),g(d),0,-g(d),s(d),0],[1,0,-f[0][0],0,1,-f[0][1]]))));e.transform=r.transform?Ln(r.transform,i):i;for(var a=r.edges,l=0,u=a.length;l0?[-e[0],0]:[180-e[0],180])};var e=Bn.map((function(e){return{face:e,project:t(e)}}));return[-1,0,0,1,0,1,4,5].forEach((function(t,r){var n=e[t];n&&(n.children||(n.children=[])).push(e[r])})),On(e[0],(function(t,r){return e[t<-b/2?r<0?6:4:t<0?r<0?2:0:tn^p>n&&r<(h-u)*(n-c)/(p-c)+u&&(i=!i)}return i}(t[0],r))return t.push(e),!0}))||t.push([e])})),Qn=[],t.length?t.length>1?{type:\"MultiPolygon\",coordinates:t}:{type:\"Polygon\",coordinates:t[0]}:null}};function ni(t){var e=t(_,0)[0]-t(-_,0)[0];function r(r,n){var a=i(r)<_,o=t(a?r:r>0?r-b:r+b,n),s=(o[0]-o[1])*T,l=(o[0]+o[1])*T;if(a)return[s,l];var u=e*T,c=s>0^l>0?-1:1;return[c*s-v(l)*u,c*l-v(s)*u]}return t.invert&&(r.invert=function(r,n){var a=(r+n)*T,o=(n-r)*T,s=i(a)<.5*e&&i(o)<.5*e;if(!s){var l=e*T,u=a>0^o>0?-1:1,c=-u*r+(o>0?1:-1)*l,f=-u*n+(a>0?1:-1)*l;a=(-c-f)*T,o=(c-f)*T}var h=t.invert(a,o);return s||(h[0]+=a>0?b:-b),h}),(0,n.c)(r).rotate([-90,-90,45]).clipAngle(179.999)}function ii(){return ni(Le).scale(176.423)}function ai(){return ni(Ie).scale(111.48)}function oi(t,e){if(!(0<=(e=+e)&&e<=20))throw new Error(\"invalid digits\");function r(t){var r=t.length,n=2,i=new Array(r);for(i[0]=+t[0].toFixed(e),i[1]=+t[1].toFixed(e);n2||a[0]!=e[0]||a[1]!=e[1])&&(n.push(a),e=a)}return 1===n.length&&t.length>1&&n.push(r(t[t.length-1])),n}function a(t){return t.map(i)}function o(t){if(null==t)return t;var e;switch(t.type){case\"GeometryCollection\":e={type:\"GeometryCollection\",geometries:t.geometries.map(o)};break;case\"Point\":e={type:\"Point\",coordinates:r(t.coordinates)};break;case\"MultiPoint\":e={type:t.type,coordinates:n(t.coordinates)};break;case\"LineString\":e={type:t.type,coordinates:i(t.coordinates)};break;case\"MultiLineString\":case\"Polygon\":e={type:t.type,coordinates:a(t.coordinates)};break;case\"MultiPolygon\":e={type:\"MultiPolygon\",coordinates:t.coordinates.map(a)};break;default:return t}return null!=t.bbox&&(e.bbox=t.bbox),e}function s(t){var e={type:\"Feature\",properties:t.properties,geometry:o(t.geometry)};return null!=t.id&&(e.id=t.id),null!=t.bbox&&(e.bbox=t.bbox),e}if(null!=t)switch(t.type){case\"Feature\":return s(t);case\"FeatureCollection\":var l={type:\"FeatureCollection\",features:t.features.map(s)};return null!=t.bbox&&(l.bbox=t.bbox),l;default:return o(t)}return t}function si(t){var e=g(t);function r(r,n){var i=e?y(r*e/2)/e:r/2;if(!n)return[2*i,-t];var o=2*a(i*g(n)),l=1/y(n);return[g(o)*l,n+(1-s(o))*l-t]}return r.invert=function(r,n){if(i(n+=t)m&&--c>0);var d=r*(f=y(u)),v=y(i(n)0?_:-_)*(f+o*(d-l)/2+o*o*(d-2*f+l)/2)]}function fi(){return(0,n.c)(ci).scale(152.63)}function hi(t,e){var r=function(t){function e(e,r){var n=s(r),i=(t-1)/(t-n*s(e));return[i*n*g(e),i*g(r)]}return e.invert=function(e,r){var n=e*e+r*r,i=P(n),a=(t-P(1-n*(t+1)/(t-1)))/((t-1)/i+i/(t-1));return[o(e*a,i*P(1-a*a)),i?L(r*a/i):0]},e}(t);if(!e)return r;var n=s(e),i=g(e);function a(e,a){var o=r(e,a),s=o[1],l=s*i/(t-1)+n;return[o[0]*n/l,s/l]}return a.invert=function(e,a){var o=(t-1)/(t-1-a*i);return r.invert(o*e,o*a*n)},a}function pi(){var t=2,e=0,r=(0,n.U)(hi),i=r(t,e);return i.distance=function(n){return arguments.length?r(t=+n,e):t},i.tilt=function(n){return arguments.length?r(t,e=n*E):e*S},i.scale(432.147).clipAngle(C(1/t)*S-1e-6)}ui.forEach((function(t){t[1]*=1.0144})),ci.invert=function(t,e){var r=e/_,n=90*r,a=h(18,i(n/5)),o=f(0,u(a));do{var s=ui[o][1],l=ui[o+1][1],c=ui[h(19,o+2)][1],p=c-s,d=c-2*l+s,v=2*(i(r)-l)/p,g=d/p,y=v*(1-g*v*(1-2*g*v));if(y>=0||1===o){n=(e>=0?5:-5)*(y+a);var m,b=50;do{y=(a=h(18,i(n)/5))-(o=u(a)),s=ui[o][1],l=ui[o+1][1],c=ui[h(19,o+2)][1],n-=(m=(e>=0?_:-_)*(l+y*(c-s)/2+y*y*(c-2*l+s)/2)-e)*S}while(i(m)>x&&--b>0);break}}while(--o>=0);var w=ui[o][0],T=ui[o+1][0],k=ui[h(19,o+2)][0];return[t/(T+y*(k-w)/2+y*y*(k-2*T+w)/2),n*E]};var di=1e-4,vi=1e4,gi=-180,yi=gi+di,mi=180,xi=mi-di,bi=-90,_i=bi+di,wi=90,Ti=wi-di;function ki(t){return t.length>0}function Ai(t){return t===bi||t===wi?[0,t]:[gi,(e=t,Math.floor(e*vi)/vi)];var e}function Mi(t){var e=t[0],r=t[1],n=!1;return e<=yi?(e=gi,n=!0):e>=xi&&(e=mi,n=!0),r<=_i?(r=bi,n=!0):r>=Ti&&(r=wi,n=!0),n?[e,r]:t}function Si(t){return t.map(Mi)}function Ei(t,e,r){for(var n=0,i=t.length;n=xi||c<=_i||c>=Ti){a[o]=Mi(l);for(var f=o+1;fyi&&p_i&&d=s)break;r.push({index:-1,polygon:e,ring:a=a.slice(f-1)}),a[0]=Ai(a[0][1]),o=-1,s=a.length}}}}function Li(t){var e,r,n,i,a,o,s=t.length,l={},u={};for(e=0;e0?b-l:l)*S],c=(0,n.c)(t(s)).rotate(u),f=(0,_t.c)(u),h=c.center;return delete c.rotate,c.center=function(t){return arguments.length?h(f(t)):f.invert(h())},c.clipAngle(90)}function Ri(t){var e=s(t);function r(t,r){var n=(0,Rn.Y)(t,r);return n[0]*=e,n}return r.invert=function(t,r){return Rn.Y.invert(t/e,r)},r}function Fi(){return Bi([-158,21.5],[-77,39]).clipAngle(60).scale(400)}function Bi(t,e){return Di(Ri,t,e)}function Ni(t){if(!(t*=2))return W.O;var e=-t/2,r=-e,n=t*t,i=y(r),a=.5/g(r);function l(i,a){var o=C(s(a)*s(i-e)),l=C(s(a)*s(i-r));return[((o*=o)-(l*=l))/(2*t),(a<0?-1:1)*P(4*n*l-(n-o+l)*(n-o+l))/(2*t)]}return l.invert=function(t,n){var l,u,c=n*n,f=s(P(c+(l=t+e)*l)),h=s(P(c+(l=t+r)*l));return[o(u=f-h,l=(f+h)*i),(n<0?-1:1)*C(P(l*l+u*u)*a)]},l}function ji(){return Ui([-158,21.5],[-77,39]).clipAngle(130).scale(122.571)}function Ui(t,e){return Di(Ni,t,e)}function Vi(t,e){if(i(e)m&&--l>0);return[v(t)*(P(a*a+4)+a)*b/4,_*s]};var Qi=4*b+3*P(3),ta=2*P(2*b*P(3)/Qi),ea=it(ta*P(3)/b,ta,Qi/6);function ra(){return(0,n.c)(ea).scale(176.84)}function na(t,e){return[t*P(1-3*e*e/(b*b)),e]}function ia(){return(0,n.c)(na).scale(152.63)}function aa(t,e){var r=s(e),n=s(t)*r,i=1-n,a=s(t=o(g(t)*r,-g(e))),l=g(t);return[l*(r=P(1-n*n))-a*i,-a*r-l*i]}function oa(){return(0,n.c)(aa).rotate([0,-90,45]).scale(124.75).clipAngle(179.999)}function sa(t,e){var r=R(t,e);return[(r[0]+t/_)/2,(r[1]+e)/2]}function la(){return(0,n.c)(sa).scale(158.837)}na.invert=function(t,e){return[t/P(1-3*e*e/(b*b)),e]},aa.invert=function(t,e){var r=(t*t+e*e)/-2,n=P(-r*(2+r)),i=e*r+t*n,a=t*r-e*n,s=P(a*a+i*i);return[o(n*i,s*(1+r)),s?-L(n*a/s):0]},sa.invert=function(t,e){var r=t,n=e,a=25;do{var o,l=s(n),u=g(n),c=g(2*n),f=u*u,h=l*l,p=g(r),d=s(r/2),v=g(r/2),y=v*v,x=1-h*d*d,b=x?C(l*d)*P(o=1/x):o=0,w=.5*(2*b*l*v+r/_)-t,T=.5*(b*u+n)-e,k=.5*o*(h*y+b*l*d*f)+.5/_,A=o*(p*c/4-b*u*v),M=.125*o*(c*v-b*u*h*p),S=.5*o*(f*d+b*y*l)+.5,E=A*M-S*k,L=(T*A-w*S)/E,O=(w*M-T*k)/E;r-=L,n-=O}while((i(L)>m||i(O)>m)&&--a>0);return[r,n]}},88728:function(t,e,r){\"use strict\";function n(){return new i}function i(){this.reset()}r.d(e,{c:function(){return n}}),i.prototype={constructor:i,reset:function(){this.s=this.t=0},add:function(t){o(a,t,this.t),o(this,a.s,this.s),this.s?this.t+=a.t:this.s=a.t},valueOf:function(){return this.s}};var a=new i;function o(t,e,r){var n=t.s=e+r,i=n-e,a=n-i;t.t=e-a+(r-i)}},95384:function(t,e,r){\"use strict\";r.d(e,{cp:function(){return x},mQ:function(){return h},oB:function(){return d}});var n,i,a,o,s,l=r(88728),u=r(64528),c=r(70932),f=r(16016),h=(0,l.c)(),p=(0,l.c)(),d={point:c.c,lineStart:c.c,lineEnd:c.c,polygonStart:function(){h.reset(),d.lineStart=v,d.lineEnd=g},polygonEnd:function(){var t=+h;p.add(t<0?u.kD+t:t),this.lineStart=this.lineEnd=this.point=c.c},sphere:function(){p.add(u.kD)}};function v(){d.point=y}function g(){m(n,i)}function y(t,e){d.point=m,n=t,i=e,t*=u.qw,e*=u.qw,a=t,o=(0,u.W8)(e=e/2+u.wL),s=(0,u.g$)(e)}function m(t,e){t*=u.qw,e=(e*=u.qw)/2+u.wL;var r=t-a,n=r>=0?1:-1,i=n*r,l=(0,u.W8)(e),c=(0,u.g$)(e),f=s*c,p=o*l+f*(0,u.W8)(i),d=f*n*(0,u.g$)(i);h.add((0,u.WE)(d,p)),a=t,o=l,s=c}function x(t){return p.reset(),(0,f.c)(t,d),2*p}},13696:function(t,e,r){\"use strict\";r.d(e,{c:function(){return C}});var n,i,a,o,s,l,u,c,f,h,p=r(88728),d=r(95384),v=r(84220),g=r(64528),y=r(16016),m=(0,p.c)(),x={point:b,lineStart:w,lineEnd:T,polygonStart:function(){x.point=k,x.lineStart=A,x.lineEnd=M,m.reset(),d.oB.polygonStart()},polygonEnd:function(){d.oB.polygonEnd(),x.point=b,x.lineStart=w,x.lineEnd=T,d.mQ<0?(n=-(a=180),i=-(o=90)):m>g.Gg?o=90:m<-g.Gg&&(i=-90),h[0]=n,h[1]=a},sphere:function(){n=-(a=180),i=-(o=90)}};function b(t,e){f.push(h=[n=t,a=t]),eo&&(o=e)}function _(t,e){var r=(0,v.ux)([t*g.qw,e*g.qw]);if(c){var l=(0,v.CW)(c,r),u=[l[1],-l[0],0],p=(0,v.CW)(u,l);(0,v.cJ)(p),p=(0,v.G)(p);var d,y=t-s,m=y>0?1:-1,x=p[0]*g.oh*m,b=(0,g.a2)(y)>180;b^(m*so&&(o=d):b^(m*s<(x=(x+360)%360-180)&&xo&&(o=e)),b?tS(n,a)&&(a=t):S(t,a)>S(n,a)&&(n=t):a>=n?(ta&&(a=t)):t>s?S(n,t)>S(n,a)&&(a=t):S(t,a)>S(n,a)&&(n=t)}else f.push(h=[n=t,a=t]);eo&&(o=e),c=r,s=t}function w(){x.point=_}function T(){h[0]=n,h[1]=a,x.point=b,c=null}function k(t,e){if(c){var r=t-s;m.add((0,g.a2)(r)>180?r+(r>0?360:-360):r)}else l=t,u=e;d.oB.point(t,e),_(t,e)}function A(){d.oB.lineStart()}function M(){k(l,u),d.oB.lineEnd(),(0,g.a2)(m)>g.Gg&&(n=-(a=180)),h[0]=n,h[1]=a,c=null}function S(t,e){return(e-=t)<0?e+360:e}function E(t,e){return t[0]-e[0]}function L(t,e){return t[0]<=t[1]?t[0]<=e&&e<=t[1]:eS(s[0],s[1])&&(s[1]=l[1]),S(l[0],s[1])>S(s[0],s[1])&&(s[0]=l[0])):u.push(s=l);for(c=-1/0,e=0,s=u[r=u.length-1];e<=r;s=l,++e)l=u[e],(p=S(s[1],l[0]))>c&&(c=p,n=l[0],a=s[1])}return f=h=null,n===1/0||i===1/0?[[NaN,NaN],[NaN,NaN]]:[[n,i],[a,o]]}},84220:function(t,e,r){\"use strict\";r.d(e,{CW:function(){return s},Ez:function(){return o},G:function(){return i},cJ:function(){return c},mg:function(){return l},ux:function(){return a},wx:function(){return u}});var n=r(64528);function i(t){return[(0,n.WE)(t[1],t[0]),(0,n.qR)(t[2])]}function a(t){var e=t[0],r=t[1],i=(0,n.W8)(r);return[i*(0,n.W8)(e),i*(0,n.g$)(e),(0,n.g$)(r)]}function o(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function s(t,e){return[t[1]*e[2]-t[2]*e[1],t[2]*e[0]-t[0]*e[2],t[0]*e[1]-t[1]*e[0]]}function l(t,e){t[0]+=e[0],t[1]+=e[1],t[2]+=e[2]}function u(t,e){return[t[0]*e,t[1]*e,t[2]*e]}function c(t){var e=(0,n._I)(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]);t[0]/=e,t[1]/=e,t[2]/=e}},24052:function(t,e,r){\"use strict\";r.d(e,{c:function(){return I}});var n,i,a,o,s,l,u,c,f,h,p,d,v,g,y,m,x=r(64528),b=r(70932),_=r(16016),w={sphere:b.c,point:T,lineStart:A,lineEnd:E,polygonStart:function(){w.lineStart=L,w.lineEnd=C},polygonEnd:function(){w.lineStart=A,w.lineEnd=E}};function T(t,e){t*=x.qw,e*=x.qw;var r=(0,x.W8)(e);k(r*(0,x.W8)(t),r*(0,x.g$)(t),(0,x.g$)(e))}function k(t,e,r){++n,a+=(t-a)/n,o+=(e-o)/n,s+=(r-s)/n}function A(){w.point=M}function M(t,e){t*=x.qw,e*=x.qw;var r=(0,x.W8)(e);g=r*(0,x.W8)(t),y=r*(0,x.g$)(t),m=(0,x.g$)(e),w.point=S,k(g,y,m)}function S(t,e){t*=x.qw,e*=x.qw;var r=(0,x.W8)(e),n=r*(0,x.W8)(t),a=r*(0,x.g$)(t),o=(0,x.g$)(e),s=(0,x.WE)((0,x._I)((s=y*o-m*a)*s+(s=m*n-g*o)*s+(s=g*a-y*n)*s),g*n+y*a+m*o);i+=s,l+=s*(g+(g=n)),u+=s*(y+(y=a)),c+=s*(m+(m=o)),k(g,y,m)}function E(){w.point=T}function L(){w.point=P}function C(){O(d,v),w.point=T}function P(t,e){d=t,v=e,t*=x.qw,e*=x.qw,w.point=O;var r=(0,x.W8)(e);g=r*(0,x.W8)(t),y=r*(0,x.g$)(t),m=(0,x.g$)(e),k(g,y,m)}function O(t,e){t*=x.qw,e*=x.qw;var r=(0,x.W8)(e),n=r*(0,x.W8)(t),a=r*(0,x.g$)(t),o=(0,x.g$)(e),s=y*o-m*a,d=m*n-g*o,v=g*a-y*n,b=(0,x._I)(s*s+d*d+v*v),_=(0,x.qR)(b),w=b&&-_/b;f+=w*s,h+=w*d,p+=w*v,i+=_,l+=_*(g+(g=n)),u+=_*(y+(y=a)),c+=_*(m+(m=o)),k(g,y,m)}function I(t){n=i=a=o=s=l=u=c=f=h=p=0,(0,_.c)(t,w);var e=f,r=h,d=p,v=e*e+r*r+d*d;return v0?os)&&(o+=i*a.kD));for(var h,p=o;i>0?p>s:p0?i.pi:-i.pi,u=(0,i.a2)(o-r);(0,i.a2)(u-i.pi)0?i.or:-i.or),t.point(a,n),t.lineEnd(),t.lineStart(),t.point(l,n),t.point(o,n),e=0):a!==l&&u>=i.pi&&((0,i.a2)(r-a)i.Gg?(0,i.MQ)(((0,i.g$)(e)*(o=(0,i.W8)(n))*(0,i.g$)(r)-(0,i.g$)(n)*(a=(0,i.W8)(e))*(0,i.g$)(t))/(a*o*s)):(e+n)/2}(r,n,o,s),t.point(a,n),t.lineEnd(),t.lineStart(),t.point(l,n),e=0),t.point(r=o,n=s),a=l},lineEnd:function(){t.lineEnd(),r=n=NaN},clean:function(){return 2-e}}}),(function(t,e,r,n){var a;if(null==t)a=r*i.or,n.point(-i.pi,a),n.point(0,a),n.point(i.pi,a),n.point(i.pi,0),n.point(i.pi,-a),n.point(0,-a),n.point(-i.pi,-a),n.point(-i.pi,0),n.point(-i.pi,a);else if((0,i.a2)(t[0]-e[0])>i.Gg){var o=t[0]1&&e.push(e.pop().concat(e.shift()))},result:function(){var r=e;return e=[],t=null,r}}}},2728:function(t,e,r){\"use strict\";r.d(e,{c:function(){return l}});var n=r(84220),i=r(61780),a=r(64528),o=r(41860),s=r(14229);function l(t){var e=(0,a.W8)(t),r=6*a.qw,l=e>0,u=(0,a.a2)(e)>a.Gg;function c(t,r){return(0,a.W8)(t)*(0,a.W8)(r)>e}function f(t,r,i){var o=(0,n.ux)(t),s=(0,n.ux)(r),l=[1,0,0],u=(0,n.CW)(o,s),c=(0,n.Ez)(u,u),f=u[0],h=c-f*f;if(!h)return!i&&t;var p=e*c/h,d=-e*f/h,v=(0,n.CW)(l,u),g=(0,n.wx)(l,p),y=(0,n.wx)(u,d);(0,n.mg)(g,y);var m=v,x=(0,n.Ez)(g,m),b=(0,n.Ez)(m,m),_=x*x-b*((0,n.Ez)(g,g)-1);if(!(_<0)){var w=(0,a._I)(_),T=(0,n.wx)(m,(-x-w)/b);if((0,n.mg)(T,g),T=(0,n.G)(T),!i)return T;var k,A=t[0],M=r[0],S=t[1],E=r[1];M0^T[1]<((0,a.a2)(T[0]-A)a.pi^(A<=T[0]&&T[0]<=M)){var P=(0,n.wx)(m,(-x+w)/b);return(0,n.mg)(P,g),[T,(0,n.G)(P)]}}}function h(e,r){var n=l?t:a.pi-t,i=0;return e<-n?i|=1:e>n&&(i|=2),r<-n?i|=4:r>n&&(i|=8),i}return(0,s.c)(c,(function(t){var e,r,n,i,s;return{lineStart:function(){i=n=!1,s=1},point:function(p,d){var v,g=[p,d],y=c(p,d),m=l?y?0:h(p,d):y?h(p+(p<0?a.pi:-a.pi),d):0;if(!e&&(i=n=y)&&t.lineStart(),y!==n&&(!(v=f(e,g))||(0,o.c)(e,v)||(0,o.c)(g,v))&&(g[2]=1),y!==n)s=0,y?(t.lineStart(),v=f(g,e),t.point(v[0],v[1])):(v=f(e,g),t.point(v[0],v[1],2),t.lineEnd()),e=v;else if(u&&e&&l^y){var x;m&r||!(x=f(g,e,!0))||(s=0,l?(t.lineStart(),t.point(x[0][0],x[0][1]),t.point(x[1][0],x[1][1]),t.lineEnd()):(t.point(x[1][0],x[1][1]),t.lineEnd(),t.lineStart(),t.point(x[0][0],x[0][1],3)))}!y||e&&(0,o.c)(e,g)||t.point(g[0],g[1]),e=g,n=y,r=m},lineEnd:function(){n&&t.lineEnd(),e=null},clean:function(){return s|(i&&n)<<1}}}),(function(e,n,a,o){(0,i.Q)(o,t,r,a,e,n)}),l?[0,-t]:[-a.pi,t-a.pi])}},14229:function(t,e,r){\"use strict\";r.d(e,{c:function(){return l}});var n=r(97208),i=r(32232),a=r(64528),o=r(58196),s=r(84706);function l(t,e,r,a){return function(l){var f,h,p,d=e(l),v=(0,n.c)(),g=e(v),y=!1,m={point:x,lineStart:_,lineEnd:w,polygonStart:function(){m.point=T,m.lineStart=k,m.lineEnd=A,h=[],f=[]},polygonEnd:function(){m.point=x,m.lineStart=_,m.lineEnd=w,h=(0,s.Uf)(h);var t=(0,o.c)(f,a);h.length?(y||(l.polygonStart(),y=!0),(0,i.c)(h,c,t,r,l)):t&&(y||(l.polygonStart(),y=!0),l.lineStart(),r(null,null,1,l),l.lineEnd()),y&&(l.polygonEnd(),y=!1),h=f=null},sphere:function(){l.polygonStart(),l.lineStart(),r(null,null,1,l),l.lineEnd(),l.polygonEnd()}};function x(e,r){t(e,r)&&l.point(e,r)}function b(t,e){d.point(t,e)}function _(){m.point=b,d.lineStart()}function w(){m.point=x,d.lineEnd()}function T(t,e){p.push([t,e]),g.point(t,e)}function k(){g.lineStart(),p=[]}function A(){T(p[0][0],p[0][1]),g.lineEnd();var t,e,r,n,i=g.clean(),a=v.result(),o=a.length;if(p.pop(),f.push(p),p=null,o)if(1&i){if((e=(r=a[0]).length-1)>0){for(y||(l.polygonStart(),y=!0),l.lineStart(),t=0;t1&&2&i&&a.push(a.pop().concat(a.shift())),h.push(a.filter(u))}return m}}function u(t){return t.length>1}function c(t,e){return((t=t.x)[0]<0?t[1]-a.or-a.Gg:a.or-t[1])-((e=e.x)[0]<0?e[1]-a.or-a.Gg:a.or-e[1])}},21676:function(t,e,r){\"use strict\";r.d(e,{c:function(){return u}});var n=r(64528),i=r(97208),a=r(32232),o=r(84706),s=1e9,l=-s;function u(t,e,r,u){function c(n,i){return t<=n&&n<=r&&e<=i&&i<=u}function f(n,i,a,o){var s=0,l=0;if(null==n||(s=h(n,a))!==(l=h(i,a))||d(n,i)<0^a>0)do{o.point(0===s||3===s?t:r,s>1?u:e)}while((s=(s+a+4)%4)!==l);else o.point(i[0],i[1])}function h(i,a){return(0,n.a2)(i[0]-t)0?0:3:(0,n.a2)(i[0]-r)0?2:1:(0,n.a2)(i[1]-e)0?1:0:a>0?3:2}function p(t,e){return d(t.x,e.x)}function d(t,e){var r=h(t,1),n=h(e,1);return r!==n?r-n:0===r?e[1]-t[1]:1===r?t[0]-e[0]:2===r?t[1]-e[1]:e[0]-t[0]}return function(n){var h,d,v,g,y,m,x,b,_,w,T,k=n,A=(0,i.c)(),M={point:S,lineStart:function(){M.point=E,d&&d.push(v=[]),w=!0,_=!1,x=b=NaN},lineEnd:function(){h&&(E(g,y),m&&_&&A.rejoin(),h.push(A.result())),M.point=S,_&&k.lineEnd()},polygonStart:function(){k=A,h=[],d=[],T=!0},polygonEnd:function(){var e=function(){for(var e=0,r=0,n=d.length;ru&&(f-i)*(u-a)>(h-a)*(t-i)&&++e:h<=u&&(f-i)*(u-a)<(h-a)*(t-i)&&--e;return e}(),r=T&&e,i=(h=(0,o.Uf)(h)).length;(r||i)&&(n.polygonStart(),r&&(n.lineStart(),f(null,null,1,n),n.lineEnd()),i&&(0,a.c)(h,p,e,f,n),n.polygonEnd()),k=n,h=d=v=null}};function S(t,e){c(t,e)&&k.point(t,e)}function E(n,i){var a=c(n,i);if(d&&v.push([n,i]),w)g=n,y=i,m=a,w=!1,a&&(k.lineStart(),k.point(n,i));else if(a&&_)k.point(n,i);else{var o=[x=Math.max(l,Math.min(s,x)),b=Math.max(l,Math.min(s,b))],f=[n=Math.max(l,Math.min(s,n)),i=Math.max(l,Math.min(s,i))];!function(t,e,r,n,i,a){var o,s=t[0],l=t[1],u=0,c=1,f=e[0]-s,h=e[1]-l;if(o=r-s,f||!(o>0)){if(o/=f,f<0){if(o0){if(o>c)return;o>u&&(u=o)}if(o=i-s,f||!(o<0)){if(o/=f,f<0){if(o>c)return;o>u&&(u=o)}else if(f>0){if(o0)){if(o/=h,h<0){if(o0){if(o>c)return;o>u&&(u=o)}if(o=a-l,h||!(o<0)){if(o/=h,h<0){if(o>c)return;o>u&&(u=o)}else if(h>0){if(o0&&(t[0]=s+u*f,t[1]=l+u*h),c<1&&(e[0]=s+c*f,e[1]=l+c*h),!0}}}}}(o,f,t,e,r,u)?a&&(k.lineStart(),k.point(n,i),T=!1):(_||(k.lineStart(),k.point(o[0],o[1])),k.point(f[0],f[1]),a||k.lineEnd(),T=!1)}x=n,b=i,_=a}return M}}},32232:function(t,e,r){\"use strict\";r.d(e,{c:function(){return o}});var n=r(41860),i=r(64528);function a(t,e,r,n){this.x=t,this.z=e,this.o=r,this.e=n,this.v=!1,this.n=this.p=null}function o(t,e,r,o,l){var u,c,f=[],h=[];if(t.forEach((function(t){if(!((e=t.length-1)<=0)){var e,r,o=t[0],s=t[e];if((0,n.c)(o,s)){if(!o[2]&&!s[2]){for(l.lineStart(),u=0;u=0;--u)l.point((d=p[u])[0],d[1]);else o(g.x,g.p.x,-1,l);g=g.p}p=(g=g.o).z,y=!y}while(!g.v);l.lineEnd()}}}function s(t){if(e=t.length){for(var e,r,n=0,i=t[0];++n0&&(i=S(t[a],t[a-1]))>0&&r<=i&&n<=i&&(r+n-i)*(1-Math.pow((r-n)/i,2))g.Gg})).map(l)).concat((0,F.ik)((0,g.Km)(a/p)*p,i,p).filter((function(t){return(0,g.a2)(t%v)>g.Gg})).map(u))}return m.lines=function(){return x().map((function(t){return{type:\"LineString\",coordinates:t}}))},m.outline=function(){return{type:\"Polygon\",coordinates:[c(n).concat(f(o).slice(1),c(r).reverse().slice(1),f(s).reverse().slice(1))]}},m.extent=function(t){return arguments.length?m.extentMajor(t).extentMinor(t):m.extentMinor()},m.extentMajor=function(t){return arguments.length?(n=+t[0][0],r=+t[1][0],s=+t[0][1],o=+t[1][1],n>r&&(t=n,n=r,r=t),s>o&&(t=s,s=o,o=t),m.precision(y)):[[n,s],[r,o]]},m.extentMinor=function(r){return arguments.length?(e=+r[0][0],t=+r[1][0],a=+r[0][1],i=+r[1][1],e>t&&(r=e,e=t,t=r),a>i&&(r=a,a=i,i=r),m.precision(y)):[[e,a],[t,i]]},m.step=function(t){return arguments.length?m.stepMajor(t).stepMinor(t):m.stepMinor()},m.stepMajor=function(t){return arguments.length?(d=+t[0],v=+t[1],m):[d,v]},m.stepMinor=function(t){return arguments.length?(h=+t[0],p=+t[1],m):[h,p]},m.precision=function(h){return arguments.length?(y=+h,l=B(a,i,90),u=N(e,t,y),c=B(s,o,90),f=N(n,r,y),m):y},m.extentMajor([[-180,-90+g.Gg],[180,90-g.Gg]]).extentMinor([[-180,-80-g.Gg],[180,80+g.Gg]])}function U(){return j()()}var V,q,H,G,W=r(27284),Y=r(7376),X=(0,v.c)(),Z=(0,v.c)(),K={point:y.c,lineStart:y.c,lineEnd:y.c,polygonStart:function(){K.lineStart=J,K.lineEnd=tt},polygonEnd:function(){K.lineStart=K.lineEnd=K.point=y.c,X.add((0,g.a2)(Z)),Z.reset()},result:function(){var t=X/2;return X.reset(),t}};function J(){K.point=$}function $(t,e){K.point=Q,V=H=t,q=G=e}function Q(t,e){Z.add(G*t-H*e),H=t,G=e}function tt(){Q(V,q)}var et,rt,nt,it,at=K,ot=r(73784),st=0,lt=0,ut=0,ct=0,ft=0,ht=0,pt=0,dt=0,vt=0,gt={point:yt,lineStart:mt,lineEnd:_t,polygonStart:function(){gt.lineStart=wt,gt.lineEnd=Tt},polygonEnd:function(){gt.point=yt,gt.lineStart=mt,gt.lineEnd=_t},result:function(){var t=vt?[pt/vt,dt/vt]:ht?[ct/ht,ft/ht]:ut?[st/ut,lt/ut]:[NaN,NaN];return st=lt=ut=ct=ft=ht=pt=dt=vt=0,t}};function yt(t,e){st+=t,lt+=e,++ut}function mt(){gt.point=xt}function xt(t,e){gt.point=bt,yt(nt=t,it=e)}function bt(t,e){var r=t-nt,n=e-it,i=(0,g._I)(r*r+n*n);ct+=i*(nt+t)/2,ft+=i*(it+e)/2,ht+=i,yt(nt=t,it=e)}function _t(){gt.point=yt}function wt(){gt.point=kt}function Tt(){At(et,rt)}function kt(t,e){gt.point=At,yt(et=nt=t,rt=it=e)}function At(t,e){var r=t-nt,n=e-it,i=(0,g._I)(r*r+n*n);ct+=i*(nt+t)/2,ft+=i*(it+e)/2,ht+=i,pt+=(i=it*t-nt*e)*(nt+t),dt+=i*(it+e),vt+=3*i,yt(nt=t,it=e)}var Mt=gt;function St(t){this._context=t}St.prototype={_radius:4.5,pointRadius:function(t){return this._radius=t,this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){0===this._line&&this._context.closePath(),this._point=NaN},point:function(t,e){switch(this._point){case 0:this._context.moveTo(t,e),this._point=1;break;case 1:this._context.lineTo(t,e);break;default:this._context.moveTo(t+this._radius,e),this._context.arc(t,e,this._radius,0,g.kD)}},result:y.c};var Et,Lt,Ct,Pt,Ot,It=(0,v.c)(),zt={point:y.c,lineStart:function(){zt.point=Dt},lineEnd:function(){Et&&Rt(Lt,Ct),zt.point=y.c},polygonStart:function(){Et=!0},polygonEnd:function(){Et=null},result:function(){var t=+It;return It.reset(),t}};function Dt(t,e){zt.point=Rt,Lt=Pt=t,Ct=Ot=e}function Rt(t,e){Pt-=t,Ot-=e,It.add((0,g._I)(Pt*Pt+Ot*Ot)),Pt=t,Ot=e}var Ft=zt;function Bt(){this._string=[]}function Nt(t){return\"m0,\"+t+\"a\"+t+\",\"+t+\" 0 1,1 0,\"+-2*t+\"a\"+t+\",\"+t+\" 0 1,1 0,\"+2*t+\"z\"}function jt(t,e){var r,n,i=4.5;function a(t){return t&&(\"function\"==typeof i&&n.pointRadius(+i.apply(this,arguments)),(0,m.c)(t,r(n))),n.result()}return a.area=function(t){return(0,m.c)(t,r(at)),at.result()},a.measure=function(t){return(0,m.c)(t,r(Ft)),Ft.result()},a.bounds=function(t){return(0,m.c)(t,r(ot.c)),ot.c.result()},a.centroid=function(t){return(0,m.c)(t,r(Mt)),Mt.result()},a.projection=function(e){return arguments.length?(r=null==e?(t=null,Y.c):(t=e).stream,a):t},a.context=function(t){return arguments.length?(n=null==t?(e=null,new Bt):new St(e=t),\"function\"!=typeof i&&n.pointRadius(i),a):e},a.pointRadius=function(t){return arguments.length?(i=\"function\"==typeof t?t:(n.pointRadius(+t),+t),a):i},a.projection(t).context(e)}Bt.prototype={_radius:4.5,_circle:Nt(4.5),pointRadius:function(t){return(t=+t)!==this._radius&&(this._radius=t,this._circle=null),this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){0===this._line&&this._string.push(\"Z\"),this._point=NaN},point:function(t,e){switch(this._point){case 0:this._string.push(\"M\",t,\",\",e),this._point=1;break;case 1:this._string.push(\"L\",t,\",\",e);break;default:null==this._circle&&(this._circle=Nt(this._radius)),this._string.push(\"M\",t,\",\",e,this._circle)}},result:function(){if(this._string.length){var t=this._string.join(\"\");return this._string=[],t}return null}};var Ut=r(87952);function Vt(t){var e=0,r=g.pi/3,n=(0,Ut.U)(t),i=n(e,r);return i.parallels=function(t){return arguments.length?n(e=t[0]*g.qw,r=t[1]*g.qw):[e*g.oh,r*g.oh]},i}function qt(t,e){var r=(0,g.g$)(t),n=(r+(0,g.g$)(e))/2;if((0,g.a2)(n)=.12&&i<.234&&n>=-.425&&n<-.214?s:i>=.166&&i<.234&&n>=-.214&&n<-.115?l:o).invert(t)},c.stream=function(r){return t&&e===r?t:(n=[o.stream(e=r),s.stream(r),l.stream(r)],i=n.length,t={point:function(t,e){for(var r=-1;++r0?e<-g.or+g.Gg&&(e=-g.or+g.Gg):e>g.or-g.Gg&&(e=g.or-g.Gg);var r=i/(0,g.g3)(te(e),n);return[r*(0,g.g$)(n*t),i-r*(0,g.W8)(n*t)]}return a.invert=function(t,e){var r=i-e,a=(0,g.kq)(n)*(0,g._I)(t*t+r*r),o=(0,g.WE)(t,(0,g.a2)(r))*(0,g.kq)(r);return r*n<0&&(o-=g.pi*(0,g.kq)(t)*(0,g.kq)(r)),[o/n,2*(0,g.MQ)((0,g.g3)(i/a,1/n))-g.or]},a}function re(){return Vt(ee).scale(109.5).parallels([30,30])}Jt.invert=function(t,e){return[t,2*(0,g.MQ)((0,g.oN)(e))-g.or]};var ne=r(69604);function ie(t,e){var r=(0,g.W8)(t),n=t===e?(0,g.g$)(t):(r-(0,g.W8)(e))/(e-t),i=r/n+t;if((0,g.a2)(n)2?t[2]+90:90]):[(t=r())[0],t[1],t[2]-90]},r([0,0,90]).scale(159.155)}xe.invert=(0,me.g)((function(t){return 2*(0,g.MQ)(t)})),_e.invert=function(t,e){return[-e,2*(0,g.MQ)((0,g.oN)(t))-g.or]}},27284:function(t,e,r){\"use strict\";r.d(e,{c:function(){return i}});var n=r(64528);function i(t,e){var r=t[0]*n.qw,i=t[1]*n.qw,a=e[0]*n.qw,o=e[1]*n.qw,s=(0,n.W8)(i),l=(0,n.g$)(i),u=(0,n.W8)(o),c=(0,n.g$)(o),f=s*(0,n.W8)(r),h=s*(0,n.g$)(r),p=u*(0,n.W8)(a),d=u*(0,n.g$)(a),v=2*(0,n.qR)((0,n._I)((0,n.SD)(o-i)+s*u*(0,n.SD)(a-r))),g=(0,n.g$)(v),y=v?function(t){var e=(0,n.g$)(t*=v)/g,r=(0,n.g$)(v-t)/g,i=r*f+e*p,a=r*h+e*d,o=r*l+e*c;return[(0,n.WE)(a,i)*n.oh,(0,n.WE)(o,(0,n._I)(i*i+a*a))*n.oh]}:function(){return[r*n.oh,i*n.oh]};return y.distance=v,y}},64528:function(t,e,r){\"use strict\";r.d(e,{Gg:function(){return n},Km:function(){return v},MQ:function(){return h},SD:function(){return A},W8:function(){return d},WE:function(){return p},Yz:function(){return y},_I:function(){return _},a2:function(){return f},a6:function(){return w},a8:function(){return i},g$:function(){return x},g3:function(){return m},kD:function(){return l},kq:function(){return b},mE:function(){return T},oN:function(){return g},oh:function(){return u},or:function(){return o},pi:function(){return a},qR:function(){return k},qw:function(){return c},wL:function(){return s}});var n=1e-6,i=1e-12,a=Math.PI,o=a/2,s=a/4,l=2*a,u=180/a,c=a/180,f=Math.abs,h=Math.atan,p=Math.atan2,d=Math.cos,v=Math.ceil,g=Math.exp,y=(Math.floor,Math.log),m=Math.pow,x=Math.sin,b=Math.sign||function(t){return t>0?1:t<0?-1:0},_=Math.sqrt,w=Math.tan;function T(t){return t>1?0:t<-1?a:Math.acos(t)}function k(t){return t>1?o:t<-1?-o:Math.asin(t)}function A(t){return(t=x(t/2))*t}},70932:function(t,e,r){\"use strict\";function n(){}r.d(e,{c:function(){return n}})},73784:function(t,e,r){\"use strict\";var n=r(70932),i=1/0,a=i,o=-i,s=o,l={point:function(t,e){to&&(o=t),es&&(s=e)},lineStart:n.c,lineEnd:n.c,polygonStart:n.c,polygonEnd:n.c,result:function(){var t=[[i,a],[o,s]];return o=s=-(a=i=1/0),t}};e.c=l},41860:function(t,e,r){\"use strict\";r.d(e,{c:function(){return i}});var n=r(64528);function i(t,e){return(0,n.a2)(t[0]-e[0])=0?1:-1,L=E*S,C=L>a.pi,P=x*A;if(o.add((0,a.WE)(P*E*(0,a.g$)(L),b*M+P*(0,a.W8)(L))),c+=C?S+E*a.kD:S,C^y>=r^T>=r){var O=(0,i.CW)((0,i.ux)(g),(0,i.ux)(w));(0,i.cJ)(O);var I=(0,i.CW)(u,O);(0,i.cJ)(I);var z=(C^S>=0?-1:1)*(0,a.qR)(I[2]);(n>z||n===z&&(O[0]||O[1]))&&(f+=C^S>=0?1:-1)}}return(c<-a.Gg||c4*e&&y--){var w=o+p,T=s+v,k=u+g,A=(0,l._I)(w*w+T*T+k*k),M=(0,l.qR)(k/=A),S=(0,l.a2)((0,l.a2)(k)-1)e||(0,l.a2)((x*P+b*O)/_-.5)>.3||o*p+s*v+u*g2?t[2]%360*l.qw:0,V()):[L*l.oh,C*l.oh,P*l.oh]},j.angle=function(t){return arguments.length?(O=t%360*l.qw,V()):O*l.oh},j.reflectX=function(t){return arguments.length?(I=t?-1:1,V()):I<0},j.reflectY=function(t){return arguments.length?(z=t?-1:1,V()):z<0},j.precision=function(t){return arguments.length?(x=v(b,N=t*t),q()):(0,l._I)(N)},j.fitExtent=function(t,e){return(0,f.QX)(j,t,e)},j.fitSize=function(t,e){return(0,f.UV)(j,t,e)},j.fitWidth=function(t,e){return(0,f.Qx)(j,t,e)},j.fitHeight=function(t,e){return(0,f.OW)(j,t,e)},function(){return e=t.apply(this,arguments),j.invert=e.invert&&U,V()}}},47984:function(t,e,r){\"use strict\";r.d(e,{c:function(){return o},g:function(){return a}});var n=r(87952),i=r(64528);function a(t,e){var r=e*e,n=r*r;return[t*(.8707-.131979*r+n*(n*(.003971*r-.001529*n)-.013791)),e*(1.007226+r*(.015085+n*(.028874*r-.044475-.005916*n)))]}function o(){return(0,n.c)(a).scale(175.295)}a.invert=function(t,e){var r,n=e,a=25;do{var o=n*n,s=o*o;n-=r=(n*(1.007226+o*(.015085+s*(.028874*o-.044475-.005916*s)))-e)/(1.007226+o*(.045255+s*(.259866*o-.311325-.005916*11*s)))}while((0,i.a2)(r)>i.Gg&&--a>0);return[t/(.8707+(o=n*n)*(o*(o*o*o*(.003971-.001529*o)-.013791)-.131979)),n]}},4888:function(t,e,r){\"use strict\";r.d(e,{c:function(){return s},t:function(){return o}});var n=r(64528),i=r(62280),a=r(87952);function o(t,e){return[(0,n.W8)(e)*(0,n.g$)(t),(0,n.g$)(e)]}function s(){return(0,a.c)(o).scale(249.5).clipAngle(90+n.Gg)}o.invert=(0,i.g)(n.qR)},92992:function(t,e,r){\"use strict\";r.d(e,{O:function(){return o},c:function(){return c}});var n=r(68120),i=r(64528);function a(t,e){return[(0,i.a2)(t)>i.pi?t+Math.round(-t/i.kD)*i.kD:t,e]}function o(t,e,r){return(t%=i.kD)?e||r?(0,n.c)(l(t),u(e,r)):l(t):e||r?u(e,r):a}function s(t){return function(e,r){return[(e+=t)>i.pi?e-i.kD:e<-i.pi?e+i.kD:e,r]}}function l(t){var e=s(t);return e.invert=s(-t),e}function u(t,e){var r=(0,i.W8)(t),n=(0,i.g$)(t),a=(0,i.W8)(e),o=(0,i.g$)(e);function s(t,e){var s=(0,i.W8)(e),l=(0,i.W8)(t)*s,u=(0,i.g$)(t)*s,c=(0,i.g$)(e),f=c*r+l*n;return[(0,i.WE)(u*a-f*o,l*r-c*n),(0,i.qR)(f*a+u*o)]}return s.invert=function(t,e){var s=(0,i.W8)(e),l=(0,i.W8)(t)*s,u=(0,i.g$)(t)*s,c=(0,i.g$)(e),f=c*a-u*o;return[(0,i.WE)(u*a+c*o,l*r+f*n),(0,i.qR)(f*r-l*n)]},s}function c(t){function e(e){return(e=t(e[0]*i.qw,e[1]*i.qw))[0]*=i.oh,e[1]*=i.oh,e}return t=o(t[0]*i.qw,t[1]*i.qw,t.length>2?t[2]*i.qw:0),e.invert=function(e){return(e=t.invert(e[0]*i.qw,e[1]*i.qw))[0]*=i.oh,e[1]*=i.oh,e},e}a.invert=a},16016:function(t,e,r){\"use strict\";function n(t,e){t&&a.hasOwnProperty(t.type)&&a[t.type](t,e)}r.d(e,{c:function(){return l}});var i={Feature:function(t,e){n(t.geometry,e)},FeatureCollection:function(t,e){for(var r=t.features,i=-1,a=r.length;++i=0;)e+=r[n].value;else e=1;t.value=e}function l(t,e){var r,n,i,a,o,s=new h(t),l=+t.value&&(s.value=t.value),c=[s];for(null==e&&(e=u);r=c.pop();)if(l&&(r.value=+r.data.value),(i=e(r.data))&&(o=i.length))for(r.children=new Array(o),a=o-1;a>=0;--a)c.push(n=r.children[a]=new h(i[a])),n.parent=r,n.depth=r.depth+1;return s.eachBefore(f)}function u(t){return t.children}function c(t){t.data=t.data.data}function f(t){var e=0;do{t.height=e}while((t=t.parent)&&t.height<++e)}function h(t){this.data=t,this.depth=this.height=0,this.parent=null}r.r(e),r.d(e,{cluster:function(){return o},hierarchy:function(){return l},pack:function(){return O},packEnclose:function(){return d},packSiblings:function(){return S},partition:function(){return B},stratify:function(){return H},tree:function(){return J},treemap:function(){return rt},treemapBinary:function(){return nt},treemapDice:function(){return F},treemapResquarify:function(){return at},treemapSlice:function(){return $},treemapSliceDice:function(){return it},treemapSquarify:function(){return et}}),h.prototype=l.prototype={constructor:h,count:function(){return this.eachAfter(s)},each:function(t){var e,r,n,i,a=this,o=[a];do{for(e=o.reverse(),o=[];a=e.pop();)if(t(a),r=a.children)for(n=0,i=r.length;n=0;--r)i.push(e[r]);return this},sum:function(t){return this.eachAfter((function(e){for(var r=+t(e.data)||0,n=e.children,i=n&&n.length;--i>=0;)r+=n[i].value;e.value=r}))},sort:function(t){return this.eachBefore((function(e){e.children&&e.children.sort(t)}))},path:function(t){for(var e=this,r=function(t,e){if(t===e)return t;var r=t.ancestors(),n=e.ancestors(),i=null;for(t=r.pop(),e=n.pop();t===e;)i=t,t=r.pop(),e=n.pop();return i}(e,t),n=[e];e!==r;)e=e.parent,n.push(e);for(var i=n.length;t!==r;)n.splice(i,0,t),t=t.parent;return n},ancestors:function(){for(var t=this,e=[t];t=t.parent;)e.push(t);return e},descendants:function(){var t=[];return this.each((function(e){t.push(e)})),t},leaves:function(){var t=[];return this.eachBefore((function(e){e.children||t.push(e)})),t},links:function(){var t=this,e=[];return t.each((function(r){r!==t&&e.push({source:r.parent,target:r})})),e},copy:function(){return l(this).eachBefore(c)}};var p=Array.prototype.slice;function d(t){for(var e,r,n=0,i=(t=function(t){for(var e,r,n=t.length;n;)r=Math.random()*n--|0,e=t[n],t[n]=t[r],t[r]=e;return t}(p.call(t))).length,a=[];n0&&r*r>n*n+i*i}function m(t,e){for(var r=0;r(o*=o)?(n=(u+o-i)/(2*u),a=Math.sqrt(Math.max(0,o/u-n*n)),r.x=t.x-n*s-a*l,r.y=t.y-n*l+a*s):(n=(u+i-o)/(2*u),a=Math.sqrt(Math.max(0,i/u-n*n)),r.x=e.x+n*s-a*l,r.y=e.y+n*l+a*s)):(r.x=e.x+r.r,r.y=e.y)}function T(t,e){var r=t.r+e.r-1e-6,n=e.x-t.x,i=e.y-t.y;return r>0&&r*r>n*n+i*i}function k(t){var e=t._,r=t.next._,n=e.r+r.r,i=(e.x*r.r+r.x*e.r)/n,a=(e.y*r.r+r.y*e.r)/n;return i*i+a*a}function A(t){this._=t,this.next=null,this.previous=null}function M(t){if(!(i=t.length))return 0;var e,r,n,i,a,o,s,l,u,c,f;if((e=t[0]).x=0,e.y=0,!(i>1))return e.r;if(r=t[1],e.x=-r.r,r.x=e.r,r.y=0,!(i>2))return e.r+r.r;w(r,e,n=t[2]),e=new A(e),r=new A(r),n=new A(n),e.next=n.previous=r,r.next=e.previous=n,n.next=r.previous=e;t:for(s=3;s0)throw new Error(\"cycle\");return a}return r.id=function(e){return arguments.length?(t=E(e),r):t},r.parentId=function(t){return arguments.length?(e=E(t),r):e},r}function G(t,e){return t.parent===e.parent?1:2}function W(t){var e=t.children;return e?e[0]:t.t}function Y(t){var e=t.children;return e?e[e.length-1]:t.t}function X(t,e,r){var n=r/(e.i-t.i);e.c-=n,e.s+=r,t.c+=n,e.z+=r,e.m+=r}function Z(t,e,r){return t.a.parent===e.parent?t.a:r}function K(t,e){this._=t,this.parent=null,this.children=null,this.A=null,this.a=this,this.z=0,this.m=0,this.c=0,this.s=0,this.t=null,this.i=e}function J(){var t=G,e=1,r=1,n=null;function i(i){var l=function(t){for(var e,r,n,i,a,o=new K(t,0),s=[o];e=s.pop();)if(n=e._.children)for(e.children=new Array(a=n.length),i=a-1;i>=0;--i)s.push(r=e.children[i]=new K(n[i],i)),r.parent=e;return(o.parent=new K(null,0)).children=[o],o}(i);if(l.eachAfter(a),l.parent.m=-l.z,l.eachBefore(o),n)i.eachBefore(s);else{var u=i,c=i,f=i;i.eachBefore((function(t){t.xc.x&&(c=t),t.depth>f.depth&&(f=t)}));var h=u===c?1:t(u,c)/2,p=h-u.x,d=e/(c.x+h+p),v=r/(f.depth||1);i.eachBefore((function(t){t.x=(t.x+p)*d,t.y=t.depth*v}))}return i}function a(e){var r=e.children,n=e.parent.children,i=e.i?n[e.i-1]:null;if(r){!function(t){for(var e,r=0,n=0,i=t.children,a=i.length;--a>=0;)(e=i[a]).z+=r,e.m+=r,r+=e.s+(n+=e.c)}(e);var a=(r[0].z+r[r.length-1].z)/2;i?(e.z=i.z+t(e._,i._),e.m=e.z-a):e.z=a}else i&&(e.z=i.z+t(e._,i._));e.parent.A=function(e,r,n){if(r){for(var i,a=e,o=e,s=r,l=a.parent.children[0],u=a.m,c=o.m,f=s.m,h=l.m;s=Y(s),a=W(a),s&&a;)l=W(l),(o=Y(o)).a=e,(i=s.z+f-a.z-u+t(s._,a._))>0&&(X(Z(s,e,n),e,i),u+=i,c+=i),f+=s.m,u+=a.m,h+=l.m,c+=o.m;s&&!Y(o)&&(o.t=s,o.m+=f-c),a&&!W(l)&&(l.t=a,l.m+=u-h,n=e)}return n}(e,i,e.parent.A||n[0])}function o(t){t._.x=t.z+t.parent.m,t.m+=t.parent.m}function s(t){t.x*=e,t.y=t.depth*r}return i.separation=function(e){return arguments.length?(t=e,i):t},i.size=function(t){return arguments.length?(n=!1,e=+t[0],r=+t[1],i):n?null:[e,r]},i.nodeSize=function(t){return arguments.length?(n=!0,e=+t[0],r=+t[1],i):n?[e,r]:null},i}function $(t,e,r,n,i){for(var a,o=t.children,s=-1,l=o.length,u=t.value&&(i-r)/t.value;++sh&&(h=s),g=c*c*v,(p=Math.max(h/g,g/f))>d){c-=s;break}d=p}y.push(o={value:c,dice:l1?e:1)},r}(Q);function rt(){var t=et,e=!1,r=1,n=1,i=[0],a=L,o=L,s=L,l=L,u=L;function c(t){return t.x0=t.y0=0,t.x1=r,t.y1=n,t.eachBefore(f),i=[0],e&&t.eachBefore(R),t}function f(e){var r=i[e.depth],n=e.x0+r,c=e.y0+r,f=e.x1-r,h=e.y1-r;f=r-1){var c=s[e];return c.x0=i,c.y0=a,c.x1=o,void(c.y1=l)}for(var f=u[e],h=n/2+f,p=e+1,d=r-1;p>>1;u[v]l-a){var m=(i*y+o*g)/n;t(e,p,g,i,a,m,l),t(p,r,y,m,a,o,l)}else{var x=(a*y+l*g)/n;t(e,p,g,i,a,o,x),t(p,r,y,i,x,o,l)}}(0,l,t.value,e,r,n,i)}function it(t,e,r,n,i){(1&t.depth?$:F)(t,e,r,n,i)}var at=function t(e){function r(t,r,n,i,a){if((o=t._squarify)&&o.ratio===e)for(var o,s,l,u,c,f=-1,h=o.length,p=t.value;++f1?e:1)},r}(Q)},10132:function(t,e,r){\"use strict\";r.d(e,{ak:function(){return y}});var n=Math.PI,i=2*n,a=1e-6,o=i-a;function s(){this._x0=this._y0=this._x1=this._y1=null,this._=\"\"}function l(){return new s}s.prototype=l.prototype={constructor:s,moveTo:function(t,e){this._+=\"M\"+(this._x0=this._x1=+t)+\",\"+(this._y0=this._y1=+e)},closePath:function(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._+=\"Z\")},lineTo:function(t,e){this._+=\"L\"+(this._x1=+t)+\",\"+(this._y1=+e)},quadraticCurveTo:function(t,e,r,n){this._+=\"Q\"+ +t+\",\"+ +e+\",\"+(this._x1=+r)+\",\"+(this._y1=+n)},bezierCurveTo:function(t,e,r,n,i,a){this._+=\"C\"+ +t+\",\"+ +e+\",\"+ +r+\",\"+ +n+\",\"+(this._x1=+i)+\",\"+(this._y1=+a)},arcTo:function(t,e,r,i,o){t=+t,e=+e,r=+r,i=+i,o=+o;var s=this._x1,l=this._y1,u=r-t,c=i-e,f=s-t,h=l-e,p=f*f+h*h;if(o<0)throw new Error(\"negative radius: \"+o);if(null===this._x1)this._+=\"M\"+(this._x1=t)+\",\"+(this._y1=e);else if(p>a)if(Math.abs(h*u-c*f)>a&&o){var d=r-s,v=i-l,g=u*u+c*c,y=d*d+v*v,m=Math.sqrt(g),x=Math.sqrt(p),b=o*Math.tan((n-Math.acos((g+p-y)/(2*m*x)))/2),_=b/x,w=b/m;Math.abs(_-1)>a&&(this._+=\"L\"+(t+_*f)+\",\"+(e+_*h)),this._+=\"A\"+o+\",\"+o+\",0,0,\"+ +(h*d>f*v)+\",\"+(this._x1=t+w*u)+\",\"+(this._y1=e+w*c)}else this._+=\"L\"+(this._x1=t)+\",\"+(this._y1=e)},arc:function(t,e,r,s,l,u){t=+t,e=+e,u=!!u;var c=(r=+r)*Math.cos(s),f=r*Math.sin(s),h=t+c,p=e+f,d=1^u,v=u?s-l:l-s;if(r<0)throw new Error(\"negative radius: \"+r);null===this._x1?this._+=\"M\"+h+\",\"+p:(Math.abs(this._x1-h)>a||Math.abs(this._y1-p)>a)&&(this._+=\"L\"+h+\",\"+p),r&&(v<0&&(v=v%i+i),v>o?this._+=\"A\"+r+\",\"+r+\",0,1,\"+d+\",\"+(t-c)+\",\"+(e-f)+\"A\"+r+\",\"+r+\",0,1,\"+d+\",\"+(this._x1=h)+\",\"+(this._y1=p):v>a&&(this._+=\"A\"+r+\",\"+r+\",0,\"+ +(v>=n)+\",\"+d+\",\"+(this._x1=t+r*Math.cos(l))+\",\"+(this._y1=e+r*Math.sin(l))))},rect:function(t,e,r,n){this._+=\"M\"+(this._x0=this._x1=+t)+\",\"+(this._y0=this._y1=+e)+\"h\"+ +r+\"v\"+ +n+\"h\"+-r+\"Z\"},toString:function(){return this._}};var u=l,c=Array.prototype.slice;function f(t){return function(){return t}}function h(t){return t[0]}function p(t){return t[1]}function d(t){return t.source}function v(t){return t.target}function g(t,e,r,n,i){t.moveTo(e,r),t.bezierCurveTo(e=(e+n)/2,r,e,i,n,i)}function y(){return function(t){var e=d,r=v,n=h,i=p,a=null;function o(){var o,s=c.call(arguments),l=e.apply(this,s),f=r.apply(this,s);if(a||(a=o=u()),t(a,+n.apply(this,(s[0]=l,s)),+i.apply(this,s),+n.apply(this,(s[0]=f,s)),+i.apply(this,s)),o)return a=null,o+\"\"||null}return o.source=function(t){return arguments.length?(e=t,o):e},o.target=function(t){return arguments.length?(r=t,o):r},o.x=function(t){return arguments.length?(n=\"function\"==typeof t?t:f(+t),o):n},o.y=function(t){return arguments.length?(i=\"function\"==typeof t?t:f(+t),o):i},o.context=function(t){return arguments.length?(a=null==t?null:t,o):a},o}(g)}},94336:function(t,e,r){\"use strict\";r.d(e,{Yn:function(){return d},m_:function(){return h},E9:function(){return v}});var n=r(8208),i=r(58931),a=r(46192),o=r(68936),s=r(32171),l=r(53528);function u(t){if(0<=t.y&&t.y<100){var e=new Date(-1,t.m,t.d,t.H,t.M,t.S,t.L);return e.setFullYear(t.y),e}return new Date(t.y,t.m,t.d,t.H,t.M,t.S,t.L)}function c(t){if(0<=t.y&&t.y<100){var e=new Date(Date.UTC(-1,t.m,t.d,t.H,t.M,t.S,t.L));return e.setUTCFullYear(t.y),e}return new Date(Date.UTC(t.y,t.m,t.d,t.H,t.M,t.S,t.L))}function f(t,e,r){return{y:t,m:e,d:r,H:0,M:0,S:0,L:0}}function h(t){var e=t.dateTime,r=t.date,s=t.time,l=t.periods,h=t.days,p=t.shortDays,d=t.months,v=t.shortMonths,y=w(l),m=T(l),x=w(h),b=T(h),_=w(p),St=T(p),Et=w(d),Lt=T(d),Ct=w(v),Pt=T(v),Ot={a:function(t){return p[t.getDay()]},A:function(t){return h[t.getDay()]},b:function(t){return v[t.getMonth()]},B:function(t){return d[t.getMonth()]},c:null,d:H,e:H,f:Z,H:G,I:W,j:Y,L:X,m:K,M:J,p:function(t){return l[+(t.getHours()>=12)]},q:function(t){return 1+~~(t.getMonth()/3)},Q:At,s:Mt,S:$,u:Q,U:tt,V:et,w:rt,W:nt,x:null,X:null,y:it,Y:at,Z:ot,\"%\":kt},It={a:function(t){return p[t.getUTCDay()]},A:function(t){return h[t.getUTCDay()]},b:function(t){return v[t.getUTCMonth()]},B:function(t){return d[t.getUTCMonth()]},c:null,d:st,e:st,f:ht,H:lt,I:ut,j:ct,L:ft,m:pt,M:dt,p:function(t){return l[+(t.getUTCHours()>=12)]},q:function(t){return 1+~~(t.getUTCMonth()/3)},Q:At,s:Mt,S:vt,u:gt,U:yt,V:mt,w:xt,W:bt,x:null,X:null,y:_t,Y:wt,Z:Tt,\"%\":kt},zt={a:function(t,e,r){var n=_.exec(e.slice(r));return n?(t.w=St[n[0].toLowerCase()],r+n[0].length):-1},A:function(t,e,r){var n=x.exec(e.slice(r));return n?(t.w=b[n[0].toLowerCase()],r+n[0].length):-1},b:function(t,e,r){var n=Ct.exec(e.slice(r));return n?(t.m=Pt[n[0].toLowerCase()],r+n[0].length):-1},B:function(t,e,r){var n=Et.exec(e.slice(r));return n?(t.m=Lt[n[0].toLowerCase()],r+n[0].length):-1},c:function(t,r,n){return Ft(t,e,r,n)},d:z,e:z,f:j,H:R,I:R,j:D,L:N,m:I,M:F,p:function(t,e,r){var n=y.exec(e.slice(r));return n?(t.p=m[n[0].toLowerCase()],r+n[0].length):-1},q:O,Q:V,s:q,S:B,u:A,U:M,V:S,w:k,W:E,x:function(t,e,n){return Ft(t,r,e,n)},X:function(t,e,r){return Ft(t,s,e,r)},y:C,Y:L,Z:P,\"%\":U};function Dt(t,e){return function(r){var n,i,a,o=[],s=-1,l=0,u=t.length;for(r instanceof Date||(r=new Date(+r));++s53)return null;\"w\"in h||(h.w=1),\"Z\"in h?(l=(s=c(f(h.y,0,1))).getUTCDay(),s=l>4||0===l?n.ot.ceil(s):(0,n.ot)(s),s=i.c.offset(s,7*(h.V-1)),h.y=s.getUTCFullYear(),h.m=s.getUTCMonth(),h.d=s.getUTCDate()+(h.w+6)%7):(l=(s=u(f(h.y,0,1))).getDay(),s=l>4||0===l?a.qT.ceil(s):(0,a.qT)(s),s=o.c.offset(s,7*(h.V-1)),h.y=s.getFullYear(),h.m=s.getMonth(),h.d=s.getDate()+(h.w+6)%7)}else(\"W\"in h||\"U\"in h)&&(\"w\"in h||(h.w=\"u\"in h?h.u%7:\"W\"in h?1:0),l=\"Z\"in h?c(f(h.y,0,1)).getUTCDay():u(f(h.y,0,1)).getDay(),h.m=0,h.d=\"W\"in h?(h.w+6)%7+7*h.W-(l+5)%7:h.w+7*h.U-(l+6)%7);return\"Z\"in h?(h.H+=h.Z/100|0,h.M+=h.Z%100,c(h)):u(h)}}function Ft(t,e,r,n){for(var i,a,o=0,s=e.length,l=r.length;o=l)return-1;if(37===(i=e.charCodeAt(o++))){if(i=e.charAt(o++),!(a=zt[i in g?e.charAt(o++):i])||(n=a(t,r,n))<0)return-1}else if(i!=r.charCodeAt(n++))return-1}return n}return Ot.x=Dt(r,Ot),Ot.X=Dt(s,Ot),Ot.c=Dt(e,Ot),It.x=Dt(r,It),It.X=Dt(s,It),It.c=Dt(e,It),{format:function(t){var e=Dt(t+=\"\",Ot);return e.toString=function(){return t},e},parse:function(t){var e=Rt(t+=\"\",!1);return e.toString=function(){return t},e},utcFormat:function(t){var e=Dt(t+=\"\",It);return e.toString=function(){return t},e},utcParse:function(t){var e=Rt(t+=\"\",!0);return e.toString=function(){return t},e}}}var p,d,v,g={\"-\":\"\",_:\" \",0:\"0\"},y=/^\\s*\\d+/,m=/^%/,x=/[\\\\^$*+?|[\\]().{}]/g;function b(t,e,r){var n=t<0?\"-\":\"\",i=(n?-t:t)+\"\",a=i.length;return n+(a68?1900:2e3),r+n[0].length):-1}function P(t,e,r){var n=/^(Z)|([+-]\\d\\d)(?::?(\\d\\d))?/.exec(e.slice(r,r+6));return n?(t.Z=n[1]?0:-(n[2]+(n[3]||\"00\")),r+n[0].length):-1}function O(t,e,r){var n=y.exec(e.slice(r,r+1));return n?(t.q=3*n[0]-3,r+n[0].length):-1}function I(t,e,r){var n=y.exec(e.slice(r,r+2));return n?(t.m=n[0]-1,r+n[0].length):-1}function z(t,e,r){var n=y.exec(e.slice(r,r+2));return n?(t.d=+n[0],r+n[0].length):-1}function D(t,e,r){var n=y.exec(e.slice(r,r+3));return n?(t.m=0,t.d=+n[0],r+n[0].length):-1}function R(t,e,r){var n=y.exec(e.slice(r,r+2));return n?(t.H=+n[0],r+n[0].length):-1}function F(t,e,r){var n=y.exec(e.slice(r,r+2));return n?(t.M=+n[0],r+n[0].length):-1}function B(t,e,r){var n=y.exec(e.slice(r,r+2));return n?(t.S=+n[0],r+n[0].length):-1}function N(t,e,r){var n=y.exec(e.slice(r,r+3));return n?(t.L=+n[0],r+n[0].length):-1}function j(t,e,r){var n=y.exec(e.slice(r,r+6));return n?(t.L=Math.floor(n[0]/1e3),r+n[0].length):-1}function U(t,e,r){var n=m.exec(e.slice(r,r+1));return n?r+n[0].length:-1}function V(t,e,r){var n=y.exec(e.slice(r));return n?(t.Q=+n[0],r+n[0].length):-1}function q(t,e,r){var n=y.exec(e.slice(r));return n?(t.s=+n[0],r+n[0].length):-1}function H(t,e){return b(t.getDate(),e,2)}function G(t,e){return b(t.getHours(),e,2)}function W(t,e){return b(t.getHours()%12||12,e,2)}function Y(t,e){return b(1+o.c.count((0,s.c)(t),t),e,3)}function X(t,e){return b(t.getMilliseconds(),e,3)}function Z(t,e){return X(t,e)+\"000\"}function K(t,e){return b(t.getMonth()+1,e,2)}function J(t,e){return b(t.getMinutes(),e,2)}function $(t,e){return b(t.getSeconds(),e,2)}function Q(t){var e=t.getDay();return 0===e?7:e}function tt(t,e){return b(a.uU.count((0,s.c)(t)-1,t),e,2)}function et(t,e){var r=t.getDay();return t=r>=4||0===r?(0,a.kD)(t):a.kD.ceil(t),b(a.kD.count((0,s.c)(t),t)+(4===(0,s.c)(t).getDay()),e,2)}function rt(t){return t.getDay()}function nt(t,e){return b(a.qT.count((0,s.c)(t)-1,t),e,2)}function it(t,e){return b(t.getFullYear()%100,e,2)}function at(t,e){return b(t.getFullYear()%1e4,e,4)}function ot(t){var e=t.getTimezoneOffset();return(e>0?\"-\":(e*=-1,\"+\"))+b(e/60|0,\"0\",2)+b(e%60,\"0\",2)}function st(t,e){return b(t.getUTCDate(),e,2)}function lt(t,e){return b(t.getUTCHours(),e,2)}function ut(t,e){return b(t.getUTCHours()%12||12,e,2)}function ct(t,e){return b(1+i.c.count((0,l.c)(t),t),e,3)}function ft(t,e){return b(t.getUTCMilliseconds(),e,3)}function ht(t,e){return ft(t,e)+\"000\"}function pt(t,e){return b(t.getUTCMonth()+1,e,2)}function dt(t,e){return b(t.getUTCMinutes(),e,2)}function vt(t,e){return b(t.getUTCSeconds(),e,2)}function gt(t){var e=t.getUTCDay();return 0===e?7:e}function yt(t,e){return b(n.EV.count((0,l.c)(t)-1,t),e,2)}function mt(t,e){var r=t.getUTCDay();return t=r>=4||0===r?(0,n.yA)(t):n.yA.ceil(t),b(n.yA.count((0,l.c)(t),t)+(4===(0,l.c)(t).getUTCDay()),e,2)}function xt(t){return t.getUTCDay()}function bt(t,e){return b(n.ot.count((0,l.c)(t)-1,t),e,2)}function _t(t,e){return b(t.getUTCFullYear()%100,e,2)}function wt(t,e){return b(t.getUTCFullYear()%1e4,e,4)}function Tt(){return\"+0000\"}function kt(){return\"%\"}function At(t){return+t}function Mt(t){return Math.floor(+t/1e3)}p=h({dateTime:\"%x, %X\",date:\"%-m/%-d/%Y\",time:\"%-I:%M:%S %p\",periods:[\"AM\",\"PM\"],days:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],shortDays:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],months:[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],shortMonths:[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"]}),d=p.format,p.parse,v=p.utcFormat,p.utcParse},68936:function(t,e,r){\"use strict\";r.d(e,{m:function(){return o}});var n=r(81628),i=r(69792),a=(0,n.c)((function(t){t.setHours(0,0,0,0)}),(function(t,e){t.setDate(t.getDate()+e)}),(function(t,e){return(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*i.iy)/i.SK}),(function(t){return t.getDate()-1}));e.c=a;var o=a.range},69792:function(t,e,r){\"use strict\";r.d(e,{KK:function(){return s},SK:function(){return o},cg:function(){return a},iy:function(){return i},yc:function(){return n}});var n=1e3,i=6e4,a=36e5,o=864e5,s=6048e5},73220:function(t,e,r){\"use strict\";r.r(e),r.d(e,{timeDay:function(){return y.c},timeDays:function(){return y.m},timeFriday:function(){return m.iB},timeFridays:function(){return m.sJ},timeHour:function(){return v},timeHours:function(){return g},timeInterval:function(){return n.c},timeMillisecond:function(){return a},timeMilliseconds:function(){return o},timeMinute:function(){return h},timeMinutes:function(){return p},timeMonday:function(){return m.qT},timeMondays:function(){return m.QP},timeMonth:function(){return b},timeMonths:function(){return _},timeSaturday:function(){return m.Wc},timeSaturdays:function(){return m.aI},timeSecond:function(){return u},timeSeconds:function(){return c},timeSunday:function(){return m.uU},timeSundays:function(){return m.Ab},timeThursday:function(){return m.kD},timeThursdays:function(){return m.eC},timeTuesday:function(){return m.Mf},timeTuesdays:function(){return m.Oc},timeWednesday:function(){return m.eg},timeWednesdays:function(){return m.sn},timeWeek:function(){return m.uU},timeWeeks:function(){return m.Ab},timeYear:function(){return w.c},timeYears:function(){return w.Q},utcDay:function(){return L.c},utcDays:function(){return L.o},utcFriday:function(){return C.od},utcFridays:function(){return C.iG},utcHour:function(){return S},utcHours:function(){return E},utcMillisecond:function(){return a},utcMilliseconds:function(){return o},utcMinute:function(){return k},utcMinutes:function(){return A},utcMonday:function(){return C.ot},utcMondays:function(){return C.iO},utcMonth:function(){return O},utcMonths:function(){return I},utcSaturday:function(){return C.Ad},utcSaturdays:function(){return C.K8},utcSecond:function(){return u},utcSeconds:function(){return c},utcSunday:function(){return C.EV},utcSundays:function(){return C.Wq},utcThursday:function(){return C.yA},utcThursdays:function(){return C.ob},utcTuesday:function(){return C.sG},utcTuesdays:function(){return C.kl},utcWednesday:function(){return C._6},utcWednesdays:function(){return C.W_},utcWeek:function(){return C.EV},utcWeeks:function(){return C.Wq},utcYear:function(){return z.c},utcYears:function(){return z.i}});var n=r(81628),i=(0,n.c)((function(){}),(function(t,e){t.setTime(+t+e)}),(function(t,e){return e-t}));i.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?(0,n.c)((function(e){e.setTime(Math.floor(e/t)*t)}),(function(e,r){e.setTime(+e+r*t)}),(function(e,r){return(r-e)/t})):i:null};var a=i,o=i.range,s=r(69792),l=(0,n.c)((function(t){t.setTime(t-t.getMilliseconds())}),(function(t,e){t.setTime(+t+e*s.yc)}),(function(t,e){return(e-t)/s.yc}),(function(t){return t.getUTCSeconds()})),u=l,c=l.range,f=(0,n.c)((function(t){t.setTime(t-t.getMilliseconds()-t.getSeconds()*s.yc)}),(function(t,e){t.setTime(+t+e*s.iy)}),(function(t,e){return(e-t)/s.iy}),(function(t){return t.getMinutes()})),h=f,p=f.range,d=(0,n.c)((function(t){t.setTime(t-t.getMilliseconds()-t.getSeconds()*s.yc-t.getMinutes()*s.iy)}),(function(t,e){t.setTime(+t+e*s.cg)}),(function(t,e){return(e-t)/s.cg}),(function(t){return t.getHours()})),v=d,g=d.range,y=r(68936),m=r(46192),x=(0,n.c)((function(t){t.setDate(1),t.setHours(0,0,0,0)}),(function(t,e){t.setMonth(t.getMonth()+e)}),(function(t,e){return e.getMonth()-t.getMonth()+12*(e.getFullYear()-t.getFullYear())}),(function(t){return t.getMonth()})),b=x,_=x.range,w=r(32171),T=(0,n.c)((function(t){t.setUTCSeconds(0,0)}),(function(t,e){t.setTime(+t+e*s.iy)}),(function(t,e){return(e-t)/s.iy}),(function(t){return t.getUTCMinutes()})),k=T,A=T.range,M=(0,n.c)((function(t){t.setUTCMinutes(0,0,0)}),(function(t,e){t.setTime(+t+e*s.cg)}),(function(t,e){return(e-t)/s.cg}),(function(t){return t.getUTCHours()})),S=M,E=M.range,L=r(58931),C=r(8208),P=(0,n.c)((function(t){t.setUTCDate(1),t.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCMonth(t.getUTCMonth()+e)}),(function(t,e){return e.getUTCMonth()-t.getUTCMonth()+12*(e.getUTCFullYear()-t.getUTCFullYear())}),(function(t){return t.getUTCMonth()})),O=P,I=P.range,z=r(53528)},81628:function(t,e,r){\"use strict\";r.d(e,{c:function(){return a}});var n=new Date,i=new Date;function a(t,e,r,o){function s(e){return t(e=0===arguments.length?new Date:new Date(+e)),e}return s.floor=function(e){return t(e=new Date(+e)),e},s.ceil=function(r){return t(r=new Date(r-1)),e(r,1),t(r),r},s.round=function(t){var e=s(t),r=s.ceil(t);return t-e0))return o;do{o.push(a=new Date(+r)),e(r,i),t(r)}while(a=e)for(;t(e),!r(e);)e.setTime(e-1)}),(function(t,n){if(t>=t)if(n<0)for(;++n<=0;)for(;e(t,-1),!r(t););else for(;--n>=0;)for(;e(t,1),!r(t););}))},r&&(s.count=function(e,a){return n.setTime(+e),i.setTime(+a),t(n),t(i),Math.floor(r(n,i))},s.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?s.filter(o?function(e){return o(e)%t==0}:function(e){return s.count(0,e)%t==0}):s:null}),s}},58931:function(t,e,r){\"use strict\";r.d(e,{o:function(){return o}});var n=r(81628),i=r(69792),a=(0,n.c)((function(t){t.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCDate(t.getUTCDate()+e)}),(function(t,e){return(e-t)/i.SK}),(function(t){return t.getUTCDate()-1}));e.c=a;var o=a.range},8208:function(t,e,r){\"use strict\";r.d(e,{Ad:function(){return h},EV:function(){return o},K8:function(){return x},W_:function(){return g},Wq:function(){return p},_6:function(){return u},iG:function(){return m},iO:function(){return d},kl:function(){return v},ob:function(){return y},od:function(){return f},ot:function(){return s},sG:function(){return l},yA:function(){return c}});var n=r(81628),i=r(69792);function a(t){return(0,n.c)((function(e){e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCDate(t.getUTCDate()+7*e)}),(function(t,e){return(e-t)/i.KK}))}var o=a(0),s=a(1),l=a(2),u=a(3),c=a(4),f=a(5),h=a(6),p=o.range,d=s.range,v=l.range,g=u.range,y=c.range,m=f.range,x=h.range},53528:function(t,e,r){\"use strict\";r.d(e,{i:function(){return a}});var n=r(81628),i=(0,n.c)((function(t){t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCFullYear(t.getUTCFullYear()+e)}),(function(t,e){return e.getUTCFullYear()-t.getUTCFullYear()}),(function(t){return t.getUTCFullYear()}));i.every=function(t){return isFinite(t=Math.floor(t))&&t>0?(0,n.c)((function(e){e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)}),(function(e,r){e.setUTCFullYear(e.getUTCFullYear()+r*t)})):null},e.c=i;var a=i.range},46192:function(t,e,r){\"use strict\";r.d(e,{Ab:function(){return p},Mf:function(){return l},Oc:function(){return v},QP:function(){return d},Wc:function(){return h},aI:function(){return x},eC:function(){return y},eg:function(){return u},iB:function(){return f},kD:function(){return c},qT:function(){return s},sJ:function(){return m},sn:function(){return g},uU:function(){return o}});var n=r(81628),i=r(69792);function a(t){return(0,n.c)((function(e){e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)}),(function(t,e){t.setDate(t.getDate()+7*e)}),(function(t,e){return(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*i.iy)/i.KK}))}var o=a(0),s=a(1),l=a(2),u=a(3),c=a(4),f=a(5),h=a(6),p=o.range,d=s.range,v=l.range,g=u.range,y=c.range,m=f.range,x=h.range},32171:function(t,e,r){\"use strict\";r.d(e,{Q:function(){return a}});var n=r(81628),i=(0,n.c)((function(t){t.setMonth(0,1),t.setHours(0,0,0,0)}),(function(t,e){t.setFullYear(t.getFullYear()+e)}),(function(t,e){return e.getFullYear()-t.getFullYear()}),(function(t){return t.getFullYear()}));i.every=function(t){return isFinite(t=Math.floor(t))&&t>0?(0,n.c)((function(e){e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)}),(function(e,r){e.setFullYear(e.getFullYear()+r*t)})):null},e.c=i;var a=i.range},64348:function(t,e,r){\"use strict\";var n=r(39640)(),i=r(53664),a=n&&i(\"%Object.defineProperty%\",!0);if(a)try{a({},\"a\",{value:1})}catch(t){a=!1}var o=i(\"%SyntaxError%\"),s=i(\"%TypeError%\"),l=r(2304);t.exports=function(t,e,r){if(!t||\"object\"!=typeof t&&\"function\"!=typeof t)throw new s(\"`obj` must be an object or a function`\");if(\"string\"!=typeof e&&\"symbol\"!=typeof e)throw new s(\"`property` must be a string or a symbol`\");if(arguments.length>3&&\"boolean\"!=typeof arguments[3]&&null!==arguments[3])throw new s(\"`nonEnumerable`, if provided, must be a boolean or null\");if(arguments.length>4&&\"boolean\"!=typeof arguments[4]&&null!==arguments[4])throw new s(\"`nonWritable`, if provided, must be a boolean or null\");if(arguments.length>5&&\"boolean\"!=typeof arguments[5]&&null!==arguments[5])throw new s(\"`nonConfigurable`, if provided, must be a boolean or null\");if(arguments.length>6&&\"boolean\"!=typeof arguments[6])throw new s(\"`loose`, if provided, must be a boolean\");var n=arguments.length>3?arguments[3]:null,i=arguments.length>4?arguments[4]:null,u=arguments.length>5?arguments[5]:null,c=arguments.length>6&&arguments[6],f=!!l&&l(t,e);if(a)a(t,e,{configurable:null===u&&f?f.configurable:!u,enumerable:null===n&&f?f.enumerable:!n,value:r,writable:null===i&&f?f.writable:!i});else{if(!c&&(n||i||u))throw new o(\"This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.\");t[e]=r}}},81288:function(t,e,r){\"use strict\";var n=r(41820),i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol(\"foo\"),a=Object.prototype.toString,o=Array.prototype.concat,s=Object.defineProperty,l=r(39640)(),u=s&&l,c=function(t,e,r,n){if(e in t)if(!0===n){if(t[e]===r)return}else if(\"function\"!=typeof(i=n)||\"[object Function]\"!==a.call(i)||!n())return;var i;u?s(t,e,{configurable:!0,enumerable:!1,value:r,writable:!0}):t[e]=r},f=function(t,e){var r=arguments.length>2?arguments[2]:{},a=n(e);i&&(a=o.call(a,Object.getOwnPropertySymbols(e)));for(var s=0;ss*l){var p=(h-f)/s;o[c]=1e3*p}}return o}function i(t){for(var e=[],r=t[0];r<=t[1];r++)for(var n=String.fromCharCode(r),i=t[0];i0)return function(t,e){var r,n;for(r=new Array(t),n=0;n80*a){o=l=t[0],s=f=t[1];for(var b=a;bl&&(l=h),d>f&&(f=d);v=0!==(v=Math.max(l-o,f-s))?1/v:0}return i(m,x,a,o,s,v),x}function r(t,e,r,n,i){var a,o;if(i===M(t,e,r,n)>0)for(a=e;a=e;a-=n)o=T(a,t[a],t[a+1],o);return o&&y(o,o.next)&&(k(o),o=o.next),o}function n(t,e){if(!t)return t;e||(e=t);var r,n=t;do{if(r=!1,n.steiner||!y(n,n.next)&&0!==g(n.prev,n,n.next))n=n.next;else{if(k(n),(n=e=n.prev)===n.next)break;r=!0}}while(r||n!==e);return e}function i(t,e,r,u,c,f,p){if(t){!p&&f&&function(t,e,r,n){var i=t;do{null===i.z&&(i.z=h(i.x,i.y,e,r,n)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next}while(i!==t);i.prevZ.nextZ=null,i.prevZ=null,function(t){var e,r,n,i,a,o,s,l,u=1;do{for(r=t,t=null,a=null,o=0;r;){for(o++,n=r,s=0,e=0;e0||l>0&&n;)0!==s&&(0===l||!n||r.z<=n.z)?(i=r,r=r.nextZ,s--):(i=n,n=n.nextZ,l--),a?a.nextZ=i:t=i,i.prevZ=a,a=i;r=n}a.nextZ=null,u*=2}while(o>1)}(i)}(t,u,c,f);for(var d,v,g=t;t.prev!==t.next;)if(d=t.prev,v=t.next,f?o(t,u,c,f):a(t))e.push(d.i/r),e.push(t.i/r),e.push(v.i/r),k(t),t=v.next,g=v.next;else if((t=v)===g){p?1===p?i(t=s(n(t),e,r),e,r,u,c,f,2):2===p&&l(t,e,r,u,c,f):i(n(t),e,r,u,c,f,1);break}}}function a(t){var e=t.prev,r=t,n=t.next;if(g(e,r,n)>=0)return!1;for(var i=t.next.next;i!==t.prev;){if(d(e.x,e.y,r.x,r.y,n.x,n.y,i.x,i.y)&&g(i.prev,i,i.next)>=0)return!1;i=i.next}return!0}function o(t,e,r,n){var i=t.prev,a=t,o=t.next;if(g(i,a,o)>=0)return!1;for(var s=i.xa.x?i.x>o.x?i.x:o.x:a.x>o.x?a.x:o.x,c=i.y>a.y?i.y>o.y?i.y:o.y:a.y>o.y?a.y:o.y,f=h(s,l,e,r,n),p=h(u,c,e,r,n),v=t.prevZ,y=t.nextZ;v&&v.z>=f&&y&&y.z<=p;){if(v!==t.prev&&v!==t.next&&d(i.x,i.y,a.x,a.y,o.x,o.y,v.x,v.y)&&g(v.prev,v,v.next)>=0)return!1;if(v=v.prevZ,y!==t.prev&&y!==t.next&&d(i.x,i.y,a.x,a.y,o.x,o.y,y.x,y.y)&&g(y.prev,y,y.next)>=0)return!1;y=y.nextZ}for(;v&&v.z>=f;){if(v!==t.prev&&v!==t.next&&d(i.x,i.y,a.x,a.y,o.x,o.y,v.x,v.y)&&g(v.prev,v,v.next)>=0)return!1;v=v.prevZ}for(;y&&y.z<=p;){if(y!==t.prev&&y!==t.next&&d(i.x,i.y,a.x,a.y,o.x,o.y,y.x,y.y)&&g(y.prev,y,y.next)>=0)return!1;y=y.nextZ}return!0}function s(t,e,r){var i=t;do{var a=i.prev,o=i.next.next;!y(a,o)&&m(a,i,i.next,o)&&_(a,o)&&_(o,a)&&(e.push(a.i/r),e.push(i.i/r),e.push(o.i/r),k(i),k(i.next),i=t=o),i=i.next}while(i!==t);return n(i)}function l(t,e,r,a,o,s){var l=t;do{for(var u=l.next.next;u!==l.prev;){if(l.i!==u.i&&v(l,u)){var c=w(l,u);return l=n(l,l.next),c=n(c,c.next),i(l,e,r,a,o,s),void i(c,e,r,a,o,s)}u=u.next}l=l.next}while(l!==t)}function u(t,e){return t.x-e.x}function c(t,e){if(e=function(t,e){var r,n=e,i=t.x,a=t.y,o=-1/0;do{if(a<=n.y&&a>=n.next.y&&n.next.y!==n.y){var s=n.x+(a-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(s<=i&&s>o){if(o=s,s===i){if(a===n.y)return n;if(a===n.next.y)return n.next}r=n.x=n.x&&n.x>=c&&i!==n.x&&d(ar.x||n.x===r.x&&f(r,n)))&&(r=n,p=l)),n=n.next}while(n!==u);return r}(t,e),e){var r=w(e,t);n(e,e.next),n(r,r.next)}}function f(t,e){return g(t.prev,t,e.prev)<0&&g(e.next,t,t.next)<0}function h(t,e,r,n,i){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-r)*i)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-n)*i)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function p(t){var e=t,r=t;do{(e.x=0&&(t-o)*(n-s)-(r-o)*(e-s)>=0&&(r-o)*(a-s)-(i-o)*(n-s)>=0}function v(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!function(t,e){var r=t;do{if(r.i!==t.i&&r.next.i!==t.i&&r.i!==e.i&&r.next.i!==e.i&&m(r,r.next,t,e))return!0;r=r.next}while(r!==t);return!1}(t,e)&&(_(t,e)&&_(e,t)&&function(t,e){var r=t,n=!1,i=(t.x+e.x)/2,a=(t.y+e.y)/2;do{r.y>a!=r.next.y>a&&r.next.y!==r.y&&i<(r.next.x-r.x)*(a-r.y)/(r.next.y-r.y)+r.x&&(n=!n),r=r.next}while(r!==t);return n}(t,e)&&(g(t.prev,t,e.prev)||g(t,e.prev,e))||y(t,e)&&g(t.prev,t,t.next)>0&&g(e.prev,e,e.next)>0)}function g(t,e,r){return(e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y)}function y(t,e){return t.x===e.x&&t.y===e.y}function m(t,e,r,n){var i=b(g(t,e,r)),a=b(g(t,e,n)),o=b(g(r,n,t)),s=b(g(r,n,e));return i!==a&&o!==s||!(0!==i||!x(t,r,e))||!(0!==a||!x(t,n,e))||!(0!==o||!x(r,t,n))||!(0!==s||!x(r,e,n))}function x(t,e,r){return e.x<=Math.max(t.x,r.x)&&e.x>=Math.min(t.x,r.x)&&e.y<=Math.max(t.y,r.y)&&e.y>=Math.min(t.y,r.y)}function b(t){return t>0?1:t<0?-1:0}function _(t,e){return g(t.prev,t,t.next)<0?g(t,e,t.next)>=0&&g(t,t.prev,e)>=0:g(t,e,t.prev)<0||g(t,t.next,e)<0}function w(t,e){var r=new A(t.i,t.x,t.y),n=new A(e.i,e.x,e.y),i=t.next,a=e.prev;return t.next=e,e.prev=t,r.next=i,i.prev=r,n.next=r,r.prev=n,a.next=n,n.prev=a,n}function T(t,e,r,n){var i=new A(t,e,r);return n?(i.next=n.next,i.prev=n,n.next.prev=i,n.next=i):(i.prev=i,i.next=i),i}function k(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}function A(t,e,r){this.i=t,this.x=e,this.y=r,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function M(t,e,r,n){for(var i=0,a=e,o=r-n;a0&&(n+=t[i-1].length,r.holes.push(n))}return r}},6688:function(t,e,r){var n=r(78484);t.exports=function(t,e){var r,i=[],a=[],o=[],s={},l=[];function u(t){o[t]=!1,s.hasOwnProperty(t)&&Object.keys(s[t]).forEach((function(e){delete s[t][e],o[e]&&u(e)}))}function c(t){var e,n,i=!1;for(a.push(t),o[t]=!0,e=0;e=e}))}(e);for(var r,i=n(t).components.filter((function(t){return t.length>1})),a=1/0,o=0;o=55296&&m<=56319&&(w+=t[++r]),w=T?h.call(T,k,w,v):w,e?(p.value=w,d(g,v,p)):g[v]=w,++v;y=v}if(void 0===y)for(y=o(t.length),e&&(g=new e(y)),r=0;r0?1:-1}},96936:function(t,e,r){\"use strict\";var n=r(85608),i=Math.abs,a=Math.floor;t.exports=function(t){return isNaN(t)?0:0!==(t=Number(t))&&isFinite(t)?n(t)*a(i(t)):t}},81304:function(t,e,r){\"use strict\";var n=r(96936),i=Math.max;t.exports=function(t){return i(0,n(t))}},14428:function(t,e,r){\"use strict\";var n=r(34044),i=r(9252),a=Function.prototype.bind,o=Function.prototype.call,s=Object.keys,l=Object.prototype.propertyIsEnumerable;t.exports=function(t,e){return function(r,u){var c,f=arguments[2],h=arguments[3];return r=Object(i(r)),n(u),c=s(r),h&&c.sort(\"function\"==typeof h?a.call(h,r):void 0),\"function\"!=typeof t&&(t=c[t]),o.call(t,c,(function(t,n){return l.call(r,t)?o.call(u,f,r[t],t,r,n):e}))}}},38452:function(t,e,r){\"use strict\";t.exports=r(96276)()?Object.assign:r(81892)},96276:function(t){\"use strict\";t.exports=function(){var t,e=Object.assign;return\"function\"==typeof e&&(e(t={foo:\"raz\"},{bar:\"dwa\"},{trzy:\"trzy\"}),t.foo+t.bar+t.trzy===\"razdwatrzy\")}},81892:function(t,e,r){\"use strict\";var n=r(54768),i=r(9252),a=Math.max;t.exports=function(t,e){var r,o,s,l=a(arguments.length,2);for(t=Object(i(t)),s=function(n){try{t[n]=e[n]}catch(t){r||(r=t)}},o=1;o-1}},29768:function(t){\"use strict\";var e=Object.prototype.toString,r=e.call(\"\");t.exports=function(t){return\"string\"==typeof t||t&&\"object\"==typeof t&&(t instanceof String||e.call(t)===r)||!1}},82252:function(t){\"use strict\";var e=Object.create(null),r=Math.random;t.exports=function(){var t;do{t=r().toString(36).slice(2)}while(e[t]);return t}},52104:function(t,e,r){\"use strict\";var n,i=r(69932),a=r(71056),o=r(21092),s=r(92664),l=r(85512),u=Object.defineProperty;n=t.exports=function(t,e){if(!(this instanceof n))throw new TypeError(\"Constructor requires 'new'\");l.call(this,t),e=e?a.call(e,\"key+value\")?\"key+value\":a.call(e,\"key\")?\"key\":\"value\":\"value\",u(this,\"__kind__\",o(\"\",e))},i&&i(n,l),delete n.prototype.constructor,n.prototype=Object.create(l.prototype,{_resolve:o((function(t){return\"value\"===this.__kind__?this.__list__[t]:\"key+value\"===this.__kind__?[t,this.__list__[t]]:t}))}),u(n.prototype,s.toStringTag,o(\"c\",\"Array Iterator\"))},76024:function(t,e,r){\"use strict\";var n=r(60948),i=r(34044),a=r(29768),o=r(76252),s=Array.isArray,l=Function.prototype.call,u=Array.prototype.some;t.exports=function(t,e){var r,c,f,h,p,d,v,g,y=arguments[2];if(s(t)||n(t)?r=\"array\":a(t)?r=\"string\":t=o(t),i(e),f=function(){h=!0},\"array\"!==r)if(\"string\"!==r)for(c=t.next();!c.done;){if(l.call(e,y,c.value,f),h)return;c=t.next()}else for(d=t.length,p=0;p=55296&&g<=56319&&(v+=t[++p]),l.call(e,y,v,f),!h);++p);else u.call(t,(function(t){return l.call(e,y,t,f),h}))}},76252:function(t,e,r){\"use strict\";var n=r(60948),i=r(29768),a=r(52104),o=r(80940),s=r(52891),l=r(92664).iterator;t.exports=function(t){return\"function\"==typeof s(t)[l]?t[l]():n(t)?new a(t):i(t)?new o(t):new a(t)}},85512:function(t,e,r){\"use strict\";var n,i=r(41476),a=r(38452),o=r(34044),s=r(9252),l=r(21092),u=r(27940),c=r(92664),f=Object.defineProperty,h=Object.defineProperties;t.exports=n=function(t,e){if(!(this instanceof n))throw new TypeError(\"Constructor requires 'new'\");h(this,{__list__:l(\"w\",s(t)),__context__:l(\"w\",e),__nextIndex__:l(\"w\",0)}),e&&(o(e.on),e.on(\"_add\",this._onAdd),e.on(\"_delete\",this._onDelete),e.on(\"_clear\",this._onClear))},delete n.prototype.constructor,h(n.prototype,a({_next:l((function(){var t;if(this.__list__)return this.__redo__&&void 0!==(t=this.__redo__.shift())?t:this.__nextIndex__=this.__nextIndex__||(++this.__nextIndex__,this.__redo__?(this.__redo__.forEach((function(e,r){e>=t&&(this.__redo__[r]=++e)}),this),this.__redo__.push(t)):f(this,\"__redo__\",l(\"c\",[t])))})),_onDelete:l((function(t){var e;t>=this.__nextIndex__||(--this.__nextIndex__,this.__redo__&&(-1!==(e=this.__redo__.indexOf(t))&&this.__redo__.splice(e,1),this.__redo__.forEach((function(e,r){e>t&&(this.__redo__[r]=--e)}),this)))})),_onClear:l((function(){this.__redo__&&i.call(this.__redo__),this.__nextIndex__=0}))}))),f(n.prototype,c.iterator,l((function(){return this})))},76368:function(t,e,r){\"use strict\";var n=r(60948),i=r(42584),a=r(29768),o=r(92664).iterator,s=Array.isArray;t.exports=function(t){return!(!i(t)||!s(t)&&!a(t)&&!n(t)&&\"function\"!=typeof t[o])}},80940:function(t,e,r){\"use strict\";var n,i=r(69932),a=r(21092),o=r(92664),s=r(85512),l=Object.defineProperty;n=t.exports=function(t){if(!(this instanceof n))throw new TypeError(\"Constructor requires 'new'\");t=String(t),s.call(this,t),l(this,\"__length__\",a(\"\",t.length))},i&&i(n,s),delete n.prototype.constructor,n.prototype=Object.create(s.prototype,{_next:a((function(){if(this.__list__)return this.__nextIndex__=55296&&e<=56319?r+this.__list__[this.__nextIndex__++]:r}))}),l(n.prototype,o.toStringTag,a(\"c\",\"String Iterator\"))},52891:function(t,e,r){\"use strict\";var n=r(76368);t.exports=function(t){if(!n(t))throw new TypeError(t+\" is not iterable\");return t}},60964:function(t){\"use strict\";function e(t,e){if(null==t)throw new TypeError(\"Cannot convert first argument to object\");for(var r=Object(t),n=1;n0&&o.length>i&&!o.warned){o.warned=!0;var c=new Error(\"Possible EventEmitter memory leak detected. \"+o.length+\" \"+String(e)+\" listeners added. Use emitter.setMaxListeners() to increase limit\");c.name=\"MaxListenersExceededWarning\",c.emitter=t,c.type=e,c.count=o.length,u=c,console&&console.warn&&console.warn(u)}return t}function c(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function f(t,e,r){var n={fired:!1,wrapFn:void 0,target:t,type:e,listener:r},i=c.bind(n);return i.listener=r,n.wrapFn=i,i}function h(t,e,r){var n=t._events;if(void 0===n)return[];var i=n[e];return void 0===i?[]:\"function\"==typeof i?r?[i.listener||i]:[i]:r?function(t){for(var e=new Array(t.length),r=0;r0&&(o=e[0]),o instanceof Error)throw o;var s=new Error(\"Unhandled error.\"+(o?\" (\"+o.message+\")\":\"\"));throw s.context=o,s}var l=a[t];if(void 0===l)return!1;if(\"function\"==typeof l)n(l,this,e);else{var u=l.length,c=d(l,u);for(r=0;r=0;a--)if(r[a]===e||r[a].listener===e){o=r[a].listener,i=a;break}if(i<0)return this;0===i?r.shift():function(t,e){for(;e+1=0;n--)this.removeListener(t,e[n]);return this},a.prototype.listeners=function(t){return h(this,t,!0)},a.prototype.rawListeners=function(t){return h(this,t,!1)},a.listenerCount=function(t,e){return\"function\"==typeof t.listenerCount?t.listenerCount(e):p.call(t,e)},a.prototype.listenerCount=p,a.prototype.eventNames=function(){return this._eventsCount>0?e(this._events):[]}},39072:function(t){var e=function(){if(\"object\"==typeof self&&self)return self;if(\"object\"==typeof window&&window)return window;throw new Error(\"Unable to resolve global `this`\")};t.exports=function(){if(this)return this;try{Object.defineProperty(Object.prototype,\"__global__\",{get:function(){return this},configurable:!0})}catch(t){return e()}try{return __global__||e()}finally{delete Object.prototype.__global__}}()},12296:function(t,e,r){\"use strict\";t.exports=r(45072)()?globalThis:r(39072)},45072:function(t){\"use strict\";t.exports=function(){return\"object\"==typeof globalThis&&!!globalThis&&globalThis.Array===Array}},38248:function(t,e,r){\"use strict\";var n=r(94576);t.exports=function(t){var e=typeof t;if(\"string\"===e){var r=t;if(0==(t=+t)&&n(r))return!1}else if(\"number\"!==e)return!1;return t-t<1}},47520:function(t,e,r){var n=r(72512);t.exports=function(t,e,r){if(!t)throw new TypeError(\"must specify data as first parameter\");if(r=0|+(r||0),Array.isArray(t)&&t[0]&&\"number\"==typeof t[0][0]){var i,a,o,s,l=t[0].length,u=t.length*l;e&&\"string\"!=typeof e||(e=new(n(e||\"float32\"))(u+r));var c=e.length-r;if(u!==c)throw new Error(\"source length \"+u+\" (\"+l+\"x\"+t.length+\") does not match destination length \"+c);for(i=0,o=r;ie[0]-o[0]/2&&(h=o[0]/2,p+=o[1]);return r}},71920:function(t){\"use strict\";function e(t,a){a||(a={}),(\"string\"==typeof t||Array.isArray(t))&&(a.family=t);var o=Array.isArray(a.family)?a.family.join(\", \"):a.family;if(!o)throw Error(\"`family` must be defined\");var s=a.size||a.fontSize||a.em||48,l=a.weight||a.fontWeight||\"\",u=(t=[a.style||a.fontStyle||\"\",l,s].join(\" \")+\"px \"+o,a.origin||\"top\");if(e.cache[o]&&s<=e.cache[o].em)return r(e.cache[o],u);var c=a.canvas||e.canvas,f=c.getContext(\"2d\"),h={upper:void 0!==a.upper?a.upper:\"H\",lower:void 0!==a.lower?a.lower:\"x\",descent:void 0!==a.descent?a.descent:\"p\",ascent:void 0!==a.ascent?a.ascent:\"h\",tittle:void 0!==a.tittle?a.tittle:\"i\",overshoot:void 0!==a.overshoot?a.overshoot:\"O\"},p=Math.ceil(1.5*s);c.height=p,c.width=.5*p,f.font=t;var d=\"H\",v={top:0};f.clearRect(0,0,p,p),f.textBaseline=\"top\",f.fillStyle=\"black\",f.fillText(d,0,0);var g=n(f.getImageData(0,0,p,p));f.clearRect(0,0,p,p),f.textBaseline=\"bottom\",f.fillText(d,0,p);var y=n(f.getImageData(0,0,p,p));v.lineHeight=v.bottom=p-y+g,f.clearRect(0,0,p,p),f.textBaseline=\"alphabetic\",f.fillText(d,0,p);var m=p-n(f.getImageData(0,0,p,p))-1+g;v.baseline=v.alphabetic=m,f.clearRect(0,0,p,p),f.textBaseline=\"middle\",f.fillText(d,0,.5*p);var x=n(f.getImageData(0,0,p,p));v.median=v.middle=p-x-1+g-.5*p,f.clearRect(0,0,p,p),f.textBaseline=\"hanging\",f.fillText(d,0,.5*p);var b=n(f.getImageData(0,0,p,p));v.hanging=p-b-1+g-.5*p,f.clearRect(0,0,p,p),f.textBaseline=\"ideographic\",f.fillText(d,0,p);var _=n(f.getImageData(0,0,p,p));if(v.ideographic=p-_-1+g,h.upper&&(f.clearRect(0,0,p,p),f.textBaseline=\"top\",f.fillText(h.upper,0,0),v.upper=n(f.getImageData(0,0,p,p)),v.capHeight=v.baseline-v.upper),h.lower&&(f.clearRect(0,0,p,p),f.textBaseline=\"top\",f.fillText(h.lower,0,0),v.lower=n(f.getImageData(0,0,p,p)),v.xHeight=v.baseline-v.lower),h.tittle&&(f.clearRect(0,0,p,p),f.textBaseline=\"top\",f.fillText(h.tittle,0,0),v.tittle=n(f.getImageData(0,0,p,p))),h.ascent&&(f.clearRect(0,0,p,p),f.textBaseline=\"top\",f.fillText(h.ascent,0,0),v.ascent=n(f.getImageData(0,0,p,p))),h.descent&&(f.clearRect(0,0,p,p),f.textBaseline=\"top\",f.fillText(h.descent,0,0),v.descent=i(f.getImageData(0,0,p,p))),h.overshoot){f.clearRect(0,0,p,p),f.textBaseline=\"top\",f.fillText(h.overshoot,0,0);var w=i(f.getImageData(0,0,p,p));v.overshoot=w-m}for(var T in v)v[T]/=s;return v.em=s,e.cache[o]=v,r(v,u)}function r(t,e){var r={};for(var n in\"string\"==typeof e&&(e=t[e]),t)\"em\"!==n&&(r[n]=t[n]-e);return r}function n(t){for(var e=t.height,r=t.data,n=3;n0;n-=4)if(0!==r[n])return Math.floor(.25*(n-3)/e)}t.exports=e,e.canvas=document.createElement(\"canvas\"),e.cache={}},46492:function(t,e,r){\"use strict\";var n=r(90720),i=Object.prototype.toString,a=Object.prototype.hasOwnProperty;t.exports=function(t,e,r){if(!n(e))throw new TypeError(\"iterator must be a function\");var o;arguments.length>=3&&(o=r),\"[object Array]\"===i.call(t)?function(t,e,r){for(var n=0,i=t.length;n1&&\"boolean\"!=typeof e)throw new o('\"allowMissing\" argument must be a boolean');if(null===M(/^%?[^%]*%?$/,t))throw new i(\"`%` may not be present anywhere but at the beginning and end of the intrinsic name\");var r=function(t){var e=A(t,0,1),r=A(t,-1);if(\"%\"===e&&\"%\"!==r)throw new i(\"invalid intrinsic syntax, expected closing `%`\");if(\"%\"===r&&\"%\"!==e)throw new i(\"invalid intrinsic syntax, expected opening `%`\");var n=[];return k(t,S,(function(t,e,r,i){n[n.length]=r?k(i,E,\"$1\"):e||t})),n}(t),n=r.length>0?r[0]:\"\",a=L(\"%\"+n+\"%\",e),s=a.name,u=a.value,c=!1,f=a.alias;f&&(n=f[0],T(r,w([0,1],f)));for(var h=1,p=!0;h=r.length){var m=l(u,d);u=(p=!!m)&&\"get\"in m&&!(\"originalValue\"in m.get)?m.get:u[d]}else p=_(u,d),u=u[d];p&&!c&&(g[s]=u)}}return u}},12408:function(t){t.exports=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],l=e[6],u=e[7],c=e[8],f=e[9],h=e[10],p=e[11],d=e[12],v=e[13],g=e[14],y=e[15];return t[0]=s*(h*y-p*g)-f*(l*y-u*g)+v*(l*p-u*h),t[1]=-(n*(h*y-p*g)-f*(i*y-a*g)+v*(i*p-a*h)),t[2]=n*(l*y-u*g)-s*(i*y-a*g)+v*(i*u-a*l),t[3]=-(n*(l*p-u*h)-s*(i*p-a*h)+f*(i*u-a*l)),t[4]=-(o*(h*y-p*g)-c*(l*y-u*g)+d*(l*p-u*h)),t[5]=r*(h*y-p*g)-c*(i*y-a*g)+d*(i*p-a*h),t[6]=-(r*(l*y-u*g)-o*(i*y-a*g)+d*(i*u-a*l)),t[7]=r*(l*p-u*h)-o*(i*p-a*h)+c*(i*u-a*l),t[8]=o*(f*y-p*v)-c*(s*y-u*v)+d*(s*p-u*f),t[9]=-(r*(f*y-p*v)-c*(n*y-a*v)+d*(n*p-a*f)),t[10]=r*(s*y-u*v)-o*(n*y-a*v)+d*(n*u-a*s),t[11]=-(r*(s*p-u*f)-o*(n*p-a*f)+c*(n*u-a*s)),t[12]=-(o*(f*g-h*v)-c*(s*g-l*v)+d*(s*h-l*f)),t[13]=r*(f*g-h*v)-c*(n*g-i*v)+d*(n*h-i*f),t[14]=-(r*(s*g-l*v)-o*(n*g-i*v)+d*(n*l-i*s)),t[15]=r*(s*h-l*f)-o*(n*h-i*f)+c*(n*l-i*s),t}},76860:function(t){t.exports=function(t){var e=new Float32Array(16);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}},64492:function(t){t.exports=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}},54212:function(t){t.exports=function(){var t=new Float32Array(16);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},70800:function(t){t.exports=function(t){var e=t[0],r=t[1],n=t[2],i=t[3],a=t[4],o=t[5],s=t[6],l=t[7],u=t[8],c=t[9],f=t[10],h=t[11],p=t[12],d=t[13],v=t[14],g=t[15];return(e*o-r*a)*(f*g-h*v)-(e*s-n*a)*(c*g-h*d)+(e*l-i*a)*(c*v-f*d)+(r*s-n*o)*(u*g-h*p)-(r*l-i*o)*(u*v-f*p)+(n*l-i*s)*(u*d-c*p)}},61784:function(t){t.exports=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=r+r,s=n+n,l=i+i,u=r*o,c=n*o,f=n*s,h=i*o,p=i*s,d=i*l,v=a*o,g=a*s,y=a*l;return t[0]=1-f-d,t[1]=c+y,t[2]=h-g,t[3]=0,t[4]=c-y,t[5]=1-u-d,t[6]=p+v,t[7]=0,t[8]=h+g,t[9]=p-v,t[10]=1-u-f,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},91616:function(t){t.exports=function(t,e,r){var n,i,a,o=r[0],s=r[1],l=r[2],u=Math.sqrt(o*o+s*s+l*l);return Math.abs(u)<1e-6?null:(o*=u=1/u,s*=u,l*=u,n=Math.sin(e),a=1-(i=Math.cos(e)),t[0]=o*o*a+i,t[1]=s*o*a+l*n,t[2]=l*o*a-s*n,t[3]=0,t[4]=o*s*a-l*n,t[5]=s*s*a+i,t[6]=l*s*a+o*n,t[7]=0,t[8]=o*l*a+s*n,t[9]=s*l*a-o*n,t[10]=l*l*a+i,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t)}},51944:function(t){t.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=n+n,l=i+i,u=a+a,c=n*s,f=n*l,h=n*u,p=i*l,d=i*u,v=a*u,g=o*s,y=o*l,m=o*u;return t[0]=1-(p+v),t[1]=f+m,t[2]=h-y,t[3]=0,t[4]=f-m,t[5]=1-(c+v),t[6]=d+g,t[7]=0,t[8]=h+y,t[9]=d-g,t[10]=1-(c+p),t[11]=0,t[12]=r[0],t[13]=r[1],t[14]=r[2],t[15]=1,t}},69444:function(t){t.exports=function(t,e){return t[0]=e[0],t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=e[1],t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=e[2],t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},48268:function(t){t.exports=function(t,e){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=e[0],t[13]=e[1],t[14]=e[2],t[15]=1,t}},21856:function(t){t.exports=function(t,e){var r=Math.sin(e),n=Math.cos(e);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=n,t[6]=r,t[7]=0,t[8]=0,t[9]=-r,t[10]=n,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},79216:function(t){t.exports=function(t,e){var r=Math.sin(e),n=Math.cos(e);return t[0]=n,t[1]=0,t[2]=-r,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=r,t[9]=0,t[10]=n,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},57736:function(t){t.exports=function(t,e){var r=Math.sin(e),n=Math.cos(e);return t[0]=n,t[1]=r,t[2]=0,t[3]=0,t[4]=-r,t[5]=n,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},38848:function(t){t.exports=function(t,e,r,n,i,a,o){var s=1/(r-e),l=1/(i-n),u=1/(a-o);return t[0]=2*a*s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=2*a*l,t[6]=0,t[7]=0,t[8]=(r+e)*s,t[9]=(i+n)*l,t[10]=(o+a)*u,t[11]=-1,t[12]=0,t[13]=0,t[14]=o*a*2*u,t[15]=0,t}},36635:function(t){t.exports=function(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},36524:function(t,e,r){t.exports={create:r(54212),clone:r(76860),copy:r(64492),identity:r(36635),transpose:r(86520),invert:r(4308),adjoint:r(12408),determinant:r(70800),multiply:r(80944),translate:r(35176),scale:r(68152),rotate:r(30016),rotateX:r(15456),rotateY:r(64840),rotateZ:r(4192),fromRotation:r(91616),fromRotationTranslation:r(51944),fromScaling:r(69444),fromTranslation:r(48268),fromXRotation:r(21856),fromYRotation:r(79216),fromZRotation:r(57736),fromQuat:r(61784),frustum:r(38848),perspective:r(51296),perspectiveFromFieldOfView:r(63688),ortho:r(97688),lookAt:r(56508),str:r(89412)}},4308:function(t){t.exports=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],l=e[6],u=e[7],c=e[8],f=e[9],h=e[10],p=e[11],d=e[12],v=e[13],g=e[14],y=e[15],m=r*s-n*o,x=r*l-i*o,b=r*u-a*o,_=n*l-i*s,w=n*u-a*s,T=i*u-a*l,k=c*v-f*d,A=c*g-h*d,M=c*y-p*d,S=f*g-h*v,E=f*y-p*v,L=h*y-p*g,C=m*L-x*E+b*S+_*M-w*A+T*k;return C?(C=1/C,t[0]=(s*L-l*E+u*S)*C,t[1]=(i*E-n*L-a*S)*C,t[2]=(v*T-g*w+y*_)*C,t[3]=(h*w-f*T-p*_)*C,t[4]=(l*M-o*L-u*A)*C,t[5]=(r*L-i*M+a*A)*C,t[6]=(g*b-d*T-y*x)*C,t[7]=(c*T-h*b+p*x)*C,t[8]=(o*E-s*M+u*k)*C,t[9]=(n*M-r*E-a*k)*C,t[10]=(d*w-v*b+y*m)*C,t[11]=(f*b-c*w-p*m)*C,t[12]=(s*A-o*S-l*k)*C,t[13]=(r*S-n*A+i*k)*C,t[14]=(v*x-d*_-g*m)*C,t[15]=(c*_-f*x+h*m)*C,t):null}},56508:function(t,e,r){var n=r(36635);t.exports=function(t,e,r,i){var a,o,s,l,u,c,f,h,p,d,v=e[0],g=e[1],y=e[2],m=i[0],x=i[1],b=i[2],_=r[0],w=r[1],T=r[2];return Math.abs(v-_)<1e-6&&Math.abs(g-w)<1e-6&&Math.abs(y-T)<1e-6?n(t):(f=v-_,h=g-w,p=y-T,a=x*(p*=d=1/Math.sqrt(f*f+h*h+p*p))-b*(h*=d),o=b*(f*=d)-m*p,s=m*h-x*f,(d=Math.sqrt(a*a+o*o+s*s))?(a*=d=1/d,o*=d,s*=d):(a=0,o=0,s=0),l=h*s-p*o,u=p*a-f*s,c=f*o-h*a,(d=Math.sqrt(l*l+u*u+c*c))?(l*=d=1/d,u*=d,c*=d):(l=0,u=0,c=0),t[0]=a,t[1]=l,t[2]=f,t[3]=0,t[4]=o,t[5]=u,t[6]=h,t[7]=0,t[8]=s,t[9]=c,t[10]=p,t[11]=0,t[12]=-(a*v+o*g+s*y),t[13]=-(l*v+u*g+c*y),t[14]=-(f*v+h*g+p*y),t[15]=1,t)}},80944:function(t){t.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],u=e[6],c=e[7],f=e[8],h=e[9],p=e[10],d=e[11],v=e[12],g=e[13],y=e[14],m=e[15],x=r[0],b=r[1],_=r[2],w=r[3];return t[0]=x*n+b*s+_*f+w*v,t[1]=x*i+b*l+_*h+w*g,t[2]=x*a+b*u+_*p+w*y,t[3]=x*o+b*c+_*d+w*m,x=r[4],b=r[5],_=r[6],w=r[7],t[4]=x*n+b*s+_*f+w*v,t[5]=x*i+b*l+_*h+w*g,t[6]=x*a+b*u+_*p+w*y,t[7]=x*o+b*c+_*d+w*m,x=r[8],b=r[9],_=r[10],w=r[11],t[8]=x*n+b*s+_*f+w*v,t[9]=x*i+b*l+_*h+w*g,t[10]=x*a+b*u+_*p+w*y,t[11]=x*o+b*c+_*d+w*m,x=r[12],b=r[13],_=r[14],w=r[15],t[12]=x*n+b*s+_*f+w*v,t[13]=x*i+b*l+_*h+w*g,t[14]=x*a+b*u+_*p+w*y,t[15]=x*o+b*c+_*d+w*m,t}},97688:function(t){t.exports=function(t,e,r,n,i,a,o){var s=1/(e-r),l=1/(n-i),u=1/(a-o);return t[0]=-2*s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*l,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=2*u,t[11]=0,t[12]=(e+r)*s,t[13]=(i+n)*l,t[14]=(o+a)*u,t[15]=1,t}},51296:function(t){t.exports=function(t,e,r,n,i){var a=1/Math.tan(e/2),o=1/(n-i);return t[0]=a/r,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=a,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=(i+n)*o,t[11]=-1,t[12]=0,t[13]=0,t[14]=2*i*n*o,t[15]=0,t}},63688:function(t){t.exports=function(t,e,r,n){var i=Math.tan(e.upDegrees*Math.PI/180),a=Math.tan(e.downDegrees*Math.PI/180),o=Math.tan(e.leftDegrees*Math.PI/180),s=Math.tan(e.rightDegrees*Math.PI/180),l=2/(o+s),u=2/(i+a);return t[0]=l,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=u,t[6]=0,t[7]=0,t[8]=-(o-s)*l*.5,t[9]=(i-a)*u*.5,t[10]=n/(r-n),t[11]=-1,t[12]=0,t[13]=0,t[14]=n*r/(r-n),t[15]=0,t}},30016:function(t){t.exports=function(t,e,r,n){var i,a,o,s,l,u,c,f,h,p,d,v,g,y,m,x,b,_,w,T,k,A,M,S,E=n[0],L=n[1],C=n[2],P=Math.sqrt(E*E+L*L+C*C);return Math.abs(P)<1e-6?null:(E*=P=1/P,L*=P,C*=P,i=Math.sin(r),o=1-(a=Math.cos(r)),s=e[0],l=e[1],u=e[2],c=e[3],f=e[4],h=e[5],p=e[6],d=e[7],v=e[8],g=e[9],y=e[10],m=e[11],x=E*E*o+a,b=L*E*o+C*i,_=C*E*o-L*i,w=E*L*o-C*i,T=L*L*o+a,k=C*L*o+E*i,A=E*C*o+L*i,M=L*C*o-E*i,S=C*C*o+a,t[0]=s*x+f*b+v*_,t[1]=l*x+h*b+g*_,t[2]=u*x+p*b+y*_,t[3]=c*x+d*b+m*_,t[4]=s*w+f*T+v*k,t[5]=l*w+h*T+g*k,t[6]=u*w+p*T+y*k,t[7]=c*w+d*T+m*k,t[8]=s*A+f*M+v*S,t[9]=l*A+h*M+g*S,t[10]=u*A+p*M+y*S,t[11]=c*A+d*M+m*S,e!==t&&(t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t)}},15456:function(t){t.exports=function(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[4],o=e[5],s=e[6],l=e[7],u=e[8],c=e[9],f=e[10],h=e[11];return e!==t&&(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[4]=a*i+u*n,t[5]=o*i+c*n,t[6]=s*i+f*n,t[7]=l*i+h*n,t[8]=u*i-a*n,t[9]=c*i-o*n,t[10]=f*i-s*n,t[11]=h*i-l*n,t}},64840:function(t){t.exports=function(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[0],o=e[1],s=e[2],l=e[3],u=e[8],c=e[9],f=e[10],h=e[11];return e!==t&&(t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=a*i-u*n,t[1]=o*i-c*n,t[2]=s*i-f*n,t[3]=l*i-h*n,t[8]=a*n+u*i,t[9]=o*n+c*i,t[10]=s*n+f*i,t[11]=l*n+h*i,t}},4192:function(t){t.exports=function(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[0],o=e[1],s=e[2],l=e[3],u=e[4],c=e[5],f=e[6],h=e[7];return e!==t&&(t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=a*i+u*n,t[1]=o*i+c*n,t[2]=s*i+f*n,t[3]=l*i+h*n,t[4]=u*i-a*n,t[5]=c*i-o*n,t[6]=f*i-s*n,t[7]=h*i-l*n,t}},68152:function(t){t.exports=function(t,e,r){var n=r[0],i=r[1],a=r[2];return t[0]=e[0]*n,t[1]=e[1]*n,t[2]=e[2]*n,t[3]=e[3]*n,t[4]=e[4]*i,t[5]=e[5]*i,t[6]=e[6]*i,t[7]=e[7]*i,t[8]=e[8]*a,t[9]=e[9]*a,t[10]=e[10]*a,t[11]=e[11]*a,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}},89412:function(t){t.exports=function(t){return\"mat4(\"+t[0]+\", \"+t[1]+\", \"+t[2]+\", \"+t[3]+\", \"+t[4]+\", \"+t[5]+\", \"+t[6]+\", \"+t[7]+\", \"+t[8]+\", \"+t[9]+\", \"+t[10]+\", \"+t[11]+\", \"+t[12]+\", \"+t[13]+\", \"+t[14]+\", \"+t[15]+\")\"}},35176:function(t){t.exports=function(t,e,r){var n,i,a,o,s,l,u,c,f,h,p,d,v=r[0],g=r[1],y=r[2];return e===t?(t[12]=e[0]*v+e[4]*g+e[8]*y+e[12],t[13]=e[1]*v+e[5]*g+e[9]*y+e[13],t[14]=e[2]*v+e[6]*g+e[10]*y+e[14],t[15]=e[3]*v+e[7]*g+e[11]*y+e[15]):(n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],u=e[6],c=e[7],f=e[8],h=e[9],p=e[10],d=e[11],t[0]=n,t[1]=i,t[2]=a,t[3]=o,t[4]=s,t[5]=l,t[6]=u,t[7]=c,t[8]=f,t[9]=h,t[10]=p,t[11]=d,t[12]=n*v+s*g+f*y+e[12],t[13]=i*v+l*g+h*y+e[13],t[14]=a*v+u*g+p*y+e[14],t[15]=o*v+c*g+d*y+e[15]),t}},86520:function(t){t.exports=function(t,e){if(t===e){var r=e[1],n=e[2],i=e[3],a=e[6],o=e[7],s=e[11];t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=r,t[6]=e[9],t[7]=e[13],t[8]=n,t[9]=a,t[11]=e[14],t[12]=i,t[13]=o,t[14]=s}else t[0]=e[0],t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=e[1],t[5]=e[5],t[6]=e[9],t[7]=e[13],t[8]=e[2],t[9]=e[6],t[10]=e[10],t[11]=e[14],t[12]=e[3],t[13]=e[7],t[14]=e[11],t[15]=e[15];return t}},23352:function(t,e,r){\"use strict\";var n=r(42771),i=r(55616),a=r(28624),o=r(55212),s=r(60463),l=r(72160),u=r(33888),c=r(14144),f=r(51160),h=r(58908),p=r(65819),d=r(23464),v=r(63768),g=r(50896),y=r(71920),m=r(47520),x=r(308).nextPow2,b=new s,_=!1;if(document.body){var w=document.body.appendChild(document.createElement(\"div\"));w.style.font=\"italic small-caps bold condensed 16px/2 cursive\",getComputedStyle(w).fontStretch&&(_=!0),document.body.removeChild(w)}var T=function(t){!function(t){return\"function\"==typeof t&&t._gl&&t.prop&&t.texture&&t.buffer}(t)?this.gl=o(t):(t={regl:t},this.gl=t.regl._gl),this.shader=b.get(this.gl),this.shader?this.regl=this.shader.regl:this.regl=t.regl||a({gl:this.gl}),this.charBuffer=this.regl.buffer({type:\"uint8\",usage:\"stream\"}),this.sizeBuffer=this.regl.buffer({type:\"float\",usage:\"stream\"}),this.shader||(this.shader=this.createShader(),b.set(this.gl,this.shader)),this.batch=[],this.fontSize=[],this.font=[],this.fontAtlas=[],this.draw=this.shader.draw.bind(this),this.render=function(){this.regl._refresh(),this.draw(this.batch)},this.canvas=this.gl.canvas,this.update(h(t)?t:{})};T.prototype.createShader=function(){var t=this.regl,e=t({blend:{enable:!0,color:[0,0,0,1],func:{srcRGB:\"src alpha\",dstRGB:\"one minus src alpha\",srcAlpha:\"one minus dst alpha\",dstAlpha:\"one\"}},stencil:{enable:!1},depth:{enable:!1},count:t.prop(\"count\"),offset:t.prop(\"offset\"),attributes:{charOffset:{offset:4,stride:8,buffer:t.this(\"sizeBuffer\")},width:{offset:0,stride:8,buffer:t.this(\"sizeBuffer\")},char:t.this(\"charBuffer\"),position:t.this(\"position\")},uniforms:{atlasSize:function(t,e){return[e.atlas.width,e.atlas.height]},atlasDim:function(t,e){return[e.atlas.cols,e.atlas.rows]},atlas:function(t,e){return e.atlas.texture},charStep:function(t,e){return e.atlas.step},em:function(t,e){return e.atlas.em},color:t.prop(\"color\"),opacity:t.prop(\"opacity\"),viewport:t.this(\"viewportArray\"),scale:t.this(\"scale\"),align:t.prop(\"align\"),baseline:t.prop(\"baseline\"),translate:t.this(\"translate\"),positionOffset:t.prop(\"positionOffset\")},primitive:\"points\",viewport:t.this(\"viewport\"),vert:\"\\n\\t\\t\\tprecision highp float;\\n\\t\\t\\tattribute float width, charOffset, char;\\n\\t\\t\\tattribute vec2 position;\\n\\t\\t\\tuniform float fontSize, charStep, em, align, baseline;\\n\\t\\t\\tuniform vec4 viewport;\\n\\t\\t\\tuniform vec4 color;\\n\\t\\t\\tuniform vec2 atlasSize, atlasDim, scale, translate, positionOffset;\\n\\t\\t\\tvarying vec2 charCoord, charId;\\n\\t\\t\\tvarying float charWidth;\\n\\t\\t\\tvarying vec4 fontColor;\\n\\t\\t\\tvoid main () {\\n\\t\\t\\t\\tvec2 offset = floor(em * (vec2(align + charOffset, baseline)\\n\\t\\t\\t\\t\\t+ vec2(positionOffset.x, -positionOffset.y)))\\n\\t\\t\\t\\t\\t/ (viewport.zw * scale.xy);\\n\\n\\t\\t\\t\\tvec2 position = (position + translate) * scale;\\n\\t\\t\\t\\tposition += offset * scale;\\n\\n\\t\\t\\t\\tcharCoord = position * viewport.zw + viewport.xy;\\n\\n\\t\\t\\t\\tgl_Position = vec4(position * 2. - 1., 0, 1);\\n\\n\\t\\t\\t\\tgl_PointSize = charStep;\\n\\n\\t\\t\\t\\tcharId.x = mod(char, atlasDim.x);\\n\\t\\t\\t\\tcharId.y = floor(char / atlasDim.x);\\n\\n\\t\\t\\t\\tcharWidth = width * em;\\n\\n\\t\\t\\t\\tfontColor = color / 255.;\\n\\t\\t\\t}\",frag:\"\\n\\t\\t\\tprecision highp float;\\n\\t\\t\\tuniform float fontSize, charStep, opacity;\\n\\t\\t\\tuniform vec2 atlasSize;\\n\\t\\t\\tuniform vec4 viewport;\\n\\t\\t\\tuniform sampler2D atlas;\\n\\t\\t\\tvarying vec4 fontColor;\\n\\t\\t\\tvarying vec2 charCoord, charId;\\n\\t\\t\\tvarying float charWidth;\\n\\n\\t\\t\\tfloat lightness(vec4 color) {\\n\\t\\t\\t\\treturn color.r * 0.299 + color.g * 0.587 + color.b * 0.114;\\n\\t\\t\\t}\\n\\n\\t\\t\\tvoid main () {\\n\\t\\t\\t\\tvec2 uv = gl_FragCoord.xy - charCoord + charStep * .5;\\n\\t\\t\\t\\tfloat halfCharStep = floor(charStep * .5 + .5);\\n\\n\\t\\t\\t\\t// invert y and shift by 1px (FF expecially needs that)\\n\\t\\t\\t\\tuv.y = charStep - uv.y;\\n\\n\\t\\t\\t\\t// ignore points outside of character bounding box\\n\\t\\t\\t\\tfloat halfCharWidth = ceil(charWidth * .5);\\n\\t\\t\\t\\tif (floor(uv.x) > halfCharStep + halfCharWidth ||\\n\\t\\t\\t\\t\\tfloor(uv.x) < halfCharStep - halfCharWidth) return;\\n\\n\\t\\t\\t\\tuv += charId * charStep;\\n\\t\\t\\t\\tuv = uv / atlasSize;\\n\\n\\t\\t\\t\\tvec4 color = fontColor;\\n\\t\\t\\t\\tvec4 mask = texture2D(atlas, uv);\\n\\n\\t\\t\\t\\tfloat maskY = lightness(mask);\\n\\t\\t\\t\\t// float colorY = lightness(color);\\n\\t\\t\\t\\tcolor.a *= maskY;\\n\\t\\t\\t\\tcolor.a *= opacity;\\n\\n\\t\\t\\t\\t// color.a += .1;\\n\\n\\t\\t\\t\\t// antialiasing, see yiq color space y-channel formula\\n\\t\\t\\t\\t// color.rgb += (1. - color.rgb) * (1. - mask.rgb);\\n\\n\\t\\t\\t\\tgl_FragColor = color;\\n\\t\\t\\t}\"});return{regl:t,draw:e,atlas:{}}},T.prototype.update=function(t){var e=this;if(\"string\"==typeof t)t={text:t};else if(!t)return;null!=(t=i(t,{position:\"position positions coord coords coordinates\",font:\"font fontFace fontface typeface cssFont css-font family fontFamily\",fontSize:\"fontSize fontsize size font-size\",text:\"text texts chars characters value values symbols\",align:\"align alignment textAlign textbaseline\",baseline:\"baseline textBaseline textbaseline\",direction:\"dir direction textDirection\",color:\"color colour fill fill-color fillColor textColor textcolor\",kerning:\"kerning kern\",range:\"range dataBox\",viewport:\"vp viewport viewBox viewbox viewPort\",opacity:\"opacity alpha transparency visible visibility opaque\",offset:\"offset positionOffset padding shift indent indentation\"},!0)).opacity&&(Array.isArray(t.opacity)?this.opacity=t.opacity.map((function(t){return parseFloat(t)})):this.opacity=parseFloat(t.opacity)),null!=t.viewport&&(this.viewport=f(t.viewport),this.viewportArray=[this.viewport.x,this.viewport.y,this.viewport.width,this.viewport.height]),null==this.viewport&&(this.viewport={x:0,y:0,width:this.gl.drawingBufferWidth,height:this.gl.drawingBufferHeight},this.viewportArray=[this.viewport.x,this.viewport.y,this.viewport.width,this.viewport.height]),null!=t.kerning&&(this.kerning=t.kerning),null!=t.offset&&(\"number\"==typeof t.offset&&(t.offset=[t.offset,0]),this.positionOffset=m(t.offset)),t.direction&&(this.direction=t.direction),t.range&&(this.range=t.range,this.scale=[1/(t.range[2]-t.range[0]),1/(t.range[3]-t.range[1])],this.translate=[-t.range[0],-t.range[1]]),t.scale&&(this.scale=t.scale),t.translate&&(this.translate=t.translate),this.scale||(this.scale=[1/this.viewport.width,1/this.viewport.height]),this.translate||(this.translate=[0,0]),this.font.length||t.font||(t.font=T.baseFontSize+\"px sans-serif\");var r,a=!1,o=!1;if(t.font&&(Array.isArray(t.font)?t.font:[t.font]).forEach((function(t,r){if(\"string\"==typeof t)try{t=n.parse(t)}catch(e){t=n.parse(T.baseFontSize+\"px \"+t)}else{var i=t.style,s=t.weight,l=t.stretch,u=t.variant;t=n.parse(n.stringify(t)),i&&(t.style=i),s&&(t.weight=s),l&&(t.stretch=l),u&&(t.variant=u)}var c=n.stringify({size:T.baseFontSize,family:t.family,stretch:_?t.stretch:void 0,variant:t.variant,weight:t.weight,style:t.style}),f=p(t.size),h=Math.round(f[0]*d(f[1]));if(h!==e.fontSize[r]&&(o=!0,e.fontSize[r]=h),!(e.font[r]&&c==e.font[r].baseString||(a=!0,e.font[r]=T.fonts[c],e.font[r]))){var v=t.family.join(\", \"),g=[t.style];t.style!=t.variant&&g.push(t.variant),t.variant!=t.weight&&g.push(t.weight),_&&t.weight!=t.stretch&&g.push(t.stretch),e.font[r]={baseString:c,family:v,weight:t.weight,stretch:t.stretch,style:t.style,variant:t.variant,width:{},kerning:{},metrics:y(v,{origin:\"top\",fontSize:T.baseFontSize,fontStyle:g.join(\" \")})},T.fonts[c]=e.font[r]}})),(a||o)&&this.font.forEach((function(r,i){var a=n.stringify({size:e.fontSize[i],family:r.family,stretch:_?r.stretch:void 0,variant:r.variant,weight:r.weight,style:r.style});if(e.fontAtlas[i]=e.shader.atlas[a],!e.fontAtlas[i]){var o=r.metrics;e.shader.atlas[a]=e.fontAtlas[i]={fontString:a,step:2*Math.ceil(e.fontSize[i]*o.bottom*.5),em:e.fontSize[i],cols:0,rows:0,height:0,width:0,chars:[],ids:{},texture:e.regl.texture()}}null==t.text&&(t.text=e.text)})),\"string\"==typeof t.text&&t.position&&t.position.length>2){for(var s=Array(.5*t.position.length),h=0;h2){for(var w=!t.position[0].length,k=c.mallocFloat(2*this.count),A=0,M=0;A1?e.align[r]:e.align[0]:e.align;if(\"number\"==typeof n)return n;switch(n){case\"right\":case\"end\":return-t;case\"center\":case\"centre\":case\"middle\":return.5*-t}return 0}))),null==this.baseline&&null==t.baseline&&(t.baseline=0),null!=t.baseline&&(this.baseline=t.baseline,Array.isArray(this.baseline)||(this.baseline=[this.baseline]),this.baselineOffset=this.baseline.map((function(t,r){var n=(e.font[r]||e.font[0]).metrics,i=0;return i+=.5*n.bottom,-1*(i+=\"number\"==typeof t?t-n.baseline:-n[t])}))),null!=t.color)if(t.color||(t.color=\"transparent\"),\"string\"!=typeof t.color&&isNaN(t.color)){var H;if(\"number\"==typeof t.color[0]&&t.color.length>this.counts.length){var G=t.color.length;H=c.mallocUint8(G);for(var W=(t.color.subarray||t.color.slice).bind(t.color),Y=0;Y4||this.baselineOffset.length>1||this.align&&this.align.length>1||this.fontAtlas.length>1||this.positionOffset.length>2){var K=Math.max(.5*this.position.length||0,.25*this.color.length||0,this.baselineOffset.length||0,this.alignOffset.length||0,this.font.length||0,this.opacity.length||0,.5*this.positionOffset.length||0);this.batch=Array(K);for(var J=0;J1?this.counts[J]:this.counts[0],offset:this.textOffsets.length>1?this.textOffsets[J]:this.textOffsets[0],color:this.color?this.color.length<=4?this.color:this.color.subarray(4*J,4*J+4):[0,0,0,255],opacity:Array.isArray(this.opacity)?this.opacity[J]:this.opacity,baseline:null!=this.baselineOffset[J]?this.baselineOffset[J]:this.baselineOffset[0],align:this.align?null!=this.alignOffset[J]?this.alignOffset[J]:this.alignOffset[0]:0,atlas:this.fontAtlas[J]||this.fontAtlas[0],positionOffset:this.positionOffset.length>2?this.positionOffset.subarray(2*J,2*J+2):this.positionOffset}}else this.count?this.batch=[{count:this.count,offset:0,color:this.color||[0,0,0,255],opacity:Array.isArray(this.opacity)?this.opacity[0]:this.opacity,baseline:this.baselineOffset[0],align:this.alignOffset?this.alignOffset[0]:0,atlas:this.fontAtlas[0],positionOffset:this.positionOffset}]:this.batch=[]},T.prototype.destroy=function(){},T.prototype.kerning=!0,T.prototype.position={constant:new Float32Array(2)},T.prototype.translate=null,T.prototype.scale=null,T.prototype.font=null,T.prototype.text=\"\",T.prototype.positionOffset=[0,0],T.prototype.opacity=1,T.prototype.color=new Uint8Array([0,0,0,255]),T.prototype.alignOffset=[0,0],T.maxAtlasSize=1024,T.atlasCanvas=document.createElement(\"canvas\"),T.atlasContext=T.atlasCanvas.getContext(\"2d\",{alpha:!1}),T.baseFontSize=64,T.fonts={},t.exports=T},55212:function(t,e,r){\"use strict\";var n=r(55616);function i(t){if(t.container)if(t.container==document.body)document.body.style.width||(t.canvas.width=t.width||t.pixelRatio*r.g.innerWidth),document.body.style.height||(t.canvas.height=t.height||t.pixelRatio*r.g.innerHeight);else{var e=t.container.getBoundingClientRect();t.canvas.width=t.width||e.right-e.left,t.canvas.height=t.height||e.bottom-e.top}}function a(t){return\"function\"==typeof t.getContext&&\"width\"in t&&\"height\"in t}function o(){var t=document.createElement(\"canvas\");return t.style.position=\"absolute\",t.style.top=0,t.style.left=0,t}t.exports=function(t){var e;if(t?\"string\"==typeof t&&(t={container:t}):t={},(t=a(t)||\"string\"==typeof(e=t).nodeName&&\"function\"==typeof e.appendChild&&\"function\"==typeof e.getBoundingClientRect?{container:t}:function(t){return\"function\"==typeof t.drawArrays||\"function\"==typeof t.drawElements}(t)?{gl:t}:n(t,{container:\"container target element el canvas holder parent parentNode wrapper use ref root node\",gl:\"gl context webgl glContext\",attrs:\"attributes attrs contextAttributes\",pixelRatio:\"pixelRatio pxRatio px ratio pxratio pixelratio\",width:\"w width\",height:\"h height\"},!0)).pixelRatio||(t.pixelRatio=r.g.pixelRatio||1),t.gl)return t.gl;if(t.canvas&&(t.container=t.canvas.parentNode),t.container){if(\"string\"==typeof t.container){var s=document.querySelector(t.container);if(!s)throw Error(\"Element \"+t.container+\" is not found\");t.container=s}a(t.container)?(t.canvas=t.container,t.container=t.canvas.parentNode):t.canvas||(t.canvas=o(),t.container.appendChild(t.canvas),i(t))}else if(!t.canvas){if(\"undefined\"==typeof document)throw Error(\"Not DOM environment. Use headless-gl.\");t.container=document.body||document.documentElement,t.canvas=o(),t.container.appendChild(t.canvas),i(t)}return t.gl||[\"webgl\",\"experimental-webgl\",\"webgl-experimental\"].some((function(e){try{t.gl=t.canvas.getContext(e,t.attrs)}catch(t){}return t.gl})),t.gl}},26444:function(t){t.exports=function(t){\"string\"==typeof t&&(t=[t]);for(var e=[].slice.call(arguments,1),r=[],n=0;n>1,c=-7,f=r?i-1:0,h=r?-1:1,p=t[e+f];for(f+=h,a=p&(1<<-c)-1,p>>=-c,c+=s;c>0;a=256*a+t[e+f],f+=h,c-=8);for(o=a&(1<<-c)-1,a>>=-c,c+=n;c>0;o=256*o+t[e+f],f+=h,c-=8);if(0===a)a=1-u;else{if(a===l)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,n),a-=u}return(p?-1:1)*o*Math.pow(2,a-n)},e.write=function(t,e,r,n,i,a){var o,s,l,u=8*a-i-1,c=(1<>1,h=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:a-1,d=n?1:-1,v=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,o=c):(o=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-o))<1&&(o--,l*=2),(e+=o+f>=1?h/l:h*Math.pow(2,1-f))*l>=2&&(o++,l/=2),o+f>=c?(s=0,o=c):o+f>=1?(s=(e*l-1)*Math.pow(2,i),o+=f):(s=e*Math.pow(2,f-1)*Math.pow(2,i),o=0));i>=8;t[r+p]=255&s,p+=d,s/=256,i-=8);for(o=o<0;t[r+p]=255&o,p+=d,o/=256,u-=8);t[r+p-d]|=128*v}},6768:function(t){\"function\"==typeof Object.create?t.exports=function(t,e){e&&(t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}))}:t.exports=function(t,e){if(e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}}},91148:function(t,e,r){\"use strict\";var n=r(46672)(),i=r(99676)(\"Object.prototype.toString\"),a=function(t){return!(n&&t&&\"object\"==typeof t&&Symbol.toStringTag in t)&&\"[object Arguments]\"===i(t)},o=function(t){return!!a(t)||null!==t&&\"object\"==typeof t&&\"number\"==typeof t.length&&t.length>=0&&\"[object Array]\"!==i(t)&&\"[object Function]\"===i(t.callee)},s=function(){return a(arguments)}();a.isLegacyArguments=o,t.exports=s?a:o},24200:function(t){t.exports=!0},90720:function(t){\"use strict\";var e,r,n=Function.prototype.toString,i=\"object\"==typeof Reflect&&null!==Reflect&&Reflect.apply;if(\"function\"==typeof i&&\"function\"==typeof Object.defineProperty)try{e=Object.defineProperty({},\"length\",{get:function(){throw r}}),r={},i((function(){throw 42}),null,e)}catch(t){t!==r&&(i=null)}else i=null;var a=/^\\s*class\\b/,o=function(t){try{var e=n.call(t);return a.test(e)}catch(t){return!1}},s=function(t){try{return!o(t)&&(n.call(t),!0)}catch(t){return!1}},l=Object.prototype.toString,u=\"function\"==typeof Symbol&&!!Symbol.toStringTag,c=!(0 in[,]),f=function(){return!1};if(\"object\"==typeof document){var h=document.all;l.call(h)===l.call(document.all)&&(f=function(t){if((c||!t)&&(void 0===t||\"object\"==typeof t))try{var e=l.call(t);return(\"[object HTMLAllCollection]\"===e||\"[object HTML document.all class]\"===e||\"[object HTMLCollection]\"===e||\"[object Object]\"===e)&&null==t(\"\")}catch(t){}return!1})}t.exports=i?function(t){if(f(t))return!0;if(!t)return!1;if(\"function\"!=typeof t&&\"object\"!=typeof t)return!1;try{i(t,null,e)}catch(t){if(t!==r)return!1}return!o(t)&&s(t)}:function(t){if(f(t))return!0;if(!t)return!1;if(\"function\"!=typeof t&&\"object\"!=typeof t)return!1;if(u)return s(t);if(o(t))return!1;var e=l.call(t);return!(\"[object Function]\"!==e&&\"[object GeneratorFunction]\"!==e&&!/^\\[object HTML/.test(e))&&s(t)}},84420:function(t,e,r){\"use strict\";var n,i=Object.prototype.toString,a=Function.prototype.toString,o=/^\\s*(?:function)?\\*/,s=r(46672)(),l=Object.getPrototypeOf;t.exports=function(t){if(\"function\"!=typeof t)return!1;if(o.test(a.call(t)))return!0;if(!s)return\"[object GeneratorFunction]\"===i.call(t);if(!l)return!1;if(void 0===n){var e=function(){if(!s)return!1;try{return Function(\"return function*() {}\")()}catch(t){}}();n=!!e&&l(e)}return l(t)===n}},96604:function(t){\"use strict\";t.exports=\"undefined\"!=typeof navigator&&(/MSIE/.test(navigator.userAgent)||/Trident\\//.test(navigator.appVersion))},85992:function(t){\"use strict\";t.exports=function(t){return t!=t}},1560:function(t,e,r){\"use strict\";var n=r(57916),i=r(81288),a=r(85992),o=r(57740),s=r(59736),l=n(o(),Number);i(l,{getPolyfill:o,implementation:a,shim:s}),t.exports=l},57740:function(t,e,r){\"use strict\";var n=r(85992);t.exports=function(){return Number.isNaN&&Number.isNaN(NaN)&&!Number.isNaN(\"a\")?Number.isNaN:n}},59736:function(t,e,r){\"use strict\";var n=r(81288),i=r(57740);t.exports=function(){var t=i();return n(Number,{isNaN:t},{isNaN:function(){return Number.isNaN!==t}}),t}},18400:function(t){\"use strict\";t.exports=function(t){var e=typeof t;return null!==t&&(\"object\"===e||\"function\"===e)}},58908:function(t){\"use strict\";var e=Object.prototype.toString;t.exports=function(t){var r;return\"[object Object]\"===e.call(t)&&(null===(r=Object.getPrototypeOf(t))||r===Object.getPrototypeOf({}))}},94576:function(t){\"use strict\";t.exports=function(t){for(var e,r=t.length,n=0;n13)&&32!==e&&133!==e&&160!==e&&5760!==e&&6158!==e&&(e<8192||e>8205)&&8232!==e&&8233!==e&&8239!==e&&8287!==e&&8288!==e&&12288!==e&&65279!==e)return!1;return!0}},53520:function(t){\"use strict\";t.exports=function(t){return\"string\"==typeof t&&(t=t.trim(),!!(/^[mzlhvcsqta]\\s*[-+.0-9][^mlhvzcsqta]+/i.test(t)&&/[\\dz]$/i.test(t)&&t.length>4))}},7728:function(t,e,r){\"use strict\";var n=r(46492),i=r(63436),a=r(99676),o=a(\"Object.prototype.toString\"),s=r(46672)(),l=r(2304),u=\"undefined\"==typeof globalThis?r.g:globalThis,c=i(),f=a(\"Array.prototype.indexOf\",!0)||function(t,e){for(var r=0;r-1}return!!l&&function(t){var e=!1;return n(p,(function(r,n){if(!e)try{e=r.call(t)===n}catch(t){}})),e}(t)}},76244:function(t){\"use strict\";t.exports=Math.log2||function(t){return Math.log(t)*Math.LOG2E}},62644:function(t,e,r){\"use strict\";t.exports=function(t,e){e||(e=t,t=window);var r=0,i=0,a=0,o={shift:!1,alt:!1,control:!1,meta:!1},s=!1;function l(t){var e=!1;return\"altKey\"in t&&(e=e||t.altKey!==o.alt,o.alt=!!t.altKey),\"shiftKey\"in t&&(e=e||t.shiftKey!==o.shift,o.shift=!!t.shiftKey),\"ctrlKey\"in t&&(e=e||t.ctrlKey!==o.control,o.control=!!t.ctrlKey),\"metaKey\"in t&&(e=e||t.metaKey!==o.meta,o.meta=!!t.metaKey),e}function u(t,s){var u=n.x(s),c=n.y(s);\"buttons\"in s&&(t=0|s.buttons),(t!==r||u!==i||c!==a||l(s))&&(r=0|t,i=u||0,a=c||0,e&&e(r,i,a,o))}function c(t){u(0,t)}function f(){(r||i||a||o.shift||o.alt||o.meta||o.control)&&(i=a=0,r=0,o.shift=o.alt=o.control=o.meta=!1,e&&e(0,0,0,o))}function h(t){l(t)&&e&&e(r,i,a,o)}function p(t){0===n.buttons(t)?u(0,t):u(r,t)}function d(t){u(r|n.buttons(t),t)}function v(t){u(r&~n.buttons(t),t)}function g(){s||(s=!0,t.addEventListener(\"mousemove\",p),t.addEventListener(\"mousedown\",d),t.addEventListener(\"mouseup\",v),t.addEventListener(\"mouseleave\",c),t.addEventListener(\"mouseenter\",c),t.addEventListener(\"mouseout\",c),t.addEventListener(\"mouseover\",c),t.addEventListener(\"blur\",f),t.addEventListener(\"keyup\",h),t.addEventListener(\"keydown\",h),t.addEventListener(\"keypress\",h),t!==window&&(window.addEventListener(\"blur\",f),window.addEventListener(\"keyup\",h),window.addEventListener(\"keydown\",h),window.addEventListener(\"keypress\",h)))}g();var y={element:t};return Object.defineProperties(y,{enabled:{get:function(){return s},set:function(e){e?g():s&&(s=!1,t.removeEventListener(\"mousemove\",p),t.removeEventListener(\"mousedown\",d),t.removeEventListener(\"mouseup\",v),t.removeEventListener(\"mouseleave\",c),t.removeEventListener(\"mouseenter\",c),t.removeEventListener(\"mouseout\",c),t.removeEventListener(\"mouseover\",c),t.removeEventListener(\"blur\",f),t.removeEventListener(\"keyup\",h),t.removeEventListener(\"keydown\",h),t.removeEventListener(\"keypress\",h),t!==window&&(window.removeEventListener(\"blur\",f),window.removeEventListener(\"keyup\",h),window.removeEventListener(\"keydown\",h),window.removeEventListener(\"keypress\",h)))},enumerable:!0},buttons:{get:function(){return r},enumerable:!0},x:{get:function(){return i},enumerable:!0},y:{get:function(){return a},enumerable:!0},mods:{get:function(){return o},enumerable:!0}}),y};var n=r(93784)},29128:function(t){var e={left:0,top:0};t.exports=function(t,r,n){r=r||t.currentTarget||t.srcElement,Array.isArray(n)||(n=[0,0]);var i,a=t.clientX||0,o=t.clientY||0,s=(i=r)===window||i===document||i===document.body?e:i.getBoundingClientRect();return n[0]=a-s.left,n[1]=o-s.top,n}},93784:function(t,e){\"use strict\";function r(t){return t.target||t.srcElement||window}e.buttons=function(t){if(\"object\"==typeof t){if(\"buttons\"in t)return t.buttons;if(\"which\"in t){if(2===(e=t.which))return 4;if(3===e)return 2;if(e>0)return 1<=0)return 1<0&&a(s,r))}catch(t){c.call(new h(r),t)}}}function c(t){var e=this;e.triggered||(e.triggered=!0,e.def&&(e=e.def),e.msg=t,e.state=2,e.chain.length>0&&a(s,e))}function f(t,e,r,n){for(var i=0;i1&&(i*=y=Math.sqrt(y),s*=y);var m=i*i,x=s*s,b=(u==c?-1:1)*Math.sqrt(Math.abs((m*x-m*g*g-x*v*v)/(m*g*g+x*v*v)));b==1/0&&(b=1);var _=b*i*g/s+(t+f)/2,w=b*-s*v/i+(n+h)/2,T=Math.asin(((n-w)/s).toFixed(9)),k=Math.asin(((h-w)/s).toFixed(9));(T=t<_?e-T:T)<0&&(T=2*e+T),(k=f<_?e-k:k)<0&&(k=2*e+k),c&&T>k&&(T-=2*e),!c&&k>T&&(k-=2*e)}if(Math.abs(k-T)>r){var A=k,M=f,S=h;k=T+r*(c&&k>T?1:-1);var E=a(f=_+i*Math.cos(k),h=w+s*Math.sin(k),i,s,l,0,c,M,S,[k,A,_,w])}var L=Math.tan((k-T)/4),C=4/3*i*L,P=4/3*s*L,O=[2*t-(t+C*Math.sin(T)),2*n-(n-P*Math.cos(T)),f+C*Math.sin(k),h-P*Math.cos(k),f,h];if(p)return O;E&&(O=O.concat(E));for(var I=0;I7&&(r.push(y.splice(0,7)),y.unshift(\"C\"));break;case\"S\":var x=p,b=d;\"C\"!=e&&\"S\"!=e||(x+=x-o,b+=b-l),y=[\"C\",x,b,y[1],y[2],y[3],y[4]];break;case\"T\":\"Q\"==e||\"T\"==e?(f=2*p-f,h=2*d-h):(f=p,h=d),y=i(p,d,f,h,y[1],y[2]);break;case\"Q\":f=y[1],h=y[2],y=i(p,d,y[1],y[2],y[3],y[4]);break;case\"L\":y=n(p,d,y[1],y[2]);break;case\"H\":y=n(p,d,y[1],d);break;case\"V\":y=n(p,d,p,y[1]);break;case\"Z\":y=n(p,d,u,c)}e=m,p=y[y.length-2],d=y[y.length-1],y.length>4?(o=y[y.length-4],l=y[y.length-3]):(o=p,l=d),r.push(y)}return r}},50896:function(t){\"use strict\";var e=Object.getOwnPropertySymbols,r=Object.prototype.hasOwnProperty,n=Object.prototype.propertyIsEnumerable;t.exports=function(){try{if(!Object.assign)return!1;var t=new String(\"abc\");if(t[5]=\"de\",\"5\"===Object.getOwnPropertyNames(t)[0])return!1;for(var e={},r=0;r<10;r++)e[\"_\"+String.fromCharCode(r)]=r;if(\"0123456789\"!==Object.getOwnPropertyNames(e).map((function(t){return e[t]})).join(\"\"))return!1;var n={};return\"abcdefghijklmnopqrst\".split(\"\").forEach((function(t){n[t]=t})),\"abcdefghijklmnopqrst\"===Object.keys(Object.assign({},n)).join(\"\")}catch(t){return!1}}()?Object.assign:function(t,i){for(var a,o,s=function(t){if(null==t)throw new TypeError(\"Object.assign cannot be called with null or undefined\");return Object(t)}(t),l=1;l0&&!i.call(t,0))for(var v=0;v0)for(var g=0;g=0&&\"[object Function]\"===e.call(t.callee)),n}},32868:function(t){\"use strict\";function e(t,e){if(\"string\"!=typeof t)return[t];var r=[t];\"string\"==typeof e||Array.isArray(e)?e={brackets:e}:e||(e={});var n=e.brackets?Array.isArray(e.brackets)?e.brackets:[e.brackets]:[\"{}\",\"[]\",\"()\"],i=e.escape||\"___\",a=!!e.flat;n.forEach((function(t){var e=new RegExp([\"\\\\\",t[0],\"[^\\\\\",t[0],\"\\\\\",t[1],\"]*\\\\\",t[1]].join(\"\")),n=[];function a(e,a,o){var s=r.push(e.slice(t[0].length,-t[1].length))-1;return n.push(s),i+s+i}r.forEach((function(t,n){for(var i,o=0;t!=i;)if(i=t,t=t.replace(e,a),o++>1e4)throw Error(\"References have circular dependency. Please, check them.\");r[n]=t})),n=n.reverse(),r=r.map((function(e){return n.forEach((function(r){e=e.replace(new RegExp(\"(\\\\\"+i+r+\"\\\\\"+i+\")\",\"g\"),t[0]+\"$1\"+t[1])})),e}))}));var o=new RegExp(\"\\\\\"+i+\"([0-9]+)\\\\\"+i);return a?r:function t(e,r,n){for(var i,a=[],s=0;i=o.exec(e);){if(s++>1e4)throw Error(\"Circular references in parenthesis\");a.push(e.slice(0,i.index)),a.push(t(r[i[1]],r)),e=e.slice(i.index+i[0].length)}return a.push(e),a}(r[0],r)}function r(t,e){if(e&&e.flat){var r,n=e&&e.escape||\"___\",i=t[0];if(!i)return\"\";for(var a=new RegExp(\"\\\\\"+n+\"([0-9]+)\\\\\"+n),o=0;i!=r;){if(o++>1e4)throw Error(\"Circular references in \"+t);r=i,i=i.replace(a,s)}return i}return t.reduce((function t(e,r){return Array.isArray(r)&&(r=r.reduce(t,\"\")),e+r}),\"\");function s(e,r){if(null==t[r])throw Error(\"Reference \"+r+\"is undefined\");return t[r]}}function n(t,n){return Array.isArray(t)?r(t,n):e(t,n)}n.parse=e,n.stringify=r,t.exports=n},51160:function(t,e,r){\"use strict\";var n=r(55616);t.exports=function(t){var e;return arguments.length>1&&(t=arguments),\"string\"==typeof t?t=t.split(/\\s/).map(parseFloat):\"number\"==typeof t&&(t=[t]),t.length&&\"number\"==typeof t[0]?e=1===t.length?{width:t[0],height:t[0],x:0,y:0}:2===t.length?{width:t[0],height:t[1],x:0,y:0}:{x:t[0],y:t[1],width:t[2]-t[0]||0,height:t[3]-t[1]||0}:t&&(e={x:(t=n(t,{left:\"x l left Left\",top:\"y t top Top\",width:\"w width W Width\",height:\"h height W Width\",bottom:\"b bottom Bottom\",right:\"r right Right\"})).left||0,y:t.top||0},null==t.width?t.right?e.width=t.right-e.x:e.width=0:e.width=t.width,null==t.height?t.bottom?e.height=t.bottom-e.y:e.height=0:e.height=t.height),e}},21984:function(t){t.exports=function(t){var i=[];return t.replace(r,(function(t,r,a){var o=r.toLowerCase();for(a=function(t){var e=t.match(n);return e?e.map(Number):[]}(a),\"m\"==o&&a.length>2&&(i.push([r].concat(a.splice(0,2))),o=\"l\",r=\"m\"==r?\"l\":\"L\");;){if(a.length==e[o])return a.unshift(r),i.push(a);if(a.lengtha!=p>a&&i<(h-c)*(a-f)/(p-f)+c&&(o=!o)}return o}},14756:function(t,e,r){var n,i=r(7688),a=r(28648),o=r(72200),s=r(11403),l=r(82368),u=r(17792),c=!1,f=a();function h(t,e,r){var i=n.segments(t),a=n.segments(e),o=r(n.combine(i,a));return n.polygon(o)}n={buildLog:function(t){return!0===t?c=i():!1===t&&(c=!1),!1!==c&&c.list},epsilon:function(t){return f.epsilon(t)},segments:function(t){var e=o(!0,f,c);return t.regions.forEach(e.addRegion),{segments:e.calculate(t.inverted),inverted:t.inverted}},combine:function(t,e){return{combined:o(!1,f,c).calculate(t.segments,t.inverted,e.segments,e.inverted),inverted1:t.inverted,inverted2:e.inverted}},selectUnion:function(t){return{segments:l.union(t.combined,c),inverted:t.inverted1||t.inverted2}},selectIntersect:function(t){return{segments:l.intersect(t.combined,c),inverted:t.inverted1&&t.inverted2}},selectDifference:function(t){return{segments:l.difference(t.combined,c),inverted:t.inverted1&&!t.inverted2}},selectDifferenceRev:function(t){return{segments:l.differenceRev(t.combined,c),inverted:!t.inverted1&&t.inverted2}},selectXor:function(t){return{segments:l.xor(t.combined,c),inverted:t.inverted1!==t.inverted2}},polygon:function(t){return{regions:s(t.segments,f,c),inverted:t.inverted}},polygonFromGeoJSON:function(t){return u.toPolygon(n,t)},polygonToGeoJSON:function(t){return u.fromPolygon(n,f,t)},union:function(t,e){return h(t,e,n.selectUnion)},intersect:function(t,e){return h(t,e,n.selectIntersect)},difference:function(t,e){return h(t,e,n.selectDifference)},differenceRev:function(t,e){return h(t,e,n.selectDifferenceRev)},xor:function(t,e){return h(t,e,n.selectXor)}},\"object\"==typeof window&&(window.PolyBool=n),t.exports=n},7688:function(t){t.exports=function(){var t,e=0,r=!1;function n(e,r){return t.list.push({type:e,data:r?JSON.parse(JSON.stringify(r)):void 0}),t}return t={list:[],segmentId:function(){return e++},checkIntersection:function(t,e){return n(\"check\",{seg1:t,seg2:e})},segmentChop:function(t,e){return n(\"div_seg\",{seg:t,pt:e}),n(\"chop\",{seg:t,pt:e})},statusRemove:function(t){return n(\"pop_seg\",{seg:t})},segmentUpdate:function(t){return n(\"seg_update\",{seg:t})},segmentNew:function(t,e){return n(\"new_seg\",{seg:t,primary:e})},segmentRemove:function(t){return n(\"rem_seg\",{seg:t})},tempStatus:function(t,e,r){return n(\"temp_status\",{seg:t,above:e,below:r})},rewind:function(t){return n(\"rewind\",{seg:t})},status:function(t,e,r){return n(\"status\",{seg:t,above:e,below:r})},vert:function(e){return e===r?t:(r=e,n(\"vert\",{x:e}))},log:function(t){return\"string\"!=typeof t&&(t=JSON.stringify(t,!1,\" \")),n(\"log\",{txt:t})},reset:function(){return n(\"reset\")},selected:function(t){return n(\"selected\",{segs:t})},chainStart:function(t){return n(\"chain_start\",{seg:t})},chainRemoveHead:function(t,e){return n(\"chain_rem_head\",{index:t,pt:e})},chainRemoveTail:function(t,e){return n(\"chain_rem_tail\",{index:t,pt:e})},chainNew:function(t,e){return n(\"chain_new\",{pt1:t,pt2:e})},chainMatch:function(t){return n(\"chain_match\",{index:t})},chainClose:function(t){return n(\"chain_close\",{index:t})},chainAddHead:function(t,e){return n(\"chain_add_head\",{index:t,pt:e})},chainAddTail:function(t,e){return n(\"chain_add_tail\",{index:t,pt:e})},chainConnect:function(t,e){return n(\"chain_con\",{index1:t,index2:e})},chainReverse:function(t){return n(\"chain_rev\",{index:t})},chainJoin:function(t,e){return n(\"chain_join\",{index1:t,index2:e})},done:function(){return n(\"done\")}}}},28648:function(t){t.exports=function(t){\"number\"!=typeof t&&(t=1e-10);var e={epsilon:function(e){return\"number\"==typeof e&&(t=e),t},pointAboveOrOnLine:function(e,r,n){var i=r[0],a=r[1],o=n[0],s=n[1],l=e[0];return(o-i)*(e[1]-a)-(s-a)*(l-i)>=-t},pointBetween:function(e,r,n){var i=e[1]-r[1],a=n[0]-r[0],o=e[0]-r[0],s=n[1]-r[1],l=o*a+i*s;return!(l-t)},pointsSameX:function(e,r){return Math.abs(e[0]-r[0])t!=o-i>t&&(a-u)*(i-c)/(o-c)+u-n>t&&(s=!s),a=u,o=c}return s}};return e}},17792:function(t){var e={toPolygon:function(t,e){function r(e){if(e.length<=0)return t.segments({inverted:!1,regions:[]});function r(e){var r=e.slice(0,e.length-1);return t.segments({inverted:!1,regions:[r]})}for(var n=r(e[0]),i=1;i0}))}function c(t,n){var i=t.seg,a=n.seg,o=i.start,s=i.end,u=a.start,c=a.end;r&&r.checkIntersection(i,a);var f=e.linesIntersect(o,s,u,c);if(!1===f){if(!e.pointsCollinear(o,s,u))return!1;if(e.pointsSame(o,c)||e.pointsSame(s,u))return!1;var h=e.pointsSame(o,u),p=e.pointsSame(s,c);if(h&&p)return n;var d=!h&&e.pointBetween(o,u,c),v=!p&&e.pointBetween(s,u,c);if(h)return v?l(n,s):l(t,c),n;d&&(p||(v?l(n,s):l(t,c)),l(n,o))}else 0===f.alongA&&(-1===f.alongB?l(t,u):0===f.alongB?l(t,f.pt):1===f.alongB&&l(t,c)),0===f.alongB&&(-1===f.alongA?l(n,o):0===f.alongA?l(n,f.pt):1===f.alongA&&l(n,s));return!1}for(var f=[];!a.isEmpty();){var h=a.getHead();if(r&&r.vert(h.pt[0]),h.isStart){r&&r.segmentNew(h.seg,h.primary);var p=u(h),d=p.before?p.before.ev:null,v=p.after?p.after.ev:null;function g(){if(d){var t=c(h,d);if(t)return t}return!!v&&c(h,v)}r&&r.tempStatus(h.seg,!!d&&d.seg,!!v&&v.seg);var y,m,x=g();if(x)t?(m=null===h.seg.myFill.below||h.seg.myFill.above!==h.seg.myFill.below)&&(x.seg.myFill.above=!x.seg.myFill.above):x.seg.otherFill=h.seg.myFill,r&&r.segmentUpdate(x.seg),h.other.remove(),h.remove();if(a.getHead()!==h){r&&r.rewind(h.seg);continue}t?(m=null===h.seg.myFill.below||h.seg.myFill.above!==h.seg.myFill.below,h.seg.myFill.below=v?v.seg.myFill.above:i,h.seg.myFill.above=m?!h.seg.myFill.below:h.seg.myFill.below):null===h.seg.otherFill&&(y=v?h.primary===v.primary?v.seg.otherFill.above:v.seg.myFill.above:h.primary?o:i,h.seg.otherFill={above:y,below:y}),r&&r.status(h.seg,!!d&&d.seg,!!v&&v.seg),h.other.status=p.insert(n.node({ev:h}))}else{var b=h.status;if(null===b)throw new Error(\"PolyBool: Zero-length segment detected; your epsilon is probably too small or too large\");if(s.exists(b.prev)&&s.exists(b.next)&&c(b.prev.ev,b.next.ev),r&&r.statusRemove(b.ev.seg),b.remove(),!h.primary){var _=h.seg.myFill;h.seg.myFill=h.seg.otherFill,h.seg.otherFill=_}f.push(h.seg)}a.getHead().remove()}return r&&r.done(),f}return t?{addRegion:function(t){for(var n,i,a,o=t[t.length-1],l=0;l0&&!this.aborted;){var r=this.ifds_to_read.shift();r.offset&&this.scan_ifd(r.id,r.offset,t)}},n.prototype.read_uint16=function(t){var r=this.input;if(t+2>r.length)throw e(\"unexpected EOF\",\"EBADDATA\");return this.big_endian?256*r[t]+r[t+1]:r[t]+256*r[t+1]},n.prototype.read_uint32=function(t){var r=this.input;if(t+4>r.length)throw e(\"unexpected EOF\",\"EBADDATA\");return this.big_endian?16777216*r[t]+65536*r[t+1]+256*r[t+2]+r[t+3]:r[t]+256*r[t+1]+65536*r[t+2]+16777216*r[t+3]},n.prototype.is_subifd_link=function(t,e){return 0===t&&34665===e||0===t&&34853===e||34665===t&&40965===e},n.prototype.exif_format_length=function(t){switch(t){case 1:case 2:case 6:case 7:return 1;case 3:case 8:return 2;case 4:case 9:case 11:return 4;case 5:case 10:case 12:return 8;default:return 0}},n.prototype.exif_format_read=function(t,e){var r;switch(t){case 1:case 2:return this.input[e];case 6:return(r=this.input[e])|33554430*(128&r);case 3:return this.read_uint16(e);case 8:return(r=this.read_uint16(e))|131070*(32768&r);case 4:return this.read_uint32(e);case 9:return 0|this.read_uint32(e);default:return null}},n.prototype.scan_ifd=function(t,n,i){var a=this.read_uint16(n);n+=2;for(var o=0;othis.input.length)throw e(\"unexpected EOF\",\"EBADDATA\");for(var d=[],v=h,g=0;g0&&(this.ifds_to_read.push({id:s,offset:d[0]}),p=!0),!1===i({is_big_endian:this.big_endian,ifd:t,tag:s,format:l,count:u,entry_offset:n+this.start,data_length:f,data_offset:h+this.start,value:d,is_subifd_link:p}))return void(this.aborted=!0);n+=12}0===t&&this.ifds_to_read.push({id:1,offset:this.read_uint32(n)})},t.exports.ExifParser=n,t.exports.get_orientation=function(t){var e=0;try{return new n(t,0,t.length).each((function(t){if(0===t.ifd&&274===t.tag&&Array.isArray(t.value))return e=t.value[0],!1})),e}catch(t){return-1}}},44600:function(t,e,r){\"use strict\";var n=r(9696).eW,i=r(9696).eI;function a(t,e){if(t.length<4+e)return null;var r=i(t,e);return t.length>4&15,i=15&t[4],a=t[5]>>4&15,o=n(t,6),l=8,u=0;ue.width||t.width===e.width&&t.height>e.height?t:e})),i=r.reduce((function(t,e){return t.height>e.height||t.height===e.height&&t.width>e.width?t:e})),n.width>i.height||n.width===i.height&&n.height>i.width?n:i),s=1;e.transforms.forEach((function(t){var e={1:6,2:5,3:8,4:7,5:4,6:3,7:2,8:1},r={1:4,2:3,3:2,4:1,5:6,6:5,7:8,8:7};if(\"imir\"===t.type&&(s=0===t.value?r[s]:e[s=e[s=r[s]]]),\"irot\"===t.type)for(var n=0;n1&&(h.variants=f.variants),f.orientation&&(h.orientation=f.orientation),f.exif_location&&f.exif_location.offset+f.exif_location.length<=t.length){var p=a(t,f.exif_location.offset),d=t.slice(f.exif_location.offset+p+4,f.exif_location.offset+f.exif_location.length),v=s.get_orientation(d);v>0&&(h.orientation=v)}return h}}}}}}},38728:function(t,e,r){\"use strict\";var n=r(9696).wR,i=r(9696).gS,a=r(9696).Bz,o=n(\"BM\");t.exports=function(t){if(!(t.length<26)&&i(t,0,o))return{width:a(t,18),height:a(t,22),type:\"bmp\",mime:\"image/bmp\",wUnits:\"px\",hUnits:\"px\"}}},5588:function(t,e,r){\"use strict\";var n=r(9696).wR,i=r(9696).gS,a=r(9696).Bz,o=n(\"GIF87a\"),s=n(\"GIF89a\");t.exports=function(t){if(!(t.length<10)&&(i(t,0,o)||i(t,0,s)))return{width:a(t,6),height:a(t,8),type:\"gif\",mime:\"image/gif\",wUnits:\"px\",hUnits:\"px\"}}},41924:function(t,e,r){\"use strict\";var n=r(9696).Bz;t.exports=function(t){var e=n(t,0),r=n(t,2),i=n(t,4);if(0===e&&1===r&&i){for(var a=[],o={width:0,height:0},s=0;so.width||u>o.height)&&(o=c)}return{width:o.width,height:o.height,variants:a,type:\"ico\",mime:\"image/x-icon\",wUnits:\"px\",hUnits:\"px\"}}}},87968:function(t,e,r){\"use strict\";var n=r(9696).eW,i=r(9696).wR,a=r(9696).gS,o=r(11688),s=i(\"Exif\\0\\0\");t.exports=function(t){if(!(t.length<2)&&255===t[0]&&216===t[1]&&255===t[2])for(var e=2;;){for(;;){if(t.length-e<2)return;if(255===t[e++])break}for(var r,i,l=t[e++];255===l;)l=t[e++];if(208<=l&&l<=217||1===l)r=0;else{if(!(192<=l&&l<=254))return;if(t.length-e<2)return;r=n(t,e)-2,e+=2}if(217===l||218===l)return;if(225===l&&r>=10&&a(t,e,s)&&(i=o.get_orientation(t.slice(e+6,e+r))),r>=5&&192<=l&&l<=207&&196!==l&&200!==l&&204!==l){if(t.length-e0&&(u.orientation=i),u}e+=r}}},37276:function(t,e,r){\"use strict\";var n=r(9696).wR,i=r(9696).gS,a=r(9696).eI,o=n(\"‰PNG\\r\\n\u001a\\n\"),s=n(\"IHDR\");t.exports=function(t){if(!(t.length<24)&&i(t,0,o)&&i(t,12,s))return{width:a(t,16),height:a(t,20),type:\"png\",mime:\"image/png\",wUnits:\"px\",hUnits:\"px\"}}},90328:function(t,e,r){\"use strict\";var n=r(9696).wR,i=r(9696).gS,a=r(9696).eI,o=n(\"8BPS\\0\u0001\");t.exports=function(t){if(!(t.length<22)&&i(t,0,o))return{width:a(t,18),height:a(t,14),type:\"psd\",mime:\"image/vnd.adobe.photoshop\",wUnits:\"px\",hUnits:\"px\"}}},16024:function(t){\"use strict\";function e(t){return\"number\"==typeof t&&isFinite(t)&&t>0}var r=/<[-_.:a-zA-Z0-9][^>]*>/,n=/^<([-_.:a-zA-Z0-9]+:)?svg\\s/,i=/[^-]\\bwidth=\"([^%]+?)\"|[^-]\\bwidth='([^%]+?)'/,a=/\\bheight=\"([^%]+?)\"|\\bheight='([^%]+?)'/,o=/\\bview[bB]ox=\"(.+?)\"|\\bview[bB]ox='(.+?)'/,s=/in$|mm$|cm$|pt$|pc$|px$|em$|ex$/;function l(t){return s.test(t)?t.match(s)[0]:\"px\"}t.exports=function(t){if(function(t){var e,r=0,n=t.length;for(239===t[0]&&187===t[1]&&191===t[2]&&(r=3);r>14&16383),type:\"webp\",mime:\"image/webp\",wUnits:\"px\",hUnits:\"px\"}}}function h(t,e){return{width:1+(t[e+6]<<16|t[e+5]<<8|t[e+4]),height:1+(t[e+9]<t.length)){for(;e+8=10?r=r||c(t,e+8):\"VP8L\"===p&&d>=9?r=r||f(t,e+8):\"VP8X\"===p&&d>=10?r=r||h(t,e+8):\"EXIF\"===p&&(n=s.get_orientation(t.slice(e+8,e+8+d)),e=1/0),e+=8+d}else e++;if(r)return n>0&&(r.orientation=n),r}}}},87480:function(t,e,r){\"use strict\";t.exports={avif:r(40528),bmp:r(38728),gif:r(5588),ico:r(41924),jpeg:r(87968),png:r(37276),psd:r(90328),svg:r(16024),tiff:r(98792),webp:r(20704)}},19480:function(t,e,r){\"use strict\";var n=r(87480);t.exports=function(t){return function(t){for(var e=Object.keys(n),r=0;r1)for(var r=1;r1&&(t.scaleRatio=[t.scale[0]*t.viewport.width,t.scale[1]*t.viewport.height],r(t),t.after&&t.after(t))}function T(t){if(t){null!=t.length?\"number\"==typeof t[0]&&(t=[{positions:t}]):Array.isArray(t)||(t=[t]);var e=0,r=0;if(b.groups=x=t.map((function(t,u){var c=x[u];return t?(\"function\"==typeof t?t={after:t}:\"number\"==typeof t[0]&&(t={positions:t}),t=o(t,{color:\"color colors fill\",capSize:\"capSize cap capsize cap-size\",lineWidth:\"lineWidth line-width width line thickness\",opacity:\"opacity alpha\",range:\"range dataBox\",viewport:\"viewport viewBox\",errors:\"errors error\",positions:\"positions position data points\"}),c||(x[u]=c={id:u,scale:null,translate:null,scaleFract:null,translateFract:null,draw:!0},t=s({},m,t)),a(c,t,[{lineWidth:function(t){return.5*+t},capSize:function(t){return.5*+t},opacity:parseFloat,errors:function(t){return t=l(t),r+=t.length,t},positions:function(t,r){return t=l(t,\"float64\"),r.count=Math.floor(t.length/2),r.bounds=n(t,2),r.offset=e,e+=r.count,t}},{color:function(t,e){var r=e.count;if(t||(t=\"transparent\"),!Array.isArray(t)||\"number\"==typeof t[0]){var n=t;t=Array(r);for(var a=0;a 0. && baClipping < length(normalWidth * endBotJoin)) {\\n\\t\\t//handle miter clipping\\n\\t\\tbTopCoord -= normalWidth * endTopJoin;\\n\\t\\tbTopCoord += normalize(endTopJoin * normalWidth) * baClipping;\\n\\t}\\n\\n\\tif (nextReverse) {\\n\\t\\t//make join rectangular\\n\\t\\tvec2 miterShift = normalWidth * endJoinDirection * miterLimit * .5;\\n\\t\\tfloat normalAdjust = 1. - min(miterLimit / endMiterRatio, 1.);\\n\\t\\tbBotCoord = bCoord + miterShift - normalAdjust * normalWidth * currNormal * .5;\\n\\t\\tbTopCoord = bCoord + miterShift + normalAdjust * normalWidth * currNormal * .5;\\n\\t}\\n\\telse if (!prevReverse && abClipping > 0. && abClipping < length(normalWidth * startBotJoin)) {\\n\\t\\t//handle miter clipping\\n\\t\\taBotCoord -= normalWidth * startBotJoin;\\n\\t\\taBotCoord += normalize(startBotJoin * normalWidth) * abClipping;\\n\\t}\\n\\n\\tvec2 aTopPosition = (aTopCoord) * adjustedScale + translate;\\n\\tvec2 aBotPosition = (aBotCoord) * adjustedScale + translate;\\n\\n\\tvec2 bTopPosition = (bTopCoord) * adjustedScale + translate;\\n\\tvec2 bBotPosition = (bBotCoord) * adjustedScale + translate;\\n\\n\\t//position is normalized 0..1 coord on the screen\\n\\tvec2 position = (aTopPosition * lineTop + aBotPosition * lineBot) * lineStart + (bTopPosition * lineTop + bBotPosition * lineBot) * lineEnd;\\n\\n\\tstartCoord = aCoord * scaleRatio + translate * viewport.zw + viewport.xy;\\n\\tendCoord = bCoord * scaleRatio + translate * viewport.zw + viewport.xy;\\n\\n\\tgl_Position = vec4(position * 2.0 - 1.0, depth, 1);\\n\\n\\tenableStartMiter = step(dot(currTangent, prevTangent), .5);\\n\\tenableEndMiter = step(dot(currTangent, nextTangent), .5);\\n\\n\\t//bevel miter cutoffs\\n\\tif (miterMode == 1.) {\\n\\t\\tif (enableStartMiter == 1.) {\\n\\t\\t\\tvec2 startMiterWidth = vec2(startJoinDirection) * thickness * miterLimit * .5;\\n\\t\\t\\tstartCutoff = vec4(aCoord, aCoord);\\n\\t\\t\\tstartCutoff.zw += vec2(-startJoinDirection.y, startJoinDirection.x) / scaleRatio;\\n\\t\\t\\tstartCutoff = startCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\\n\\t\\t\\tstartCutoff += viewport.xyxy;\\n\\t\\t\\tstartCutoff += startMiterWidth.xyxy;\\n\\t\\t}\\n\\n\\t\\tif (enableEndMiter == 1.) {\\n\\t\\t\\tvec2 endMiterWidth = vec2(endJoinDirection) * thickness * miterLimit * .5;\\n\\t\\t\\tendCutoff = vec4(bCoord, bCoord);\\n\\t\\t\\tendCutoff.zw += vec2(-endJoinDirection.y, endJoinDirection.x) / scaleRatio;\\n\\t\\t\\tendCutoff = endCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\\n\\t\\t\\tendCutoff += viewport.xyxy;\\n\\t\\t\\tendCutoff += endMiterWidth.xyxy;\\n\\t\\t}\\n\\t}\\n\\n\\t//round miter cutoffs\\n\\telse if (miterMode == 2.) {\\n\\t\\tif (enableStartMiter == 1.) {\\n\\t\\t\\tvec2 startMiterWidth = vec2(startJoinDirection) * thickness * abs(dot(startJoinDirection, currNormal)) * .5;\\n\\t\\t\\tstartCutoff = vec4(aCoord, aCoord);\\n\\t\\t\\tstartCutoff.zw += vec2(-startJoinDirection.y, startJoinDirection.x) / scaleRatio;\\n\\t\\t\\tstartCutoff = startCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\\n\\t\\t\\tstartCutoff += viewport.xyxy;\\n\\t\\t\\tstartCutoff += startMiterWidth.xyxy;\\n\\t\\t}\\n\\n\\t\\tif (enableEndMiter == 1.) {\\n\\t\\t\\tvec2 endMiterWidth = vec2(endJoinDirection) * thickness * abs(dot(endJoinDirection, currNormal)) * .5;\\n\\t\\t\\tendCutoff = vec4(bCoord, bCoord);\\n\\t\\t\\tendCutoff.zw += vec2(-endJoinDirection.y, endJoinDirection.x) / scaleRatio;\\n\\t\\t\\tendCutoff = endCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\\n\\t\\t\\tendCutoff += viewport.xyxy;\\n\\t\\t\\tendCutoff += endMiterWidth.xyxy;\\n\\t\\t}\\n\\t}\\n}\\n\",frag:\"\\nprecision highp float;\\n\\nuniform float dashLength, pixelRatio, thickness, opacity, id, miterMode;\\nuniform sampler2D dashTexture;\\n\\nvarying vec4 fragColor;\\nvarying vec2 tangent;\\nvarying vec4 startCutoff, endCutoff;\\nvarying vec2 startCoord, endCoord;\\nvarying float enableStartMiter, enableEndMiter;\\n\\nfloat distToLine(vec2 p, vec2 a, vec2 b) {\\n\\tvec2 diff = b - a;\\n\\tvec2 perp = normalize(vec2(-diff.y, diff.x));\\n\\treturn dot(p - a, perp);\\n}\\n\\nvoid main() {\\n\\tfloat alpha = 1., distToStart, distToEnd;\\n\\tfloat cutoff = thickness * .5;\\n\\n\\t//bevel miter\\n\\tif (miterMode == 1.) {\\n\\t\\tif (enableStartMiter == 1.) {\\n\\t\\t\\tdistToStart = distToLine(gl_FragCoord.xy, startCutoff.xy, startCutoff.zw);\\n\\t\\t\\tif (distToStart < -1.) {\\n\\t\\t\\t\\tdiscard;\\n\\t\\t\\t\\treturn;\\n\\t\\t\\t}\\n\\t\\t\\talpha *= min(max(distToStart + 1., 0.), 1.);\\n\\t\\t}\\n\\n\\t\\tif (enableEndMiter == 1.) {\\n\\t\\t\\tdistToEnd = distToLine(gl_FragCoord.xy, endCutoff.xy, endCutoff.zw);\\n\\t\\t\\tif (distToEnd < -1.) {\\n\\t\\t\\t\\tdiscard;\\n\\t\\t\\t\\treturn;\\n\\t\\t\\t}\\n\\t\\t\\talpha *= min(max(distToEnd + 1., 0.), 1.);\\n\\t\\t}\\n\\t}\\n\\n\\t// round miter\\n\\telse if (miterMode == 2.) {\\n\\t\\tif (enableStartMiter == 1.) {\\n\\t\\t\\tdistToStart = distToLine(gl_FragCoord.xy, startCutoff.xy, startCutoff.zw);\\n\\t\\t\\tif (distToStart < 0.) {\\n\\t\\t\\t\\tfloat radius = length(gl_FragCoord.xy - startCoord);\\n\\n\\t\\t\\t\\tif(radius > cutoff + .5) {\\n\\t\\t\\t\\t\\tdiscard;\\n\\t\\t\\t\\t\\treturn;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\talpha -= smoothstep(cutoff - .5, cutoff + .5, radius);\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\tif (enableEndMiter == 1.) {\\n\\t\\t\\tdistToEnd = distToLine(gl_FragCoord.xy, endCutoff.xy, endCutoff.zw);\\n\\t\\t\\tif (distToEnd < 0.) {\\n\\t\\t\\t\\tfloat radius = length(gl_FragCoord.xy - endCoord);\\n\\n\\t\\t\\t\\tif(radius > cutoff + .5) {\\n\\t\\t\\t\\t\\tdiscard;\\n\\t\\t\\t\\t\\treturn;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\talpha -= smoothstep(cutoff - .5, cutoff + .5, radius);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\tfloat t = fract(dot(tangent, gl_FragCoord.xy) / dashLength) * .5 + .25;\\n\\tfloat dash = texture2D(dashTexture, vec2(t, .5)).r;\\n\\n\\tgl_FragColor = fragColor;\\n\\tgl_FragColor.a *= alpha * opacity * dash;\\n}\\n\",attributes:{lineEnd:{buffer:r,divisor:0,stride:8,offset:0},lineTop:{buffer:r,divisor:0,stride:8,offset:4},aColor:{buffer:t.prop(\"colorBuffer\"),stride:4,offset:0,divisor:1},bColor:{buffer:t.prop(\"colorBuffer\"),stride:4,offset:4,divisor:1},prevCoord:{buffer:t.prop(\"positionBuffer\"),stride:8,offset:0,divisor:1},aCoord:{buffer:t.prop(\"positionBuffer\"),stride:8,offset:8,divisor:1},bCoord:{buffer:t.prop(\"positionBuffer\"),stride:8,offset:16,divisor:1},nextCoord:{buffer:t.prop(\"positionBuffer\"),stride:8,offset:24,divisor:1}}},n))}catch(t){e=i}return{fill:t({primitive:\"triangle\",elements:function(t,e){return e.triangles},offset:0,vert:\"\\nprecision highp float;\\n\\nattribute vec2 position, positionFract;\\n\\nuniform vec4 color;\\nuniform vec2 scale, scaleFract, translate, translateFract;\\nuniform float pixelRatio, id;\\nuniform vec4 viewport;\\nuniform float opacity;\\n\\nvarying vec4 fragColor;\\n\\nconst float MAX_LINES = 256.;\\n\\nvoid main() {\\n\\tfloat depth = (MAX_LINES - 4. - id) / (MAX_LINES);\\n\\n\\tvec2 position = position * scale + translate\\n + positionFract * scale + translateFract\\n + position * scaleFract\\n + positionFract * scaleFract;\\n\\n\\tgl_Position = vec4(position * 2.0 - 1.0, depth, 1);\\n\\n\\tfragColor = color / 255.;\\n\\tfragColor.a *= opacity;\\n}\\n\",frag:\"\\nprecision highp float;\\nvarying vec4 fragColor;\\n\\nvoid main() {\\n\\tgl_FragColor = fragColor;\\n}\\n\",uniforms:{scale:t.prop(\"scale\"),color:t.prop(\"fill\"),scaleFract:t.prop(\"scaleFract\"),translateFract:t.prop(\"translateFract\"),translate:t.prop(\"translate\"),opacity:t.prop(\"opacity\"),pixelRatio:t.context(\"pixelRatio\"),id:t.prop(\"id\"),viewport:function(t,e){return[e.viewport.x,e.viewport.y,t.viewportWidth,t.viewportHeight]}},attributes:{position:{buffer:t.prop(\"positionBuffer\"),stride:8,offset:8},positionFract:{buffer:t.prop(\"positionFractBuffer\"),stride:8,offset:8}},blend:n.blend,depth:{enable:!1},scissor:n.scissor,stencil:n.stencil,viewport:n.viewport}),rect:i,miter:e}},g.defaults={dashes:null,join:\"miter\",miterLimit:1,thickness:10,cap:\"square\",color:\"black\",opacity:1,overlay:!1,viewport:null,range:null,close:!1,fill:null},g.prototype.render=function(){for(var t,e=[],r=arguments.length;r--;)e[r]=arguments[r];e.length&&(t=this).update.apply(t,e),this.draw()},g.prototype.draw=function(){for(var t=this,e=[],r=arguments.length;r--;)e[r]=arguments[r];return(e.length?e:this.passes).forEach((function(e,r){var n;if(e&&Array.isArray(e))return(n=t).draw.apply(n,e);\"number\"==typeof e&&(e=t.passes[e]),e&&e.count>1&&e.opacity&&(t.regl._refresh(),e.fill&&e.triangles&&e.triangles.length>2&&t.shaders.fill(e),e.thickness&&(e.scale[0]*e.viewport.width>g.precisionThreshold||e.scale[1]*e.viewport.height>g.precisionThreshold||\"rect\"===e.join||!e.join&&(e.thickness<=2||e.count>=g.maxPoints)?t.shaders.rect(e):t.shaders.miter(e)))})),this},g.prototype.update=function(t){var e=this;if(t){null!=t.length?\"number\"==typeof t[0]&&(t=[{positions:t}]):Array.isArray(t)||(t=[t]);var r=this.regl,c=this.gl;if(t.forEach((function(t,p){var y=e.passes[p];if(void 0!==t)if(null!==t){if(\"number\"==typeof t[0]&&(t={positions:t}),t=o(t,{positions:\"positions points data coords\",thickness:\"thickness lineWidth lineWidths line-width linewidth width stroke-width strokewidth strokeWidth\",join:\"lineJoin linejoin join type mode\",miterLimit:\"miterlimit miterLimit\",dashes:\"dash dashes dasharray dash-array dashArray\",color:\"color colour stroke colors colours stroke-color strokeColor\",fill:\"fill fill-color fillColor\",opacity:\"alpha opacity\",overlay:\"overlay crease overlap intersect\",close:\"closed close closed-path closePath\",range:\"range dataBox\",viewport:\"viewport viewBox\",hole:\"holes hole hollow\",splitNull:\"splitNull\"}),y||(e.passes[p]=y={id:p,scale:null,scaleFract:null,translate:null,translateFract:null,count:0,hole:[],depth:0,dashLength:1,dashTexture:r.texture({channels:1,data:new Uint8Array([255]),width:1,height:1,mag:\"linear\",min:\"linear\"}),colorBuffer:r.buffer({usage:\"dynamic\",type:\"uint8\",data:new Uint8Array}),positionBuffer:r.buffer({usage:\"dynamic\",type:\"float\",data:new Uint8Array}),positionFractBuffer:r.buffer({usage:\"dynamic\",type:\"float\",data:new Uint8Array})},t=a({},g.defaults,t)),null!=t.thickness&&(y.thickness=parseFloat(t.thickness)),null!=t.opacity&&(y.opacity=parseFloat(t.opacity)),null!=t.miterLimit&&(y.miterLimit=parseFloat(t.miterLimit)),null!=t.overlay&&(y.overlay=!!t.overlay,p=D}));(O=O.slice(0,R)).push(D)}for(var F=function(t){var e=k.slice(2*z,2*O[t]).concat(D?k.slice(2*D):[]),r=(y.hole||[]).map((function(e){return e-D+(O[t]-z)})),n=l(e,r);n=n.map((function(e){return e+z+(e+zt.length)&&(e=t.length);for(var r=0,n=new Array(e);r 1.0 + delta) {\\n\\t\\tdiscard;\\n\\t}\\n\\n\\talpha -= smoothstep(1.0 - delta, 1.0 + delta, radius);\\n\\n\\tfloat borderRadius = fragBorderRadius;\\n\\tfloat ratio = smoothstep(borderRadius - delta, borderRadius + delta, radius);\\n\\tvec4 color = mix(fragColor, fragBorderColor, ratio);\\n\\tcolor.a *= alpha * opacity;\\n\\tgl_FragColor = color;\\n}\\n\"]),l.vert=f([\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute float x, y, xFract, yFract;\\nattribute float size, borderSize;\\nattribute vec4 colorId, borderColorId;\\nattribute float isActive;\\n\\n// `invariant` effectively turns off optimizations for the position.\\n// We need this because -fast-math on M1 Macs is re-ordering\\n// floating point operations in a way that causes floating point\\n// precision limits to put points in the wrong locations.\\ninvariant gl_Position;\\n\\nuniform bool constPointSize;\\nuniform float pixelRatio;\\nuniform vec2 paletteSize, scale, scaleFract, translate, translateFract;\\nuniform sampler2D paletteTexture;\\n\\nconst float maxSize = 100.;\\n\\nvarying vec4 fragColor, fragBorderColor;\\nvarying float fragBorderRadius, fragWidth;\\n\\nfloat pointSizeScale = (constPointSize) ? 2. : pixelRatio;\\n\\nbool isDirect = (paletteSize.x < 1.);\\n\\nvec4 getColor(vec4 id) {\\n return isDirect ? id / 255. : texture2D(paletteTexture,\\n vec2(\\n (id.x + .5) / paletteSize.x,\\n (id.y + .5) / paletteSize.y\\n )\\n );\\n}\\n\\nvoid main() {\\n // ignore inactive points\\n if (isActive == 0.) return;\\n\\n vec2 position = vec2(x, y);\\n vec2 positionFract = vec2(xFract, yFract);\\n\\n vec4 color = getColor(colorId);\\n vec4 borderColor = getColor(borderColorId);\\n\\n float size = size * maxSize / 255.;\\n float borderSize = borderSize * maxSize / 255.;\\n\\n gl_PointSize = (size + borderSize) * pointSizeScale;\\n\\n vec2 pos = (position + translate) * scale\\n + (positionFract + translateFract) * scale\\n + (position + translate) * scaleFract\\n + (positionFract + translateFract) * scaleFract;\\n\\n gl_Position = vec4(pos * 2. - 1., 0., 1.);\\n\\n fragBorderRadius = 1. - 2. * borderSize / (size + borderSize);\\n fragColor = color;\\n fragBorderColor = borderColor.a == 0. || borderSize == 0. ? vec4(color.rgb, 0.) : borderColor;\\n fragWidth = 1. / gl_PointSize;\\n}\\n\"]),v&&(l.frag=l.frag.replace(\"smoothstep\",\"smoothStep\"),s.frag=s.frag.replace(\"smoothstep\",\"smoothStep\")),this.drawCircle=t(l)}x.defaults={color:\"black\",borderColor:\"transparent\",borderSize:0,size:12,opacity:1,marker:void 0,viewport:null,range:null,pixelSize:null,count:0,offset:0,bounds:null,positions:[],snap:1e4},x.prototype.render=function(){return arguments.length&&this.update.apply(this,arguments),this.draw(),this},x.prototype.draw=function(){for(var t=this,e=arguments.length,r=new Array(e),n=0;nn)?e.tree=u(t,{bounds:f}):n&&n.length&&(e.tree=n),e.tree){var h={primitive:\"points\",usage:\"static\",data:e.tree,type:\"uint32\"};e.elements?e.elements(h):e.elements=o.elements(h)}var p=g.float32(t);return i({data:p,usage:\"dynamic\"}),a({data:g.fract32(t,p),usage:\"dynamic\"}),l({data:new Uint8Array(c),type:\"uint8\",usage:\"stream\"}),t}},{marker:function(e,r,n){var i=r.activation;if(i.forEach((function(t){return t&&t.destroy&&t.destroy()})),i.length=0,e&&\"number\"!=typeof e[0]){for(var a=[],s=0,l=Math.min(e.length,r.count);s=0)return a;if(t instanceof Uint8Array||t instanceof Uint8ClampedArray)e=t;else{e=new Uint8Array(t.length);for(var o=0,s=t.length;o4*n&&(this.tooManyColors=!0),this.updatePalette(r),1===i.length?i[0]:i},x.prototype.updatePalette=function(t){if(!this.tooManyColors){var e=this.maxColors,r=this.paletteTexture,n=Math.ceil(.25*t.length/e);if(n>1)for(var i=.25*(t=t.slice()).length%e;i2?(s[0],s[2],n=s[1],i=s[3]):s.length?(n=s[0],i=s[1]):(s.x,n=s.y,s.x,s.width,i=s.y+s.height),l.length>2?(a=l[0],o=l[2],l[1],l[3]):l.length?(a=l[0],o=l[1]):(a=l.x,l.y,o=l.x+l.width,l.y,l.height),[a,n,o,i]}function p(t){if(\"number\"==typeof t)return[t,t,t,t];if(2===t.length)return[t[0],t[1],t[0],t[1]];var e=l(t);return[e.x,e.y,e.x+e.width,e.y+e.height]}t.exports=c,c.prototype.render=function(){for(var t,e=this,r=[],n=arguments.length;n--;)r[n]=arguments[n];return r.length&&(t=this).update.apply(t,r),this.regl.attributes.preserveDrawingBuffer?this.draw():(this.dirty?null==this.planned&&(this.planned=o((function(){e.draw(),e.dirty=!0,e.planned=null}))):(this.draw(),this.dirty=!0,o((function(){e.dirty=!1}))),this)},c.prototype.update=function(){for(var t,e=[],r=arguments.length;r--;)e[r]=arguments[r];if(e.length){for(var n=0;nk))&&(s.lower||!(T>>=e))<<3,(e|=r=(15<(t>>>=r))<<2)|(r=(3<(t>>>=r))<<1)|t>>>r>>1}function l(){function t(t){t:{for(var e=16;268435456>=e;e*=16)if(t<=e){t=e;break t}t=0}return 0<(e=r[s(t)>>2]).length?e.pop():new ArrayBuffer(t)}function e(t){r[s(t.byteLength)>>2].push(t)}var r=o(8,(function(){return[]}));return{alloc:t,free:e,allocType:function(e,r){var n=null;switch(e){case 5120:n=new Int8Array(t(r),0,r);break;case 5121:n=new Uint8Array(t(r),0,r);break;case 5122:n=new Int16Array(t(2*r),0,r);break;case 5123:n=new Uint16Array(t(2*r),0,r);break;case 5124:n=new Int32Array(t(4*r),0,r);break;case 5125:n=new Uint32Array(t(4*r),0,r);break;case 5126:n=new Float32Array(t(4*r),0,r);break;default:return null}return n.length!==r?n.subarray(0,r):n},freeType:function(t){e(t.buffer)}}}function u(t){return!!t&&\"object\"==typeof t&&Array.isArray(t.shape)&&Array.isArray(t.stride)&&\"number\"==typeof t.offset&&t.shape.length===t.stride.length&&(Array.isArray(t.data)||$(t.data))}function c(t,e,r,n,i,a){for(var o=0;o(i=s)&&(i=n.buffer.byteLength,5123===f?i>>=1:5125===f&&(i>>=2)),n.vertCount=i,i=o,0>o&&(i=4,1===(o=n.buffer.dimension)&&(i=0),2===o&&(i=1),3===o&&(i=4)),n.primType=i}function o(t){n.elementsCount--,delete s[t.id],t.buffer.destroy(),t.buffer=null}var s={},l=0,c={uint8:5121,uint16:5123};e.oes_element_index_uint&&(c.uint32=5125),i.prototype.bind=function(){this.buffer.bind()};var f=[];return{create:function(t,e){function s(t){if(t)if(\"number\"==typeof t)l(t),f.primType=4,f.vertCount=0|t,f.type=5121;else{var e=null,r=35044,n=-1,i=-1,o=0,h=0;Array.isArray(t)||$(t)||u(t)?e=t:(\"data\"in t&&(e=t.data),\"usage\"in t&&(r=nt[t.usage]),\"primitive\"in t&&(n=st[t.primitive]),\"count\"in t&&(i=0|t.count),\"type\"in t&&(h=c[t.type]),\"length\"in t?o=0|t.length:(o=i,5123===h||5122===h?o*=2:5125!==h&&5124!==h||(o*=4))),a(f,e,r,n,i,o,h)}else l(),f.primType=4,f.vertCount=0,f.type=5121;return s}var l=r.create(null,34963,!0),f=new i(l._buffer);return n.elementsCount++,s(t),s._reglType=\"elements\",s._elements=f,s.subdata=function(t,e){return l.subdata(t,e),s},s.destroy=function(){o(f)},s},createStream:function(t){var e=f.pop();return e||(e=new i(r.create(null,34963,!0,!1)._buffer)),a(e,t,35040,-1,-1,0,0),e},destroyStream:function(t){f.push(t)},getElements:function(t){return\"function\"==typeof t&&t._elements instanceof i?t._elements:null},clear:function(){Q(s).forEach(o)}}}function y(t){for(var e=K.allocType(5123,t.length),r=0;r>>31<<15,i=(a<<1>>>24)-127,a=a>>13&1023;e[r]=-24>i?n:-14>i?n+(a+1024>>-14-i):15>=i,r.height>>=i,p(r,n[i]),t.mipmask|=1<e;++e)t.images[e]=null;return t}function C(t){for(var e=t.images,r=0;re){for(var r=0;r=--this.refCount&&F(this)}}),o.profile&&(a.getTotalTextureSize=function(){var t=0;return Object.keys(ut).forEach((function(e){t+=ut[e].stats.size})),t}),{create2D:function(e,r){function n(t,e){var r=i.texInfo;P.call(r);var a=L();return\"number\"==typeof t?M(a,0|t,\"number\"==typeof e?0|e:0|t):t?(O(r,t),S(a,t)):M(a,1,1),r.genMipmaps&&(a.mipmask=(a.width<<1)-1),i.mipmask=a.mipmask,l(i,a),i.internalformat=a.internalformat,n.width=a.width,n.height=a.height,D(i),E(a,3553),I(r,3553),R(),C(a),o.profile&&(i.stats.size=A(i.internalformat,i.type,a.width,a.height,r.genMipmaps,!1)),n.format=Z[i.internalformat],n.type=J[i.type],n.mag=rt[r.magFilter],n.min=nt[r.minFilter],n.wrapS=it[r.wrapS],n.wrapT=it[r.wrapT],n}var i=new z(3553);return ut[i.id]=i,a.textureCount++,n(e,r),n.subimage=function(t,e,r,a){e|=0,r|=0,a|=0;var o=v();return l(o,i),o.width=0,o.height=0,p(o,t),o.width=o.width||(i.width>>a)-e,o.height=o.height||(i.height>>a)-r,D(i),d(o,3553,e,r,a),R(),g(o),n},n.resize=function(e,r){var a=0|e,s=0|r||a;if(a===i.width&&s===i.height)return n;n.width=i.width=a,n.height=i.height=s,D(i);for(var l=0;i.mipmask>>l;++l){var u=a>>l,c=s>>l;if(!u||!c)break;t.texImage2D(3553,l,i.format,u,c,0,i.format,i.type,null)}return R(),o.profile&&(i.stats.size=A(i.internalformat,i.type,a,s,!1,!1)),n},n._reglType=\"texture2d\",n._texture=i,o.profile&&(n.stats=i.stats),n.destroy=function(){i.decRef()},n},createCube:function(e,r,n,i,s,u){function f(t,e,r,n,i,a){var s,u=h.texInfo;for(P.call(u),s=0;6>s;++s)y[s]=L();if(\"number\"!=typeof t&&t){if(\"object\"==typeof t)if(e)S(y[0],t),S(y[1],e),S(y[2],r),S(y[3],n),S(y[4],i),S(y[5],a);else if(O(u,t),c(h,t),\"faces\"in t)for(t=t.faces,s=0;6>s;++s)l(y[s],h),S(y[s],t[s]);else for(s=0;6>s;++s)S(y[s],t)}else for(t=0|t||1,s=0;6>s;++s)M(y[s],t,t);for(l(h,y[0]),h.mipmask=u.genMipmaps?(y[0].width<<1)-1:y[0].mipmask,h.internalformat=y[0].internalformat,f.width=y[0].width,f.height=y[0].height,D(h),s=0;6>s;++s)E(y[s],34069+s);for(I(u,34067),R(),o.profile&&(h.stats.size=A(h.internalformat,h.type,f.width,f.height,u.genMipmaps,!0)),f.format=Z[h.internalformat],f.type=J[h.type],f.mag=rt[u.magFilter],f.min=nt[u.minFilter],f.wrapS=it[u.wrapS],f.wrapT=it[u.wrapT],s=0;6>s;++s)C(y[s]);return f}var h=new z(34067);ut[h.id]=h,a.cubeCount++;var y=Array(6);return f(e,r,n,i,s,u),f.subimage=function(t,e,r,n,i){r|=0,n|=0,i|=0;var a=v();return l(a,h),a.width=0,a.height=0,p(a,e),a.width=a.width||(h.width>>i)-r,a.height=a.height||(h.height>>i)-n,D(h),d(a,34069+t,r,n,i),R(),g(a),f},f.resize=function(e){if((e|=0)!==h.width){f.width=h.width=e,f.height=h.height=e,D(h);for(var r=0;6>r;++r)for(var n=0;h.mipmask>>n;++n)t.texImage2D(34069+r,n,h.format,e>>n,e>>n,0,h.format,h.type,null);return R(),o.profile&&(h.stats.size=A(h.internalformat,h.type,f.width,f.height,!1,!0)),f}},f._reglType=\"textureCube\",f._texture=h,o.profile&&(f.stats=h.stats),f.destroy=function(){h.decRef()},f},clear:function(){for(var e=0;er;++r)if(0!=(e.mipmask&1<>r,e.height>>r,0,e.internalformat,e.type,null);else for(var n=0;6>n;++n)t.texImage2D(34069+n,r,e.internalformat,e.width>>r,e.height>>r,0,e.internalformat,e.type,null);I(e.texInfo,e.target)}))},refresh:function(){for(var e=0;ei;++i){for(u=0;ut;++t)r[t].resize(n);return e.width=e.height=n,e},_reglType:\"framebufferCube\",destroy:function(){r.forEach((function(t){t.destroy()}))}})},clear:function(){Q(k).forEach(g)},restore:function(){x.cur=null,x.next=null,x.dirty=!0,Q(k).forEach((function(e){e.framebuffer=t.createFramebuffer(),y(e)}))}})}function E(){this.w=this.z=this.y=this.x=this.state=0,this.buffer=null,this.size=0,this.normalized=!1,this.type=5126,this.divisor=this.stride=this.offset=0}function L(t,e,r,n,i,a,o){function s(){this.id=++f,this.attributes=[],this.elements=null,this.ownsElements=!1,this.offset=this.count=0,this.instances=-1,this.primitive=4;var t=e.oes_vertex_array_object;this.vao=t?t.createVertexArrayOES():null,h[this.id]=this,this.buffers=[]}var l=r.maxAttributes,c=Array(l);for(r=0;r=h.byteLength?l.subdata(h):(l.destroy(),r.buffers[s]=null)),r.buffers[s]||(l=r.buffers[s]=i.create(c,34962,!1,!0)),f.buffer=i.getBuffer(l),f.size=0|f.buffer.dimension,f.normalized=!1,f.type=f.buffer.dtype,f.offset=0,f.stride=0,f.divisor=0,f.state=1,t[s]=1):i.getBuffer(c)?(f.buffer=i.getBuffer(c),f.size=0|f.buffer.dimension,f.normalized=!1,f.type=f.buffer.dtype,f.offset=0,f.stride=0,f.divisor=0,f.state=1):i.getBuffer(c.buffer)?(f.buffer=i.getBuffer(c.buffer),f.size=0|(+c.size||f.buffer.dimension),f.normalized=!!c.normalized||!1,f.type=\"type\"in c?rt[c.type]:f.buffer.dtype,f.offset=0|(c.offset||0),f.stride=0|(c.stride||0),f.divisor=0|(c.divisor||0),f.state=1):\"x\"in c&&(f.x=+c.x||0,f.y=+c.y||0,f.z=+c.z||0,f.w=+c.w||0,f.state=2)}for(l=0;lt&&(t=e.stats.uniformsCount)})),t},r.getMaxAttributesCount=function(){var t=0;return h.forEach((function(e){e.stats.attributesCount>t&&(t=e.stats.attributesCount)})),t}),{clear:function(){var e=t.deleteShader.bind(t);Q(u).forEach(e),u={},Q(c).forEach(e),c={},h.forEach((function(e){t.deleteProgram(e.program)})),h.length=0,f={},r.shaderCount=0},program:function(e,n,i,a){var o=f[n];o||(o=f[n]={});var p=o[e];if(p&&(p.refCount++,!a))return p;var d=new s(n,e);return r.shaderCount++,l(d,i,a),p||(o[e]=d),h.push(d),G(d,{destroy:function(){if(d.refCount--,0>=d.refCount){t.deleteProgram(d.program);var e=h.indexOf(d);h.splice(e,1),r.shaderCount--}0>=o[d.vertId].refCount&&(t.deleteShader(c[d.vertId]),delete c[d.vertId],delete f[d.fragId][d.vertId]),Object.keys(f[d.fragId]).length||(t.deleteShader(u[d.fragId]),delete u[d.fragId],delete f[d.fragId])}})},restore:function(){u={},c={};for(var t=0;t>>e|t<<32-e}function I(t,e){var r=(65535&t)+(65535&e);return(t>>16)+(e>>16)+(r>>16)<<16|65535&r}function z(t){return Array.prototype.slice.call(t)}function D(t){return z(t).join(\"\")}function R(t){function e(){var t=[],e=[];return G((function(){t.push.apply(t,z(arguments))}),{def:function(){var r=\"v\"+i++;return e.push(r),0>>4&15)+\"0123456789abcdef\".charAt(15&e);return r}(function(t){for(var e=Array(t.length>>2),r=0;r>5]|=(255&t.charCodeAt(r/8))<<24-r%32;var n,i,a,o,s,l,u,c,f,h,p,d=8*t.length;for(t=[1779033703,-1150833019,1013904242,-1521486534,1359893119,-1694144372,528734635,1541459225],r=Array(64),e[d>>5]|=128<<24-d%32,e[15+(d+64>>9<<4)]=d,c=0;cf;f++){var v;16>f?r[f]=e[f+c]:(h=f,p=I(p=O(p=r[f-2],17)^O(p,19)^p>>>10,r[f-7]),v=O(v=r[f-15],7)^O(v,18)^v>>>3,r[h]=I(I(p,v),r[f-16])),h=I(I(I(I(u,h=O(h=o,6)^O(h,11)^O(h,25)),o&s^~o&l),Mt[f]),r[f]),p=I(u=O(u=d,2)^O(u,13)^O(u,22),d&n^d&i^n&i),u=l,l=s,s=o,o=I(a,h),a=i,i=n,n=d,d=I(h,p)}t[0]=I(d,t[0]),t[1]=I(n,t[1]),t[2]=I(i,t[2]),t[3]=I(a,t[3]),t[4]=I(o,t[4]),t[5]=I(s,t[5]),t[6]=I(l,t[6]),t[7]=I(u,t[7])}for(e=\"\",r=0;r<32*t.length;r+=8)e+=String.fromCharCode(t[r>>5]>>>24-r%32&255);return e}(function(t){for(var e,r,n=\"\",i=-1;++i=e&&56320<=r&&57343>=r&&(e=65536+((1023&e)<<10)+(1023&r),i++),127>=e?n+=String.fromCharCode(e):2047>=e?n+=String.fromCharCode(192|e>>>6&31,128|63&e):65535>=e?n+=String.fromCharCode(224|e>>>12&15,128|e>>>6&63,128|63&e):2097151>=e&&(n+=String.fromCharCode(240|e>>>18&7,128|e>>>12&63,128|e>>>6&63,128|63&e));return n}(r))),n[e])?n[e].apply(null,o):(r=Function.apply(null,a.concat(r)),n&&(n[e]=r),r.apply(null,o))}}}function F(t){return Array.isArray(t)||$(t)||u(t)}function B(t){return t.sort((function(t,e){return\"viewport\"===t?-1:\"viewport\"===e?1:t\"+e+\"?\"+i+\".constant[\"+e+\"]:0;\"})).join(\"\"),\"}}else{\",\"if(\",s,\"(\",i,\".buffer)){\",c,\"=\",a,\".createStream(\",34962,\",\",i,\".buffer);\",\"}else{\",c,\"=\",a,\".getBuffer(\",i,\".buffer);\",\"}\",f,'=\"type\" in ',i,\"?\",o.glTypes,\"[\",i,\".type]:\",c,\".dtype;\",l.normalized,\"=!!\",i,\".normalized;\"),n(\"size\"),n(\"offset\"),n(\"stride\"),n(\"divisor\"),r(\"}}\"),r.exit(\"if(\",l.isStream,\"){\",a,\".destroyStream(\",c,\");\",\"}\"),l}))})),o}function M(t,e,n,i,a){function s(t){var e=u[t];e&&(h[t]=e)}var l=function(t,e){if(\"string\"==typeof(r=t.static).frag&&\"string\"==typeof r.vert){if(0>1)\",s],\");\")}function e(){r(l,\".drawArraysInstancedANGLE(\",[d,v,g,s],\");\")}p&&\"null\"!==p?m?t():(r(\"if(\",p,\"){\"),t(),r(\"}else{\"),e(),r(\"}\")):e()}function o(){function t(){r(c+\".drawElements(\"+[d,g,y,v+\"<<((\"+y+\"-5121)>>1)\"]+\");\")}function e(){r(c+\".drawArrays(\"+[d,v,g]+\");\")}p&&\"null\"!==p?m?t():(r(\"if(\",p,\"){\"),t(),r(\"}else{\"),e(),r(\"}\")):e()}var s,l,u=t.shared,c=u.gl,f=u.draw,h=n.draw,p=function(){var i=h.elements,a=e;return i?((i.contextDep&&n.contextDynamic||i.propDep)&&(a=r),i=i.append(t,a),h.elementsActive&&a(\"if(\"+i+\")\"+c+\".bindBuffer(34963,\"+i+\".buffer.buffer);\")):(i=a.def(),a(i,\"=\",f,\".\",\"elements\",\";\",\"if(\",i,\"){\",c,\".bindBuffer(\",34963,\",\",i,\".buffer.buffer);}\",\"else if(\",u.vao,\".currentVAO){\",i,\"=\",t.shared.elements+\".getElements(\"+u.vao,\".currentVAO.elements);\",et?\"\":\"if(\"+i+\")\"+c+\".bindBuffer(34963,\"+i+\".buffer.buffer);\",\"}\")),i}(),d=i(\"primitive\"),v=i(\"offset\"),g=function(){var i=h.count,a=e;return i?((i.contextDep&&n.contextDynamic||i.propDep)&&(a=r),i=i.append(t,a)):i=a.def(f,\".\",\"count\"),i}();if(\"number\"==typeof g){if(0===g)return}else r(\"if(\",g,\"){\"),r.exit(\"}\");Q&&(s=i(\"instances\"),l=t.instancing);var y=p+\".type\",m=h.elements&&j(h.elements)&&!h.vaoActive;Q&&(\"number\"!=typeof s||0<=s)?\"string\"==typeof s?(r(\"if(\",s,\">0){\"),a(),r(\"}else if(\",s,\"<0){\"),o(),r(\"}\")):a():o()}function q(t,e,r,n,i){return i=(e=_()).proc(\"body\",i),Q&&(e.instancing=i.def(e.shared.extensions,\".angle_instanced_arrays\")),t(e,i,r,n),e.compile().body}function H(t,e,r,n){P(t,e),r.useVAO?r.drawVAO?e(t.shared.vao,\".setVAO(\",r.drawVAO.append(t,e),\");\"):e(t.shared.vao,\".setVAO(\",t.shared.vao,\".targetVAO);\"):(e(t.shared.vao,\".setVAO(null);\"),I(t,e,r,n.attributes,(function(){return!0}))),z(t,e,r,n.uniforms,(function(){return!0}),!1),D(t,e,e,r)}function W(t,e,r,n){function i(){return!0}t.batchId=\"a1\",P(t,e),I(t,e,r,n.attributes,i),z(t,e,r,n.uniforms,i,!1),D(t,e,e,r)}function X(t,e,r,n){function i(t){return t.contextDep&&o||t.propDep}function a(t){return!i(t)}P(t,e);var o=r.contextDep,s=e.def(),l=e.def();t.shared.props=l,t.batchId=s;var u=t.scope(),c=t.scope();e(u.entry,\"for(\",s,\"=0;\",s,\"<\",\"a1\",\";++\",s,\"){\",l,\"=\",\"a0\",\"[\",s,\"];\",c,\"}\",u.exit),r.needsContext&&S(t,c,r.context),r.needsFramebuffer&&E(t,c,r.framebuffer),C(t,c,r.state,i),r.profile&&i(r.profile)&&O(t,c,r,!1,!0),n?(r.useVAO?r.drawVAO?i(r.drawVAO)?c(t.shared.vao,\".setVAO(\",r.drawVAO.append(t,c),\");\"):u(t.shared.vao,\".setVAO(\",r.drawVAO.append(t,u),\");\"):u(t.shared.vao,\".setVAO(\",t.shared.vao,\".targetVAO);\"):(u(t.shared.vao,\".setVAO(null);\"),I(t,u,r,n.attributes,a),I(t,c,r,n.attributes,i)),z(t,u,r,n.uniforms,a,!1),z(t,c,r,n.uniforms,i,!0),D(t,u,c,r)):(e=t.global.def(\"{}\"),n=r.shader.progVar.append(t,c),l=c.def(n,\".id\"),u=c.def(e,\"[\",l,\"]\"),c(t.shared.gl,\".useProgram(\",n,\".program);\",\"if(!\",u,\"){\",u,\"=\",e,\"[\",l,\"]=\",t.link((function(e){return q(W,t,r,e,2)})),\"(\",n,\");}\",u,\".call(this,a0[\",s,\"],\",s,\");\"))}function Z(t,r){function n(e){var n=r.shader[e];n&&(n=n.append(t,i),isNaN(n)?i.set(a.shader,\".\"+e,n):i.set(a.shader,\".\"+e,t.link(n,{stable:!0})))}var i=t.proc(\"scope\",3);t.batchId=\"a2\";var a=t.shared,o=a.current;if(S(t,i,r.context),r.framebuffer&&r.framebuffer.append(t,i),B(Object.keys(r.state)).forEach((function(e){var n=r.state[e],o=n.append(t,i);m(o)?o.forEach((function(r,n){isNaN(r)?i.set(t.next[e],\"[\"+n+\"]\",r):i.set(t.next[e],\"[\"+n+\"]\",t.link(r,{stable:!0}))})):j(n)?i.set(a.next,\".\"+e,t.link(o,{stable:!0})):i.set(a.next,\".\"+e,o)})),O(t,i,r,!0,!0),[\"elements\",\"offset\",\"count\",\"instances\",\"primitive\"].forEach((function(e){var n=r.draw[e];n&&(n=n.append(t,i),isNaN(n)?i.set(a.draw,\".\"+e,n):i.set(a.draw,\".\"+e,t.link(n),{stable:!0}))})),Object.keys(r.uniforms).forEach((function(n){var o=r.uniforms[n].append(t,i);Array.isArray(o)&&(o=\"[\"+o.map((function(e){return isNaN(e)?e:t.link(e,{stable:!0})}))+\"]\"),i.set(a.uniforms,\"[\"+t.link(e.id(n),{stable:!0})+\"]\",o)})),Object.keys(r.attributes).forEach((function(e){var n=r.attributes[e].append(t,i),a=t.scopeAttrib(e);Object.keys(new J).forEach((function(t){i.set(a,\".\"+t,n[t])}))})),r.scopeVAO){var s=r.scopeVAO.append(t,i);isNaN(s)?i.set(a.vao,\".targetVAO\",s):i.set(a.vao,\".targetVAO\",t.link(s,{stable:!0}))}n(\"vert\"),n(\"frag\"),0=--this.refCount&&o(this)},i.profile&&(n.getTotalRenderbufferSize=function(){var t=0;return Object.keys(c).forEach((function(e){t+=c[e].stats.size})),t}),{create:function(e,r){function o(e,r){var n=0,a=0,c=32854;if(\"object\"==typeof e&&e?(\"shape\"in e?(n=0|(a=e.shape)[0],a=0|a[1]):(\"radius\"in e&&(n=a=0|e.radius),\"width\"in e&&(n=0|e.width),\"height\"in e&&(a=0|e.height)),\"format\"in e&&(c=s[e.format])):\"number\"==typeof e?(n=0|e,a=\"number\"==typeof r?0|r:n):e||(n=a=1),n!==u.width||a!==u.height||c!==u.format)return o.width=u.width=n,o.height=u.height=a,u.format=c,t.bindRenderbuffer(36161,u.renderbuffer),t.renderbufferStorage(36161,c,n,a),i.profile&&(u.stats.size=wt[u.format]*u.width*u.height),o.format=l[u.format],o}var u=new a(t.createRenderbuffer());return c[u.id]=u,n.renderbufferCount++,o(e,r),o.resize=function(e,r){var n=0|e,a=0|r||n;return n===u.width&&a===u.height||(o.width=u.width=n,o.height=u.height=a,t.bindRenderbuffer(36161,u.renderbuffer),t.renderbufferStorage(36161,u.format,n,a),i.profile&&(u.stats.size=wt[u.format]*u.width*u.height)),o},o._reglType=\"renderbuffer\",o._renderbuffer=u,i.profile&&(o.stats=u.stats),o.destroy=function(){u.decRef()},o},clear:function(){Q(c).forEach(o)},restore:function(){Q(c).forEach((function(e){e.renderbuffer=t.createRenderbuffer(),t.bindRenderbuffer(36161,e.renderbuffer),t.renderbufferStorage(36161,e.format,e.width,e.height)})),t.bindRenderbuffer(36161,null)}}},kt=[];kt[6408]=4,kt[6407]=3;var At=[];At[5121]=1,At[5126]=4,At[36193]=2;var Mt=[1116352408,1899447441,-1245643825,-373957723,961987163,1508970993,-1841331548,-1424204075,-670586216,310598401,607225278,1426881987,1925078388,-2132889090,-1680079193,-1046744716,-459576895,-272742522,264347078,604807628,770255983,1249150122,1555081692,1996064986,-1740746414,-1473132947,-1341970488,-1084653625,-958395405,-710438585,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,-2117940946,-1838011259,-1564481375,-1474664885,-1035236496,-949202525,-778901479,-694614492,-200395387,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,-2067236844,-1933114872,-1866530822,-1538233109,-1090935817,-965641998],St=[\"x\",\"y\",\"z\",\"w\"],Et=\"blend.func blend.equation stencil.func stencil.opFront stencil.opBack sample.coverage viewport scissor.box polygonOffset.offset\".split(\" \"),Lt={0:0,1:1,zero:0,one:1,\"src color\":768,\"one minus src color\":769,\"src alpha\":770,\"one minus src alpha\":771,\"dst color\":774,\"one minus dst color\":775,\"dst alpha\":772,\"one minus dst alpha\":773,\"constant color\":32769,\"one minus constant color\":32770,\"constant alpha\":32771,\"one minus constant alpha\":32772,\"src alpha saturate\":776},Ct={never:512,less:513,\"<\":513,equal:514,\"=\":514,\"==\":514,\"===\":514,lequal:515,\"<=\":515,greater:516,\">\":516,notequal:517,\"!=\":517,\"!==\":517,gequal:518,\">=\":518,always:519},Pt={0:0,zero:0,keep:7680,replace:7681,increment:7682,decrement:7683,\"increment wrap\":34055,\"decrement wrap\":34056,invert:5386},Ot={cw:2304,ccw:2305},It=new N(!1,!1,!1,(function(){}));return function(t){function e(){if(0===K.length)T&&T.update(),et=null;else{et=X.next(e),f();for(var t=K.length-1;0<=t;--t){var r=K[t];r&&r(O,null,0)}d.flush(),T&&T.update()}}function r(){!et&&0=K.length&&n()}}}}function c(){var t=V.viewport,e=V.scissor_box;t[0]=t[1]=e[0]=e[1]=0,O.viewportWidth=O.framebufferWidth=O.drawingBufferWidth=t[2]=e[2]=d.drawingBufferWidth,O.viewportHeight=O.framebufferHeight=O.drawingBufferHeight=t[3]=e[3]=d.drawingBufferHeight}function f(){O.tick+=1,O.time=p(),c(),U.procs.poll()}function h(){B.refresh(),c(),U.procs.refresh(),T&&T.update()}function p(){return(Z()-k)/1e3}if(!(t=a(t)))return null;var d=t.gl,y=d.getContextAttributes();d.isContextLost();var m=function(t,e){function r(e){var r;e=e.toLowerCase();try{r=n[e]=t.getExtension(e)}catch(t){}return!!r}for(var n={},i=0;ie;++e)rt(G({framebuffer:t.framebuffer.faces[e]},t),l);else rt(t,l);else l(0,t)},prop:Y.define.bind(null,1),context:Y.define.bind(null,2),this:Y.define.bind(null,3),draw:s({}),buffer:function(t){return z.create(t,34962,!1,!1)},elements:function(t){return D.create(t,!1)},texture:B.create2D,cube:B.createCube,renderbuffer:N.create,framebuffer:j.create,framebufferCube:j.createCube,vao:R.createVAO,attributes:y,frame:u,on:function(t,e){var r;switch(t){case\"frame\":return u(e);case\"lost\":r=$;break;case\"restore\":r=Q;break;case\"destroy\":r=tt}return r.push(e),{cancel:function(){for(var t=0;t4294967295||l(e)!==e)throw new s(\"`length` must be a positive 32-bit integer\");var r=arguments.length>2&&!!arguments[2],n=!0,u=!0;if(\"length\"in t&&o){var c=o(t,\"length\");c&&!c.configurable&&(n=!1),c&&!c.writable&&(u=!1)}return(n||u||!r)&&(a?i(t,\"length\",e,!0,!0):i(t,\"length\",e)),t}},29936:function(t,e,r){t.exports=i;var n=r(61252).EventEmitter;function i(){n.call(this)}r(6768)(i,n),i.Readable=r(12348),i.Writable=r(11288),i.Duplex=r(15316),i.Transform=r(22477),i.PassThrough=r(27136),i.finished=r(15932),i.pipeline=r(38180),i.Stream=i,i.prototype.pipe=function(t,e){var r=this;function i(e){t.writable&&!1===t.write(e)&&r.pause&&r.pause()}function a(){r.readable&&r.resume&&r.resume()}r.on(\"data\",i),t.on(\"drain\",a),t._isStdio||e&&!1===e.end||(r.on(\"end\",s),r.on(\"close\",l));var o=!1;function s(){o||(o=!0,t.end())}function l(){o||(o=!0,\"function\"==typeof t.destroy&&t.destroy())}function u(t){if(c(),0===n.listenerCount(this,\"error\"))throw t}function c(){r.removeListener(\"data\",i),t.removeListener(\"drain\",a),r.removeListener(\"end\",s),r.removeListener(\"close\",l),r.removeListener(\"error\",u),t.removeListener(\"error\",u),r.removeListener(\"end\",c),r.removeListener(\"close\",c),t.removeListener(\"close\",c)}return r.on(\"error\",u),t.on(\"error\",u),r.on(\"end\",c),r.on(\"close\",c),t.on(\"close\",c),t.emit(\"pipe\",r),t}},92784:function(t){\"use strict\";var e={};function r(t,r,n){n||(n=Error);var i=function(t){var e,n;function i(e,n,i){return t.call(this,function(t,e,n){return\"string\"==typeof r?r:r(t,e,n)}(e,n,i))||this}return n=t,(e=i).prototype=Object.create(n.prototype),e.prototype.constructor=e,e.__proto__=n,i}(n);i.prototype.name=n.name,i.prototype.code=t,e[t]=i}function n(t,e){if(Array.isArray(t)){var r=t.length;return t=t.map((function(t){return String(t)})),r>2?\"one of \".concat(e,\" \").concat(t.slice(0,r-1).join(\", \"),\", or \")+t[r-1]:2===r?\"one of \".concat(e,\" \").concat(t[0],\" or \").concat(t[1]):\"of \".concat(e,\" \").concat(t[0])}return\"of \".concat(e,\" \").concat(String(t))}r(\"ERR_INVALID_OPT_VALUE\",(function(t,e){return'The value \"'+e+'\" is invalid for option \"'+t+'\"'}),TypeError),r(\"ERR_INVALID_ARG_TYPE\",(function(t,e,r){var i,a,o,s,l;if(\"string\"==typeof e&&(a=\"not \",e.substr(0,4)===a)?(i=\"must not be\",e=e.replace(/^not /,\"\")):i=\"must be\",function(t,e,r){return(void 0===r||r>t.length)&&(r=t.length),t.substring(r-9,r)===e}(t,\" argument\"))o=\"The \".concat(t,\" \").concat(i,\" \").concat(n(e,\"type\"));else{var u=(\"number\"!=typeof l&&(l=0),l+1>(s=t).length||-1===s.indexOf(\".\",l)?\"argument\":\"property\");o='The \"'.concat(t,'\" ').concat(u,\" \").concat(i,\" \").concat(n(e,\"type\"))}return o+\". Received type \".concat(typeof r)}),TypeError),r(\"ERR_STREAM_PUSH_AFTER_EOF\",\"stream.push() after EOF\"),r(\"ERR_METHOD_NOT_IMPLEMENTED\",(function(t){return\"The \"+t+\" method is not implemented\"})),r(\"ERR_STREAM_PREMATURE_CLOSE\",\"Premature close\"),r(\"ERR_STREAM_DESTROYED\",(function(t){return\"Cannot call \"+t+\" after a stream was destroyed\"})),r(\"ERR_MULTIPLE_CALLBACK\",\"Callback called multiple times\"),r(\"ERR_STREAM_CANNOT_PIPE\",\"Cannot pipe, not readable\"),r(\"ERR_STREAM_WRITE_AFTER_END\",\"write after end\"),r(\"ERR_STREAM_NULL_VALUES\",\"May not write null values to stream\",TypeError),r(\"ERR_UNKNOWN_ENCODING\",(function(t){return\"Unknown encoding: \"+t}),TypeError),r(\"ERR_STREAM_UNSHIFT_AFTER_END_EVENT\",\"stream.unshift() after end event\"),t.exports.i=e},15316:function(t,e,r){\"use strict\";var n=r(4168),i=Object.keys||function(t){var e=[];for(var r in t)e.push(r);return e};t.exports=c;var a=r(12348),o=r(11288);r(6768)(c,a);for(var s=i(o.prototype),l=0;l0)if(\"string\"==typeof e||s.objectMode||Object.getPrototypeOf(e)===l.prototype||(e=function(t){return l.from(t)}(e)),n)s.endEmitted?w(t,new _):S(t,s,e,!0);else if(s.ended)w(t,new x);else{if(s.destroyed)return!1;s.reading=!1,s.decoder&&!r?(e=s.decoder.write(e),s.objectMode||0!==e.length?S(t,s,e,!1):O(t,s)):S(t,s,e,!1)}else n||(s.reading=!1,O(t,s));return!s.ended&&(s.lengthe.highWaterMark&&(e.highWaterMark=function(t){return t>=E?t=E:(t--,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,t|=t>>>16,t++),t}(t)),t<=e.length?t:e.ended?e.length:(e.needReadable=!0,0))}function C(t){var e=t._readableState;a(\"emitReadable\",e.needReadable,e.emittedReadable),e.needReadable=!1,e.emittedReadable||(a(\"emitReadable\",e.flowing),e.emittedReadable=!0,i.nextTick(P,t))}function P(t){var e=t._readableState;a(\"emitReadable_\",e.destroyed,e.length,e.ended),e.destroyed||!e.length&&!e.ended||(t.emit(\"readable\"),e.emittedReadable=!1),e.needReadable=!e.flowing&&!e.ended&&e.length<=e.highWaterMark,F(t)}function O(t,e){e.readingMore||(e.readingMore=!0,i.nextTick(I,t,e))}function I(t,e){for(;!e.reading&&!e.ended&&(e.length0,e.resumeScheduled&&!e.paused?e.flowing=!0:t.listenerCount(\"data\")>0&&t.resume()}function D(t){a(\"readable nexttick read 0\"),t.read(0)}function R(t,e){a(\"resume\",e.reading),e.reading||t.read(0),e.resumeScheduled=!1,t.emit(\"resume\"),F(t),e.flowing&&!e.reading&&t.read(0)}function F(t){var e=t._readableState;for(a(\"flow\",e.flowing);e.flowing&&null!==t.read(););}function B(t,e){return 0===e.length?null:(e.objectMode?r=e.buffer.shift():!t||t>=e.length?(r=e.decoder?e.buffer.join(\"\"):1===e.buffer.length?e.buffer.first():e.buffer.concat(e.length),e.buffer.clear()):r=e.buffer.consume(t,e.decoder),r);var r}function N(t){var e=t._readableState;a(\"endReadable\",e.endEmitted),e.endEmitted||(e.ended=!0,i.nextTick(j,e,t))}function j(t,e){if(a(\"endReadableNT\",t.endEmitted,t.length),!t.endEmitted&&0===t.length&&(t.endEmitted=!0,e.readable=!1,e.emit(\"end\"),t.autoDestroy)){var r=e._writableState;(!r||r.autoDestroy&&r.finished)&&e.destroy()}}function U(t,e){for(var r=0,n=t.length;r=e.highWaterMark:e.length>0)||e.ended))return a(\"read: emitReadable\",e.length,e.ended),0===e.length&&e.ended?N(this):C(this),null;if(0===(t=L(t,e))&&e.ended)return 0===e.length&&N(this),null;var n,i=e.needReadable;return a(\"need readable\",i),(0===e.length||e.length-t0?B(t,e):null)?(e.needReadable=e.length<=e.highWaterMark,t=0):(e.length-=t,e.awaitDrain=0),0===e.length&&(e.ended||(e.needReadable=!0),r!==t&&e.ended&&N(this)),null!==n&&this.emit(\"data\",n),n},A.prototype._read=function(t){w(this,new b(\"_read()\"))},A.prototype.pipe=function(t,e){var r=this,n=this._readableState;switch(n.pipesCount){case 0:n.pipes=t;break;case 1:n.pipes=[n.pipes,t];break;default:n.pipes.push(t)}n.pipesCount+=1,a(\"pipe count=%d opts=%j\",n.pipesCount,e);var s=e&&!1===e.end||t===i.stdout||t===i.stderr?v:l;function l(){a(\"onend\"),t.end()}n.endEmitted?i.nextTick(s):r.once(\"end\",s),t.on(\"unpipe\",(function e(i,o){a(\"onunpipe\"),i===r&&o&&!1===o.hasUnpiped&&(o.hasUnpiped=!0,a(\"cleanup\"),t.removeListener(\"close\",p),t.removeListener(\"finish\",d),t.removeListener(\"drain\",u),t.removeListener(\"error\",h),t.removeListener(\"unpipe\",e),r.removeListener(\"end\",l),r.removeListener(\"end\",v),r.removeListener(\"data\",f),c=!0,!n.awaitDrain||t._writableState&&!t._writableState.needDrain||u())}));var u=function(t){return function(){var e=t._readableState;a(\"pipeOnDrain\",e.awaitDrain),e.awaitDrain&&e.awaitDrain--,0===e.awaitDrain&&o(t,\"data\")&&(e.flowing=!0,F(t))}}(r);t.on(\"drain\",u);var c=!1;function f(e){a(\"ondata\");var i=t.write(e);a(\"dest.write\",i),!1===i&&((1===n.pipesCount&&n.pipes===t||n.pipesCount>1&&-1!==U(n.pipes,t))&&!c&&(a(\"false write response, pause\",n.awaitDrain),n.awaitDrain++),r.pause())}function h(e){a(\"onerror\",e),v(),t.removeListener(\"error\",h),0===o(t,\"error\")&&w(t,e)}function p(){t.removeListener(\"finish\",d),v()}function d(){a(\"onfinish\"),t.removeListener(\"close\",p),v()}function v(){a(\"unpipe\"),r.unpipe(t)}return r.on(\"data\",f),function(t,e,r){if(\"function\"==typeof t.prependListener)return t.prependListener(e,r);t._events&&t._events[e]?Array.isArray(t._events[e])?t._events[e].unshift(r):t._events[e]=[r,t._events[e]]:t.on(e,r)}(t,\"error\",h),t.once(\"close\",p),t.once(\"finish\",d),t.emit(\"pipe\",r),n.flowing||(a(\"pipe resume\"),r.resume()),t},A.prototype.unpipe=function(t){var e=this._readableState,r={hasUnpiped:!1};if(0===e.pipesCount)return this;if(1===e.pipesCount)return t&&t!==e.pipes||(t||(t=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,t&&t.emit(\"unpipe\",this,r)),this;if(!t){var n=e.pipes,i=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var a=0;a0,!1!==n.flowing&&this.resume()):\"readable\"===t&&(n.endEmitted||n.readableListening||(n.readableListening=n.needReadable=!0,n.flowing=!1,n.emittedReadable=!1,a(\"on readable\",n.length,n.reading),n.length?C(this):n.reading||i.nextTick(D,this))),r},A.prototype.addListener=A.prototype.on,A.prototype.removeListener=function(t,e){var r=s.prototype.removeListener.call(this,t,e);return\"readable\"===t&&i.nextTick(z,this),r},A.prototype.removeAllListeners=function(t){var e=s.prototype.removeAllListeners.apply(this,arguments);return\"readable\"!==t&&void 0!==t||i.nextTick(z,this),e},A.prototype.resume=function(){var t=this._readableState;return t.flowing||(a(\"resume\"),t.flowing=!t.readableListening,function(t,e){e.resumeScheduled||(e.resumeScheduled=!0,i.nextTick(R,t,e))}(this,t)),t.paused=!1,this},A.prototype.pause=function(){return a(\"call pause flowing=%j\",this._readableState.flowing),!1!==this._readableState.flowing&&(a(\"pause\"),this._readableState.flowing=!1,this.emit(\"pause\")),this._readableState.paused=!0,this},A.prototype.wrap=function(t){var e=this,r=this._readableState,n=!1;for(var i in t.on(\"end\",(function(){if(a(\"wrapped end\"),r.decoder&&!r.ended){var t=r.decoder.end();t&&t.length&&e.push(t)}e.push(null)})),t.on(\"data\",(function(i){a(\"wrapped data\"),r.decoder&&(i=r.decoder.write(i)),r.objectMode&&null==i||(r.objectMode||i&&i.length)&&(e.push(i)||(n=!0,t.pause()))})),t)void 0===this[i]&&\"function\"==typeof t[i]&&(this[i]=function(e){return function(){return t[e].apply(t,arguments)}}(i));for(var o=0;o-1))throw new _(t);return this._writableState.defaultEncoding=t,this},Object.defineProperty(A.prototype,\"writableBuffer\",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(A.prototype,\"writableHighWaterMark\",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),A.prototype._write=function(t,e,r){r(new v(\"_write()\"))},A.prototype._writev=null,A.prototype.end=function(t,e,r){var n=this._writableState;return\"function\"==typeof t?(r=t,t=null,e=null):\"function\"==typeof e&&(r=e,e=null),null!=t&&this.write(t,e),n.corked&&(n.corked=1,this.uncork()),n.ending||function(t,e,r){e.ending=!0,P(t,e),r&&(e.finished?i.nextTick(r):t.once(\"finish\",r)),e.ended=!0,t.writable=!1}(this,n,r),this},Object.defineProperty(A.prototype,\"writableLength\",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(A.prototype,\"destroyed\",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(t){this._writableState&&(this._writableState.destroyed=t)}}),A.prototype.destroy=f.destroy,A.prototype._undestroy=f.undestroy,A.prototype._destroy=function(t,e){e(t)}},60328:function(t,e,r){\"use strict\";var n,i=r(4168);function a(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var o=r(15932),s=Symbol(\"lastResolve\"),l=Symbol(\"lastReject\"),u=Symbol(\"error\"),c=Symbol(\"ended\"),f=Symbol(\"lastPromise\"),h=Symbol(\"handlePromise\"),p=Symbol(\"stream\");function d(t,e){return{value:t,done:e}}function v(t){var e=t[s];if(null!==e){var r=t[p].read();null!==r&&(t[f]=null,t[s]=null,t[l]=null,e(d(r,!1)))}}function g(t){i.nextTick(v,t)}var y=Object.getPrototypeOf((function(){})),m=Object.setPrototypeOf((a(n={get stream(){return this[p]},next:function(){var t=this,e=this[u];if(null!==e)return Promise.reject(e);if(this[c])return Promise.resolve(d(void 0,!0));if(this[p].destroyed)return new Promise((function(e,r){i.nextTick((function(){t[u]?r(t[u]):e(d(void 0,!0))}))}));var r,n=this[f];if(n)r=new Promise(function(t,e){return function(r,n){t.then((function(){e[c]?r(d(void 0,!0)):e[h](r,n)}),n)}}(n,this));else{var a=this[p].read();if(null!==a)return Promise.resolve(d(a,!1));r=new Promise(this[h])}return this[f]=r,r}},Symbol.asyncIterator,(function(){return this})),a(n,\"return\",(function(){var t=this;return new Promise((function(e,r){t[p].destroy(null,(function(t){t?r(t):e(d(void 0,!0))}))}))})),n),y);t.exports=function(t){var e,r=Object.create(m,(a(e={},p,{value:t,writable:!0}),a(e,s,{value:null,writable:!0}),a(e,l,{value:null,writable:!0}),a(e,u,{value:null,writable:!0}),a(e,c,{value:t._readableState.endEmitted,writable:!0}),a(e,h,{value:function(t,e){var n=r[p].read();n?(r[f]=null,r[s]=null,r[l]=null,t(d(n,!1))):(r[s]=t,r[l]=e)},writable:!0}),e));return r[f]=null,o(t,(function(t){if(t&&\"ERR_STREAM_PREMATURE_CLOSE\"!==t.code){var e=r[l];return null!==e&&(r[f]=null,r[s]=null,r[l]=null,e(t)),void(r[u]=t)}var n=r[s];null!==n&&(r[f]=null,r[s]=null,r[l]=null,n(d(void 0,!0))),r[c]=!0})),t.on(\"readable\",g.bind(null,r)),r}},47264:function(t,e,r){\"use strict\";function n(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function a(t,e){for(var r=0;r0?this.tail.next=e:this.head=e,this.tail=e,++this.length}},{key:\"unshift\",value:function(t){var e={data:t,next:this.head};0===this.length&&(this.tail=e),this.head=e,++this.length}},{key:\"shift\",value:function(){if(0!==this.length){var t=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,t}}},{key:\"clear\",value:function(){this.head=this.tail=null,this.length=0}},{key:\"join\",value:function(t){if(0===this.length)return\"\";for(var e=this.head,r=\"\"+e.data;e=e.next;)r+=t+e.data;return r}},{key:\"concat\",value:function(t){if(0===this.length)return o.alloc(0);for(var e,r,n,i=o.allocUnsafe(t>>>0),a=this.head,s=0;a;)e=a.data,r=i,n=s,o.prototype.copy.call(e,r,n),s+=a.data.length,a=a.next;return i}},{key:\"consume\",value:function(t,e){var r;return ti.length?i.length:t;if(a===i.length?n+=i:n+=i.slice(0,t),0==(t-=a)){a===i.length?(++r,e.next?this.head=e.next:this.head=this.tail=null):(this.head=e,e.data=i.slice(a));break}++r}return this.length-=r,n}},{key:\"_getBuffer\",value:function(t){var e=o.allocUnsafe(t),r=this.head,n=1;for(r.data.copy(e),t-=r.data.length;r=r.next;){var i=r.data,a=t>i.length?i.length:t;if(i.copy(e,e.length-t,0,a),0==(t-=a)){a===i.length?(++n,r.next?this.head=r.next:this.head=this.tail=null):(this.head=r,r.data=i.slice(a));break}++n}return this.length-=n,e}},{key:l,value:function(t,e){return s(this,function(t){for(var e=1;e0,(function(t){c||(c=t),t&&h.forEach(l),a||(h.forEach(l),f(c))}))}));return e.reduce(u)}},24888:function(t,e,r){\"use strict\";var n=r(92784).i.ERR_INVALID_OPT_VALUE;t.exports={getHighWaterMark:function(t,e,r,i){var a=function(t,e,r){return null!=t.highWaterMark?t.highWaterMark:e?t[r]:null}(e,i,r);if(null!=a){if(!isFinite(a)||Math.floor(a)!==a||a<0)throw new n(i?r:\"highWaterMark\",a);return Math.floor(a)}return t.objectMode?16:16384}}},4776:function(t,e,r){t.exports=r(61252).EventEmitter},86032:function(t,e,r){\"use strict\";var n=r(30456).Buffer,i=n.isEncoding||function(t){switch((t=\"\"+t)&&t.toLowerCase()){case\"hex\":case\"utf8\":case\"utf-8\":case\"ascii\":case\"binary\":case\"base64\":case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":case\"raw\":return!0;default:return!1}};function a(t){var e;switch(this.encoding=function(t){var e=function(t){if(!t)return\"utf8\";for(var e;;)switch(t){case\"utf8\":case\"utf-8\":return\"utf8\";case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return\"utf16le\";case\"latin1\":case\"binary\":return\"latin1\";case\"base64\":case\"ascii\":case\"hex\":return t;default:if(e)return;t=(\"\"+t).toLowerCase(),e=!0}}(t);if(\"string\"!=typeof e&&(n.isEncoding===i||!i(t)))throw new Error(\"Unknown encoding: \"+t);return e||t}(t),this.encoding){case\"utf16le\":this.text=l,this.end=u,e=4;break;case\"utf8\":this.fillLast=s,e=4;break;case\"base64\":this.text=c,this.end=f,e=3;break;default:return this.write=h,void(this.end=p)}this.lastNeed=0,this.lastTotal=0,this.lastChar=n.allocUnsafe(e)}function o(t){return t<=127?0:t>>5==6?2:t>>4==14?3:t>>3==30?4:t>>6==2?-1:-2}function s(t){var e=this.lastTotal-this.lastNeed,r=function(t,e,r){if(128!=(192&e[0]))return t.lastNeed=0,\"�\";if(t.lastNeed>1&&e.length>1){if(128!=(192&e[1]))return t.lastNeed=1,\"�\";if(t.lastNeed>2&&e.length>2&&128!=(192&e[2]))return t.lastNeed=2,\"�\"}}(this,t);return void 0!==r?r:this.lastNeed<=t.length?(t.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(t.copy(this.lastChar,e,0,t.length),void(this.lastNeed-=t.length))}function l(t,e){if((t.length-e)%2==0){var r=t.toString(\"utf16le\",e);if(r){var n=r.charCodeAt(r.length-1);if(n>=55296&&n<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=t[t.length-1],t.toString(\"utf16le\",e,t.length-1)}function u(t){var e=t&&t.length?this.write(t):\"\";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return e+this.lastChar.toString(\"utf16le\",0,r)}return e}function c(t,e){var r=(t.length-e)%3;return 0===r?t.toString(\"base64\",e):(this.lastNeed=3-r,this.lastTotal=3,1===r?this.lastChar[0]=t[t.length-1]:(this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1]),t.toString(\"base64\",e,t.length-r))}function f(t){var e=t&&t.length?this.write(t):\"\";return this.lastNeed?e+this.lastChar.toString(\"base64\",0,3-this.lastNeed):e}function h(t){return t.toString(this.encoding)}function p(t){return t&&t.length?this.write(t):\"\"}e.o=a,a.prototype.write=function(t){if(0===t.length)return\"\";var e,r;if(this.lastNeed){if(void 0===(e=this.fillLast(t)))return\"\";r=this.lastNeed,this.lastNeed=0}else r=0;return r=0?(i>0&&(t.lastNeed=i-1),i):--n=0?(i>0&&(t.lastNeed=i-2),i):--n=0?(i>0&&(2===i?i=0:t.lastNeed=i-3),i):0}(this,t,e);if(!this.lastNeed)return t.toString(\"utf8\",e);this.lastTotal=r;var n=t.length-(r-this.lastNeed);return t.copy(this.lastChar,0,n),t.toString(\"utf8\",e,n)},a.prototype.fillLast=function(t){if(this.lastNeed<=t.length)return t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,t.length),this.lastNeed-=t.length}},55619:function(t,e,r){var n=r(45408),i=r(86844)(\"stream-parser\");t.exports=function(t){var e=t&&\"function\"==typeof t._transform,r=t&&\"function\"==typeof t._write;if(!e&&!r)throw new Error(\"must pass a Writable or Transform stream in\");i(\"extending Parser into stream\"),t._bytes=c,t._skipBytes=f,e&&(t._passthrough=h),e?t._transform=d:t._write=p};var a=-1,o=0,s=1,l=2;function u(t){i(\"initializing parser stream\"),t._parserBytesLeft=0,t._parserBuffers=[],t._parserBuffered=0,t._parserState=a,t._parserCallback=null,\"function\"==typeof t.push&&(t._parserOutput=t.push.bind(t)),t._parserInit=!0}function c(t,e){n(!this._parserCallback,'there is already a \"callback\" set!'),n(isFinite(t)&&t>0,'can only buffer a finite number of bytes > 0, got \"'+t+'\"'),this._parserInit||u(this),i(\"buffering %o bytes\",t),this._parserBytesLeft=t,this._parserCallback=e,this._parserState=o}function f(t,e){n(!this._parserCallback,'there is already a \"callback\" set!'),n(t>0,'can only skip > 0 bytes, got \"'+t+'\"'),this._parserInit||u(this),i(\"skipping %o bytes\",t),this._parserBytesLeft=t,this._parserCallback=e,this._parserState=s}function h(t,e){n(!this._parserCallback,'There is already a \"callback\" set!'),n(t>0,'can only pass through > 0 bytes, got \"'+t+'\"'),this._parserInit||u(this),i(\"passing through %o bytes\",t),this._parserBytesLeft=t,this._parserCallback=e,this._parserState=l}function p(t,e,r){this._parserInit||u(this),i(\"write(%o bytes)\",t.length),\"function\"==typeof e&&(r=e),g(this,t,null,r)}function d(t,e,r){this._parserInit||u(this),i(\"transform(%o bytes)\",t.length),\"function\"!=typeof e&&(e=this._parserOutput),g(this,t,e,r)}function v(t,e,r,n){if(t._parserBytesLeft-=e.length,i(\"%o bytes left for stream piece\",t._parserBytesLeft),t._parserState===o?(t._parserBuffers.push(e),t._parserBuffered+=e.length):t._parserState===l&&r(e),0!==t._parserBytesLeft)return n;var s=t._parserCallback;if(s&&t._parserState===o&&t._parserBuffers.length>1&&(e=Buffer.concat(t._parserBuffers,t._parserBuffered)),t._parserState!==o&&(e=null),t._parserCallback=null,t._parserBuffered=0,t._parserState=a,t._parserBuffers.splice(0),s){var u=[];e&&u.push(e),r&&u.push(r);var c=s.length>u.length;c&&u.push(y(n));var f=s.apply(t,u);if(!c||n===f)return n}}var g=y((function t(e,r,n,i){return e._parserBytesLeft<=0?i(new Error(\"got data but not currently parsing anything\")):r.length<=e._parserBytesLeft?function(){return v(e,r,n,i)}:function(){var a=r.slice(0,e._parserBytesLeft);return v(e,a,n,(function(o){return o?i(o):r.length>a.length?function(){return t(e,r.slice(a.length),n,i)}:void 0}))}}));function y(t){return function(){for(var e=t.apply(this,arguments);\"function\"==typeof e;)e=e();return e}}},86844:function(t,e,r){var n=r(4168);function i(){var t;try{t=e.storage.debug}catch(t){}return!t&&void 0!==n&&\"env\"in n&&(t=n.env.DEBUG),t}(e=t.exports=r(89416)).log=function(){return\"object\"==typeof console&&console.log&&Function.prototype.apply.call(console.log,console,arguments)},e.formatArgs=function(t){var r=this.useColors;if(t[0]=(r?\"%c\":\"\")+this.namespace+(r?\" %c\":\" \")+t[0]+(r?\"%c \":\" \")+\"+\"+e.humanize(this.diff),r){var n=\"color: \"+this.color;t.splice(1,0,n,\"color: inherit\");var i=0,a=0;t[0].replace(/%[a-zA-Z%]/g,(function(t){\"%%\"!==t&&(i++,\"%c\"===t&&(a=i))})),t.splice(a,0,n)}},e.save=function(t){try{null==t?e.storage.removeItem(\"debug\"):e.storage.debug=t}catch(t){}},e.load=i,e.useColors=function(){return!(\"undefined\"==typeof window||!window.process||\"renderer\"!==window.process.type)||(\"undefined\"!=typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||\"undefined\"!=typeof window&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||\"undefined\"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/)&&parseInt(RegExp.$1,10)>=31||\"undefined\"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/))},e.storage=\"undefined\"!=typeof chrome&&void 0!==chrome.storage?chrome.storage.local:function(){try{return window.localStorage}catch(t){}}(),e.colors=[\"lightseagreen\",\"forestgreen\",\"goldenrod\",\"dodgerblue\",\"darkorchid\",\"crimson\"],e.formatters.j=function(t){try{return JSON.stringify(t)}catch(t){return\"[UnexpectedJSONParseError]: \"+t.message}},e.enable(i())},89416:function(t,e,r){var n;function i(t){function r(){if(r.enabled){var t=r,i=+new Date,a=i-(n||i);t.diff=a,t.prev=n,t.curr=i,n=i;for(var o=new Array(arguments.length),s=0;s0)return function(t){if(!((t=String(t)).length>100)){var a=/^((?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(t);if(a){var o=parseFloat(a[1]);switch((a[2]||\"ms\").toLowerCase()){case\"years\":case\"year\":case\"yrs\":case\"yr\":case\"y\":return 315576e5*o;case\"days\":case\"day\":case\"d\":return o*i;case\"hours\":case\"hour\":case\"hrs\":case\"hr\":case\"h\":return o*n;case\"minutes\":case\"minute\":case\"mins\":case\"min\":case\"m\":return o*r;case\"seconds\":case\"second\":case\"secs\":case\"sec\":case\"s\":return o*e;case\"milliseconds\":case\"millisecond\":case\"msecs\":case\"msec\":case\"ms\":return o;default:return}}}}(t);if(\"number\"===l&&!1===isNaN(t))return o.long?a(s=t,i,\"day\")||a(s,n,\"hour\")||a(s,r,\"minute\")||a(s,e,\"second\")||s+\" ms\":function(t){return t>=i?Math.round(t/i)+\"d\":t>=n?Math.round(t/n)+\"h\":t>=r?Math.round(t/r)+\"m\":t>=e?Math.round(t/e)+\"s\":t+\"ms\"}(t);throw new Error(\"val is not a non-empty string or a valid number. val=\"+JSON.stringify(t))}},39956:function(t,e,r){\"use strict\";var n=r(32868);t.exports=function(t,e,r){if(null==t)throw Error(\"First argument should be a string\");if(null==e)throw Error(\"Separator should be a string or a RegExp\");r?(\"string\"==typeof r||Array.isArray(r))&&(r={ignore:r}):r={},null==r.escape&&(r.escape=!0),null==r.ignore?r.ignore=[\"[]\",\"()\",\"{}\",\"<>\",'\"\"',\"''\",\"``\",\"“”\",\"«»\"]:(\"string\"==typeof r.ignore&&(r.ignore=[r.ignore]),r.ignore=r.ignore.map((function(t){return 1===t.length&&(t+=t),t})));var i=n.parse(t,{flat:!0,brackets:r.ignore}),a=i[0].split(e);if(r.escape){for(var o=[],s=0;s0;){e=u[u.length-1];var p=t[e];if(a[e]=0&&s[e].push(o[v])}a[e]=d}else{if(n[e]===r[e]){var g=[],y=[],m=0;for(d=l.length-1;d>=0;--d){var x=l[d];if(i[x]=!1,g.push(x),y.push(s[x]),m+=s[x].length,o[x]=f.length,x===e){l.length=d;break}}f.push(g);var b=new Array(m);for(d=0;d1&&(i=1),i<-1&&(i=-1),(t*n-e*r<0?-1:1)*Math.acos(i)};e.default=function(t){var e=t.px,r=t.py,s=t.cx,l=t.cy,u=t.rx,c=t.ry,f=t.xAxisRotation,h=void 0===f?0:f,p=t.largeArcFlag,d=void 0===p?0:p,v=t.sweepFlag,g=void 0===v?0:v,y=[];if(0===u||0===c)return[];var m=Math.sin(h*n/360),x=Math.cos(h*n/360),b=x*(e-s)/2+m*(r-l)/2,_=-m*(e-s)/2+x*(r-l)/2;if(0===b&&0===_)return[];u=Math.abs(u),c=Math.abs(c);var w=Math.pow(b,2)/Math.pow(u,2)+Math.pow(_,2)/Math.pow(c,2);w>1&&(u*=Math.sqrt(w),c*=Math.sqrt(w));var T=function(t,e,r,i,a,s,l,u,c,f,h,p){var d=Math.pow(a,2),v=Math.pow(s,2),g=Math.pow(h,2),y=Math.pow(p,2),m=d*v-d*y-v*g;m<0&&(m=0),m/=d*y+v*g;var x=(m=Math.sqrt(m)*(l===u?-1:1))*a/s*p,b=m*-s/a*h,_=f*x-c*b+(t+r)/2,w=c*x+f*b+(e+i)/2,T=(h-x)/a,k=(p-b)/s,A=(-h-x)/a,M=(-p-b)/s,S=o(1,0,T,k),E=o(T,k,A,M);return 0===u&&E>0&&(E-=n),1===u&&E<0&&(E+=n),[_,w,S,E]}(e,r,s,l,u,c,d,g,m,x,b,_),k=function(t,e){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return function(t,e){var r=[],n=!0,i=!1,a=void 0;try{for(var o,s=t[Symbol.iterator]();!(n=(o=s.next()).done)&&(r.push(o.value),!e||r.length!==e);n=!0);}catch(t){i=!0,a=t}finally{try{!n&&s.return&&s.return()}finally{if(i)throw a}}return r}(t,e);throw new TypeError(\"Invalid attempt to destructure non-iterable instance\")}(T,4),A=k[0],M=k[1],S=k[2],E=k[3],L=Math.abs(E)/(n/4);Math.abs(1-L)<1e-7&&(L=1);var C=Math.max(Math.ceil(L),1);E/=C;for(var P=0;Pe[2]&&(e[2]=u[c+0]),u[c+1]>e[3]&&(e[3]=u[c+1]);return e}},41976:function(t,e,r){\"use strict\";t.exports=function(t){for(var e,r=[],o=0,s=0,l=0,u=0,c=null,f=null,h=0,p=0,d=0,v=t.length;d4?(o=g[g.length-4],s=g[g.length-3]):(o=h,s=p),r.push(g)}return r};var n=r(92848);function i(t,e,r,n){return[\"C\",t,e,r,n,r,n]}function a(t,e,r,n,i,a){return[\"C\",t/3+2/3*r,e/3+2/3*n,i/3+2/3*r,a/3+2/3*n,i,a]}},20472:function(t,e,r){\"use strict\";var n,i=r(74840),a=r(21984),o=r(22235),s=r(53520),l=r(29620),u=document.createElement(\"canvas\"),c=u.getContext(\"2d\");t.exports=function(t,e){if(!s(t))throw Error(\"Argument should be valid svg path string\");var r,f;e||(e={}),e.shape?(r=e.shape[0],f=e.shape[1]):(r=u.width=e.w||e.width||200,f=u.height=e.h||e.height||200);var h=Math.min(r,f),p=e.stroke||0,d=e.viewbox||e.viewBox||i(t),v=[r/(d[2]-d[0]),f/(d[3]-d[1])],g=Math.min(v[0]||0,v[1]||0)/2;if(c.fillStyle=\"black\",c.fillRect(0,0,r,f),c.fillStyle=\"white\",p&&(\"number\"!=typeof p&&(p=1),c.strokeStyle=p>0?\"white\":\"black\",c.lineWidth=Math.abs(p)),c.translate(.5*r,.5*f),c.scale(g,g),function(){if(null!=n)return n;var t=document.createElement(\"canvas\").getContext(\"2d\");if(t.canvas.width=t.canvas.height=1,!window.Path2D)return n=!1;var e=new Path2D(\"M0,0h1v1h-1v-1Z\");t.fillStyle=\"black\",t.fill(e);var r=t.getImageData(0,0,1,1);return n=r&&r.data&&255===r.data[3]}()){var y=new Path2D(t);c.fill(y),p&&c.stroke(y)}else{var m=a(t);o(c,m),c.fill(),p&&c.stroke()}return c.setTransform(1,0,0,1,0,0),l(c,{cutoff:null!=e.cutoff?e.cutoff:.5,radius:null!=e.radius?e.radius:.5*h})}},49760:function(t,e,r){var n;!function(i){var a=/^\\s+/,o=/\\s+$/,s=0,l=i.round,u=i.min,c=i.max,f=i.random;function h(t,e){if(e=e||{},(t=t||\"\")instanceof h)return t;if(!(this instanceof h))return new h(t,e);var r=function(t){var e,r,n,s={r:0,g:0,b:0},l=1,f=null,h=null,p=null,d=!1,v=!1;return\"string\"==typeof t&&(t=function(t){t=t.replace(a,\"\").replace(o,\"\").toLowerCase();var e,r=!1;if(C[t])t=C[t],r=!0;else if(\"transparent\"==t)return{r:0,g:0,b:0,a:0,format:\"name\"};return(e=q.rgb.exec(t))?{r:e[1],g:e[2],b:e[3]}:(e=q.rgba.exec(t))?{r:e[1],g:e[2],b:e[3],a:e[4]}:(e=q.hsl.exec(t))?{h:e[1],s:e[2],l:e[3]}:(e=q.hsla.exec(t))?{h:e[1],s:e[2],l:e[3],a:e[4]}:(e=q.hsv.exec(t))?{h:e[1],s:e[2],v:e[3]}:(e=q.hsva.exec(t))?{h:e[1],s:e[2],v:e[3],a:e[4]}:(e=q.hex8.exec(t))?{r:D(e[1]),g:D(e[2]),b:D(e[3]),a:N(e[4]),format:r?\"name\":\"hex8\"}:(e=q.hex6.exec(t))?{r:D(e[1]),g:D(e[2]),b:D(e[3]),format:r?\"name\":\"hex\"}:(e=q.hex4.exec(t))?{r:D(e[1]+\"\"+e[1]),g:D(e[2]+\"\"+e[2]),b:D(e[3]+\"\"+e[3]),a:N(e[4]+\"\"+e[4]),format:r?\"name\":\"hex8\"}:!!(e=q.hex3.exec(t))&&{r:D(e[1]+\"\"+e[1]),g:D(e[2]+\"\"+e[2]),b:D(e[3]+\"\"+e[3]),format:r?\"name\":\"hex\"}}(t)),\"object\"==typeof t&&(H(t.r)&&H(t.g)&&H(t.b)?(e=t.r,r=t.g,n=t.b,s={r:255*I(e,255),g:255*I(r,255),b:255*I(n,255)},d=!0,v=\"%\"===String(t.r).substr(-1)?\"prgb\":\"rgb\"):H(t.h)&&H(t.s)&&H(t.v)?(f=F(t.s),h=F(t.v),s=function(t,e,r){t=6*I(t,360),e=I(e,100),r=I(r,100);var n=i.floor(t),a=t-n,o=r*(1-e),s=r*(1-a*e),l=r*(1-(1-a)*e),u=n%6;return{r:255*[r,s,o,o,l,r][u],g:255*[l,r,r,s,o,o][u],b:255*[o,o,l,r,r,s][u]}}(t.h,f,h),d=!0,v=\"hsv\"):H(t.h)&&H(t.s)&&H(t.l)&&(f=F(t.s),p=F(t.l),s=function(t,e,r){var n,i,a;function o(t,e,r){return r<0&&(r+=1),r>1&&(r-=1),r<1/6?t+6*(e-t)*r:r<.5?e:r<2/3?t+(e-t)*(2/3-r)*6:t}if(t=I(t,360),e=I(e,100),r=I(r,100),0===e)n=i=a=r;else{var s=r<.5?r*(1+e):r+e-r*e,l=2*r-s;n=o(l,s,t+1/3),i=o(l,s,t),a=o(l,s,t-1/3)}return{r:255*n,g:255*i,b:255*a}}(t.h,f,p),d=!0,v=\"hsl\"),t.hasOwnProperty(\"a\")&&(l=t.a)),l=O(l),{ok:d,format:t.format||v,r:u(255,c(s.r,0)),g:u(255,c(s.g,0)),b:u(255,c(s.b,0)),a:l}}(t);this._originalInput=t,this._r=r.r,this._g=r.g,this._b=r.b,this._a=r.a,this._roundA=l(100*this._a)/100,this._format=e.format||r.format,this._gradientType=e.gradientType,this._r<1&&(this._r=l(this._r)),this._g<1&&(this._g=l(this._g)),this._b<1&&(this._b=l(this._b)),this._ok=r.ok,this._tc_id=s++}function p(t,e,r){t=I(t,255),e=I(e,255),r=I(r,255);var n,i,a=c(t,e,r),o=u(t,e,r),s=(a+o)/2;if(a==o)n=i=0;else{var l=a-o;switch(i=s>.5?l/(2-a-o):l/(a+o),a){case t:n=(e-r)/l+(e>1)+720)%360;--e;)n.h=(n.h+i)%360,a.push(h(n));return a}function L(t,e){e=e||6;for(var r=h(t).toHsv(),n=r.h,i=r.s,a=r.v,o=[],s=1/e;e--;)o.push(h({h:n,s:i,v:a})),a=(a+s)%1;return o}h.prototype={isDark:function(){return this.getBrightness()<128},isLight:function(){return!this.isDark()},isValid:function(){return this._ok},getOriginalInput:function(){return this._originalInput},getFormat:function(){return this._format},getAlpha:function(){return this._a},getBrightness:function(){var t=this.toRgb();return(299*t.r+587*t.g+114*t.b)/1e3},getLuminance:function(){var t,e,r,n=this.toRgb();return t=n.r/255,e=n.g/255,r=n.b/255,.2126*(t<=.03928?t/12.92:i.pow((t+.055)/1.055,2.4))+.7152*(e<=.03928?e/12.92:i.pow((e+.055)/1.055,2.4))+.0722*(r<=.03928?r/12.92:i.pow((r+.055)/1.055,2.4))},setAlpha:function(t){return this._a=O(t),this._roundA=l(100*this._a)/100,this},toHsv:function(){var t=d(this._r,this._g,this._b);return{h:360*t.h,s:t.s,v:t.v,a:this._a}},toHsvString:function(){var t=d(this._r,this._g,this._b),e=l(360*t.h),r=l(100*t.s),n=l(100*t.v);return 1==this._a?\"hsv(\"+e+\", \"+r+\"%, \"+n+\"%)\":\"hsva(\"+e+\", \"+r+\"%, \"+n+\"%, \"+this._roundA+\")\"},toHsl:function(){var t=p(this._r,this._g,this._b);return{h:360*t.h,s:t.s,l:t.l,a:this._a}},toHslString:function(){var t=p(this._r,this._g,this._b),e=l(360*t.h),r=l(100*t.s),n=l(100*t.l);return 1==this._a?\"hsl(\"+e+\", \"+r+\"%, \"+n+\"%)\":\"hsla(\"+e+\", \"+r+\"%, \"+n+\"%, \"+this._roundA+\")\"},toHex:function(t){return v(this._r,this._g,this._b,t)},toHexString:function(t){return\"#\"+this.toHex(t)},toHex8:function(t){return function(t,e,r,n,i){var a=[R(l(t).toString(16)),R(l(e).toString(16)),R(l(r).toString(16)),R(B(n))];return i&&a[0].charAt(0)==a[0].charAt(1)&&a[1].charAt(0)==a[1].charAt(1)&&a[2].charAt(0)==a[2].charAt(1)&&a[3].charAt(0)==a[3].charAt(1)?a[0].charAt(0)+a[1].charAt(0)+a[2].charAt(0)+a[3].charAt(0):a.join(\"\")}(this._r,this._g,this._b,this._a,t)},toHex8String:function(t){return\"#\"+this.toHex8(t)},toRgb:function(){return{r:l(this._r),g:l(this._g),b:l(this._b),a:this._a}},toRgbString:function(){return 1==this._a?\"rgb(\"+l(this._r)+\", \"+l(this._g)+\", \"+l(this._b)+\")\":\"rgba(\"+l(this._r)+\", \"+l(this._g)+\", \"+l(this._b)+\", \"+this._roundA+\")\"},toPercentageRgb:function(){return{r:l(100*I(this._r,255))+\"%\",g:l(100*I(this._g,255))+\"%\",b:l(100*I(this._b,255))+\"%\",a:this._a}},toPercentageRgbString:function(){return 1==this._a?\"rgb(\"+l(100*I(this._r,255))+\"%, \"+l(100*I(this._g,255))+\"%, \"+l(100*I(this._b,255))+\"%)\":\"rgba(\"+l(100*I(this._r,255))+\"%, \"+l(100*I(this._g,255))+\"%, \"+l(100*I(this._b,255))+\"%, \"+this._roundA+\")\"},toName:function(){return 0===this._a?\"transparent\":!(this._a<1)&&(P[v(this._r,this._g,this._b,!0)]||!1)},toFilter:function(t){var e=\"#\"+g(this._r,this._g,this._b,this._a),r=e,n=this._gradientType?\"GradientType = 1, \":\"\";if(t){var i=h(t);r=\"#\"+g(i._r,i._g,i._b,i._a)}return\"progid:DXImageTransform.Microsoft.gradient(\"+n+\"startColorstr=\"+e+\",endColorstr=\"+r+\")\"},toString:function(t){var e=!!t;t=t||this._format;var r=!1,n=this._a<1&&this._a>=0;return e||!n||\"hex\"!==t&&\"hex6\"!==t&&\"hex3\"!==t&&\"hex4\"!==t&&\"hex8\"!==t&&\"name\"!==t?(\"rgb\"===t&&(r=this.toRgbString()),\"prgb\"===t&&(r=this.toPercentageRgbString()),\"hex\"!==t&&\"hex6\"!==t||(r=this.toHexString()),\"hex3\"===t&&(r=this.toHexString(!0)),\"hex4\"===t&&(r=this.toHex8String(!0)),\"hex8\"===t&&(r=this.toHex8String()),\"name\"===t&&(r=this.toName()),\"hsl\"===t&&(r=this.toHslString()),\"hsv\"===t&&(r=this.toHsvString()),r||this.toHexString()):\"name\"===t&&0===this._a?this.toName():this.toRgbString()},clone:function(){return h(this.toString())},_applyModification:function(t,e){var r=t.apply(null,[this].concat([].slice.call(e)));return this._r=r._r,this._g=r._g,this._b=r._b,this.setAlpha(r._a),this},lighten:function(){return this._applyModification(b,arguments)},brighten:function(){return this._applyModification(_,arguments)},darken:function(){return this._applyModification(w,arguments)},desaturate:function(){return this._applyModification(y,arguments)},saturate:function(){return this._applyModification(m,arguments)},greyscale:function(){return this._applyModification(x,arguments)},spin:function(){return this._applyModification(T,arguments)},_applyCombination:function(t,e){return t.apply(null,[this].concat([].slice.call(e)))},analogous:function(){return this._applyCombination(E,arguments)},complement:function(){return this._applyCombination(k,arguments)},monochromatic:function(){return this._applyCombination(L,arguments)},splitcomplement:function(){return this._applyCombination(S,arguments)},triad:function(){return this._applyCombination(A,arguments)},tetrad:function(){return this._applyCombination(M,arguments)}},h.fromRatio=function(t,e){if(\"object\"==typeof t){var r={};for(var n in t)t.hasOwnProperty(n)&&(r[n]=\"a\"===n?t[n]:F(t[n]));t=r}return h(t,e)},h.equals=function(t,e){return!(!t||!e)&&h(t).toRgbString()==h(e).toRgbString()},h.random=function(){return h.fromRatio({r:f(),g:f(),b:f()})},h.mix=function(t,e,r){r=0===r?0:r||50;var n=h(t).toRgb(),i=h(e).toRgb(),a=r/100;return h({r:(i.r-n.r)*a+n.r,g:(i.g-n.g)*a+n.g,b:(i.b-n.b)*a+n.b,a:(i.a-n.a)*a+n.a})},h.readability=function(t,e){var r=h(t),n=h(e);return(i.max(r.getLuminance(),n.getLuminance())+.05)/(i.min(r.getLuminance(),n.getLuminance())+.05)},h.isReadable=function(t,e,r){var n,i,a,o,s,l=h.readability(t,e);switch(i=!1,(a=r,\"AA\"!==(o=((a=a||{level:\"AA\",size:\"small\"}).level||\"AA\").toUpperCase())&&\"AAA\"!==o&&(o=\"AA\"),\"small\"!==(s=(a.size||\"small\").toLowerCase())&&\"large\"!==s&&(s=\"small\"),n={level:o,size:s}).level+n.size){case\"AAsmall\":case\"AAAlarge\":i=l>=4.5;break;case\"AAlarge\":i=l>=3;break;case\"AAAsmall\":i=l>=7}return i},h.mostReadable=function(t,e,r){var n,i,a,o,s=null,l=0;i=(r=r||{}).includeFallbackColors,a=r.level,o=r.size;for(var u=0;ul&&(l=n,s=h(e[u]));return h.isReadable(t,s,{level:a,size:o})||!i?s:(r.includeFallbackColors=!1,h.mostReadable(t,[\"#fff\",\"#000\"],r))};var C=h.names={aliceblue:\"f0f8ff\",antiquewhite:\"faebd7\",aqua:\"0ff\",aquamarine:\"7fffd4\",azure:\"f0ffff\",beige:\"f5f5dc\",bisque:\"ffe4c4\",black:\"000\",blanchedalmond:\"ffebcd\",blue:\"00f\",blueviolet:\"8a2be2\",brown:\"a52a2a\",burlywood:\"deb887\",burntsienna:\"ea7e5d\",cadetblue:\"5f9ea0\",chartreuse:\"7fff00\",chocolate:\"d2691e\",coral:\"ff7f50\",cornflowerblue:\"6495ed\",cornsilk:\"fff8dc\",crimson:\"dc143c\",cyan:\"0ff\",darkblue:\"00008b\",darkcyan:\"008b8b\",darkgoldenrod:\"b8860b\",darkgray:\"a9a9a9\",darkgreen:\"006400\",darkgrey:\"a9a9a9\",darkkhaki:\"bdb76b\",darkmagenta:\"8b008b\",darkolivegreen:\"556b2f\",darkorange:\"ff8c00\",darkorchid:\"9932cc\",darkred:\"8b0000\",darksalmon:\"e9967a\",darkseagreen:\"8fbc8f\",darkslateblue:\"483d8b\",darkslategray:\"2f4f4f\",darkslategrey:\"2f4f4f\",darkturquoise:\"00ced1\",darkviolet:\"9400d3\",deeppink:\"ff1493\",deepskyblue:\"00bfff\",dimgray:\"696969\",dimgrey:\"696969\",dodgerblue:\"1e90ff\",firebrick:\"b22222\",floralwhite:\"fffaf0\",forestgreen:\"228b22\",fuchsia:\"f0f\",gainsboro:\"dcdcdc\",ghostwhite:\"f8f8ff\",gold:\"ffd700\",goldenrod:\"daa520\",gray:\"808080\",green:\"008000\",greenyellow:\"adff2f\",grey:\"808080\",honeydew:\"f0fff0\",hotpink:\"ff69b4\",indianred:\"cd5c5c\",indigo:\"4b0082\",ivory:\"fffff0\",khaki:\"f0e68c\",lavender:\"e6e6fa\",lavenderblush:\"fff0f5\",lawngreen:\"7cfc00\",lemonchiffon:\"fffacd\",lightblue:\"add8e6\",lightcoral:\"f08080\",lightcyan:\"e0ffff\",lightgoldenrodyellow:\"fafad2\",lightgray:\"d3d3d3\",lightgreen:\"90ee90\",lightgrey:\"d3d3d3\",lightpink:\"ffb6c1\",lightsalmon:\"ffa07a\",lightseagreen:\"20b2aa\",lightskyblue:\"87cefa\",lightslategray:\"789\",lightslategrey:\"789\",lightsteelblue:\"b0c4de\",lightyellow:\"ffffe0\",lime:\"0f0\",limegreen:\"32cd32\",linen:\"faf0e6\",magenta:\"f0f\",maroon:\"800000\",mediumaquamarine:\"66cdaa\",mediumblue:\"0000cd\",mediumorchid:\"ba55d3\",mediumpurple:\"9370db\",mediumseagreen:\"3cb371\",mediumslateblue:\"7b68ee\",mediumspringgreen:\"00fa9a\",mediumturquoise:\"48d1cc\",mediumvioletred:\"c71585\",midnightblue:\"191970\",mintcream:\"f5fffa\",mistyrose:\"ffe4e1\",moccasin:\"ffe4b5\",navajowhite:\"ffdead\",navy:\"000080\",oldlace:\"fdf5e6\",olive:\"808000\",olivedrab:\"6b8e23\",orange:\"ffa500\",orangered:\"ff4500\",orchid:\"da70d6\",palegoldenrod:\"eee8aa\",palegreen:\"98fb98\",paleturquoise:\"afeeee\",palevioletred:\"db7093\",papayawhip:\"ffefd5\",peachpuff:\"ffdab9\",peru:\"cd853f\",pink:\"ffc0cb\",plum:\"dda0dd\",powderblue:\"b0e0e6\",purple:\"800080\",rebeccapurple:\"663399\",red:\"f00\",rosybrown:\"bc8f8f\",royalblue:\"4169e1\",saddlebrown:\"8b4513\",salmon:\"fa8072\",sandybrown:\"f4a460\",seagreen:\"2e8b57\",seashell:\"fff5ee\",sienna:\"a0522d\",silver:\"c0c0c0\",skyblue:\"87ceeb\",slateblue:\"6a5acd\",slategray:\"708090\",slategrey:\"708090\",snow:\"fffafa\",springgreen:\"00ff7f\",steelblue:\"4682b4\",tan:\"d2b48c\",teal:\"008080\",thistle:\"d8bfd8\",tomato:\"ff6347\",turquoise:\"40e0d0\",violet:\"ee82ee\",wheat:\"f5deb3\",white:\"fff\",whitesmoke:\"f5f5f5\",yellow:\"ff0\",yellowgreen:\"9acd32\"},P=h.hexNames=function(t){var e={};for(var r in t)t.hasOwnProperty(r)&&(e[t[r]]=r);return e}(C);function O(t){return t=parseFloat(t),(isNaN(t)||t<0||t>1)&&(t=1),t}function I(t,e){(function(t){return\"string\"==typeof t&&-1!=t.indexOf(\".\")&&1===parseFloat(t)})(t)&&(t=\"100%\");var r=function(t){return\"string\"==typeof t&&-1!=t.indexOf(\"%\")}(t);return t=u(e,c(0,parseFloat(t))),r&&(t=parseInt(t*e,10)/100),i.abs(t-e)<1e-6?1:t%e/parseFloat(e)}function z(t){return u(1,c(0,t))}function D(t){return parseInt(t,16)}function R(t){return 1==t.length?\"0\"+t:\"\"+t}function F(t){return t<=1&&(t=100*t+\"%\"),t}function B(t){return i.round(255*parseFloat(t)).toString(16)}function N(t){return D(t)/255}var j,U,V,q=(U=\"[\\\\s|\\\\(]+(\"+(j=\"(?:[-\\\\+]?\\\\d*\\\\.\\\\d+%?)|(?:[-\\\\+]?\\\\d+%?)\")+\")[,|\\\\s]+(\"+j+\")[,|\\\\s]+(\"+j+\")\\\\s*\\\\)?\",V=\"[\\\\s|\\\\(]+(\"+j+\")[,|\\\\s]+(\"+j+\")[,|\\\\s]+(\"+j+\")[,|\\\\s]+(\"+j+\")\\\\s*\\\\)?\",{CSS_UNIT:new RegExp(j),rgb:new RegExp(\"rgb\"+U),rgba:new RegExp(\"rgba\"+V),hsl:new RegExp(\"hsl\"+U),hsla:new RegExp(\"hsla\"+V),hsv:new RegExp(\"hsv\"+U),hsva:new RegExp(\"hsva\"+V),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/});function H(t){return!!q.CSS_UNIT.exec(t)}t.exports?t.exports=h:void 0===(n=function(){return h}.call(e,r,e,t))||(t.exports=n)}(Math)},37816:function(t){\"use strict\";t.exports=r,t.exports.float32=t.exports.float=r,t.exports.fract32=t.exports.fract=function(t,e){if(t.length){if(t instanceof Float32Array)return new Float32Array(t.length);e instanceof Float32Array||(e=r(t));for(var n=0,i=e.length;n\":(e.length>100&&(e=e.slice(0,99)+\"…\"),e=e.replace(i,(function(t){switch(t){case\"\\n\":return\"\\\\n\";case\"\\r\":return\"\\\\r\";case\"\\u2028\":return\"\\\\u2028\";case\"\\u2029\":return\"\\\\u2029\";default:throw new Error(\"Unexpected character\")}})))}},7328:function(t,e,r){\"use strict\";var n=r(81680),i={object:!0,function:!0,undefined:!0};t.exports=function(t){return!!n(t)&&hasOwnProperty.call(i,typeof t)}},87396:function(t,e,r){\"use strict\";var n=r(57980),i=r(85488);t.exports=function(t){return i(t)?t:n(t,\"%v is not a plain function\",arguments[1])}},85488:function(t,e,r){\"use strict\";var n=r(73384),i=/^\\s*class[\\s{/}]/,a=Function.prototype.toString;t.exports=function(t){return!!n(t)&&!i.test(a.call(t))}},54612:function(t,e,r){\"use strict\";var n=r(7328);t.exports=function(t){if(!n(t))return!1;try{return!!t.constructor&&t.constructor.prototype===t}catch(t){return!1}}},33940:function(t,e,r){\"use strict\";var n=r(81680),i=r(7328),a=Object.prototype.toString;t.exports=function(t){if(!n(t))return null;if(i(t)){var e=t.toString;if(\"function\"!=typeof e)return null;if(e===a)return null}try{return\"\"+t}catch(t){return null}}},18496:function(t,e,r){\"use strict\";var n=r(57980),i=r(81680);t.exports=function(t){return i(t)?t:n(t,\"Cannot use %v\",arguments[1])}},81680:function(t){\"use strict\";t.exports=function(t){return null!=t}},14144:function(t,e,r){\"use strict\";var n=r(308),i=r(10352),a=r(33576).Buffer;r.g.__TYPEDARRAY_POOL||(r.g.__TYPEDARRAY_POOL={UINT8:i([32,0]),UINT16:i([32,0]),UINT32:i([32,0]),BIGUINT64:i([32,0]),INT8:i([32,0]),INT16:i([32,0]),INT32:i([32,0]),BIGINT64:i([32,0]),FLOAT:i([32,0]),DOUBLE:i([32,0]),DATA:i([32,0]),UINT8C:i([32,0]),BUFFER:i([32,0])});var o=\"undefined\"!=typeof Uint8ClampedArray,s=\"undefined\"!=typeof BigUint64Array,l=\"undefined\"!=typeof BigInt64Array,u=r.g.__TYPEDARRAY_POOL;u.UINT8C||(u.UINT8C=i([32,0])),u.BIGUINT64||(u.BIGUINT64=i([32,0])),u.BIGINT64||(u.BIGINT64=i([32,0])),u.BUFFER||(u.BUFFER=i([32,0]));var c=u.DATA,f=u.BUFFER;function h(t){if(t){var e=t.length||t.byteLength,r=n.log2(e);c[r].push(t)}}function p(t){t=n.nextPow2(t);var e=n.log2(t),r=c[e];return r.length>0?r.pop():new ArrayBuffer(t)}function d(t){return new Uint8Array(p(t),0,t)}function v(t){return new Uint16Array(p(2*t),0,t)}function g(t){return new Uint32Array(p(4*t),0,t)}function y(t){return new Int8Array(p(t),0,t)}function m(t){return new Int16Array(p(2*t),0,t)}function x(t){return new Int32Array(p(4*t),0,t)}function b(t){return new Float32Array(p(4*t),0,t)}function _(t){return new Float64Array(p(8*t),0,t)}function w(t){return o?new Uint8ClampedArray(p(t),0,t):d(t)}function T(t){return s?new BigUint64Array(p(8*t),0,t):null}function k(t){return l?new BigInt64Array(p(8*t),0,t):null}function A(t){return new DataView(p(t),0,t)}function M(t){t=n.nextPow2(t);var e=n.log2(t),r=f[e];return r.length>0?r.pop():new a(t)}e.free=function(t){if(a.isBuffer(t))f[n.log2(t.length)].push(t);else{if(\"[object ArrayBuffer]\"!==Object.prototype.toString.call(t)&&(t=t.buffer),!t)return;var e=t.length||t.byteLength,r=0|n.log2(e);c[r].push(t)}},e.freeUint8=e.freeUint16=e.freeUint32=e.freeBigUint64=e.freeInt8=e.freeInt16=e.freeInt32=e.freeBigInt64=e.freeFloat32=e.freeFloat=e.freeFloat64=e.freeDouble=e.freeUint8Clamped=e.freeDataView=function(t){h(t.buffer)},e.freeArrayBuffer=h,e.freeBuffer=function(t){f[n.log2(t.length)].push(t)},e.malloc=function(t,e){if(void 0===e||\"arraybuffer\"===e)return p(t);switch(e){case\"uint8\":return d(t);case\"uint16\":return v(t);case\"uint32\":return g(t);case\"int8\":return y(t);case\"int16\":return m(t);case\"int32\":return x(t);case\"float\":case\"float32\":return b(t);case\"double\":case\"float64\":return _(t);case\"uint8_clamped\":return w(t);case\"bigint64\":return k(t);case\"biguint64\":return T(t);case\"buffer\":return M(t);case\"data\":case\"dataview\":return A(t);default:return null}return null},e.mallocArrayBuffer=p,e.mallocUint8=d,e.mallocUint16=v,e.mallocUint32=g,e.mallocInt8=y,e.mallocInt16=m,e.mallocInt32=x,e.mallocFloat32=e.mallocFloat=b,e.mallocFloat64=e.mallocDouble=_,e.mallocUint8Clamped=w,e.mallocBigUint64=T,e.mallocBigInt64=k,e.mallocDataView=A,e.mallocBuffer=M,e.clearCache=function(){for(var t=0;t<32;++t)u.UINT8[t].length=0,u.UINT16[t].length=0,u.UINT32[t].length=0,u.INT8[t].length=0,u.INT16[t].length=0,u.INT32[t].length=0,u.FLOAT[t].length=0,u.DOUBLE[t].length=0,u.BIGUINT64[t].length=0,u.BIGINT64[t].length=0,u.UINT8C[t].length=0,c[t].length=0,f[t].length=0}},92384:function(t){var e=/[\\'\\\"]/;t.exports=function(t){return t?(e.test(t.charAt(0))&&(t=t.substr(1)),e.test(t.charAt(t.length-1))&&(t=t.substr(0,t.length-1)),t):\"\"}},45223:function(t){\"use strict\";t.exports=function(t,e,r){Array.isArray(r)||(r=[].slice.call(arguments,2));for(var n=0,i=r.length;n=i)return t;switch(t){case\"%s\":return String(n[r++]);case\"%d\":return Number(n[r++]);case\"%j\":try{return JSON.stringify(n[r++])}catch(t){return\"[Circular]\"}default:return t}})),s=n[r];r=3&&(n.depth=arguments[2]),arguments.length>=4&&(n.colors=arguments[3]),g(r)?n.showHidden=r:r&&e._extend(n,r),b(n.showHidden)&&(n.showHidden=!1),b(n.depth)&&(n.depth=2),b(n.colors)&&(n.colors=!1),b(n.customInspect)&&(n.customInspect=!0),n.colors&&(n.stylize=c),h(n,t,n.depth)}function c(t,e){var r=u.styles[e];return r?\"\u001b[\"+u.colors[r][0]+\"m\"+t+\"\u001b[\"+u.colors[r][1]+\"m\":t}function f(t,e){return t}function h(t,r,n){if(t.customInspect&&r&&A(r.inspect)&&r.inspect!==e.inspect&&(!r.constructor||r.constructor.prototype!==r)){var i=r.inspect(n,t);return x(i)||(i=h(t,i,n)),i}var a=function(t,e){if(b(e))return t.stylize(\"undefined\",\"undefined\");if(x(e)){var r=\"'\"+JSON.stringify(e).replace(/^\"|\"$/g,\"\").replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"')+\"'\";return t.stylize(r,\"string\")}return m(e)?t.stylize(\"\"+e,\"number\"):g(e)?t.stylize(\"\"+e,\"boolean\"):y(e)?t.stylize(\"null\",\"null\"):void 0}(t,r);if(a)return a;var o=Object.keys(r),s=function(t){var e={};return t.forEach((function(t,r){e[t]=!0})),e}(o);if(t.showHidden&&(o=Object.getOwnPropertyNames(r)),k(r)&&(o.indexOf(\"message\")>=0||o.indexOf(\"description\")>=0))return p(r);if(0===o.length){if(A(r)){var l=r.name?\": \"+r.name:\"\";return t.stylize(\"[Function\"+l+\"]\",\"special\")}if(_(r))return t.stylize(RegExp.prototype.toString.call(r),\"regexp\");if(T(r))return t.stylize(Date.prototype.toString.call(r),\"date\");if(k(r))return p(r)}var u,c=\"\",f=!1,w=[\"{\",\"}\"];return v(r)&&(f=!0,w=[\"[\",\"]\"]),A(r)&&(c=\" [Function\"+(r.name?\": \"+r.name:\"\")+\"]\"),_(r)&&(c=\" \"+RegExp.prototype.toString.call(r)),T(r)&&(c=\" \"+Date.prototype.toUTCString.call(r)),k(r)&&(c=\" \"+p(r)),0!==o.length||f&&0!=r.length?n<0?_(r)?t.stylize(RegExp.prototype.toString.call(r),\"regexp\"):t.stylize(\"[Object]\",\"special\"):(t.seen.push(r),u=f?function(t,e,r,n,i){for(var a=[],o=0,s=e.length;o60?r[0]+(\"\"===e?\"\":e+\"\\n \")+\" \"+t.join(\",\\n \")+\" \"+r[1]:r[0]+e+\" \"+t.join(\", \")+\" \"+r[1]}(u,c,w)):w[0]+c+w[1]}function p(t){return\"[\"+Error.prototype.toString.call(t)+\"]\"}function d(t,e,r,n,i,a){var o,s,l;if((l=Object.getOwnPropertyDescriptor(e,i)||{value:e[i]}).get?s=l.set?t.stylize(\"[Getter/Setter]\",\"special\"):t.stylize(\"[Getter]\",\"special\"):l.set&&(s=t.stylize(\"[Setter]\",\"special\")),L(n,i)||(o=\"[\"+i+\"]\"),s||(t.seen.indexOf(l.value)<0?(s=y(r)?h(t,l.value,null):h(t,l.value,r-1)).indexOf(\"\\n\")>-1&&(s=a?s.split(\"\\n\").map((function(t){return\" \"+t})).join(\"\\n\").slice(2):\"\\n\"+s.split(\"\\n\").map((function(t){return\" \"+t})).join(\"\\n\")):s=t.stylize(\"[Circular]\",\"special\")),b(o)){if(a&&i.match(/^\\d+$/))return s;(o=JSON.stringify(\"\"+i)).match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)?(o=o.slice(1,-1),o=t.stylize(o,\"name\")):(o=o.replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"').replace(/(^\"|\"$)/g,\"'\"),o=t.stylize(o,\"string\"))}return o+\": \"+s}function v(t){return Array.isArray(t)}function g(t){return\"boolean\"==typeof t}function y(t){return null===t}function m(t){return\"number\"==typeof t}function x(t){return\"string\"==typeof t}function b(t){return void 0===t}function _(t){return w(t)&&\"[object RegExp]\"===M(t)}function w(t){return\"object\"==typeof t&&null!==t}function T(t){return w(t)&&\"[object Date]\"===M(t)}function k(t){return w(t)&&(\"[object Error]\"===M(t)||t instanceof Error)}function A(t){return\"function\"==typeof t}function M(t){return Object.prototype.toString.call(t)}function S(t){return t<10?\"0\"+t.toString(10):t.toString(10)}e.debuglog=function(t){if(t=t.toUpperCase(),!o[t])if(s.test(t)){var r=n.pid;o[t]=function(){var n=e.format.apply(e,arguments);console.error(\"%s %d: %s\",t,r,n)}}else o[t]=function(){};return o[t]},e.inspect=u,u.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},u.styles={special:\"cyan\",number:\"yellow\",boolean:\"yellow\",undefined:\"grey\",null:\"bold\",string:\"green\",date:\"magenta\",regexp:\"red\"},e.types=r(41088),e.isArray=v,e.isBoolean=g,e.isNull=y,e.isNullOrUndefined=function(t){return null==t},e.isNumber=m,e.isString=x,e.isSymbol=function(t){return\"symbol\"==typeof t},e.isUndefined=b,e.isRegExp=_,e.types.isRegExp=_,e.isObject=w,e.isDate=T,e.types.isDate=T,e.isError=k,e.types.isNativeError=k,e.isFunction=A,e.isPrimitive=function(t){return null===t||\"boolean\"==typeof t||\"number\"==typeof t||\"string\"==typeof t||\"symbol\"==typeof t||void 0===t},e.isBuffer=r(75272);var E=[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"];function L(t,e){return Object.prototype.hasOwnProperty.call(t,e)}e.log=function(){var t,r;console.log(\"%s - %s\",(r=[S((t=new Date).getHours()),S(t.getMinutes()),S(t.getSeconds())].join(\":\"),[t.getDate(),E[t.getMonth()],r].join(\" \")),e.format.apply(e,arguments))},e.inherits=r(6768),e._extend=function(t,e){if(!e||!w(e))return t;for(var r=Object.keys(e),n=r.length;n--;)t[r[n]]=e[r[n]];return t};var C=\"undefined\"!=typeof Symbol?Symbol(\"util.promisify.custom\"):void 0;function P(t,e){if(!t){var r=new Error(\"Promise was rejected with a falsy value\");r.reason=t,t=r}return e(t)}e.promisify=function(t){if(\"function\"!=typeof t)throw new TypeError('The \"original\" argument must be of type Function');if(C&&t[C]){var e;if(\"function\"!=typeof(e=t[C]))throw new TypeError('The \"util.promisify.custom\" argument must be of type Function');return Object.defineProperty(e,C,{value:e,enumerable:!1,writable:!1,configurable:!0}),e}function e(){for(var e,r,n=new Promise((function(t,n){e=t,r=n})),i=[],a=0;a-1?e:\"Object\"===e&&function(t){var e=!1;return n(v,(function(r,n){if(!e)try{r(t),e=h(n,1)}catch(t){}})),e}(t)}return s?function(t){var e=!1;return n(v,(function(r,n){if(!e)try{\"$\"+r(t)===n&&(e=h(n,1))}catch(t){}})),e}(t):null}},67020:function(t,e,r){var n=r(38700),i=r(50896),a=n.instance();function o(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}o.prototype=new n.baseCalendar,i(o.prototype,{name:\"Chinese\",jdEpoch:1721425.5,hasYearZero:!1,minMonth:0,firstMonth:0,minDay:1,regionalOptions:{\"\":{name:\"Chinese\",epochs:[\"BEC\",\"EC\"],monthNumbers:function(t,e){if(\"string\"==typeof t){var r=t.match(l);return r?r[0]:\"\"}var n=this._validateYear(t),i=t.month(),a=\"\"+this.toChineseMonth(n,i);return e&&a.length<2&&(a=\"0\"+a),this.isIntercalaryMonth(n,i)&&(a+=\"i\"),a},monthNames:function(t){if(\"string\"==typeof t){var e=t.match(u);return e?e[0]:\"\"}var r=this._validateYear(t),n=t.month(),i=[\"一月\",\"二月\",\"三月\",\"四月\",\"五月\",\"六月\",\"七月\",\"八月\",\"九月\",\"十月\",\"十一月\",\"十二月\"][this.toChineseMonth(r,n)-1];return this.isIntercalaryMonth(r,n)&&(i=\"闰\"+i),i},monthNamesShort:function(t){if(\"string\"==typeof t){var e=t.match(c);return e?e[0]:\"\"}var r=this._validateYear(t),n=t.month(),i=[\"一\",\"二\",\"三\",\"四\",\"五\",\"六\",\"七\",\"八\",\"九\",\"十\",\"十一\",\"十二\"][this.toChineseMonth(r,n)-1];return this.isIntercalaryMonth(r,n)&&(i=\"闰\"+i),i},parseMonth:function(t,e){t=this._validateYear(t);var r,n=parseInt(e);if(isNaN(n))\"闰\"===e[0]&&(r=!0,e=e.substring(1)),\"月\"===e[e.length-1]&&(e=e.substring(0,e.length-1)),n=1+[\"一\",\"二\",\"三\",\"四\",\"五\",\"六\",\"七\",\"八\",\"九\",\"十\",\"十一\",\"十二\"].indexOf(e);else{var i=e[e.length-1];r=\"i\"===i||\"I\"===i}return this.toMonthIndex(t,n,r)},dayNames:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],dayNamesShort:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],dayNamesMin:[\"Su\",\"Mo\",\"Tu\",\"We\",\"Th\",\"Fr\",\"Sa\"],digits:null,dateFormat:\"yyyy/mm/dd\",firstDay:1,isRTL:!1}},_validateYear:function(t,e){if(t.year&&(t=t.year()),\"number\"!=typeof t||t<1888||t>2111)throw e.replace(/\\{0\\}/,this.local.name);return t},toMonthIndex:function(t,e,r){var i=this.intercalaryMonth(t);if(r&&e!==i||e<1||e>12)throw n.local.invalidMonth.replace(/\\{0\\}/,this.local.name);return i?!r&&e<=i?e-1:e:e-1},toChineseMonth:function(t,e){t.year&&(e=(t=t.year()).month());var r=this.intercalaryMonth(t);if(e<0||e>(r?12:11))throw n.local.invalidMonth.replace(/\\{0\\}/,this.local.name);return r?e>13},isIntercalaryMonth:function(t,e){t.year&&(e=(t=t.year()).month());var r=this.intercalaryMonth(t);return!!r&&r===e},leapYear:function(t){return 0!==this.intercalaryMonth(t)},weekOfYear:function(t,e,r){var i,o=this._validateYear(t,n.local.invalidyear),s=h[o-h[0]],l=s>>9&4095,u=s>>5&15,c=31&s;(i=a.newDate(l,u,c)).add(4-(i.dayOfWeek()||7),\"d\");var f=this.toJD(t,e,r)-i.toJD();return 1+Math.floor(f/7)},monthsInYear:function(t){return this.leapYear(t)?13:12},daysInMonth:function(t,e){t.year&&(e=t.month(),t=t.year()),t=this._validateYear(t);var r=f[t-f[0]];if(e>(r>>13?12:11))throw n.local.invalidMonth.replace(/\\{0\\}/,this.local.name);return r&1<<12-e?30:29},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,s,r,n.local.invalidDate);t=this._validateYear(i.year()),e=i.month(),r=i.day();var o=this.isIntercalaryMonth(t,e),s=this.toChineseMonth(t,e),l=function(t,e,r,n,i){var a,o,s;if(\"object\"==typeof t)o=t,a=e||{};else{var l;if(!(\"number\"==typeof t&&t>=1888&&t<=2111))throw new Error(\"Lunar year outside range 1888-2111\");if(!(\"number\"==typeof e&&e>=1&&e<=12))throw new Error(\"Lunar month outside range 1 - 12\");if(!(\"number\"==typeof r&&r>=1&&r<=30))throw new Error(\"Lunar day outside range 1 - 30\");\"object\"==typeof n?(l=!1,a=n):(l=!!n,a={}),o={year:t,month:e,day:r,isIntercalary:l}}s=o.day-1;var u,c=f[o.year-f[0]],p=c>>13;u=p&&(o.month>p||o.isIntercalary)?o.month:o.month-1;for(var d=0;d>9&4095,(v>>5&15)-1,(31&v)+s);return a.year=g.getFullYear(),a.month=1+g.getMonth(),a.day=g.getDate(),a}(t,s,r,o);return a.toJD(l.year,l.month,l.day)},fromJD:function(t){var e=a.fromJD(t),r=function(t,e,r,n){var i,a;if(\"object\"==typeof t)i=t,a=e||{};else{if(!(\"number\"==typeof t&&t>=1888&&t<=2111))throw new Error(\"Solar year outside range 1888-2111\");if(!(\"number\"==typeof e&&e>=1&&e<=12))throw new Error(\"Solar month outside range 1 - 12\");if(!(\"number\"==typeof r&&r>=1&&r<=31))throw new Error(\"Solar day outside range 1 - 31\");i={year:t,month:e,day:r},a={}}var o=h[i.year-h[0]],s=i.year<<9|i.month<<5|i.day;a.year=s>=o?i.year:i.year-1,o=h[a.year-h[0]];var l,u=new Date(o>>9&4095,(o>>5&15)-1,31&o),c=new Date(i.year,i.month-1,i.day);l=Math.round((c-u)/864e5);var p,d=f[a.year-f[0]];for(p=0;p<13;p++){var v=d&1<<12-p?30:29;if(l>13;return!g||p=2&&n<=6},extraInfo:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return{century:o[Math.floor((i.year()-1)/100)+1]||\"\"}},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return t=i.year()+(i.year()<0?1:0),e=i.month(),(r=i.day())+(e>1?16:0)+(e>2?32*(e-2):0)+400*(t-1)+this.jdEpoch-1},fromJD:function(t){t=Math.floor(t+.5)-Math.floor(this.jdEpoch)-1;var e=Math.floor(t/400)+1;t-=400*(e-1),t+=t>15?16:0;var r=Math.floor(t/32)+1,n=t-32*(r-1)+1;return this.newDate(e<=0?e-1:e,r,n)}});var o={20:\"Fruitbat\",21:\"Anchovy\"};n.calendars.discworld=a},65168:function(t,e,r){var n=r(38700),i=r(50896);function a(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}a.prototype=new n.baseCalendar,i(a.prototype,{name:\"Ethiopian\",jdEpoch:1724220.5,daysPerMonth:[30,30,30,30,30,30,30,30,30,30,30,30,5],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Ethiopian\",epochs:[\"BEE\",\"EE\"],monthNames:[\"Meskerem\",\"Tikemet\",\"Hidar\",\"Tahesas\",\"Tir\",\"Yekatit\",\"Megabit\",\"Miazia\",\"Genbot\",\"Sene\",\"Hamle\",\"Nehase\",\"Pagume\"],monthNamesShort:[\"Mes\",\"Tik\",\"Hid\",\"Tah\",\"Tir\",\"Yek\",\"Meg\",\"Mia\",\"Gen\",\"Sen\",\"Ham\",\"Neh\",\"Pag\"],dayNames:[\"Ehud\",\"Segno\",\"Maksegno\",\"Irob\",\"Hamus\",\"Arb\",\"Kidame\"],dayNamesShort:[\"Ehu\",\"Seg\",\"Mak\",\"Iro\",\"Ham\",\"Arb\",\"Kid\"],dayNamesMin:[\"Eh\",\"Se\",\"Ma\",\"Ir\",\"Ha\",\"Ar\",\"Ki\"],digits:null,dateFormat:\"dd/mm/yyyy\",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return(t=e.year()+(e.year()<0?1:0))%4==3||t%4==-1},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear||n.regionalOptions[\"\"].invalidYear),13},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(13===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return(t=i.year())<0&&t++,i.day()+30*(i.month()-1)+365*(t-1)+Math.floor(t/4)+this.jdEpoch-1},fromJD:function(t){var e=Math.floor(t)+.5-this.jdEpoch,r=Math.floor((e-Math.floor((e+366)/1461))/365)+1;r<=0&&r--,e=Math.floor(t)+.5-this.newDate(r,1,1).toJD();var n=Math.floor(e/30)+1,i=e-30*(n-1)+1;return this.newDate(r,n,i)}}),n.calendars.ethiopian=a},2084:function(t,e,r){var n=r(38700),i=r(50896);function a(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}function o(t,e){return t-e*Math.floor(t/e)}a.prototype=new n.baseCalendar,i(a.prototype,{name:\"Hebrew\",jdEpoch:347995.5,daysPerMonth:[30,29,30,29,30,29,30,29,30,29,30,29,29],hasYearZero:!1,minMonth:1,firstMonth:7,minDay:1,regionalOptions:{\"\":{name:\"Hebrew\",epochs:[\"BAM\",\"AM\"],monthNames:[\"Nisan\",\"Iyar\",\"Sivan\",\"Tammuz\",\"Av\",\"Elul\",\"Tishrei\",\"Cheshvan\",\"Kislev\",\"Tevet\",\"Shevat\",\"Adar\",\"Adar II\"],monthNamesShort:[\"Nis\",\"Iya\",\"Siv\",\"Tam\",\"Av\",\"Elu\",\"Tis\",\"Che\",\"Kis\",\"Tev\",\"She\",\"Ada\",\"Ad2\"],dayNames:[\"Yom Rishon\",\"Yom Sheni\",\"Yom Shlishi\",\"Yom Revi'i\",\"Yom Chamishi\",\"Yom Shishi\",\"Yom Shabbat\"],dayNamesShort:[\"Ris\",\"She\",\"Shl\",\"Rev\",\"Cha\",\"Shi\",\"Sha\"],dayNamesMin:[\"Ri\",\"She\",\"Shl\",\"Re\",\"Ch\",\"Shi\",\"Sha\"],digits:null,dateFormat:\"dd/mm/yyyy\",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return this._leapYear(e.year())},_leapYear:function(t){return o(7*(t=t<0?t+1:t)+1,19)<7},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),this._leapYear(t.year?t.year():t)?13:12},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){return t=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear).year(),this.toJD(-1===t?1:t+1,7,1)-this.toJD(t,7,1)},daysInMonth:function(t,e){return t.year&&(e=t.month(),t=t.year()),this._validate(t,e,this.minDay,n.local.invalidMonth),12===e&&this.leapYear(t)||8===e&&5===o(this.daysInYear(t),10)?30:9===e&&3===o(this.daysInYear(t),10)?29:this.daysPerMonth[e-1]},weekDay:function(t,e,r){return 6!==this.dayOfWeek(t,e,r)},extraInfo:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return{yearType:(this.leapYear(i)?\"embolismic\":\"common\")+\" \"+[\"deficient\",\"regular\",\"complete\"][this.daysInYear(i)%10-3]}},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);t=i.year(),e=i.month(),r=i.day();var a=t<=0?t+1:t,o=this.jdEpoch+this._delay1(a)+this._delay2(a)+r+1;if(e<7){for(var s=7;s<=this.monthsInYear(t);s++)o+=this.daysInMonth(t,s);for(s=1;s=this.toJD(-1===e?1:e+1,7,1);)e++;for(var r=tthis.toJD(e,r,this.daysInMonth(e,r));)r++;var n=t-this.toJD(e,r,1)+1;return this.newDate(e,r,n)}}),n.calendars.hebrew=a},26368:function(t,e,r){var n=r(38700),i=r(50896);function a(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}a.prototype=new n.baseCalendar,i(a.prototype,{name:\"Islamic\",jdEpoch:1948439.5,daysPerMonth:[30,29,30,29,30,29,30,29,30,29,30,29],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Islamic\",epochs:[\"BH\",\"AH\"],monthNames:[\"Muharram\",\"Safar\",\"Rabi' al-awwal\",\"Rabi' al-thani\",\"Jumada al-awwal\",\"Jumada al-thani\",\"Rajab\",\"Sha'aban\",\"Ramadan\",\"Shawwal\",\"Dhu al-Qi'dah\",\"Dhu al-Hijjah\"],monthNamesShort:[\"Muh\",\"Saf\",\"Rab1\",\"Rab2\",\"Jum1\",\"Jum2\",\"Raj\",\"Sha'\",\"Ram\",\"Shaw\",\"DhuQ\",\"DhuH\"],dayNames:[\"Yawm al-ahad\",\"Yawm al-ithnayn\",\"Yawm ath-thulaathaa'\",\"Yawm al-arbi'aa'\",\"Yawm al-khamīs\",\"Yawm al-jum'a\",\"Yawm as-sabt\"],dayNamesShort:[\"Aha\",\"Ith\",\"Thu\",\"Arb\",\"Kha\",\"Jum\",\"Sab\"],dayNamesMin:[\"Ah\",\"It\",\"Th\",\"Ar\",\"Kh\",\"Ju\",\"Sa\"],digits:null,dateFormat:\"yyyy/mm/dd\",firstDay:6,isRTL:!1}},leapYear:function(t){return(11*this._validate(t,this.minMonth,this.minDay,n.local.invalidYear).year()+14)%30<11},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){return this.leapYear(t)?355:354},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(12===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return 5!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return t=i.year(),e=i.month(),t=t<=0?t+1:t,(r=i.day())+Math.ceil(29.5*(e-1))+354*(t-1)+Math.floor((3+11*t)/30)+this.jdEpoch-1},fromJD:function(t){t=Math.floor(t)+.5;var e=Math.floor((30*(t-this.jdEpoch)+10646)/10631);e=e<=0?e-1:e;var r=Math.min(12,Math.ceil((t-29-this.toJD(e,1,1))/29.5)+1),n=t-this.toJD(e,r,1)+1;return this.newDate(e,r,n)}}),n.calendars.islamic=a},24747:function(t,e,r){var n=r(38700),i=r(50896);function a(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}a.prototype=new n.baseCalendar,i(a.prototype,{name:\"Julian\",jdEpoch:1721423.5,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Julian\",epochs:[\"BC\",\"AD\"],monthNames:[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],monthNamesShort:[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"],dayNames:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],dayNamesShort:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],dayNamesMin:[\"Su\",\"Mo\",\"Tu\",\"We\",\"Th\",\"Fr\",\"Sa\"],digits:null,dateFormat:\"mm/dd/yyyy\",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return(t=e.year()<0?e.year()+1:e.year())%4==0},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(4-(n.dayOfWeek()||7),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return t=i.year(),e=i.month(),r=i.day(),t<0&&t++,e<=2&&(t--,e+=12),Math.floor(365.25*(t+4716))+Math.floor(30.6001*(e+1))+r-1524.5},fromJD:function(t){var e=Math.floor(t+.5)+1524,r=Math.floor((e-122.1)/365.25),n=Math.floor(365.25*r),i=Math.floor((e-n)/30.6001),a=i-Math.floor(i<14?1:13),o=r-Math.floor(a>2?4716:4715),s=e-n-Math.floor(30.6001*i);return o<=0&&o--,this.newDate(o,a,s)}}),n.calendars.julian=a},65616:function(t,e,r){var n=r(38700),i=r(50896);function a(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}function o(t,e){return t-e*Math.floor(t/e)}function s(t,e){return o(t-1,e)+1}a.prototype=new n.baseCalendar,i(a.prototype,{name:\"Mayan\",jdEpoch:584282.5,hasYearZero:!0,minMonth:0,firstMonth:0,minDay:0,regionalOptions:{\"\":{name:\"Mayan\",epochs:[\"\",\"\"],monthNames:[\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"11\",\"12\",\"13\",\"14\",\"15\",\"16\",\"17\"],monthNamesShort:[\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"11\",\"12\",\"13\",\"14\",\"15\",\"16\",\"17\"],dayNames:[\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"11\",\"12\",\"13\",\"14\",\"15\",\"16\",\"17\",\"18\",\"19\"],dayNamesShort:[\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"11\",\"12\",\"13\",\"14\",\"15\",\"16\",\"17\",\"18\",\"19\"],dayNamesMin:[\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"11\",\"12\",\"13\",\"14\",\"15\",\"16\",\"17\",\"18\",\"19\"],digits:null,dateFormat:\"YYYY.m.d\",firstDay:0,isRTL:!1,haabMonths:[\"Pop\",\"Uo\",\"Zip\",\"Zotz\",\"Tzec\",\"Xul\",\"Yaxkin\",\"Mol\",\"Chen\",\"Yax\",\"Zac\",\"Ceh\",\"Mac\",\"Kankin\",\"Muan\",\"Pax\",\"Kayab\",\"Cumku\",\"Uayeb\"],tzolkinMonths:[\"Imix\",\"Ik\",\"Akbal\",\"Kan\",\"Chicchan\",\"Cimi\",\"Manik\",\"Lamat\",\"Muluc\",\"Oc\",\"Chuen\",\"Eb\",\"Ben\",\"Ix\",\"Men\",\"Cib\",\"Caban\",\"Etznab\",\"Cauac\",\"Ahau\"]}},leapYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),!1},formatYear:function(t){t=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear).year();var e=Math.floor(t/400);return t%=400,t+=t<0?400:0,e+\".\"+Math.floor(t/20)+\".\"+t%20},forYear:function(t){if((t=t.split(\".\")).length<3)throw\"Invalid Mayan year\";for(var e=0,r=0;r19||r>0&&n<0)throw\"Invalid Mayan year\";e=20*e+n}return e},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),18},weekOfYear:function(t,e,r){return this._validate(t,e,r,n.local.invalidDate),0},daysInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),360},daysInMonth:function(t,e){return this._validate(t,e,this.minDay,n.local.invalidMonth),20},daysInWeek:function(){return 5},dayOfWeek:function(t,e,r){return this._validate(t,e,r,n.local.invalidDate).day()},weekDay:function(t,e,r){return this._validate(t,e,r,n.local.invalidDate),!0},extraInfo:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate).toJD(),a=this._toHaab(i),o=this._toTzolkin(i);return{haabMonthName:this.local.haabMonths[a[0]-1],haabMonth:a[0],haabDay:a[1],tzolkinDayName:this.local.tzolkinMonths[o[0]-1],tzolkinDay:o[0],tzolkinTrecena:o[1]}},_toHaab:function(t){var e=o(8+(t-=this.jdEpoch)+340,365);return[Math.floor(e/20)+1,o(e,20)]},_toTzolkin:function(t){return[s(20+(t-=this.jdEpoch),20),s(t+4,13)]},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return i.day()+20*i.month()+360*i.year()+this.jdEpoch},fromJD:function(t){t=Math.floor(t)+.5-this.jdEpoch;var e=Math.floor(t/360);t%=360,t+=t<0?360:0;var r=Math.floor(t/20),n=t%20;return this.newDate(e,r,n)}}),n.calendars.mayan=a},30632:function(t,e,r){var n=r(38700),i=r(50896);function a(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}a.prototype=new n.baseCalendar;var o=n.instance(\"gregorian\");i(a.prototype,{name:\"Nanakshahi\",jdEpoch:2257673.5,daysPerMonth:[31,31,31,31,31,30,30,30,30,30,30,30],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Nanakshahi\",epochs:[\"BN\",\"AN\"],monthNames:[\"Chet\",\"Vaisakh\",\"Jeth\",\"Harh\",\"Sawan\",\"Bhadon\",\"Assu\",\"Katak\",\"Maghar\",\"Poh\",\"Magh\",\"Phagun\"],monthNamesShort:[\"Che\",\"Vai\",\"Jet\",\"Har\",\"Saw\",\"Bha\",\"Ass\",\"Kat\",\"Mgr\",\"Poh\",\"Mgh\",\"Pha\"],dayNames:[\"Somvaar\",\"Mangalvar\",\"Budhvaar\",\"Veervaar\",\"Shukarvaar\",\"Sanicharvaar\",\"Etvaar\"],dayNamesShort:[\"Som\",\"Mangal\",\"Budh\",\"Veer\",\"Shukar\",\"Sanichar\",\"Et\"],dayNamesMin:[\"So\",\"Ma\",\"Bu\",\"Ve\",\"Sh\",\"Sa\",\"Et\"],digits:null,dateFormat:\"dd-mm-yyyy\",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear||n.regionalOptions[\"\"].invalidYear);return o.leapYear(e.year()+(e.year()<1?1:0)+1469)},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(1-(n.dayOfWeek()||7),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(12===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidMonth);(t=i.year())<0&&t++;for(var a=i.day(),s=1;s=this.toJD(e+1,1,1);)e++;for(var r=t-Math.floor(this.toJD(e,1,1)+.5)+1,n=1;r>this.daysInMonth(e,n);)r-=this.daysInMonth(e,n),n++;return this.newDate(e,n,r)}}),n.calendars.nanakshahi=a},73040:function(t,e,r){var n=r(38700),i=r(50896);function a(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}a.prototype=new n.baseCalendar,i(a.prototype,{name:\"Nepali\",jdEpoch:1700709.5,daysPerMonth:[31,31,32,32,31,30,30,29,30,29,30,30],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,daysPerYear:365,regionalOptions:{\"\":{name:\"Nepali\",epochs:[\"BBS\",\"ABS\"],monthNames:[\"Baisakh\",\"Jestha\",\"Ashadh\",\"Shrawan\",\"Bhadra\",\"Ashwin\",\"Kartik\",\"Mangsir\",\"Paush\",\"Mangh\",\"Falgun\",\"Chaitra\"],monthNamesShort:[\"Bai\",\"Je\",\"As\",\"Shra\",\"Bha\",\"Ash\",\"Kar\",\"Mang\",\"Pau\",\"Ma\",\"Fal\",\"Chai\"],dayNames:[\"Aaitabaar\",\"Sombaar\",\"Manglbaar\",\"Budhabaar\",\"Bihibaar\",\"Shukrabaar\",\"Shanibaar\"],dayNamesShort:[\"Aaita\",\"Som\",\"Mangl\",\"Budha\",\"Bihi\",\"Shukra\",\"Shani\"],dayNamesMin:[\"Aai\",\"So\",\"Man\",\"Bu\",\"Bi\",\"Shu\",\"Sha\"],digits:null,dateFormat:\"dd/mm/yyyy\",firstDay:1,isRTL:!1}},leapYear:function(t){return this.daysInYear(t)!==this.daysPerYear},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){if(t=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear).year(),void 0===this.NEPALI_CALENDAR_DATA[t])return this.daysPerYear;for(var e=0,r=this.minMonth;r<=12;r++)e+=this.NEPALI_CALENDAR_DATA[t][r];return e},daysInMonth:function(t,e){return t.year&&(e=t.month(),t=t.year()),this._validate(t,e,this.minDay,n.local.invalidMonth),void 0===this.NEPALI_CALENDAR_DATA[t]?this.daysPerMonth[e-1]:this.NEPALI_CALENDAR_DATA[t][e]},weekDay:function(t,e,r){return 6!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);t=i.year(),e=i.month(),r=i.day();var a=n.instance(),o=0,s=e,l=t;this._createMissingCalendarData(t);var u=t-(s>9||9===s&&r>=this.NEPALI_CALENDAR_DATA[l][0]?56:57);for(9!==e&&(o=r,s--);9!==s;)s<=0&&(s=12,l--),o+=this.NEPALI_CALENDAR_DATA[l][s],s--;return 9===e?(o+=r-this.NEPALI_CALENDAR_DATA[l][0])<0&&(o+=a.daysInYear(u)):o+=this.NEPALI_CALENDAR_DATA[l][9]-this.NEPALI_CALENDAR_DATA[l][0],a.newDate(u,1,1).add(o,\"d\").toJD()},fromJD:function(t){var e=n.instance().fromJD(t),r=e.year(),i=e.dayOfYear(),a=r+56;this._createMissingCalendarData(a);for(var o=9,s=this.NEPALI_CALENDAR_DATA[a][0],l=this.NEPALI_CALENDAR_DATA[a][o]-s+1;i>l;)++o>12&&(o=1,a++),l+=this.NEPALI_CALENDAR_DATA[a][o];var u=this.NEPALI_CALENDAR_DATA[a][o]-(l-i);return this.newDate(a,o,u)},_createMissingCalendarData:function(t){var e=this.daysPerMonth.slice(0);e.unshift(17);for(var r=t-1;r0?474:473))%2820+474+38)%2816<682},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-(n.dayOfWeek()+1)%7,\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(12===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return 5!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);t=i.year(),e=i.month(),r=i.day();var a=t-(t>=0?474:473),s=474+o(a,2820);return r+(e<=7?31*(e-1):30*(e-1)+6)+Math.floor((682*s-110)/2816)+365*(s-1)+1029983*Math.floor(a/2820)+this.jdEpoch-1},fromJD:function(t){var e=(t=Math.floor(t)+.5)-this.toJD(475,1,1),r=Math.floor(e/1029983),n=o(e,1029983),i=2820;if(1029982!==n){var a=Math.floor(n/366),s=o(n,366);i=Math.floor((2134*a+2816*s+2815)/1028522)+a+1}var l=i+2820*r+474;l=l<=0?l-1:l;var u=t-this.toJD(l,1,1)+1,c=u<=186?Math.ceil(u/31):Math.ceil((u-6)/30),f=t-this.toJD(l,c,1)+1;return this.newDate(l,c,f)}}),n.calendars.persian=a,n.calendars.jalali=a},51456:function(t,e,r){var n=r(38700),i=r(50896),a=n.instance();function o(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}o.prototype=new n.baseCalendar,i(o.prototype,{name:\"Taiwan\",jdEpoch:2419402.5,yearsOffset:1911,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Taiwan\",epochs:[\"BROC\",\"ROC\"],monthNames:[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],monthNamesShort:[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"],dayNames:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],dayNamesShort:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],dayNamesMin:[\"Su\",\"Mo\",\"Tu\",\"We\",\"Th\",\"Fr\",\"Sa\"],digits:null,dateFormat:\"yyyy/mm/dd\",firstDay:1,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return t=this._t2gYear(e.year()),a.leapYear(t)},weekOfYear:function(t,e,r){var i=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return t=this._t2gYear(i.year()),a.weekOfYear(t,i.month(),i.day())},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return t=this._t2gYear(i.year()),a.toJD(t,i.month(),i.day())},fromJD:function(t){var e=a.fromJD(t),r=this._g2tYear(e.year());return this.newDate(r,e.month(),e.day())},_t2gYear:function(t){return t+this.yearsOffset+(t>=-this.yearsOffset&&t<=-1?1:0)},_g2tYear:function(t){return t-this.yearsOffset-(t>=1&&t<=this.yearsOffset?1:0)}}),n.calendars.taiwan=o},4592:function(t,e,r){var n=r(38700),i=r(50896),a=n.instance();function o(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}o.prototype=new n.baseCalendar,i(o.prototype,{name:\"Thai\",jdEpoch:1523098.5,yearsOffset:543,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Thai\",epochs:[\"BBE\",\"BE\"],monthNames:[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],monthNamesShort:[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"],dayNames:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],dayNamesShort:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],dayNamesMin:[\"Su\",\"Mo\",\"Tu\",\"We\",\"Th\",\"Fr\",\"Sa\"],digits:null,dateFormat:\"dd/mm/yyyy\",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return t=this._t2gYear(e.year()),a.leapYear(t)},weekOfYear:function(t,e,r){var i=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return t=this._t2gYear(i.year()),a.weekOfYear(t,i.month(),i.day())},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return t=this._t2gYear(i.year()),a.toJD(t,i.month(),i.day())},fromJD:function(t){var e=a.fromJD(t),r=this._g2tYear(e.year());return this.newDate(r,e.month(),e.day())},_t2gYear:function(t){return t-this.yearsOffset-(t>=1&&t<=this.yearsOffset?1:0)},_g2tYear:function(t){return t+this.yearsOffset+(t>=-this.yearsOffset&&t<=-1?1:0)}}),n.calendars.thai=o},45348:function(t,e,r){var n=r(38700),i=r(50896);function a(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}a.prototype=new n.baseCalendar,i(a.prototype,{name:\"UmmAlQura\",hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Umm al-Qura\",epochs:[\"BH\",\"AH\"],monthNames:[\"Al-Muharram\",\"Safar\",\"Rabi' al-awwal\",\"Rabi' Al-Thani\",\"Jumada Al-Awwal\",\"Jumada Al-Thani\",\"Rajab\",\"Sha'aban\",\"Ramadan\",\"Shawwal\",\"Dhu al-Qi'dah\",\"Dhu al-Hijjah\"],monthNamesShort:[\"Muh\",\"Saf\",\"Rab1\",\"Rab2\",\"Jum1\",\"Jum2\",\"Raj\",\"Sha'\",\"Ram\",\"Shaw\",\"DhuQ\",\"DhuH\"],dayNames:[\"Yawm al-Ahad\",\"Yawm al-Ithnain\",\"Yawm al-Thalāthā’\",\"Yawm al-Arba‘ā’\",\"Yawm al-Khamīs\",\"Yawm al-Jum‘a\",\"Yawm al-Sabt\"],dayNamesMin:[\"Ah\",\"Ith\",\"Th\",\"Ar\",\"Kh\",\"Ju\",\"Sa\"],digits:null,dateFormat:\"yyyy/mm/dd\",firstDay:6,isRTL:!0}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return 355===this.daysInYear(e.year())},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){for(var e=0,r=1;r<=12;r++)e+=this.daysInMonth(t,r);return e},daysInMonth:function(t,e){for(var r=this._validate(t,e,this.minDay,n.local.invalidMonth).toJD()-24e5+.5,i=0,a=0;ar)return o[i]-o[i-1];i++}return 30},weekDay:function(t,e,r){return 5!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate),a=12*(i.year()-1)+i.month()-15292;return i.day()+o[a-1]-1+24e5-.5},fromJD:function(t){for(var e=t-24e5+.5,r=0,n=0;ne);n++)r++;var i=r+15292,a=Math.floor((i-1)/12),s=a+1,l=i-12*a,u=e-o[r-1]+1;return this.newDate(s,l,u)},isValid:function(t,e,r){var i=n.baseCalendar.prototype.isValid.apply(this,arguments);return i&&(i=(t=null!=t.year?t.year:t)>=1276&&t<=1500),i},_validate:function(t,e,r,i){var a=n.baseCalendar.prototype._validate.apply(this,arguments);if(a.year<1276||a.year>1500)throw i.replace(/\\{0\\}/,this.local.name);return a}}),n.calendars.ummalqura=a;var o=[20,50,79,109,138,168,197,227,256,286,315,345,374,404,433,463,492,522,551,581,611,641,670,700,729,759,788,818,847,877,906,936,965,995,1024,1054,1083,1113,1142,1172,1201,1231,1260,1290,1320,1350,1379,1409,1438,1468,1497,1527,1556,1586,1615,1645,1674,1704,1733,1763,1792,1822,1851,1881,1910,1940,1969,1999,2028,2058,2087,2117,2146,2176,2205,2235,2264,2294,2323,2353,2383,2413,2442,2472,2501,2531,2560,2590,2619,2649,2678,2708,2737,2767,2796,2826,2855,2885,2914,2944,2973,3003,3032,3062,3091,3121,3150,3180,3209,3239,3268,3298,3327,3357,3386,3416,3446,3476,3505,3535,3564,3594,3623,3653,3682,3712,3741,3771,3800,3830,3859,3889,3918,3948,3977,4007,4036,4066,4095,4125,4155,4185,4214,4244,4273,4303,4332,4362,4391,4421,4450,4480,4509,4539,4568,4598,4627,4657,4686,4716,4745,4775,4804,4834,4863,4893,4922,4952,4981,5011,5040,5070,5099,5129,5158,5188,5218,5248,5277,5307,5336,5366,5395,5425,5454,5484,5513,5543,5572,5602,5631,5661,5690,5720,5749,5779,5808,5838,5867,5897,5926,5956,5985,6015,6044,6074,6103,6133,6162,6192,6221,6251,6281,6311,6340,6370,6399,6429,6458,6488,6517,6547,6576,6606,6635,6665,6694,6724,6753,6783,6812,6842,6871,6901,6930,6960,6989,7019,7048,7078,7107,7137,7166,7196,7225,7255,7284,7314,7344,7374,7403,7433,7462,7492,7521,7551,7580,7610,7639,7669,7698,7728,7757,7787,7816,7846,7875,7905,7934,7964,7993,8023,8053,8083,8112,8142,8171,8201,8230,8260,8289,8319,8348,8378,8407,8437,8466,8496,8525,8555,8584,8614,8643,8673,8702,8732,8761,8791,8821,8850,8880,8909,8938,8968,8997,9027,9056,9086,9115,9145,9175,9205,9234,9264,9293,9322,9352,9381,9410,9440,9470,9499,9529,9559,9589,9618,9648,9677,9706,9736,9765,9794,9824,9853,9883,9913,9943,9972,10002,10032,10061,10090,10120,10149,10178,10208,10237,10267,10297,10326,10356,10386,10415,10445,10474,10504,10533,10562,10592,10621,10651,10680,10710,10740,10770,10799,10829,10858,10888,10917,10947,10976,11005,11035,11064,11094,11124,11153,11183,11213,11242,11272,11301,11331,11360,11389,11419,11448,11478,11507,11537,11567,11596,11626,11655,11685,11715,11744,11774,11803,11832,11862,11891,11921,11950,11980,12010,12039,12069,12099,12128,12158,12187,12216,12246,12275,12304,12334,12364,12393,12423,12453,12483,12512,12542,12571,12600,12630,12659,12688,12718,12747,12777,12807,12837,12866,12896,12926,12955,12984,13014,13043,13072,13102,13131,13161,13191,13220,13250,13280,13310,13339,13368,13398,13427,13456,13486,13515,13545,13574,13604,13634,13664,13693,13723,13752,13782,13811,13840,13870,13899,13929,13958,13988,14018,14047,14077,14107,14136,14166,14195,14224,14254,14283,14313,14342,14372,14401,14431,14461,14490,14520,14550,14579,14609,14638,14667,14697,14726,14756,14785,14815,14844,14874,14904,14933,14963,14993,15021,15051,15081,15110,15140,15169,15199,15228,15258,15287,15317,15347,15377,15406,15436,15465,15494,15524,15553,15582,15612,15641,15671,15701,15731,15760,15790,15820,15849,15878,15908,15937,15966,15996,16025,16055,16085,16114,16144,16174,16204,16233,16262,16292,16321,16350,16380,16409,16439,16468,16498,16528,16558,16587,16617,16646,16676,16705,16734,16764,16793,16823,16852,16882,16912,16941,16971,17001,17030,17060,17089,17118,17148,17177,17207,17236,17266,17295,17325,17355,17384,17414,17444,17473,17502,17532,17561,17591,17620,17650,17679,17709,17738,17768,17798,17827,17857,17886,17916,17945,17975,18004,18034,18063,18093,18122,18152,18181,18211,18241,18270,18300,18330,18359,18388,18418,18447,18476,18506,18535,18565,18595,18625,18654,18684,18714,18743,18772,18802,18831,18860,18890,18919,18949,18979,19008,19038,19068,19098,19127,19156,19186,19215,19244,19274,19303,19333,19362,19392,19422,19452,19481,19511,19540,19570,19599,19628,19658,19687,19717,19746,19776,19806,19836,19865,19895,19924,19954,19983,20012,20042,20071,20101,20130,20160,20190,20219,20249,20279,20308,20338,20367,20396,20426,20455,20485,20514,20544,20573,20603,20633,20662,20692,20721,20751,20780,20810,20839,20869,20898,20928,20957,20987,21016,21046,21076,21105,21135,21164,21194,21223,21253,21282,21312,21341,21371,21400,21430,21459,21489,21519,21548,21578,21607,21637,21666,21696,21725,21754,21784,21813,21843,21873,21902,21932,21962,21991,22021,22050,22080,22109,22138,22168,22197,22227,22256,22286,22316,22346,22375,22405,22434,22464,22493,22522,22552,22581,22611,22640,22670,22700,22730,22759,22789,22818,22848,22877,22906,22936,22965,22994,23024,23054,23083,23113,23143,23173,23202,23232,23261,23290,23320,23349,23379,23408,23438,23467,23497,23527,23556,23586,23616,23645,23674,23704,23733,23763,23792,23822,23851,23881,23910,23940,23970,23999,24029,24058,24088,24117,24147,24176,24206,24235,24265,24294,24324,24353,24383,24413,24442,24472,24501,24531,24560,24590,24619,24648,24678,24707,24737,24767,24796,24826,24856,24885,24915,24944,24974,25003,25032,25062,25091,25121,25150,25180,25210,25240,25269,25299,25328,25358,25387,25416,25446,25475,25505,25534,25564,25594,25624,25653,25683,25712,25742,25771,25800,25830,25859,25888,25918,25948,25977,26007,26037,26067,26096,26126,26155,26184,26214,26243,26272,26302,26332,26361,26391,26421,26451,26480,26510,26539,26568,26598,26627,26656,26686,26715,26745,26775,26805,26834,26864,26893,26923,26952,26982,27011,27041,27070,27099,27129,27159,27188,27218,27248,27277,27307,27336,27366,27395,27425,27454,27484,27513,27542,27572,27602,27631,27661,27691,27720,27750,27779,27809,27838,27868,27897,27926,27956,27985,28015,28045,28074,28104,28134,28163,28193,28222,28252,28281,28310,28340,28369,28399,28428,28458,28488,28517,28547,28577,28607,28636,28665,28695,28724,28754,28783,28813,28843,28872,28901,28931,28960,28990,29019,29049,29078,29108,29137,29167,29196,29226,29255,29285,29315,29345,29375,29404,29434,29463,29492,29522,29551,29580,29610,29640,29669,29699,29729,29759,29788,29818,29847,29876,29906,29935,29964,29994,30023,30053,30082,30112,30141,30171,30200,30230,30259,30289,30318,30348,30378,30408,30437,30467,30496,30526,30555,30585,30614,30644,30673,30703,30732,30762,30791,30821,30850,30880,30909,30939,30968,30998,31027,31057,31086,31116,31145,31175,31204,31234,31263,31293,31322,31352,31381,31411,31441,31471,31500,31530,31559,31589,31618,31648,31676,31706,31736,31766,31795,31825,31854,31884,31913,31943,31972,32002,32031,32061,32090,32120,32150,32180,32209,32239,32268,32298,32327,32357,32386,32416,32445,32475,32504,32534,32563,32593,32622,32652,32681,32711,32740,32770,32799,32829,32858,32888,32917,32947,32976,33006,33035,33065,33094,33124,33153,33183,33213,33243,33272,33302,33331,33361,33390,33420,33450,33479,33509,33539,33568,33598,33627,33657,33686,33716,33745,33775,33804,33834,33863,33893,33922,33952,33981,34011,34040,34069,34099,34128,34158,34187,34217,34247,34277,34306,34336,34365,34395,34424,34454,34483,34512,34542,34571,34601,34631,34660,34690,34719,34749,34778,34808,34837,34867,34896,34926,34955,34985,35015,35044,35074,35103,35133,35162,35192,35222,35251,35280,35310,35340,35370,35399,35429,35458,35488,35517,35547,35576,35605,35635,35665,35694,35723,35753,35782,35811,35841,35871,35901,35930,35960,35989,36019,36048,36078,36107,36136,36166,36195,36225,36254,36284,36314,36343,36373,36403,36433,36462,36492,36521,36551,36580,36610,36639,36669,36698,36728,36757,36786,36816,36845,36875,36904,36934,36963,36993,37022,37052,37081,37111,37141,37170,37200,37229,37259,37288,37318,37347,37377,37406,37436,37465,37495,37524,37554,37584,37613,37643,37672,37701,37731,37760,37790,37819,37849,37878,37908,37938,37967,37997,38027,38056,38085,38115,38144,38174,38203,38233,38262,38292,38322,38351,38381,38410,38440,38469,38499,38528,38558,38587,38617,38646,38676,38705,38735,38764,38794,38823,38853,38882,38912,38941,38971,39001,39030,39059,39089,39118,39148,39178,39208,39237,39267,39297,39326,39355,39385,39414,39444,39473,39503,39532,39562,39592,39621,39650,39680,39709,39739,39768,39798,39827,39857,39886,39916,39946,39975,40005,40035,40064,40094,40123,40153,40182,40212,40241,40271,40300,40330,40359,40389,40418,40448,40477,40507,40536,40566,40595,40625,40655,40685,40714,40744,40773,40803,40832,40862,40892,40921,40951,40980,41009,41039,41068,41098,41127,41157,41186,41216,41245,41275,41304,41334,41364,41393,41422,41452,41481,41511,41540,41570,41599,41629,41658,41688,41718,41748,41777,41807,41836,41865,41894,41924,41953,41983,42012,42042,42072,42102,42131,42161,42190,42220,42249,42279,42308,42337,42367,42397,42426,42456,42485,42515,42545,42574,42604,42633,42662,42692,42721,42751,42780,42810,42839,42869,42899,42929,42958,42988,43017,43046,43076,43105,43135,43164,43194,43223,43253,43283,43312,43342,43371,43401,43430,43460,43489,43519,43548,43578,43607,43637,43666,43696,43726,43755,43785,43814,43844,43873,43903,43932,43962,43991,44021,44050,44080,44109,44139,44169,44198,44228,44258,44287,44317,44346,44375,44405,44434,44464,44493,44523,44553,44582,44612,44641,44671,44700,44730,44759,44788,44818,44847,44877,44906,44936,44966,44996,45025,45055,45084,45114,45143,45172,45202,45231,45261,45290,45320,45350,45380,45409,45439,45468,45498,45527,45556,45586,45615,45644,45674,45704,45733,45763,45793,45823,45852,45882,45911,45940,45970,45999,46028,46058,46088,46117,46147,46177,46206,46236,46265,46295,46324,46354,46383,46413,46442,46472,46501,46531,46560,46590,46620,46649,46679,46708,46738,46767,46797,46826,46856,46885,46915,46944,46974,47003,47033,47063,47092,47122,47151,47181,47210,47240,47269,47298,47328,47357,47387,47417,47446,47476,47506,47535,47565,47594,47624,47653,47682,47712,47741,47771,47800,47830,47860,47890,47919,47949,47978,48008,48037,48066,48096,48125,48155,48184,48214,48244,48273,48303,48333,48362,48392,48421,48450,48480,48509,48538,48568,48598,48627,48657,48687,48717,48746,48776,48805,48834,48864,48893,48922,48952,48982,49011,49041,49071,49100,49130,49160,49189,49218,49248,49277,49306,49336,49365,49395,49425,49455,49484,49514,49543,49573,49602,49632,49661,49690,49720,49749,49779,49809,49838,49868,49898,49927,49957,49986,50016,50045,50075,50104,50133,50163,50192,50222,50252,50281,50311,50340,50370,50400,50429,50459,50488,50518,50547,50576,50606,50635,50665,50694,50724,50754,50784,50813,50843,50872,50902,50931,50960,50990,51019,51049,51078,51108,51138,51167,51197,51227,51256,51286,51315,51345,51374,51403,51433,51462,51492,51522,51552,51582,51611,51641,51670,51699,51729,51758,51787,51816,51846,51876,51906,51936,51965,51995,52025,52054,52083,52113,52142,52171,52200,52230,52260,52290,52319,52349,52379,52408,52438,52467,52497,52526,52555,52585,52614,52644,52673,52703,52733,52762,52792,52822,52851,52881,52910,52939,52969,52998,53028,53057,53087,53116,53146,53176,53205,53235,53264,53294,53324,53353,53383,53412,53441,53471,53500,53530,53559,53589,53619,53648,53678,53708,53737,53767,53796,53825,53855,53884,53913,53943,53973,54003,54032,54062,54092,54121,54151,54180,54209,54239,54268,54297,54327,54357,54387,54416,54446,54476,54505,54535,54564,54593,54623,54652,54681,54711,54741,54770,54800,54830,54859,54889,54919,54948,54977,55007,55036,55066,55095,55125,55154,55184,55213,55243,55273,55302,55332,55361,55391,55420,55450,55479,55508,55538,55567,55597,55627,55657,55686,55716,55745,55775,55804,55834,55863,55892,55922,55951,55981,56011,56040,56070,56100,56129,56159,56188,56218,56247,56276,56306,56335,56365,56394,56424,56454,56483,56513,56543,56572,56601,56631,56660,56690,56719,56749,56778,56808,56837,56867,56897,56926,56956,56985,57015,57044,57074,57103,57133,57162,57192,57221,57251,57280,57310,57340,57369,57399,57429,57458,57487,57517,57546,57576,57605,57634,57664,57694,57723,57753,57783,57813,57842,57871,57901,57930,57959,57989,58018,58048,58077,58107,58137,58167,58196,58226,58255,58285,58314,58343,58373,58402,58432,58461,58491,58521,58551,58580,58610,58639,58669,58698,58727,58757,58786,58816,58845,58875,58905,58934,58964,58994,59023,59053,59082,59111,59141,59170,59200,59229,59259,59288,59318,59348,59377,59407,59436,59466,59495,59525,59554,59584,59613,59643,59672,59702,59731,59761,59791,59820,59850,59879,59909,59939,59968,59997,60027,60056,60086,60115,60145,60174,60204,60234,60264,60293,60323,60352,60381,60411,60440,60469,60499,60528,60558,60588,60618,60648,60677,60707,60736,60765,60795,60824,60853,60883,60912,60942,60972,61002,61031,61061,61090,61120,61149,61179,61208,61237,61267,61296,61326,61356,61385,61415,61445,61474,61504,61533,61563,61592,61621,61651,61680,61710,61739,61769,61799,61828,61858,61888,61917,61947,61976,62006,62035,62064,62094,62123,62153,62182,62212,62242,62271,62301,62331,62360,62390,62419,62448,62478,62507,62537,62566,62596,62625,62655,62685,62715,62744,62774,62803,62832,62862,62891,62921,62950,62980,63009,63039,63069,63099,63128,63157,63187,63216,63246,63275,63305,63334,63363,63393,63423,63453,63482,63512,63541,63571,63600,63630,63659,63689,63718,63747,63777,63807,63836,63866,63895,63925,63955,63984,64014,64043,64073,64102,64131,64161,64190,64220,64249,64279,64309,64339,64368,64398,64427,64457,64486,64515,64545,64574,64603,64633,64663,64692,64722,64752,64782,64811,64841,64870,64899,64929,64958,64987,65017,65047,65076,65106,65136,65166,65195,65225,65254,65283,65313,65342,65371,65401,65431,65460,65490,65520,65549,65579,65608,65638,65667,65697,65726,65755,65785,65815,65844,65874,65903,65933,65963,65992,66022,66051,66081,66110,66140,66169,66199,66228,66258,66287,66317,66346,66376,66405,66435,66465,66494,66524,66553,66583,66612,66641,66671,66700,66730,66760,66789,66819,66849,66878,66908,66937,66967,66996,67025,67055,67084,67114,67143,67173,67203,67233,67262,67292,67321,67351,67380,67409,67439,67468,67497,67527,67557,67587,67617,67646,67676,67705,67735,67764,67793,67823,67852,67882,67911,67941,67971,68e3,68030,68060,68089,68119,68148,68177,68207,68236,68266,68295,68325,68354,68384,68414,68443,68473,68502,68532,68561,68591,68620,68650,68679,68708,68738,68768,68797,68827,68857,68886,68916,68946,68975,69004,69034,69063,69092,69122,69152,69181,69211,69240,69270,69300,69330,69359,69388,69418,69447,69476,69506,69535,69565,69595,69624,69654,69684,69713,69743,69772,69802,69831,69861,69890,69919,69949,69978,70008,70038,70067,70097,70126,70156,70186,70215,70245,70274,70303,70333,70362,70392,70421,70451,70481,70510,70540,70570,70599,70629,70658,70687,70717,70746,70776,70805,70835,70864,70894,70924,70954,70983,71013,71042,71071,71101,71130,71159,71189,71218,71248,71278,71308,71337,71367,71397,71426,71455,71485,71514,71543,71573,71602,71632,71662,71691,71721,71751,71781,71810,71839,71869,71898,71927,71957,71986,72016,72046,72075,72105,72135,72164,72194,72223,72253,72282,72311,72341,72370,72400,72429,72459,72489,72518,72548,72577,72607,72637,72666,72695,72725,72754,72784,72813,72843,72872,72902,72931,72961,72991,73020,73050,73080,73109,73139,73168,73197,73227,73256,73286,73315,73345,73375,73404,73434,73464,73493,73523,73552,73581,73611,73640,73669,73699,73729,73758,73788,73818,73848,73877,73907,73936,73965,73995,74024,74053,74083,74113,74142,74172,74202,74231,74261,74291,74320,74349,74379,74408,74437,74467,74497,74526,74556,74586,74615,74645,74675,74704,74733,74763,74792,74822,74851,74881,74910,74940,74969,74999,75029,75058,75088,75117,75147,75176,75206,75235,75264,75294,75323,75353,75383,75412,75442,75472,75501,75531,75560,75590,75619,75648,75678,75707,75737,75766,75796,75826,75856,75885,75915,75944,75974,76003,76032,76062,76091,76121,76150,76180,76210,76239,76269,76299,76328,76358,76387,76416,76446,76475,76505,76534,76564,76593,76623,76653,76682,76712,76741,76771,76801,76830,76859,76889,76918,76948,76977,77007,77036,77066,77096,77125,77155,77185,77214,77243,77273,77302,77332,77361,77390,77420,77450,77479,77509,77539,77569,77598,77627,77657,77686,77715,77745,77774,77804,77833,77863,77893,77923,77952,77982,78011,78041,78070,78099,78129,78158,78188,78217,78247,78277,78307,78336,78366,78395,78425,78454,78483,78513,78542,78572,78601,78631,78661,78690,78720,78750,78779,78808,78838,78867,78897,78926,78956,78985,79015,79044,79074,79104,79133,79163,79192,79222,79251,79281,79310,79340,79369,79399,79428,79458,79487,79517,79546,79576,79606,79635,79665,79695,79724,79753,79783,79812,79841,79871,79900,79930,79960,79990]},38700:function(t,e,r){var n=r(50896);function i(){this.regionalOptions=[],this.regionalOptions[\"\"]={invalidCalendar:\"Calendar {0} not found\",invalidDate:\"Invalid {0} date\",invalidMonth:\"Invalid {0} month\",invalidYear:\"Invalid {0} year\",differentCalendars:\"Cannot mix {0} and {1} dates\"},this.local=this.regionalOptions[\"\"],this.calendars={},this._localCals={}}function a(t,e,r,n){if(this._calendar=t,this._year=e,this._month=r,this._day=n,0===this._calendar._validateLevel&&!this._calendar.isValid(this._year,this._month,this._day))throw(u.local.invalidDate||u.regionalOptions[\"\"].invalidDate).replace(/\\{0\\}/,this._calendar.local.name)}function o(t,e){return\"000000\".substring(0,e-(t=\"\"+t).length)+t}function s(){this.shortYearCutoff=\"+10\"}function l(t){this.local=this.regionalOptions[t]||this.regionalOptions[\"\"]}n(i.prototype,{instance:function(t,e){t=(t||\"gregorian\").toLowerCase(),e=e||\"\";var r=this._localCals[t+\"-\"+e];if(!r&&this.calendars[t]&&(r=new this.calendars[t](e),this._localCals[t+\"-\"+e]=r),!r)throw(this.local.invalidCalendar||this.regionalOptions[\"\"].invalidCalendar).replace(/\\{0\\}/,t);return r},newDate:function(t,e,r,n,i){return(n=(null!=t&&t.year?t.calendar():\"string\"==typeof n?this.instance(n,i):n)||this.instance()).newDate(t,e,r)},substituteDigits:function(t){return function(e){return(e+\"\").replace(/[0-9]/g,(function(e){return t[e]}))}},substituteChineseDigits:function(t,e){return function(r){for(var n=\"\",i=0;r>0;){var a=r%10;n=(0===a?\"\":t[a]+e[i])+n,i++,r=Math.floor(r/10)}return 0===n.indexOf(t[1]+e[1])&&(n=n.substr(1)),n||t[0]}}}),n(a.prototype,{newDate:function(t,e,r){return this._calendar.newDate(null==t?this:t,e,r)},year:function(t){return 0===arguments.length?this._year:this.set(t,\"y\")},month:function(t){return 0===arguments.length?this._month:this.set(t,\"m\")},day:function(t){return 0===arguments.length?this._day:this.set(t,\"d\")},date:function(t,e,r){if(!this._calendar.isValid(t,e,r))throw(u.local.invalidDate||u.regionalOptions[\"\"].invalidDate).replace(/\\{0\\}/,this._calendar.local.name);return this._year=t,this._month=e,this._day=r,this},leapYear:function(){return this._calendar.leapYear(this)},epoch:function(){return this._calendar.epoch(this)},formatYear:function(){return this._calendar.formatYear(this)},monthOfYear:function(){return this._calendar.monthOfYear(this)},weekOfYear:function(){return this._calendar.weekOfYear(this)},daysInYear:function(){return this._calendar.daysInYear(this)},dayOfYear:function(){return this._calendar.dayOfYear(this)},daysInMonth:function(){return this._calendar.daysInMonth(this)},dayOfWeek:function(){return this._calendar.dayOfWeek(this)},weekDay:function(){return this._calendar.weekDay(this)},extraInfo:function(){return this._calendar.extraInfo(this)},add:function(t,e){return this._calendar.add(this,t,e)},set:function(t,e){return this._calendar.set(this,t,e)},compareTo:function(t){if(this._calendar.name!==t._calendar.name)throw(u.local.differentCalendars||u.regionalOptions[\"\"].differentCalendars).replace(/\\{0\\}/,this._calendar.local.name).replace(/\\{1\\}/,t._calendar.local.name);var e=this._year!==t._year?this._year-t._year:this._month!==t._month?this.monthOfYear()-t.monthOfYear():this._day-t._day;return 0===e?0:e<0?-1:1},calendar:function(){return this._calendar},toJD:function(){return this._calendar.toJD(this)},fromJD:function(t){return this._calendar.fromJD(t)},toJSDate:function(){return this._calendar.toJSDate(this)},fromJSDate:function(t){return this._calendar.fromJSDate(t)},toString:function(){return(this.year()<0?\"-\":\"\")+o(Math.abs(this.year()),4)+\"-\"+o(this.month(),2)+\"-\"+o(this.day(),2)}}),n(s.prototype,{_validateLevel:0,newDate:function(t,e,r){return null==t?this.today():(t.year&&(this._validate(t,e,r,u.local.invalidDate||u.regionalOptions[\"\"].invalidDate),r=t.day(),e=t.month(),t=t.year()),new a(this,t,e,r))},today:function(){return this.fromJSDate(new Date)},epoch:function(t){return this._validate(t,this.minMonth,this.minDay,u.local.invalidYear||u.regionalOptions[\"\"].invalidYear).year()<0?this.local.epochs[0]:this.local.epochs[1]},formatYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,u.local.invalidYear||u.regionalOptions[\"\"].invalidYear);return(e.year()<0?\"-\":\"\")+o(Math.abs(e.year()),4)},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,u.local.invalidYear||u.regionalOptions[\"\"].invalidYear),12},monthOfYear:function(t,e){var r=this._validate(t,e,this.minDay,u.local.invalidMonth||u.regionalOptions[\"\"].invalidMonth);return(r.month()+this.monthsInYear(r)-this.firstMonth)%this.monthsInYear(r)+this.minMonth},fromMonthOfYear:function(t,e){var r=(e+this.firstMonth-2*this.minMonth)%this.monthsInYear(t)+this.minMonth;return this._validate(t,r,this.minDay,u.local.invalidMonth||u.regionalOptions[\"\"].invalidMonth),r},daysInYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,u.local.invalidYear||u.regionalOptions[\"\"].invalidYear);return this.leapYear(e)?366:365},dayOfYear:function(t,e,r){var n=this._validate(t,e,r,u.local.invalidDate||u.regionalOptions[\"\"].invalidDate);return n.toJD()-this.newDate(n.year(),this.fromMonthOfYear(n.year(),this.minMonth),this.minDay).toJD()+1},daysInWeek:function(){return 7},dayOfWeek:function(t,e,r){var n=this._validate(t,e,r,u.local.invalidDate||u.regionalOptions[\"\"].invalidDate);return(Math.floor(this.toJD(n))+2)%this.daysInWeek()},extraInfo:function(t,e,r){return this._validate(t,e,r,u.local.invalidDate||u.regionalOptions[\"\"].invalidDate),{}},add:function(t,e,r){return this._validate(t,this.minMonth,this.minDay,u.local.invalidDate||u.regionalOptions[\"\"].invalidDate),this._correctAdd(t,this._add(t,e,r),e,r)},_add:function(t,e,r){if(this._validateLevel++,\"d\"===r||\"w\"===r){var n=t.toJD()+e*(\"w\"===r?this.daysInWeek():1),i=t.calendar().fromJD(n);return this._validateLevel--,[i.year(),i.month(),i.day()]}try{var a=t.year()+(\"y\"===r?e:0),o=t.monthOfYear()+(\"m\"===r?e:0);i=t.day(),\"y\"===r?(t.month()!==this.fromMonthOfYear(a,o)&&(o=this.newDate(a,t.month(),this.minDay).monthOfYear()),o=Math.min(o,this.monthsInYear(a)),i=Math.min(i,this.daysInMonth(a,this.fromMonthOfYear(a,o)))):\"m\"===r&&(function(t){for(;oe-1+t.minMonth;)a++,o-=e,e=t.monthsInYear(a)}(this),i=Math.min(i,this.daysInMonth(a,this.fromMonthOfYear(a,o))));var s=[a,this.fromMonthOfYear(a,o),i];return this._validateLevel--,s}catch(t){throw this._validateLevel--,t}},_correctAdd:function(t,e,r,n){if(!(this.hasYearZero||\"y\"!==n&&\"m\"!==n||0!==e[0]&&t.year()>0==e[0]>0)){var i={y:[1,1,\"y\"],m:[1,this.monthsInYear(-1),\"m\"],w:[this.daysInWeek(),this.daysInYear(-1),\"d\"],d:[1,this.daysInYear(-1),\"d\"]}[n],a=r<0?-1:1;e=this._add(t,r*i[0]+a*i[1],i[2])}return t.date(e[0],e[1],e[2])},set:function(t,e,r){this._validate(t,this.minMonth,this.minDay,u.local.invalidDate||u.regionalOptions[\"\"].invalidDate);var n=\"y\"===r?e:t.year(),i=\"m\"===r?e:t.month(),a=\"d\"===r?e:t.day();return\"y\"!==r&&\"m\"!==r||(a=Math.min(a,this.daysInMonth(n,i))),t.date(n,i,a)},isValid:function(t,e,r){this._validateLevel++;var n=this.hasYearZero||0!==t;if(n){var i=this.newDate(t,e,this.minDay);n=e>=this.minMonth&&e-this.minMonth=this.minDay&&r-this.minDay13.5?13:1),u=i-(l>2.5?4716:4715);return u<=0&&u--,this.newDate(u,l,s)},toJSDate:function(t,e,r){var n=this._validate(t,e,r,u.local.invalidDate||u.regionalOptions[\"\"].invalidDate),i=new Date(n.year(),n.month()-1,n.day());return i.setHours(0),i.setMinutes(0),i.setSeconds(0),i.setMilliseconds(0),i.setHours(i.getHours()>12?i.getHours()+2:0),i},fromJSDate:function(t){return this.newDate(t.getFullYear(),t.getMonth()+1,t.getDate())}});var u=t.exports=new i;u.cdate=a,u.baseCalendar=s,u.calendars.gregorian=l},15168:function(t,e,r){var n=r(50896),i=r(38700);n(i.regionalOptions[\"\"],{invalidArguments:\"Invalid arguments\",invalidFormat:\"Cannot format a date from another calendar\",missingNumberAt:\"Missing number at position {0}\",unknownNameAt:\"Unknown name at position {0}\",unexpectedLiteralAt:\"Unexpected literal at position {0}\",unexpectedText:\"Additional text found at end\"}),i.local=i.regionalOptions[\"\"],n(i.cdate.prototype,{formatDate:function(t,e){return\"string\"!=typeof t&&(e=t,t=\"\"),this._calendar.formatDate(t||\"\",this,e)}}),n(i.baseCalendar.prototype,{UNIX_EPOCH:i.instance().newDate(1970,1,1).toJD(),SECS_PER_DAY:86400,TICKS_EPOCH:i.instance().jdEpoch,TICKS_PER_DAY:864e9,ATOM:\"yyyy-mm-dd\",COOKIE:\"D, dd M yyyy\",FULL:\"DD, MM d, yyyy\",ISO_8601:\"yyyy-mm-dd\",JULIAN:\"J\",RFC_822:\"D, d M yy\",RFC_850:\"DD, dd-M-yy\",RFC_1036:\"D, d M yy\",RFC_1123:\"D, d M yyyy\",RFC_2822:\"D, d M yyyy\",RSS:\"D, d M yy\",TICKS:\"!\",TIMESTAMP:\"@\",W3C:\"yyyy-mm-dd\",formatDate:function(t,e,r){if(\"string\"!=typeof t&&(r=e,e=t,t=\"\"),!e)return\"\";if(e.calendar()!==this)throw i.local.invalidFormat||i.regionalOptions[\"\"].invalidFormat;t=t||this.local.dateFormat;for(var n,a,o,s=(r=r||{}).dayNamesShort||this.local.dayNamesShort,l=r.dayNames||this.local.dayNames,u=r.monthNumbers||this.local.monthNumbers,c=r.monthNamesShort||this.local.monthNamesShort,f=r.monthNames||this.local.monthNames,h=(r.calculateWeek||this.local.calculateWeek,function(e,r){for(var n=1;_+n1}),p=function(t,e,r,n){var i=\"\"+e;if(h(t,n))for(;i.length1},x=function(t,r){var n=m(t,r),a=[2,3,n?4:2,n?4:2,10,11,20][\"oyYJ@!\".indexOf(t)+1],o=new RegExp(\"^-?\\\\d{1,\"+a+\"}\"),s=e.substring(A).match(o);if(!s)throw(i.local.missingNumberAt||i.regionalOptions[\"\"].missingNumberAt).replace(/\\{0\\}/,A);return A+=s[0].length,parseInt(s[0],10)},b=this,_=function(){if(\"function\"==typeof l){m(\"m\");var t=l.call(b,e.substring(A));return A+=t.length,t}return x(\"m\")},w=function(t,r,n,a){for(var o=m(t,a)?n:r,s=0;s-1){p=1,d=v;for(var E=this.daysInMonth(h,p);d>E;E=this.daysInMonth(h,p))p++,d-=E}return f>-1?this.fromJD(f):this.newDate(h,p,d)},determineDate:function(t,e,r,n,i){r&&\"object\"!=typeof r&&(i=n,n=r,r=null),\"string\"!=typeof n&&(i=n,n=\"\");var a=this;return e=e?e.newDate():null,null==t?e:\"string\"==typeof t?function(t){try{return a.parseDate(n,t,i)}catch(t){}for(var e=((t=t.toLowerCase()).match(/^c/)&&r?r.newDate():null)||a.today(),o=/([+-]?[0-9]+)\\s*(d|w|m|y)?/g,s=o.exec(t);s;)e.add(parseInt(s[1],10),s[2]||\"d\"),s=o.exec(t);return e}(t):\"number\"==typeof t?isNaN(t)||t===1/0||t===-1/0?e:a.today().add(t,\"d\"):a.newDate(t)}})},21576:function(){},19768:function(){},63436:function(t,e,r){\"use strict\";var n=[\"BigInt64Array\",\"BigUint64Array\",\"Float32Array\",\"Float64Array\",\"Int16Array\",\"Int32Array\",\"Int8Array\",\"Uint16Array\",\"Uint32Array\",\"Uint8Array\",\"Uint8ClampedArray\"],i=\"undefined\"==typeof globalThis?r.g:globalThis;t.exports=function(){for(var t=[],e=0;e>8&15|e>>4&240,e>>4&15|240&e,(15&e)<<4|15&e,1):8===r?T(e>>24&255,e>>16&255,e>>8&255,(255&e)/255):4===r?T(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|240&e,((15&e)<<4|15&e)/255):null):(e=h.exec(t))?new A(e[1],e[2],e[3],1):(e=p.exec(t))?new A(255*e[1]/100,255*e[2]/100,255*e[3]/100,1):(e=d.exec(t))?T(e[1],e[2],e[3],e[4]):(e=v.exec(t))?T(255*e[1]/100,255*e[2]/100,255*e[3]/100,e[4]):(e=g.exec(t))?P(e[1],e[2]/100,e[3]/100,1):(e=y.exec(t))?P(e[1],e[2]/100,e[3]/100,e[4]):m.hasOwnProperty(t)?w(m[t]):\"transparent\"===t?new A(NaN,NaN,NaN,0):null}function w(t){return new A(t>>16&255,t>>8&255,255&t,1)}function T(t,e,r,n){return n<=0&&(t=e=r=NaN),new A(t,e,r,n)}function k(t,e,r,n){return 1===arguments.length?((i=t)instanceof a||(i=_(i)),i?new A((i=i.rgb()).r,i.g,i.b,i.opacity):new A):new A(t,e,r,null==n?1:n);var i}function A(t,e,r,n){this.r=+t,this.g=+e,this.b=+r,this.opacity=+n}function M(){return\"#\".concat(C(this.r)).concat(C(this.g)).concat(C(this.b))}function S(){var t=E(this.opacity);return\"\".concat(1===t?\"rgb(\":\"rgba(\").concat(L(this.r),\", \").concat(L(this.g),\", \").concat(L(this.b)).concat(1===t?\")\":\", \".concat(t,\")\"))}function E(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function L(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function C(t){return((t=L(t))<16?\"0\":\"\")+t.toString(16)}function P(t,e,r,n){return n<=0?t=e=r=NaN:r<=0||r>=1?t=e=NaN:e<=0&&(t=NaN),new I(t,e,r,n)}function O(t){if(t instanceof I)return new I(t.h,t.s,t.l,t.opacity);if(t instanceof a||(t=_(t)),!t)return new I;if(t instanceof I)return t;var e=(t=t.rgb()).r/255,r=t.g/255,n=t.b/255,i=Math.min(e,r,n),o=Math.max(e,r,n),s=NaN,l=o-i,u=(o+i)/2;return l?(s=e===o?(r-n)/l+6*(r0&&u<1?0:s,new I(s,l,u,t.opacity)}function I(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}function z(t){return(t=(t||0)%360)<0?t+360:t}function D(t){return Math.max(0,Math.min(1,t||0))}function R(t,e,r){return 255*(t<60?e+(r-e)*t/60:t<180?r:t<240?e+(r-e)*(240-t)/60:e)}function F(t,e,r,n,i){var a=t*t,o=a*t;return((1-3*t+3*a-o)*e+(4-6*a+3*o)*r+(1+3*t+3*a-3*o)*n+o*i)/6}n(a,_,{copy:function(t){return Object.assign(new this.constructor,this,t)},displayable:function(){return this.rgb().displayable()},hex:x,formatHex:x,formatHex8:function(){return this.rgb().formatHex8()},formatHsl:function(){return O(this).formatHsl()},formatRgb:b,toString:b}),n(A,k,i(a,{brighter:function(t){return t=null==t?s:Math.pow(s,t),new A(this.r*t,this.g*t,this.b*t,this.opacity)},darker:function(t){return t=null==t?o:Math.pow(o,t),new A(this.r*t,this.g*t,this.b*t,this.opacity)},rgb:function(){return this},clamp:function(){return new A(L(this.r),L(this.g),L(this.b),E(this.opacity))},displayable:function(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:M,formatHex:M,formatHex8:function(){return\"#\".concat(C(this.r)).concat(C(this.g)).concat(C(this.b)).concat(C(255*(isNaN(this.opacity)?1:this.opacity)))},formatRgb:S,toString:S})),n(I,(function(t,e,r,n){return 1===arguments.length?O(t):new I(t,e,r,null==n?1:n)}),i(a,{brighter:function(t){return t=null==t?s:Math.pow(s,t),new I(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?o:Math.pow(o,t),new I(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=this.h%360+360*(this.h<0),e=isNaN(t)||isNaN(this.s)?0:this.s,r=this.l,n=r+(r<.5?r:1-r)*e,i=2*r-n;return new A(R(t>=240?t-240:t+120,i,n),R(t,i,n),R(t<120?t+240:t-120,i,n),this.opacity)},clamp:function(){return new I(z(this.h),D(this.s),D(this.l),E(this.opacity))},displayable:function(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl:function(){var t=E(this.opacity);return\"\".concat(1===t?\"hsl(\":\"hsla(\").concat(z(this.h),\", \").concat(100*D(this.s),\"%, \").concat(100*D(this.l),\"%\").concat(1===t?\")\":\", \".concat(t,\")\"))}}));var B=function(t){return function(){return t}};function N(t,e){var r=e-t;return r?function(t,e){return function(r){return t+r*e}}(t,r):B(isNaN(t)?e:t)}var j=function t(e){var r=function(t){return 1==(t=+t)?N:function(e,r){return r-e?function(t,e,r){return t=Math.pow(t,r),e=Math.pow(e,r)-t,r=1/r,function(n){return Math.pow(t+n*e,r)}}(e,r,t):B(isNaN(e)?r:e)}}(e);function n(t,e){var n=r((t=k(t)).r,(e=k(e)).r),i=r(t.g,e.g),a=r(t.b,e.b),o=N(t.opacity,e.opacity);return function(e){return t.r=n(e),t.g=i(e),t.b=a(e),t.opacity=o(e),t+\"\"}}return n.gamma=t,n}(1);function U(t){return function(e){var r,n,i=e.length,a=new Array(i),o=new Array(i),s=new Array(i);for(r=0;r=1?(r=1,e-1):Math.floor(r*e),i=t[n],a=t[n+1],o=n>0?t[n-1]:2*i-a,s=na&&(i=e.slice(a,i),s[o]?s[o]+=i:s[++o]=i),(r=r[0])===(n=n[0])?s[o]?s[o]+=n:s[++o]=n:(s[++o]=null,l.push({i:o,x:H(r,n)})),a=X.lastIndex;return a:not(.watermark)\":\"opacity:0;-webkit-transition:opacity .3s ease 0s;-moz-transition:opacity .3s ease 0s;-ms-transition:opacity .3s ease 0s;-o-transition:opacity .3s ease 0s;transition:opacity .3s ease 0s;\",\"X:hover .modebar--hover .modebar-group\":\"opacity:1;\",\"X .modebar-group\":\"float:left;display:inline-block;box-sizing:border-box;padding-left:8px;position:relative;vertical-align:middle;white-space:nowrap;\",\"X .modebar-btn\":\"position:relative;font-size:16px;padding:3px 4px;height:22px;cursor:pointer;line-height:normal;box-sizing:border-box;\",\"X .modebar-btn svg\":\"position:relative;top:2px;\",\"X .modebar.vertical\":\"display:flex;flex-direction:column;flex-wrap:wrap;align-content:flex-end;max-height:100%;\",\"X .modebar.vertical svg\":\"top:-1px;\",\"X .modebar.vertical .modebar-group\":\"display:block;float:none;padding-left:0px;padding-bottom:8px;\",\"X .modebar.vertical .modebar-group .modebar-btn\":\"display:block;text-align:center;\",\"X [data-title]:before,X [data-title]:after\":\"position:absolute;-webkit-transform:translate3d(0, 0, 0);-moz-transform:translate3d(0, 0, 0);-ms-transform:translate3d(0, 0, 0);-o-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);display:none;opacity:0;z-index:1001;pointer-events:none;top:110%;right:50%;\",\"X [data-title]:hover:before,X [data-title]:hover:after\":\"display:block;opacity:1;\",\"X [data-title]:before\":'content:\"\";position:absolute;background:rgba(0,0,0,0);border:6px solid rgba(0,0,0,0);z-index:1002;margin-top:-12px;border-bottom-color:#69738a;margin-right:-6px;',\"X [data-title]:after\":\"content:attr(data-title);background:#69738a;color:#fff;padding:8px 10px;font-size:12px;line-height:12px;white-space:nowrap;margin-right:-18px;border-radius:2px;\",\"X .vertical [data-title]:before,X .vertical [data-title]:after\":\"top:0%;right:200%;\",\"X .vertical [data-title]:before\":\"border:6px solid rgba(0,0,0,0);border-left-color:#69738a;margin-top:8px;margin-right:-30px;\",Y:'font-family:\"Open Sans\",verdana,arial,sans-serif;position:fixed;top:50px;right:20px;z-index:10000;font-size:10pt;max-width:180px;',\"Y p\":\"margin:0;\",\"Y .notifier-note\":\"min-width:180px;max-width:250px;border:1px solid #fff;z-index:3000;margin:0;background-color:#8c97af;background-color:rgba(140,151,175,.9);color:#fff;padding:10px;overflow-wrap:break-word;word-wrap:break-word;-ms-hyphens:auto;-webkit-hyphens:auto;hyphens:auto;\",\"Y .notifier-close\":\"color:#fff;opacity:.8;float:right;padding:0 5px;background:none;border:none;font-size:20px;font-weight:bold;line-height:20px;\",\"Y .notifier-close:hover\":\"color:#444;text-decoration:none;cursor:pointer;\"};for(var a in i){var o=a.replace(/^,/,\" ,\").replace(/X/g,\".js-plotly-plot .plotly\").replace(/Y/g,\".plotly-notifier\");n.addStyleRule(o,i[a])}},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=o g.point\"}e.selectAll(s).each((function(t){var e=t.transform;if(e){e.scale=l&&e.hide?0:o/e.fontSize;var r=n.select(this).select(\"text\");i.setTransormAndDisplay(r,e)}}))}}}},32225:function(t,e,r){\"use strict\";var n,i=r(3208).rb,a=r(93049).extendFlat,o=r(8738),s=r(81481);t.exports={r:o.r,theta:o.theta,r0:o.r0,dr:o.dr,theta0:o.theta0,dtheta:o.dtheta,thetaunit:o.thetaunit,base:a({},s.base,{}),offset:a({},s.offset,{}),width:a({},s.width,{}),text:a({},s.text,{}),hovertext:a({},s.hovertext,{}),marker:(n=a({},s.marker),delete n.cornerradius,n),hoverinfo:o.hoverinfo,hovertemplate:i(),selected:s.selected,unselected:s.unselected}},27941:function(t,e,r){\"use strict\";var n=r(65477).hasColorscale,i=r(28379),a=r(34809).isArrayOrTypedArray,o=r(35374),s=r(24782).setGroupPositions,l=r(48861),c=r(33626).traceIs,u=r(34809).extendFlat;t.exports={calc:function(t,e){for(var r=t._fullLayout,s=e.subplot,c=r[s].radialaxis,u=r[s].angularaxis,h=c.makeCalcdata(e,\"r\"),f=u.makeCalcdata(e,\"theta\"),p=e._length,d=new Array(p),m=h,g=f,y=0;yf.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=\"\u001b[34m\",_=\"\u001b[32m\",w=\"\u001b[39m\",b=\"\u001b[31m\"):(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\u001a\\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\u0001\");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?\"\u001b[\"+c.colors[r][0]+\"m\"+t+\"\u001b[\"+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)}()}));\n", " });\n", " require(['plotly'], function(Plotly) {\n", " window._Plotly = Plotly;\n", @@ -3720,7 +3738,6 @@ } ], "layout": { - "autosize": true, "legend": { "title": { "text": "variable" @@ -4548,43 +4565,30 @@ }, "xaxis": { "anchor": "y", - "autorange": true, "domain": [ 0, 1 ], - "range": [ - 200, - 1000 - ], "title": { "text": "Wavelength" - }, - "type": "linear" + } }, "yaxis": { "anchor": "x", - "autorange": true, "domain": [ 0, 1 ], - "range": [ - -0.132098, - 2.509862 - ], "title": { "text": "value" - }, - "type": "linear" + } } } }, - "image/png": "iVBORw0KGgoAAAANSUhEUgAABRUAAAFoCAYAAADJixx/AAAgAElEQVR4XuzdCZiOhd7H8f/MmDGWbJVIm5NSpwiFKEtlqVBxIuoQsmTPLksY69i3QlGkhUqrdvVqVdrTItq0SbIvM8z2XvetmTPDLM/vvpl7zHw/7/Ve5xyeGTPPuB7f+c29hKWkpKQYAAAAAAAAAIQojFERAAAAAAAAgIJREQAAAAAAAICEUREAAAAAAACAhFERAAAAAAAAgIRREQAAAAAAAICEUREAAAAAAACAhFERAAAAAAAAgIRREQAAAAAAAICEUREAAAAAAACAhFERAAAAAAAAgIRREQAAAAAAAICEUREAAAAAAACAhFERAAAAAAAAgIRREQAAAAAAAICEUREAAAAAAACAhFERAAAAAAAAgIRREQAAAAAAAICEUREAAAAAAACAhFERAAAAAAAAgIRREQAAAAAAAICEUREAAAAAAACAhFERAAAAAAAAgIRREQAAAAAAAICEUREAAAAAAACAhFERAAAAAAAAgIRREQAAAAAAAICEUREAAAAAAACAhFERAAAAAAAAgIRREQAAAAAAAICEUREAAAAAAACAhFERAAAAAAAAgIRREQAAAAAAAICEUREAAAAAAACAhFERAAAAAAAAgIRREQAAAAAAAICEUREAAAAAAACAhFERAAAAAAAAgIRREQAAAAAAAICEUREAAAAAAACAhFERAAAAAAAAgIRREQAAAAAAAICEUREAAAAAAACAhFERAAAAAAAAgIRREQAAAAAAAICEUREAAAAAAACAhFERAAAAAAAAgIRREQAAAAAAAICEUREAAAAAAACAhFERAAAAAAAAgIRREQAAAAAAAICEUREAAAAAAACAhFERAAAAAAAAgIRREQAAAAAAAICEUREAAAAAAACAhFERAAAAAAAAgKRAj4o//Py7jZm+1L774Rc7pUxJG9SjrV19RfWjnsC2PWJsw6bNZmFh7u+VKF7U3n5mjvREAwAAAAAAAPlFgR4Vb+w0wm5u1sBua9XY3vvoKxswZp69/cxcKxIdleHr26z9MJsd08cqVayQX77uAAAAAAAAgGcFdlRMTEqyZ15+x1peV88KRUS4T2DtZj3syfvH2lkVymZ4Qhu06mcrFo62cqeW8fxEAwAAAAAAAPlFgR0Vj7T+2x+t3z1zbfWKGRYefvg051TV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ghCHihCHghCHilERKloGKloGCloGXjAqBodR0SdGRSgIcagIcSgIcagYFaGiZaCiZaCgZeAFo2JwGBV9YlSEghCHihCHghCHilERKloGKloGCloGXjAqBodR0SdGRSgIcagIcSgIcagYFaGiZaCiZaCgZeAFo2JwGBV9YlSEghCHihCHghCHilERKloGKloGCloGXjAqBodR0SdGRSgIcagIcSgIcagYFaGiZaCiZaCgZeAFo2JwGBV9YlSEghCHihCHghCHilERKloGKloGCloGXjAqBodR0SdGRSgIcagIcSgIcagYFaGiZaCiZaCgZeAFo2JwGBV9YlSEghCHihCHghCHilERKloGKloGCloGXjAqBodR0SdGRSgIcagIcSgIcagYFaGiZaCiZaCgZeAFo2JwGBV9YlSEghCHihCHghCHilERKloGKloGCloGXjAqBodR0SdGRSgIcagIcSgIcagYFaGiZaCiZaCgZeAFo2JwGBV9YlSEghCHihCHghCHilERKloGKloGCloGXjAqBodR0SdGRSgIcagIcSgIcagYFaGiZaCiZaCgZeAFo2JwGBV9YlSEghCHihCHghCHilERKloGKloGCloGXjAqBodR0SdGRSgIcagIcSgIcagYFaGiZaCiZaCgZeAFo2JwGBV9YlSEghCHihCHghCHilERKloGKloGCloGXjAqBodR0SdGRSgIcagIcSgIcagYFaGiZaCiZaCgZeAFo2JwGBV9YlSEghCHihCHghCHilERKloGKloGCloGXjAqBodR0SdGRSgIcagIcSgIcagYFaGiZaCiZaCgZeAFo2JwCvSo+Mvvf9nwSQ/Yt5s2W4Vyp1jMkM5W7aJKR3012vaIsQ2bNpuFhbm/V6J4UXv7mTnuf2dUhIIQh4oQh4IQh4pRESpaBipaBgpaBl4wKganQI+K7ftMsCtqVrE7bm1mb6393CbOecRefXyaRRaKyPAVadZ+mM2O6WOVKlY46ivFqAgFIQ4VIQ4FIQ4VoyJUtAxUtAwUtAy8YFQMToEdFbfv3GPX3jrY1q66zwpFHB4Rb+462ob2amc1q12Q4SvSoFU/W7FwtJU7tcxRXylGRSgIcagIcSgIcagYFaGiZaCiZaCgZeAFo2JwCuyo+On6TRYzY6k9+9D4tGd/UMx8q13jQmvdvGGGr0j1Jl2tfu2q9un6jVamdAkb0K2NNahzifuYrTvjg/vq4YRTuniU7TuYaAkJySfcx45gnFY62v7adTCYPxwnnMiIMCtetJDt3Jtwwn3sCEax6Aj38i774xKD+QBwwildPNL2xSdaQmLKCfexIxhlSxXmeyaELLJQuBUv4rTMoZDfBnC+Z0IwCuyo+P7HX9nsB1a6RyCmGjF5kZ1/7pl2e+umab+WnJxio6Ystkb1L7Ura1W1d9d9aUPGLbDnl06y8mXLWGIS4xBCFxEe5v6dIsMRqkIR4bzOIGRhYWEWHhZmScn824TQOH9fHMkp/MuE0ESEh7t/X1L4O4MQ0TJQOP8qhYc7LcO/Swid8zqDYBTYUfGzrzbZyNjF9uKyyWnPfN9Rc6xe7apHHal4pM79Y63V9fWteeM6nP4MCacMQcUpQ1BwyhBUnP4MFS0DFS0DBS0DLzj9OTgFdlTcuXuvNWoz0N57fp5FF45yvwLODVnGDelsNaqcn/YVORB30Db++GuGu0J36DvRbmvV2Jo2rMmoCAkhDhUhDgUhDhWjIlS0DFS0DBS0DLxgVAxOgR0VHXcMnGKXVq1sXW9rbq+uWWezF620lx+NdW/csmr1Wru8xr8tKirSrmnd32aO7W1X1qpi765bb4Nj5tuqZZPt5NIlGBUhIcShIsShIMShYlSEipaBipaBgpaBF4yKwSnQo+KWrdtt6ISF9vV3P9uZp5e1CcO62EWVz3G/GvVb9rVZMb3doxbf+XC9TZ2/3LZu22FnlD/VhvRqZ7WrX+g+jrs/Q0GIQ0WIQ0GIQ8WoCBUtAxUtAwUtAy8YFYNToEfFY4FREQpCHCpCHApCHCpGRahoGahoGShoGXjBqBgcRkWfGBWhIMShIsShIMShYlSEipaBipaBgpaBF4yKwWFU9IlREQpCHCpCHApCHCpGRahoGahoGShoGXjBqBgcRkWfGBWhIMShIsShIMShYlSEipaBipaBgpaBF4yKwWFU9IlREQpCHCpCHApCHCpGRahoGahoGShoGXjBqBgcRkWfGBWhIMShIsShIMShYlSEipaBipaBgpaBF4yKwWFU9IlREQpCHCpCHApCHCpGRahoGahoGShoGXjBqBgcRkWfGBWhIMShIsShIMShYlSEipaBipaBgpaBF4yKwWFU9IlREQpCHCpCHApCHCpGRahoGahoGShoGXjBqBgcRkWfGBWhIMShIsShIMShYlSEipaBipaBgpaBF4yKwWFU9IlREQpCHCpCHApCHCpGRahoGahoGShoGXjBqBgcRkWfGBWhIMShIsShIMShYlSEipaBipaBgpaBF4yKwWFU9IlREQpCHCpCHApCHCpGRahoGahoGShoGXjBqBgcRkWfGBWhIMShIsShIMShYlSEipaBipaBgpaBF4yKwWFU9IlREQpCHCpCHApCHCpGRahoGahoGShoGXjBqBgcRkWfGBWhIMShIsShIMShYlSEipaBipaBgpaBF4yKwWFU9IlREQpCHCpCHApCHCpGRahoGahoGShoGXjBqBgcRkWfGBWhIMShIsShIMShYlSEipaBipaBgpaBF4yKwWFU9IlREQpCHCpCHApCHCpGRahoGahoGShoGXjBqBgcRkWfGBWhIMShIsShIMShYlSEipaBipaBgpaBF4yKwWFU9IlREQpCHCpCHApCHCpGRahoGahoGShoGXjBqBgcRkWfGBWhIMShIsShIMShYlSEipaBipaBgpaBF4yKwWFU9IlREQpCHCpCHApCHCpGRahoGahoGShoGXjBqBgcRkWfGBWhIMShIsShIMShYlSEipaBipaBgpaBF4yKwWFU9IlREQpCHCpCHApCHCpGRahoGahoGShoGXjBqBgcRkWfGBWhIMShIsShIMShYlSEipaBipaBgpaBF4yKwWFU9IlREQpCHCpCHApCHCpGRahoGahoGShoGXjBqBgcRkWfGBWhIMShIsShIMShYlSEipaBipaBgpaBF4yKwWFU9IlREQpCHCpCHApCHCpGRahoGahoGShoGXjBqBgcRkWfGBWhIMShIsShIMShYlSEipaBipaBgpaBF4yKwWFU9IlREQpCHCpCHApCHCpGRahoGahoGShoGXjBqBgcRkWfGBWhIMShIsShIMShYlSEipaBipaBgpaBF4yKwWFUDMEvv/9lwyc9YN9u2mwVyp1iMUM6W7WLKrlvyagIBSEOFSEOBSEOFaMiVLQMVLQMFLQMvGBUDA6jYgja95lgV9SsYnfc2szeWvu5TZzziL36+DSLLBTBqAgJIQ4VIQ4FIQ4VoyJUtAxUtAwUtAy8YFQMDqNiDrbv3GPX3jrY1q66zwpFRLiPvrnraBvaq53VrHYBoyIkhDhUhDgUhDhUjIpQ0TJQ0TJQ0DLwglExOIyKOfh0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", "text/html": [ - "
\n", - " " - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.plotly.v1+json": { - "config": { - "plotlyServerURL": "https://plot.ly" - }, - "data": [ - { - "hovertemplate": "variable=ϵ1
Wavelength=%{x}
value=%{y}", - "legendgroup": "ϵ1", - "line": { - "color": "#636efa", - "dash": "solid" - }, - "marker": { - "symbol": "circle" - }, - "mode": "lines", - "name": "ϵ1", - "showlegend": true, - "type": "scattergl", - "x": [ - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500, - 501, - 502, - 503, - 504, - 505, - 506, - 507, - 508, - 509, - 510, - 511, - 512, - 513, - 514, - 515, - 516, - 517, - 518, - 519, - 520, - 521, - 522, - 523, - 524, - 525, - 526, - 527, - 528, - 529, - 530, - 531, - 532, - 533, - 534, - 535, - 536, - 537, - 538, - 539, - 540, - 541, - 542, - 543, - 544, - 545, - 546, - 547, - 548, - 549, - 550, - 551, - 552, - 553, - 554, - 555, - 556, - 557, - 558, - 559, - 560, - 561, - 562, - 563, - 564, - 565, - 566, - 567, - 568, - 569, - 570, - 571, - 572, - 573, - 574, - 575, - 576, - 577, - 578, - 579, - 580, - 581, - 582, - 583, - 584, - 585, - 586, - 587, - 588, - 589, - 590, - 591, - 592, - 593, - 594, - 595, - 596, - 597, - 598, - 599, - 600, - 601, - 602, - 603, - 604, - 605, - 606, - 607, - 608, - 609, - 610, - 611, - 612, - 613, - 614, - 615, - 616, - 617, - 618, - 619, - 620, - 621, - 622, - 623, - 624, - 625, - 626, - 627, - 628, - 629, - 630, - 631, - 632, - 633, - 634, - 635, - 636, - 637, - 638, - 639, - 640, - 641, - 642, - 643, - 644, - 645, - 646, - 647, - 648, - 649, - 650, - 651, - 652, - 653, - 654, - 655, - 656, - 657, - 658, - 659, - 660, - 661, - 662, - 663, - 664, - 665, - 666, - 667, - 668, - 669, - 670, - 671, - 672, - 673, - 674, - 675, - 676, - 677, - 678, - 679, - 680, - 681, - 682, - 683, - 684, - 685, - 686, - 687, - 688, - 689, - 690, - 691, - 692, - 693, - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000 - ], - "xaxis": "x", - "y": [ - 2.377764, - 2.375009877057658, - 2.3722981162633037, - 2.369627846891739, - 2.3669982206151743, - 2.364408410811813, - 2.3618576118993153, - 2.3593450386921213, - 2.3568699257816603, - 2.3544315269385065, - 2.3520291145356103, - 2.3496619789917412, - 2.3473294282343495, - 2.3450307871810603, - 2.342765397239072, - 2.3405326158217457, - 2.338331815881725, - 2.3361623854599234, - 2.3340237272497757, - 2.3319152581761666, - 2.3298364089884567, - 2.3277866238670897, - 2.32576536004324, - 2.323772087431028, - 2.321806288271814, - 2.3198674567901234, - 2.317955098860778, - 2.3160687316867987, - 2.3142078834876956, - 2.31237209319776, - 2.3105609101739915, - 2.308773893913303, - 2.3070106137786817, - 2.3052706487339663, - 2.3035535870869412, - 2.301859026240445, - 2.3001865724512127, - 2.2985358405961724, - 2.296906453945933, - 2.295298043945221, - 2.2937102499999997, - 2.292142719271074, - 2.2905951064739134, - 2.2890670736845204, - 2.2875582901511, - 2.28606843211136, - 2.2845971826152316, - 2.2831442313528396, - 2.281709274487532, - 2.280292014493812, - 2.2788921600000003, - 2.2775094256354658, - 2.276143531882292, - 2.274794204931204, - 2.273461176541645, - 2.272144183905844, - 2.270842969516754, - 2.2695572810397397, - 2.268286871187881, - 2.267031497600786, - 2.2657909227267954, - 2.2645649137084725, - 2.263353242271274, - 2.2621556846152986, - 2.2609720213100197, - 2.2598020371919025, - 2.258645521264823, - 2.2575022666031965, - 2.256372070257729, - 2.2552547331637194, - 2.2541500600518214, - 2.2530578593612023, - 2.2519779431550146, - 2.250910127038118, - 2.2498542300769766, - 2.2488100747216717, - 2.2477774867299645, - 2.2467562950933413, - 2.2457463319649946, - 2.2447474325896666, - 2.2437594352353183, - 2.242782181126548, - 2.2418155143797307, - 2.240859281939811, - 2.239913333518707, - 2.238977521535286, - 2.2380517010568455, - 2.2371357297420844, - 2.2362294677854933, - 2.2353327778631495, - 2.2344455250798476, - 2.2335675769175625, - 2.232698803185169, - 2.2318390759694173, - 2.230988269587103, - 2.2301462605384126, - 2.229312927461408, - 2.2284881510876144, - 2.2276718141986884, - 2.226863801584127, - 2.226064, - 2.2252722981286652, - 2.2244885865394526, - 2.22371275765028, - 2.22294470569018, - 2.222184326662714, - 2.2214315183102467, - 2.220686180079062, - 2.2199482130852917, - 2.2192175200816417, - 2.2184940054248905, - 2.2177775750441366, - 2.2170681364097895, - 2.21636559850326, - 2.215669871787357, - 2.2149808681773537, - 2.214298501012719, - 2.2136226850294833, - 2.2129533363332348, - 2.212290372372725, - 2.2116337119140623, - 2.2109832750154923, - 2.2103389830027314, - 2.2097007584448565, - 2.2090685251307294, - 2.2084422080459367, - 2.207821733350245, - 2.2072070283555476, - 2.2065980215042957, - 2.205994642348398, - 2.2053968215285837, - 2.2048044907542117, - 2.2042175827835124, - 2.203636031404261, - 2.203059771414866, - 2.202488738605857, - 2.2019228697417743, - 2.20136210254344, - 2.20080637567061, - 2.200255628704987, - 2.199709802133595, - 2.1991688373325062, - 2.198632676550902, - 2.1981012628954772, - 2.1975745403151574, - 2.1970524535861435, - 2.1965349482972623, - 2.1960219708356177, - 2.1955134683725417, - 2.1950093888498308, - 2.194509680966264, - 2.1940142941643965, - 2.1935231786176232, - 2.1930362852175045, - 2.1925535655613464, - 2.19207497194003, - 2.191600457326094, - 2.1911299753620437, - 2.190663480348904, - 2.190200927234997, - 2.189742271604938, - 2.18928746966886, - 2.18883647825184, - 2.188389254783542, - 2.187945757288057, - 2.187505944373949, - 2.1870697752244883, - 2.186637209588079, - 2.186208207768876, - 2.1857827306175723, - 2.185360739522378, - 2.1849421964001636, - 2.1845270636877774, - 2.1841153043335266, - 2.1837068817888263, - 2.18330176, - 2.1828999034002425, - 2.1825012769017325, - 2.182105845887894, - 2.1817135762058006, - 2.181324434158731, - 2.1809383864988554, - 2.1805554004200616, - 2.180175443550916, - 2.1797984839477538, - 2.179424490087899, - 2.1790534308630063, - 2.17868527557253, - 2.1783199939173117, - 2.1779575559932822, - 2.1775979322852836, - 2.1772410936610016, - 2.176887011365006, - 2.1765356570129066, - 2.1761870025856034, - 2.175841020423654, - 2.1754976832217325, - 2.1751569640231874, - 2.1748188362147083, - 2.1744832735210733, - 2.17415025, - 2.173819740037085, - 2.173491718340831, - 2.1731661599377654, - 2.1728430401676424, - 2.1725223346787317, - 2.1722040194231864, - 2.171888070652496, - 2.1715744649130158, - 2.1712631790415755, - 2.1709541901611638, - 2.170647475676688, - 2.1703430132708066, - 2.170040780899834, - 2.1697407567897127, - 2.169442919432063, - 2.1691472475802884, - 2.168853720245757, - 2.1685623166940444, - 2.1682730164412387, - 2.1679857992503124, - 2.167700645127551, - 2.167417534319045, - 2.1671364473072403, - 2.1668573648075444, - 2.166580267764993, - 2.1663051373509687, - 2.1660319549599762, - 2.1657607022064704, - 2.165491360921741, - 2.165223913150838, - 2.164958341149563, - 2.164694627381497, - 2.1644327545150803, - 2.1641727054207487, - 2.163914463168104, - 2.1636580110231387, - 2.1634033324455024, - 2.163150411085813, - 2.1628992307830166, - 2.162649775561779, - 2.1624020296299284, - 2.16215597737594, - 2.1619116033664514, - 2.1616688923438274, - 2.1614278292237596, - 2.161188399092905, - 2.1609505872065604, - 2.1607143789863756, - 2.160479760018104, - 2.1602467160493823, - 2.1600152329875577, - 2.1597852968975313, - 2.159556893999655, - 2.1593300106676443, - 2.1591046334265362, - 2.158880748950668, - 2.1586583440616995, - 2.158437405726654, - 2.1582179210560004, - 2.1579998773017532, - 2.157783261855614, - 2.1575680622471323, - 2.157354266141899, - 2.157141861339764, - 2.1569308357730903, - 2.1567211775050175, - 2.1565128747277704, - 2.156305915760981, - 2.1561002890500403, - 2.155895983164473, - 2.1556929867963412, - 2.155491288758666, - 2.1552908779838758, - 2.1550917435222794, - 2.1548938745405573, - 2.1546972603202823, - 2.154501890256455, - 2.154307753856063, - 2.1541148407366677, - 2.153923140625, - 2.15373264335559, - 2.1535433388694054, - 2.153355217212518, - 2.1531682685347846, - 2.15298248308855, - 2.1527978512273673, - 2.152614363404739, - 2.152432010172874, - 2.152250782181463, - 2.1520706701764727, - 2.1518916649989572, - 2.1517137575838863, - 2.151536938958989, - 2.151361200243617, - 2.1511865326476216, - 2.1510129274702465, - 2.150840376099041, - 2.150668870008781, - 2.150498400760411, - 2.15032896, - 2.150160539457712, - 2.1499931309467906, - 2.149826726362555, - 2.149661317681419, - 2.149496896959911, - 2.14933345633372, - 2.1491709880167478, - 2.149009484300174, - 2.1488489375515405, - 2.148689340213838, - 2.1485306848046197, - 2.1483729639151097, - 2.1482161702093405, - 2.1480602964232935, - 2.147905335364048, - 2.1477512799089507, - 2.147598123004793, - 2.147445857666998, - 2.1472944769788174, - 2.1471439740905427, - 2.14699434221873, - 2.1468455746454236, - 2.146697664717405, - 2.146550605845439, - 2.14640439150354, - 2.1462590152282415, - 2.1461144706178774, - 2.145970751331876, - 2.1458278510900586, - 2.145685763671948, - 2.1455444829160935, - 2.145404002719393, - 2.1452643170364323, - 2.145125419878834, - 2.1449873053146082, - 2.1448499674675174, - 2.144713400516448, - 2.1445775986947906, - 2.1444425562898273, - 2.1443082676421277, - 2.1441747271449527, - 2.1440419292436665, - 2.143909868435156, - 2.1437785392672573, - 2.14364793633819, - 2.1435180542959986, - 2.1433888878380025, - 2.143260431710249, - 2.143132680706982, - 2.1430056296701046, - 2.1428792734886604, - 2.1427536070983164, - 2.142628625480852, - 2.1425043236636543, - 2.142380696719225, - 2.142257739764685, - 2.1421354479612917, - 2.1420138165139617, - 2.141892840670795, - 2.1417725157226157, - 2.1416528370025003, - 2.1415337998853334, - 2.1414153997873533, - 2.1412976321657093, - 2.1411804925180236, - 2.1410639763819606, - 2.140948079334798, - 2.140832796993005, - 2.1407181250118272, - 2.1406040590848745, - 2.1404905949437154, - 2.140377728357473, - 2.1402654551324325, - 2.1401537711116485, - 2.1400426721745562, - 2.139932154236593, - 2.1398222132488196, - 2.1397128451975465, - 2.1396040461039663, - 2.1394958120237924, - 2.1393881390468974, - 2.1392810232969586, - 2.139174460931108, - 2.1390684481395867, - 2.1389629811454016, - 2.1388580562039876, - 2.138753669602874, - 2.138649817661355, - 2.138546496730164, - 2.138443703191149, - 2.138341433456957, - 2.1382396839707205, - 2.138138451205744, - 2.1380377316651984, - 2.1379375218818164, - 2.1378378184175966, - 2.137738617863503, - 2.137639916839173, - 2.137541711992631, - 2.137444, - 2.137346777565219, - 2.1372500414197653, - 2.1371537883223786, - 2.1370580150587863, - 2.136962718441435, - 2.1368678953092255, - 2.136773542527248, - 2.1366796569865225, - 2.1365862356037417, - 2.136493275321015, - 2.1364007731056205, - 2.1363087259497533, - 2.1362171308702833, - 2.136125984908508, - 2.136035285129917, - 2.1359450286239534, - 2.135855212503777, - 2.1357658339060355, - 2.135676889990635, - 2.1355883779405125, - 2.13550029496141, - 2.135412638281658, - 2.135325405151952, - 2.135238592845138, - 2.1351521986559994, - 2.1350662199010437, - 2.134980653918293, - 2.134895498067078, - 2.134810749727835, - 2.1347264063019007, - 2.1346424652113143, - 2.1345589238986173, - 2.134475779826663, - 2.134393030478415, - 2.1343106733567656, - 2.134228705984337, - 2.1341471259033034, - 2.1340659306751975, - 2.1339851178807354, - 2.133904685119629, - 2.133824630010411, - 2.1337449501902586, - 2.1336656433148145, - 2.133586707058017, - 2.133508139111928, - 2.133429937186565, - 2.1333520990097283, - 2.1332746223268435, - 2.1331975049007905, - 2.1331207445117464, - 2.1330443389570215, - 2.132968286050902, - 2.132892583624494, - 2.1328172295255676, - 2.132742221618402, - 2.132667557783637, - 2.1325932359181206, - 2.132519253934757, - 2.132445609762367, - 2.1323723013455362, - 2.1322993266444743, - 2.1322266836348716, - 2.1321543703077563, - 2.1320823846693604, - 2.1320107247409763, - 2.131939388558822, - 2.1318683741739073, - 2.1317976796518994, - 2.131727303072991, - 2.1316572425317672, - 2.131587496137082, - 2.131518062011922, - 2.131448938293286, - 2.131380123132059, - 2.131311614692882, - 2.1312434111540393, - 2.1311755107073282, - 2.131107911557943, - 2.131040611924355, - 2.130973610038194, - 2.1309069041441338, - 2.1308404924997744, - 2.13077437337553, - 2.1307085450545142, - 2.1306430058324284, - 2.1305777540174535, - 2.1305127879301353, - 2.130448105903283, - 2.1303837062818554, - 2.130319587422858, - 2.130255747695238, - 2.1301921854797787, - 2.130128899168998, - 2.130065887167044, - 2.130003147889598, - 2.129940679763771, - 2.129878481228007, - 2.1298165507319817, - 2.1297548867365115, - 2.129693487713453, - 2.129632352145607, - 2.1295714785266293, - 2.1295108653609334, - 2.129450511163601, - 2.1293904144602895, - 2.12933057378714, - 2.129270987690692, - 2.1292116547277913, - 2.1291525734655026, - 2.1290937424810266, - 2.1290351603616084, - 2.128976825704456, - 2.1289187371166567, - 2.128860893215088, - 2.1288032926263454, - 2.1287459339866484, - 2.128688815941769, - 2.1286319371469484, - 2.1285752962668143, - 2.1285188919753084, - 2.128462722955604, - 2.1284067879000292, - 2.1283510855099936, - 2.128295614495911, - 2.128240373577121, - 2.128185361481823, - 2.1281305769469925, - 2.1280760187183185, - 2.128021685550125, - 2.1279675762053007, - 2.1279136894552297, - 2.1278600240797214, - 2.1278065788669407, - 2.1277533526133388, - 2.1277003441235873, - 2.127647552210507, - 2.1275949756950077, - 2.127542613406013, - 2.127490464180406, - 2.1274385268629534, - 2.12738680030625, - 2.1273352833706505, - 2.1272839749242065, - 2.1272328738426087, - 2.1271819790091184, - 2.1271312893145113, - 2.127080803657016, - 2.1270305209422515, - 2.1269804400831704, - 2.12693056, - 2.1268808796201815, - 2.126831397878314, - 2.1267821137160983, - 2.126733026082277, - 2.12668413393258, - 2.1266354362296713, - 2.1265869319430886, - 2.1265386200491925, - 2.1264904995311116, - 2.126442569378688, - 2.1263948285884244, - 2.126347276163432, - 2.126299911113379, - 2.1262527324544354, - 2.126205739209227, - 2.126158930406779, - 2.1261123050824717, - 2.1260658622779847, - 2.126019601041252, - 2.125973520426412, - 2.1259276194937566, - 2.1258818973096862, - 2.125836352946661, - 2.125790985483153, - 2.1257457940036013, - 2.125700777598363, - 2.12565593536367, - 2.125611266401582, - 2.1255667698199403, - 2.125522444732327, - 2.1254782902580174, - 2.125434305521937, - 2.1253904896546167, - 2.1253468417921537, - 2.1253033610761642, - 2.125260046653744, - 2.1252168976774257, - 2.1251739133051366, - 2.125131092700158, - 2.125088435031085, - 2.125045939471785, - 2.125003605201358, - 2.124961431404097, - 2.1249194172694494, - 2.124877561991975, - 2.12483586477131, - 2.12479432481213, - 2.124752941324107, - 2.124711713521878, - 2.1246706406249998, - 2.124629721857921, - 2.124588956449938, - 2.124548343635162, - 2.1245078826524835, - 2.1244675727455338, - 2.124427413162653, - 2.1243874031568497, - 2.1243475419857742, - 2.1243078289116752, - 2.124268263201371, - 2.124228844126216, - 2.1241895709620624, - 2.124150442989232, - 2.1241114594924793, - 2.1240726197609616, - 2.124033923088205, - 2.1239953687720723, - 2.123956956114731, - 2.1239186844226223, - 2.1238805530064293, - 2.1238425611810445, - 2.1238047082655434, - 2.1237669935831476, - 2.1237294164611997, - 2.1236919762311315, - 2.123654672228432, - 2.1236175037926217, - 2.1235804702672207, - 2.1235435709997206, - 2.123506805341554, - 2.1234701726480703, - 2.1234336722785017, - 2.1233973035959393, - 2.123361065967303, - 2.123324958763316, - 2.1232889813584745, - 2.1232531331310236, - 2.1232174134629274, - 2.1231818217398457, - 2.1231463573511036, - 2.1231110196896696, - 2.1230758081521244, - 2.123040722138642, - 2.1230057610529554, - 2.1229709243023396, - 2.1229362112975805, - 2.1229016214529532, - 2.122867154186196, - 2.122832808918485, - 2.1227985850744124, - 2.122764482081959, - 2.1227304993724734, - 2.1226966363806463, - 2.1226628925444855, - 2.122629267305298, - 2.1225957601076617, - 2.1225623703994017, - 2.1225290976315727, - 2.122495941258433, - 2.122462900737422, - 2.1224299755291383, - 2.122397165097317, - 2.1223644689088115, - 2.1223318864335656, - 2.122299417144598, - 2.1222670605179763, - 2.1222348160327993, - 2.122202683171172, - 2.1221706614181914, - 2.1221387502619184, - 2.1221069491933604, - 2.122075257706453, - 2.1220436752980363, - 2.122012201467838, - 2.1219808357184506, - 2.121949577555314, - 2.1219184264866953, - 2.121887382023668, - 2.1218564436800964, - 2.121825610972611, - 2.1217948834205957, - 2.1217642605461644, - 2.121733741874144, - 2.121703326932058, - 2.121673015250103, - 2.1216428063611352, - 2.1216126998006515, - 2.12158269510677, - 2.1215527918202146, - 2.1215229894842933, - 2.1214932876448858, - 2.1214636858504234, - 2.1214341836518704, - 2.121404780602712, - 2.1213754762589305, - 2.1213462701789956, - 2.1213171619238413, - 2.121288151056855, - 2.1212592371438577, - 2.1212304197530862, - 2.121201698455183, - 2.1211730728231735, - 2.1211445424324555, - 2.1211161068607787, - 2.1210877656882334, - 2.121059518497232, - 2.121031364872494, - 2.121003304401033, - 2.1209753366721373, - 2.12094746127736, - 2.1209196778105004, - 2.120891985867588, - 2.120864385046874, - 2.120836874948809, - 2.120809455176034, - 2.1207821253333643, - 2.120754885027774, - 2.1207277338683834, - 2.1207006714664454, - 2.1206736974353295, - 2.120646811390509, - 2.120620012949549, - 2.120593301732089, - 2.1205666773598337, - 2.1205401394565353, - 2.1205136876479846, - 2.1204873215619933, - 2.120461040828385, - 2.120434845078978, - 2.1204087339475763, - 2.120382707069956, - 2.1203567640838497, - 2.1203309046289363, - 2.120305128346829, - 2.12027943488106, - 2.120253823877073, - 2.120228294982205, - 2.1202028478456794, - 2.1201774821185895, - 2.1201521974538906, - 2.120126993506385, - 2.1201018699327125, - 2.1200768263913363, - 2.1200518625425326, - 2.120026978048381, - 2.120002172572748, - 2.1199774457812826, - 2.119952797341397, - 2.119928226922263, - 2.1199037341947955, - 2.119879318831645, - 2.1198549805071827, - 2.1198307188974947, - 2.119806533680366, - 2.1197824245352743, - 2.1197583911433755, - 2.1197344331874968, - 2.1197105503521225, - 2.119686742323387, - 2.1196630087890624, - 2.1196393494385486, - 2.119615763962863, - 2.1195922520546326, - 2.1195688134080783, - 2.1195454477190134, - 2.1195221546848253, - 2.1194989340044708, - 2.119475785378465, - 2.119452708508872, - 2.119429703099294, - 2.119406768854863, - 2.1193839054822314, - 2.1193611126895617, - 2.1193383901865173, - 2.119315737684255, - 2.119293154895412, - 2.119270641534102, - 2.119248197315902, - 2.119225821957844, - 2.119203515178407, - 2.1191812766975096, - 2.1191591062364963, - 2.1191370035181345, - 2.1191149682666013, - 2.1190930002074784, - 2.11907109906774, - 2.1190492645757484, - 2.119027496461242, - 2.119005794455328, - 2.118984158290476, - 2.1189625877005063, - 2.118941082420584, - 2.1189196421872114, - 2.118898266738218, - 2.1188769558127527, - 2.118855709151278, - 2.1188345264955597, - 2.11881340758866, - 2.1187923521749297, - 2.11877136 - ], - "yaxis": "y" - }, - { - "hovertemplate": "variable=ϵ2
Wavelength=%{x}
value=%{y}", - "legendgroup": "ϵ2", - "line": { - "color": "#EF553B", - "dash": "solid" - }, - "marker": { - "symbol": "circle" - }, - "mode": "lines", - "name": "ϵ2", - "showlegend": true, - "type": "scattergl", - "x": [ - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500, - 501, - 502, - 503, - 504, - 505, - 506, - 507, - 508, - 509, - 510, - 511, - 512, - 513, - 514, - 515, - 516, - 517, - 518, - 519, - 520, - 521, - 522, - 523, - 524, - 525, - 526, - 527, - 528, - 529, - 530, - 531, - 532, - 533, - 534, - 535, - 536, - 537, - 538, - 539, - 540, - 541, - 542, - 543, - 544, - 545, - 546, - 547, - 548, - 549, - 550, - 551, - 552, - 553, - 554, - 555, - 556, - 557, - 558, - 559, - 560, - 561, - 562, - 563, - 564, - 565, - 566, - 567, - 568, - 569, - 570, - 571, - 572, - 573, - 574, - 575, - 576, - 577, - 578, - 579, - 580, - 581, - 582, - 583, - 584, - 585, - 586, - 587, - 588, - 589, - 590, - 591, - 592, - 593, - 594, - 595, - 596, - 597, - 598, - 599, - 600, - 601, - 602, - 603, - 604, - 605, - 606, - 607, - 608, - 609, - 610, - 611, - 612, - 613, - 614, - 615, - 616, - 617, - 618, - 619, - 620, - 621, - 622, - 623, - 624, - 625, - 626, - 627, - 628, - 629, - 630, - 631, - 632, - 633, - 634, - 635, - 636, - 637, - 638, - 639, - 640, - 641, - 642, - 643, - 644, - 645, - 646, - 647, - 648, - 649, - 650, - 651, - 652, - 653, - 654, - 655, - 656, - 657, - 658, - 659, - 660, - 661, - 662, - 663, - 664, - 665, - 666, - 667, - 668, - 669, - 670, - 671, - 672, - 673, - 674, - 675, - 676, - 677, - 678, - 679, - 680, - 681, - 682, - 683, - 684, - 685, - 686, - 687, - 688, - 689, - 690, - 691, - 692, - 693, - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000 - ], - "xaxis": "x", - "y": [ - 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, - 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, - 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, - 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, - 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, - 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, - 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, - 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, - 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, - 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, - 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, - 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, - 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, - 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, - 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, - 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, - 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, - 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, - 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, - 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, - 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, - 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, - 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, - 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, - 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, - 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, - 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, - 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, - 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, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0 - ], - "yaxis": "y" - } - ], - "layout": { - "legend": { - "title": { - "text": "variable" - }, - "tracegroupgap": 0 - }, - "margin": { - "t": 60 - }, - "template": { - "data": { - "bar": [ - { - "error_x": { - "color": "#2a3f5f" - }, - "error_y": { - "color": "#2a3f5f" - }, - "marker": { - "line": { - "color": "#E5ECF6", - "width": 0.5 - }, - "pattern": { - "fillmode": "overlay", - "size": 10, - "solidity": 0.2 - } - }, - "type": "bar" - } - ], - "barpolar": [ - { - "marker": { - "line": { - "color": "#E5ECF6", - "width": 0.5 - }, - "pattern": { - "fillmode": "overlay", - "size": 10, - "solidity": 0.2 - } - }, - "type": "barpolar" - } - ], - "carpet": [ - { - "aaxis": { - "endlinecolor": "#2a3f5f", - "gridcolor": "white", - "linecolor": "white", - "minorgridcolor": "white", - "startlinecolor": "#2a3f5f" - }, - "baxis": { - "endlinecolor": "#2a3f5f", - "gridcolor": "white", - "linecolor": "white", - "minorgridcolor": "white", - "startlinecolor": "#2a3f5f" - }, - "type": "carpet" - } - ], - "choropleth": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "type": "choropleth" - } - ], - "contour": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "contour" - } - ], - "contourcarpet": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "type": "contourcarpet" - } - ], - "heatmap": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "heatmap" - } - ], - "heatmapgl": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "heatmapgl" - } - ], - "histogram": [ - { - "marker": { - "pattern": { - "fillmode": "overlay", - "size": 10, - "solidity": 0.2 - } - }, - "type": "histogram" - } - ], - "histogram2d": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "histogram2d" - } - ], - "histogram2dcontour": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "histogram2dcontour" - } - ], - "mesh3d": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "type": "mesh3d" - } - ], - "parcoords": [ - { - "line": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "parcoords" - } - ], - "pie": [ - { - "automargin": true, - "type": "pie" - } - ], - "scatter": [ - { - "fillpattern": { - "fillmode": "overlay", - "size": 10, - "solidity": 0.2 - }, - "type": "scatter" - } - ], - "scatter3d": [ - { - "line": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scatter3d" - } - ], - "scattercarpet": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scattercarpet" - } - ], - "scattergeo": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scattergeo" - } - ], - "scattergl": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scattergl" - } - ], - "scattermapbox": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scattermapbox" - } - ], - "scatterpolar": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scatterpolar" - } - ], - "scatterpolargl": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scatterpolargl" - } - ], - "scatterternary": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scatterternary" - } - ], - "surface": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "surface" - } - ], - "table": [ - { - "cells": { - "fill": { - "color": "#EBF0F8" - }, - "line": { - "color": "white" - } - }, - "header": { - "fill": { - "color": "#C8D4E3" - }, - "line": { - "color": "white" - } - }, - "type": "table" - } - ] - }, - "layout": { - "annotationdefaults": { - "arrowcolor": "#2a3f5f", - "arrowhead": 0, - "arrowwidth": 1 - }, - "autotypenumbers": "strict", - "coloraxis": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "colorscale": { - "diverging": [ - [ - 0, - "#8e0152" - ], - [ - 0.1, - "#c51b7d" - ], - [ - 0.2, - "#de77ae" - ], - [ - 0.3, - "#f1b6da" - ], - [ - 0.4, - "#fde0ef" - ], - [ - 0.5, - "#f7f7f7" - ], - [ - 0.6, - "#e6f5d0" - ], - [ - 0.7, - "#b8e186" - ], - [ - 0.8, - "#7fbc41" - ], - [ - 0.9, - "#4d9221" - ], - [ - 1, - "#276419" - ] - ], - "sequential": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "sequentialminus": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ] - }, - "colorway": [ - "#636efa", - "#EF553B", - "#00cc96", - "#ab63fa", - "#FFA15A", - "#19d3f3", - "#FF6692", - "#B6E880", - "#FF97FF", - "#FECB52" - ], - "font": { - "color": "#2a3f5f" - }, - "geo": { - "bgcolor": "white", - "lakecolor": "white", - "landcolor": "#E5ECF6", - "showlakes": true, - "showland": true, - "subunitcolor": "white" - }, - "hoverlabel": { - "align": "left" - }, - "hovermode": "closest", - "mapbox": { - "style": "light" - }, - "paper_bgcolor": "white", - "plot_bgcolor": "#E5ECF6", - "polar": { - "angularaxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - }, - "bgcolor": "#E5ECF6", - "radialaxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - } - }, - "scene": { - "xaxis": { - "backgroundcolor": "#E5ECF6", - "gridcolor": "white", - "gridwidth": 2, - "linecolor": "white", - "showbackground": true, - "ticks": "", - "zerolinecolor": "white" - }, - "yaxis": { - "backgroundcolor": "#E5ECF6", - "gridcolor": "white", - "gridwidth": 2, - "linecolor": "white", - "showbackground": true, - "ticks": "", - "zerolinecolor": "white" - }, - "zaxis": { - "backgroundcolor": "#E5ECF6", - "gridcolor": "white", - "gridwidth": 2, - "linecolor": "white", - "showbackground": true, - "ticks": "", - "zerolinecolor": "white" - } - }, - "shapedefaults": { - "line": { - "color": "#2a3f5f" - } - }, - "ternary": { - "aaxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - }, - "baxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - }, - "bgcolor": "#E5ECF6", - "caxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - } - }, - "title": { - "x": 0.05 - }, - "xaxis": { - "automargin": true, - "gridcolor": "white", - "linecolor": "white", - "ticks": "", - "title": { - "standoff": 15 - }, - "zerolinecolor": "white", - "zerolinewidth": 2 - }, - "yaxis": { - "automargin": true, - "gridcolor": "white", - "linecolor": "white", - "ticks": "", - "title": { - "standoff": 15 - }, - "zerolinecolor": "white", - "zerolinewidth": 2 - } - } - }, - "xaxis": { - "anchor": "y", - "domain": [ - 0, - 1 - ], - "title": { - "text": "Wavelength" - } - }, - "yaxis": { - "anchor": "x", - "domain": [ - 0, - 1 - ], - "title": { - "text": "value" - } - } - } - }, - "text/html": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "fitted_model = elli.Cauchy(\n", " fit_stats.params[\"SiO2_n0\"],\n", @@ -4641,4155 +350,15 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": null, "metadata": { "collapsed": false, - "execution": { - "iopub.execute_input": "2025-09-23T20:59:19.290845Z", - "iopub.status.busy": "2025-09-23T20:59:19.290741Z", - "iopub.status.idle": "2025-09-23T20:59:19.319022Z", - "shell.execute_reply": "2025-09-23T20:59:19.318633Z", - "shell.execute_reply.started": "2025-09-23T20:59:19.290834Z" - }, "jupyter": { "outputs_hidden": false - } + }, + "scrolled": true }, - "outputs": [ - { - "data": { - "application/vnd.plotly.v1+json": { - "config": { - "plotlyServerURL": "https://plot.ly" - }, - "data": [ - { - "hovertemplate": "variable=n
Wavelength=%{x}
value=%{y}", - "legendgroup": "n", - "line": { - "color": "#636efa", - "dash": "solid" - }, - "marker": { - "symbol": "circle" - }, - "mode": "lines", - "name": "n", - "showlegend": true, - "type": "scattergl", - "x": [ - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500, - 501, - 502, - 503, - 504, - 505, - 506, - 507, - 508, - 509, - 510, - 511, - 512, - 513, - 514, - 515, - 516, - 517, - 518, - 519, - 520, - 521, - 522, - 523, - 524, - 525, - 526, - 527, - 528, - 529, - 530, - 531, - 532, - 533, - 534, - 535, - 536, - 537, - 538, - 539, - 540, - 541, - 542, - 543, - 544, - 545, - 546, - 547, - 548, - 549, - 550, - 551, - 552, - 553, - 554, - 555, - 556, - 557, - 558, - 559, - 560, - 561, - 562, - 563, - 564, - 565, - 566, - 567, - 568, - 569, - 570, - 571, - 572, - 573, - 574, - 575, - 576, - 577, - 578, - 579, - 580, - 581, - 582, - 583, - 584, - 585, - 586, - 587, - 588, - 589, - 590, - 591, - 592, - 593, - 594, - 595, - 596, - 597, - 598, - 599, - 600, - 601, - 602, - 603, - 604, - 605, - 606, - 607, - 608, - 609, - 610, - 611, - 612, - 613, - 614, - 615, - 616, - 617, - 618, - 619, - 620, - 621, - 622, - 623, - 624, - 625, - 626, - 627, - 628, - 629, - 630, - 631, - 632, - 633, - 634, - 635, - 636, - 637, - 638, - 639, - 640, - 641, - 642, - 643, - 644, - 645, - 646, - 647, - 648, - 649, - 650, - 651, - 652, - 653, - 654, - 655, - 656, - 657, - 658, - 659, - 660, - 661, - 662, - 663, - 664, - 665, - 666, - 667, - 668, - 669, - 670, - 671, - 672, - 673, - 674, - 675, - 676, - 677, - 678, - 679, - 680, - 681, - 682, - 683, - 684, - 685, - 686, - 687, - 688, - 689, - 690, - 691, - 692, - 693, - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000 - ], - "xaxis": "x", - "y": [ - 1.542, - 1.5411067052795722, - 1.5402266444466228, - 1.5393595573782426, - 1.5385051903114186, - 1.5376632956573468, - 1.536833631822038, - 1.5360159630329762, - 1.5352100591715976, - 1.5344156956113641, - 1.5336326530612245, - 1.532860717414254, - 1.5320996796012816, - 1.5313493354493155, - 1.530609485544589, - 1.529879935100054, - 1.5291604938271603, - 1.5284509758117606, - 1.5277511993939903, - 1.5270609870519798, - 1.5263801652892561, - 1.5257085645257058, - 1.5250460189919648, - 1.5243923666271189, - 1.523747448979592, - 1.523111111111111, - 1.5224832015036416, - 1.5218635719691824, - 1.5212520775623268, - 1.52064857649549, - 1.5200529300567107, - 1.5194650025299374, - 1.518884661117717, - 1.5183117758661975, - 1.5177462195923734, - 1.5171878678134902, - 1.5166365986785406, - 1.5160922929017786, - 1.515554833698185, - 1.5150241067208208, - 1.5145, - 1.5139824038842307, - 1.5134712109828563, - 1.512966316110349, - 1.5124676162321955, - 1.5119750104123282, - 1.5114883997620463, - 1.511007687390385, - 1.5105327783558793, - 1.5100635796196835, - 1.5096, - 1.5091419501277756, - 1.508689342403628, - 1.5082420909559593, - 1.507800111600223, - 1.5073633217993079, - 1.506931640625, - 1.5065049887204953, - 1.5060832882639263, - 1.5056664629328722, - 1.5052544378698225, - 1.5048471396485665, - 1.5044444962414778, - 1.5040464369876678, - 1.5036528925619834, - 1.5032637949448202, - 1.5028790773927299, - 1.5024986744097968, - 1.5021225217197594, - 1.501750556238858, - 1.5013827160493827, - 1.5010189403739056, - 1.500659169550173, - 1.5003033450066416, - 1.4999514092386381, - 1.499603305785124, - 1.4992589792060491, - 1.498918375060277, - 1.498581439884064, - 1.4982481211700773, - 1.4979183673469387, - 1.4975921277592734, - 1.497269352648257, - 1.49694999313264, - 1.49663400119024, - 1.4963213296398892, - 1.49601193212382, - 1.495705763090483, - 1.4954027777777776, - 1.495102932196693, - 1.4948061831153387, - 1.4945124880433627, - 1.4942218052167386, - 1.4939340935829188, - 1.493649312786339, - 1.493367423154266, - 1.4930883856829802, - 1.4928121620242831, - 1.492538714472321, - 1.4922680059507163, - 1.492, - 1.4917346607653337, - 1.4914719529845182, - 1.4912118419762768, - 1.4909542936288087, - 1.4906992743886052, - 1.4904467512495194, - 1.4901966917420875, - 1.48994906392309, - 1.48970383636535, - 1.4894609781477628, - 1.4892204588455453, - 1.48898224852071, - 1.4887463177127458, - 1.4885126374295103, - 1.488281179138322, - 1.4880519147572504, - 1.4878248166465982, - 1.4875998576005696, - 1.487377010839123, - 1.48715625, - 1.4869375491309285, - 1.4867208826819953, - 1.4865062254981836, - 1.4862935528120713, - 1.4860828402366864, - 1.4858740637585155, - 1.4856671997306623, - 1.485462224866151, - 1.4852591162313726, - 1.4850578512396693, - 1.4848584076450562, - 1.484660763536072, - 1.484464897329762, - 1.4842707877657857, - 1.484078413900646, - 1.4838877551020409, - 1.4836987910433304, - 1.4835115016981197, - 1.4833258673349519, - 1.4831418685121107, - 1.4829594860725313, - 1.4827787011388118, - 1.4825994951083308, - 1.4824218496484587, - 1.4822457466918715, - 1.4820711684319556, - 1.4818980973183067, - 1.4817265160523185, - 1.4815564075828604, - 1.4813877551020407, - 1.481220542041055, - 1.4810547520661157, - 1.4808903690744648, - 1.4807273771904625, - 1.4805657607617535, - 1.4804055043555107, - 1.480246592754749, - 1.4800890109547142, - 1.4799327441593408, - 1.4797777777777776, - 1.4796240974209836, - 1.4794716888983852, - 1.4793205382146029, - 1.4791706315662358, - 1.4790219553387127, - 1.478874496103198, - 1.4787282406135616, - 1.4785831758034027, - 1.4784392887831317, - 1.4782965668371073, - 1.4781549974208266, - 1.4780145681581685, - 1.4778752668386892, - 1.4777370814149675, - 1.4776, - 1.4774640108646446, - 1.4773291024351116, - 1.4771952632905014, - 1.477062482160386, - 1.4769307479224376, - 1.4768000496000993, - 1.476670376360297, - 1.4765417175111972, - 1.4764140625, - 1.4762874009107776, - 1.476161722462348, - 1.4760370170061894, - 1.4759132745243915, - 1.4757904851276424, - 1.4756686390532543, - 1.4755477266632218, - 1.4754277384423156, - 1.4753086649962124, - 1.4751904970496534, - 1.4750732254446401, - 1.4749568411386593, - 1.4748413352029388, - 1.4747266988207368, - 1.4746129232856577, - 1.4745, - 1.4743879204731314, - 1.4742766763198931, - 1.4741662592590312, - 1.4740566611116557, - 1.4739478737997256, - 1.4738398893445606, - 1.473732699865378, - 1.4736262975778547, - 1.473520674792714, - 1.4734158239143367, - 1.4733117374393947, - 1.4732084079555094, - 1.4731058281399316, - 1.473003990758244, - 1.472902888663086, - 1.4728025147928994, - 1.472702862170695, - 1.472603923902841, - 1.4725056931778697, - 1.472408163265306, - 1.472311327514514, - 1.4722151793535634, - 1.4721197122881142, - 1.4720249199003204, - 1.4719307958477508, - 1.471837333862329, - 1.4717445277492884, - 1.4716523713861471, - 1.471560858721698, - 1.4714699837750134, - 1.471379740634471, - 1.47129012345679, - 1.471201126466086, - 1.4711127439529401, - 1.471024970273484, - 1.4709377998484976, - 1.4708512271625238, - 1.4707652467629948, - 1.470679853259375, - 1.4705950413223141, - 1.4705108056828173, - 1.4704271411314265, - 1.4703440425174141, - 1.4702615047479912, - 1.4701795227875267, - 1.4700980916567796, - 1.4700172064321426, - 1.4699368622448978, - 1.4698570542804847, - 1.4697777777777776, - 1.4696990280283775, - 1.4696208003759104, - 1.4695430902153415, - 1.4694658929922955, - 1.469389204202391, - 1.4693130193905817, - 1.4692373341505107, - 1.4691621441238725, - 1.4690874449997864, - 1.4690132325141776, - 1.4689395024491696, - 1.4688662506324843, - 1.468793472936852, - 1.4687211652794292, - 1.468649323621228, - 1.4685779439665494, - 1.46850702236243, - 1.4684365548980933, - 1.4683665377044113, - 1.4682969669533725, - 1.46822783885756, - 1.4681591496696351, - 1.4680908956818293, - 1.4680230732254447, - 1.46795567867036, - 1.4678887084245462, - 1.4678221589335865, - 1.4677560266802052, - 1.4676903081838033, - 1.467625, - 1.4675600987201818, - 1.4674956009710576, - 1.46743150341422, - 1.467367802745714, - 1.4673044956956105, - 1.4672415790275872, - 1.4671790495385146, - 1.467116904058049, - 1.4670551394482292, - 1.466993752603082, - 1.466932740448231, - 1.4668720999405116, - 1.4668118280675913, - 1.4667519218475962, - 1.466692378328742, - 1.4666331945889697, - 1.4665743677355885, - 1.4665158949049208, - 1.4664577732619548, - 1.4664, - 1.4663425723403491, - 1.466285487531944, - 1.4662287428510448, - 1.466172335600907, - 1.4661162631114597, - 1.4660605227389898, - 1.466005111865831, - 1.4659500279000557, - 1.4658952682751727, - 1.465840830449827, - 1.4657867119075065, - 1.46573291015625, - 1.4656794227283607, - 1.4656262471801238, - 1.4655733810915261, - 1.4655208220659817, - 1.4654685677300598, - 1.465416615733218, - 1.4653649637475359, - 1.4653136094674555, - 1.4652625506095247, - 1.4652117849121415, - 1.4651613101353056, - 1.4651111240603694, - 1.4650612244897958, - 1.465011609246917, - 1.4649622761756964, - 1.4649132231404958, - 1.4648644480258433, - 1.464815948736205, - 1.464767723195761, - 1.4647197693481824, - 1.4646720851564121, - 1.464624668602449, - 1.4645775176871343, - 1.46453063042994, - 1.464484004868762, - 1.4644376390597145, - 1.4643915310769273, - 1.4643456790123457, - 1.464300080975533, - 1.4642547350934763, - 1.4642096395103934, - 1.4641647923875432, - 1.4641201919030384, - 1.4640758362516604, - 1.4640317236446765, - 1.4639878523096594, - 1.4639442204903101, - 1.463900826446281, - 1.4638576684530025, - 1.4638147448015122, - 1.463772053798286, - 1.4637295937650692, - 1.4636873630387144, - 1.463645359971016, - 1.463603582928551, - 1.4635620302925194, - 1.4635207004585877, - 1.4634795918367347, - 1.4634387028510967, - 1.4633980319398183, - 1.4633575775549028, - 1.4633173381620643, - 1.4632773122405827, - 1.46323749828316, - 1.4631978947957784, - 1.46315850029756, - 1.4631193133206284, - 1.4630803324099722, - 1.4630415561233097, - 1.463002983030955, - 1.4629646117156876, - 1.4629264407726208, - 1.4628884688090737, - 1.4628506944444444, - 1.4628131163100841, - 1.4627757330491733, - 1.4627385433165991, - 1.4627015457788346, - 1.4626647391138194, - 1.4626281220108406, - 1.4625916931704173, - 1.4625554513041845, - 1.4625193951347797, - 1.4624835233957296, - 1.4624478348313399, - 1.4624123281965846, - 1.462377002256998, - 1.4623418557885666, - 1.4623068875776237, - 1.462272096420745, - 1.4622374811246441, - 1.4622030405060709, - 1.4621687733917095, - 1.4621346786180802, - 1.4621007550314387, - 1.462067001487679, - 1.4620334168522384, - 1.462, - 1.4619667498151998, - 1.4619336651913333, - 1.4619007450310635, - 1.4618679882461296, - 1.461835393757257, - 1.4618029604940692, - 1.461770687394999, - 1.4617385734072021, - 1.4617066174864715, - 1.4616748185971513, - 1.4616431757120547, - 1.4616116878123797, - 1.4615803538876277, - 1.461549172935522, - 1.4615181439619274, - 1.4614872659807725, - 1.4614565380139695, - 1.4614259590913374, - 1.4613955282505264, - 1.4613652445369407, - 1.461335107003664, - 1.4613051147113862, - 1.46127526672833, - 1.4612455621301774, - 1.4612159999999998, - 1.4611865794281864, - 1.4611572995123738, - 1.4611281593573775, - 1.4610991580751236, - 1.4610702947845804, - 1.4610415686116922, - 1.4610129786893125, - 1.4609845241571393, - 1.4609562041616495, - 1.4609280178560358, - 1.4608999644001424, - 1.4608720429604036, - 1.4608442527097807, - 1.4608165928277017, - 1.4607890625, - 1.4607616609188547, - 1.460734387282732, - 1.4607072407963255, - 1.4606802206704987, - 1.460653326122228, - 1.460626556374546, - 1.4605999106564838, - 1.4605733882030179, - 1.4605469882550135, - 1.4605207100591715, - 1.4604945528679734, - 1.460468515939629, - 1.4604425985380234, - 1.4604167999326656, - 1.4603911193986363, - 1.4603655562165376, - 1.4603401096724422, - 1.460314779057843, - 1.4602895636696056, - 1.4602644628099173, - 1.4602394757862405, - 1.460214601911264, - 1.4601898405028562, - 1.4601651908840179, - 1.4601406523828369, - 1.4601162243324406, - 1.4600919060709525, - 1.4600676969414463, - 1.460043596291902, - 1.4600196034751614, - 1.4599957178488854, - 1.4599719387755101, - 1.4599482656222056, - 1.4599246977608327, - 1.4599012345679012, - 1.4598778754245298, - 1.4598546197164046, - 1.459831466833738, - 1.45980841617123, - 1.4597854671280277, - 1.459762619107687, - 1.4597398715181327, - 1.4597172237716216, - 1.4596946752847029, - 1.459672225478182, - 1.4596498737770827, - 1.45962761961061, - 1.4596054624121146, - 1.4595834016190563, - 1.459561436672968, - 1.4595395670194207, - 1.459517792107989, - 1.4594961113922154, - 1.4594745243295766, - 1.4594530303814501, - 1.4594316290130795, - 1.4594103196935422, - 1.459389101895715, - 1.459367975096244, - 1.4593469387755102, - 1.4593259924175979, - 1.4593051355102638, - 1.459284367544905, - 1.4592636880165288, - 1.459243096423721, - 1.4592225922686162, - 1.4592021750568671, - 1.4591818442976157, - 1.4591615995034624, - 1.4591414401904383, - 1.4591213658779754, - 1.4591013760888776, - 1.4590814703492936, - 1.459061648188687, - 1.4590419091398112, - 1.4590222527386785, - 1.4590026785245356, - 1.4589831860398352, - 1.4589637748302096, - 1.4589444444444444, - 1.4589251944344521, - 1.4589060243552459, - 1.4588869337649144, - 1.4588679222245964, - 1.4588489892984542, - 1.4588301345536507, - 1.458811357560323, - 1.4587926578915589, - 1.458774035123372, - 1.458755488834678, - 1.458737018607271, - 1.4587186240257994, - 1.4587003046777431, - 1.4586820601533903, - 1.4586638900458142, - 1.4586457939508506, - 1.4586277714670757, - 1.4586098221957828, - 1.4585919457409622, - 1.4585741417092768, - 1.4585564097100427, - 1.4585387493552067, - 1.4585211602593247, - 1.458503642039542, - 1.4584861943155714, - 1.4584688167096722, - 1.4584515088466314, - 1.4584342703537418, - 1.4584171008607827, - 1.4584, - 1.4583829674060862, - 1.4583660027161611, - 1.4583491055697528, - 1.458332275608778, - 1.458315512477523, - 1.4582988158226253, - 1.4582821852930552, - 1.4582656205400963, - 1.4582491212173287, - 1.4582326869806095, - 1.4582163174880551, - 1.4582000124000247, - 1.4581837713791013, - 1.4581675940900742, - 1.4581514801999231, - 1.4581354293777993, - 1.4581194412950098, - 1.458103515625, - 1.4580876520433372, - 1.4580718502276944, - 1.4580561098578328, - 1.458040430615587, - 1.4580248121848478, - 1.4580092542515473, - 1.457993756503642, - 1.457978318631098, - 1.4579629403258747, - 1.4579476212819107, - 1.4579323611951072, - 1.4579171597633136, - 1.4579020166863126, - 1.4578869316658054, - 1.4578719044053963, - 1.457856934610579, - 1.4578420219887216, - 1.457827166249053, - 1.457812367102648, - 1.4577976242624133, - 1.4577829374430742, - 1.45776830636116, - 1.457753730734991, - 1.4577392102846647, - 1.457724744732042, - 1.4577103338007347, - 1.4576959772160911, - 1.4576816747051842, - 1.4576674259967979, - 1.4576532308214143, - 1.4576390889112016, - 1.457625, - 1.4576109638233108, - 1.4575969801182829, - 1.457583048623701, - 1.4575691690799732, - 1.4575553412291191, - 1.4575415648147578, - 1.4575278395820952, - 1.457514165277914, - 1.4575005416505598, - 1.4574869684499314, - 1.4574734454274685, - 1.45745997233614, - 1.457446548930434, - 1.4574331749663445, - 1.4574198502013624, - 1.4574065743944635, - 1.4573933473060978, - 1.4573801686981784, - 1.4573670383340713, - 1.4573539559785842, - 1.4573409213979565, - 1.4573279343598486, - 1.4573149946333317, - 1.4573021019888772, - 1.457289256198347, - 1.4572764570349828, - 1.4572637042733967, - 1.457250997689561, - 1.4572383370607982, - 1.4572257221657714, - 1.4572131527844752, - 1.4572006286982249, - 1.4571881496896477, - 1.4571757155426737, - 1.4571633260425256, - 1.4571509809757102, - 1.4571386801300086, - 1.4571264232944674, - 1.45711421025939, - 1.4571020408163264, - 1.4570899147580665, - 1.4570778318786284, - 1.4570657919732526, - 1.4570537948383908, - 1.4570418402716991, - 1.4570299280720285, - 1.4570180580394168, - 1.4570062299750801, - 1.4569944436814044, - 1.4569826989619377, - 1.4569709956213812, - 1.4569593334655822, - 1.4569477123015246, - 1.456936131937322, - 1.4569245921822098, - 1.4569130928465368, - 1.4569016337417573, - 1.4568902146804243, - 1.456878835476181, - 1.4568674959437533, - 1.4568561958989426, - 1.4568449351586177, - 1.4568337135407086, - 1.4568225308641976, - 1.4568113869491128, - 1.4568002816165215, - 1.4567892146885215, - 1.456778185988235, - 1.4567671953398016, - 1.4567562425683709, - 1.4567453275000954, - 1.4567344499621244, - 1.4567236097825957, - 1.456712806790631, - 1.4567020408163265, - 1.4566913116907487, - 1.4566806192459263, - 1.4566699633148437, - 1.4566593437314355, - 1.4566487603305784, - 1.4566382129480868, - 1.4566277014207043, - 1.456617225586099, - 1.4566067852828566, - 1.456596380350474, - 1.4565860106293536, - 1.4565756759607966, - 1.4565653761869977, - 1.4565551111510386, - 1.4565448806968817, - 1.4565346846693648, - 1.456524522914195, - 1.4565143952779425, - 1.4565043016080357, - 1.4564942417527542, - 1.4564842155612245, - 1.4564742228834129, - 1.456464263570121, - 1.4564543374729801, - 1.4564444444444444, - 1.4564345843377873, - 1.4564247570070943, - 1.4564149623072593, - 1.4564052000939776, - 1.4563954702237416, - 1.4563857725538354, - 1.4563761069423289, - 1.456366473248074, - 1.4563568713306974, - 1.4563473010505976, - 1.4563377622689389, - 1.4563282548476453, - 1.4563187786493978, - 1.4563093335376276, - 1.4562999193765116, - 1.4562905360309681, - 1.4562811833666511, - 1.4562718612499466, - 1.4562625695479663, - 1.4562533081285445, - 1.4562440768602318, - 1.4562348756122925, - 1.4562257042546973, - 1.4562165626581212, - 1.456207450693937, - 1.456198368234213, - 1.4561893151517056, - 1.4561802913198574, - 1.4561712966127913, - 1.456162330905307, - 1.456153394072876, - 1.4561444859916373, - 1.456135606538394, - 1.4561267555906074, - 1.4561179330263947, - 1.4561091387245233, - 1.456100372564407, - 1.4560916344261028, - 1.456082924190305, - 1.456074241738343, - 1.4560655869521761, - 1.45605695971439, - 1.4560483599081921, - 1.4560397874174087, - 1.4560312421264803, - 1.4560227239204573, - 1.4560142326849976, - 1.4560057683063612, - 1.4559973306714071, - 1.45598891966759, - 1.4559805351829553, - 1.4559721771061365, - 1.455963845326351, - 1.4559555397333965, - 1.4559472602176475, - 1.4559390066700513, - 1.4559307789821248, - 1.4559225770459507, - 1.4559144007541744, - 1.45590625, - 1.4558981246771865, - 1.4558900246800455, - 1.4558819499034366, - 1.4558739002427643, - 1.4558658755939757, - 1.455857875853555, - 1.4558499009185222, - 1.4558419506864284, - 1.4558340250553536, - 1.4558261239239025, - 1.4558182471912018, - 1.4558103947568968, - 1.455802566521148, - 1.4557947623846286, - 1.4557869822485208, - 1.4557792260145122, - 1.455771493584794, - 1.4557637848620573, - 1.455756099749489, - 1.4557484381507704, - 1.4557407999700736, - 1.4557331851120576, - 1.4557255934818671, - 1.4557180249851278, - 1.4557104795279445, - 1.4557029570168978, - 1.4556954573590413, - 1.455687980461899, - 1.4556805262334618, - 1.4556730945821854, - 1.455665685416987, - 1.4556582986472424, - 1.455650934182784, - 1.455643591933897, - 1.4556362718113178, - 1.4556289737262302, - 1.4556216975902632, - 1.4556144433154887, - 1.455607210814418, - 1.4556 - ], - "yaxis": "y" - }, - { - "hovertemplate": "variable=k
Wavelength=%{x}
value=%{y}", - "legendgroup": "k", - "line": { - "color": "#EF553B", - "dash": "solid" - }, - "marker": { - "symbol": "circle" - }, - "mode": "lines", - "name": "k", - "showlegend": true, - "type": "scattergl", - "x": [ - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500, - 501, - 502, - 503, - 504, - 505, - 506, - 507, - 508, - 509, - 510, - 511, - 512, - 513, - 514, - 515, - 516, - 517, - 518, - 519, - 520, - 521, - 522, - 523, - 524, - 525, - 526, - 527, - 528, - 529, - 530, - 531, - 532, - 533, - 534, - 535, - 536, - 537, - 538, - 539, - 540, - 541, - 542, - 543, - 544, - 545, - 546, - 547, - 548, - 549, - 550, - 551, - 552, - 553, - 554, - 555, - 556, - 557, - 558, - 559, - 560, - 561, - 562, - 563, - 564, - 565, - 566, - 567, - 568, - 569, - 570, - 571, - 572, - 573, - 574, - 575, - 576, - 577, - 578, - 579, - 580, - 581, - 582, - 583, - 584, - 585, - 586, - 587, - 588, - 589, - 590, - 591, - 592, - 593, - 594, - 595, - 596, - 597, - 598, - 599, - 600, - 601, - 602, - 603, - 604, - 605, - 606, - 607, - 608, - 609, - 610, - 611, - 612, - 613, - 614, - 615, - 616, - 617, - 618, - 619, - 620, - 621, - 622, - 623, - 624, - 625, - 626, - 627, - 628, - 629, - 630, - 631, - 632, - 633, - 634, - 635, - 636, - 637, - 638, - 639, - 640, - 641, - 642, - 643, - 644, - 645, - 646, - 647, - 648, - 649, - 650, - 651, - 652, - 653, - 654, - 655, - 656, - 657, - 658, - 659, - 660, - 661, - 662, - 663, - 664, - 665, - 666, - 667, - 668, - 669, - 670, - 671, - 672, - 673, - 674, - 675, - 676, - 677, - 678, - 679, - 680, - 681, - 682, - 683, - 684, - 685, - 686, - 687, - 688, - 689, - 690, - 691, - 692, - 693, - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000 - ], - "xaxis": "x", - "y": [ - 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, - 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, - 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, - 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, - 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, - 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, - 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, - 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, - 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, - 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, - 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, - 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, - 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, - 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, - 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, - 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, - 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, - 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, - 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, - 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, - 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, - 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, - 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, - 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, - 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, - 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, - 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, - 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, - 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, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0 - ], - "yaxis": "y" - } - ], - "layout": { - "legend": { - "title": { - "text": "variable" - }, - "tracegroupgap": 0 - }, - "margin": { - "t": 60 - }, - "template": { - "data": { - "bar": [ - { - "error_x": { - "color": "#2a3f5f" - }, - "error_y": { - "color": "#2a3f5f" - }, - "marker": { - "line": { - "color": "#E5ECF6", - "width": 0.5 - }, - "pattern": { - "fillmode": "overlay", - "size": 10, - "solidity": 0.2 - } - }, - "type": "bar" - } - ], - "barpolar": [ - { - "marker": { - "line": { - "color": "#E5ECF6", - "width": 0.5 - }, - "pattern": { - "fillmode": "overlay", - "size": 10, - "solidity": 0.2 - } - }, - "type": "barpolar" - } - ], - "carpet": [ - { - "aaxis": { - "endlinecolor": "#2a3f5f", - "gridcolor": "white", - "linecolor": "white", - "minorgridcolor": "white", - "startlinecolor": "#2a3f5f" - }, - "baxis": { - "endlinecolor": "#2a3f5f", - "gridcolor": "white", - "linecolor": "white", - "minorgridcolor": "white", - "startlinecolor": "#2a3f5f" - }, - "type": "carpet" - } - ], - "choropleth": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "type": "choropleth" - } - ], - "contour": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "contour" - } - ], - "contourcarpet": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "type": "contourcarpet" - } - ], - "heatmap": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "heatmap" - } - ], - "heatmapgl": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "heatmapgl" - } - ], - "histogram": [ - { - "marker": { - "pattern": { - "fillmode": "overlay", - "size": 10, - "solidity": 0.2 - } - }, - "type": "histogram" - } - ], - "histogram2d": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "histogram2d" - } - ], - "histogram2dcontour": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "histogram2dcontour" - } - ], - "mesh3d": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "type": "mesh3d" - } - ], - "parcoords": [ - { - "line": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "parcoords" - } - ], - "pie": [ - { - "automargin": true, - "type": "pie" - } - ], - "scatter": [ - { - "fillpattern": { - "fillmode": "overlay", - "size": 10, - "solidity": 0.2 - }, - "type": "scatter" - } - ], - "scatter3d": [ - { - "line": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scatter3d" - } - ], - "scattercarpet": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scattercarpet" - } - ], - "scattergeo": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scattergeo" - } - ], - "scattergl": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scattergl" - } - ], - "scattermapbox": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scattermapbox" - } - ], - "scatterpolar": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scatterpolar" - } - ], - "scatterpolargl": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scatterpolargl" - } - ], - "scatterternary": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scatterternary" - } - ], - "surface": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "surface" - } - ], - "table": [ - { - "cells": { - "fill": { - "color": "#EBF0F8" - }, - "line": { - "color": "white" - } - }, - "header": { - "fill": { - "color": "#C8D4E3" - }, - "line": { - "color": "white" - } - }, - "type": "table" - } - ] - }, - "layout": { - "annotationdefaults": { - "arrowcolor": "#2a3f5f", - "arrowhead": 0, - "arrowwidth": 1 - }, - "autotypenumbers": "strict", - "coloraxis": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "colorscale": { - "diverging": [ - [ - 0, - "#8e0152" - ], - [ - 0.1, - "#c51b7d" - ], - [ - 0.2, - "#de77ae" - ], - [ - 0.3, - "#f1b6da" - ], - [ - 0.4, - "#fde0ef" - ], - [ - 0.5, - "#f7f7f7" - ], - [ - 0.6, - "#e6f5d0" - ], - [ - 0.7, - "#b8e186" - ], - [ - 0.8, - "#7fbc41" - ], - [ - 0.9, - "#4d9221" - ], - [ - 1, - "#276419" - ] - ], - "sequential": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "sequentialminus": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ] - }, - "colorway": [ - "#636efa", - "#EF553B", - "#00cc96", - "#ab63fa", - "#FFA15A", - "#19d3f3", - "#FF6692", - "#B6E880", - "#FF97FF", - "#FECB52" - ], - "font": { - "color": "#2a3f5f" - }, - "geo": { - "bgcolor": "white", - "lakecolor": "white", - "landcolor": "#E5ECF6", - "showlakes": true, - "showland": true, - "subunitcolor": "white" - }, - "hoverlabel": { - "align": "left" - }, - "hovermode": "closest", - "mapbox": { - "style": "light" - }, - "paper_bgcolor": "white", - "plot_bgcolor": "#E5ECF6", - "polar": { - "angularaxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - }, - "bgcolor": "#E5ECF6", - "radialaxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - } - }, - "scene": { - "xaxis": { - "backgroundcolor": "#E5ECF6", - "gridcolor": "white", - "gridwidth": 2, - "linecolor": "white", - "showbackground": true, - "ticks": "", - "zerolinecolor": "white" - }, - "yaxis": { - "backgroundcolor": "#E5ECF6", - "gridcolor": "white", - "gridwidth": 2, - "linecolor": "white", - "showbackground": true, - "ticks": "", - "zerolinecolor": "white" - }, - "zaxis": { - "backgroundcolor": "#E5ECF6", - "gridcolor": "white", - "gridwidth": 2, - "linecolor": "white", - "showbackground": true, - "ticks": "", - "zerolinecolor": "white" - } - }, - "shapedefaults": { - "line": { - "color": "#2a3f5f" - } - }, - "ternary": { - "aaxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - }, - "baxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - }, - "bgcolor": "#E5ECF6", - "caxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - } - }, - "title": { - "x": 0.05 - }, - "xaxis": { - "automargin": true, - "gridcolor": "white", - "linecolor": "white", - "ticks": "", - "title": { - "standoff": 15 - }, - "zerolinecolor": "white", - "zerolinewidth": 2 - }, - "yaxis": { - "automargin": true, - "gridcolor": "white", - "linecolor": "white", - "ticks": "", - "title": { - "standoff": 15 - }, - "zerolinecolor": "white", - "zerolinewidth": 2 - } - } - }, - "xaxis": { - "anchor": "y", - "domain": [ - 0, - 1 - ], - "title": { - "text": "Wavelength" - } - }, - "yaxis": { - "anchor": "x", - "domain": [ - 0, - 1 - ], - "title": { - "text": "value" - } - } - } - }, - "text/html": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "fitted_model.get_refractive_index_df().plot(backend=\"plotly\")" ] @@ -8809,11 +378,11 @@ "metadata": { "collapsed": false, "execution": { - "iopub.execute_input": "2025-09-23T20:59:19.319581Z", - "iopub.status.busy": "2025-09-23T20:59:19.319442Z", - "iopub.status.idle": "2025-09-23T20:59:19.324623Z", - "shell.execute_reply": "2025-09-23T20:59:19.324315Z", - "shell.execute_reply.started": "2025-09-23T20:59:19.319567Z" + "iopub.execute_input": "2025-10-14T20:20:28.747688Z", + "iopub.status.busy": "2025-10-14T20:20:28.747534Z", + "iopub.status.idle": "2025-10-14T20:20:28.754092Z", + "shell.execute_reply": "2025-10-14T20:20:28.753675Z", + "shell.execute_reply.started": "2025-10-14T20:20:28.747673Z" }, "jupyter": { "outputs_hidden": false @@ -8838,11 +407,11 @@ "metadata": { "collapsed": false, "execution": { - "iopub.execute_input": "2025-09-23T20:59:19.325293Z", - "iopub.status.busy": "2025-09-23T20:59:19.325013Z", - "iopub.status.idle": "2025-09-23T20:59:19.327764Z", - "shell.execute_reply": "2025-09-23T20:59:19.327443Z", - "shell.execute_reply.started": "2025-09-23T20:59:19.325280Z" + "iopub.execute_input": "2025-10-14T20:20:28.754889Z", + "iopub.status.busy": "2025-10-14T20:20:28.754587Z", + "iopub.status.idle": "2025-10-14T20:20:28.757740Z", + "shell.execute_reply": "2025-10-14T20:20:28.757383Z", + "shell.execute_reply.started": "2025-10-14T20:20:28.754873Z" }, "jupyter": { "outputs_hidden": false @@ -8878,11 +447,11 @@ "metadata": { "collapsed": false, "execution": { - "iopub.execute_input": "2025-09-23T20:59:19.328271Z", - "iopub.status.busy": "2025-09-23T20:59:19.328150Z", - "iopub.status.idle": "2025-09-23T20:59:19.330978Z", - "shell.execute_reply": "2025-09-23T20:59:19.330556Z", - "shell.execute_reply.started": "2025-09-23T20:59:19.328259Z" + "iopub.execute_input": "2025-10-14T20:20:28.758492Z", + "iopub.status.busy": "2025-10-14T20:20:28.758317Z", + "iopub.status.idle": "2025-10-14T20:20:28.761510Z", + "shell.execute_reply": "2025-10-14T20:20:28.761116Z", + "shell.execute_reply.started": "2025-10-14T20:20:28.758474Z" }, "jupyter": { "outputs_hidden": false @@ -8925,11 +494,11 @@ "metadata": { "collapsed": false, "execution": { - "iopub.execute_input": "2025-09-23T20:59:19.331538Z", - "iopub.status.busy": "2025-09-23T20:59:19.331397Z", - "iopub.status.idle": "2025-09-23T20:59:19.334248Z", - "shell.execute_reply": "2025-09-23T20:59:19.333869Z", - "shell.execute_reply.started": "2025-09-23T20:59:19.331525Z" + "iopub.execute_input": "2025-10-14T20:20:28.762187Z", + "iopub.status.busy": "2025-10-14T20:20:28.762033Z", + "iopub.status.idle": "2025-10-14T20:20:28.765172Z", + "shell.execute_reply": "2025-10-14T20:20:28.764764Z", + "shell.execute_reply.started": "2025-10-14T20:20:28.762172Z" }, "jupyter": { "outputs_hidden": false @@ -8965,11 +534,11 @@ "metadata": { "collapsed": false, "execution": { - "iopub.execute_input": "2025-09-23T20:59:19.334734Z", - "iopub.status.busy": "2025-09-23T20:59:19.334612Z", - "iopub.status.idle": "2025-09-23T20:59:19.337445Z", - "shell.execute_reply": "2025-09-23T20:59:19.337150Z", - "shell.execute_reply.started": "2025-09-23T20:59:19.334722Z" + "iopub.execute_input": "2025-10-14T20:20:28.765752Z", + "iopub.status.busy": "2025-10-14T20:20:28.765601Z", + "iopub.status.idle": "2025-10-14T20:20:28.768920Z", + "shell.execute_reply": "2025-10-14T20:20:28.768506Z", + "shell.execute_reply.started": "2025-10-14T20:20:28.765738Z" }, "jupyter": { "outputs_hidden": false @@ -8982,7 +551,7 @@ "

Fit Result

Fit Statistics
fitting methodleastsq
# function evals13
# data points1182
# variables1
chi-square 0.01692337
reduced chi-square 1.4330e-05
Akaike info crit.-13182.0548
Bayesian info crit.-13176.9798
Parameters
namevaluestandard errorrelative errorinitial valueminmaxvary
SiO2_n0 1.45200000 0.00000000(0.00%)1.452-100.000000 100.000000False
SiO2_n1 36.0000000 0.00000000(0.00%)36.0-40000.0000 40000.0000False
SiO2_n2 0.00000000 0.000000000-40000.0000 40000.0000False
SiO2_k0 0.00000000 0.000000000-100.000000 100.000000False
SiO2_k1 0.00000000 0.000000000-40000.0000 40000.0000False
SiO2_k2 0.00000000 0.000000000-40000.0000 40000.0000False
SiO2_d 2.06578929 0.00753074(0.36%)20 0.00000000 40000.0000True
" ], "text/plain": [ - "" + "" ] }, "execution_count": 14, diff --git a/examples/Bragg-mirror/validation-Bragg.ipynb b/examples/Bragg-mirror/validation-Bragg.ipynb index e54eb464..63b7e6f1 100644 --- a/examples/Bragg-mirror/validation-Bragg.ipynb +++ b/examples/Bragg-mirror/validation-Bragg.ipynb @@ -7,7 +7,11 @@ "source": [ "# Validation for a TiO2/SiO2 Bragg mirror\n", "\n", - "Author: O. Castany, C. Molinaro, M. Müller" + "Author: O. Castany, C. Molinaro, M. Müller\n", + "\n", + "This notebook validates the optical response of a 1D Bragg mirror composed of alternating layers of TiO₂ and SiO₂ using:\n", + "- An analytical model based on Fresnel coefficients and transfer matrix recursion.\n", + "- Numerical simulation with the pyElli package." ] }, { @@ -16,11 +20,11 @@ "id": "1813cc69", "metadata": { "execution": { - "iopub.execute_input": "2024-06-28T08:27:40.789029Z", - "iopub.status.busy": "2024-06-28T08:27:40.788906Z", - "iopub.status.idle": "2024-06-28T08:27:42.202751Z", - "shell.execute_reply": "2024-06-28T08:27:42.202220Z", - "shell.execute_reply.started": "2024-06-28T08:27:40.789018Z" + "iopub.execute_input": "2025-10-14T20:03:28.723691Z", + "iopub.status.busy": "2025-10-14T20:03:28.723523Z", + "iopub.status.idle": "2025-10-14T20:03:30.327705Z", + "shell.execute_reply": "2025-10-14T20:03:30.327355Z", + "shell.execute_reply.started": "2025-10-14T20:03:28.723678Z" } }, "outputs": [], @@ -48,17 +52,18 @@ "id": "c46da69e", "metadata": { "execution": { - "iopub.execute_input": "2024-06-28T08:27:42.203348Z", - "iopub.status.busy": "2024-06-28T08:27:42.203170Z", - "iopub.status.idle": "2024-06-28T08:27:42.206205Z", - "shell.execute_reply": "2024-06-28T08:27:42.205745Z", - "shell.execute_reply.started": "2024-06-28T08:27:42.203339Z" + "iopub.execute_input": "2025-10-14T20:03:30.328363Z", + "iopub.status.busy": "2025-10-14T20:03:30.328110Z", + "iopub.status.idle": "2025-10-14T20:03:30.331028Z", + "shell.execute_reply": "2025-10-14T20:03:30.330690Z", + "shell.execute_reply.started": "2025-10-14T20:03:30.328349Z" } }, "outputs": [], "source": [ - "n_a = 1.0\n", - "n_g = 1.5\n", + "n_a = 1.0 # Refractive index of air (ambient)\n", + "n_g = 1.5 # Refractive index of glass (substrate)\n", + "\n", "air = elli.ConstantRefractiveIndex(n_a).get_mat()\n", "glass = elli.ConstantRefractiveIndex(n_g).get_mat()" ] @@ -77,17 +82,19 @@ "id": "88d0dce7", "metadata": { "execution": { - "iopub.execute_input": "2024-06-28T08:27:42.206788Z", - "iopub.status.busy": "2024-06-28T08:27:42.206672Z", - "iopub.status.idle": "2024-06-28T08:27:42.210747Z", - "shell.execute_reply": "2024-06-28T08:27:42.210353Z", - "shell.execute_reply.started": "2024-06-28T08:27:42.206778Z" + "iopub.execute_input": "2025-10-14T20:03:30.331456Z", + "iopub.status.busy": "2025-10-14T20:03:30.331345Z", + "iopub.status.idle": "2025-10-14T20:03:30.337572Z", + "shell.execute_reply": "2025-10-14T20:03:30.337127Z", + "shell.execute_reply.started": "2025-10-14T20:03:30.331445Z" } }, "outputs": [], "source": [ - "lbda0 = 1550 # nm\n", + "lbda0 = 1550 # Central wavelength in nm\n", "k0 = 2 * pi / lbda0\n", + "\n", + "# Approximate refractive indices at 1550 nm\n", "n_SiO2 = 1.47\n", "n_TiO2 = 2.23 + 1j * 5.2e-4\n", "\n", @@ -109,31 +116,30 @@ "id": "d00ef39c", "metadata": { "execution": { - "iopub.execute_input": "2024-06-28T08:27:42.211427Z", - "iopub.status.busy": "2024-06-28T08:27:42.211265Z", - "iopub.status.idle": "2024-06-28T08:27:42.215951Z", - "shell.execute_reply": "2024-06-28T08:27:42.215550Z", - "shell.execute_reply.started": "2024-06-28T08:27:42.211413Z" + "iopub.execute_input": "2025-10-14T20:03:30.338195Z", + "iopub.status.busy": "2025-10-14T20:03:30.338061Z", + "iopub.status.idle": "2025-10-14T20:03:30.341185Z", + "shell.execute_reply": "2025-10-14T20:03:30.340716Z", + "shell.execute_reply.started": "2025-10-14T20:03:30.338182Z" } }, "outputs": [], "source": [ + "# Compute quarter-wave optical thicknesses\n", "d_SiO2 = elli.get_qwp_thickness(SiO2, lbda0)\n", "d_TiO2 = elli.get_qwp_thickness(TiO2, lbda0)\n", "\n", + "# Build individual layers\n", "L_SiO2 = elli.Layer(SiO2, d_SiO2)\n", "L_TiO2 = elli.Layer(TiO2, d_TiO2)\n", "\n", - "# print(\"Thickness of the SiO2 QWP: {:.1f} nm\".format(L_SiO2.h*1e9))\n", - "# print(\"Thickness of the TiO2 QWP: {:.1f} nm\".format(L_TiO2.h*1e9))\n", - "\n", - "# Repeated layers: n periods\n", + "# Stack definition: TiO2/SiO2 repeated 4 times\n", "Layerstack = elli.RepeatedLayers([L_TiO2, L_SiO2], 4, 0, 0)\n", "\n", - "# Number of interfaces\n", + "# Total number of interfaces\n", "N = 2 * Layerstack.repetitions + 1\n", "\n", - "# Structure\n", + "# Complete structure: Air / {TiO2 / SiO2}ⁿ / Glass\n", "s = elli.Structure(air, [Layerstack], glass)" ] }, @@ -144,7 +150,9 @@ "lines_to_next_cell": 0 }, "source": [ - "## Analytical calculation" + "## Analytical calculation\n", + "\n", + "This section implements a recursive transfer matrix method to calculate the amplitude reflection coefficient using Fresnel coefficients." ] }, { @@ -153,35 +161,36 @@ "id": "908c30b3", "metadata": { "execution": { - "iopub.execute_input": "2024-06-28T08:27:42.216515Z", - "iopub.status.busy": "2024-06-28T08:27:42.216409Z", - "iopub.status.idle": "2024-06-28T08:27:42.231412Z", - "shell.execute_reply": "2024-06-28T08:27:42.230879Z", - "shell.execute_reply.started": "2024-06-28T08:27:42.216506Z" + "iopub.execute_input": "2025-10-14T20:03:30.341906Z", + "iopub.status.busy": "2025-10-14T20:03:30.341682Z", + "iopub.status.idle": "2025-10-14T20:03:30.360713Z", + "shell.execute_reply": "2025-10-14T20:03:30.360361Z", + "shell.execute_reply.started": "2025-10-14T20:03:30.341893Z" } }, "outputs": [], "source": [ + "# Define refractive index profile\n", "n = np.ones(N + 1, dtype=complex)\n", "n[0] = n_a\n", - "n[1::2] = n_TiO2\n", - "n[2::2] = n_SiO2\n", + "n[1::2] = n_TiO2 # TiO2 layers at odd positions\n", + "n[2::2] = n_SiO2 # SiO2 layers at even positions\n", "n[-1] = n_g\n", - "\n", "n.shape = (-1, 1)\n", "\n", + "# Define thickness profile (same order as n, d[0] unused)\n", "d = np.ones(N + 1)\n", - "d[1::2] = L_TiO2.thickness #  d[0] is not used\n", + "d[1::2] = L_TiO2.thickness\n", "d[2::2] = L_SiO2.thickness\n", "\n", - "(lbda1, lbda2) = (1100, 2500)\n", + "# Wavelength range\n", + "(lbda1, lbda2) = (1100, 2500) # in nm\n", "lbda_list = np.linspace(lbda1, lbda2, 200)\n", "\n", "\n", "def ReflectionCoeff(incidence_angle=0.0, polarisation=\"s\"):\n", - " \"\"\"Returns the reflection coefficient in amplitude\"\"\"\n", + " \"\"\"Compute the amplitude reflection coefficient at a given angle and polarization.\"\"\"\n", " Kx = n[0] * np.sin(incidence_angle)\n", - " sinPhi = Kx / n\n", " kz = 2 * pi / lbda_list * np.sqrt(n**2 - (Kx) ** 2)\n", "\n", " # Reflexion coefficient r_{k,k+1} for a single interface\n", @@ -216,9 +225,9 @@ "\n", "\n", "# Power reflexion coefficient for different incidence angles and polarisations\n", - "R_th_ss_0 = (np.abs(ReflectionCoeff(0, \"s\"))) ** 2 # Phi_i = 0\n", - "R_th_ss = (np.abs(ReflectionCoeff(pi / 4, \"s\"))) ** 2 #  Phi_i = pi/4\n", - "R_th_pp = (np.abs(ReflectionCoeff(pi / 4, \"p\"))) ** 2" + "R_th_ss_0 = (np.abs(ReflectionCoeff(0, \"s\"))) ** 2 # Normal incidence, s-pol\n", + "R_th_ss = (np.abs(ReflectionCoeff(pi / 4, \"s\"))) ** 2 # 45° incidence, s-pol\n", + "R_th_pp = (np.abs(ReflectionCoeff(pi / 4, \"p\"))) ** 2 # 45° incidence, p-pol" ] }, { @@ -228,7 +237,11 @@ "lines_to_next_cell": 0 }, "source": [ - "## Calculation with pyElli" + "## Calculation with pyElli\n", + "\n", + "- Uses pyElli.Structure.evaluate() to simulate the multilayer response numerically,\n", + "- Returns the reflectance (R_ss, R_pp) at the desired wavelengths and angles,\n", + "- Automatically accounts for multiple reflections and complex indices." ] }, { @@ -237,11 +250,11 @@ "id": "ead81627", "metadata": { "execution": { - "iopub.execute_input": "2024-06-28T08:27:42.232401Z", - "iopub.status.busy": "2024-06-28T08:27:42.232285Z", - "iopub.status.idle": "2024-06-28T08:27:42.246823Z", - "shell.execute_reply": "2024-06-28T08:27:42.246497Z", - "shell.execute_reply.started": "2024-06-28T08:27:42.232391Z" + "iopub.execute_input": "2025-10-14T20:03:30.361721Z", + "iopub.status.busy": "2025-10-14T20:03:30.361592Z", + "iopub.status.idle": "2025-10-14T20:03:30.378066Z", + "shell.execute_reply": "2025-10-14T20:03:30.377605Z", + "shell.execute_reply.started": "2025-10-14T20:03:30.361709Z" } }, "outputs": [], @@ -265,7 +278,12 @@ "lines_to_next_cell": 0 }, "source": [ - "## Plotting" + "## Plotting\n", + "\n", + "Plots both analytical and numerical reflectance spectra:\n", + " - Lines: pyElli numerical results,\n", + " - Markers (×): theoretical recursive results,\n", + " - Uses elliplot.draw_structure() to illustrate the layer stack alongside the spectra." ] }, { @@ -274,17 +292,17 @@ "id": "b0e5b5ec", "metadata": { "execution": { - "iopub.execute_input": "2024-06-28T08:27:42.247527Z", - "iopub.status.busy": "2024-06-28T08:27:42.247357Z", - "iopub.status.idle": "2024-06-28T08:27:42.501253Z", - "shell.execute_reply": "2024-06-28T08:27:42.500833Z", - "shell.execute_reply.started": "2024-06-28T08:27:42.247516Z" + "iopub.execute_input": "2025-10-14T20:03:30.378661Z", + "iopub.status.busy": "2025-10-14T20:03:30.378518Z", + "iopub.status.idle": "2025-10-14T20:03:30.776874Z", + "shell.execute_reply": "2025-10-14T20:03:30.776531Z", + "shell.execute_reply.started": "2025-10-14T20:03:30.378646Z" } }, "outputs": [ { "data": { - "image/png": "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ev71r3+xY8cOJkyYQNeuXalUqRK///671/qpad++PTqdjjFjxnDo0CFu3rzptN1kMtGgQQMGDRrEyy+/TFhYGK+88opTm4sXLxIVFYXRaPQoS8vxPdL6XaxYsUztwsPDKVeunO1n6tSp2R7Xk88NMv6NbtiwgVOnTmV5LE/aCCGEEMI9CZQIIYQbLVq0IDIyksjISJ566ikWL15M/fr1GT58OKmpqU5t3d0EJycnExUVRZUqVfD396ds2bKUK1eOK1eukJSUBBmFMJOTkzPNvEJGEETjaTtPVK1a1Wk5KCiIIkWKULZs2UzrL1++7NExswsCuG47f/48N2/epE6dOpna1qtXD6vVyokTJzw+vicsFgvz5s2jY8eOJCQkcPjwYQ4fPkzLli05e/YsK1as8Og47vqRlpbGsmXLMtUnadasGR06dCA1NZWFCxfm6ixBWmDhdgVMXQMVKSkpPPvss1StWpUSJUrQqlUr1q9f79Hrad68OQsWLODy5cts3LiRUaNGce3aNfr06cPevXvzvZ+OHn74YSZPnsx3331H7dq1M9U78fPzY+bMmSQkJHDt2jW++eabTL+PMWPGULp0af7v//4v277i5j3S+n39+vVMbadPn24LtnrCk88NMmqi7N69mypVqtCiRQtMJlOmwKYnbYQQQgjhngRKhBDCA3q9no4dO3L69GkOHTrktM3xW2DN//3f//Huu+/Sr18/fvrpJ5YuXcqyZcsoU6aMrW6FN7ib0SWrWV48nT3e3ev3ZJun7vYYsbGxnD59mnnz5lGrVi3bT79+/SAj2+RO+6FlwHTv3t1p/XfffcfUqVNJTU1l0KBBHr+XnggKCiIkJISdO3dm227nzp1UqlSJEiVKAJCenk716tVZs2YNV65c4bXXXqNnz55ON/hZvR6Nn58fzZs3Z/z48UybNo20tDR+/vnnfO+noz179vDWW2/RsWNH5s+fzzPPPJOpzf/+9z8Abt26lenf76FDh/jyyy955ZVXbFNHJyYmcuvWLdLS0khMTOTSpUtZvkfa63Q3jXDLli2JjIykbdu22b4HGk8/N/r168fRo0f59NNPqVixIh9++CENGjTgzz//zFEbIYQQQrgngRIhhPBQeno6ZPHNsav58+czaNAgPv74Y/r06UPnzp1p164dV65csbUpX748RYoU4fDhw5n2d1znabvCoFy5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nZ2NVatWwdvbG56envjoo48QGBjYad2ZM2fC2toalZWVWLJkicZj7733HkaNGoWUlBRUV1djxIgRmDJlCv7whz90mVHX+d3ZsWMH3njjDcyfPx8WFhZ46623cPXqVfV9QeLj4xEZGQkvLy+0trbihx9+gJubm077OHz4ML766itcvHhRY3zixIlPbJRMnDgRU6ZMwYEDB/D666/rtN9HtbW14dChQ8jLy+vVOkRERET6JhGPu9iNiIiI+kxzczOcnJywfft2REdHGzoOoLoXS0JCAioqKnp0NssDu3btQm5uLr788sunmo+IiIjoaeMZJURERAZSXl6O77//Hr6+vmhsbERycjIAIDQ01NDR1IKDg3H58mXU1dXBxcWlx+sYGxtj586dTzUbERERkT7wjBIiIiIDKS8vx2uvvYbKykoMHToUzz//PHbs2PHYG6wSERERkX6xUUJEREREREREpNLzi42JiIiIiIiIiP7HsFFCRERERERERKTCRgkRERERERERkQobJUREREREREREKmyUEBERERERERGpsFFCRERERERERKTCRgkRERERERERkQobJUREREREREREKmyUEBERERERERGpsFFCRERERERERKTyf6qg3JBA/ILPAAAAAElFTkSuQmCC", + "image/png": "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HjzY43NarVZOnTpF8eLF0el09/YChBBCCCGEEKIQUxSFa9euUbFiRfT6wvE9usViIT093dvdEIWMr6+vU6H47Hg1UHLjxg0aN27M888/z1NPPXXH9omJiTz++OMMHTqUuXPnsmrVKl588UVCQkLo2rWrR+c8deoUVapUudeuCyGEEEIIIcR948SJE1SuXNnb3ciWoiicOXOGK1eueLsropAqWbIkwcHBd0yaKDDFXHU63R0zSt58802WLl3Knj17bOuefvpprly5wh9//OHReZKTkylZsiQnTpygRIkS99ptIYQQQgghhCi0rl69SpUqVbhy5QpBQUHe7k62Tp8+zZUrVyhfvjyBgYEyQkB4TFEUbt68yblz5yhZsiQhISHZtvdqRklObdiwgcjISKd1Xbt25bXXXstyn9TUVFJTU23L165dA6BEiRISKBFCCCGEEEIIKPBBB4vFYguSlClTxtvdEYVQQEAAAOfOnaN8+fLZDsMpHIPQbjtz5gwVKlRwWlehQgWuXr1KSkqK233effddgoKCbD8y7EYIIYQQQgghChetJklgYKCXeyIKM+36uVONm0IVKLkbY8aMITk52fZz4sQJb3dJCCGEEEIIIcRdKOiZL6Jg8/T6KVRDb4KDgzl79qzTurNnz1KiRAlbGo0rf39//P3986N7QgghhBBCCCGEKOQKVUZJ69atWbVqldO6FStW0Lp1ay/1SAghhBBCCCGEKFw6dOjAvHnzcuVY+/bto3Llyty4cSNXjlcQeDVQcv36dXbs2MGOHTsAdfrfHTt2cPz4cUAdNvPcc8/Z2g8dOpSjR48yevRoDhw4wKeffsoPP/zA66+/7o3uCyGEEEIIIYQQ2Ro8eDA6nQ6dToevry+hoaGMHj2aW7dueaU/v/76K2fPnuXpp5+2rbt16xbDhw+nTJkyFCtWjN69e2cazfHrr79Su3Zt6tSpw5IlS2zr69evT6tWrZg8eXK+vYa85tVAyZYtW2jatClNmzYFYOTIkTRt2pSoqChAnf5JC5oAhIaGsnTpUlasWEHjxo358MMP+fLLL+natatX+i+EEEIIIYQQQtxJt27dOH36NEePHmXKlCnMnDmT6Ohor/Rl2rRpDBkyBL3eHg54/fXX+e233/jxxx+Jj4/n1KlTPPXUU7btqampDB8+nE8//ZRPPvmEf//736Slpdm2Dxky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", "text/plain": [ "
" ] @@ -294,7 +312,7 @@ }, { "data": { - "image/png": "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jerSpYvOPPNMvfnmmz7nu+yyy7Rv3z4VFxf76acAANYjBANAAPXu3VvV1dXebdOmTerevbtGjhzZbJ933nlHQ4YMOWr/559/rtWrV2vNmjVas2aNiouLNXfuXJ82zz//vHr06KEPP/xQU6dO1W233aarrrpKw4cP10cffaT09HRdf/31amho8Pbp1KmTBg8erHfeeaeVrx4A2g5CMAAEUPv27RUXF6e4uDhFR0dr8uTJSklJ0ezZs5vt88UXXyghIeGo/U1NTcrPz9fAgQM1YsQIXX/99SosLPRpk5SUpD/84Q/q37+/cnNzFRYWph49emjSpEnq37+/Zs6cqb1792rz5s0+/RISEvTFF1+04pUDQNvCYi8AsMhNN92kuro6FRQUqF275u9JHDhw4Jhrgfv166cuXbp4X8fHx2vPnj0+bQYNGuT9d/v27dW9e3edf/753n2xsbGSdFS/8PBwn7vDABBqCMEAYIGHHnpI69at04cffugTZI+lR48e+vbbb4/a37FjR5/XDodDTU1NJ2zz430Oh0P6/q7yj+3bt09nnHHGSVwRAAQXlkMAQIC98soreuCBB7RixYoWBc3k5GRt3bo1ILX9oKKiQsnJyQE9JwAEEiEYAAKooqJC2dnZuvfee3XeeeeppqZGNTU12rdvX7N9MjIytGHDhoDVuHPnTn311VdKS0sL2DkBINAIwQAQQGVlZWpoaNBDDz2k+Ph473bllVc222fChAnasmWLtm3bFpAaly1bpvT0dPXt2zcg5wMAK/DHMgAgCMyYMUNut1tPP/20X89z8OBB9e/fX0uXLlVqaqpfzwUAVuJOMAAEgfvvv199+/Y96gtsra2qqkr33XcfARhAyONOMAAAAGyHO8EAAACwHUIwAAAAbIcQDAAAANshBAMAAMB2CMEAAACwHUIwAAAAbIcQDAAAANshBAMAAMB2CMEAAACwnf8Hhlky+ZLYYWMAAAAASUVORK5CYII=", + "image/png": "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j0eTJk1Sly5ddPrpp+vNN9/0Od8ll1yivXv3qri4uNWvHwDaCkIwAARQ7969VV1d7d02bdqk7t27a+TIkc32efvttzV06NAj9n/++edatWqVVq9erdWrV6u4uFhz5szxafP888+rR48e+uCDDzR16lTdcsstuuKKKzRixAh9+OGHSk9P17XXXquGhgZvn06dOmnIkCF6++23W+/CAaCNIQQDQAC1b99ecXFxiouLU3R0tCZPnqyUlBTNmjWr2T5ffPGFEhISjtjf1NSk/Px8DRo0SBdeeKGuvfZaFRYW+rRJSkrSfffdp/79+ys3N1dhYWHq0aOHbrrpJvXv318zZ87Unj179NFHH/n0S0hI0BdffNEq1wwAbRGLvQDAItdff73q6upUUFCgdu2avyexf//+o64F7tevn7p06eJ9HR8fr927d/u0GTx4sPff7du3V/fu3XXOOed498XGxkrSEf3Cw8N97g4DQKghBAOABR566CGtXbtWH3zwgU+QPZoePXro22+/PWJ/x44dfV47HA41NTUdt82P9zkcDkk6ot/evXt12mmnHf9CACBIsRwCAALslVde0QMPPKDly5e3KGgmJydry5YtAajs/6uoqFBycnJAzwkAgUQIBoAAqqioUHZ2tu6++24NHDhQNTU1qqmp0d69e5vtk5GRoQ0bNgSsxh07duirr75SWlpawM4JAIFGCAaAACorK1NDQ4MeeughxcfHe7fLL7+82T4TJkzQ5s2btXXr1oDUuHTpUqWnp6tv374BOR8AWIE/lgEAQWDGjBlyu916+umn/XqeAwcOqH///lqyZIlSU1P9ei4AsBJ3ggEgCNx7773q27fvEV9ga21VVVW65557CMAAQh53ggEAAGA73AkGAACA7RCCAQAAYDuEYAAAANgOIRgAAAC2QwgGAACA7RCCAQAAYDuEYAAAANgOIRgAAAC2QwgGAACA7fw/hlky+XuN/JMAAAAASUVORK5CYII=", "text/plain": [ "
" ] @@ -369,7 +387,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.12.3" + "version": "3.13.7" }, "widgets": { "application/vnd.jupyter.widget-state+json": { diff --git a/examples/Custom fitting/Custom fitting example.ipynb b/examples/Custom fitting/Custom fitting example.ipynb index c4ad3cea..a9a47481 100644 --- a/examples/Custom fitting/Custom fitting example.ipynb +++ b/examples/Custom fitting/Custom fitting example.ipynb @@ -18,11 +18,11 @@ "id": "2094a05c-198a-475e-83f0-3d2b73fc3b1b", "metadata": { "execution": { - "iopub.execute_input": "2025-10-05T22:54:43.332306Z", - "iopub.status.busy": "2025-10-05T22:54:43.332093Z", - "iopub.status.idle": "2025-10-05T22:54:45.031464Z", - "shell.execute_reply": "2025-10-05T22:54:45.031122Z", - "shell.execute_reply.started": "2025-10-05T22:54:43.332293Z" + "iopub.execute_input": "2025-10-14T21:34:36.488682Z", + "iopub.status.busy": "2025-10-14T21:34:36.488452Z", + "iopub.status.idle": "2025-10-14T21:34:38.109517Z", + "shell.execute_reply": "2025-10-14T21:34:38.109206Z", + "shell.execute_reply.started": "2025-10-14T21:34:36.488667Z" } }, "outputs": [], @@ -50,11 +50,11 @@ "id": "efb38395-95d5-4f4a-9330-10a76b3a47fc", "metadata": { "execution": { - "iopub.execute_input": "2025-10-05T22:54:45.032032Z", - "iopub.status.busy": "2025-10-05T22:54:45.031839Z", - "iopub.status.idle": "2025-10-05T22:54:45.044850Z", - "shell.execute_reply": "2025-10-05T22:54:45.044487Z", - "shell.execute_reply.started": "2025-10-05T22:54:45.032020Z" + "iopub.execute_input": "2025-10-14T21:34:38.110013Z", + "iopub.status.busy": "2025-10-14T21:34:38.109824Z", + "iopub.status.idle": "2025-10-14T21:34:38.126998Z", + "shell.execute_reply": "2025-10-14T21:34:38.126703Z", + "shell.execute_reply.started": "2025-10-14T21:34:38.110001Z" } }, "outputs": [ @@ -199,11 +199,11 @@ "id": "7e74cd9c-a0c1-48a6-9773-9c8254521dda", "metadata": { "execution": { - "iopub.execute_input": "2025-10-05T22:54:45.045415Z", - "iopub.status.busy": "2025-10-05T22:54:45.045260Z", - "iopub.status.idle": "2025-10-05T22:54:45.665930Z", - "shell.execute_reply": "2025-10-05T22:54:45.665562Z", - "shell.execute_reply.started": "2025-10-05T22:54:45.045385Z" + "iopub.execute_input": "2025-10-14T21:34:38.127438Z", + "iopub.status.busy": "2025-10-14T21:34:38.127326Z", + "iopub.status.idle": "2025-10-14T21:34:38.736548Z", + "shell.execute_reply": "2025-10-14T21:34:38.736248Z", + "shell.execute_reply.started": "2025-10-14T21:34:38.127428Z" } }, "outputs": [], @@ -237,11 +237,11 @@ "id": "5deba07e-aab1-4bb5-b9a1-9a2087a0e80a", "metadata": { "execution": { - "iopub.execute_input": "2025-10-05T22:54:45.666395Z", - "iopub.status.busy": "2025-10-05T22:54:45.666282Z", - "iopub.status.idle": "2025-10-05T22:54:45.668628Z", - "shell.execute_reply": "2025-10-05T22:54:45.668306Z", - "shell.execute_reply.started": "2025-10-05T22:54:45.666381Z" + "iopub.execute_input": "2025-10-14T21:34:38.737000Z", + "iopub.status.busy": "2025-10-14T21:34:38.736885Z", + "iopub.status.idle": "2025-10-14T21:34:38.739507Z", + "shell.execute_reply": "2025-10-14T21:34:38.739110Z", + "shell.execute_reply.started": "2025-10-14T21:34:38.736990Z" } }, "outputs": [], @@ -273,7 +273,7 @@ "## Defining the fit function\n", "\n", "The fit function follows the protocol defined by the lmfit package and needs the parameters dictionary as first argument.\n", - "It has to return a residual value, which will be minimized. Here psi and delta are used across all angles to calculate the residual, but could be changed to transmission or reflection data." + "It has to return a residual value, which will be minimized. Here psi and delta are used across all angles to calculate the residual, but could be changed to any other measured quantity like transmission or reflection data." ] }, { @@ -282,11 +282,11 @@ "id": "3fec16e0-f069-413a-8ae4-6796319a264e", "metadata": { "execution": { - "iopub.execute_input": "2025-10-05T22:54:45.669278Z", - "iopub.status.busy": "2025-10-05T22:54:45.668970Z", - "iopub.status.idle": "2025-10-05T22:54:45.674070Z", - "shell.execute_reply": "2025-10-05T22:54:45.673722Z", - "shell.execute_reply.started": "2025-10-05T22:54:45.669262Z" + "iopub.execute_input": "2025-10-14T21:34:38.739887Z", + "iopub.status.busy": "2025-10-14T21:34:38.739792Z", + "iopub.status.idle": "2025-10-14T21:34:38.745107Z", + "shell.execute_reply": "2025-10-14T21:34:38.744773Z", + "shell.execute_reply.started": "2025-10-14T21:34:38.739878Z" } }, "outputs": [], @@ -324,11 +324,11 @@ "id": "78dd21c3-4423-4bb3-b3d7-33862573bc2b", "metadata": { "execution": { - "iopub.execute_input": "2025-10-05T22:54:45.675240Z", - "iopub.status.busy": "2025-10-05T22:54:45.675123Z", - "iopub.status.idle": "2025-10-05T22:54:46.254944Z", - "shell.execute_reply": "2025-10-05T22:54:46.254625Z", - "shell.execute_reply.started": "2025-10-05T22:54:45.675230Z" + "iopub.execute_input": "2025-10-14T21:34:38.746078Z", + "iopub.status.busy": "2025-10-14T21:34:38.745973Z", + "iopub.status.idle": "2025-10-14T21:34:39.318713Z", + "shell.execute_reply": "2025-10-14T21:34:39.318340Z", + "shell.execute_reply.started": "2025-10-14T21:34:38.746069Z" } }, "outputs": [ @@ -389,11 +389,11 @@ "id": "826831fb-875b-4551-b21d-04bae98ae47d", "metadata": { "execution": { - "iopub.execute_input": "2025-10-05T22:54:46.255456Z", - "iopub.status.busy": "2025-10-05T22:54:46.255341Z", - "iopub.status.idle": "2025-10-05T22:54:46.476530Z", - "shell.execute_reply": "2025-10-05T22:54:46.476184Z", - "shell.execute_reply.started": "2025-10-05T22:54:46.255446Z" + "iopub.execute_input": "2025-10-14T21:34:39.319178Z", + "iopub.status.busy": "2025-10-14T21:34:39.319053Z", + "iopub.status.idle": "2025-10-14T21:34:39.542414Z", + "shell.execute_reply": "2025-10-14T21:34:39.542101Z", + "shell.execute_reply.started": "2025-10-14T21:34:39.319167Z" } }, "outputs": [ diff --git a/examples/Interfaces/interface-reflection.ipynb b/examples/Interfaces/interface-reflection.ipynb index 3e51dc72..19a9ca11 100644 --- a/examples/Interfaces/interface-reflection.ipynb +++ b/examples/Interfaces/interface-reflection.ipynb @@ -6,11 +6,11 @@ "metadata": { "collapsed": false, "execution": { - "iopub.execute_input": "2025-09-23T21:21:43.885493Z", - "iopub.status.busy": "2025-09-23T21:21:43.885368Z", - "iopub.status.idle": "2025-09-23T21:21:44.152095Z", - "shell.execute_reply": "2025-09-23T21:21:44.151749Z", - "shell.execute_reply.started": "2025-09-23T21:21:43.885468Z" + "iopub.execute_input": "2025-10-14T21:24:17.553710Z", + "iopub.status.busy": "2025-10-14T21:24:17.553549Z", + "iopub.status.idle": "2025-10-14T21:24:17.816539Z", + "shell.execute_reply": "2025-10-14T21:24:17.816244Z", + "shell.execute_reply.started": "2025-10-14T21:24:17.553698Z" }, "jupyter": { "outputs_hidden": false @@ -55,11 +55,11 @@ "metadata": { "collapsed": false, "execution": { - "iopub.execute_input": "2025-09-23T21:21:44.152546Z", - "iopub.status.busy": "2025-09-23T21:21:44.152400Z", - "iopub.status.idle": "2025-09-23T21:21:45.326464Z", - "shell.execute_reply": "2025-09-23T21:21:45.326140Z", - "shell.execute_reply.started": "2025-09-23T21:21:44.152535Z" + "iopub.execute_input": "2025-10-14T21:24:17.817025Z", + "iopub.status.busy": "2025-10-14T21:24:17.816864Z", + "iopub.status.idle": "2025-10-14T21:24:18.970603Z", + "shell.execute_reply": "2025-10-14T21:24:18.970298Z", + "shell.execute_reply.started": "2025-10-14T21:24:17.817014Z" }, "jupyter": { "outputs_hidden": false @@ -93,11 +93,11 @@ "metadata": { "collapsed": false, "execution": { - "iopub.execute_input": "2025-09-23T21:21:45.327002Z", - "iopub.status.busy": "2025-09-23T21:21:45.326823Z", - "iopub.status.idle": "2025-09-23T21:21:45.329538Z", - "shell.execute_reply": "2025-09-23T21:21:45.329245Z", - "shell.execute_reply.started": "2025-09-23T21:21:45.326991Z" + "iopub.execute_input": "2025-10-14T21:24:18.971098Z", + "iopub.status.busy": "2025-10-14T21:24:18.970922Z", + "iopub.status.idle": "2025-10-14T21:24:18.973593Z", + "shell.execute_reply": "2025-10-14T21:24:18.973334Z", + "shell.execute_reply.started": "2025-10-14T21:24:18.971087Z" }, "jupyter": { "outputs_hidden": false @@ -139,11 +139,11 @@ "metadata": { "collapsed": false, "execution": { - "iopub.execute_input": "2025-09-23T21:21:45.329926Z", - "iopub.status.busy": "2025-09-23T21:21:45.329831Z", - "iopub.status.idle": "2025-09-23T21:21:45.335729Z", - "shell.execute_reply": "2025-09-23T21:21:45.335357Z", - "shell.execute_reply.started": "2025-09-23T21:21:45.329917Z" + "iopub.execute_input": "2025-10-14T21:24:18.974135Z", + "iopub.status.busy": "2025-10-14T21:24:18.973972Z", + "iopub.status.idle": "2025-10-14T21:24:18.979662Z", + "shell.execute_reply": "2025-10-14T21:24:18.979308Z", + "shell.execute_reply.started": "2025-10-14T21:24:18.974121Z" }, "jupyter": { "outputs_hidden": false @@ -195,11 +195,11 @@ "metadata": { "collapsed": false, "execution": { - "iopub.execute_input": "2025-09-23T21:21:45.336214Z", - "iopub.status.busy": "2025-09-23T21:21:45.336079Z", - "iopub.status.idle": "2025-09-23T21:21:45.363550Z", - "shell.execute_reply": "2025-09-23T21:21:45.363199Z", - "shell.execute_reply.started": "2025-09-23T21:21:45.336201Z" + "iopub.execute_input": "2025-10-14T21:24:18.980174Z", + "iopub.status.busy": "2025-10-14T21:24:18.980040Z", + "iopub.status.idle": "2025-10-14T21:24:19.004751Z", + "shell.execute_reply": "2025-10-14T21:24:19.004457Z", + "shell.execute_reply.started": "2025-10-14T21:24:18.980162Z" }, "jupyter": { "outputs_hidden": false @@ -207,7 +207,7 @@ }, "outputs": [], "source": [ - "data = elli.ResultList([s.evaluate(lbda, Phi_i) for Phi_i in Phi_list])\n", + "data = elli.ResultList([s.evaluate(lbda, Phi_i, solver=elli.Solver4x4) for Phi_i in Phi_list])\n", "\n", "R_pp = data.R_pp\n", "R_ss = data.R_ss\n", @@ -235,11 +235,11 @@ "metadata": { "collapsed": false, "execution": { - "iopub.execute_input": "2025-09-23T21:21:45.364503Z", - "iopub.status.busy": "2025-09-23T21:21:45.364343Z", - "iopub.status.idle": "2025-09-23T21:21:45.701101Z", - "shell.execute_reply": "2025-09-23T21:21:45.700750Z", - "shell.execute_reply.started": "2025-09-23T21:21:45.364492Z" + "iopub.execute_input": "2025-10-14T21:24:19.005570Z", + "iopub.status.busy": "2025-10-14T21:24:19.005466Z", + "iopub.status.idle": "2025-10-14T21:24:19.324922Z", + "shell.execute_reply": "2025-10-14T21:24:19.324628Z", + "shell.execute_reply.started": "2025-10-14T21:24:19.005560Z" }, "jupyter": { "outputs_hidden": false diff --git a/examples/Liquid crystals/cholesteric-liquid.ipynb b/examples/Liquid crystals/cholesteric-liquid.ipynb index 5551ad73..68714284 100644 --- a/examples/Liquid crystals/cholesteric-liquid.ipynb +++ b/examples/Liquid crystals/cholesteric-liquid.ipynb @@ -1,133 +1,423 @@ { - "cells": [ - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "collapsed": false - }, - "outputs": [], - "source": [ - "%matplotlib inline" - ] + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false, + "execution": { + "iopub.execute_input": "2025-10-14T20:47:11.114227Z", + "iopub.status.busy": "2025-10-14T20:47:11.114121Z", + "iopub.status.idle": "2025-10-14T20:47:11.375578Z", + "shell.execute_reply": "2025-10-14T20:47:11.375260Z", + "shell.execute_reply.started": "2025-10-14T20:47:11.114216Z" }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n# Cholesteric Liquid Crystal\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Example of a cholesteric liquid crystal\nAuthors: O. Castany, C. Molinaro, M. M\u00fcller\n\n" - ] + "jupyter": { + "outputs_hidden": false + } + }, + "outputs": [], + "source": [ + "%matplotlib inline" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Cholesteric Liquid Crystal Simulation" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example of a cholesteric liquid crystal\n", + "Authors: O. Castany, C. Molinaro, M. Müller\n", + "\n", + "This notebook demonstrates how to model and simulate the optical properties of a cholesteric liquid crystal using pyElli. We will build a helical structure and observe its characteristic selective reflection of circularly polarized light." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false, + "execution": { + "iopub.execute_input": "2025-10-14T20:47:11.376058Z", + "iopub.status.busy": "2025-10-14T20:47:11.375904Z", + "iopub.status.idle": "2025-10-14T20:47:12.563096Z", + "shell.execute_reply": "2025-10-14T20:47:12.562744Z", + "shell.execute_reply.started": "2025-10-14T20:47:11.376048Z" }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "collapsed": false - }, - "outputs": [], - "source": [ - "import elli\nimport elli.plot as elliplot\nimport matplotlib.pyplot as plt\nimport numpy as np\nfrom scipy.constants import c, pi" - ] + "jupyter": { + "outputs_hidden": false + } + }, + "outputs": [], + "source": [ + "import elli\n", + "import elli.plot as elliplot\n", + "import matplotlib.pyplot as plt\n", + "import numpy as np\n", + "from scipy.constants import c, pi" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Setup materials\n", + "\n", + "We start by defining the materials for our model. The liquid crystal will be sandwiched between two layers of isotropic glass with a constant refractive index of 1.55.\n", + "\n", + "The liquid crystal (LC) itself is uniaxial and will be rotated to have the extraordinary axis orientated in x-direction." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false, + "execution": { + "iopub.execute_input": "2025-10-14T20:47:12.563676Z", + "iopub.status.busy": "2025-10-14T20:47:12.563490Z", + "iopub.status.idle": "2025-10-14T20:47:12.566450Z", + "shell.execute_reply": "2025-10-14T20:47:12.566108Z", + "shell.execute_reply.started": "2025-10-14T20:47:12.563664Z" }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Setup materials and structure\n\n" - ] + "jupyter": { + "outputs_hidden": false + } + }, + "outputs": [], + "source": [ + "glass = elli.IsotropicMaterial(elli.ConstantRefractiveIndex(1.55))\n", + "front = back = glass\n", + "\n", + "# Define the ordinary (no) and extraordinary (ne) refractive indices for the LC\n", + "(no, ne) = (1.5, 1.7)\n", + "Dn = ne - no\n", + "n_med = (ne + no) / 2\n", + "\n", + "# Create a uniaxial material with ne oriented along the z-axis by default\n", + "LC = elli.UniaxialMaterial(\n", + " elli.ConstantRefractiveIndex(no), elli.ConstantRefractiveIndex(ne)\n", + ")\n", + "\n", + "# Rotate the material so the extraordinary axis is along x instead of z\n", + "R = elli.rotation_v_theta(elli.E_Y, 90) # rotation of pi/2 along y\n", + "LC.set_rotation(R) # apply rotation from z to x" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Building the Helical Structure\n", + "\n", + "The defining feature of a cholesteric liquid crystal is its helical structure. The distance over which the director rotates by 360° is known as the cholesteric pitch (p).\n", + "\n", + "We model this by first creating a single TwistedLayer that represents one half-turn of the helix (180° rotation over a distance of p/2). We then stack this layer multiple times using RepeatedLayers to build the full thickness (7.5p) of the liquid crystal cell." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false, + "execution": { + "iopub.execute_input": "2025-10-14T20:47:12.567006Z", + "iopub.status.busy": "2025-10-14T20:47:12.566846Z", + "iopub.status.idle": "2025-10-14T20:47:12.572337Z", + "shell.execute_reply": "2025-10-14T20:47:12.571950Z", + "shell.execute_reply.started": "2025-10-14T20:47:12.566993Z" }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "collapsed": false - }, - "outputs": [], - "source": [ - "glass = elli.IsotropicMaterial(elli.ConstantRefractiveIndex(1.55))\nfront = back = glass\n\n# Liquid crystal oriented along the x direction\n(no, ne) = (1.5, 1.7)\nDn = ne - no\nn_med = (ne + no) / 2\nLC = elli.UniaxialMaterial(\n elli.ConstantRefractiveIndex(no), elli.ConstantRefractiveIndex(ne)\n) # ne is along z\nR = elli.rotation_v_theta(elli.E_Y, 90) # rotation of pi/2 along y\nLC.set_rotation(R) # apply rotation from z to x\n\n# Cholesteric pitch (nm):\np = 650\n\n# One half turn of a right-handed helix:\nTN = elli.TwistedLayer(LC, p / 2, angle=180, div=35)\n\n# Repetition the helix layer\nN = 15 # number half pitch repetitions\nh = N * p / 2\nL = elli.RepeatedLayers([TN], N)\ns = elli.Structure(front, [L], back)\n\n# Calculation parameters\nlbda_min, lbda_max = 800, 1200 # (nm)\nlbda_B = p * n_med\nlbda_list = np.linspace(lbda_min, lbda_max, 100)" - ] + "jupyter": { + "outputs_hidden": false + } + }, + "outputs": [], + "source": [ + "# Cholesteric pitch (nm):\n", + "p = 650\n", + "\n", + "# One half turn of a right-handed helix:\n", + "TN = elli.TwistedLayer(LC, p / 2, angle=180, div=35)\n", + "\n", + "# Repetition the helix layer\n", + "N = 15 # number half pitch repetitions\n", + "h = N * p / 2\n", + "L = elli.RepeatedLayers([TN], N)\n", + "s = elli.Structure(front, [L], back)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Setting Calculation Parameters\n", + "\n", + "Finally, we define the wavelength range for our simulation around the central wavelength of the reflection band, which is determined by the average refractive index and the pitch." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false, + "execution": { + "iopub.execute_input": "2025-10-14T20:47:12.573159Z", + "iopub.status.busy": "2025-10-14T20:47:12.572801Z", + "iopub.status.idle": "2025-10-14T20:47:12.575256Z", + "shell.execute_reply": "2025-10-14T20:47:12.574867Z", + "shell.execute_reply.started": "2025-10-14T20:47:12.573145Z" }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Analytical calculation for the maximal reflection\n\n" - ] + "jupyter": { + "outputs_hidden": false + } + }, + "outputs": [], + "source": [ + "# Define wavelength range in nm for the calculation\n", + "lbda_min, lbda_max = 800, 1200\n", + "lbda_B = p * n_med # Expected center of the reflection band\n", + "lbda_list = np.linspace(lbda_min, lbda_max, 100)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Analytical calculation for the maximal reflection\n", + "\n", + "For a cholesteric liquid crystal, we can analytically calculate the approximate edges of the reflection band and the maximum reflectance. This serves as a good check for our full simulation." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false, + "execution": { + "iopub.execute_input": "2025-10-14T20:47:12.576542Z", + "iopub.status.busy": "2025-10-14T20:47:12.576389Z", + "iopub.status.idle": "2025-10-14T20:47:12.578620Z", + "shell.execute_reply": "2025-10-14T20:47:12.578306Z", + "shell.execute_reply.started": "2025-10-14T20:47:12.576531Z" }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "collapsed": false - }, - "outputs": [], - "source": [ - "R_th = np.tanh(Dn / n_med * pi * h / p) ** 2\nlbda_B1, lbda_B2 = p * no, p * ne" - ] + "jupyter": { + "outputs_hidden": false + } + }, + "outputs": [], + "source": [ + "# Theoretical maximum reflectance\n", + "R_th = np.tanh(Dn / n_med * pi * h / p) ** 2\n", + "\n", + "# Theoretical wavelength edges of the reflection band\n", + "lbda_B1, lbda_B2 = p * no, p * ne" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Calculation with pyElli\n", + "\n", + "Now we run the simulation using the s.evaluate() method. This calculates the Jones matrix elements for transmission and reflection.\n", + "\n", + "They are extracted for linear (s and p), as well as circular polarized light (R and L)" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false, + "execution": { + "iopub.execute_input": "2025-10-14T20:47:12.579271Z", + "iopub.status.busy": "2025-10-14T20:47:12.579074Z", + "iopub.status.idle": "2025-10-14T20:47:12.744984Z", + "shell.execute_reply": "2025-10-14T20:47:12.744657Z", + "shell.execute_reply.started": "2025-10-14T20:47:12.579254Z" }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Calculation with pyElli\n\n" - ] + "jupyter": { + "outputs_hidden": false + } + }, + "outputs": [], + "source": [ + "# Run the full optical simulation for the defined structure and wavelength list\n", + "data = s.evaluate(lbda_list, 0)\n", + "\n", + "# Extract transmission coefficients for linear polarization\n", + "T_pp = data.T_pp\n", + "T_ps = data.T_ps\n", + "T_ss = data.T_ss\n", + "T_sp = data.T_sp\n", + "\n", + "# Calculate transmission for unpolarized incident light\n", + "T_nn = 0.5 * (T_pp + T_ps + T_sp + T_ss)\n", + "\n", + "# Transmission coefficients for 's' and 'p' polarized light, with\n", + "# unpolarized measurement.\n", + "T_ns = T_ps + T_ss\n", + "T_np = T_pp + T_sp\n", + "\n", + "# Right-circular wave is reflected in the stop-band.\n", + "# A right-handed helix reflects right-circular (RR) light.\n", + "R_RR = data.Rc_RR\n", + "R_LR = data.Rc_LR\n", + "T_RR = data.Tc_RR\n", + "T_LR = data.Tc_LR\n", + "\n", + "# Left-circular wave is transmitted in the full spectrum.\n", + "# T_RL, R_RL, R_LL close to zero, T_LL close to 1.\n", + "T_LL = data.Tc_LL\n", + "R_LL = data.Rc_LL" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Plotting\n", + "\n", + "Finally, we plot the results. The plot will show the transmission and reflection spectra for various polarizations.\n", + "\n", + "We also draw a shaded rectangle representing the analytically calculated photonic stop-band. Inside this band, we expect to see strong reflection for a specific circular polarization. As our model is a right-handed helix, it should strongly reflect right-circularly polarized light (R_RR)." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false, + "execution": { + "iopub.execute_input": "2025-10-14T20:47:12.745494Z", + "iopub.status.busy": "2025-10-14T20:47:12.745370Z", + "iopub.status.idle": "2025-10-14T20:47:13.054031Z", + "shell.execute_reply": "2025-10-14T20:47:13.053621Z", + "shell.execute_reply.started": "2025-10-14T20:47:12.745483Z" }, + "jupyter": { + "outputs_hidden": false + } + }, + "outputs": [ { - "cell_type": "code", - "execution_count": null, - "metadata": { - "collapsed": false - }, - "outputs": [], - "source": [ - "data = s.evaluate(lbda_list, 0)\n\nT_pp = data.T_pp\nT_ps = data.T_ps\nT_ss = data.T_ss\nT_sp = data.T_sp\n\n# Transmission coefficients for incident unpolarized light:\nT_pn = 0.5 * (T_pp + T_ps)\nT_sn = 0.5 * (T_sp + T_ss)\nT_nn = T_sn + T_pn\n\n# Transmission coefficients for 's' and 'p' polarized light, with\n# unpolarized measurement.\nT_ns = T_ps + T_ss\nT_np = T_pp + T_sp\n\n# Right-circular wave is reflected in the stop-band.\n# R_LR, T_LR close to zero.\nR_RR = data.Rc_RR\nR_LR = data.Rc_LR\nT_RR = data.Tc_RR\nT_LR = data.Tc_LR\n\n# Left-circular wave is transmitted in the full spectrum.\n# T_RL, R_RL, R_LL close to zero, T_LL close to 1.\nT_LL = data.Tc_LL\nR_LL = data.Rc_LL" + "data": { + "image/png": "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719szLfffhuFQsGzzz5Leno67777Lg8//DD79u2zrLNixQoee+wxunbtysyZM7l06RJDhw7F3d2dBg0aWNYzmUwMHTqUnTt3MnXqVJo1a8aJEyf48MMPOX/+POvWrbOsO3nyZL755hvGjBlD165d+ffffxk8eHC5xwBg/fr1AIwdO9aq9aH88wLSTaJXr15ERUXx5JNPEhoayk8//cT48eNJS0sr9UfKTHx8PJ07d0YQBJ588km8vLz466+/mDRpEhkZGcycOROAzz//nKeffpoRI0YwY8YM8vLyOH78OPv27WPMmDEMGzaM8+fP89133/Hhhx/i6ekJgJeXFyBZp1555RVGjRrF5MmTSUxM5OOPP6ZHjx4cOXKkmEsrOTmZQYMGMXr0aB555BF8fHxKld1oNHLvvfeyefNmRo8ezYwZM8jMzOSff/7h5MmThIWFWX2craUq599a4uLi6N27NwaDgRdffBEHBweWLVuGnZ1dudvm5OSwefNmevToQVBQkNVzrly5kry8PKZOnYpWqyUoKIgHHniAH374gQ8++AClUmlZ97vvvkMURR5++GFA+kF76623mDx5Mh07diQjI4ODBw9y+PBh+vfvz2OPPUZsbCz//PMPX3/9dYm5Fy1axNChQ3n44YfJz8/n+++/Z+TIkfz+++82O7Y//fQTOTk5PPHEE3h4eLB//34+/vhjrl+/zk8//VShsWJiYujduzeCIDB79mwcHBxYvnx5mZYea+5/OTk59OzZk5iYGB577DGCgoLYvXs3s2fP5saNGyxcuBAAURS577772LlzJ48//jjNmjXjl19+4dFHH7VK9oreZ4uyadMmBg0aRMOGDZk7dy65ubl8/PHHdOvWjcOHD5dQ6EeNGkVoaChvvfUWhw8fZvny5Xh7exezUo8fP54ff/yRsWPH0rlzZ7Zt22bz75PNEGVsxsqVK0VA3LRpk5iYmCheu3ZNXLNmjejl5SVqtVrx2rVrxdbv2bOn2LNnT8v/77//vgiI69atsyzLzc0VmzZtKgLili1bim0LiF999ZVlmV6vF319fcXhw4dblh04cEAExJUrV1q9H8HBwSIgbt++3bIsISFB1Gq14v/93/9ZluXl5YlGo7HYttHR0aJWqxVfe+01y7ItW7aIgNisWTNRr9dbli9atEgExBMnToiiKIr5+fmit7e32KZNm2LrLVu2TASKHauvv/5aVCgU4o4dO4rNv2TJEhEQd+3aJYqiKB49elQExGnTphVbb8yYMSIgzpkz57bHom3btqKLi8tt1ymKtedl4cKFIiB+8803lmX5+flily5dREdHRzEjI8Oy/FY5J02aJPr5+YlJSUnF5h49erTo4uIi5uTkiKIoivfdd5/YvHnz28q7YMECERCjo6OLLb98+bKoVCrF+fPnF1t+4sQJUaVSFVtu3uclS5aUejyKnrcvvvhCBMQPPvigxLomk+m2svbs2bPc/ZkzZ45Y9LZWkfP/6KOPisHBweWOKYrSd+TRRx+1/D9z5kwREPft22dZlpCQILq4uJR6fIty7NgxERBnzJhx230zEx0dLQKis7OzmJCQUOyzDRs2iID4119/FVveqlWrYuehdevW4uDBg287z/Tp00vstxnzNWYmPz9fbNGihdinT59iy289ThXh1jlEURTfeustURAE8cqVK5Zl1pyfp556ShQEQTxy5IhlWXJysuju7l7i/Fh7/3v99ddFBwcH8fz588XmfvHFF0WlUilevXpVFEVRXLdunQiI7777rmUdg8EgRkZGWnVvtvY+a74uio7Xpk0b0dvbW0xOTrYsO3bsmKhQKMRx48ZZlpmP4cSJE4vN88ADD4geHh6W/w8dOiQC4syZM4utN378eKvupzWN7KKqBvr164eXlxcNGjRgxIgRODg4sH79egIDA2+73d9//01AQABDhw61LNPpdEyZMqXU9R0dHXnkkUcs/2s0Gjp27MilS5eqvA8REREWiw9IT/VNmjQpNrZWq7UE8hmNRpKTk3F0dKRJkyYcPny4xJgTJkwoFiNgHt885sGDB0lISODxxx8vtp7ZtFuUn376iWbNmtG0aVOSkpIsf3369AGwWL3+/PNPAJ5++uli25utHOWRkZFRqsvgdlhzXv788098fX156KGHLMvUajVPP/00WVlZbNu2rdSxRVFk7dq1DBkyBFEUi+37wIEDSU9Ptxx7V1dXrl+/zoEDByokP8DPP/+MyWRi1KhRxebw9fWlUaNGJayKWq2WCRMmlDvu2rVr8fT05KmnnirxWXWkd1f1/Fdkns6dO9OxY0fLMi8vL4vF5HZkZGQAVPg6Gz58uMXaZqZfv374+/vz7bffWpadPHmS48ePF7smXV1dOXXqFBcuXKjQnGaKWqZSU1NJT08n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3QDIKtbXPJm+GCyVZQ8uk11UI0eOZN++fWzfvp2pU6cyffp0brrppgY//o033mDfvn38/PPPdO3alQ8++IDQ0Oo9vAICAti3bx+7du1iyZIl9O3bl5deesnZl1Irh2Zwli9fzty5c7n99tvtlRyVSiUzZszgtddec+oABUFwM1ubCN2FGRx7gBOgtpe5j845QnmsheKcCvIzygiL9Xf7UIXL274NqRRkluMToGLQxLb2278/9T0myUTP8J5EppWQUl6OIigIS2JbOJpDVrGu5slsCcYqX1A3vTLxkQVj67xPflEhu93PjWnwsVufGNm0gVXh5+dH+8qihytXrqRXr158+OGHzJgxo0GPj46Opn379rRv355Vq1Zx7bXXcuTIESIjL7Rwkcvl9ufo0qULp06dYtasWXz66adOu466ODSD4+vryzvvvENeXh579+5l79695Ofn884777hl2kkQBBfSVAY4+loCHH8N2soy922ydGSFnAassziC4E7FuRXs+jEFgCGTO6D1s/YskiSJNSfXAHBjhxsp37kTAJ/+/RndJZppgxPoGBVQ84ROTjD2VSvr/NCqFE4/tqnkcjlPP/00zz77LBUVFY1+/IABA+jXr1+9szNPPvkkq1evZs+ePY4OtcGaVOjPz8+Pnj170rNnTxHYCEJLUdsMTmUOTtUlqugCOOW/CxABjuBekiSxZfVxTEYLcZ2C6Tggyn7fvpx9nCk6g4/Sh3EJ4yirDHB8+/fnHwNaM//6bgxIDK15UicmGDdXN998MwqFgrffftuhxz/66KO89957pKen13lMfHw8N954I/PmzXN0mA3mcNi3ceNGNm7cSHZ2NhZL9S13K1eubPLABEHwkFpmcHzUCiIDNEQFalCGh6MIC4O8PMymQwBkpxRTVqjHL7iOEviC4EQF+3NJOZiHXCFjxG2dqhWdW3PCOntzdZur8VP4kL7bOlPge8UVlz6pExOMmyulUsmDDz7Iq6++yqxZsxo9cTFu3DgSExN56aWXeOedd+o8bvbs2SQlJbFjxw4GDBhQ53FN5dAMzgsvvMDVV1/Nxo0byc3NpaCgoNpHY7399tskJCSg1WoZOHAgO3bsuOTxhYWFPPDAA8TExKDRaOjYsSM//fSTI5ciCMLFapnBmX99N3Y8M4Zbr7BWH9V07ABAVEERRUFZAJw5IGZxBNfzLzZw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", + "text/plain": [ + "
" ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fig = plt.figure()\n", + "ax = fig.add_subplot(1, 1, 1)\n", + "\n", + "# Draw rectangle for λ ∈ [p·no, p·ne], and T ∈ [0, R_th]\n", + "rectangle = plt.Rectangle((lbda_B1, 0), lbda_B2 - lbda_B1, R_th, color=\"cyan\")\n", + "ax.add_patch(rectangle)\n", + "\n", + "ax.plot(lbda_list, R_RR, \"--\", label=\"R_RR\")\n", + "ax.plot(lbda_list, T_RR, label=\"T_RR\")\n", + "ax.plot(lbda_list, T_nn, label=\"T_nn\")\n", + "ax.plot(lbda_list, T_ns, label=\"T_ns\")\n", + "ax.plot(lbda_list, T_np, label=\"T_np\")\n", + "\n", + "ax.legend(loc=\"center right\", bbox_to_anchor=(1.00, 0.50))\n", + "\n", + "ax.set_title(\n", + " \"Right-handed Cholesteric Liquid Crystal, aligned along \\n\"\n", + " + \"the $x$ direction, with {:.1f} helix pitches.\".format(N / 2.0)\n", + ")\n", + "ax.set_xlabel(r\"Wavelength $\\lambda_0$ (nm)\")\n", + "ax.set_ylabel(r\"Power transmission $T$ and reflexion $R$\")\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Additionally we can visualize the refractive index n x direction of the structure in dependance of z position." + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": false, + "execution": { + "iopub.execute_input": "2025-10-14T20:47:13.054794Z", + "iopub.status.busy": "2025-10-14T20:47:13.054457Z", + "iopub.status.idle": "2025-10-14T20:47:13.113115Z", + "shell.execute_reply": "2025-10-14T20:47:13.112804Z", + "shell.execute_reply.started": "2025-10-14T20:47:13.054783Z" }, + "jupyter": { + "outputs_hidden": false + } + }, + "outputs": [ { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Plotting\n\n" + "data": { + "text/plain": [ + "" ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" }, { - "cell_type": "code", - "execution_count": null, - "metadata": { - "collapsed": false - }, - "outputs": [], - "source": [ - "fig = plt.figure()\nax = fig.add_subplot(1, 1, 1)\n\n# Draw rectangle for \u03bb \u2208 [p\u00b7no, p\u00b7ne], and T \u2208 [0, R_th]\nrectangle = plt.Rectangle((lbda_B1, 0), lbda_B2 - lbda_B1, R_th, color=\"cyan\")\nax.add_patch(rectangle)\n\nax.plot(lbda_list, R_RR, \"--\", label=\"R_RR\")\nax.plot(lbda_list, T_RR, label=\"T_RR\")\nax.plot(lbda_list, T_nn, label=\"T_nn\")\nax.plot(lbda_list, T_ns, label=\"T_ns\")\nax.plot(lbda_list, T_np, label=\"T_np\")\n\nax.legend(loc=\"center right\", bbox_to_anchor=(1.00, 0.50))\n\nax.set_title(\n \"Right-handed Cholesteric Liquid Crystal, aligned along \\n\"\n + \"the $x$ direction, with {:.1f} helix pitches.\".format(N / 2.0)\n)\nax.set_xlabel(r\"Wavelength $\\lambda_0$ (nm)\")\nax.set_ylabel(r\"Power transmission $T$ and reflexion $R$\")\nplt.show()\n\nelliplot.draw_structure(s)" + "data": { + "image/png": "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8OKLL1rdp5eMjAxpef369QCAgQMHZts3vciP/axZswAAX3zxhXSb3uee/O8PGjQIwP/+BwEgPT3dLfnNmjVD8+bNUaRIEUyZMgWAe8+9sLAw+Pn54aWXXkKjRo2s7tNLWlqatPzjjz8CAIYMGZJt3/QiP/c+//xzAMDs2bOl29x17nl4eKB///4A/vc/CDzumOaO/FatWqFRo0YIDAzEmDFjALj33BswYIDuWU8NNxTXTxRembXPcmXWw8NDLF++3Oqrb73IPyHLO92899570u1RUVG6ZMuvCleuXNnqvgYNGuh+herSpUtSRo8ePazus3TEe+6553TJFsL6q64vv/xSuv3o0aPS7RMnTtQt/7PPPpNy9u7dK92+ePFi6fb169frlt+6dWsp59GjR9LtAwYM0P3r5uTkZCmjVq1aVvfVqVNHui85OVmX/LNnz0oZffv2lW5PT0+Xbm/RooUu2UIIsXHjRiln4cKF0u379+/P9k2FHiZPnizlHDp0SLp97ty50u1btmzRLf/555+XcuR69uwp3X7hwgVdshMTE6WMZ5991uq+atWq2fyf0NLJkyeljEGDBtncrw4dOuiSLYQQa9eulXKWLl0q3b57927p9unTp+uW//HHH0s5luYVvDJrG6/MksueffZZaXnHjh265Wzfvh0A4O/vj2eeeUa6vWnTptLy/v37dcn++++/pWXL1UCLF154QVo+e/asLvmHDh2Slps1a2Z1X82aNQEAhw8f1iUbAHbu3CktN2jQQFquWLGitLx161bd8n/99VdpuVq1atKyfFiyP/74Q7f83bt3AwBKly4tfRMAWJ97Bw4c0CX78uXL0nLWc0/++8WLF3XJ//PPP6Vl+eP18PCQhsaKjIzUJRuwPq7y4121alVpWX5+aE3+tytXriwtP/fcc9JyeHi4bvmW1zT54wWsXwcOHjyoS/b58+elZUfn3tWrV3XJl7+eN2nSRFouUKCANBykns+9/NyTv89Vr15dWtbz3JO/ppYvX163nKcNi1myqVatWpg8ebLuOSaTCcDjokE+vmG3bt3QunVr3fMtvvrqK6vfp0+fDl9fX7dkN2jQAO+++67VbXoWcVkNGzYMzz//vPS7j48PNm/e7Lb8NWvWWI3t+eyzz0pf+enJcu5FRkZKywDQu3fvbG/yesmbN6/UvMVi9uzZbhtrtHnz5ujX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hsViloiIiIgMi8UsERERERkWi1kiIiIiMiwWs0RERERkWCxmiYiIiMiwWMwSERERkWGxmCUiIiIiw2IxS0RERESGxWKWiIiIiAyLxSwRERERGRaLWSIiIiIyLBazRERERGRYLGaJiIiIyLBYzBIRERGRYbGYJSIiIiLDYjFLRERERIbFYpaIiIiIDIvFLBEREREZFotZIiIiIjIsFrNEREREZFgsZomIiIjIsFjMEhEREZFh5WoxGxkZifbt2yMoKAgmkwmbN292uP7GjRvRqlUrFC1aFD4+PmjcuDG2bdvmnp0lIiIioidOrhazSUlJqFOnDhYsWODU+pGRkWjVqhV+/fVXHD16FC+99BLat2+P48eP67ynRERERPQkMgkhRG7vBACYTCZs2rQJHTt2VLRdjRo10KVLF0ycONGp9ePj4+Hr64u4uDj4+Pio2FMiIiIi0pOSes3QbWbNZjMSEhJQuHDh3N4VIiIiIsoFnrm9A6744osvkJiYiM6dO9tdJzU1FampqdLv8fHx7tg1IiIiInIDw16ZXb16NaZMmYJ169ahWLFidtcLCwuDr6+v9FO6dGk37iURERER6cmQxezatWsxYMAArFu3Di1btnS47tixYxEXFyf9XL9+3U17SURERER6M1wzgzVr1qBfv35Yu3Yt2rZtm+P63t7e8Pb2dsOeEREREZG75Woxm5iYiEuXLkm/X716FVFRUShcuDCCg4MxduxY3LhxAytXrgTwuGlB7969MWfOHDRs2BC3b98GAOTPnx++vr658hiIiIiIKPfkajODI0eOoF69eqhXrx4AYMSIEahXr540zNatW7cQHR0trb9kyRJkZGRgyJAhKFGihPQzbNiwXNl/IiIiIspdT8w4s+7CcWaJiIiInmxPzTizRERERPR0YzFLRERERIbFYpaIiIiIDIvFLBEREREZFotZIiIiIjIsFrNEREREZFgsZomIiIjIsFjMEhEREZFhsZglIiIiIsNiMUtEREREhsViloiIiIgMi8UsERERERkWi1kiIiIiMiwWs0RERERkWCxmiYiIiMiwWMwSERERkWGxmCUiIiIiw2IxS0RERESGxWKWiIiIiAyLxSwRERERGRaLWSIiIiIyLBazRERERGRYLGaJiIiIyLBYzBIRERGRYbGYJSIiIiLDYjFLRERERIbFYpaIiIiIDIvFLBER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", + "text/plain": [ + "
" ] + }, + "metadata": {}, + "output_type": "display_data" } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.13" - } + ], + "source": [ + "elliplot.draw_structure(s)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" }, - "nbformat": 4, - "nbformat_minor": 0 -} \ No newline at end of file + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.13.7" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/examples/Liquid crystals/twisted-nematic.ipynb b/examples/Liquid crystals/twisted-nematic.ipynb index e3825dc1..5af42ca7 100644 --- a/examples/Liquid crystals/twisted-nematic.ipynb +++ b/examples/Liquid crystals/twisted-nematic.ipynb @@ -38,7 +38,15 @@ "cell_type": "code", "execution_count": 1, "id": "60c0a3b9", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2025-10-14T21:12:35.513708Z", + "iopub.status.busy": "2025-10-14T21:12:35.513609Z", + "iopub.status.idle": "2025-10-14T21:12:36.953019Z", + "shell.execute_reply": "2025-10-14T21:12:36.952677Z", + "shell.execute_reply.started": "2025-10-14T21:12:35.513697Z" + } + }, "outputs": [], "source": [ "import elli\n", @@ -56,37 +64,108 @@ "tags": [] }, "source": [ - "## Set parameters" + "## Materials\n", + "\n", + "The liquid crystal is sandwiched between two isotropic glass substrates. We choose a refractive index of n = 1.55 for the glass.\n", + "\n", + "The liquid crystal is a uniaxial material with an ordinary refractive index (n_o) and an extraordinary refractive index (n_e)." ] }, { "cell_type": "code", "execution_count": 2, - "id": "1fb08de5-4eb3-44ed-a585-94da994e31d2", - "metadata": {}, + "id": "53aee7b4-bb47-49df-af29-f0cf9ef34fb2", + "metadata": { + "execution": { + "iopub.execute_input": "2025-10-14T21:12:36.953517Z", + "iopub.status.busy": "2025-10-14T21:12:36.953338Z", + "iopub.status.idle": "2025-10-14T21:12:36.956246Z", + "shell.execute_reply": "2025-10-14T21:12:36.955940Z", + "shell.execute_reply.started": "2025-10-14T21:12:36.953506Z" + } + }, "outputs": [], "source": [ "# Materials\n", "glass = elli.IsotropicMaterial(elli.ConstantRefractiveIndex(1.55))\n", "front = back = glass\n", "\n", - "# Liquid crystal oriented along the x direction\n", + "# Liquid crystal material\n", "(no, ne) = (1.5, 1.6)\n", "Dn = ne - no\n", "LC = elli.UniaxialMaterial(\n", " elli.ConstantRefractiveIndex(no), elli.ConstantRefractiveIndex(ne)\n", ")\n", + "\n", + "# By default, the extraordinary axis is along z. We rotate it to be along x.\n", "R = elli.rotation_v_theta(elli.E_Y, 90)\n", - "LC.set_rotation(R)\n", - "d = 4330\n", + "LC.set_rotation(R)" + ] + }, + { + "cell_type": "markdown", + "id": "58e9330f-2238-4abd-bff3-18f057889c54", + "metadata": {}, + "source": [ + "## Structure\n", + "\n", + "We create the twisted nematic layer using elli.TwistedLayer. We specify the material (LC), the total thickness (d), and the total twist angle (90°). The continuous helical twist is approximated by a series of discrete, rotated sub-layers. The number of these sub-layers is set by the divisions parameter." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "687602cc-9b07-41fb-9e97-88e127b78123", + "metadata": { + "execution": { + "iopub.execute_input": "2025-10-14T21:12:36.956657Z", + "iopub.status.busy": "2025-10-14T21:12:36.956556Z", + "iopub.status.idle": "2025-10-14T21:12:36.961803Z", + "shell.execute_reply": "2025-10-14T21:12:36.961254Z", + "shell.execute_reply.started": "2025-10-14T21:12:36.956647Z" + } + }, + "outputs": [], + "source": [ + "d = 4330 # Layer thickness in nm\n", "TN = elli.TwistedLayer(LC, d, 7, 90)\n", "\n", - "# Structure\n", - "s = elli.Structure(front, [TN], back)\n", + "# The final structure is the twisted nematic layer between the two glass substrates.\n", + "s = elli.Structure(front, [TN], back)" + ] + }, + { + "cell_type": "markdown", + "id": "0aa89872-8e5c-4466-aa15-50118bb3e397", + "metadata": {}, + "source": [ + "## Calculation Range\n", "\n", - "# Calculation parameters\n", - "(lbda_min, lbda_max) = (200e-9, 1) #  (m)\n", + "We define the spectral range for our simulation. The calculations will be performed over a list of wavenumbers (k0_list), which are then converted to wavelengths (lbda_list) for plotting and theoretical calculations." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "44258c7f-00aa-46d1-a1a8-af75c27cce01", + "metadata": { + "execution": { + "iopub.execute_input": "2025-10-14T21:12:36.962288Z", + "iopub.status.busy": "2025-10-14T21:12:36.962172Z", + "iopub.status.idle": "2025-10-14T21:12:36.964558Z", + "shell.execute_reply": "2025-10-14T21:12:36.964215Z", + "shell.execute_reply.started": "2025-10-14T21:12:36.962277Z" + } + }, + "outputs": [], + "source": [ + "# Wavelength range in meters\n", + "(lbda_min, lbda_max) = (200e-9, 1)\n", + "\n", + "# Create a list of wavenumbers with even spacing\n", "k0_list = np.linspace(2 * pi / lbda_max, 2 * pi / lbda_min)\n", + "\n", + "# Convert to nm for calculations\n", "lbda_list = (2 * pi) / k0_list * 1e9" ] }, @@ -95,14 +174,24 @@ "id": "c3a4c0be-16ce-4f1f-ac28-d268539df882", "metadata": {}, "source": [ - "## Calculate theoretical curve with Gooch-Tarry law" + "## Calculate theoretical curve with Gooch-Tarry law\n", + "\n", + "Before running the full simulation, we calculate the expected transmission using the Gooch-Tarry law. This analytical formula describes the transmission of linearly polarized light through a TN cell placed between parallel polarizers." ] }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 5, "id": "673afd53-8ca5-40ce-9d2b-08cc70cdd605", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2025-10-14T21:12:36.964976Z", + "iopub.status.busy": "2025-10-14T21:12:36.964859Z", + "iopub.status.idle": "2025-10-14T21:12:36.967236Z", + "shell.execute_reply": "2025-10-14T21:12:36.966785Z", + "shell.execute_reply.started": "2025-10-14T21:12:36.964965Z" + } + }, "outputs": [], "source": [ "u = 2 * d * Dn / lbda_list\n", @@ -114,14 +203,24 @@ "id": "77af6158-40a7-474f-a208-8769b02507dd", "metadata": {}, "source": [ - "## Simulate with pyElli" + "## Run the pyElli Simulation\n", + "\n", + "We now use pyElli's 4x4 Berreman matrix solver to simulate the transmission. To test for numerical convergence, we run the simulation twice: once with a coarse approximation of the twist (7 divisions) and a second time with a finer one (18 divisions). We expect the result with more divisions to be more accurate. This theoretical curve will serve as a benchmark for our simulation." ] }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 6, "id": "13752370-0e4a-4e9a-84b0-4be6604a4e7d", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2025-10-14T21:12:36.968381Z", + "iopub.status.busy": "2025-10-14T21:12:36.968178Z", + "iopub.status.idle": "2025-10-14T21:12:36.982189Z", + "shell.execute_reply": "2025-10-14T21:12:36.981890Z", + "shell.execute_reply.started": "2025-10-14T21:12:36.968369Z" + } + }, "outputs": [], "source": [ "TN.set_divisions(7)\n", @@ -138,25 +237,35 @@ "id": "fad5b1f9-6b46-4191-a4f5-5f395bd2c3af", "metadata": {}, "source": [ - "## Plot" + "## Plot and Compare Results\n", + "\n", + "Finally, we plot the theoretical Gooch-Tarry curve and overlay the results from our two simulations. This visualization allows us to directly compare the numerical results against the analytical solution.\n", + "\n", + "The plot clearly shows that the simulation with 18 divisions matches the theoretical law almost perfectly. The simulation with only 7 divisions shows noticeable deviation, demonstrating that a sufficient number of sub-layers is crucial for accurately modeling the continuously twisted structure." ] }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 7, "id": "00525937-cb15-4a42-9c6b-b2d79b85b66b", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2025-10-14T21:12:36.982648Z", + "iopub.status.busy": "2025-10-14T21:12:36.982539Z", + "iopub.status.idle": "2025-10-14T21:12:37.270416Z", + "shell.execute_reply": "2025-10-14T21:12:37.270118Z", + "shell.execute_reply.started": "2025-10-14T21:12:36.982637Z" + } + }, "outputs": [ { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYQAAAEcCAYAAADHiMP9AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/NK7nSAAAACXBIWXMAAAsTAAALEwEAmpwYAABVHElEQVR4nO3dd3hU1dbA4d9KKKGDNIEACYK0UEKJUsUGKiiCiigWQBQLCmr0s91rvderRsDeIGBBEQQVFAVEqpQQCCX03nsJvSXr++OchElIG8hkEljv88yTmVPXmZmcdfbeZ/YWVcUYY4wJ8HcAxhhj8gZLCMYYYwBLCMYYY1yWEIwxxgCWEIwxxrgsIRhjjAEsIeQ7IvK5iPwrF/bzmoh85+v9+IqIHBGRGjm4vRx73zOLTUR6isisnNhPbhMRFZGa57nuNBHpk9MxGe9YQkhDROqKyN8ikiAia0WkS5r514vIShE5JiJTRaS6x7yaIrJARDaIyM0ZbP+IxyNJRI57vO6RVXyq+qiqvpmN49goIjdk55i9JSLt3H/+T9NMnyUiPX2xzyziOedkoqrFVXW9l9tpJyJb05uX3fc9O84ntmQiUshN1mtE5Kj7OUeLSEhOxOaxnwzfi/zGfc9WZHY8InKtiCwVkYMisk9EfhaRKh7z3xWRLSJySEQ2ichLuRN97rKE4EFECgC/Ar8BlwGPAN+JyJXu/HLAWOBf7vxY4EePTbwOPAVcBbya3j7ck0FxVS0ObAZu9Zg2wjdH5hNHgftz+kRksvQTcBtwL1AKaAQsAK5Pu6A47H8cngP2ZLHMcqCDqpYGKgNrgM885g8F6qhqSaAl0ENEuvogVr+yL0tqdXC+DINUNVFV/wb+Ae5353cFlqnqaFU9AbwGNBKROu78QKCAx99sEZEgt6RQzn39soicEZGS7us3RWSw+3y4iLzlPi8nIr+5VzX7RWSmiASIyLdANWC8W/J43l3+ahGZ7S6/WETaecQQKiLTReSwiEwGymUR9kFgOBkkPnebvd0rswMiMjFNaUpF5HH3Svewe4xXuPEdEpFRIlLIXbaMe5x73G39JiLB7rz/AG2Aj91j/dhj+zXd50VE5H33yi7BLckUydaHczbelPfdff2ciOwQke3ucXruL1WJRdJUA6VZtqyIjHOPOQa4IpMYbgBuBDqr6nxVPaOqCar6iaoO9dj3f0TkH+AY8KyILEiznWdE5Ff3+S0istz9DLaJSKSIFAP+ACrL2dJrZRGJEJE57vdnh4h8nPwZeUtEbhSnpJ3gfmZyPtvJxn5CgfuAtzNbTlV3qep2j0mJQE2P+atU9ajH/CTP+Wn2eU61X5rPfLiIfCoif7jv7T8icrmIDHa/3ytFJNy7I80ZlhCyJkCY+7w+sDh5hvsFWedOB3gD+BCYB2S7esFNLvOBa9xJ1wCbgFYer6ens+qzwFagPFAReMnZnN5P6tLHu+IUf38H3sIp3UQCY0SkvLut73GuNMu5sT+YjdD/A9whIrXTzhCRzm48Xd34ZgI/pFmsA9AUuBp4HvgS55+3Ks57fo+7XAAwDKiOk+iOAx/jHOzL7rb7ucfaL504o9z9tHSP/Xmcf+jzIiI34bx/NwK1gAupmvsEOAFUAnq7j4zcAMSo6pYstnk/Tum2BM73MVRE6qaZ/437fCjQV1VL4Lznf7vf65uB7R6l1+04J8mncb4jLXBKJY9n+0hdcrak/Yq7rXWc/a6nt/y9bhLK6FEtk919hPM9PJ6NuKqJyEF32Ujg3TTzXxCRIzj/c8Vw/mfOVzfOHv9JYA6w0H39EzDwArZ93iwhpLYK2A08JyIFRaQ9zsm4qDu/OJCQZp0EnH88VHW5qjZS1Wqq+quX+54OXCNOtVVDnH/ka0QkCGgOzEhnndM4J5LqqnpaVWdqxp1T3QdMUNUJqpqkqpNxqrxucf+hmgP/UtWTqjoDGJ9VwKq6E/gcJxGm9SjwtqquUNUzwH+Bxp6lBOBdVT2kqsuAeGCSqq5X1QScK9Rwdz/7VHWMqh5T1cM4iegaskGcKpPeQH9V3eaW/Gar6snsrJ+BbsAwVY13T56vnc9GRCQQuAP4t6oeVdV44OtMVikL7MjGpoer6jK3BHESp1rzPnef9YEQnGpRcL5D9USkpKoeUNWFGW1UVReo6lx3uxuBL8jm55DGLTgl7Z9U9TQwGNiZyX6/V9XSmTw2p7eeOO1/gar6c3aCUtXNbpVROZyT9co08/+H87/eBPiWc88F3vjZfT9PAD8DJ1T1G1VNxPm8rITgb+6X83agI84X9FlgFM4VAcARoGSa1UoCh3Ng99OBdjhftqXAZJx/tquBtaq6L5113gPWApNEZL2IvJDJ9qsDd3leWQGtcRJKZeBAmiLxpmzG/Q7QQUQapbO/Dzz2tR+ntFXFY5ldHs+Pp/O6OICIFBWRL9wqn0M4ybG0e0LNSjkgCOcqNKdUBjyv0rP7XqVVHqdqMbvb2ofzeWUlbQnia+BeERGc0sEoj4R4B84JepM4VYYtMtqoiFwpTnXdTvdz+C9ZVy2mJ9X7517EZFXq8Ypb7fUuTpueV1R1P8579qt7geY5T1U1Duf7+foFhJit735us4SQhqouUdVrVLWsqnYAagAx7uxlOI14QMqX7gp3+oWaDdQGugDTVXU5TvXILaRfXYSqHlbVZ1W1Bk5D4zMikty4mLaksAX4Ns2VVTH3qmcHUMY9nmSZFcM9Y9iHc4WXtopsC05VhOf+iqjq7OxsN41ncd6bq9Rp1GvrTk+ud86sy969OFUyGdbNn4cdONVaydK+V0c5W6oEuDyD7ewBzmSxLU9/ARHitp9kItX7oapzgVM4bS334lzdJs+br6qdgQrALzgXQOdsw/UZzlVzLfdzeInzq/tP9f65iapqRguLSA9JfXde2kd671ktnJLQTBHZiVNFVclNZiHZiLEAznuS9gLQc35m36mUNioRKZWN/eUJlhDSEJGG4jTyFhWRSJwrsuHu7J+BMBG5w63K+TewRFVXZrC5bFPVYzh1+E9wNgHMxql6STchiEgncW51FZziayJn68Z34SSzZN8Bt4pIBxEJdI+xnYgEq+omnOqj18W5Ra81cKsX4Q/EqZ/3rKf+HHjRraJAREqJyF1ebNNTCZyrpoMichnnNmSnPdYUqpoERAMDxWkYDRSRFiJSOKOdue+N5yPtSW8U0FNE6olI0XTiWQR0db9DNYGHMogtEedE9Zq7bD0yabtR1b9wSo4/i0hTESkgIiVE5FERyaztAZw2g4+B06o6yz3OQu7JtpRbOj5E6u9P2TQnsxLuMkfEuZHisYx2Jk7D6sYMZv8O1BeRru4V+FNknDRR1REebRnpPdKrMorHSTKN3Ucf95gak05pxI2ltjg3ZZTH+U7Hqep+d1pfcW5uEBGJwPk/nZJRzEADcRrhA3HaXcBpv8rTLCGc636cK5jdOI1mNyYXr1V1D04R+z/AAZzbS7vn4L6nAwU5WyKZjvNPmF77AThXQX/hVGXNAT5V1anuvLeBV9wqm0h1GiKTG3r34PxTPMfZ78C97vHsxznBfUM2qeohnOL5ZR7TfsapThrpVi/E4zRUno/BOFdce4G5wJ9p5n8A3CnOHRofprN+JE413Hyc43uHjL/7VXCSj+cj1ZWgqv7hxvQ3TpXd32m2MQjninwXTtVDZrcT98OpHtiJc+ExLJNlAe4EJuDUMyfgvK/NcL4HmfkWp9E47Y8N7wc2up/Ro0APAPci5wdgvfsdqozzPt6LU0X6FalvuU6rKs4deudQ1b3AXcD/cKrBamW07Ply2zl2Jj9wPvck93UipPwmqI27ShWc79VhnO9KEk5pPVkXnGrHwzjv4UfuIyPLcW7g2I3T9jOazN+vPEHUBsgx5oKJiOJUpaz1dyzpEec2291AE1Vdkwv7m4TTkL/C1/vKa8T5cWYfVW3t71i8le175Y0x+dpjwPzcSAYAqto+N/ZjcpYlBGMucm5dvuDcQWdMhqzKyBhjDGCNysYYY1yWEIwxxgD5uA2hXLlyGhIS4u8wjDEmX1mwYMFeVS2f3rx8mxBCQkKIjY31dxjGGJOviEiG3aNYlZExxhjAEoIxxhiXJQRjjDFAPm5DMMZfTp8+zdatWzlx4oS/QzEmQ0FBQQQHB1OwYMFsr+PzhCAi0UAnYLeqhqUzX3A6J7sFZ8i/npkN0mGMv23dupUSJUoQEhLCuR2hGuN/qsq+ffvYunUroaGh2V4vN6qMhgM3ZTL/ZpzeDmvhDPv3WSbLnrfo8b2JiRuSalpM3BCix2fVa7AxqZ04cYKyZctaMjB5lohQtmxZr0uxPk8I6gzHuD+TRToD37gjEc3FGQkrO6NCeSUsuCWRiwYzd8FXqCoxcUOIXDSYsOCWliyM1ywZmLzufL6jeaFRuQqpB6zYSuphFnNERHgfohoP4LnFg3n4o5t5Nm4QPS57kIrV7qF+lRZELhqckhQ8k4UxedGuXbu49957qVGjBk2bNqVFixb8/HO2hg7OtpCQEPbu3Zvh/CeeeILGjRtTr149ihQpQuPGjWncuDE//fRTjsbhqXhxv4wsecnIV43KIvIITrUS1apla4THVCLC+3DTij8YGbiaiIPBvL26Hm/PmUalUjVoV/Euno0bRLcNkxmdsIyoxgOICO+T04dgzAVTVW6//XYefPBBvv/+ewA2bdrEuHHjcjWOTz75BICNGzfSqVMnFi1alK31zpw5Q4ECBTJ8bfwnL5QQtpF6PNVgd9o5VPVLVW2mqs3Kl0/3l9eZiokbwsSTq+hbsj5rSm7j044bePP2MJpWL8Pk7a0IPViFLw8v57ZidS0ZmDzr77//plChQjz66KMp06pXr86TTz4JOG0cvXr1okGDBoSHhzN16tRMpycmJhIZGUlYWBgNGzbko4/ODgT20Ucf0aRJExo0aMDKlVmPFLtx40batGlDkyZNaNKkCbNnO0NoT5s2jTZt2nDbbbdRr169c17/+9//ZvDgwSnbefnll/nggw8y3M+RI0e4/vrrU2L79ddfAXjvvff48ENn0Lynn36a6667LuU969GjR5bxX+ryQloeB/QTkZE4QzgmqOqOnN5JcjVQ8pV/RMrrIO6/tw/zFn5F5KJtND8QzC+Jy7nst/fp3enZnA7DXGReH7+M5dsP5eg261Uuyau31s9w/rJly2jSpEmG8z/55BNEhKVLl7Jy5Urat2/P6tWrM5w+bNgwNm7cyKJFiyhQoAD7959t8itXrhwLFy7k008/JSoqiiFDhmS4X4AKFSowefJkgoKCWLNmDffcc09KFzMLFy4kPj6e0NBQpk2blur1xo0b6dq1KwMGDCApKYmRI0cSExOT4X6CgoL4+eefKVmyJHv37uXqq6/mtttuo02bNrz//vs89dRTxMbGcvLkSU6fPs3MmTNp27ZtprGb3Lnt9AegHVBORLbijNdbEEBVP8cZH/YWnLFpjwG9fBFH/NbZqaqBIsL7EOVOB3hu8Qe8H/40VUJ78J8R/yF6dzSxX47j3vB7ad28b8p2YuKGEL91Nr1vjfZFmMZ47YknnmDWrFkUKlSI+fPnM2vWrJTSQp06dahevTqrV6/OcPpff/3Fo48+mlJtc9llZ8eC79q1KwBNmzZl7NixWcZy+vRp+vXrx6JFiwgMDGT16tUp8yIiIlLdAun5OiQkhLJlyxIXF8euXbsIDw+nbNmyGe5HVXnppZeYMWMGAQEBbNu2jV27dtG0aVMWLFjAoUOHKFy4ME2aNCE2NpaZM2emlBxMxnyeEFT1nizmK/CEr+NI7wQeEd6HiPA+RI/vnSpZfPjoGwwcXZSlu3/nhaUf8n/HTnPrNf1SlTKMATK9kveV+vXrM2bMmJTXn3zyCXv37qVZs2Y5vq/ChQsDEBgYyJkzZwDo0KEDu3btolmzZueUGAYNGkTFihVZvHgxSUlJBAUFpcwrVqxYqmXTvu7Tpw/Dhw9n586d9O6d+R1+I0aMYM+ePSxYsICCBQsSEhLCiRMnKFiwIKGhoQwfPpyWLVvSsGFDpk6dytq1a6lbt+55vw+XirzQhuB3vW+NTtVmUCAwgOe7v8Rjt/xK8N6OvLPuM974rmuqKidj/OW6667jxIkTfPbZ2Z/sHDt2LOV5mzZtGDFiBACrV69m8+bN1K5dO8PpN954I1988UXKCd+zyig9EydOZNGiRelWHyUkJFCpUiUCAgL49ttvSUxMzPZxdenShT///JP58+fToUOHTJdNSEigQoUKFCxYkKlTp7Jp09kOPNu0aUNUVBRt27alTZs2fP7554SHh9utwtlgCSETLWuW4+PH36TB8WqMTlxDxyJ1LBkYvxMRfvnlF6ZPn05oaCgRERE8+OCDvPPOOwA8/vjjJCUl0aBBA+6++26GDx9O4cKFM5zep08fqlWrRsOGDWnUqFHKnUvn4/HHH+frr7+mUaNGrFy58pxSQGYKFSrEtddeS7du3QgMDMx02R49ehAbG0uDBg345ptvqFOnTsq8Nm3asGPHDlq0aEHFihUJCgqiTZs2531Ml5J8O6Zys2bNNDfGQ0iuJrrycDAri2/htbr9uKHFYz7fr8m7VqxYYdUPPpCUlESTJk0YPXo0tWrV8nc4F4X0vqsiskBV061ftBJCJjzbDJ69axQVd97E6ys+5p/5X/o7NGMuKsuXL6dmzZpcf/31lgz8KC/cdppnpb0z6bHbn+eDMcqY0xNp0fRhAgKsTtKYnFCvXj3Wr1/v7zAueZYQMpH2zqQb6lVk/d4n+O+ElQRPWcMzN17pp8iMMSbnWZWRlx5uU4NuVwxj6tzP+XXR2R9UW2d4xpj8zhKCl0SEzuHtOVhlIsMmDCRu8wHrDM8Yc1GwKqPz0KrZI7yRqPyLD/n012WsKr7Vfp9gjMn3rIRwnq69qi+3BNVhbslttNQalgxMrgoMDKRx48Y0atQoVSdy+dFtt91GWNg5gylm6KmnnspWN9gjRoxI6ZK7cePGBAQEpNsja7t27ahduzYNGzakTp069OvXj4MHD6bMb9ky85J/bGwsTz31VIbzt2/fzp133pllvHmBJYTzFBM3hD9PruKGk9WZxTomzPzY3yGZvGjWYNgwI/W0DTOc6RegSJEiLFq0iMWLF/P222/z4osvZntdVSUpKSnD17lp7NixXo1xEBsby4EDB7K1bI8ePVi0aBGLFi3i22+/JTQ0lMaNG6e77IgRI1iyZAlLliyhcOHCdO7cOWVeVsm2WbNmmfaTVLlyZZ+OEZGTLCGcB8/fJ7x0zxgq7b6Zt9d8xryFX/k7NJPXVGkCo3ueTQobZjivq2TcW6m3Dh06RJkyZVJev/feezRv3pyGDRvy6quvAk631LVr1+aBBx4gLCyMmTNnpnq9ZcuWDNerU6cOPXv25Morr6RHjx789ddftGrVilq1aqX0SBoTE0OLFi0IDw+nZcuWrFq1CoDhw4fTtWtXbrrpJmrVqsXzzz+fEueRI0cYOHAgr7zySsq0M2fO0Lx5c6ZNmwbAiy++yMsvvww43XQ/99xzvPvuu16/Rz/88APdu3fPcrlChQrx7rvvsnnzZhYvXgycHZSne/fu/P777ynL9uzZk59++olp06bRqVMnAKZPn55SIgkPD+fw4cNs3LgxpQSUURfkGb1PiYmJ9OzZk7CwMBo0aMCgQYO8PnavqGq+fDRt2lT9Zei4Xjpv4Vcpr0fM3aSd3nha3/ruHr/FZHLP8uXLvVth/XTVd0JVp7zl/F0//YJjCAgI0EaNGmnt2rW1ZMmSGhsbq6qqEydO1IcffliTkpI0MTFRO3bsqNOnT9cNGzaoiOicOXNUVc95ndl6gYGBumTJEk1MTNQmTZpor169NCkpSX/55Rft3LmzqqomJCTo6dOnVVV18uTJ2rVrV1VVHTZsmIaGhurBgwf1+PHjWq1aNd28ebOqqg4YMEDHjh2rGzZs0Pr166ccW3x8vNapU0cnT56sjRs31pMnT6qq6uDBg3XgwIGqqlqsWDGv3q8aNWro0qVL0513zTXX6Pz581NN69y5s44cOTLVvsaOHasPPPCAqqqePHlSg4OD9dixYzp16lTt2LGjqqp26tRJZ82apaqqhw8f1tOnT6c6vqioKO3Vq5eqqq5YsUKrVq2qx48fz/B9io2N1RtuuCElrgMHDnh13Ol9V4FYzeC8ao3K5yHt7xO6N6/KmIV3Mmb9UR4/eooyxQr5KTKTJ4W2hWYPwYx3oe3zzusLlFxlBDBnzhweeOAB4uPjmTRpEpMmTSI8PBxwrsLXrFlDtWrVqF69OldffXXKNjxfZ7ZeaGgoDRo0AJyeVq+//npEhAYNGrBx40bA6WzuwQcfZM2aNYgIp0+fTtnP9ddfT6lSpQDnB2ibNm1i3759rFu3jkGDBqVsI1n9+vW5//776dSpE3PmzKFQoUJs376d0aNHp5QcvDFv3jyKFi3qVTuFptOlz80330z//v05efIkf/75J23btqVIkSKplmnVqhXPPPMMPXr0oGvXrgQHB6ean1EX5JD++1S/fn3Wr1/Pk08+SceOHWnfvr1Xx+4tqzLKAQEBwn+6hJFw/DT/+yPrUaXMJWbDDIgd6iSD2KHntilcoBYtWrB371727NmDqvLiiy+m1J2vXbuWhx56CMi8++nM1kvuAhsgICAg5XVAQEBKD6n/+te/uPbaa4mPj2f8+PGcOHEiZR3P9ZO70Z4zZw6xsbGEhITQunVrVq9eTbt27VKWW7p0KaVLl2b37t0AxMXFsXbtWmrWrElISAjHjh2jZs2a2Xp/Ro4cyT33ZNoLfyqJiYksXbr0nD6AgoKCaNeuHRMnTuTHH3/k7rvvPmfdF154gSFDhnD8+HFatWqVrVHmkqX3PpUpU4bFixfTrl07Pv/8c/r08e3NK5YQckidy0vSsskSflo+jZgNZ7sPjtkRQ3S8DaZzyUpuM7hrOFz3svPXs00hB6xcuZLExETKli1Lhw4diI6O5siRIwBs27Yt5aSamfNdL1lCQgJVqlQBnPrwrDz22GNs376djRs3MmvWLK688sqUq/+xY8eyf/9+ZsyYwZNPPsnBgwfp2LEjO3fuZOPGjWzcuJGiRYuydu1aAH7++ecMG9WTkpIYNWpUttoPwBng58UXX6Rq1ao0bNjwnPl33303w4YNY+bMmdx0003nzF+3bh0NGjTg//7v/2jevPk5CSGjLsgzsnfvXpKSkrjjjjt46623WLhwYbaO43xZlVEOerT4PpYFjyFyfBH+evwhFu2JJXJqf6LKt4Hsl1bNxWTbQicJJFcThbZ1Xm9beEFVR8ePH0+5Y0ZV+frrrwkMDKR9+/asWLGCFi1aAE6D6HfffZdld9Lnu16y559/ngcffJC33nqLjh07nvdx7d27lxdeeIEpU6ZQtWpV+vXrR//+/fn6668zXGfdunWULFky3XkzZsygatWq1KhRI9P99ujRg8KFC3Py5EluuOGGlDGa02rfvj33338/nTt3plChc6uGBw8ezNSpUwkICKB+/frcfPPN7NhxdkTgxx9/nMcee4wGDRpQoECBlC7IM7Jt2zZ69eqVchfY22+/nelxXCjr/jonbZjBP2N78UTpMjQuexvrj/1B1K49RNwenSP1xiZvsO6v85b77ruPQYMGUb58eX+HkudY99f+FNqWVl2H8cCRBBYkjOauA/stGRjjY999950lgxxiCSGHxQQFMbZMSfoeSOD7YsWI8RhT1hhj8jJLCDkoZkcMkVP7M3BfAlcW6MybO/bzzN9PEbMjxt+hGWNMliwh5KD4NeNT2gxqdf8fw448wX+37yZ+zXh/h2aMMVmyu4xyUO+AsuC2GYQClRq3Z8gS4dPTWa5qjDF+ZyWEnNR6QKoG5Cevq8k/ifWIOnqz/2IyxphssoTgQ9XLFuPOJsF8H7OZnQknsl7BmGyy7q+z7iF13759XHvttRQvXpx+/fqlmvfDDz/QoEEDGjZsyE033cTevXvPWf+1116jSpUqNG7cmFq1atG1a1eWL1+eMr9Pnz6pXqcnq66zb7nlllRdbfubJQQf63ddTZKSlE+nrfV3KMYPouOjz7mpICd+vW7dX2ctKCiIN998k6ioqFTTz5w5Q//+/Zk6dSpLliyhYcOGfPxx+t3XP/300yxatIg1a9Zw9913c91117Fnzx4AhgwZQr169TKNIatEPWHCBEqXLp2t48kNlhB8rOplRbmrWVVGxmxh28Hj/g7H5LKwsmFETo9MSQoxO2KInB5JWNmc++m6dX+dvmLFitG6dWuC0tz6ndyz59GjR1FVDh06ROXKlbPc3t1330379u35/vvvAWdgndjYWD7//HOee+65lOWGDx+eUiJJTnY7duygbdu2NG7cOOX9BwgJCUkpnQwcOJCwsDDCwsIYPHgw4Lz/devW5eGHH6Z+/fq0b9+e48ed88iHH35IvXr1aNiwYba75shSRt2g5vWHP7u/9tbWA8e05ku/64tjl/g7FJMDvO3+et72edrmhzb60cKPtM0PbXTe9nkXHIN1f5397q+HDRumTzzxRKppo0eP1hIlSujll1+ubdq00TNnzpyz3quvvqrvvfdeqmmDBg3SRx99VFXPdpu9e/duveKKK1KWuemmm3TmzJmp4oyKitK33npLVVXPnDmjhw4dUlXV6tWr6549ezQ2NlbDwsL0yJEjevjwYa1Xr54uXLgw5f2Pi4tTVdW77rpLv/32W1VVrVSpkp44cUJVM+4W29vur62EkAsmznyCHrUXMDp2C1v2HwOcQXaix/f2c2QmN0RUiqBb7W58seQLutXuRkSliAveZnKV0cqVK/nzzz954IEHUNVU3Vg3adKElStXsmbNGoBsd3+ddr3k7q+T++fJqPvru+66i7CwMJ5++mmWLVuWsp/kbp2DgoJSunVetGgR69ato0uXLuccm2f319HR0am6v07uOvpCnD59ms8++4y4uDi2b99Ow4YNs91HkKbT1U/58uWpUaMGc+fOZd++faxcuZJWrVqlWqZ58+YMGzaM1157jaVLl1KiRIlU82fNmkWXLl0oVqwYxYsXp2vXrimlCM+R3po2bZrynjds2JAePXrw3XffUaBAztwwagkhF4QFt+TvxB+pX3QKn0xdmzLiWlhw5g1O5uIQsyOGUatG0bdhX0atGpXjP1S07q+9kzyOxBVXXIGI0K1bt2w3ysfFxaXbj1X37t0ZNWoUY8aMoUuXLohIqvlt27ZlxowZVKlShZ49e/LNN99kO9703j+A33//nSeeeIKFCxfSvHnzlOkXwhJCLogI70NU4wHsq/QnOzZHpgy/GRHu277Njf8ltxlEXRNFv/B+RF0TlapNISdY99cZd3+dnipVqrB8+fKUxuHJkydnq7PCMWPGMGnSpHTHVujSpQu//vprhkN1btq0iYoVK/Lwww/Tp0+fc7qxbtOmDb/88gvHjh3j6NGj/Pzzz7Rp0ybDWJKSktiyZQvXXnst77zzDgkJCSmf3YXIlR+michNwAdAIDBEVf+XZn414GugtLvMC6o6ITdiyy0R4X24fe1Ehgeu5JYzNSwZXCLi98UTdU1USjVRRKUIoq6JIn5f/AVVHVn312dl1v11SEgIhw4d4tSpU/zyyy9MmjSJevXq8eqrr9K2bVsKFixI9erVM0xigwYN4rvvvuPo0aOEhYXx999/p9uRXpkyZahbty7Lly8nIuLcz3XatGm89957FCxYkOLFi59TQmjSpAk9e/ZMWbdPnz6Eh4efM5pcssTERO677z4SEhJQVZ566qkcuVvJ591fi0ggsBq4EdgKzAfuUdXlHst8CcSp6mciUg+YoKohmW03T3Z/nYnkaqImp6oTW3Ajbzd4ijbN+/o7LHMerPvrvMW6v85YXuz+OgJYq6rrVfUUMBLonGYZBZJTfClgey7ElWuSk0FU4wE8cPN3lNnWgZeWfkhM3BB/h2ZMvmfdX+ec3EgIVYAtHq+3utM8vQbcJyJbgQlAurcSiMgjIhIrIrHJ9X/5QfzW2SltBk2qlaFA2TsIPXgrS7fm31+XGmMuPnmlUfkeYLiqBgO3AN+KyDmxqeqXqtpMVZvlpyuC3rdGp2ozeKh1KDN2t6HaFb4dDs8YY7yRGwlhG1DV43WwO83TQ8AoAFWdAwQB5XIhNr+4qf7lVC4VxNBZ6/0dijlPvm57M+ZCnc93NDcSwnygloiEikghoDswLs0ym4HrAUSkLk5CyD91Ql4qEBjAgy1DmLt+P8u2J/g7HOOloKAg9u3bZ0nB5Fmqyr59+87ptiMrPr/tVFXPiEg/YCLOLaXRqrpMRN7A+Qn1OOBZ4CsReRqngbmnXuT/bd0jqvHBlDUMnbWBgd0a+zsc44Xg4GC2bt1KfmrHMpeeoKAggoODvVrH57ed+kp+u+00Pa/+Gs/3MZv55/+uo0JJG3vZGON7/r7t1GSgV6tQziQp387d5O9QjDHGEoI/hZQrxvV1KjJi3mZOnE70dzjGmEtclglBRN7PjUAuVVVC5pKgK/gl7uyNVzkxgIoxxngrOyWEa30exSXsllObKV31Wz6bNxFVdTpDm9qfsB0r/R2aMeYSkyud25mMXVWzEx8uHsMTZb7g//4+wNxdPxO1aw8RLTr5OzRjzCUmOyWERiKyQUTGich/ReQeEWkgIpZMckJoW5rfPpT7Difwx9Zv6XZgPxG3R0NoW39HZoy5xGQnISwBWgEfA/uA9sAwYJ+IxPswtkvGomJFGVO6BH0PJPBjieLEePljEmOMyQnZustIVber6iRVfV9Ve7n3sJYGzh3/zngluc1g0P5DJO69jv/uPkDk1P45PqqWMcZkJTsJ4eP0JrrjNa/J4XguOfFrxhO1aw9Xd4lmXvVHGXWyP+/t2kP8mvH+Ds0Yc4nJMiGo6tDcCORS1TugbEqbwb1XVWP84ZoUajqQ3gFl/R2aMeYSYw3D/tZ6QMrT9vUup1zxQny6sQxfPXCb/2IyxlyS7JfKeUihAgHc2bQqf6/czc6EE/4Oxxhzicl2QhCRwiJyr4i8JCL/Tn74MrhL0T0RVUlMUn6cvyXrhY0xJgd5U0L4FWcs5DPAUY+HyUHVyxajTa1y/Dh/M4lJ+bMnWmNM/uRNG0Kwqt7ks0hMinsjqvHYiIVMW7Wb6+tW9Hc4xphLhDclhNki0sBnkZgUN9SrSPkShfl+3mZ/h2KMuYR4kxBaAwtEZJWILBGRpSKyxFeBXcoKBgbQrVkwU1ftZvvB4/4OxxhzifCmyuhmn0VhzhFYZjoBRU8ycn4tnrnxSsD5VXP8vnh6h/X2c3TGmItRtksIqroJp7uKW91HaXea8YHWCesoXfVbvl88hTOJSdYttjHG57y57bQ/MAKo4D6+E5EnfRXYpS6iZic+2LufM2WG8vyUd4mc2t/pFrumdYttjPENb9oQHgKuUtV/q+q/gauBh30TliG0LVd3iea+wwlM3jHCusU2xvicNwlBAM+BfxPdacZHFhQtYt1iG2NyjTcJYRgwT0ReE5HXgLmAdXznI9YttjEmt3nTqDwQ6A3sdx+9VHWwj+K65Hl2iz2zyiP8kjjAusU2xviUV72dquoCYIGPYjEeegeUBbfNoFuzLTw/5gCP3P4Bvc/YEBTGGN/IsoQgIrPcv4dF5JDH47CIHPJ9iJeo1gNSGpBvaViJIgUDGbataqruso0xJidlZ4Cc1u7fEqpa0uNRQlVL+j5EU7xwATo2rMT4xds5duqMv8MxxlykvPkdwl0iUsJ9/oqIjBWRcN+FZjx1a1aVo6cS+WPpTn+HYoy5SHlzl9G/VPWwiLQGbsC5w+hz34Rl0moeUoaQskUZFWvjJBhjfMObhJD8G4SOwJeq+jtQKOdDMukREe5qVpV5G/azaZ8NQ2GMyXneJIRtIvIFcDcwQUQKZ3d9EbnJ7SV1rYi8kMEy3URkuYgsE5HvvYjrktG1SRUCBH5asNXfoRhjLkLeJIRuwESgg6oeBC4DnstqJREJBD7B6S21HnCPiNRLs0wt4EWglarWBwZ4Edclo1KpIrS9sjw/Ldhqo6kZY3KcNz9MO6aqY1V1jft6h6pOysaqEcBaVV2vqqeAkThDcXp6GPhEVQ+4296d3bguNd2aVWVHwglmrd3r71CMMReZC73LqEk2Vq0CeLaEbnWneboSuFJE/hGRuSJiQ3Vm4Pq6FShdtKA1LhtjctyF3mX0WQ7FUQCoBbQD7gG+EpHSaRcSkUdEJFZEYvfs2ZNDu85fRvzxMF1DY5i8bBcHj50CICZuCNHjbdAcY8yFyY27jLYBVT1eB7vTPG0FxqnqaVXdAKzGSRCpqOqXqtpMVZuVL1/ei9AvHmHBLZl8eiS1gybz66LtxMQNIXLRYMKCW/o7NGNMPudNX0bbRORL4EbgHS/uMpoP1BKRUJxE0B24N80yv+CUDIaJSDmcKqT1XsR2yYgI78P7wLMMYs7CFQwttoWoxgOICO/j79CMMfmcNyWEu4A/gBvdu4zKAJFZraSqZ4B+OHcorQBGqeoyEXlDRG5zF5sI7BOR5cBU4DlV3edFbJeUiPA+tAusxT8lttKpaB1LBsaYHJFlCUFEZrn9Ge0G1J0GzuA4CmTZn5GqTgAmpJn2b4/nCjzjPkwWYuKGMD1pLU0OVmZ8qRW0ixtiScEYc8Gsc7t8JrnNIKrxAIqUe5sqezoSuWgwMXFD/B2aMSaf86bKyOQB8Vtnp7QZ3NE0mLkHrqFvpYeI3zrb36EZY/K5bDcqi0gz4GWgurue4NT2NPRRbCYdvW+NTnnernZ5yhYrxKy9bfnsvqf9GJUx5mLgzV1GI3C6qlgKJPkmHOONgoEB3B5ehW/mbOTA0VOUKWZ9DRpjzp83VUZ7VHWcqm5Q1U3JD59FZrLlzqbBnE5Uxi3e7u9QjDH5nDclhFdFZAgwBTiZPFFVx+Z4VCbb6lYqSf3KJflpwVYebBni73CMMfmYNyWEXkBj4CbgVvfRyQcxGS/d2TSYpdsSWLXzsL9DMcbkY94khOZutxEPqmov92Ed6OQBtzWqTIEAYcxCGyfBGHP+vEkIs9OOY2DyhrLFC3NdnQqMXbiNM4nW3m+MOT/eJISrgUXuyGdLRGSpiCzxVWDGO3c2DWbvkZPMWHNp9gJrjLlw3jQq2xgFedi1dSpQtlghflqwlevqVPR3OMaYfMibEkIEsN+91fR+YBDOMJomD/h2xXBa1D/AX8t3nx0nYUcM0fHRWaxpjDGOCx0g53PfhGW8FbZjJXHHBpJYeA3jF28nZkcMkVP7E7Zjpb9DM8bkE7kxQI7JBRE1OzFoz15KV/2WL5d+RuTU/kTt2kNETbsz2BiTPd4khG0i8gVwNzDBiwFyTG4IbUvE7dHcfySBg4UncOf+/UTcHg2hbf0dmTEmn/DmhN4NZyCbDu4AOZfh9G1k8oiYoCDGlCpB3wMJ/FC8GDFBQf4OyRiTj2Q7IajqMVUdq6pr3Nc7VHWS70Iz3khuM3h/XwIhcitv7TzAs3/3J2ZHjL9DM8bkE950f10YuAMI8VxPVd/I+bCMt+LXjHfaDG6P5q/jtRnyXXX+t/ML4teMJ6JShL/DM8bkA978DuFXIAFYgEfndiZv6B1QFtw2g3aJSbxQtAlzi7/AswFH/R2aMSaf8CYhBKuq/Tgtr2o9IOVpgcAAujapwmezTvFgj+sp57+ojDH5iLd9GTXwWSQmR93VNJgzScovcdv8HYoxJp/wJiG0BhZYX0b5Q62KJWhUtTQ/LdiKqvo7HGNMPuBNldHNPovC+MRdTYN55Zd44rcdokFwKX+HY4zJ47y57XQTcAioCFT3eJg86tZGlSlcIIDRC7b4OxRjTD6Q7YQgIn2AGTg/Tnvd/fuab8IyOaFUkYJ0qH85vy7azonTiVmvYIy5pHnThtAfaA5sUtVrgXDgoC+CMjnnrmbBJBw/zV8rdvk7FGNMHudNQjihqifA+ZGaqq4EavsmLJNTWl5Rjkqlghgda8NrGmMy501C2CoipYFfgMki8iuwyRdBmZwTGCDc0SSYmWv2sDPhhL/DMcbkYdlKCCIiwFOqelBVXwP+hTMewu2+C83khOjxvQkrNoUkhTELnVJCTNwQosf39nNkxpi8JlsJQZ0b2Sd4vJ6uquNU9ZTPIjM5Iiy4Jf9d8ykdq87hpwVbmbfwKyIXDSYsuKW/QzPG5DHe/A5hoYg0V9X5PovG5LiI8D5EAc/GDSL0ZAyRi7bzfvgAIsL7+Ds0Y0we400bwlXAHBFZ5+0vlUXkJvcXzmtF5IVMlrtDRFREmnkRl8lCRHgf7ioVRlzZHTQ/E2LJwBiTLm9KCB3OZwciEgh8AtwIbAXmi8g4VV2eZrkSOLe2zjuf/ZiMxcQN4adDy+iQGMrcAuuZPu8Lrrmqr7/DMsbkMd6UEB5X1U2eD+DxbKwXAaxV1fVum8NIoHM6y70JvAPYrTA5KCZuCJGLBhPVeAA9b/6OMts68MqyD4mJG+Lv0IwxeYw3CeHGdKZlp3+jKoBn3wlb3WkpRKQJUFVVf89sQyLyiIjEikjsnj17srFrE791NlGNnTaDsCql0NJduPLQbSzdOtvfoRlj8pgsq4xE5DGckkCNNG0GJYB/LjQAEQkABgI9s1pWVb8EvgRo1qyZdeGZDb1vjU71unvzarzyS2uevKOVnyIyxuRV2SkhfA/cCoxz/yY/mqrqfdlYfxtQ1eN1sDstWQkgDJgmIhuBq4Fx1rDsG50bV6ZIwUBGxmz2dyjGmDwmy4SgqgmqulFV70nThrA/m/uYD9QSkVARKQR0x0kuntsvp6ohqhoCzAVuU9XY8zgek4USQQXp1LAS4xZv58jJM/4OxxiTh3jThnBeVPUM0A+nd9QVwChVXSYib4jIbb7evzlX94hqHDuVyPjF2/0dijEmD8nWbadu1xXBqnpeHeur6gQ8funsTvt3Bsu2O599mOxrUq00V1YszsiYzdwTUc3f4Rhj8ojz6rrC5G8iQvfm1Vi8NYHl2w/5OxxjTB7hTZXRQhFp7rNITK7q2qQKhQoEMHK+NS4bYxzedl0x93y6rjB5T+mihbgl7HJ+jtvG8VM2mpoxJhe6rjB5V+lK/3BsdRITltbnjqbBAMTsiCF+Xzy9w6x7bGMuNd6UEDYDbYAH3W4rFKjok6hMrrj51GZKBX/L0AWTAScZRE7tT9iOlX6OzBjjD94khE+BFsA97uvDOJ3WmXzqqpqd+GD/PrYHfsIbswYSObU/Ubv2EFGzk79DM8b4gVdtCKr6BG7nc6p6ACjkk6hM7ghtS8NbvqLH4YOMXjeMbgf2E3F7NIS29Xdkxhg/8CYhnHa7slYAESkPJPkkKpNrVpUpwZhSJel7IIEfS5YgJijI3yEZY/zEm4TwIfAzUEFE/gPMAv7rk6hMrkhuMxh04BCJe6/j7V0HiJzan5gdMf4OzRjjB9m+y0hVR4jIAuB6QIDbVXWFzyIzPhe/ZrzTZtAlmv/9HsDmo014b9eHxK8ZT0SlCH+HZ4zJZdkuIYjIdzh3GU1R1Y8tGeR/vQPKprQZPNgyhDEHrqBIs4H0Dijr79CMMX7gTZXRUKAS8JGIrBeRMSLS30dxmdzQekBKA3LHhpUoV7wQH66v7Ew3xlxysp0QVHUq8B/gX8BXQDPgMR/FZXJZ4QKB3BNRjSkrd7Fl/zF/h2OM8QNvqoym4IyQdjewCmiuqnV8FZjJffdeVY0AEb6du8nfoRhj/MCbKqMlwCmc0c0aAmEiUsQnURm/qFSqCDfVv5wf52+x/o2MuQR5U2X0tKq2BboC+4BhwEEfxWX85MGWISQcP82vi7ZlvbAx5qLiTZVRPxH5EYgDOgPRwM2+Csz4R/OQMtS5vATDZ2/EGQbDGHOp8KbKKAgYCNRR1RtU9XVV/dtHcRk/ERF6tgxh5c7DzN94wN/hGGNykTdVRlE4/Rg96pYWGvkuLONPh3e+SvPS0/h69saUaTFxQ4geb11iG3Mx86bK6ClgBFDBfXwnIk/6KjDjP42qtmJnhQls3TCCHQnHiYkbQuSiwYQFt/R3aMYYH/JmgJw+OD2eHgUQkXeAOcBHvgjM+E9EeB9eOXqKN/mED8asYbasJ6rxACLC+/g7NGOMD3nThiCA572Iie40cxHq0Ppxmp4O4ffADdxRsp4lA2MuAd4khGHAPBF5TUReA+bidGdhLkIxcUNYWHAT4fsq8VPCMmLihvg7JGOMj3nTqDwQ6AXsdx+9VHWwj+IyfpTcZvB++ACSSr5J8N6ORC4abEnBmItclm0IIhIEPArUBJYCn6rqGV8HZvwnfuvslDaDx0rspceQa/i/K8sTv3W2VR0ZcxGTrH585P4Y7TQwE+eHaBtVdYDvQ8tcs2bNNDY21t9hXPRUlds/+YeDx0/z97PtCAywZiNj8jMRWaCqzdKbl50qo3qqep+qfgHcCdiAu5cQEeGxdlewad8xJizd4e9wjDE+lJ2EcDr5iVUVXZra17ucK8oX47Np66w7C2MuYtlJCI1E5JD7OAw0TH4uIod8HaDxv4AA4dFrrmD5jkNMX73H3+EYY3wky4SgqoGqWtJ9lFDVAh7PS+ZGkMb/OjeuQqVSQXw6bZ2/QzHG+Ig3v0M4byJyk4isEpG1IvJCOvOfEZHlIrJERKaISPXciMtkX6ECATzcpgYxG/azYNN+f4djjPEBnycEEQkEPsG5Q6kecI+I1EuzWBzQTFUbAj8B7/o6LuO9xP1vEFFmGp95lBKs0ztjLh65UUKIANaq6npVPQWMxBlPIYWqTlXV5IF85wLBuRCX8VKjqq3YUX4Cuzb/wKqdh63TO2MuMt50bne+qgBbPF5vBa7KZPmHgD98GpE5LxHhfXjrVCIv8yGfj1vNgoIbrdM7Yy4iudKGkF0ich/QDHgvg/mPiEisiMTu2WN3u/jDNVf1pRVX8FfhTXQqWseSgTEXkdxICNuAqh6vg91pqYjIDcDLwG2qejK9Danql6raTFWblS9f3ifBmszFxA1hjqyn+YHKjD+6wvo3MuYikhsJYT5QS0RCRaQQ0B0Y57mAiIQDX+Akg925EJM5D8ltBlGNB3B1k08pva0Dz8ZZp3fGXCx8nhDcXzf3AyYCK4BRqrpMRN4Qkdvcxd4DigOjRWSRiIzLYHPGjzw7vXugRQj7C3ai3pHbWLp1tr9DM8bkgCw7t8urrHM7/xuzYCvPjl7MR/eEc2ujyv4OxxiTDRfauZ0x6bo9vAp1Li9B1KRVnDqT5O9wjDEXyBKCOW+BAcL/3VyHTfuO8UPMZn+HY4y5QJYQzAVpd2V5WtQoy4dT1nD4xOmsVzDG5FmWEMwFERFeuLkO+46e4qsZ6/0djjHmAlhCMBdswaJn6FZrPl/N3MDuQycA6+PImPzIEoK5YGHBLZkrP1G78GQGT1ljfRwZk0/lRl9G5iIXEd6HKOBZBrF1w1KePbCd98OtjyNj8hsrIZgcERHehztK1Seu7A7qHQumcQOrLjImv7GEYHJETNwQxh5aTrfAWiwruoWPxrzj75CMMV6yhGAumGcfR/+6byyt9C5+Pvodv8/42N+hXZKi46OJ2RGTalrMjhii46P9FJHJLywhmAvm2ccRwPN3v0jlPbcwYekUEpPyZ9coeV1mJ/16l9XnmWnP8uPSqcRvS2DMsmk8Pe1ZVuzZwJ9rZ7HvyEnOJCalrPPYX49ZAjGA9WVkfOTXRdvoP3IRr3SsS582NfwdTr4VHR9NWNkwIipFpEyL2RHDhA0TmLxpCl2rvMCRhBBWHoxjeeInFN73IPv3VUOD1hJU5XtOH7iKgmXmcWLbvQAEVfmeE9vuRU7UpGLFrRwrNYy6Rbqw9tSvPHTlv+lUuy3bji8lcnokUddEpdqvuThk1peRJQTjE6rKQ1/HMnvdXiYOaEv1ssX8HVK+FLMjhsjpkbzT5l2CEmvzy8rpjNvxLrLnfhKOnSaoyvdwqAWBpecSmtSXK0o05vKSQVxeKoi4wyP5a8cIrrv8Xq6t8ACnE5NYe2gRP2//HzWDbmTl0UmUOdKbXburcjxwVUoCCbpsHk2CnqJUmZ1cH9qMW2u3QURS4onfF0/vMLtpIL/KLCHYbafGJ0SE5qU+5lDR8rwwpgzfP3wVIkJM3BDit86m961WHeEpvZLA3O3zmLh2PvUKPMEjEwdwcr9ztV/iUC9aVL2KJtXLsO70acasH84jDfvSL7xnyroxO2IYMn0CfRv2ZdSqUfRoeL277aqUiNvEF0u+oG/DvvQL74Oqsu9oOwbNP8m4zd8QLLexdF15Dupe/tr+PG/89iCtg6+mZvVd/Ljpv7x/TVTuv0EmV1hCMD7TNKQN3x8YROltSYycX5krCk5KaXw2qYWVDSNyeiTvXfMeRRJrM2T+JKYeGMixrfdS4FRJal55A5vL/8p9tR/i/67uC7MGE1O4OF9t/DXlpB9BEBFHjxBzfDuRe2YSde0HRFSKIOLyCCKn9icqsQyEdWXUqlHnrLP+ipbM3DU+ZfqnfW6jbGAvfowPZUyBt/l71xomH52N7rqPt05P5MYr9tGnWXuKFAoErORwsbCEYHwmIrwPUapEMphJs5exruQ2ouwHa+lqWK4pN1d8jof/HMCJfREUKjOPugUe57W6G9kfspmX182gb23nZH1t4eKwayGRhxamNOZHEJSSbOOTChO1aw8RJ5xuRCJOnCBq1x7+CAlmiruM5zp9itViyOYfz00g5dvw8o3vUsotUXQKvp/Ay67hjzUz+fzU63w2bR3XhrSkYc09jFj/H6Ks5JDvWUIwPnVVk4e5fe0khgeupOXhYOrV6+nvkPwqbdXQrkMneHfa7/y1fj4JO9tQJbQNWv4PHqzbh8iIB4iJG8LL6ZzEr6/cmqgaA4iY/F84sIuI2KFE3fgS8QUD6N32Tah6I4zuCc0egtihRNw1nPija4k63eGcdYZt+YuodecmkPgCqyFuSKoSRVTty3iz3Em+KfomHy97lVl71zPt+GyKHezJP/Gl+WfLF7SqGn5OI7iVHvIHSwjGp2LihvDr0RV0L1ybP4qu5NVv3uC9h14nIED8HZpfJFcNPVH/deYsK82ENbMoVHkEPQvWpfoNa/lo79yUkkDbgsXO3tKbzok/Iqw3HNgFM96Fts+7CcMV2tZJBu48QtvSm7bOvLTrhPeBDTPOSSAcXJ1S6khbCukVfiNHA1bxxZIvuPHyHuyXJnz49xoCi57km6r96X3lv3n0qg7E7Y5NuWPJ5H2WEIzPeP5gLSK8DyXHvsuPB7/m3R8L88I9L/s7PL8omlSbiif78EbMi8ihFpSoPo/XrnqXiscyPvlGhPdJ/8S/YQbEDnVO+LFDIbSNkwgym5fR9HQSSHz82vSTkTuGdqqSQ3g5Pqx6gGg688OSQny+4nWiF/xFgdJz+W+rd+321XzCEoLxmbQ/WOvX5Tn2fHOCZdvm8OuibXRuXMXPEfpO2qqh5dsP8frkXym050dKHbmOZo1uYWGB0fRq0JdbC0H06kxKAumdxMG5or9ruHtCb3P2dUbzWj8DswZmvE6afaRU8aRJRkCGyeuZ8Cvpf30tnp+SwKTt33F013U8MfQQYfXe4q4GLbmn4XUp75FVJeU99jsEk6tOnUnivqHzKHLkv9we3p4u1z2ZMu9iuiU1+fcD/Ru8wV9xJZi0/h+KBn/Pg8U603r7UJ6vWJ5udXswasUIpwH49mjnJP33f85epV/38tmqnOSTePLrurdC2B1nSwTgzNu20Hlepcm58/75EFo9de70pWNg5fhz9+GZXNyqJO4aTvTRtYSdTnKSlzs9Jrn94uAhYooVJ3LVN3Sr3Y0fVv5I+zPtObxlOX9U3EDV04/weIubKFduMy/MfN5+/OYH9jsEk2cUKhDA5/c15anP6vH+xs8pMacAN7R4LFX10sXgyvjptD52Pa/OfQE53IIyoTG8f2UvihxaR2RieScJXJ5AxK49RFYsT1RQUPolgW0Lz56owfl713BnuueJPXle2mlZzQttm/E+0iYKt0TRO/l1OtVYaasJk0sPb93wJCUSujNm69tETl5M4cvm0bnyC8zfsRjAGqHzCCshGL9YufMQL0e/zu7L/+SuUmH8dGhZquql/CC9H5P9tf4fhsbOIHBJAT4M/ICXanXkn8TZ9K12M/3m/0T01T0Iq3UrESsmp5xMY+reSPya8fSeOyL9q/SMTvK+Nmtw+iWNbQud6WlKDoS2dd6T9EoPW2fTO6wnHx1YwpdLv6BCYicqrC1D5eJxTAvexCvN36ZL3WtSSlZWcvAd67rC5EmTl+/i2z/vJ67sDh4qVpcBd47yd0he8Tx51b+sCW/8NY7fd73LyW09uLP+NVxf6R/eWPkJ3UqHMepg/NmEl+aOnpQr/oxOvq0H+OkIM5BRNZZn8kqn6ivml95EelSVvbNzD0sue4WB2w5T4PIRVA64jsOFZjD42ve5uvJV/ju+i1xmCcF6OzV+U+rkeDaU3kaT/ZX46dAyJs3+1N8heSVi3Wzernkf/f56mlZfPM9vO9/llsQOzI04TpcWJ3hj0w9EVbyOfov/IKridUSu+oaYuCFnT57Xvez8Hd3z3GQAzuu8lgwg82osOPdOpg0ziAkKcqrGdu2h34EEonbt4f8uL094leXEdKlH0zK3sDNgPPt3NOWHr+fx2jfdmbpxdqrdWg+svmcJwfhFcl3z++FP0/e277l81828sfITfp3+kb9DO0d6XU3P2TaXl3duot5vb1J8d3USS03m7opX8e6Bbyl75dXE74snqvYDRMT/5tSxx/9GVO0HnFs2MzuZ5getB2ScvDxLCx4JL37NeOeX0I16wYx3iWjUi6hrPyC+cGFWTezLxhN/8HCDRyhbcS63BwxiwabKPPn3Mzw86geWbz+UUhoLKxuW64d7KbEqI+MX0eN7ExbcMqXNYOXOQ7z53VskFp1M55oPck/7ASnL+vvuI8+qoWYVm/PRnD8YuvpNjm65hxvK7GJ5sV+5u0x9Rh1cdm61UF5qE8gNXrY7xAQFOd1k7NpDRKNexCweRmTF8rxc9Gr+SSjD2MQJnNp/FUXKxtC3dBd6lQnkh3Jl0u0S3Bqis8faEEy+sCPhOK8Me4NVJcfRs1wv+twWec5dK34xazBzixRjwMqvCTzSkoMFZnDV4WvpWOkIH+hioko2JiLma2IiHiTy0CKnQXTd7PzTJpAbMkiQWTWyDwzvyrDtE7niaBOG7prC00kDoG4l1uhnDHLbGqwh2juWEEy+cejEaV4e9jpxhX+mpdZgbsCGXEsG6d019M/WuUyY+yPPLfuJrsXbsKfcUm4pfg3/WzeBYVf3IKxE9fTvx7cr1dTO446l5IuB5Eb5Z0L6siDhWsos+pSpgUFsCp5NWImb2HhqCoPqPMCybXMIa/boRVtyyGiwJG+PzxqVTb5RMqgg7z/8Blcn1eCPAhupdagKa0+1Z+j43k6DrIeYuCFEj8+5f/SwHSuJnNqfmB0xJBw/zct//ky/SU9ydOUOnitzP6fLLOaREvWYc2ga8298id5Vb3SSgUd9ecTk/9K7WM0ci+mikVG7Q3IySNPmEBM3hMhV36RqlB+4azS3XnWMfj268VPgWOqdqcfSo2MI2lGVK8e9QeFtB3l6ylPM2zEPcKv6pvYnbMfKXD7Y85fV0KhPT32WwbMmsHHvUZ+0q1gJweQ5yVeGHYvU4bdjKyi9rQMVShRmdcnxvO92n30hVUkZXWktXT2OugtGMqDsZRw70IoCJWYyaO8+doX359P9Y8+tGip7NRE1O1m10IXIoOQQHT/caWPKoPSV/Pl3LVGPMYeW0fT0HezdUoKexT7h+YrlCSlyMzvOTGTQ3n0srxJGWK1Oqb4n/m6Xyug7+Mecd5lyYhtvtRlICa3DH2tn8cuWN7n1QB2C9hdjRsEirK88m6vLdWTN8cnOjQtHj3j1ffN7lZGI3AR8AAQCQ1T1f2nmFwa+AZoC+4C7VXVjZtu0hHBxSnuin7fwKyIXDab6/k4kHD/NwSoTubVYXX47ttLp+3/r7FSN08nbSO6ALb15fywZxpSCSSn9/49dPo135j/PjXuuZN3+hjSp8CXflCnCw4dP8VTHrzLvquEiqIrIkzJplI8JCnLaDNIk6Nev/h+Bq3YQu/IFhpUO4oEDx1m4+xGKVjjA6pLjeLRyHzq2fYLVq75xuhAPqsLNde465/sxbMlX9Gr4sFcJJO1NElltK/k7+M41g6hQKIzfV89kxNpXeTjhcmocW8oz5cty7EAripb5h6g9e5ld7AVCyhbj7o3/IqpxF0bu+Svlx47e3qjg14QgIoHAauBGYCswH7hHVZd7LPM40FBVHxWR7kAXVb07s+1aQrg4ZfSPtXjLP5wu+TLzFz1BbJntXJVQhfLB71E3aDJDdkWnJJC0XWB4JpfkeW9UvIWCK8bwTLmyBJ5ox7ECfxO1ey/zSrxIwQZVGL/5Ve7et4dRZSsQdcOnzjgBl+IdQ/6USZtDdOmSGSbosLJhRP71ON327WbkZeVpW/4VNm2rxLHdo9lz+Z/UOFiF9aW3EXH6DiqULMzvx7/nxVqP06HV4yxYPNQZMKhCC4bsnpPudyqjC5A/Vo5myolt56yTvK1Xaj9OycvvJm5JNN/vH07H4y2IODKFZ8p5nPh372VCwDNUu6woevxdoksV5pHDp+h3y5dIjWtS9uXZrnI+JWR/J4QWwGuq2sF9/SKAqr7tscxEd5k5IlIA2AmU10yCs4Rw6Un+Z2gXUJOpiWuosOtmFiRcS+Pif7Ov8p+04gr+YR13lXyAUpXvplCBAI7sHMU3e4fRUq9gtqyjyp6OzD1wDS0ClqWUBB46dJIHr/uUNZeVTPcWyKjybaxqKC/JoPQQc+NLRK4Yeu7nd+0HNCzXlIGju/HD6dXccLI6K449z9rdR6hb5C8OVJnIFQlVWFdqG/WPdCapdFeq8AdTzozkugK1+PvMGnpX7E2l6j3Yt3Ukn28fwpNVH6ZCtXvYuPZbhu6KpnuZBzl1Jomxh78lIjGUmMAN1D7cmUWHr6WS/sGBKhNTklH5nTdxvGhnOhRdDSecE//Dh0/xaIcvKFSrndM24Ca1lIuSShFn76ZK7642L+6u8nfndlWALR6vtwJpf5eesoyqnhGRBKAssDcX4jP5QNqqpOTX7zWvyoYzD7N+3XJ+L76B8H1VGLg6DFjmrlmXthWqMKHsBlodqUbJK3rQoVJJAooUZsiyUvR1SwItLyvp/HjKo+fRiNA2RP3Sm/jgwkR405Gc8a0MfikdP39g+p/fmvGwcwl/nlxF3+Qr62tW06hBL9bubsXovzYw5rK13HgqlL3Fb2f3/mPEHrqKBsVnMrbsOsIPVuH11XVg5gKgFg2KtedDvqTG0t9ZX3obZbZ14L3V9QFoW6EKk8puotXhapwq1YUbqwZRseSjHNi+nrFl19GzaD2e7hlFQIAQsyOIyL9K0tc98V9dvCi4DeFRew8S0agvEYuHOa+v/eDsjx0n/9f5sWNyF+n74nPsdtt81dupiDwCPAJQrVo1P0djclPasRUiwvsQ5U5vF1yM33ZsoW+J+oxKWsY3rbcSVr8Xp84ksXhpNP9ZvZ1HStRndNIyoq6YD5c3JHLqv3h/b0Lqf7rybc52Qw3OSeX2aCLy06+ILwXplcpC29J720Jo/sw5nx8LhxC57uezPbAmX1y4q/6duOZsomi8xOOCYzu9itbll8QVfNp8AyFXPMCpxCROJ7Zg8uxN/FB2NfcH1eWeJ96iaKFAVq74mhfjt9O3ZBijkuKJarT47La2rE3ZR5vFQ93v4Lkn/uvLNsowqfVOHhbVo/fZiNE9ndHtcoqq+vQBtAAmerx+EXgxzTITgRbu8wI4JQPJbLtNmzZVY+Yt/ErbRNfXeQu/Oud1RvNeG3unzht4her66c5G1k/XeQOv0KHTX/HXYRgfGjquV8p3INm8hV/pa9+3T/f78fVvfTL8Tnm+/mjs3Vl+1zLaVobfwR87n52WbP101ZmDnEdG87wAxGpG5+uMZuTUwz3BrwdCgULAYqB+mmWeAD53n3cHRmW1XUsIRjXjf/ah43plPO/rdjnyj2Xyt4y+H48Oj8jwO5XhRcb37b3blh+/g5klhNy67fQWYDDObafRqvofEXnDDWyciAQB3wLhwH6gu6quz2yb1qhsjMltGd0Fl59G+vP77xB8wRKCMcZ4z7quMMYYkyVLCMYYYwBLCMYYY1yWEIwxxgD5uFFZRPYAm85z9XLk/19B5/djyO/xQ/4/Bovf//xxDNVVtXx6M/JtQrgQIhKbUSt7fpHfjyG/xw/5/xgsfv/La8dgVUbGGGMASwjGGGNcl2pC+NLfAeSA/H4M+T1+yP/HYPH7X546hkuyDcEYY8y5LtUSgjHGmDQsIRhjjAEu8oQgIjeJyCoRWSsiL6Qzv7CI/OjOnyciIX4IM0PZiL+niOwRkUXuw7vBVX1MRKJFZLeIxGcwX0TkQ/f4lohIk9yOMSvZOIZ2IpLg8Rn8O7djzIyIVBWRqSKyXESWiUj/dJbJs59DNuPP659BkIjEiMhi9xheT2eZvHEuyqhf7Pz+wOlqex1Qg7PjMNRLs8zjpB6H4Ud/x+1l/D2Bj/0daybH0BZoAsRnMP8W4A9AgKuBef6O+TyOoR3wm7/jzCT+SkAT93kJYHU636M8+zlkM/68/hkIUNx9XhCYB1ydZpk8cS66mEsIEcBaVV2vqqeAkUDnNMt0Br52n/8EXC8ikosxZiY78edpqjoDZ3yLjHQGvlHHXKC0iFTKneiyJxvHkKep6g5VXeg+PwyswBnD3FOe/RyyGX+e5r6vR9yXBd1H2rt58sS56GJOCFWALR6vt3LuFyllGVU9AyQAZXMluqxlJ36AO9xi/k8iUjV3Qssx2T3GvK6FWx3wh4jU93cwGXGrIcJxrlA95YvPIZP4IY9/BiISKCKLgN3AZFXN8DPw57noYk4Il4LxQIiqNgQmc/YKw+SehTh9wzQCPgJ+8W846ROR4sAYYICqHvJ3PN7KIv48/xmoaqKqNgaCgQgRCfNzSOm6mBPCNsDzijnYnZbuMiJSACgF7MuV6LKWZfyquk9VT7ovhwBNcym2nJKdzyhPU9VDydUBqjoBKCgi5fwcVioiUhDnZDpCVcems0ie/hyyij8/fAbJVPUgMBW4Kc2sPHEuupgTwnygloiEikghnIaacWmWGQc86D6/E/hb3VadPCDL+NPU896GU7+an4wDHnDvcrkaSFDVHf4OyhsicnlyXa+IROD8T+WViwrc2IYCK1R1YAaL5dnPITvx54PPoLyIlHafFwFuBFamWSxPnIsK5PYOc4uqnhGRfsBEnDt2olV1mYi8AcSq6jicL9q3IrIWp+Gwu/8iTi2b8T8lIrcBZ3Di7+m3gNMhIj/g3AFSTkS2Aq/iNKihqp8DE3DucFkLHAN6+SfSjGXjGO4EHhORM8BxoHseuqgAaAXcDyx167ABXgKqQb74HLITf17/DCoBX4tIIE6yGqWqv+XFc5F1XWGMMQa4uKuMjDHGeMESgjHGGMASgjHGGJclBGOMMYAlBGOMyRey6mgxzbKDPDr7Wy0iB7O1D7vLyBhj8j4RaQscwel3Ktu/dBaRJ4FwVe2d1bJWQjDGpCIiNURkqIj85O9YzFnpdbQoIleIyJ8iskBEZopInXRWvQf4ITv7sIRg/MIt0g7weD1RRIZ4vH5fRJ7xS3BeEJGQ7BThvdzm9SLy7XmsV0REprs/gDpvbg+7D6XZdiERmeF2q2Dyji+BJ1W1KRAJfOo5U0SqA6HA39nZmH24xl/+AboBg0UkACgHlPSY3xJ42h+B5Sa3ywVR1SSPyY2AuPPYXG9grKomZnPfDYC3025DVXenXVZVT4nIFOBuYMR5xGZymNvhX0tgtEdP2YXTLNYd+Cm73wkrIRh/mQ20cJ/XB+KBwyJSRkQKA3WBhSLyi1scXiYijySvLCL/E5EnPF6/JiKRInKfOKNTLRKRL5Kvlt0r+RUi8pW7rUnuFXWqK3x3G6+501eKyHC3UW6EiNwgIv+IyBq3z5xkBdz5K8Tphryou63MYlklIt+4x5222/JGQJw4o2gNF5H/JvfVk4UewK/ZjV1Vl6pqpzSPc5KBh1/cfZi8IQA4qKqNPR510yzTnWxWFyVv0Jhcp6rbgTMiUg3nKmcOTj/3LYBmwFJ3YKDebnG4GU7fTcl9xP+IU8JI1s1d/26gldvVcCKpT2C1gE9UtT5wELgjizBrAu8DddzHvUBrnKL5Sx7L1QY+df8ZDwGPi0jdbMTyqarWV9VNafbbEKff/InAX6r6UlZ984jTAWINVd3oZezpbausiHwOhIvIix6z4oHmma1rco/bDfgGEbkLUoZCbZQ8321PKIPzv5UtVmVk/Gk2TjJoCQzEGSSkJc7gIP+4yzwlIl3c51VxTqT7VDVORCqISGWgPHAA58q6KTDfvaAugnNiTbZBVRe5zxcAIcCsTOLboKpLAURkGTBFVVVElrrrJtuiqsnxfgc8BZzIIpZN7uhkqYjT1XMNnKu6vqqa3X/mcjhJztvYz6Gq+4BH05meKCKnRKSEO3qZyUWSfkeLPYDPROQVnE4XR+IMtwtO6WCkNx39WUIw/vQPTgJogHP1uQV4Fucqe5iItANuAFqo6jERmQYEeaw/Gqeny8txSgwCfK2qnle1nk56PE/EOUmfIXVJOSiD5ZM8XieR+n8n7T+cZiOWoxlMr4vT9fllbowAiEgxnAbDU8A0VU1bj3/8PGP3VmGcZGdymarek8GstGMrJC//mrf7sCoj40+zgU7AfndEqf1AaZxqo9k4g4QccJNBHZwB4D39iHMVdCdOcpgC3CkiFQBE5DL3LovM7AIquNUkhd14vFVNRJLbQ+7FKXWcTyzglHJm4xzXMBGp6E7vitM4+DDO2BepqOoBIFBEgtLOyyludd1eVT3tq30Y/7KEYPxpKU5Vx9w00xJUdS/wJ06D7Qrgf2mWQ1WXASWAbe5g7MuBV4BJIrIEZ1jRTAeLd09ubwAx7vJpBy7JjlXAE26cZYDPzicWVyMgXlVXA/8HjHKrkYI5O+5xRneMTMJpJ/CVa4Hffbh942f2S2Vj8gERuR+ntPSbiIxU1XMGUBGRJsDTqnq/j2IYC7zgJitzEbISgjH5w1jgDhH5DBif3gKquhCYKhf4w7T0uHcx/WLJ4OJmJQRjjDGAlRCMMca4LCEYY4wBLCEYY4xxWUIwxhgDWEIwxhjjsoRgjDEGsIRgjDHGZQnBGGMMYAnBGGOM6/8BwkDTT519r0kAAAAASUVORK5CYII=\n", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjgAAAHOCAYAAACVVnNvAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAApJBJREFUeJzs3Xl8TNf7wPHPTPY9IZHEvhNEYi9K7EGLVi21U6qp1FI/VdqiqOpi6ZZIUbErVVX7FlKhWmuCCrEkktpDFhFZ5/7+yDdTI4skEpPleb9e82LuPffMM5Nk5plznnOvSlEUBSGEEEKIUkSt7wCEEEIIIQqbJDhCCCGEKHUkwRFCCCFEqSMJjhBCCCFKHUlwhBBCCFHqSIIjhBBCiFJHEhwhhBBClDqS4AghhBCi1JEERwghhBCljiQ4QoeiKKSkpOg1hpEjR1K9enW9xvCk4haPPkRERKBSqVi5cuULe8zq1aszcuTIIn2MwMBAVCoVgYGBz2zboUMHOnToUKTxFFf5eZ3ySh+/U6JskQSnhDp16hTdu3fH2toaKysrunXrRnBwcLZt//zzT15++WXMzc1xcnJiwoQJJCQkZGm3du1a7O3tsbKyYtSoUbkmOitXrkSlUj3z9qISgwsXLvDpp58SERHxQh4vOx06dEClUtGrV68s+zLfzBcsWKCHyPJu/fr1fPPNN0X6GCXltXge6enp+Pv706FDB8qVK4eJiQnVq1dn1KhRnDx58oXH8/nnn7N169YX/rjF3ZEjR7TvVdHR0c9s/88//9C/f39q1qyJubk59vb2tG/fnu3bt2dpu2zZMjw8PHB0dMTExIQaNWowatQovb5HlTWG+g5A5N/p06d5+eWXqVKlCrNmzUKj0eDr64uHhwfHjx+nXr162rbBwcF07twZFxcXFi1axL///suCBQu4fPkyu3fv1raLiIjg3Xff5dNPP6VatWrMnj2bb775hqlTp2YbQ/v27VmzZo3OtjFjxtCyZUvGjh2r3WZpaZnv57ds2TI0Gk2+jrlw4QKzZ8+mQ4cOeh9t2bFjB6dOnaJZs2Z6jaMg1q9fz/nz55k0aZLO9mrVqvH48WOMjIxeWCyXLl1CrS7a72Dt27fn8ePHGBsbF1qfjx8/pm/fvuzZs4f27dvz0UcfUa5cOSIiIti0aROrVq0iMjKSypUrF9pjPsvnn39Ov379eO21117YYxZ3Go2G8ePHY2FhwaNHj/J0zPXr13n48CEjRoygYsWKJCYm8uuvv9K7d29+/PFHnfe+M2fOUKNGDXr37o2dnR3h4eEsW7aMHTt2EBISQsWKFYvqqYlMiihxevbsqdjZ2SnR0dHabTdv3lQsLS2Vvn376rTt0aOH4uzsrMTFxWm3LVu2TAGUvXv3arf98ssvymuvvaa9v3XrVuXVV1/NV1wWFhbKiBEj8vlsCscvv/yiAMqhQ4cKve8RI0Yo1apVe2Y7Dw8PpWrVqoqdnZ3Sq1cvnX3h4eEKoHz99deFHl9heuWVV/L0XJ9HSXktnubh4aF4eHg8s523t7cCKIsXL86yLy0tTfn666+VqKioHI9PSEh4jiiz97x/m4cOHSr0v6/M3wN/f/9C6zM/lixZopQvX16ZOHGiAij37t0rUD9paWmKm5ubUq9evWe2PXnypAIo8+fPL9BjifyRKaoSKCgoiC5dulC+fHntNmdnZzw8PNixY4d2+ik+Pp79+/czdOhQrK2ttW2HDx+OpaUlmzZt0m6rWbMmhw8fZv/+/Vy6dImlS5dSp06dAscYGxuLgYEB3333nXZbdHQ0arWa8uXLozxxEft3330XJycn7f3sal5+/vlnmjVrhpWVFdbW1ri6uvLtt98CGdNl/fv3B6Bjx47aIecn6wV2795Nu3btsLCwwMrKildeeYV//vknS9xbt26lUaNGmJqa0qhRI3777bd8PW8rKyvef/99tm/fzunTp5/ZPjY2lkmTJlGlShVMTEyoXbs2X375pc4I1pNTOj4+Ptrh8W7duhEVFYWiKMydO5fKlStjZmZGnz59ePDggc7j/P7777zyyitUrFgRExMTatWqxdy5c0lPT9e26dChAzt37uT69etZphhzqpe4ePEiAwYMwMHBATMzM+rVq8fHH3+cr9csJ9nV4Pzzzz906tQJMzMzKleuzGeffcaKFStQqVQ6Q/8qlYpPP/30mX3mVFuydOlSatWqhZmZGS1btiQoKChPMf/777/8+OOPdO3aNcsoGICBgQFTpkzRjt58+umnqFQqLly4wODBg7Gzs+Pll1/G398flUrFmTNnsvTx+eefY2BgwI0bNwC4fPkyb7zxBk5OTpiamlK5cmXefPNN4uLitK/Fo0ePWLVqlfbnmvkaXL9+nXHjxlGvXj3MzMwoX748/fv3L/RplNjYWEaOHImNjQ22traMGDGC2NjYQn2M/Hjw4AGffPIJc+bMwdbW9rn6MjAwoEqVKnl6Ppl/T89qm1t90tO/25m/Q2FhYQwdOhQbGxscHByYMWMGiqIQFRVFnz59sLa2xsnJiYULF+b9yZVwMkVVAiUnJ2NmZpZlu7m5OSkpKZw/f56XXnqJc+fOkZaWRvPmzXXaGRsb4+7urvPm2bRpU4YMGUK3bt0AaNy48XMV/9na2tKoUSMOHz7MhAkTgP/mux88eMCFCxdo2LAhkJGwtWvXLse+9u/fz6BBg+jcuTNffvklAKGhoRw9epSJEyfSvn17JkyYwHfffcdHH32Ei4sLgPbfNWvWMGLECDw9Pfnyyy9JTExkyZIlvPzyy5w5c0b7prNv3z7eeOMNGjRowPz587l//z6jRo3K91TCxIkTWbx4MZ9++inbtm3LsV1iYiIeHh7cuHGDd955h6pVq/Lnn38yffp0bt26laUWZt26daSkpDB+/HgePHjAV199xYABA+jUqROBgYF8+OGHXLlyhe+//54pU6awYsUK7bErV67E0tKSyZMnY2lpycGDB5k5cybx8fF8/fXXAHz88cfExcXx77//snjxYiD3KcazZ8/Srl07jIyMGDt2LNWrV+fq1ats376defPm5es1y4vbt2/TsWNH0tLSmDZtGhYWFixdujTbv4Xn8dNPP/HOO+/Qpk0bJk2axLVr1+jduzflypWjSpUquR67e/du0tLSGDZsWL4es3///tSpU4fPP/8cRVHo168f3t7erFu3jiZNmui0XbduHR06dKBSpUqkpKTg6elJcnIy48ePx8nJiRs3brBjxw5iY2OxsbFhzZo1WaaPa9WqBcCJEyf4888/efPNN6lcuTIREREsWbKEDh06cOHCBczNzfP1PLKjKAp9+vThyJEjeHl54eLiwm+//caIESPydLxGo8mSsOfExsYmT9OoM2bMwMnJiXfeeYe5c+fmqe8nPXr0iMePHxMXF8e2bdvYvXs3AwcOzLbt/fv3SU9PJzIykjlz5gDQuXPnfD/mswwcOBAXFxe++OILdu7cyWeffUa5cuX48ccf6dSpE19++SXr1q1jypQptGjRgvbt2xd6DMWOXsePRIG4uroqdevWVdLS0rTbkpOTlapVqyqAsnnzZkVR/pu2OXz4cJY++vfvrzg5OWXZfvXqVeXUqVNKampqvuN6ehjc29tbcXR01N6fPHmy0r59e6VChQrKkiVLFEVRlPv37ysqlUr59ttvte2enhKaOHGiYm1trfN8n5bTFNXDhw8VW1tb5e2339bZfvv2bcXGxkZnu7u7u+Ls7KzExsZqt+3bt08B8jxF1bBhQ0VRFGX27NkKoJw6dUpRlOynZebOnatYWFgoYWFhOv1MmzZNMTAwUCIjI3WOdXBw0Ilt+vTpCqC4ubnp/LwGDRqkGBsbK0lJSdptiYmJWeJ95513FHNzc512OU1RZTed0L59e8XKykq5fv26TluNRpPja5TTa5GdatWq6fw+TZo0SQGUv//+W7vt7t27io2NjQIo4eHh2u2AMmvWrGf2+fTUS0pKilKhQgXF3d1dSU5O1rZbunSpAjxziur9999XAOXMmTO5tss0a9YsBVAGDRqUZd+gQYOUihUrKunp6dptp0+f1vk5nDlzRgGUX375JdfHyWmKKrvfi2PHjimAsnr1au2255mi2rp1qwIoX331lXZbWlqa0q5duzxNUWX+vuTllpf4QkJCFAMDA+0UfebPID9TVO+88472MdVqtdKvXz/lwYMH2bY1MTHRti1fvrzy3XffPbP/3Kbvnv7dzox/7Nix2m1paWlK5cqVFZVKpXzxxRfa7TExMYqZmZneSgleNJmiKoHGjRtHWFgYo0eP5sKFC5w/f57hw4dz69YtIKPI8cl/TUxMsvRhamqq3f+kmjVr0rRpUwwNn39wr127dty5c4dLly4BGSM17du3p127dtoh/yNHjqAoSq4jOLa2tjx69Ij9+/fnO4b9+/cTGxvLoEGDiI6O1t4MDAxo1aoVhw4dAuDWrVsEBwczYsQIbGxstMd37dqVBg0a5PtxJ06ciJ2dHbNnz86xzS+//EK7du2ws7PTia1Lly6kp6dz+PBhnfb9+/fXia1Vq1YADB06VOfn1apVK1JSUrRTGIDOKMfDhw+Jjo6mXbt2JCYmcvHixXw/v3v37nH48GHeeustqlatqrNPpVLlu7+82LVrFy+99BItW7bUbnNwcGDIkCGF9hgnT57k7t27eHl56RQeZ06vPEt8fDyQMVWZH15eXlm2DR8+nJs3b2p/RyFj9MbMzIw33ngDQBvT3r17SUxMzNdjgu7vRWpqKvfv36d27drY2trmaYo1L3bt2oWhoSHvvvuudpuBgQHjx4/P0/FOTk7s378/Tzc3N7dn9jdhwgR69OihHa0uiEmTJrF//35WrVpFjx49SE9Pz3HV6e7du9m1axcLFy6katWqeS5ozq8xY8Zo/29gYEDz5s1RFIXRo0drt9va2lKvXj2uXbtWJDEUNzJFVQJ5eXkRFRXF119/zapVqwBo3rw5U6dOZd68edpphcw3r+Tk5Cx9JCUlFfrQ/tMyk5agoCAqV67MmTNn+Oyzz3BwcNAuEQ4KCsLa2jrXN6Zx48axadMmevToQaVKlejWrRsDBgyge/fuz4zh8uXLAHTq1Cnb/Zm1SdevXwfItu6oXr16+X6zt7GxYdKkScyaNYszZ85gZ2eXbWxnz57FwcEh2z7u3r2rc//pRCLzw+3paZPM7TExMdpt//zzD5988gkHDx7UfghnyqzVyI/MN8hGjRrl+9iCun79ujape9KTqwYL4zEg6++BkZERNWvWfObxmb9PDx8+zNfj1qhRI8u2rl274uzszLp16+jcuTMajYYNGzbQp08fbQJVo0YNJk+ezKJFi1i3bh3t2rWjd+/e2lqMZ3n8+DHz58/H39+fGzdu6NTGFeT3IjvXr1/H2dk5y3RnXn9upqamdOnSpVBi2bhxI3/++Sfnz59/rn7q169P/fr1gYxEtFu3bvTq1Yu///47S4LfsWNHAHr06EGfPn1o1KgRlpaWvPfee88Vw9Oye38wNTXF3t4+y/b79+8X6mMXV5LglFDz5s1jypQp/PPPP9jY2ODq6spHH30EQN26dYGMwmNAO7LzpFu3bhX5MsWKFStSo0YNDh8+TPXq1VEUhdatW+Pg4MDEiRO5fv06QUFBtGnTJtflwBUqVCA4OJi9e/eye/dudu/ejb+/P8OHD9cmeDnJLNZds2aNTiFzpsIYqcpJZi1O5pL77GLr2rVrjkvxM3+OmQwMDLJtl9P2zA+r2NhYPDw8sLa2Zs6cOdSqVQtTU1NOnz7Nhx9+mO8l+SXZk0XVRSHzQ+/cuXO4u7vn+bjsvmwYGBgwePBgli1bhq+vL0ePHuXmzZsMHTpUp93ChQsZOXIkv//+O/v27WPChAnMnz+fv/7665n1Y+PHj8ff359JkybRunVrbGxsUKlUvPnmm8Xm9yI9PZ179+7lqW25cuVyXfL/wQcf0L9/f4yNjbWF1JkFv1FRUaSkpBTofbFfv3688847hIWF5Zq41apViyZNmrBu3boCJThPJqBPy+594FnvDaWdJDglWOaKi0wHDhygcuXK2jfZRo0aYWhoyMmTJxkwYIC2XUpKCsHBwTrbikq7du04fPgwNWrUwN3dHSsrK9zc3LCxsWHPnj2cPn0612mcTMbGxvTq1YtevXqh0WgYN24cP/74IzNmzKB27do5TotkFlNWqFAh12+B1apVA/4b8XlS5hRbfmWO4nz66afZFlTWqlWLhISEQvt2mpPAwEDu37/Pli1bdAoLw8PDs7TN6/RS5mjG834Tzo9q1arl+edjZ2eXZaVKSkpKtsn+048BGb8HT476paamEh4e/swpkB49emBgYMDatWvzXWicneHDh7Nw4UK2b9/O7t27cXBwwNPTM0s7V1dXXF1d+eSTT/jzzz9p27Ytfn5+fPbZZ0DOP9fNmzczYsQInZU1SUlJhbrCqVq1agQEBJCQkKAzipPXv6uoqKhsR7iyc+jQoVzPNh0VFcX69etZv359ln1NmzbFzc0txxOm5iZzuj8vo16PHz/OdlQ9O0+PBN65cyffsZVlUoNTSmzcuJETJ04wadIk7WiIjY0NXbp0Ye3atTp/KGvWrCEhIUG7tLootWvXjoiICDZu3KidslKr1bRp04ZFixaRmpqaa/0NkGU4Va1W07hxY+C/6TcLCwsg6/JLT09PrK2t+fzzz0lNTc3Sd+Y3Q2dnZ9zd3Vm1apXOm9T+/fu5cOFCPp6xrkmTJmFra6tdPfGkAQMGcOzYMfbu3ZtlX2xsLGlpaQV+3Cdlfot78ltbSkoKvr6+WdpaWFjk6U3awcGB9u3bs2LFCiIjI3X2FdW3w549e/LXX39x/Phx7bZ79+6xbt26LG1r1aqVpYZp6dKlzxzBad68OQ4ODvj5+enUVKxcuTJPH/pVqlTh7bffZt++fXz//fdZ9ms0GhYuXMi///77zL4gYzVj48aNWb58Ob/++itvvvmmzqhjfHx8lt8TV1dX1Gq1zoeohYVFtvEbGBhk+Xl9//33hTrS1bNnT9LS0liyZIl2W3p6eravT3YKswbnt99+y3LLXP20evVq7epByDitxcWLF3Vqm56eNoaM5Hf16tWYmZlp6/XS0tJ0pogzHT9+nHPnzmVZ2ZqTJ+uvMuOHsjMC87xkBKcEOnz4MHPmzKFbt26UL1+ev/76C39/f7p3787EiRN12s6bN482bdrg4eHB2LFj+ffff1m4cCHdunXLUw3L88pMXi5dusTnn3+u3d6+fXt2796NiYkJLVq0yLWPMWPG8ODBAzp16kTlypW5fv0633//Pe7u7tql4O7u7hgYGPDll18SFxeHiYkJnTp1okKFCixZsoRhw4bRtGlT3nzzTRwcHIiMjGTnzp20bduWH374AYD58+fzyiuv8PLLL/PWW2/x4MEDvv/+exo2bJjtpS3ywsbGhokTJ2Y7SvXBBx+wbds2Xn31VUaOHEmzZs149OgR586dY/PmzURERGSZPy+INm3aYGdnx4gRI5gwYQIqlYo1a9Zk+ybZrFkzNm7cyOTJk2nRogWWlpbZXnoC4LvvvuPll1+madOmjB07lho1ahAREcHOnTvz9C04ICCApKSkLNtfe+21bGt7pk6dypo1a7S/55nLxKtVq8bZs2d12o4ZMwYvLy/eeOMNunbtSkhICHv37n3m62lkZMRnn33GO++8Q6dOnRg4cCDh4eH4+/vnqQYHMqaMrl69yoQJE9iyZQuvvvoqdnZ2REZG8ssvv3Dx4kXefPPNPPUFGaM4U6ZMAcgyPXXw4EHee+89+vfvT926dUlLS2PNmjUYGBhoC5Eh4+d64MABFi1apJ06btWqFa+++ipr1qzBxsaGBg0acOzYMQ4cOKBzjq2cBAYG0rFjR2bNmpXtOYcy9erVi7Zt2zJt2jQiIiJo0KABW7ZsyXONT2HW4GR3JufM39UePXro/H788MMPzJ49W2dU6J133iE+Pp727dtTqVIlbt++zbp167h48SILFy7UjlAlJCRQpUoVBg4cSMOGDbGwsODcuXP4+/tjY2PDjBkz8hTvnj17GDJkCO3btycsLIylS5dibm7Ovn37aNGiBa+++upzvR6lnn4Wb4nnceXKFaVbt26Kvb29YmJiotSvX1+ZP3++zrLWJwUFBSlt2rRRTE1NFQcHB8Xb21uJj48v9LhyWopaoUIFBVDu3Lmj3XbkyBEFUNq1a5el/dPLxDdv3qx069ZNqVChgmJsbKxUrVpVeeedd5Rbt27pHLds2TKlZs2aioGBQZYlo4cOHVI8PT0VGxsbxdTUVKlVq5YycuRI5eTJkzp9/Prrr4qLi4tiYmKiNGjQQNmyZUu+zmScuUz8STExMdqlzE8vjX748KEyffp0pXbt2oqxsbFib2+vtGnTRlmwYIGSkpKiKErOy6ozl+4+vUTY399fAZQTJ05otx09elR56aWXFDMzM6VixYrK1KlTlb1792Z5nRISEpTBgwcrtra2Osvjc1q2ev78eeX1119XbG1tFVNTU6VevXrKjBkzcn2dnrXsd82aNYqiZF3SrSiKcvbsWcXDw0MxNTVVKlWqpMydO1f56aefsiwTT09PVz788EPF3t5eMTc3Vzw9PZUrV648c5l4Jl9fX6VGjRqKiYmJ0rx5c+Xw4cN5PpOxomQs012+fLnSrl07xcbGRjEyMlKqVaumjBo1SmcJeV6WKN+6dUsxMDBQ6tatm2XftWvXlLfeekupVauWYmpqqpQrV07p2LGjcuDAAZ12Fy9eVNq3b6+YmZkpgPY1iImJUUaNGqXY29srlpaWiqenp3Lx4sU8vU7bt29XAMXPz++Zr8f9+/eVYcOGKdbW1oqNjY0ybNgw7RJ3fZ3JOFNOP4PM7U8+5w0bNihdunRRHB0dFUNDQ8XOzk7p0qWL8vvvv+scm5ycrEycOFFp3LixYm1trf35jx49Wuf3NCeZfyOff/650qVLF8XExESpUaOGsnnzZuWjjz5SzM3NldmzZ+ca/4gRIxQLC4ssfef0PlUaqRRFxrqEECXXypUrGTVqFOHh4Xq/DllRiI6OxtnZmZkzZ+b5m/+LMHXqVDZs2MCVK1eyPRWFKLiIiAhq1KiBv79/lrN5i7yTGhwhhCjGVq5cSXp6eqEULRemQ4cOMWPGDEluRLElNThCCFEMHTx4kAsXLjBv3jxee+21Yjc6deLECX2HIESuJMERQohiaM6cOdol33ldcSSE+I/U4AghhBCi1JEaHCGEEEKUOpLgCCGEEKLUKZM1OBqNhps3b2JlZVVkVz4WQgghROFSFIWHDx9SsWLFXK9hCGU0wbl582aWKzALIYQQomSIiop65sVky2SCY2VlBWS8QNbW1nqORgghhBB5ER8fT5UqVbSf47kpkwlO5rSUtbW1JDhCCCFECZOX8hIpMhZCCCFEqSMJjhBCCCFKHUlwhBBCCFHqlMkaHCFE2ZSenk5qaqq+wxBC5MLY2PiZS8DzQhIcIUSppygKt2/fJjY2Vt+hCCGeQa1WU6NGDYyNjZ+rH0lwhBClXmZyU6FCBczNzeUEn0IUU5kn4r116xZVq1Z9rr9VSXCEEKVaenq6NrkpX768vsMRQjyDg4MDN2/eJC0tDSMjowL3I0XGQohSLbPmxtzcXM+RCCHyInNqKj09/bn6kQRHCFEmyLSUECVDYf2tSoIjhBBCiFJH7wnO4cOH6dWrFxUrVkSlUrF169ZnHhMYGEjTpk0xMTGhdu3arFy5ssjjzI3vb4Pw+31otvv8fh+K72+DXnBEQghRuFauXImtra2+wygUgYGBqFQqWVVXyuk9wXn06BFubm74+PjkqX14eDivvPIKHTt2JDg4mEmTJjFmzBj27t1bxJHmTK02wCc2JEuS4/f7UHxiQ1CrDfQUmRCipLt9+zYTJ06kdu3amJqa4ujoSNu2bVmyZAmJiYn6Di9bmQlEbrfAwEB9hylKOb2vourRowc9evTIc3s/Pz9q1KjBwoULAXBxceHIkSMsXrwYT0/PogozV1591sL/kpn4jQOZ9MYGVuwcjk9sCN62bhn7hRAin65du0bbtm2xtbXl888/x9XVFRMTE86dO8fSpUupVKkSvXv31neYWbRp04Zbt25p70+cOJH4+Hj8/f2128qVK5evPlNTU7OsqElJSXnuc6WI0kvvIzj5dezYMbp06aKzzdPTk2PHjuV4THJyMvHx8Tq3wubVZy2jLRqxJukCL61tjE9sCG+o69HLYxkg01hCiPwbN24choaGnDx5kgEDBuDi4kLNmjXp06cPO3fupFevXtq2kZGR9OnTB0tLS6ytrRkwYAB37tzR6W/JkiXUqlULY2Nj6tWrx5o1a3T2x8bG8s477+Do6IipqSmNGjVix44dOm327t2Li4sLlpaWdO/eXSeRyWRsbIyTk5P2ZmZmhomJifZ+cHAwnTp1wtbWlvLly/Pqq69y9epV7fERERGoVCo2btyIh4cHpqamrFu3jpEjR/Laa68xb948KlasSL169ZgzZw6NGjXKEoO7uzszZszI0+t8//59Bg0aRKVKlTA3N8fV1ZUNGzZo9+/YsQNbW1vtqp7g4GBUKhXTpk3TthkzZgxDh2b/Hi/0o8QlOLdv38bR0VFnm6OjI/Hx8Tx+/DjbY+bPn4+NjY32VqVKlSKJrWnj7zBSFFJVKowUhZX/jKLtFwfpuugPIh8k4RMbgu/WITrHyDSWEC+eoigkpqS98JuiKHmO8f79++zbtw9vb28sLCyybZO52kSj0dCnTx8ePHjAH3/8wf79+7l27RoDBw7Utv3tt9+YOHEi//d//8f58+d55513GDVqFIcOHdL20aNHD44ePcratWu5cOECX3zxBQYG/703JSYmsmDBAtasWcPhw4eJjIxkypQp+X79Hz16xOTJkzl58iQBAQGo1Wpef/11NBqNTrtp06YxceJEQkNDtSP0AQEBXLp0if3797Njxw7eeustQkNDOXHihPa4M2fOcPbsWUaNGpWneJKSkmjWrBk7d+7k/PnzjB07lmHDhnH8+HEA2rVrx8OHDzlz5gwAf/zxB/b29jrTbH/88QcdOnTI92shio7ep6hehOnTpzN58mTt/fj4+CJJci6Evq9NblJVKl6p4sfuf724fDeBy3fH0N7he5Zwlkt+venS2o8bEVNlGksIPXicmk6DmS++bu/CHE/MjfP2tnvlyhUURaFevXo62+3t7UlKSgLA29ubL7/8koCAAM6dO0d4eLj2vW316tU0bNiQEydO0KJFCxYsWMDIkSMZN24cAJMnT+avv/5iwYIFdOzYkQMHDnD8+HFCQ0OpW7cuADVr1tR57NTUVPz8/KhVqxYA7733HnPmzMn36/DGG2/o3F+xYgUODg5cuHBBZzRm0qRJ9O3bV6ethYUFy5cv15ma8vT0xN/fnxYtWgDg7++Ph4dHlvhzUqlSJZ1Ebfz48ezdu5dNmzbRsmVLbGxscHd3JzAwkObNmxMYGMj777/P7NmzSUhIIC4ujitXruDh4ZHv10IUnRI3guPk5JRl2PXOnTtYW1tjZmaW7TEmJiZYW1vr3Apb5kiMt60bp0eex9vWjcOWEUxusY4fBjehX7PKhCZNoUl0JQ6ahTPrTDd8YkMYZ9NYkhshRJ4dP36c4OBgGjZsSHJyMgChoaFUqVJF54tbgwYNsLW1JTQ0VNumbdu2On21bdtWuz84OJjKlStrk5vsmJuba5MbAGdnZ+7evQtAUFAQlpaW2tu6dety7Ofy5csMGjSImjVrYm1tTfXq1YGMabYnNW/ePMuxrq6uWepu3n77bTZs2EBSUhIpKSmsX7+et956K8fHf1p6ejpz587F1dWVcuXKYWlpyd69e3Xi8fDwIDAwEEVRCAoKom/fvtoa0D/++IOKFStSp06dPD+mKHolbgSndevW7Nq1S2fb/v37ad26tZ4i0k1uMpOVJwuPvcOnsqD/WjQahdDbLRi2r612pOfP+xMY/DgVG7OCn45aCJE/ZkYGXJjz4hclmBnlfSq6du3aqFQqLl26pLM9c1Qipy90BY4tD/09XeSrUqm0027NmzcnODhYu+/pUoIn9erVi2rVqrFs2TIqVqyIRqOhUaNGpKSk6LTLbmouu229evXCxMSE3377DWNjY1JTU+nXr98zn0+mr7/+mm+//ZZvvvkGV1dXLCwsmDRpkk48HTp0YMWKFYSEhGBkZET9+vXp0KEDgYGBxMTEyOhNMaT3EZyEhASCg4O1fxjh4eEEBwdrM+fp06czfPhwbXsvLy+uXbvG1KlTuXjxIr6+vmzatIn3339fH+EDoNGkZzvN5NVnLd62bmg0GYVparWKoBPeOtNYqthZvLHkTyLvF8/lnkKURiqVCnNjwxd+y88ZWsuXL0/Xrl354YcfePToUa5tXVxciIqKIioqSrvtwoULxMbG0qBBA22bo0eP6hx39OhR7f7GjRvz77//EhYWlucYn2RmZkbt2rW1Nysrq2zb3b9/n0uXLvHJJ5/QuXNnXFxciImJKdBjZjI0NGTEiBH4+/vj7+/Pm2++ma8E8OjRo/Tp04ehQ4fi5uZGzZo1s7wOmXU4ixcv1iYzmQlOYGCg1N8UQ3ofwTl58iQdO3bU3s+slRkxYgQrV67k1q1bOsOENWrUYOfOnbz//vt8++23VK5cmeXLl+ttiTjAuNc35LjvyaTn6ZGehZveZKX9PzSJnk8fn8n8OKw5LWvkb+mkEKL08vX1pW3btjRv3pxPP/2Uxo0bo1arOXHiBBcvXqRZs2YAdOnSBVdXV4YMGcI333xDWloa48aNw8PDQzvN88EHHzBgwACaNGlCly5d2L59O1u2bOHAgQNAxhRM+/bteeONN1i0aBG1a9fm4sWLqFQqunfvXmjPyc7OjvLly7N06VKcnZ2JjIzUWY1UUGPGjMHFxQUgSyL3LHXq1GHz5s38+eef2NnZsWjRIu7cuaNN/jLjbty4MevWreOHH34AoH379gwYMIDU1FQZwSmOlDIoLi5OAZS4uLgX9phLtg5RGq1spCzZOkRn+7ebBymNVjZShi3wVOovnKS8t+vL7I8PXqL4nPF5EaEKUao8fvxYuXDhgvL48WN9h1IgN2/eVN577z2lRo0aipGRkWJpaam0bNlS+frrr5VHjx5p212/fl3p3bu3YmFhoVhZWSn9+/dXbt++rdOXr6+vUrNmTcXIyEipW7eusnr1ap399+/fV0aNGqWUL19eMTU1VRo1aqTs2LFDURRF8ff3V2xsbHTa//bbb0pePkZGjBih9OnTR3t///79iouLi2JiYqI0btxYCQwMVADlt99+UxRFUcLDwxVAOXPmTK79PK1du3ZKw4YNnxnPoUOHFECJiYlRFCXjeffp00extLRUKlSooHzyySfK8OHDszzWxIkTFUAJDQ3VbnNzc1OcnJye+Zgi73L7m83P57dKUfKxbrGUiI+Px8bGhri4uCIpOM6O72+DUKsNsi0o9v1tCGF344h5lMrp8jdpbDGQNX0/Rq3OGM72C/HDJ9gHbxtXvF5b/0LiFaK0SEpKIjw8nBo1amBqaqrvcEQRURSFOnXqMG7cOJ1Vs6Lkye1vNj+f33qfoiorcpvGGvf6OjQahT/9P+R8zAV82EivtSn88uZMVocuz0huYmLxqu7+4gIWQogS4t69e/z888/cvn07z+e+EaWfJDjFhFqt4uXRX1FugxHcWY2P3W+0Wr8dVGkZyU2T8eAxVd9hCiFEsVOhQgXs7e1ZunQpdnZ2+g5HFBOS4BQzDQbNw+Z3I5bGbCZVlYaRovCO+3uS3AghRA7KYKWFyAO9LxMXWW2v7qSzlNw79xWiQgghhHiKJDjFjLagOCaWE9dv4x0TS1D0WuYd/U7foQkhhBAlhiQ4xciTyY1Xk/GoZtzDQXkd75hYfr6yjB9OL9F3iEIIIUSJIAlOMaIJD9IpKFarVbQf8zVKfE+8Y2KJOL1H3yEKIYQQJYIUGRcj42waQRM3nYJiBysTGr75GSdWpVE5WsOe87fo3shZj1EKIYQQxZ8kOMVJx+nZbm5f14GjL0/hxz+uYb35LK6VbalkW7gX2hNCCCFKE5miKiH+r2s93CrbEJ+UxqSfz5CWrtF3SEIIIYpI9erV+eabb/LcvkOHDkyaNKnQ25ZkkuCUEMaGar4f1BRLE0NORMTw3cEr+g5JCFHERo4ciUql0t7Kly9P9+7dOXv2rL5D07v79+9TuXJlVCoVsbGxL7yP6tWr6/xsMm/e3t45HvPpp59q2xkaGmJvb0/79u355ptvSE5O1ml74sQJxo4dm+d4tmzZwty5cwu9bUkmCU4JUrW8OZ1an8HYPoAfDl7mr2v3dfb7hfjhG+yrp+iEKMUOzYc/vsp+3x9fZewvIt27d+fWrVvcunWLgIAADA0NefXVV5+rz5SUlGy3p6amPle/L9Lo0aNp3Lix3vo4ceKE9udy69Yt9u/fD0D//v1zPa5hw4bcunWLyMhIDh06RP/+/Zk/fz5t2rTh4cOH2nYODg6Ym5vnOZ5y5cphZWVV6G1LMklwSpgGSWcxcdiPYfkAJv0cTMyjjDeqzCXm6ogjeo5QiFJIbQCH5mVNcv74KmO72qDIHtrExAQnJyecnJxwd3dn2rRpREVFce/ePW2bqKgoBgwYgK2tLeXKlaNPnz5ERERo948cOZLXXnuNefPmUbFiRerVq0dERAQqlYqNGzfi4eGBqakp69atA2D58uW4uLhgampK/fr18fX974tT5nGbNm2iXbt2mJmZ0aJFC8LCwjhx4gTNmzfH0tKSHj166MR44sQJunbtir29PTY2Nnh4eHD69Gmd56pSqVi+fDmvv/465ubm1KlTh23btmV5TZYsWUJsbCxTpkzR2a4oCl26dMHT01N7duMHDx5QuXJlZs6cmac+8srBwUH7c3FycmLHjh3UqlULDw+PXI8zNDTEycmJihUr4urqyvjx4/njjz84f/48X375pbbdk1NUgwcPZuDAgTr9pKamYm9vz+rVq4Gs006+vr7UqVMHU1NTHB0d6devn3bf021jYmIYPnw4dnZ2mJub06NHDy5fvqzdv3LlSmxtbdm7dy8uLi5YWlpqE+9MgYGBtGzZEgsLC2xtbWnbti3Xr1/P8+tZFCTBKWG87NzxjonFxGE/D4x38sHms7rnz7Fz13eIQpQ+HlOh48e6SU5mctPx4xd2KZWEhATWrl1L7dq1KV++PJDxQefp6YmVlRVBQUEcPXpU+wH05EhNQEAAly5dYv/+/ezYsUO7fdq0aUycOJHQ0FA8PT1Zt24dM2fOZN68eYSGhvL5558zY8YMVq1apRPLrFmz+OSTTzh9+jSGhoYMHjyYqVOn8u233xIUFMSVK1d0koqHDx8yYsQIjhw5wl9//UWdOnXo2bOnzqgFwOzZsxkwYABnz56lZ8+eDBkyhAcPHmj3X7hwgTlz5rB69WrUat2PMJVKxapVqzhx4gTffZdxclQvLy8qVaqkE0tufRRESkoKa9eu5a233kKlUuX7+Pr169OjRw+2bNmS7f4hQ4awfft2EhIStNv27t1LYmIir7/+epb2J0+eZMKECcyZM4dLly6xZ88e2rdvn+Pjjxw5kpMnT7Jt2zaOHTuGoij07NlTZ0QvMTGRBQsWsGbNGg4fPkxkZKQ2OUxLS+O1117Dw8ODs2fPcuzYMcaOHVug16JQKWVQXFycAihxcXH6DqVgAr9UliyurDRa2UhpuMJNabSykbJkcWVFCfxS35EJUew8fvxYuXDhgvL48ePn7yzwS0WZZa0oc+wz/i3iv7kRI0YoBgYGioWFhWJhYaEAirOzs3Lq1CltmzVr1ij16tVTNBqNdltycrJiZmam7N27V9uPo6OjkpycrG0THh6uAMo333yj85i1atVS1q9fr7Nt7ty5SuvWrXWOW758uXb/hg0bFEAJCAjQbps/f75Sr169HJ9benq6YmVlpWzfvl27DVA++eQT7f2EhAQFUHbv3q0oiqIkJSUpjRs3VtasWaMoiqIcOnRIAZSYmBidvjdt2qSYmpoq06ZNUywsLJSwsDDtvrz2kR8bN25UDAwMlBs3buTabtasWYqbm1u2+z788EPFzMxMe79atWrK4sWLFUVRlNTUVMXe3l5ZvXq1dv+gQYOUgQMHau97eHgoEydOVBRFUX799VfF2tpaiY+Pz/axnmwbFhamAMrRo0e1+6OjoxUzMzNl06ZNiqIoir+/vwIoV65c0bbx8fFRHB0dFUVRlPv37yuAEhgYmOvzz6vc/mbz8/ktIzglkcdUvJqMx0hRUKnTMVIURjf2lgtyClHUPKaCgTGkp2T8+wL+5jp27EhwcDDBwcEcP34cT09PevTooR3+DwkJ4cqVK1hZWWFpaYmlpSXlypUjKSmJq1evavtxdXXF2Ng4S//NmzfX/v/Ro0dcvXqV0aNHa/uytLTks88+0+kL0KldcXR01D7Gk9vu3r2rvX/nzh3efvtt6tSpg42NDdbW1iQkJBAZGZljvxYWFlhbW2v7mT59Oi4uLgwdOjTX16x///68/vrrfPHFFyxYsIA6depo9+W1j/z46aef6NGjBxUrVixwH4qi5DjiYWhoyIABA7RTiI8ePeL3339nyJAh2bbv2rUr1apVo2bNmgwbNox169aRmJiYbdvQ0FAMDQ1p1aqVdlv58uWpV68eoaGh2m3m5ubUqlVLe9/Z2Vn7cylXrhwjR47E09OTXr168e233+pMX+mLJDgllJ+ttc4FOd+Jl2XjQhS5P776L7lJT8m58LgQWVhYULt2bWrXrk2LFi1Yvnw5jx49YtmyZUDGtFWzZs20SVDmLSwsjMGDB+v0k1P/mTKnQJYtW6bT1/nz5/nrr790jjMyMtL+P/OD+eltGs1/70sjRowgODiYb7/9lj///JPg4GDKly+fpeD5yT6e7ufgwYP88ssvGBoaYmhoSOfOnQGwt7dn1qxZ2mMSExM5deoUBgYGOrUk+ekjr65fv86BAwcYM2ZMvo99UmhoKDVq1Mhx/5AhQwgICODu3bts3boVMzMzunfvnm1bKysrTp8+zYYNG3B2dmbmzJm4ubkVeLUZZP9zUZ64iru/vz/Hjh2jTZs2bNy4kbp162b5nXnR5ER/JdCTNTdvxz9mmbUZPmzgmxM2TGqR8xJFIcRzeLrmJvM+vNDRU5VKhVqt5vHjxwA0bdqUjRs3UqFCBaytrZ+rb0dHRypWrMi1a9dyHB0oqKNHj+Lr60vPnj2BjMLo6OjofPXx66+/ap83ZBQuv/XWWwQFBemMLvzf//0farWa3bt307NnT1555RU6deqUrz7yyt/fnwoVKvDKK6/k+9hMFy9eZM+ePUyfnv3JXgHatGlDlSpV2LhxI7t376Z///5Zko4nGRoa0qVLF7p06cKsWbOwtbXl4MGD9O3bV6edi4sLaWlp/P3337Rp0wbIWD5/6dIlGjRokK/n0aRJE5o0acL06dNp3bo169ev56WXXspXH4VJEpwS5ukLcmrafYD5V954x2zH54IfpsYGeLl56TtMIUqX7AqKM/8t4iQnOTmZ27dvAxmrXX744QcSEhLo1asXkPHN/uuvv6ZPnz7MmTOHypUrc/36dbZs2cLUqVOpXLlyvh5v9uzZTJgwARsbG7p3705ycjInT54kJiaGyZMnF/h51KlThzVr1tC8eXPi4+P54IMPMDPL3xnZn05AMhMkFxcXbG1tAdi5cycrVqzg2LFjNG3alA8++IARI0Zw9uxZ7Ozs8tRHXmk0Gvz9/RkxYgSGhnn7OE1LS+P27dtoNBru379PYGAgn332Ge7u7nzwwQe5Hjt48GD8/PwICwvj0KFDObbbsWMH165do3379tjZ2bFr1y40Gg316tXL0rZOnTr06dOHt99+mx9//BErKyumTZtGpUqV6NOnT56eU3h4OEuXLqV3795UrFiRS5cucfnyZYYPH56n44uKTFGVMNldkLNa39k8utcN75hYEi8H6jtEIUofTXr2q6UyV1dp0ovsoffs2YOzszPOzs60atWKEydO8Msvv9ChQwcgozbi8OHDVK1alb59++Li4sLo0aNJSkoq0IjOmDFjWL58Of7+/ri6uuLh4cHKlStznT7Ji59++omYmBiaNm3KsGHDmDBhAhUqVHiuPp927949Ro8ezaeffkrTpk2BjITN0dERL6+8f/HLXAofGBiYa7sDBw4QGRnJW2+9lee+//nnH5ydnalatSodOnRg06ZNTJ8+naCgICwtLXM9dsiQIVy4cIFKlSrRtm3bHNvZ2tqyZcsWOnXqhIuLC35+fmzYsIGGDRtm297f359mzZrx6quv0rp1axRFYdeuXbmOED3J3Nycixcv8sYbb1C3bl3Gjh2Lt7c377zzTp6OLyoq5clJtDIiPj4eGxsb4uLinntI94U7ND/jnBtPvNEqisLQn/6mafgyGjlb4vnet3oMUIjiJSkpifDwcGrUqIGpqam+wxElwKFDh+jbty/Xrl3Dzs5O3+GUObn9zebn81umqEqabC7IqVKp+LB7fXr/0BfVDdh5M54GFUtY4iaEEMXErl27+OijjyS5KeFkiqqUaFzZllcbO6Mo8OWei/oORwghSqyvv/76mfUwoviTBKcU+cCzHoZqFX+E3ePPK/lbnSCEEEKUJpLglCLVylswpFVVAL7Yc5EyWF4lhBBCAJLglDrjO9fBwtiAs//GsevcbX2HI4QQQuiFJDiljL2lCWPbZ5zn4eu9F0lNlzMcCyGEKHskwSmFxrSrgb2lMRH3E/n5eOSzDxBCCCFKGUlwSiELE0OauZ3A2D6AbwMu8yg5TWe/X4gfvsG+eopOCCGEKHqS4JRS7mnnMXHYT7zpbpYHhWu3Z17qQR1xRI/RCSGEEEVLEpxS6t1y7njHxGLisJ+l5/yITkjWvY6Vnbu+QxRCCPEcqlevzjfffJPn9h06dGDSpEmF3ra4kgSntPKYyjvu7+EdE4u63D46//qSzkU6X+TVj4UQBTNy5EhUKpX2Vr58ebp3787Zs2f1HZre3b9/n8qVK6NSqYiNjX3hfRw+fJhevXpRsWJFVCoVW7duzdImISGB9957j8qVK2NmZkaDBg3w8/PLtd9PP/1U+/M2NDTE3t6e9u3b880335CcnKzT9sSJE4wdOzbPMW/ZsoW5c+cWetviShKcUkzV4UO6V3kLI0VBQxpGiiLJjRAF4Bvsi19I9h9MRV3T1r17d27dusWtW7cICAjA0NCQV1999bn6TElJyXZ7amrqc/X7Io0ePZrGjRvrrY9Hjx7h5uaGj49Pjm0mT57Mnj17WLt2LaGhoUyaNIn33nuPbdu25dp3w4YNuXXrFpGRkRw6dIj+/fszf/582rRpw8OHD7XtHBwcMDc3z3PM5cqVw8rKqtDbFleS4JRye2o7k6pSYaQopKpU+NnKNaqEyC+1So1PsE+WJEdb06YqurdSExMTnJyccHJywt3dnWnTphEVFcW9e/e0baKiohgwYAC2traUK1eOPn36EBERod0/cuRIXnvtNebNm0fFihWpV6+e9orZGzduxMPDA1NTU9atWwfA8uXLcXFxwdTUlPr16+Pr+18Cl3ncpk2baNeuHWZmZrRo0YKwsDBOnDhB8+bNsbS0pEePHjoxnjhxgq5du2Jvb4+NjQ0eHh6cPn1a57mqVCqWL1/O66+/jrm5OXXq1Mk2GViyZAmxsbFMmTJFZ7uiKHTp0gVPT0/tiU4fPHhA5cqVmTlzZp76yKsePXrw2Wef8frrr+fY5s8//2TEiBF06NCB6tWrM3bsWNzc3Dh+/HiufRsaGuLk5ETFihVxdXVl/Pjx/PHHH5w/f54vv/xS2+7JKarBgwczcOBAnX5SU1Oxt7dn9erVQNZpJ19fX+rUqYOpqSmOjo7069dPu+/ptjExMQwfPhw7OzvMzc3p0aMHly9f1u5fuXIltra27N27FxcXFywtLbXJeabAwEBatmyJhYUFtra2tG3bluvXr+f6WjwPSXBKsSdrbo6F38I7JjbbN2khRO683LzwdvfW+fvR/n25e+Pl5vVC4khISGDt2rXUrl2b8uXLAxkfYp6enlhZWREUFMTRo0e1Hy5PjtQEBARw6dIl9u/fz44dO7Tbp02bxsSJEwkNDcXT05N169Yxc+ZM5s2bR2hoKJ9//jkzZsxg1apVOrHMmjWLTz75hNOnT2NoaMjgwYOZOnUq3377LUFBQVy5ckUnqXj48CEjRozgyJEj/PXXX9SpU4eePXvqjEgAzJ49mwEDBnD27Fl69uzJkCFDePDggXb/hQsXmDNnDqtXr0at1v0IU6lUrFq1ihMnTvDdd98B4OXlRaVKlXRiya2PwtSmTRu2bdvGjRs3UBSFQ4cOERYWRrdu3fLdV/369enRowdbtmzJdv+QIUPYvn07CQkJ2m179+4lMTEx2yTs5MmTTJgwgTlz5nDp0iX27NlD+/btc3z8kSNHcvLkSbZt28axY8dQFIWePXvqjPolJiayYMEC1qxZw+HDh4mMjNQmkGlpabz22mt4eHhw9uxZjh07xtixY1GpVPl+LfJMKYPi4uIUQImLi9N3KEVmSfASpdHKRsqSxZWVlID5SrO5+5QFH72lLFlcOWN78BJ9hyjEC/H48WPlwoULyuPHj5+7r8y/qyarm7yQv6MRI0YoBgYGioWFhWJhYaEAirOzs3Lq1CltmzVr1ij16tVTNBqNdltycrJiZmam7N27V9uPo6OjkpycrG0THh6uAMo333yj85i1atVS1q9fr7Nt7ty5SuvWrXWOW758uXb/hg0bFEAJCAjQbps/f75Sr169HJ9benq6YmVlpWzfvl27DVA++eQT7f2EhAQFUHbv3q0oiqIkJSUpjRs3VtasWaMoiqIcOnRIAZSYmBidvjdt2qSYmpoq06ZNUywsLJSwsDDtvrz2kR+A8ttvv2XZnpSUpAwfPlwBFENDQ8XY2FhZtWpVrn3NmjVLcXNzy3bfhx9+qJiZmWnvV6tWTVm8eLGiKIqSmpqq2NvbK6tXr9buHzRokDJw4EDtfQ8PD2XixImKoijKr7/+qlhbWyvx8fHZPtaTbcPCwhRAOXr0qHZ/dHS0YmZmpmzatElRFEXx9/dXAOXKlSvaNj4+Poqjo6OiKIpy//59BVACAwNzff6KkvvfbH4+v2UEp5TShAdpC4qNOk1jSKtqfJ/eF+uU3njHxKIJD9J3iEKUOF5uXhipjUjVpGKkNnohIzcdO3YkODiY4OBgjh8/jqenJz169NAO7YeEhHDlyhWsrKywtLTE0tKScuXKkZSUxNWrV7X9uLq6YmxsnKX/5s2ba///6NEjrl69yujRo7V9WVpa8tlnn+n0BejUrjg6Omof48ltd+/e1d6/c+cOb7/9NnXq1MHGxgZra2sSEhKIjNQ9GemT/VpYWGBtba3tZ/r06bi4uDB06NBcX7P+/fvz+uuv88UXX7BgwQLq1Kmj3ZfXPgrD999/z19//cW2bds4deoUCxcuxNvbmwMHDhSoP0VRchzxMDQ0ZMCAAdppxkePHvH7778zZMiQbNt37dqVatWqUbNmTYYNG8a6detITEzMtm1oaCiGhoa0atVKu618+fLUq1eP0NBQ7TZzc3Nq1aqlve/s7Kz92ZUrV46RI0fi6elJr169+Pbbb3Wmr4qCJDil1DibRjoFxUNfqoaxgZqPHvSkV40xjLNppOcIhSh5/EL8tMlNqib1hUz3WlhYULt2bWrXrk2LFi1Yvnw5jx49YtmyZUDGtFWzZs20SVDmLSwsjMGDB+v0k1P/mTKnN5YtW6bT1/nz5/nrr790jjMyMtL+P/ND9+ltGs1/l4oZMWIEwcHBfPvtt/z5558EBwdTvnz5LAXPT/bxdD8HDx7kl19+wdDQEENDQzp37gyAvb09s2bN0h6TmJjIqVOnMDAw0KkTyU8fz+vx48d89NFHLFq0iF69etG4cWPee+89Bg4cyIIFCwrUZ2hoKDVq1Mhx/5AhQwgICODu3bts3boVMzMzunfvnm1bKysrTp8+zYYNG3B2dmbmzJm4ubkVeEUaZP+zU5646LO/vz/Hjh2jTZs2bNy4kbp162b5vSpMhkXWs9CvjtN17jpYmdDHvSK/nPqXzxN64dOnqZ4CE6JkerrmJvM+8MJqcCDjQ0OtVvP48WMAmjZtysaNG6lQoQLW1s+3iMDR0ZGKFSty7dq1HL/5F9TRo0fx9fWlZ8+eQEZhdHR0dL76+PXXX7XPGzIKl9966y2CgoJ0Rg7+7//+D7Vaze7du+nZsyevvPIKnTp1ylcfzys1NZXU1NQsNT4GBgY6iV9eXbx4kT179jB9+vQc27Rp04YqVaqwceNGdu/eTf/+/bMkHU8yNDSkS5cudOnShVmzZmFra8vBgwfp27evTjsXFxfS0tL4+++/adOmDZCxxP7SpUs0aNAgX8+jSZMmNGnShOnTp9O6dWvWr1/PSy+9lK8+8koSnDJkdLsa/HLqX3afv8W/MYlUtsv78kIhyrLsCooz/y3qJCc5OZnbt28DGStZfvjhBxISEujVqxeQ8a3966+/pk+fPsyZM4fKlStz/fp1tmzZwtSpU6lcuXK+Hm/27NlMmDABGxsbunfvTnJyMidPniQmJobJkycX+HnUqVOHNWvW0Lx5c+Lj4/nggw8wMzPLVx9PJyCZCZKLiwu2trYA7Ny5kxUrVnDs2DGaNm3KBx98wIgRIzh79ix2dnZ56iMvEhISuHLlivZ+eHg4wcHBlCtXjqpVq2JtbY2Hh4f2eVarVo0//viD1atXs2jRolz7TktL4/bt22g0Gu7fv09gYCCfffYZ7u7ufPDBB7keO3jwYPz8/AgLC+PQoUM5ttuxYwfXrl2jffv22NnZsWvXLjQaDfXq1cvStk6dOvTp04e3336bH3/8ESsrK6ZNm0alSpXo06fPM16p/16fpUuX0rt3bypWrMilS5e4fPkyw4cPz9PxBSFTVGVIfSdr2tYuj0aBVX9G6DscIUoMjaLJdrVU5uoqjZL/b+R5tWfPHpydnXF2dqZVq1acOHGCX375hQ4dOgAZdQ+HDx+matWq9O3bFxcXF0aPHk1SUlKBRnTGjBnD8uXL8ff3x9XVFQ8PD1auXJnr1Ehe/PTTT8TExNC0aVOGDRvGhAkTqFChwnP1+bR79+4xevRoPv30U5o2zRilnj17No6Ojnh55T0BzVwKHxgYmGObkydPakcjIOOcN02aNNFZrfXzzz/TokULhgwZQoMGDfjiiy+YN2/eM2P5559/cHZ2pmrVqnTo0IFNmzYxffp0goKCsLS0zPXYIUOGcOHCBSpVqkTbtm1zbGdra8uWLVvo1KkTLi4u+Pn5sWHDBho2bJhte39/f5o1a8arr75K69atURSFXbt25TpC9CRzc3MuXrzIG2+8Qd26dRk7dize3t688847eTq+IFTKkxNkZUR8fDw2NjbExcU995BuSXPw4h3eWnkSKxNDjn3UGUsTGcQTpVtSUhLh4eHUqFEDU1NTfYcjSoBDhw7Rt29frl27hp2dnb7DKXNy+5vNz+e3jOCUMR3qVqCmgwUPk9P45WSUvsMRQohiZ9euXXz00UeS3JRwkuCUMWq1ilFtM4aa/Y9GkK4pcwN4QgiRq6+//vqZtS6i+JMEpwx6o2klbMyMiHyQyIHQO/oORwghhCh0kuCUQebGhgxuVRWAn46E6zkaIYQQovBJglNGjWhdHUO1iuPhDzh/I07f4QhR5MrgegohSqTC+luVBKeMcrIx5ZXGzoCM4ojSLXMZa06noRdCFC+ZZ7c2MDB4rn5kjXAZNvrlGvwefJPtITeZ1qM+jtayhFaUPgYGBtja2mqviWNubl60VzAWQhSYRqPh3r17mJubY2j4fCmKJDhl2JHo9dSofYPwK21YfSyCDzzra/f5hfihUTSMcx+nxwiFKBxOTk4AOhd/FEIUT2q1mqpVqz73FxFJcMowdcQRoo3OYWz/mHV/G/FexzqYGRv8d1p6G1eQBEeUAiqVCmdnZypUqEBqaqq+wxFC5MLY2DjLNbwKQhKcMszLzh0igvBx2E/iPdhyph4PTXdnJDcxsXhVd9d3iEIUKgMDg+ee1xdClAyS4JRlHlPxAjjzPT4O+/ki9BCo0jKSmybjwWOqviMUQgghCkRWUZV1HlMZ5ToOI0UBVRpGiiLJjRBCiBJPEhyBv70dqSoVRopCqkqFn23ZugCpEEKI0qdYJDg+Pj5Ur14dU1NTWrVqxfHjx3Nt/80331CvXj3MzMyoUqUK77//PklJSS8o2tJFW1AcE8ux8Ft4x8TiE+yDX4ifvkMTQgghCkzvCc7GjRuZPHkys2bN4vTp07i5ueHp6Znjcs7169czbdo0Zs2aRWhoKD/99BMbN27ko48+esGRl3xPJjfvuL+Hp+VmHt3rJkmOEEKIEk/vCc6iRYt4++23GTVqFA0aNMDPzw9zc3NWrFiRbfs///yTtm3bMnjwYKpXr063bt0YNGjQM0d9RFaa8CBtQbGqw4f0b16F79P7YpfWB++YWDThQfoOUQghhCgQvSY4KSkpnDp1ii5dumi3qdVqunTpwrFjx7I9pk2bNpw6dUqb0Fy7do1du3bRs2fPHB8nOTmZ+Ph4nZuAcTaNdAqK32haGbUKPozuwYC6Yxln00jPEQohhBAFo9dl4tHR0aSnp+Po6Kiz3dHRkYsXL2Z7zODBg4mOjubll19GURTS0tLw8vLKdYpq/vz5zJ49u1BjLxU6Tte562RjikddBw5duscydX8+7Fg/hwOFEEKI4k3vU1T5FRgYyOeff46vry+nT59my5Yt7Ny5k7lz5+Z4zPTp04mLi9PeoqKiXmDEJcuA5lUA+PXUv6Sla/QcjRBCCFEweh3Bsbe3x8DAgDt37uhsv3PnjvbaMU+bMWMGw4YNY8yYMQC4urry6NEjxo4dy8cff5zt6Z1NTEwwMTEp/CdQCnV2caSchTF3HyZz+PI9OtV3fPZBQgghRDGj1xEcY2NjmjVrRkBAgHabRqMhICCA1q1bZ3tMYmJiliQm89TriqIUXbBlhLGhmtebVAJg4wkZ6RJCCFEy6X2KavLkySxbtoxVq1YRGhrKu+++y6NHjxg1ahQAw4cPZ/r0/2pFevXqxZIlS/j5558JDw9n//79zJgxg169esk1ZgpJ5jRVQOhdohOS9RyNEEIIkX96vxbVwIEDuXfvHjNnzuT27du4u7uzZ88ebeFxZGSkzojNJ598gkql4pNPPuHGjRs4ODjQq1cv5s2bp6+nUOrUc7LCrYotIVGxbD1zgzHtauo7JCGEECJfVEoZnNeJj4/HxsaGuLg4rK3lsgTZWff3dT7+7Tx1Kliy7/32qFQqfYckhBCijMvP57fep6hE8dTLrSKmRmou300gOCpW3+EIIYQQ+SIJjsiWtakRPRs5A7DppBQbCyGEKFkkwRE56v+/YuPtIbdITEnTczRCCCFE3kmCI3LUqkY5qpYzJyE5jd3nbus7HCGEECLPJMEROVKrVQxoXhmAjTJNJYQQogSRBEfk6o1mlVGp4Hj4A8KjH+k7HCGEECJPJMERuXK2MaN9HQcANp+SURwhhBAlgyQ4Ile+wb6Ur/wHAJufugCnX4gfvsG++gpNCCGEyJEkOCJX6ogj7L+1GhvnQO7EJxN0ORrISG58gn1QRxzRc4RCCCFEVnq/VIMo3rzs3CEiCB+7PRinprPppBOXkrfgE+yDd0wsXtXd9R2iEEIIkYUkOCJ3HlPxAjjzPT4O+wlKPciR4PSM5KbJePCYqu8IhRBCiCxkiko8m8dUvJqMx0hRUKnTMVIUSW6EEEIUa5LgiDzxs7UmVaXCSFFIVanws5WLlAohhCi+ZIpKPFNmQbF3TCyjYhLxtzPHJ9gHAC83Lz1HJ4QQQmQlIzgiV08mN15NxjOs4g4e3euGd0wsPsE++IX46TtEIYQQIgtJcESuNOFBOgXFfdwr8n16XyySeuEdE4smPEjfIQohhBBZyBSVyNU4m0bQxE1bUNyzkTOzfv+HGbGvcKq9M+XN5FdICCFE8SOfTiJ3Hafr3LWzMMajrgMBF++yynAAkzvW01NgQgghRM5kikrkW2/3igD8HnITRVH0HI0QQgiRlSQ4It+6uDhiZmTA9fuJhPwbp+9whBBCiCwkwRH5ZmFiSNcGjgBsC76p52iEEEKIrPKV4Bw4cECmJAQAff43TbX97E3SNfI7IYQQonjJV4Lj6enJvXv3iioWUYK0q+OArbkR9x4m89e1+/oORwghhNCRrwRHRm9EJmNDNT0aOQPwe/ANPUcjhBBC6JIaHFFgmdNUu8/fJjktXc/RCCGEEP/Jd4KzZMkSAgICiImJKYp4RAnSsno5nKxNeZiURuAlmboUQghRfOQ7wfnhhx/o2rUr9vb2VK9enb59+/LZZ5+xa9cubt++XRQximJKrVZpz4kjq6mEEEIUJ/k+k/E///xDWloaZ86c4fTp05w+fZply5YRFRWFSqXCycmJGzekJqOs6O1WkaWHr3Eg9A4Pk1KxMjXSd0hCCCFE/hIclUoFQMWKFalYsSKvvPKKdt/9+/c5deoUwcHBhRqgKN4aVrSmpoMF1+49Yv+FO/RtWlnfIQkhhBCFt4qqfPnydOvWjalTpz53UKLkUKlU9HGrBMDvMk0lhBCimMhXgrNnzx5sbGyKKhZRQmXW4Ry5Ek10QrKeoxFCCCHymeB069YNExOToopFlFA17C1wq2xDukZh17lb+g5HCCGEkPPgiMLR2z1jmkpWUwkhhCgOJMERz8032JdY452oVHDyegxRDxK1+/xC/PAN9tVjdEIIIcoiSXDEc1NHHGFl6I/UrH0MyLgAJ2QkNz7BPqgjjugzPCGEEGVQvs+DI8TTvOzcISIIH7vfMbZPZFuwFWq7A/gE++AdE4tXdXd9hyiEEKKMKXCCExAQQEBAAHfv3kWj0ejsW7FixXMHJkoQj6l4AZz5Hh+H/fyrOYhPcHpGctNkPHjIqQOEEEK8WAWaopo9ezbdunUjICCA6OhoYmJidG6iDPKYileT8RgpCip1OkaKIsmNEEIIvSnQCI6fnx8rV65k2LBhhR2PKMH8bK1JVakwUhRSVSr8bK0zRnaEEEKIF6xACU5KSgpt2rQp7FhECZZZUOwdE8tbMYmssDPHJ9gHAC83SXOEEEK8WAWaohozZgzr168v7FhECfVkcuPVZDzjau7l0b1ueMfE4hPsg1+In75DFEIIUcYUaAQnKSmJpUuXcuDAARo3boyRke4VpBctWlQowYmSQRMepFNQ/Ir1v7wf2pdZj43xZgea8CCQURwhhBAvUIESnLNnz+Lu7g7A+fPndfZlXnFclB3jbBpBEzdtQXFnF0eMDdTMjnuVk40rYm8uZyMQQgjxYhXok+fQoUOFHYcoyTpO17lrbWpE+7r2HAi9y2rjgUzuWFdPgQkhhCirCvzVOjY2lp9++onQ0FAAGjZsyFtvvSVXGxcAvNLYmQOhd9l17haTu0qCI4QQ4sUqUJHxyZMnqVWrFosXL+bBgwc8ePCARYsWUatWLU6fPl3YMYoSKHOa6srdBMLuPNR3OEIIIcqYAiU477//Pr179yYiIoItW7awZcsWwsPDefXVV5k0aVIhhyhKosxpKoCdZ2/pORohhBBlTYFHcD788EMMDf+b4TI0NGTq1KmcPHmy0IITJVtPV2cAdp2TBEcIIcSLVaAEx9ramsjIyCzbo6KisLKyeu6gROnQpUHGNNVlmaYSQgjxghUowRk4cCCjR49m48aNREVFERUVxc8//8yYMWMYNGhQYccoSihrUyPa1ZFpKiGEEC9egVZRLViwAJVKxfDhw0lLSwPAyMiId999ly+++KJQAxQl2yuNnQm4mLGa6n1ZTSWEEOIFUSmKohT04MTERK5evQpArVq1MDc3L7TAilJ8fDw2NjbExcVhbW2t73BKtfikVJrPPUBKuob977enjqNMYQohhCiY/Hx+F2iKKpO5uTmurq64urqWmORGvFg601RSbCyEEOIFyfMU1eTJk5k7dy4WFhZMnjw517ZyLSrxpJ6u/01TTeoi01RCCCGKXp4TnDNnzpCamqr9f07kWlTiaV0aOGJkoCLsTgKX7zyUaSohhBBFLs8JzpPXn5JrUYn8sDEzol0dBw5evMvOc7eYJAmOEEKIIlagGpzHjx+TmJiovX/9+nW++eYb9u3bV6AgfHx8qF69OqamprRq1Yrjx4/n2j42NhZvb2+cnZ0xMTGhbt267Nq1q0CPLV6MV+Skf0IIIV6gAiU4ffr0YfXq1UBGstGyZUsWLlxInz59WLJkSb762rhxI5MnT2bWrFmcPn0aNzc3PD09uXv3brbtU1JS6Nq1KxEREWzevJlLly6xbNkyKlWqVJCnIl6QJ6eprtyVk/4JIYQoWgVKcE6fPk27du0A2Lx5M05OTly/fp3Vq1fz3Xff5auvRYsW8fbbbzNq1CgaNGiAn58f5ubmrFixItv2K1as4MGDB2zdupW2bdtSvXp1PDw8cHNzK8hTES9I5jQVwM6zt/UcjRBCiNKuQAlOYmKi9pIM+/bto2/fvqjVal566SWuX7+e535SUlI4deoUXbp0+S8gtZouXbpw7NixbI/Ztm0brVu3xtvbG0dHRxo1asTnn39Oenp6jo+TnJxMfHy8zk28eHJtKiGEEC9KgRKc2rVrs3XrVqKioti7dy/dunUD4O7du/k6cV50dDTp6ek4OjrqbHd0dOT27ey/5V+7do3NmzeTnp7Orl27mDFjBgsXLuSzzz7L8XHmz5+PjY2N9lalSpU8xygKT9f/TVNduvNQpqmEEEIUqQIlODNnzmTKlClUr16dVq1a0bp1ayBjNKdJkyaFGuDTNBoNFSpUYOnSpTRr1oyBAwfy8ccf4+fnl+Mx06dPJy4uTnuLiooq0hhFVr7BvmwI+4mXa2dem+q/BNYvxA/fYF99hSaEEKIUKlCC069fPyIjIzl58iR79uzRbu/cuTOLFy/Ocz/29vYYGBhw584dne137tzByckp22OcnZ2pW7cuBgYG2m0uLi7cvn2blJSUbI8xMTHB2tpa5yZeLHXEEXyCfbB0zDjFQOY0lV+IHz7BPqgjjugzPCGEEKVMgS/V4OTkRJMmTVCr/+uiZcuW1K9fP899GBsb06xZMwICArTbNBoNAQEB2lGhp7Vt25YrV66g0Wi028LCwnB2dsbY2LgAz0S8CF527njHxBJ4by2mDgFcuvOQz//8Dp9gH7xjYvGyc9d3iEIIIUoRvZ8HZ/LkySxbtoxVq1YRGhrKu+++y6NHjxg1ahQAw4cPZ/r06dr27777Lg8ePGDixImEhYWxc+dOPv/8c7y9vQvyVMSL4jEVrybj8Y6Jxch+P5b1PmbD5WUZyU2T8eAxVd8RCiGEKEXyfCbjJ/Xp04e+ffvi5eVFbGwsrVq1wsjIiOjoaBYtWsS7776b574GDhzIvXv3mDlzJrdv38bd3Z09e/ZoC48jIyN1RomqVKnC3r17ef/992ncuDGVKlVi4sSJfPjhhwV5KuJF8piKF7A0fDWp6nSMFEWSGyGEEEVCpSiKkt+D7O3t+eOPP2jYsCHLly/n+++/58yZM/z666/MnDmT0NDQooi10OTncuuicGXW3BgpCqkqFUPqjmVa6/H6DksIIUQJkJ/Pb72eB0eULZnJjXdMLH9H3MY7JpZ1YUvxC8l5BZwQQghREHo9D44oO55MbryajOeXHqd5dK8b3jGx+AT7SJIjhBCiUD33eXBatmz5Qs+DI0omTXiQTkFxt4aO+Gj6apMcTXiQvkMUQghRihSoyLhfv368/PLL3Lp1C3d3d+32zp0707dv38KKTZQi42waQRM3bUGxvaUJLWuU4/trfdlczoHmNjZ6jlAIIURpkuci48mTJzN37lwsLCyYPHlyrm0XLVpUKMEVFSkyLh5W/RnBrG3/0LSqLVvGtdV3OEIIIYq5/Hx+53kE58yZM6Smpmr/nxOVSpXXLkUZ172RE7O2/cPpyFhuxyXhZGOq75CEEEKUEnlOcA4dOpTt/4UoKEdrU5pVs+PU9Rj2nL/FyLY19B2SEEKIUqLAl2oQojD0aJRxzbHd57O/erwQQghREAUqMgZISkri7Nmz3L17V+e6UAC9e/d+7sBE2dC9kROf7QzleMQD7j1MxsHKRN8hCSGEKAUKlODs2bOH4cOHEx0dnWWfSqUiPT39uQMTZUNlO3PcKtsQ8m8c+y7cZkiravoOSQghRClQoCmq8ePH079/f27duoVGo9G5SXIj8qt7I2cAdp+TaSohhBCFo0AJzp07d5g8ebL2gphCPI/MOpxj1+4T8yhFz9EIIYQoDQqU4PTr14/AwMBCDkWUVdXtLXBxtiZdo7D/wh19hyOEEKIUKFANzg8//ED//v0JCgrC1dUVIyMjnf0TJkwolOBE2dGzkROht+LZff4WA1pU0Xc4QgghSrgCJTgbNmxg3759mJqaEhgYqHNyP5VKJQmOyLcers4s3B/GkSvRxD1OxcbM6NkHCSGEEDko0BTVxx9/zOzZs4mLiyMiIoLw8HDt7dq1a4UdoygDalewpE4FS1LTFQ5elGkqIYQQz6dACU5KSgoDBw5ErZbzBIrC08M1YzXVLllNJYQQ4jkVKEMZMWIEGzduLOxYRBmXuZrqj7B7JCSn6TkaIYQQJVmBanDS09P56quv2Lt3L40bN85SZFzcryYuiqf6TlbUsLcgPPoRhy7epZdbRX2HJIQQooQqUIJz7tw5mjRpAsD58+d19snVxEVBqVQqujdyYkngVXafvyUJjhBCiAIrUIIjVxMXRaVnI2eWBF7l0MV7PE5Jx8zYQN8hCSGEKIEKVIPz+PFjEhMTtfevX7/ON998w759+wotMFE2NapkTWU7Mx6npvNH2F19hyOEEKKEKlCC06dPH1avXg1AbGwsLVu2ZOHChfTp04clS5YUaoCibFkSsoQqNY8CsPu87moqvxA/fIN99RGWEEKIEqZACc7p06dp164dAJs3b8bJyYnr16+zevVqvvvuu0INUJQt6ogjnE/chLF9AAGhd0lOy7h4q1+IHz7BPqgjjug5QiGEECVBgWpwEhMTsbKyAmDfvn307dsXtVrNSy+9xPXr1ws1QFG2eNm5Q0QQPg77SQaOXHbncspv+AT74B0Ti1d1dz1HKIQQoiQoUIJTu3Zttm7dyuuvv87evXt5//33Abh79y7W1taFGqAoYzym4gVw5nt8HPbz/vFDKKRlJDdNxoPHVH1HKIQQogQo0BTVzJkzmTJlCtWrV6dVq1a0bt0ayBjNyVw+LkSBeUzlleqjMVIUFNIwUhRJboQQQuRLgUZw+vXrx8svv8ytW7dwc3PTbu/cuTOvv/56oQUnyq4d1Z1IDVFhpCikqlT42VpnjOwIIYQQeVCgBAfAyckJJycnnW0tW7Z87oCE8Avxwzcko+ZmVEwi/nbm+AT7AODlJmmOEEKIZytwghMQEEBAQAB3795Fo9Ho7FuxYsVzBybKpszVUt4xsfSsNpp6t1vwQdzveLNbkhwhhBB5VqAanNmzZ9OtWzcCAgKIjo4mJiZG5yZEQWnCg7QFxZX6zMLe0pivH/ehe5W38I6JRRMepO8QhRBClAAFGsHx8/Nj5cqVDBs2rLDjEWXcOJtG0MQNPKZiAHg2dGLd35H48QZfNLEATbq+QxRCCFECFGgEJyUlhTZt2hR2LEJAx+k6q6V6ujoDsPef26S9PCVjvxBCCPEMBUpwxowZw/r16ws7FiGyaFWjHOUsjIlJTOWvaw/0HY4QQogSokBTVElJSSxdupQDBw7QuHFjjIyMdPYvWrSoUIITwtBAjWdDRzYcj2LX+Vu8XMde3yEJIYQoAQqU4Jw9exZ3d3cAzp8/r7NPpVI9d1BCPKmnqzMbjkex9/xt5vRuiKFBgQYehRBClCEFSnAOHTpU2HEIkaOXapbH1tyI+49SOB7xgDa1ZBRHCCFE7uSrsCj2jAzUeDbIOKnkrnO39ByNEEKIkqDAJ/oDuHDhApGRkaSkpOhs792793MFJcTTerg6sfFkFHvO32F270YYqGUqVAghRM4KlOBcu3aN119/nXPnzqFSqVAUBfiv/iY9Xc5VIgpX29r22JgZEZ2QzImIB7xUs7y+QxJCCFGMFWiKauLEidSoUYO7d+9ibm7OP//8w+HDh2nevDmBgYGFHKIQGdNUXRs4AjJNJYQQ4tkKlOAcO3aMOXPmYG9vj1qtRq1W8/LLLzN//nwmTJhQ2DEKAcAr/zvp3+7zt9FoFD1HI4QQojgrUIKTnp6OlZUVAPb29ty8eROAatWqcenSpcKLTogntK1tj5WpIfceJnPyulzzTAghRM4KlOA0atSIkJAQAFq1asVXX33F0aNHmTNnDjVr1izUAIXIZGwo01RCCCHypkAJzieffKItLJ4zZw7h4eG0a9eOXbt28d133xVqgEI86b9pqlsyTSWEECJH+U5wUlNT+eqrr2jUqBEAtWvX5uLFi0RHR3P37l06depU6EEKkenlOvZYmRhyJz6ZM1EyTSWEECJ7+U5wjIyMOHv2bJbt5cqVk8s0iCJnYmhAl/9NU+08e1vP0QghhCiuCjRFNXToUH766afCjkWIPOnRKOOsxjJNJYQQIicFOtFfWloaK1as4MCBAzRr1gwLCwud/XI1cVGU2td1wMLYgFtxSQT/G0vTqnb6DkkIIUQxU6AE5/z58zRt2hSAsLAwnX0yTSWKmqmRAZ1dHNkWcpPd525JgiOEECILuZq4KHF8g30xsk8EXNh17jYf9XTRJtZ+IX5oFA3j3MfpN0ghhBB6VaAanMjISO0y8ez2CVGU1BFH2HdzFRaOB7kR+5iz/8YBGcmNT7AP6ogjeo5QCCGEvhVoBKdGjRrcunWLChUq6Gy/f/8+NWrUkIttiiLlZecOEUH4lNuHcbrCrnM1OfbgZ3yCffCOicWruru+QxRCCKFnBUpwFEXJttYmISEBU1PT5w5KiFx5TMUL4Mz3+DjsZ/3dg3AvPSO5aTIePKbqO0IhhBB6lq8EZ/LkyUBGIfGMGTMwNzfX7ktPT+fvv//G3d29UAMUIlseUxmdrmFp5FpSVekYKYokN0IIIbTyleCcOXMGyBjBOXfuHMbGxtp9xsbGuLm5MWXKlMKNUIgc/FTeltQoFUaKQqpKhZ+tdcbIjhBCiDIvXwlO5uqpUaNG8e2332JtbV1ogfj4+PD1119z+/Zt3Nzc+P7772nZsuUzj/v5558ZNGgQffr0YevWrYUWjyjeMguKvWNiGRWTiL+dOT7BPgB4uUmaI4QQZV2BVlH5+/sXanKzceNGJk+ezKxZszh9+jRubm54enpy9+7dXI+LiIhgypQptGvXrtBiEcXfk8nNGDdvWqjW8+heN7xjYvEJ9sEvxE/fIQohhNCzAiU4hW3RokW8/fbbjBo1igYNGuDn54e5uTkrVqzI8Zj09HSGDBnC7NmzqVmz5guMVuibJjxIW1Bs2HEa3Rs58X16X2qbDsA7JhZNeJC+QxRCCKFnek9wUlJSOHXqFF26dNFuU6vVdOnShWPHjuV43Jw5c6hQoQKjR49+EWGKYmScTSOdguJebhUBmHqvO2+7vcc4m0b6DE8IIUQxUKBl4oUpOjqa9PR0HB0ddbY7Ojpy8eLFbI85cuQIP/30E8HBwXl6jOTkZJKTk7X34+PjCxyvKAY6Tte527pmecpbGHP/UQpHKr2FR10HPQUmhBCiuMj3CE5qaiqdO3fm8uXLRRHPMz18+JBhw4axbNky7O3t83TM/PnzsbGx0d6qVKlSxFGKF8nQQE1PV2cAtofc1HM0QgghioN8JzhGRkacPXu20AKwt7fHwMCAO3fu6Gy/c+cOTk5OWdpfvXqViIgIevXqhaGhIYaGhqxevZpt27ZhaGjI1atXsxwzffp04uLitLeoqKhCi18UD5nTVHvP3yY5Tc6kLYQQZV2BanCGDh3KTz/9VCgBGBsb06xZMwICArTbNBoNAQEBtG7dOkv7+vXrc+7cOYKDg7W33r1707FjR4KDg7MdnTExMcHa2lrnJkqX5tXscLYx5WFyGoGX7uk7HCGEEHpWoBqctLQ0VqxYwYEDB2jWrBkWFhY6+xctWpSv/iZPnsyIESNo3rw5LVu25JtvvuHRo0eMGjUKgOHDh1OpUiXmz5+PqakpjRrpFpHa2toCZNkuyg61WsWrjZ1ZFhTO9pCbeDbMOvonhBCi7ChQgnP+/HmaNm0KQFhYmM6+7K5R9SwDBw7k3r17zJw5k9u3b+Pu7s6ePXu0hceRkZGo1Xpf8CWKuV5uFVkWFE5A6F0SU9IwN9Z7Db0QQgg9USmKoug7iBctPj4eGxsb4uLiZLqqFFEUhQ4LArl+P5HvBjWh9//qcoQQQpQO+fn8LvCwSFBQEEOHDqVNmzbcuHEDgDVr1nDkyJGCdinEc1GpVPRqnJHUyGoqIYQo2wqU4Pz66694enpiZmbG6dOnteeYiYuL4/PPPy/UAIXIj8zVVH9cukfc41Q9RyOEEEJfCpTgfPbZZ/j5+bFs2TKMjIy029u2bcvp06cLLTgh8quekxV1HS1JSdew75/b+g5HCCGEnhQowbl06RLt27fPst3GxobY2NjnjUmI56Kdpjp7S8+RCCGE0JcCJThOTk5cuXIly/YjR47IhS+F3r36v2mqo1eiuZ+Q/IzWQgghSqMCJThvv/02EydO5O+//0alUnHz5k3WrVvHlClTePfddws7RiHypYa9Ba6VbEjXKOw+L9NUQghRFhXoRCHTpk1Do9HQuXNnEhMTad++PSYmJkyZMoXx48cXdoxC5Ftvt4qcuxHHtpCbDH2pmr7DEUII8YI913lwUlJSuHLlCgkJCTRo0ABLS8vCjK3IyHlwSr+bsY9p88VBVCr4c1onnG3M9B2SEEKI5/RCzoMDGdeRatCgAS1btiwxyY0oGyramtGiuh2KAjul2FgIIcqcAiU4w4cPZ8WKFdleuVuI4iLznDiymkoIIcqeAiU4xsbGfPHFF9SpU4cqVaowdOhQli9fzuXLlws7PiEKxDfYl2iDnahVEBIVS+T9RO0+vxA/fIN99RidEEKIolagBGf58uWEhYURFRXFV199haWlJQsXLqR+/fpUrly5sGMUIt/UEUfwD/WjVp1jAGw/m3HpBr8QP3yCfVBHyCVFhBCiNHuuyy3b2dlRvnx57OzssLW1xdDQEAcHh8KKTYgC87Jzh4ggfOx+x9g+ke0hVhiUO4BPsA/eMbF4VXfXd4hCCCGKUIFWUX300UcEBgZy5swZXFxc8PDwoEOHDrRv3x47O7uiiLNQySqqMuKPr/A78z0+drYoGgNU6vSM5KbJePCYqu/ohBBC5FN+Pr8LlOCo1WocHBx4//336du3L3Xr1i1wsPogCU4Z8sdXNA1fTapKhZGicLrGcEluhBCihCryZeJnzpzh448/5vjx47Rt25ZKlSoxePBgli5dSlhYWIGCFqIo+Nlaa5ObVJUKX2srfYckhBDiBXiuE/1lCgkJYfHixaxbtw6NRkN6enphxFZkZASnbMgsKPaOieWt2ERW2JrjY2eLt7s3Xm5e+g5PCCFEPuXn87tARcaKonDmzBkCAwMJDAzkyJEjxMfH07hxYzw8PAoUtBCF6cnkxqvJeD6NewWrvxfhzT58gn0AJMkRQohSrEAJTrly5UhISMDNzQ0PDw/efvtt2rVrh62tbSGHJ0TBaMKDdAqK3/g3jl5/9uX9+yq82YsmPAgkwRFCiFKrQAnO2rVradeunUzviGJrnE0jaOKmLShuVMmaOhUsWXz3dbY7VMDVRmpxhBCiNCtwDU5sbCw//fQToaGhADRo0IDRo0djY2NTqAEWBanBKZv8/rjKF7sv0qK6Hb94tdF3OEIIIfKpyFdRnTx5klq1arF48WIePHjAgwcPWLx4MbVq1eL06dMFClqIovZ6k0qoVXAiIobr9x/pOxwhhBBFqEAJzvvvv0/v3r2JiIhgy5YtbNmyhfDwcF599VUmTZpUyCEKUTgcrU1pW9segC2nb+g5GiGEEEWpwCM4H374IYaG/5XwGBoaMnXqVE6ePFlowQlR2Po1y7hW2pYz/6LRPPcZEoQQQhRTBUpwrK2tiYyMzLI9KioKKysp3hTFV7cGTliaGBL14DEnIh7oOxwhhBBFpEAJzsCBAxk9ejQbN24kKiqKqKgofv75Z8aMGcOgQYMKO0YhCo2ZsQGvuDoD8Ovpf/UcjRBCiKJSoGXiCxYsQKVSMXz4cNLS0gAwMjLi3Xff5YsvvijUAIUobH2bVmLjySh2nbvN7N6NMDM20HdIQgghCtlzXaohMTGRq1evAlCrVi3Mzc0LLbCiJMvEyzaNRsFjwSGiHjzm2zfd6eNeSd8hCSGEyIMiWyau0Wj48ssvadu2LS1atGDOnDnUrl0bV1fXEpPcCKFWq+jbJKPYePMpmaYSQojSKF8Jzrx58/joo4+wtLSkUqVKfPvtt3h7exdVbEIUmTeaZiQ4R69EczsuSc/RCCGEKGz5SnBWr16Nr68ve/fuZevWrWzfvl17BXEhSpKq5c1pUd0OjQJbg+WcOEIIUdrkK8GJjIykZ8+e2vtdunRBpVJx8+bNQg9MiKKWOYrz66l/eY5SNCGEEMVQvhKctLQ0TE1NdbYZGRmRmppaqEEJ8SL0bOyMiaGay3cTOH8jXt/hCCGEKET5WiauKAojR47ExMREuy0pKQkvLy8sLCy027Zs2VJ4EQpRRKxNjfBs6MS2kJv8evpfXCsX/wvFCiGEyJt8JTgjRozIsm3o0KGFFowQL1rfppXYFnKT34Nv8FFPF4wNC3TuSyGEEMVMvhIcf3//oopDiBfON9gXFWoqWNXm7sNkDl26i2dDJwD8QvzQKBrGuY/Tc5RCCCEKQr6uijJLHXEE3xAfatc9BsCW/126wS/ED59gH9QRR/QZnhBCiOdQoEs1CFEaeNm5Q0QQPmzC2D6Ggxe7sPiEDysu+OEdE4tXdXd9hyiEEKKAJMERZZfHVLwAznyPj8N+lPIHWXEhPSO5aTIePKbqO0IhhBAFJFNUomzzmIpXk/EYKQoqdTpGisJY9/ckuRFCiBJOEhxR5vnZWpOqUmGkKKSqVHyiMdJ3SEIIIZ6TJDiiTMssKPaOieX49dt4x8SyPcofvxA/fYcmhBDiOUiCI8qsJ5MbrybjueYVzqN73fCOicUn2EeSHCGEKMEkwRFlliY8SKeguK6jFX9XGaNNcjThQfoOUQghRAHJKipRZo2zaQRN3HQKioe2rsaEiL5Mf2jIO9bV9BidEEKI5yEJjii7Ok7Psql7QyfsLY2Zn9CbahWa0l0PYQkhhHh+MkUlxBOMDdUMaF4FgLV/Reo5GiGEEAUlCY4QTxnUsioqFRy5Ek149CN9hyOEEKIAJMER4ilVypnTsV4FANb9dV3P0QghhCgISXCEyMbQl6oC8Mupf0lKTddzNEIIIfJLEhwhsuFRtwKVbM2Ie5zKjrO39B2OEEKIfJIER4hsGKhVDG6VMYqzVqaphBCixJEER4gcDGxRBSMDFcFRsZy/EafvcIQQQuSDJDhC5MDe0oQejZwBGcURQoiSRhIcIXIx9KWMsxn/HnyT+KRUPUcjhBAiryTBESIXLarbUdfRksep6Ww59a++wxFCCJFHxSbB8fHxoXr16piamtKqVSuOHz+eY9tly5bRrl077OzssLOzo0uXLrm2F6KgVCqVdhRn7d+RKIqi54iEEELkRbFIcDZu3MjkyZOZNWsWp0+fxs3NDU9PT+7evZtt+8DAQAYNGsShQ4c4duwYVapUoVu3bty4ceMFRy5KO99gX2KNd2FubMCVuwn8Hf5Au88vxA/fYF89RieEECInxSLBWbRoEW+//TajRo2iQYMG+Pn5YW5uzooVK7Jtv27dOsaNG4e7uzv169dn+fLlaDQaAgICXnDkorRTRxxh2fkluLj8DcCa/xUb+4X44RPsgzriiD7DE0IIkQO9JzgpKSmcOnWKLl26aLep1Wq6dOnCsWPH8tRHYmIiqamplCtXrqjCFGWUl5073jGxhKVsxtg+gL3nb7Pw+A/4BPvgHROLl527vkMUQgiRDUN9BxAdHU16ejqOjo462x0dHbl48WKe+vjwww+pWLGiTpL0pOTkZJKTk7X34+PjCx6wKFs8puIFcOZ7fBz2o5Q/yMrQ9Izkpsl48Jiq7wiFEEJkQ+8jOM/riy++4Oeff+a3337D1NQ02zbz58/HxsZGe6tSpcoLjlKUaB5T8WoyHiNFQaVOx0hReKuxtyQ3QghRjOk9wbG3t8fAwIA7d+7obL9z5w5OTk65HrtgwQK++OIL9u3bR+PGjXNsN336dOLi4rS3qKioQoldlB1+ttakqlQYKQqpKhXvJchqKiGEKM70nuAYGxvTrFkznQLhzILh1q1b53jcV199xdy5c9mzZw/NmzfP9TFMTEywtrbWuQmRV5kFxd4xsZy4fhvvmFiOxazH58wSfYcmhBAiB3pPcAAmT57MsmXLWLVqFaGhobz77rs8evSIUaNGATB8+HCmT5+ubf/ll18yY8YMVqxYQfXq1bl9+za3b98mISFBX09BlFJPJjdeTcaT9vEdiO+Jd0wsfmd98Qvx03eIQgghsqH3ImOAgQMHcu/ePWbOnMnt27dxd3dnz5492sLjyMhI1Or/crElS5aQkpJCv379dPqZNWsWn3766YsMXZRymvAgnYJiE0DdYSoP96bhzT7Sww+Dm5e+wxRCCPEUlVIGT80aHx+PjY0NcXFxMl0lcndoPqgNdAqKE5LTaPvFQYanbKR3Y0fqDPxcjwEKIUTZkZ/P72IxgiNEsdVxepZNliaGjGhdje8O9iXwrg3bFAWVSqWH4IQQQuSkWNTgCFHSjGxbAzMjA87diOPIlWh9hyOEEOIpkuAIUQDlLIx5s2XG+ZR8D13VczRCCCGeJgmOEAX0druaGBmoOHbtPmciY/QdjhBCiCdIgiNEAVW0NeM190oA+AbKKI4QQhQnkuAI8Ry8OtRCpYL9F+4QduehvsMRQgjxP5LgCPEcajlY0r1hxiVF/GQURwghig1JcIR4TuM61Abg95CbRD1I1HM0QgghQBIcIZ6ba2Ub2tWxJ12jsCzomr7DEUIIgSQ4QhSKyjWCMLYPYOOJKO49TNbZ5xfih2+wr54iE0KIskkSHCEKQbX405g47Eex3Y//0XDt9syLdaojjugxOiGEKHskwRGiEHjZueMdE4uJw37WhC4nPilV90rkdu76DlEIIcoUuRaVEIXBYypjFQWCf8Cn3F7abQxAQ5rOlciFEEK8ODKCI0QhUXf4kPZOwzFSFDSkYaQoktwIIYSeSIIjRCH6o34VUlUqjBSFVJUKP1trfYckhBBlkkxRCVFI/EL88A3JqLkZFZOIv505PsE+AHi5eek5OiGEKFtkBEeIQqBTUNxkPBNq7+XRvW54x8TiE+yDX4ifvkMUQogyRRIcIQqBJjxIp6D4o54u+PGGNsnRhAfpO0QhhChTZIpKiEIwzqYRNHHTFhRXK2/BqLY1+P5wX2YlGjPcuoqeIxRCiLJFEhwhCkPH6Vk2vdepNptP/cvs+FdRmzZkhB7CEiWPb7AvapU627otvxA/NIqGce7j9BCZECWLTFEJUUSsTY2Y3LUuAIsPhBGXmKrniIS++Qb75liPlXlJD7VKjU+wDz5nlhD1IJErdxOIvJ/I13//gE+wD6np8N2pH1gSnHs/QpR1KkVRFH0H8aLFx8djY2NDXFwc1tayjFcUnbR0DT2/CyLsTgJvta3BzF4N9B2S0CNtMbq7N8NdxvBvzGNuxDxm05UVHLm/jhoGfTF66El42lZSrXeTfK8rKdGdMbYPwMRhf5b7Kfe6oorriq2ZMbUqWJBqtY/QpF/oXfUtbM0NsDI1lpEgUark5/NbpqiEKEKGBmo+eaUBw1ccZ/WxCIa+VJWaDpb6DkvoQVJqOo0t++FuGY1PsA+L94eR/FTycja6JRADeGCcnIaJw35M7A+CKp3U6IzkBtD+a+Kwn2TgdnRnHhjvxMQoo591oXW1/f58PIqXyg2krqMVL9ex5+DtddokS4jSTBIcIYpY+7oOdKpfgYMX7/L5rlCWj2ih75BEIcuubiZdo3DhZjzfnPThekwCUVfbkZymAZpgbP8AE4f9GP8veanMa7SsM5BKLc2oZGtOJTszKtl2wXNrIKmaVIzURpz7v0VoNAqpGg2p6QqpaV1Z8U9NVvIjFhUCSVNScTUfgJl9dy5rEoi6n5EE3XfYxpbwx6Sc+C+Zqmvcj2rqPsQ9TsXGzEhPr5oQRUsSHCFegI96unA47B4HQu9y9Eo0bWvb6zskUYgy62Y0GoUahq+x/exN/rx6n0TzPRmjLPe7kpKmwcHKhLa1ytO29vvMD/0vedk9bG6WPv1C/LT7UzUZF2/1cvPCRG2AiSFgAv/X8j3WXVqhbbe+/wzt8Ump6Vy7146l55wJYDWm9odQVGkk3+vKqejmnAo5janDAZxtzHmj5kg86lagYUVr1GqV9vFlGkuUZFJkLMQLULuCJUNfqgbA3B0XSNeUudK3Us2z0jBcLQaw5KwvE/d+za5zt7XJTWVeZ3rr8ex/vz3HP+rMN2824b7RzizJy5OerNU5Pew03u7e2Z4wMrskKJOpkQENKlrzjecHGKmNUFRpGKmNWNZ7Om+1rUEtBws0iopoo218d3oJvX44QsvPD/Dptn+YE/QtPsE+qFXyESFKLhnBEeIFsUudSyeneA7e9mbjiSgGt6qq3ef3+1A0mnTGvb5BjxGK7OS0bDspNZ1pBxdy9t9Yrl1uCzTF2D4GE4f9mDkcQkMa7zYex7gm7+oc92Ty4uXmpb0P6NzP3J+5Hci13dP9PPl4TyZBoY9/ZWYvL6ABUQ9aMv9YBYJYh5GBiug7nVgf9hMmDvuxfvwqxg89efAohXIWxkXx0gpRpCTBEeIFMTE05IRdFO3Tv2fhvv/jVTdnrE2N8Pt9KD6xIXjbuuk7RJGNzOknyEgcLt95yIbjUWy+5o9iu4fkmK6oVOBR14E3W0zlozP/TT1lSW62DsYn7lzOyUv4YTSKgretW5aEysvNCyKOoLn2B37hh5/Zj9dr65+ZBFUpZ47vK9PwC7HFJ9gH2/KHSFdSSYvuxo17LzMn4gLzd4dSp96fuFayY16H9zE00B3VkaksUVxJgiPEC+LVZy3K1iH4cpYm0QvxOVgZu9R52uTGq89afYcosvFk4vDrqX+5HNZaW6xrHN+Dt9zGMKBFFSrZmuVYN5NJgyrjkh6x8bqPERsPMbFobFSMK+cOh+aB7VfaM2MD8MdXeJ3ZDh0/xjcm5Jn95HUkKPPfpWeXamMPenc+20JusulkFOdvxHPlbiJRyu/s87nDgDqjGNyyKtXKW+g8hhDFjSQ4QrxA7762jpj1A9hgH8r5u/1JVakkuSnmTkfGcPRkE5JjunLb4Xcs6+1ApU6nZ+WRfN5xMgZqFRyaj1/8PxnJ6tOjJRFH8LJuCB2nM+61dfDHVxkJDGQkMP+779XxY92EJps2/K/NOHhmP76/DXrmSBD/2/d0Yvbz5RV4tfZieOvqhN6K55eTNfj1mgFptrvx/yeNpYc708DlbyKV33QSKCGKEznRn5zoT7xgiqLQbJUrqSoVRopC4JtnsDaVpbrFTXBULN8cCCPw0j0ADNQqLOt9jIaMYt3Tw05r2z45zfhksprTdm1yYmAM6SnaxEXH87Z5KinKcsz/tuc0jfV04pKSpmH6oUXsu7kKRWOASp1O8r2uNDJ/g7fb1aRbQ6eMZE+IIpSfz28pkRfiBftx2zBtcpOqUvHp6n76DqnMyu7SCWf/jeWtlScYsHEOf95fj4FaRf9mlRnb66o2uXl6xZKmWpuMJObM9owEArRTSt62bmiqtdF9YI+p/yUlBsZZE5fCaOMxNSOJOTRPJyad5Gbr4GynsbSrtrYO1nZnbKhmYdcpGKmNUKnTUWMIMV05HRnLu+tO89KSqbyzfT6PktOyhCmXjxD6IFNUQrxAT36jb+H+Pd/9Opj95a8xd20/ZgzdrO/wypwnC4jbOQxi8f4wDoTe1dbY1DJ8g5UuJ/g5bT0+YTlPP43rOB3cx2XUzRyaB4e/1o6oeGWXmPzx1X9JSXpKxv3sRmeet03m/5+KKXN7XmqCnvT0VNY7fa5CbFfW/HWduMfp/PlgPa2XPGBo/dGMbFOdCtamUqcj9EYSHCFekOymK5q7fYcSPJ5N9pew2jyISf1kmfiL5OXmRWJKOj7BPiy6F0ZKdGdM7AMwdtjP4Lpjmd56vO7P7cli3Ygj+MSGZNzP7NBj6n+JRE6jLk9PHT1dS1OYbZ4RU35qgnKeyjLk2LS32Xy6Ht+fMuKx3S6Wn09n+ZGuuLueIDTpF6nTEXohCY4QL4hGk56lFmNcx9oMujyLJtGzuZQQR2q6BiMDmTl+EVLSNKw+FoF/QG2SLbti4rAfU4dDKKTpfCBrqrXBGzKmnzJXNmWuaGrSS3f66VkjKtnVxTw5ypKpMNo8mQg9xygP5G15u9dr6xnc8gs+DHBgL6tQyh8kNCmdtOhuRF5rS1SVRKqUM8/Tz0aIwiBFxlJkLPTsRuxjenxzmPikNMZ1qMXU7vX1HVKpF3jpLnN2XKB3zCrSFTWHnEZyw2YiaUrqfwXEf3wFmnToOD3joGcV/eY0ovJku0PzQW2Q88iOJj3j/4XRpuP0vMWUaa7Df4nQjHs6u3y3DkEdcRivJuOzPGe/M9+jqd4+YzTof5quaUqqJhWVYkj8xc8AMFSrcG30N61q2DOt9fgsYcv5dEReyNXEhShBKtma8cUbjRm37jRL/rjKy3XsaVNLrlX1vLI7A3F49CPm7rjAkegNgAYTYyPe1WzEvEoSvnFPnL/m96Hac85o5Tb9lJeRGY+p/yVL2ckuWXmeNnmNKbNtLqM8+Z3KerJOZ1j3MCKutiHocjT/3HzIldQt/HXtPgu7TaGWg6X2GKnTEYVNEhwhioGers682aIKP5+IYvLGEHZPbIednB7/uTxZQDyk3mh+OHiFFUfDUdkdwMRhP43MBzCk19f47U3E94naqMyaG5r00i0Qzi0J0KRnPyry5P4XLa8x5aeWB3KeysrlXEDe9qf4snxNPop5kz/vwVWHX+m5Kh7PSsNwqhbEhsvLpE5HFDqZopIpKlFMJKakMenHXiSlKJg6fMaPw5qhUv23ikWuV5V/mR+whnE9iLnpoV0dNajO23zUZsJ/H8CZS7z/l7z4Neml80Gdr6mekiSP58rRkcNUVl7PBRQSFcu0g4v4l9+059OpYdCXxZ4faEd0hMiJnAdHiBLI3NiQeo42nLG/QdK9T1h/PFK7L/NDQq020GOEJcu1ewkEnXAn+V5X0mx2Y1X/E0wc9uPt7s1HbSYAoFE0GUlMn7U655Px6rMWb3dvNIom56mep88xUxLlNsrT8eOsI0/ZjWJldpXHcwG5VbFl94g5GKoyzqejaAw4e74lXRf9waSfz3DtXkJRPmNRhsgIjozgiGJm5qo3+I0wmj2ozMeDNxHw17tyvap8SEpNxzfwKkaHvyBFo2Kpqh+mdT7SPQNxfgqI81IYnFttTWmR11GsPJyBOXPkLLNOpzKvExraCgATh/24ONmyqNsUaj41oiOFyEKKjIUowT4dtpnYH/twqFw4A3e3lutVZSO7AmKAP8Lu8cH+BcQ+TuYdjYr/M9qMQaNEfnqUlnMB8bNqUJ63MLg0yE/Bcm7F2LnU6YxvGkadmw5MSTPiatqv9FgVzytVhzO+Ux1q2MuFPUX+SYIjRDGjVquYMfQXjvzaTHtJhyGe/voOq1h5soDYy82LO/FJzNlxgf0312LisB9LTQ9c3vwMv6tJ/BR3NucC4vx8cJdl+SmizqUYW5vc5HDSRO8abvzazIcPDlhww2ErOyJh68LOuDY6wbW0X6UQWeSLJDhCFEO/Hhytc72qaT/15csxv2FpIn+yoHuSuTORMRw92ZQUq72YOOynodkAlr85nbUXl+OTmdyc2Q5nHfBKT4H/FRAT4odXcVz9VBzldRTrGaNheTlpomtlG/aMnMvsoPJs5ieMyx/kWlrGhT3Pnm/BPw5xNKxoU6RPV5QOUoMjNTiimHly1cnLzX1Y+MubnLT7F49H1fly9G9YSJIDh+ZzIz6ZAbeSiTfboV2N07/mGGZqkkGTjq+dzX/TWE+t/JFajiKQnxVZeax50p4wEEPiQz9jvMEWDFQaztUeR8Uah6lka5HtiI78fEsvWUUlRAn19JLaRpVseL/fBprHVOYPiwg+/Ol1ElOyXq25LLn3MJndF+5R6cxi+kbdBSUjuTFSG2UkN4fmgdqAce7j/lvi/dSUiZebl3z4Fbb8rMjK7SroagM4NA+/34dqTxiokMaEZmv4P6PNaFATcPEuG0/cwCfYh08CF/Pk9/TMWh21Sj7eyjoZwZERHFGM+P42CLXaIEtBcXBULN9uHkS6kk6q5RxWjGyBmXHZWjKelq5h7V/XWbg/jIdJaYw32IKFwz587Gy1BcTeMbG6lxMoreevKemesdLq6UT/yfvd2vixJPAqv525gbpcxkkby6f05uO2E7iS8hu+IT5Sq1OKySoqIUqonE7i517Flvf6rmf4T3/TjJlM/cmEr8dsxdRIN8kp6ScDzGl11MmIB0zY8zXRCY9JSepKo0rWxLu5sjL8eEZS8zAJPytTfOxswdY64+reUkBcPD2jTscvxO+/5Ca72qmba/m6vxefWPzOiUgV46O7cd9+G+//vROVOp225YbwVnRsxlRXWVi+L3IkY3hClBDNqtmx6q2WqFUGBJpH8MHy10hK/W/YvzScDDBzdZRfiB+QMR31f5tCGLz5Mx6a7cDU0IjPXmvEK+3+YUv4Txnf1B8mQXoKXg+T8Hb3/u/4/J7EThS9PJw0MU8nXwRsLEzpcns5J1zLo8ZQe9LAOn9dxjhoPoevPODLv77V/i49zS/ED99g3xf1zIUeyAiOECVI8+rlGPfaOny3DiGwXARTl7/O12//hv/OEaXiZIBeD2LA1g2fYB9ORjzg7zPNSLbMWB3VPaUWs12sMX+pGr7B//sQjI3Xqa/xio2HzA9BOX9N8ZOHVWva2qjsaqeyuTbW2jPfo8mcpiQVC4d9LLzXj++vdsAkPgBj+/3ciktidvtJ2kPlnDplgyQ4QpQwLWuUI733Wn7cNpRD5cJpvdat1JwMMB01Xme2c9KuLX+zAaXaJkzU6Qw3bcAH4Xugbsbp/se5j8txquPpq1uLYqSQlptn8rO1xsfONss0ZY9GDWh9rTytImM4TSW28BOBl+4yqfk4bijb+fGcb8bfy4OYInqiojiQBEeIEqh1rfIovdbw3pEO2vPlNHBZrO+wcpVTfQ3AkmA/Lt6OI+RcS3ql9mN5zGbcbKqhUadjhJoPQvdkv8xY6mtKnzz+bJ8chfHaNuN/05RAx4xpSu9WFvStWINJJ7cwQtWG0+W3MyN4Fyp1Ot1TauF1ZjtKB1eW5PJ7KcvN8ye3v3F9vJaS4AhRQp39Z5LOyQCXbx/G9qpf8skrDbAxN9J3eFk8ffZhAEVRmH5wETv/XUnyva6k3E9kvcWbxFWNRUPY/56bBr/MMw9nkhP0lV55/Nlqa3Vymaas8OpMsDJl1aF5NClXnTR1OmqNiq9vHGJhaj92nmxF9dp/ciIuoyj/yQ9mmcbSlZfk5cm/8T7VR/AoOZ3aFSz19lpKgiNECfTkstlh3VcyZ01/dtlfoUnkh3RZPIU+1Zdgb2mW7ZSVvlZaPVlfA9DCdiAf7F/APaNtNImuxEsP40jtUheV3X6WnQ/DO/YhXjEx+NnZ4cP/zjyc+eYq9TWlVx5/tnmepvSYil/sWdJiQzISZjX8X8WO7Irqz+PoR/SOvUxauUr4BPtw8fZDvug0mZUXlmV8IMs0llZ2X1Dgv0SwT7W3qKzqTVXVTXyCfVi0P4w25d/kpaan/xtpe8FL9+U8OHIeHFHCPH2OkExfbRzImqQLNImuBMAZ+xuMtXJlfN/1zzz2hfjfh89ndbqxMe2i9uzDTe9XZlX8nyS2ncbqCnb/fbCc2a79Vu73vyXCcn4ToZXHMydrRw+eTJhtrXi70bs4Kb1QAr9kYMIahlu15oz9DRTFAJUqnX7qesy6uh86fozvgzPZnp8KSu+pGSDrtFLma/lm7bepY/I6Gy+vICxlMynRXUm+15lJhptJV9T8aGeDicN+VIohiirtv5E2TfpzL92XMxkLUYppNOnZJihTB27kXevGVLQz4ej9CTSJrsTSh+eYu7Y/iqIUaXLj+9sg/H4fmu0+v9+HsuiXAXyR2Jsl6oF8cnkfao0KlTodA0XFqvg/oePHmHednjHtkJncdPwYZtyDjh/jdWY73rZu2iXCQuTlNADa5MbWDa+YmIzl5jExeNu6sez8Eh4Y7WTglB+IafUBqx8eQ62oUKkyprFmXd3PwtR+9D7XhhuxyfjEhvD/7d15WFNX+gfwb8ISEBFQkF1xxQUFdEShVsBWGasM4NRW68JUWzewIkXF/qxoHQdbR61FKi4taNXBpQO2UrfagAsqo4AQXOqC4sJSKvsOOb8/KLcGEkgwEAjv53nyPObec899c7z38uaec092xc6W2JU6Ts3QoKHtiirqcCL1GS7sDoTRORHELyYj+v5efJbuiV+rj6Pqt0lY+KIIa/Vi0b+3AT7WOo5fBvaon4GaVwstvlZ9cvPHDOPtibqoCOlkmvumuNTnEABg9tMirPpeH475m3DU+A5i9o9ADY+HpQYjJZIbWTMnA4p9M+XzNeonYTsxh6urulaML468iyO1d+CYb4kLvz0A4IXr5k8h5j/5Y3wNJMbXLC0qBRqSm0YDTBcLNwGGI+VqI9IFyNGVJU79WjJhbvhxT+Gm+h/3/CNhNpqyFhHVdyB+qRtrqcnr+OnJdOBpEdKwABNMwvA10vBwrzfcx+3CvV8Dsa9UxH1hUNa5pExyxWQ4kus6flFWjZHd38bhX79BetlR/KXACrpxyVhe2x/LNIrwsdZxPK15G5FG9Xdf+dBEXB89DCr9BpjQ0L4WOJkShpqXZhiPSAlTydONHSbBCQ8Px5YtW5CTkwN7e3uEhYXByclJZvljx47h008/xaNHjzBo0CB8/vnneOutt9oxYkI6rhFWBvjB/zVExIdB9MSHG4y8L/0fyBKnwWO4GVwGGEtNTADJriy5L9x/bFN2dCZqe6zHr3cDkWT4BI75lriYvwyug01gbH0BZ58/kT2+hgYPEyWSN2HmZk+W6MZ6jGXTM2HN98Ivt/Nw8V4ARuNLnDZ+gPM3JqGGx4NToTWuYzm+On8PZZV1OFwtavZcAuRLOgAopYy081ssZgj773vYVyaCFxuEn57lYXH+j7jSwwX/wV4cFn8LHr8OjvmWiCxJxA7eDDj2MUSx5QpklJtBL/cAeLw/k5fzz6Mw6KX2lfXoPjfDeDvqEF1UR44cQWBgIEJCQpCcnAx7e3t4eHggLy9PavnExETMmjULCxYsQEpKCry9veHt7Q2RSNTOkRPScWlp8KFVukHiSavh3bbiP0lP8I/I/2H0P8/hbmUQZmoOQXjhTa6LqXFXVsNFsnEXVEO5gvJahJ66DWGOH0a/sEJURQaO5LyNJMMncCq0xki7Hbiw0h3Oo5Nx9vl+qd0F3C1y9zWyv+W5rqKp94liXrEbK+r2brzQikPE3NFIXjcJH/7tO+5c0mIM57P98PPtPGw79yt23/SFY74lwgtvYsVuL+xOeIBNh2YgvPAmPuw+Ags9vwOAFs8nPl9DKWWqahlsh2zD3/m2CC+8icA9XvDaeQnzd7yFfWUiOOZb4uCdBVj69E1srXkb+4sT67vo/ug6PlByBXl/+RhL1+9BzNLXsMHLDheHWXPJS/KjJ/ArKES4kSEiDOvHwkg8ui9rhvF21CEGGY8dOxZjxozBzp07AQBisRjW1tZYtmwZgoODm5R/9913UVZWhpMnT3LLxo0bBwcHB0REtNyANMiYdAWNE5VdsbPxdVEaptQMgDDXH7+VVHFl3Ux34kbPp9zF+2/iQbDuvwUCTT60Nfl48OvHOCa+i5maQ9DTcjPu3lmB87qZf3Q9LZPYb88hq7k/ANfmpkFLo/571NepX4P/OLFJdwGEmxDh6AlxXxeab4S0O0WOy4ZzquE8maszDMaWm3HzaSHSnhYhM78ME0zCkGL8jCvTcI5oafBgbqALC0MdWGIzzgoe4u98W9jbfYmMWytwpPYO3tMeCvexu6CtyYfw6hJEVWRggZ4d3np9D2LjP8B3lbcwU3MIBtluQ2llLR7e+xgn+PcwpWYACrTXQrN4PS7pP25yXjaOadTvVsjlr4GtmT4Gm+rD1lQfolsB+KZMxJVpPFZP2rxD0NBGxN82cssbHhXnxty89GOqEYY9lDIPjiJ/v1We4FRXV6Nbt244fvw4vL29ueW+vr4oLCzEiRMnmmzTp08fBAYGIiAggFsWEhKC2NhY3Lx5s0n5qqoqVFX9eTEvLi6GtbU1JThEbckaUNywfKnBSIxxCMNpUQ5OZ+TgaUGFRGLy4s7nTeqUduG+lL8MtmY94GBtCEdrQzx9tBKR5RnSL5JyPvVCSLuS92msZn7hvOEYLyqvQdqzQiy/7M6dS4LsHcgtroS40V9aWYmQssro62jC0lAXVka6sDDUxcmCmVxMSXPToKnxZweOrCfNXn5qkXvaqqXkRdYs1Eo6vzvVr4nn5+ejrq4OpqamEstNTU1x584dqdvk5ORILZ+TkyO1fGhoKDZs2KCcgAnpBGQ9abXY6yDwR//8X2x64i82PfF/U4di27FZiKr4sytrxoC9EBtsQFVtHaprxaiqFaO6dj202AfcRdLP5xAirAzQTbv+MhJxYg4iyzOa/AHg+v9pfA3piOQ4LqUlMw3n0svHuEE3LWTcWiHRLbxwWCQWTDuA3OJKPC+sxPPCCjwrrEB20RaICmdxZYt0PsVQczGqa+tQXSdGda0Y6WWB0OoVyJX5TfP/4GSjCT2BBvQEmtDX0YSe9jaI8t/hynwy+yh2Guqih86fk31GnJgjOSnoyXnc55Doosv8keuig814iXlv5Jp3qIPNMK7yBKc9rFmzBoGBgdz7hjs4hKir5p7WaJz07P5hLqIqmiYmfoItWPyO5N0fUeGfF8mU9OUY2/8gt06ePwAy0Z0boiryPI0VM6vFLwxA0/OAS/L/SCisjLpx2zZOOqZY7WpSf/32f5bxstkttczL9cRfWypzkLO0Lx5NpmaQ8aSZXMlLB/sSo/JBxsbGxtDQ0EBubq7E8tzcXJiZmUndxszMTKHyAoEAPXr0kHgRQmQnJn6G9jIHHif/Q9RkfXN3jPwM7bk/AIR0Rkt9/iMzQV/sdRBLff4j97kEtHw+KauMPDEtLSqVTG4AbhD24pQf659EA+QasN3RHhJQ+RgcoH6QsZOTE8LCwgDUDzLu06cP/P39ZQ4yLi8vx48//sgtc3FxwciRI2mQMSEKkOeR1YanNWSN51GHXzEn5FXJO51CS+PjGh4nV0aZhvO3xXlw+BrSE5OEL5Qy+7AydapBxkD9Y+K+vr7YvXs3nJyc8OWXX+Lo0aO4c+cOTE1NMW/ePFhaWiI0NBRA/WPirq6u2Lx5M6ZOnYro6Gj861//QnJyMuzs7FrcHyU4hMivI05gRkhn1Z7z4KjjednpEhwA2LlzJzfRn4ODA7766iuMHTsWAODm5gYbGxtERUVx5Y8dO4a1a9dyE/198cUXck/0RwkOIYQQ0vl0ygSnPVGCQwghhHQ+9GObhBBCCOnSKMEhhBBCiNqhBIcQQgghaocSHEIIIYSoHUpwCCGEEKJ2KMEhhBBCiNqhBIcQQgghaocSHEIIIYSoHUpwCCGEEKJ2NFUdgCo0TN5cXFys4kgIIYQQIq+Gv9vy/AhDl0xwSkpKAADW1tYqjoQQQgghiiopKYGBgUGzZbrkb1GJxWI8f/4c+vr64PF4Sq27uLgY1tbWePLkCf3OlRTUPrJR2zSP2qd51D7No/aRrTO1DWMMJSUlsLCwAJ/f/CibLnkHh8/nw8rKqk330aNHjw5/oKgStY9s1DbNo/ZpHrVP86h9ZOssbdPSnZsGNMiYEEIIIWqHEhxCCCGEqB1KcJRMIBAgJCQEAoFA1aF0SNQ+slHbNI/ap3nUPs2j9pFNXdumSw4yJoQQQoh6ozs4hBBCCFE7lOAQQgghRO1QgkMIIYQQtUMJDiGEEELUDiU4rRAeHg4bGxvo6Ohg7NixSEpKarb8sWPHMGTIEOjo6GDEiBH46aef2ilS1VCkfaKiosDj8SReOjo67Rht+7lw4QI8PT1hYWEBHo+H2NjYFreJj4/HqFGjIBAIMHDgQERFRbV5nKqiaPvEx8c3OXZ4PB5ycnLaJ+B2FBoaijFjxkBfXx+9e/eGt7c37t692+J2XeXa05r26UrXnl27dmHkyJHcRH7Ozs44depUs9uow7FDCY6Cjhw5gsDAQISEhCA5ORn29vbw8PBAXl6e1PKJiYmYNWsWFixYgJSUFHh7e8Pb2xsikaidI28firYPUD97ZnZ2Nvd6/PhxO0bcfsrKymBvb4/w8HC5ymdmZmLq1Klwd3dHamoqAgIC8MEHH+DMmTNtHKlqKNo+De7evStx/PTu3buNIlSdhIQE+Pn54erVqzh37hxqamowefJklJWVydymK117WtM+QNe59lhZWWHz5s24ceMGrl+/jokTJ8LLywsZGRlSy6vNscOIQpycnJifnx/3vq6ujllYWLDQ0FCp5d955x02depUiWVjx45lixYtatM4VUXR9omMjGQGBgbtFF3HAYDFxMQ0W2bVqlVs+PDhEsveffdd5uHh0YaRdQzytI9QKGQAWEFBQbvE1JHk5eUxACwhIUFmma527XmZPO3TVa89DYyMjNi+ffukrlOXY4fu4CiguroaN27cwJtvvskt4/P5ePPNN3HlyhWp21y5ckWiPAB4eHjILN+ZtaZ9AKC0tBR9+/aFtbV1s98qupqudOy8CgcHB5ibm2PSpEm4fPmyqsNpF0VFRQCAnj17yizTlY8fedoH6JrXnrq6OkRHR6OsrAzOzs5Sy6jLsUMJjgLy8/NRV1cHU1NTieWmpqYy+/1zcnIUKt+ZtaZ9bG1t8e233+LEiRM4ePAgxGIxXFxc8PTp0/YIuUOTdewUFxejoqJCRVF1HObm5oiIiMD333+P77//HtbW1nBzc0NycrKqQ2tTYrEYAQEBeO2112BnZyezXFe69rxM3vbpatee9PR0dO/eHQKBAIsXL0ZMTAyGDRsmtay6HDtd8tfEScfh7Ows8S3CxcUFQ4cOxe7du7Fx40YVRkY6OltbW9ja2nLvXVxc8ODBA2zfvh3fffedCiNrW35+fhCJRLh06ZKqQ+mQ5G2frnbtsbW1RWpqKoqKinD8+HH4+voiISFBZpKjDugOjgKMjY2hoaGB3NxcieW5ubkwMzOTuo2ZmZlC5Tuz1rRPY1paWnB0dMT9+/fbIsRORdax06NHD+jq6qooqo7NyclJrY8df39/nDx5EkKhEFZWVs2W7UrXngaKtE9j6n7t0dbWxsCBAzF69GiEhobC3t4eO3bskFpWXY4dSnAUoK2tjdGjR+P8+fPcMrFYjPPnz8vsy3R2dpYoDwDnzp2TWb4za037NFZXV4f09HSYm5u3VZidRlc6dpQlNTVVLY8dxhj8/f0RExODX375Bf369Wtxm650/LSmfRrratcesViMqqoqqevU5thR9SjnziY6OpoJBAIWFRXFbt26xRYuXMgMDQ1ZTk4OY4yxuXPnsuDgYK785cuXmaamJvv3v//Nbt++zUJCQpiWlhZLT09X1UdoU4q2z4YNG9iZM2fYgwcP2I0bN9jMmTOZjo4Oy8jIUNVHaDMlJSUsJSWFpaSkMABs27ZtLCUlhT1+/JgxxlhwcDCbO3cuV/7hw4esW7dubOXKlez27dssPDycaWhosNOnT6vqI7QpRdtn+/btLDY2lt27d4+lp6ez5cuXMz6fz37++WdVfYQ2s2TJEmZgYMDi4+NZdnY29yovL+fKdOVrT2vapytde4KDg1lCQgLLzMxkaWlpLDg4mPF4PHb27FnGmPoeO5TgtEJYWBjr06cP09bWZk5OTuzq1avcOldXV+br6ytR/ujRo2zw4MFMW1ubDR8+nMXFxbVzxO1LkfYJCAjgypqamrK33nqLJScnqyDqttfwWHPjV0N7+Pr6MldX1ybbODg4MG1tbda/f38WGRnZ7nG3F0Xb5/PPP2cDBgxgOjo6rGfPnszNzY398ssvqgm+jUlrFwASx0NXvva0pn260rVn/vz5rG/fvkxbW5uZmJiwN954g0tuGFPfY4fHGGPtd7+IEEIIIaTt0RgcQgghhKgdSnAIIYQQonYowSGEEEKI2qEEhxBCCCFqhxIcQgghhKgdSnAIIYQQonYowSGEEEKI2qEEhxBCCCFKc+HCBXh6esLCwgI8Hg+xsbEKbb9+/XrweLwmLz09PYXqoQSHEEIIIUpTVlYGe3t7hIeHt2r7oKAgZGdnS7yGDRuGGTNmKFQPJTiEEKLGfHx8YGRkhLffflvVoZAuYsqUKfjnP/8JHx8fqeurqqoQFBQES0tL6OnpYezYsYiPj+fWd+/eHWZmZtwrNzcXt27dwoIFCxSKgxIcQghRY8uXL8eBAwdUHQYhHH9/f1y5cgXR0dFIS0vDjBkz8Ne//hX37t2TWn7fvn0YPHgwXn/9dYX2QwkOIaTTcnNzQ0BAQLvtLygoCN7e3kqp6/fff0fv3r3x6NEjpdQni5ubG/T19aWumzlzJrZu3dqm+yfkZVlZWYiMjMSxY8fw+uuvY8CAAQgKCsL48eMRGRnZpHxlZSUOHTqk8N0bgBIcQjq8iIgI6Ovro7a2lltWWloKLS0tuLm5SZSNj48Hj8fDgwcP2jnKriE1NRUODg5KqWvTpk3w8vKCjY2NUuprjbVr12LTpk0oKipSWQyka0lPT0ddXR0GDx6M7t27c6+EhASp162YmBiUlJTA19dX4X1pKiNgQkjbcXd3R2lpKa5fv45x48YBAC5evAgzMzNcu3YNlZWV0NHRAQAIhUL06dMHAwYMUGXInVp1dTW0tbWlrrt58yb8/f1feR/l5eX45ptvcObMmVeuy8HBQSL5bXD27FlYWFg0u62dnR0GDBiAgwcPws/P75VjIaQlpaWl0NDQwI0bN6ChoSGxrnv37k3K79u3D9OmTYOpqanC+6I7OIR0cLa2tjA3N5cYhBcfHw8vLy/069cPV69elVju7u4OADh9+jTGjx8PQ0ND9OrVC9OmTZP4hrRnzx5YWFhALBZL7M/Lywvz588HAIjFYoSGhqJfv37Q1dWFvb09jh8/zpV1c3PDRx99hFWrVqFnz54wMzPD+vXrJeqzsbHBl19+KbHMwcFBopybmxuWLVuGgIAAGBkZwdTUFHv37kVZWRnef/996OvrY+DAgTh16lST9qmtrYW/vz8MDAxgbGyMTz/9FIwxueJv2Le/vz8CAgJgbGwMDw8Pqf8PT58+RX5+PncHp7CwEJ6enhg/fjxycnKkbiPLTz/9BIFAwCWsr9IGqampEIlETV4tJTcNPD09ER0drVD8hLSWo6Mj6urqkJeXh4EDB0q8zMzMJMpmZmZCKBS2qnsKoASHkE7B3d0dQqGQey8UCuHm5gZXV1dueUVFBa5du8YlOGVlZQgMDMT169dx/vx58Pl8+Pj4cAnNjBkz8Pvvv0vU++LFC5w+fRqzZ88GAISGhuLAgQOIiIhARkYGVqxYgTlz5iAhIYHbZv/+/dDT08O1a9fwxRdf4LPPPsO5c+cU/oz79++HsbExkpKSsGzZMixZsgQzZsyAi4sLkpOTMXnyZMydOxfl5eVNttPU1ERSUhJ27NiBbdu2Yd++fXLH31CHtrY2Ll++jIiICKnxpaamwtDQEDY2NkhPT8eYMWNgaWkJoVDY5MLckosXL2L06NFKa4NX4eTkhKSkJFRVVSmtTtK1lZaWIjU1FampqQDqE5XU1FRkZWVh8ODBmD17NubNm4f//ve/yMzMRFJSEkJDQxEXFydRz7fffgtzc3NMmTKldYEwQkiHt3fvXqanp8dqampYcXEx09TUZHl5eezw4cNswoQJjDHGzp8/zwCwx48fS63jt99+YwBYeno6t8zLy4vNnz+fe797925mYWHB6urqWGVlJevWrRtLTEyUqGfBggVs1qxZjDHGXF1d2fjx4yXWjxkzhq1evZp737dvX7Z9+3aJMvb29iwkJIR737ie2tpapqenx+bOncsty87OZgDYlStXJLYbOnQoE4vF3LLVq1ezoUOHyhV/Qx2Ojo5NG6yRjRs3MldXV3bo0CFmZGTE9uzZ0+I2sjRu94Y4WtMGLXnjjTeYsbEx09XVZZaWlk3a4+bNmwwAe/ToUSs/DSGShEIhA9Dk5evryxhjrLq6mq1bt47Z2NgwLS0tZm5uznx8fFhaWhpXR11dHbOysmKffPJJq+OgMTiEdAJubm4oKyvD//73PxQUFGDw4MEwMTGBq6sr3n//fVRWViI+Ph79+/dHnz59AAD37t3DunXrcO3aNeTn53N3brKysmBnZwcAmD17Nj788EN8/fXXEAgEOHToEGbOnAk+n4/79++jvLwckyZNkoiluroajo6O3PuRI0dKrDc3N0deXp7Cn/HlejQ0NNCrVy+MGDGCW9bQB9+47nHjxoHH43HvnZ2dsXXrVrnjByD1bkpjqampSEtLg7+/P+Li4uDs7Cyx/uTJk/j4448hFouxevVqfPDBBzLrqqio4MZNvay1bdCcn3/+udn1urq6AKDUu0Kka3Nzc+O6iaXR0tLChg0bsGHDBpll+Hw+njx58kpxUIJDSCcwcOBAWFlZQSgUoqCgAK6urgAACwsLWFtbIzExEUKhEBMnTuS28fT0RN++fbF3715urI2dnR2qq6slyjDGEBcXhzFjxuDixYvYvn07gPrbzAAQFxcHS0tLiXgEAgH3by0tLYl1PB5PYlwPn89vcrGrqalp8hml1fPysoYkpvGYIVnkjR+AXFPAp6amYvr06Th8+DAKCwsl1tXW1iIwMBBCoRAGBgYYPXo0fHx80KtXL6l1GRsbo6CgoMlyZbeBPF68eAEAMDExUVqdhHQElOAQ0km4u7sjPj4eBQUFWLlyJbd8woQJOHXqFJKSkrBkyRIA9XOs3L17F3v37uUmx7p06VKTOnV0dDB9+nQcOnQI9+/fh62tLUaNGgUAGDZsGAQCAbKysriEqjVMTEyQnZ3NvS8uLkZmZmar62vs2rVrEu+vXr2KQYMGKS1+ACgpKcHDhw9x7NgxuLi4YObMmUhMTMTw4cMBAElJSRg+fDiXSE2ZMgVnz57FrFmzpNbn6OiIgwcPvlJMyiISiWBlZQVjY2NVh0KIUlGCQ0gn4e7uDj8/P9TU1Ej8wXZ1dYW/vz+qq6u5AcZGRkbo1asX9uzZA3Nzc2RlZSE4OFhqvbNnz8a0adOQkZGBOXPmcMv19fURFBSEFStWQCwWY/z48SgqKsLly5fRo0cPueelmDhxIqKiouDp6QlDQ0OsW7euyeOhryIrKwuBgYFYtGgRkpOTERYWhq1btyotfqD+8XANDQ0MGzYMjo6OEIlE8PT0RFJSEoyNjfH8+XOJu0SWlpZ49uyZzPo8PDywZs0aFBQUwMjI6JU+/6u6ePEiJk+erNIYCGkLlOAQ0km4u7ujoqICQ4YMkZgTwtXVFSUlJdzj5EB9t1B0dDQ++ugj2NnZwdbWFl999VWTiQGB+gSkZ8+euHv3Lt577z2JdRs3boSJiQlCQ0Px8OFDGBoaYtSoUfjkk0/kjnvNmjXIzMzEtGnTYGBggI0bNyr1Ds68efNQUVEBJycnaGhoYPny5Vi4cKHS4gfqu6eGDBnCdW1t2bIFt2/fxvTp01sc4yLNiBEjMGrUKBw9ehSLFi1SeHtlqaysRGxsLE6fPq2yGAhpKzzW3EggQgghLUpMTMSWLVsQExMDAAgICICTk1OThPFlcXFxWLlyJUQiEfh81czYsWvXLsTExODs2bMq2T8hbYnmwSGEkFfk5OQEkUiEZ8+eobS0FKdOnZI5YWCDqVOnYuHChc12ZbU1LS0thIWFqWz/hLQluoNDCCFK8MMPPyAoKAhisRirVq3iuskIIapBCQ4hhBBC1A51URFCCCFE7VCCQwghhBC1QwkOIYQQQtQOJTiEEEIIUTuU4BBCCCFE7VCCQwghhBC1QwkOIYQQQtQOJTiEEEIIUTuU4BBCCCFE7VCCQwghhBC1QwkOIYQQQtQOJTiEEEIIUTv/D/5XC0XMQuamAAAAAElFTkSuQmCC", "text/plain": [ - "
" + "
" ] }, - "metadata": { - "needs_background": "light" - }, + "metadata": {}, "output_type": "display_data" } ], @@ -183,47 +292,53 @@ "id": "425fbe96-36ef-4ee4-8610-d08d6f07bb5f", "metadata": {}, "source": [ - "## Plot Structure" + "## Visualize the Modeled Structure\n", + "\n", + "We can also visualize the discretized structure that pyElli uses for the calculation. Below are the representations for both the 7-division and 18-division models. Each segment represents a thin, uniformly oriented sub-layer." ] }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 8, "id": "75aadc65-7106-4dde-9145-b52761d9bf9f", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2025-10-14T21:12:37.270812Z", + "iopub.status.busy": "2025-10-14T21:12:37.270712Z", + "iopub.status.idle": "2025-10-14T21:12:37.374484Z", + "shell.execute_reply": "2025-10-14T21:12:37.374181Z", + "shell.execute_reply.started": "2025-10-14T21:12:37.270803Z" + } + }, "outputs": [ { "data": { "text/plain": [ - "" + "" ] }, - "execution_count": 6, + "execution_count": 8, "metadata": {}, "output_type": "execute_result" }, { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAfEAAADJCAYAAAAzbAsJAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/NK7nSAAAACXBIWXMAAAsTAAALEwEAmpwYAAAPuklEQVR4nO3df5BdZ13H8ffHJrQKKG2z/JAS0g4wTPnR2C4Vh05dUSEtjJWxMzZBgQLuiIOKDiMwjGSUcZyKg1RRMpmaCXVsQPlZKhT50Zo/aoEAS5vaaQktxSiQ2PLDYqe09Osf96Rdyu5mk+zZs8/d92vmzp57nqfnfu8zTT455zz7nFQVkiSpPT82dAGSJOnoGOKSJDXKEJckqVGGuCRJjTLEJUlqlCEuSVKjegvxJDuSHEiyd4E+U0lmktyU5N/6qkWSpHGUvn5PPMm5wN3A5VX1zDnaHwNcB2yqqq8leWxVHeilGEmSxtCavg5cVbuTbFigyxbgA1X1ta7/ogJ806ZNdfXVVy9BhZIktSHJx6tq08P39xbii/A0YG2Sa4FHA5dW1eVzdUwyDUwDrF+/ftkK7Nv27du54oorhi7jmG3ZsoXp6emhy5CkcbZurp1DTmxbA5wFvAh4IfDHSZ42V8eq2l5Vk1U1OTExsZw19uqKK65gZmZm6DKOyczMzFj8Q0SSWjTkmfh+4M6q+h7wvSS7gTOAWwesadlt3LiRa6+9dugyjtrU1BQzMzNMTU0NXcox8WqCpBYNeSb+YeCcJGuS/ATws8DNA9ajo7BlyxY2btw4dBnHxKsJklrV25l4kl3AFLAuyX5gK7AWoKq2VdXNSa4GbgAeAC6rqnl/HU0r0/T0dPNnsK1fRZC0evU5O33zIvq8DXhbXzVIkjTOhrwnLq0Y3teX1CJDXKveli1bhi7hmB36LQdDXFpdDHGtet7Xl9QqH4AiSVKjDHFJkhpliEuS1Kjm7onfcsstY3P/b2ZmpvmFUrRyOMNeGhmX51IshmfiA9q4ceNYzIzW8Fw5T3rIODyXYrF6e554XyYnJ2vPnj1DlyFpiR26itDyswS0Mozj/0tJPl9Vkw/f75m4JEmNMsQlSWpUcxPbJI0vJ+dJR8YQl7QijMMkT5e/1XIzxCWtCC5/Kx0574lLktQoQ1ySpEZ5OV2SlpCT87ScejsTT7IjyYEke+dpn0rynSQz3estfdUiScvBlfO03HpbsS3JucDdwOVV9cw52qeA11fVi4/kuK7YJkn9mZqaav65DofqXw0rtvV2Ob2qdifZ0NfxJUlLbxx+1W81PZei17XTuxC/aoEz8fcD+4H/ZnRWftM8x5kGpgHWr19/1h133NFTxZIkrTwrce30LwBPrqozgL8BPjRfx6raXlWTVTU5MTGxXPVJkrSiDRbiVfXdqrq72/4osDbJuqHqkSSpNYOFeJLHJ0m3fXZXy51D1SNJUmt6m9iWZBcwBaxLsh/YCqwFqKptwIXAa5LcD9wDXFStPdxckqQB9Tk7ffNh2t8JvLOvz5ckady57KokSY0yxCVJapQhLklSowxxSZIaZYhLktQoQ1ySpEYZ4pIkNcoQlySpUYa4JEmNMsQlSWqUIS5JUqMMcUmSGmWIS5LUKENckqRGGeKSJDXKEJckqVG9hXiSHUkOJNl7mH7PSXJ/kgv7qkWSpHHU55n4TmDTQh2SHAdcAvxrj3VIkjSWegvxqtoN3HWYbr8LvB840FcdkiSNq8HuiSd5IvAS4F2L6DudZE+SPQcPHuy/OEmSGjDkxLZ3AG+oqgcO17GqtlfVZFVNTkxM9F+ZJEkNWDPgZ08C70kCsA44P8n9VfWhAWuSJKkZg4V4VZ16aDvJTuAqA1ySpMXrLcST7AKmgHVJ9gNbgbUAVbWtr8+VJGm16C3Eq2rzEfR9RV91SJI0rlyxTZKkRhnikiQ1yhCXJKlRhrgkSY0yxCVJapQhLklSowxxSZIaZYhLktQoQ1ySpEYZ4pIkNcoQlySpUYa4JEmNMsQlSWqUIS5JUqMMcUmSGmWIS5LUqN5CPMmOJAeS7J2n/YIkNySZSbInyTl91SJJ0jjq80x8J7BpgfZPAWdU1UbglcBlPdYiSdLYWbNQY5Jzu83vV9X1R3LgqtqdZMMC7XfPevtIoI7k+JIkrXYLhjhwcffz28ARhfhiJHkJ8OfAY4EXLfXxJUkaZwuGeFVdDJDkhCRbgA2z/5uq+tNj+fCq+iDwwe6M/63AL83VL8k0MA2wfv36Y/lISZLGxmLviX8IuAC4H/jerNeSqKrdwGlJ1s3Tvr2qJqtqcmJiYqk+VpKkph3ucvohp1TVQpPUjliSpwBfqapKciZwPHDnUn6GJEnjbLEhfl2SZ1XVjYs9cJJdwBSwLsl+YCuwFqCqtgG/BrwsyX3APcCvV5WT2yRJWqTFhvg5wCuS3A7cCwSoqnr2fP9BVW1e6IBVdQlwyWILlSRJP2yxIX5er1VIkqQjtqgQr6o7+i5EkiQdGddOlySpUYa4JEmNMsQlSWqUIS5JUqMMcUmSGmWIS5LUKENckqRGGeKSJDXKEJckqVGGuCRJjTLEJUlqlCEuSVKjDHFJkhpliEuS1ChDXJKkRvUW4kl2JDmQZO887S9NckOSG5Ncl+SMvmqRJGkc9XkmvhPYtED77cDPV9WzgLcC23usRZKksbOmrwNX1e4kGxZov27W2+uBU/qqRZKkcbRS7om/CvjYfI1JppPsSbLn4MGDy1iWJEkr1+AhnuQXGIX4G+brU1Xbq2qyqiYnJiaWrzhJklaw3i6nL0aSZwOXAedV1Z1D1iJJUmsGOxNPsh74APCbVXXrUHVIktSq3s7Ek+wCpoB1SfYDW4G1AFW1DXgLcDLwd0kA7q+qyb7qkSRp3PQ5O33zYdpfDby6r8+XJGncDT6xTZIkHR1DXJKkRhnikiQ1yhCXJKlRhrgkSY0yxCVJapQhLklSowxxSZIaZYhLktQoQ1ySpEYZ4pIkNcoQlySpUYa4JEmNMsQlSWqUIS5JUqMMcUmSGtVbiCfZkeRAkr3ztD89yb8nuTfJ6/uqQ5KkcdXnmfhOYNMC7XcBvwf8ZY81SJI0tnoL8arazSio52s/UFWfA+7rqwZJksZZE/fEk0wn2ZNkz8GDB4cuR5KkFaGJEK+q7VU1WVWTExMTQ5cjSdKK0ESIS5KkH2WIS5LUqDV9HTjJLmAKWJdkP7AVWAtQVduSPB7YA/wk8ECS1wGnV9V3+6pJkqRx0luIV9Xmw7R/Azilr8+XJGnceTldkqRGGeKSJDXKEJckqVGGuCRJjTLEJUlqlCEuSVKjDHFJkhpliEuS1ChDXJKkRhnikiQ1yhCXJKlRhrgkSY0yxCVJapQhLklSowxxSZIaZYhLktQoQ1ySpEb1FuJJdiQ5kGTvPO1J8tdJ9iW5IcmZfdUiSdI46vNMfCewaYH284Cndq9p4F091iJJ0tjpLcSrajdw1wJdLgAur5HrgcckeUJf9UiSNG7WDPjZTwT+c9b7/d2+rz+8Y5JpRmfrAHcnuaX/8pbNOuB/hi6iUY7d0XPsjo3jd/Qcu6Pz5Ll2Dhnii1ZV24HtQ9fRhyR7qmpy6Dpa5NgdPcfu2Dh+R8+xW1pDzk7/L+BJs96f0u2TJEmLMGSIXwm8rJul/lzgO1X1I5fSJUnS3Hq7nJ5kFzAFrEuyH9gKrAWoqm3AR4HzgX3A/wEX91XLCjeWtwmWiWN39By7Y+P4HT3HbgmlqoauQZIkHQVXbJMkqVGGuCRJjTLEB5JkU5JbumVn3zh0PSvFXMv1JjkpySeSfLn7eWK3f96le5O8vOv/5SQvH+K7LLckT0pyTZL/SHJTkt/v9jt+h5HkhCSfTfKlbuz+pNt/apLPdGP03iSP6PYf373f17VvmHWsN3X7b0nywoG+0rJLclySLya5qnvv2C2HqvK1zC/gOOArwGnAI4AvAacPXddKeAHnAmcCe2ft+wvgjd32G4FLuu3zgY8BAZ4LfKbbfxJwW/fzxG77xKG/2zKM3ROAM7vtRwO3Aqc7fosauwCP6rbXAp/pxuSfgIu6/duA13TbvwNs67YvAt7bbZ/e/Xk+Hji1+3N+3NDfb5nG8A+BK4CruveO3TK8PBMfxtnAvqq6raq+D7yH0TK0q17NvVzvBcC7u+13A786a/9cS/e+EPhEVd1VVd8CPsHC6/iPhar6elV9odv+X+BmRqsgOn6H0Y3B3d3btd2rgOcD7+v2P3zsDo3p+4BfTJJu/3uq6t6qup3Rb9+c3f83GFaSU4AXAZd174NjtywM8WHMt+Ss5va4emgNgW8Aj+u25xvHVT++3SXKn2F0Run4LUJ3OXgGOMDoHy5fAb5dVfd3XWaPw4Nj1LV/BziZVTp2wDuAPwIe6N6fjGO3LAxxNaVG1938vcgFJHkU8H7gdVX13dltjt/8quoHVbWR0eqRZwNPH7aiNiR5MXCgqj4/dC2rkSE+DJecPTLfPPSEu+7ngW7/fOO4asc3yVpGAf6PVfWBbrfjdwSq6tvANcDPMbrFcGhRrNnj8OAYde0/BdzJ6hy75wG/kuSrjG4NPh+4FMduWRjiw/gc8NRu9uYjGE3uuHLgmlayK4FDM6RfDnx41v65lu79OPCCJCd2M7Ff0O0ba919xb8Hbq6qt89qcvwOI8lEksd02z8O/DKjOQXXABd23R4+dofG9ELg091VjiuBi7oZ2KcCTwU+uyxfYiBV9aaqOqWqNjD6u+zTVfVSHLvlMfTMutX6YjQz+FZG993ePHQ9K+UF7GL0ONr7GN0TexWj+2WfAr4MfBI4qesb4G+7MbwRmJx1nFcymhizD7h46O+1TGN3DqNL5TcAM93rfMdvUWP3bOCL3djtBd7S7T+NUZDsA/4ZOL7bf0L3fl/XftqsY725G9NbgPOG/m7LPI5TPDQ73bFbhpfLrkqS1Cgvp0uS1ChDXJKkRhnikiQ1yhCXJKlRhrgkSY0yxCX9kCTvS3LaEh3rk4eemiZp6Rnikh6U5BmMnhx12xId8h8YPbVKUg8McWmVSPLbSWa61+1Jrpmj20t5aGUtktyd5M+652xfn+Rx3f6dSd7V7bstyVRGz4K/OcnOWce7Etjc6xeTVjFDXFolqmpbjR7w8RxGq+G9fY5uzwNmP8jikcD1VXUGsBv4rVltJzJaX/wPGIX1XwHPAJ6VZGP3md8Cjk9y8pJ+GUmAIS6tRpcyWq/6I3O0PQE4OOv994Gruu3PAxtmtX2kRks+3gh8s6purKoHgJse1u8A8NNLU7qk2dYcvoukcZHkFcCTgdfO0+UeRmtbH3JfPbQ28w/44b8z7u1+PjBr+9D72f1O6I4raYl5Ji6tEknOAl4P/EZ3xjyXm4GnLOFnBng88NWlOqakhxji0urxWuAk4Jpucttlc/T5F0ZPoloqZzG6p37/Eh5TUsenmEl6UPcs7WuA51XVD5bgeJcCV1bVp465OEk/wjNxSQ+qqnuArcATl+iQew1wqT+eiUuS1CjPxCVJapQhLklSowxxSZIaZYhLktQoQ1ySpEb9P76sjkQCTrSZAAAAAElFTkSuQmCC\n", + "image/png": "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Qp06dQqq6d27d73POH6uY8eOIem/pairq9PMmTOVlpamAQMGSDr25xoZGanY2Nig2u+O3cnG9vi509X4fD4dPHhQUVFRoXikc9rmzZuVmpqqQ4cOqX379lqxYoX69esnr9fLmDVjy5cv14cffqgPPvig3jl+3lomwiwANJHp06dry5YtKioqcroVNMCFF14or9erqqoqvfjii8rMzNSaNWucbgunsXv3bt1+++3Kz89X27ZtnW4HzQTTDKAuXbqodevW9b7tWVlZqfj4eIe6womOj8Ppxig+Pl579+4NOn/kyBHt27cvqOZkn3HiPXBmZsyYoVdffVWrVq1Sjx49Asfj4+N1+PBh7d+/P6j+u2P3feNyqpqYmBjeEp2hyMhI9enTR5dddplycnKUnJysxx57jDFrxjZu3Ki9e/fq0ksvVUREhCIiIrRmzRr99a9/VUREhOLi4hi7FogwC0VGRuqyyy5TQUFB4FhdXZ0KCgqUmprqYGc4rnfv3oqPjw8aI5/Pp/fffz8wRqmpqdq/f782btwYqFm5cqXq6uo0ZMiQQE1hYaG++eabQE1+fr4uvPBCphicIWOMZsyYoRUrVmjlypX1pnFcdtllatOmTdDYbdu2TWVlZUFjt3nz5qD/GMnPz1dMTIz69esXqDnxM47X8DPadOrq6uT3+xmzZmz48OHavHmzvF5vYBs8eLAmTJgQ+GvGrgVy+htoaB6WL19u3G63yc3NNVu3bjU33XSTiY2NDfq2J0KrurralJSUmJKSEiPJzJ8/35SUlJjPP//cGHNsaa7Y2Fjzr3/9y2zatMn8/Oc/P+nSXCkpKeb99983RUVFpm/fvkFLc+3fv9/ExcWZiRMnmi1btpjly5eb6OholuY6C7fccovxeDxm9erVpry8PLAdOHAgUDNt2jSTlJRkVq5caYqLi01qaqpJTU0NnD++VNCoUaOM1+s1b775punatetJlwqaNWuW+eSTT8yCBQtYKugs3H333WbNmjWmtLTUbNq0ydx9993G5XKZt99+2xjDmNnkxNUMjGHsWiLCLAIef/xxk5SUZCIjI83ll19u3nvvPadbalFWrVplJNXbMjMzjTHHluf6v//7PxMXF2fcbrcZPny42bZtW9BnfPXVV+aGG24w7du3NzExMWby5Mmmuro6qOajjz4yQ4cONW6325x33nlm3rx54XrEc9LJxkySWbJkSaDm4MGD5tZbbzUdO3Y00dHR5he/+IUpLy8P+pxdu3aZ9PR0ExUVZbp06WLuuOMO88033wTVrFq1ygwaNMhERkaaH/zgB0H3QONMmTLF9OzZ00RGRpquXbua4cOHB4KsMYyZTb4bZhm7lsdljDHOvBMGAAAAzg5zZgEAAGAtwiwAAACsRZgFAACAtQizAAAAsBZhFgAAANYizAIAAMBahFkAAABYizALAAAAaxFmAcACBQUFuvjii3X06NGQ3mfr1q3q0aOHamtrQ3ofAGgqhFkAsMCdd96p++67T61btw7pffr166crrrhC8+fPD+l9AKCp8OtsAaCZKyoq0k9/+lNVVFSobdu2Ib/fa6+9phtvvFFlZWWKiIgI+f0A4GzwZhYAwmjXrl1yuVz1tmuvvfaU1yxfvlwjR44MCrKzZ8/WoEGD9Oyzz6pXr17yeDz6zW9+o+rq6kDNtddeq9tuu00zZ85Ux44dFRcXp7/97W+qra3V5MmT1aFDB/Xp00dvvPFG0P1Gjhypffv2ac2aNU3+/ADQ1AizABBGiYmJKi8vD2wlJSXq3Lmzrr766lNes3btWg0ePLje8f/85z/Ky8vTq6++qldffVVr1qzRvHnzgmr+/ve/q0uXLtqwYYNuu+023XLLLfr1r3+tK6+8Uh9++KFGjRqliRMn6sCBA4FrIiMjNWjQIK1du7bpHhwAQoQwCwBh1Lp1a8XHxys+Pl6xsbGaNm2aUlNTNXv27FNe8/nnnyshIaHe8bq6OuXm5mrAgAG66qqrNHHiRBUUFATVJCcn67777lPfvn2VnZ2ttm3bqkuXLrrxxhvVt29f3X///frqq6+0adOmoOsSEhL0+eefN8kzA0AoMRkKABwyZcoUVVdXKz8/X61anfrdwsGDB086V7ZXr17q0KFDYL979+7au3dvUM3AgQMDf926dWt17txZl1xySeBYXFycJNW7LioqKuhtLQA0V4RZAHDA3Llz9dZbb2nDhg1BgfRkunTpoq+//rre8TZt2gTtu1wu1dXVfW/NicdcLpck1btu3759Ov/887//QQDAYUwzAIAwe+mll/SnP/1Jzz//fIMCY0pKirZu3RqGzr61ZcsWpaSkhPWeAHAmCLMAEEZbtmzRpEmTdNddd6l///6qqKhQRUWF9u3bd8prRo8eraKiorD1uGvXLu3Zs0cjRowI2z0B4EwRZgEgjIqLi3XgwAHNnTtX3bt3D2zjxo075TUTJkzQxx9/rG3btoWlx2XLlmnUqFHq2bNnWO4HAGeDX5oAABaYNWuWfD6fnnzyyZDe5/Dhw+rbt6+ee+45paWlhfReANAUeDMLABa499571bNnz3pf1GpqZWVluueeewiyAKzBm1kAAABYizezAAAAsBZhFgAAANYizAIAAMBahFkAAABYizALAAAAaxFmAQAAYC3CLAAAAKxFmAUAAIC1CLMAAACw1v8DoBKm+3qSkLMAAAAASUVORK5CYII=", "text/plain": [ - "
" + "
" ] }, - "metadata": { - "needs_background": "light" - }, + "metadata": {}, "output_type": "display_data" }, { "data": { - "image/png": "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\n", + "image/png": "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SlNYWGjS09NNenp64PjZRwUNHz7ceL1e8+6775q2bdue91FBM2bMMJ999pmZO3cujwq6BA888IBZs2aNKSoqMlu3bjUPPPCAcblc5v333zfGMGY2OfdpBsYwdo0RYRYBzz33nElJSTFRUVHm2muvNR999JHTLTUqq1atMpKqfSZOnGiMOfN4rj//+c8mISHBuN1uM2TIELNz586gn/H111+bW265xbRo0cJ4PB4zadIkU15eHlTzySefmOuvv9643W5z2WWXmTlz5oTrKzZI5xszSWbhwoWBmuPHj5s777zTtGrVysTExJhf/epXpqSkJOjn7N2712RkZJjo6GjTpk0bc++995pvv/02qGbVqlWmd+/eJioqyvzoRz8KugZqZ/LkyaZjx44mKirKtG3b1gwZMiQQZI1hzGzy3TDL2DU+LmOMcWZOGAAAALg0rJkFAACAtQizAAAAsBZhFgAAANYizAIAAMBahFkAAABYizALAAAAaxFmAQAAYC3CLAAAAKxFmAUAC6xYsUJXXXWVTp8+HdLr7NixQx06dFBlZWVIrwMAdYUwCwAWuO+++/Twww8rIiIipNfp3r27rrvuOj311FMhvQ4A1BVeZwsA9VxBQYF+8YtfqLS0VM2aNQv59d5++23deuutKi4uVmRkZMivBwCXgplZAAijvXv3yuVyVfsMGjTogucsXbpUw4YNCwqyM2fOVO/evbV48WJ16tRJsbGx+t3vfqfy8vJAzaBBg3T33Xdr+vTpatWqlRISEvSPf/xDlZWVmjRpklq2bKkuXbronXfeCbresGHDdOTIEa1Zs6bOvz8A1DXCLACEUXJyskpKSgKfLVu2qHXr1rrhhhsueM7atWvVt2/favu//PJL5eXl6a233tJbb72lNWvWaM6cOUE1//znP9WmTRtt3LhRd999t+644w799re/Vf/+/bV582YNHz5c48eP17FjxwLnREVFqXfv3lq7dm3dfXEACBHCLACEUUREhBITE5WYmKi4uDhNnTpV6enpmjlz5gXP+eqrr5SUlFRtf1VVlXJyctSzZ08NHDhQ48eP14oVK4JqUlNT9fDDD6tr167KyspSs2bN1KZNG916663q2rWrHnnkEX399dfaunVr0HlJSUn66quv6uQ7A0AosRgKABwyefJklZeXa/ny5WrS5MJzC8ePHz/vWtlOnTqpZcuWge327dvr4MGDQTW9evUK/HtERIRat26tq6++OrAvISFBkqqdFx0dHTRbCwD1FWEWABwwe/Zsvffee9q4cWNQID2fNm3a6Jtvvqm2v2nTpkHbLpdLVVVVP1hz7j6XyyVJ1c47cuSILr/88h/+IgDgMJYZAECY/etf/9Jf//pXvfrqqzUKjGlpadqxY0cYOvt/27dvV1paWlivCQAXgzALAGG0fft2TZgwQffff7969Oih0tJSlZaW6siRIxc8Z8SIESooKAhbj3v37tX+/fs1dOjQsF0TAC4WYRYAwqiwsFDHjh3T7Nmz1b59+8BnzJgxFzxn3Lhx+vTTT7Vz586w9LhkyRINHz5cHTt2DMv1AOBS8NIEALDAjBkz5PP59OKLL4b0OidPnlTXrl31yiuvaMCAASG9FgDUBWZmAcACDz30kDp27FjtRq26VlxcrAcffJAgC8AazMwCAADAWszMAgAAwFqEWQAAAFiLMAsAAABrEWYBAABgLcIsAAAArEWYBQAAgLUIswAAALAWYRYAAADWIswCAADAWv8HeAmBuZoteVIAAAAASUVORK5CYII=", "text/plain": [ - "
" + "
" ] }, - "metadata": { - "needs_background": "light" - }, + "metadata": {}, "output_type": "display_data" } ], @@ -267,7 +382,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.10.6" + "version": "3.13.7" }, "widgets": { "application/vnd.jupyter.widget-state+json": { diff --git a/examples/SiO2_Si Mueller Matrix/SiO2_Si Mueller Matrix.ipynb b/examples/SiO2_Si Mueller Matrix/SiO2_Si Mueller Matrix.ipynb index d3948a33..99025006 100644 --- a/examples/SiO2_Si Mueller Matrix/SiO2_Si Mueller Matrix.ipynb +++ b/examples/SiO2_Si Mueller Matrix/SiO2_Si Mueller Matrix.ipynb @@ -1,223 +1,1615 @@ { - "cells": [ - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "collapsed": false - }, - "outputs": [], - "source": [ - "%matplotlib inline" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n# Mueller matrix\n\nMueller matrix fit to a SiO2 on Si measurement.\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "collapsed": false - }, - "outputs": [], - "source": [ - "import elli\nfrom elli.fitting import ParamsHist, fit_mueller_matrix\n\n# sphinx_gallery_thumbnail_path = '_static/mueller_matrix.png'" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Read data\n\nWe load the data from an ascii file containing each of the mueller matrix elements.\nThe wavelength range is cut to be in between 210 nm and 820 nm,\nto stay in the range of the provided literature values for Si.\nThe data is expected to be in a pandas dataframe containing the columns Mxy,\nwhere x and y refer to the matrix element inside the mueller matrix.\nThe data is scaled by the M11 element, such that $M_{11} = 1$ for all wavelengths.\nTo show the structure we print the `MM` dataframe.\nIf you load your data from another source make sure it adheres to this form.\n\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "collapsed": false - }, - "outputs": [], - "source": [ - "MM = elli.read_spectraray_mmatrix(\"Wafer_MM_70.txt\").loc[210:820]\nprint(MM)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Setting start parameters\nHere we set the start parameters for the SiO2 cauchy dispersion\nand thickness of the layer.\n\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "collapsed": false - }, - "outputs": [], - "source": [ - "params = ParamsHist()\nparams.add(\"SiO2_n0\", value=1.452, min=-100, max=100, vary=True)\nparams.add(\"SiO2_n1\", value=36.0, min=-40000, max=40000, vary=True)\nparams.add(\"SiO2_n2\", value=0, min=-40000, max=40000, vary=True)\nparams.add(\"SiO2_k0\", value=0, min=-100, max=100, vary=True)\nparams.add(\"SiO2_k1\", value=0, min=-40000, max=40000, vary=True)\nparams.add(\"SiO2_k2\", value=0, min=-40000, max=40000, vary=True)\nparams.add(\"SiO2_d\", value=120, min=0, max=40000, vary=True)" - ] + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false, + "execution": { + "iopub.execute_input": "2025-10-14T21:19:33.470318Z", + "iopub.status.busy": "2025-10-14T21:19:33.470182Z", + "iopub.status.idle": "2025-10-14T21:19:33.764463Z", + "shell.execute_reply": "2025-10-14T21:19:33.764147Z", + "shell.execute_reply.started": "2025-10-14T21:19:33.470305Z" }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Load silicon dispersion from the refractiveindexinfo database\nYou can load any material from the index\n[refractiveindex.info](https://refractiveindex.info)_, which is\nembedded into the software (so you may use it offline, too). Here, we\nare interested in the literature values for the silicon substrate.\nFirst we need to load the database with ``rii_db = elli.db.RII()`` and\nthen we can query it with ``rii_db.get_mat(\"Si\", \"Aspnes\")`` to load\nthis\n[entry](https://refractiveindex.info/?shelf=main&book=Si&page=Aspnes)_.\n\n" - ] + "jupyter": { + "outputs_hidden": false + } + }, + "outputs": [], + "source": [ + "%matplotlib inline" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Mueller matrix\n", + "\n", + "Exemplary fit of the complete Mueller matrix of a SiO2 on Si measurement." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false, + "execution": { + "iopub.execute_input": "2025-10-14T21:19:33.764924Z", + "iopub.status.busy": "2025-10-14T21:19:33.764780Z", + "iopub.status.idle": "2025-10-14T21:19:35.149693Z", + "shell.execute_reply": "2025-10-14T21:19:35.149381Z", + "shell.execute_reply.started": "2025-10-14T21:19:33.764913Z" }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "collapsed": false - }, - "outputs": [], - "source": [ - "rii_db = elli.db.RII()\nSi = rii_db.get_mat(\"Si\", \"Aspnes\")" - ] + "jupyter": { + "outputs_hidden": false + } + }, + "outputs": [], + "source": [ + "import elli\n", + "from elli.fitting import ParamsHist, fit_mueller_matrix\n", + "\n", + "# sphinx_gallery_thumbnail_path = '_static/mueller_matrix.png'" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Read data\n", + "\n", + "We load the data from an ascii file containing each of the mueller matrix elements.\n", + "The wavelength range is cut to be in between 210 nm and 820 nm,\n", + "to stay in the range of the provided literature values for Si.\n", + "The data is expected to be in a pandas dataframe containing the columns Mxy,\n", + "where x and y refer to the matrix element inside the mueller matrix.\n", + "The data is scaled by the M11 element, such that $M_{11} = 1$ for all wavelengths.\n", + "To show the structure we print the `MM` dataframe.\n", + "If you load your data from another source make sure it adheres to this form.\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false, + "execution": { + "iopub.execute_input": "2025-10-14T21:19:35.150191Z", + "iopub.status.busy": "2025-10-14T21:19:35.150003Z", + "iopub.status.idle": "2025-10-14T21:19:35.226909Z", + "shell.execute_reply": "2025-10-14T21:19:35.226472Z", + "shell.execute_reply.started": "2025-10-14T21:19:35.150181Z" }, + "jupyter": { + "outputs_hidden": false + } + }, + "outputs": [ { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Building the model\nHere the model is build and the experimental structure is returned.\nFor details on this process please refer to the `Basic usage` example.\nWhen executed in an jupyter notebook this displays an interactive graph\nwith which you can select the start parameters before fitting the data.\n\n" - ] + "name": "stdout", + "output_type": "stream", + "text": [ + " M11 M12 M13 M14 M21 M22 M23 \\\n", + "Wavelength \n", + "210.30366 1.0 -0.09147 -0.01241 -0.00614 -0.09605 0.99426 -0.00364 \n", + "210.76102 1.0 -0.10879 -0.01151 -0.00901 -0.09754 0.99475 -0.00427 \n", + "211.21834 1.0 -0.10639 -0.00694 -0.00475 -0.10761 0.99637 -0.00207 \n", + "211.67561 1.0 -0.11544 -0.02094 -0.00348 -0.11467 0.99666 -0.00528 \n", + "212.13284 1.0 -0.12199 0.02182 0.00480 -0.12010 0.99680 -0.00437 \n", + "... ... ... ... ... ... ... ... \n", + "818.08934 1.0 -0.44285 -0.00048 -0.00288 -0.44048 0.99630 -0.00189 \n", + "818.50589 1.0 -0.44301 0.00376 0.00118 -0.44040 0.99688 -0.00274 \n", + "818.92240 1.0 -0.44245 0.00887 0.00626 -0.44024 0.99723 -0.00457 \n", + "819.33886 1.0 -0.44406 -0.00646 -0.00610 -0.44126 0.99661 0.00234 \n", + "819.75528 1.0 -0.44381 0.01170 0.00550 -0.44135 0.99606 -0.00653 \n", + "\n", + " M24 M31 M32 M33 M34 M41 M42 \\\n", + "Wavelength \n", + "210.30366 0.01084 -0.00278 -0.00212 0.27283 0.95555 0.00986 0.00048 \n", + "210.76102 -0.00325 -0.00634 -0.00045 0.26726 0.96450 0.00917 0.01319 \n", + "211.21834 0.01123 -0.00219 0.00030 0.27280 0.95821 0.00712 0.00891 \n", + "211.67561 0.00575 -0.00226 0.00313 0.26623 0.95672 0.01877 0.01726 \n", + "212.13284 0.00763 0.00211 0.00208 0.26903 0.95963 -0.01790 -0.01957 \n", + "... ... ... ... ... ... ... ... \n", + "818.08934 0.00058 -0.00042 -0.00055 0.16295 0.87703 0.00292 -0.00276 \n", + "818.50589 -0.00052 0.00047 -0.00056 0.16345 0.87632 -0.00159 -0.01090 \n", + "818.92240 -0.00263 0.00055 -0.00180 0.16236 0.87712 -0.00585 -0.01388 \n", + "819.33886 0.00227 -0.00105 -0.00042 0.16271 0.87629 0.00882 0.00424 \n", + "819.75528 -0.00311 0.00037 0.00037 0.16255 0.87661 -0.00692 -0.01260 \n", + "\n", + " M43 M44 \n", + "Wavelength \n", + "210.30366 -0.95574 0.25821 \n", + "210.76102 -0.96899 0.24432 \n", + "211.21834 -0.96191 0.24986 \n", + "211.67561 -0.95951 0.25408 \n", + "212.13284 -0.95493 0.28308 \n", + "... ... ... \n", + "818.08934 -0.87949 0.15713 \n", + "818.50589 -0.87876 0.16422 \n", + "818.92240 -0.87960 0.16743 \n", + "819.33886 -0.87907 0.15105 \n", + "819.75528 -0.87849 0.16637 \n", + "\n", + "[1396 rows x 16 columns]\n" + ] + } + ], + "source": [ + "MM = elli.read_spectraray_mmatrix(\"Wafer_MM_70.txt\").loc[210:820]\n", + "print(MM)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Setting start parameters\n", + "Here we set the start parameters for the SiO2 cauchy dispersion\n", + "and thickness of the layer.\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false, + "execution": { + "iopub.execute_input": "2025-10-14T21:19:35.227631Z", + "iopub.status.busy": "2025-10-14T21:19:35.227333Z", + "iopub.status.idle": "2025-10-14T21:19:35.230434Z", + "shell.execute_reply": "2025-10-14T21:19:35.230135Z", + "shell.execute_reply.started": "2025-10-14T21:19:35.227617Z" }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "collapsed": false - }, - "outputs": [], - "source": [ - "@fit_mueller_matrix(MM, params, display_single=False, sharex=True, full_scale=False)\ndef model(lbda, params):\n SiO2 = elli.Cauchy(\n params[\"SiO2_n0\"],\n params[\"SiO2_n1\"],\n params[\"SiO2_n2\"],\n params[\"SiO2_k0\"],\n params[\"SiO2_k1\"],\n params[\"SiO2_k2\"],\n ).get_mat()\n\n Layer = [elli.Layer(SiO2, params[\"SiO2_d\"])]\n\n return elli.Structure(elli.AIR, Layer, Si).evaluate(\n lbda, 70, solver=elli.Solver4x4, propagator=elli.PropagatorExpm()\n )" - ] + "jupyter": { + "outputs_hidden": false + } + }, + "outputs": [], + "source": [ + "params = ParamsHist()\n", + "params.add(\"SiO2_n0\", value=1.452, min=-100, max=100, vary=True)\n", + "params.add(\"SiO2_n1\", value=36.0, min=-40000, max=40000, vary=True)\n", + "params.add(\"SiO2_n2\", value=0, min=-40000, max=40000, vary=True)\n", + "params.add(\"SiO2_k0\", value=0, min=-100, max=100, vary=True)\n", + "params.add(\"SiO2_k1\", value=0, min=-40000, max=40000, vary=True)\n", + "params.add(\"SiO2_k2\", value=0, min=-40000, max=40000, vary=True)\n", + "params.add(\"SiO2_d\", value=120, min=0, max=40000, vary=True)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Load silicon dispersion from the refractiveindexinfo database\n", + "You can load any material from the index\n", + "[refractiveindex.info](https://refractiveindex.info)_, which is\n", + "embedded into the software (so you may use it offline, too). Here, we\n", + "are interested in the literature values for the silicon substrate.\n", + "First we need to load the database with ``rii_db = elli.db.RII()`` and\n", + "then we can query it with ``rii_db.get_mat(\"Si\", \"Aspnes\")`` to load\n", + "this\n", + "[entry](https://refractiveindex.info/?shelf=main&book=Si&page=Aspnes)_.\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false, + "execution": { + "iopub.execute_input": "2025-10-14T21:19:35.230904Z", + "iopub.status.busy": "2025-10-14T21:19:35.230802Z", + "iopub.status.idle": "2025-10-14T21:19:35.846876Z", + "shell.execute_reply": "2025-10-14T21:19:35.846549Z", + "shell.execute_reply.started": "2025-10-14T21:19:35.230894Z" }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Plot & Fit the model\nHere we plot the model at the initial parameter set vs. the experimental data.\n\n" - ] + "jupyter": { + "outputs_hidden": false + } + }, + "outputs": [], + "source": [ + "rii_db = elli.db.RII()\n", + "Si = rii_db.get_mat(\"Si\", \"Aspnes\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Building the model\n", + "Here the model is build and the experimental structure is returned.\n", + "For details on this process please refer to the `Basic usage` example.\n", + "When executed in an jupyter notebook this displays an interactive graph\n", + "with which you can select the start parameters before fitting the data.\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false, + "execution": { + "iopub.execute_input": "2025-10-14T21:19:35.847942Z", + "iopub.status.busy": "2025-10-14T21:19:35.847795Z", + "iopub.status.idle": "2025-10-14T21:19:36.044003Z", + "shell.execute_reply": "2025-10-14T21:19:36.043709Z", + "shell.execute_reply.started": "2025-10-14T21:19:35.847925Z" }, + "jupyter": { + "outputs_hidden": false + } + }, + "outputs": [ { - "cell_type": "code", - "execution_count": null, - "metadata": { - "collapsed": false + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "2ec838ca53a649e49e68ec44f0423058", + "version_major": 2, + "version_minor": 0 }, - "outputs": [], - "source": [ - "model.plot()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We can also plot the residual between measurement and model.\n\n" + "text/plain": [ + "VBox(children=(HBox(children=(HBox(children=(BoundedFloatText(value=1.452, description='SiO2_n0', min=-100.0),…" ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "@fit_mueller_matrix(MM, params, display_single=False, sharex=True, full_scale=False)\n", + "def model(lbda, params):\n", + " SiO2 = elli.Cauchy(\n", + " params[\"SiO2_n0\"],\n", + " params[\"SiO2_n1\"],\n", + " params[\"SiO2_n2\"],\n", + " params[\"SiO2_k0\"],\n", + " params[\"SiO2_k1\"],\n", + " params[\"SiO2_k2\"],\n", + " ).get_mat()\n", + "\n", + " Layer = [elli.Layer(SiO2, params[\"SiO2_d\"])]\n", + "\n", + " return elli.Structure(elli.AIR, Layer, Si).evaluate(\n", + " lbda, 70, solver=elli.Solver4x4, propagator=elli.PropagatorExpm()\n", + " )" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Plot & Fit the model\n", + "Here we plot the model at the initial parameter set vs. the experimental data.\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false, + "execution": { + "iopub.execute_input": "2025-10-14T21:19:36.044500Z", + "iopub.status.busy": "2025-10-14T21:19:36.044386Z", + "iopub.status.idle": "2025-10-14T21:19:36.128974Z", + "shell.execute_reply": "2025-10-14T21:19:36.128537Z", + "shell.execute_reply.started": "2025-10-14T21:19:36.044489Z" }, + "jupyter": { + "outputs_hidden": false + } + }, + "outputs": [ { - "cell_type": "code", - "execution_count": null, - "metadata": { - "collapsed": false + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "c2df816fc3fb446180bd40a80702ac81", + "version_major": 2, + "version_minor": 0 }, - "outputs": [], - "source": [ - "model.plot_residual()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now we execute a fit and plot the model afterwards.\n\n" + "text/plain": [ + "FigureWidget({\n", + " 'data': [{'line': {'color': '#636EFA', 'dash': 'solid'},\n", + " 'name': 'M11 ',\n", + " 'type': 'scatter',\n", + " 'uid': '26152dd8-d954-4239-bd02-e6c7c23ea803',\n", + " 'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528],\n", + " shape=(1396,)),\n", + " 'xaxis': 'x',\n", + " 'y': array([1., 1., 1., ..., 1., 1., 1.], shape=(1396,)),\n", + " 'yaxis': 'y'},\n", + " {'line': {'color': '#636EFA', 'dash': 'dash'},\n", + " 'name': 'M11 theory',\n", + " 'type': 'scatter',\n", + " 'uid': '04e82865-c248-4050-b290-24b784d4ad85',\n", + " 'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528],\n", + " shape=(1396,)),\n", + " 'xaxis': 'x',\n", + " 'y': array([1., 1., 1., ..., 1., 1., 1.], shape=(1396,)),\n", + " 'yaxis': 'y'},\n", + " {'line': {'color': '#EF553B', 'dash': 'solid'},\n", + " 'name': 'M12 ',\n", + " 'type': 'scatter',\n", + " 'uid': 'ea4e44c0-93f4-4a81-958a-4d669b52ca87',\n", + " 'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528],\n", + " shape=(1396,)),\n", + " 'xaxis': 'x2',\n", + " 'y': array([-0.09147, -0.10879, -0.10639, ..., -0.44245, -0.44406, -0.44381],\n", + " shape=(1396,)),\n", + " 'yaxis': 'y2'},\n", + " {'line': {'color': '#EF553B', 'dash': 'dash'},\n", + " 'name': 'M12 theory',\n", + " 'type': 'scatter',\n", + " 'uid': 'bbec2de6-de3c-4f7a-9065-acb33356bbe2',\n", + " 'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528],\n", + " shape=(1396,)),\n", + " 'xaxis': 'x2',\n", + " 'y': array([ 0.48855385, 0.48240998, 0.47406745, ..., -0.27742534, -0.27818747,\n", + " -0.27894785], shape=(1396,)),\n", + " 'yaxis': 'y2'},\n", + " {'line': {'color': '#00CC96', 'dash': 'solid'},\n", + " 'name': 'M13 ',\n", + " 'type': 'scatter',\n", + " 'uid': 'facfdc84-cd3b-44fb-beb7-2d07d12d0d27',\n", + " 'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528],\n", + " shape=(1396,)),\n", + " 'xaxis': 'x3',\n", + " 'y': array([-0.01241, -0.01151, -0.00694, ..., 0.00887, -0.00646, 0.0117 ],\n", + " shape=(1396,)),\n", + " 'yaxis': 'y3'},\n", + " {'line': {'color': '#00CC96', 'dash': 'dash'},\n", + " 'name': 'M13 theory',\n", + " 'type': 'scatter',\n", + " 'uid': '103a8f55-befd-49a4-aa3f-045c5f4e196d',\n", + " 'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528],\n", + " shape=(1396,)),\n", + " 'xaxis': 'x3',\n", + " 'y': array([0., 0., 0., ..., 0., 0., 0.], shape=(1396,)),\n", + " 'yaxis': 'y3'},\n", + " {'line': {'color': '#AB63FA', 'dash': 'solid'},\n", + " 'name': 'M14 ',\n", + " 'type': 'scatter',\n", + " 'uid': '69e72709-3c1a-4edf-b0a6-ac294952a73b',\n", + " 'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528],\n", + " shape=(1396,)),\n", + " 'xaxis': 'x4',\n", + " 'y': array([-0.00614, -0.00901, -0.00475, ..., 0.00626, -0.0061 , 0.0055 ],\n", + " shape=(1396,)),\n", + " 'yaxis': 'y4'},\n", + " {'line': {'color': '#AB63FA', 'dash': 'dash'},\n", + " 'name': 'M14 theory',\n", + " 'type': 'scatter',\n", + " 'uid': '648bb6cd-d6ae-4bf2-81f4-2abbae3e354e',\n", + " 'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528],\n", + " shape=(1396,)),\n", + " 'xaxis': 'x4',\n", + " 'y': array([0., 0., 0., ..., 0., 0., 0.], shape=(1396,)),\n", + " 'yaxis': 'y4'},\n", + " {'line': {'color': '#FFA15A', 'dash': 'solid'},\n", + " 'name': 'M21 ',\n", + " 'type': 'scatter',\n", + " 'uid': 'd47f5967-4276-4740-8871-251937abdbc0',\n", + " 'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528],\n", + " shape=(1396,)),\n", + " 'xaxis': 'x5',\n", + " 'y': array([-0.09605, -0.09754, -0.10761, ..., -0.44024, -0.44126, -0.44135],\n", + " shape=(1396,)),\n", + " 'yaxis': 'y5'},\n", + " {'line': {'color': '#FFA15A', 'dash': 'dash'},\n", + " 'name': 'M21 theory',\n", + " 'type': 'scatter',\n", + " 'uid': '8f50d79b-2865-4d43-9871-177cccec0283',\n", + " 'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528],\n", + " shape=(1396,)),\n", + " 'xaxis': 'x5',\n", + " 'y': array([ 0.48855385, 0.48240998, 0.47406745, ..., -0.27742534, -0.27818747,\n", + " -0.27894785], shape=(1396,)),\n", + " 'yaxis': 'y5'},\n", + " {'line': {'color': '#19D3F3', 'dash': 'solid'},\n", + " 'name': 'M22 ',\n", + " 'type': 'scatter',\n", + " 'uid': '228d90d0-c850-4520-ba26-07f5a91ad46c',\n", + " 'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528],\n", + " shape=(1396,)),\n", + " 'xaxis': 'x6',\n", + " 'y': array([0.99426, 0.99475, 0.99637, ..., 0.99723, 0.99661, 0.99606],\n", + " shape=(1396,)),\n", + " 'yaxis': 'y6'},\n", + " {'line': {'color': '#19D3F3', 'dash': 'dash'},\n", + " 'name': 'M22 theory',\n", + " 'type': 'scatter',\n", + " 'uid': '3ac11c5c-5633-40a0-9945-7b07abaf0e4f',\n", + " 'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528],\n", + " shape=(1396,)),\n", + " 'xaxis': 'x6',\n", + " 'y': array([1., 1., 1., ..., 1., 1., 1.], shape=(1396,)),\n", + " 'yaxis': 'y6'},\n", + " {'line': {'color': '#FF6692', 'dash': 'solid'},\n", + " 'name': 'M23 ',\n", + " 'type': 'scatter',\n", + " 'uid': 'ac269720-21c6-4dc5-9744-3361d875bf52',\n", + " 'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528],\n", + " shape=(1396,)),\n", + " 'xaxis': 'x7',\n", + " 'y': array([-0.00364, -0.00427, -0.00207, ..., -0.00457, 0.00234, -0.00653],\n", + " shape=(1396,)),\n", + " 'yaxis': 'y7'},\n", + " {'line': {'color': '#FF6692', 'dash': 'dash'},\n", + " 'name': 'M23 theory',\n", + " 'type': 'scatter',\n", + " 'uid': 'bf29e60e-c037-4882-88ae-b10a17fdaefc',\n", + " 'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528],\n", + " shape=(1396,)),\n", + " 'xaxis': 'x7',\n", + " 'y': array([0., 0., 0., ..., 0., 0., 0.], shape=(1396,)),\n", + " 'yaxis': 'y7'},\n", + " {'line': {'color': '#B6E880', 'dash': 'solid'},\n", + " 'name': 'M24 ',\n", + " 'type': 'scatter',\n", + " 'uid': '7872731f-db6a-4e08-84d3-3ef268634304',\n", + " 'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528],\n", + " shape=(1396,)),\n", + " 'xaxis': 'x8',\n", + " 'y': array([ 0.01084, -0.00325, 0.01123, ..., -0.00263, 0.00227, -0.00311],\n", + " shape=(1396,)),\n", + " 'yaxis': 'y8'},\n", + " {'line': {'color': '#B6E880', 'dash': 'dash'},\n", + " 'name': 'M24 theory',\n", + " 'type': 'scatter',\n", + " 'uid': '3fcb7308-17ba-4575-908e-3d456a5e7295',\n", + " 'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528],\n", + " shape=(1396,)),\n", + " 'xaxis': 'x8',\n", + " 'y': array([0., 0., 0., ..., 0., 0., 0.], shape=(1396,)),\n", + " 'yaxis': 'y8'},\n", + " {'line': {'color': '#FF97FF', 'dash': 'solid'},\n", + " 'name': 'M31 ',\n", + " 'type': 'scatter',\n", + " 'uid': 'dcbc4c6c-3991-416a-a5d1-a0d8ca76033b',\n", + " 'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528],\n", + " shape=(1396,)),\n", + " 'xaxis': 'x9',\n", + " 'y': array([-0.00278, -0.00634, -0.00219, ..., 0.00055, -0.00105, 0.00037],\n", + " shape=(1396,)),\n", + " 'yaxis': 'y9'},\n", + " {'line': {'color': '#FF97FF', 'dash': 'dash'},\n", + " 'name': 'M31 theory',\n", + " 'type': 'scatter',\n", + " 'uid': '9b9614d4-a003-4f32-9b4d-fa82a56d1e89',\n", + " 'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528],\n", + " shape=(1396,)),\n", + " 'xaxis': 'x9',\n", + " 'y': array([0., 0., 0., ..., 0., 0., 0.], shape=(1396,)),\n", + " 'yaxis': 'y9'},\n", + " {'line': {'color': '#FECB52', 'dash': 'solid'},\n", + " 'name': 'M32 ',\n", + " 'type': 'scatter',\n", + " 'uid': 'adedff3e-aa37-4677-838b-2d9f070e9bbd',\n", + " 'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528],\n", + " shape=(1396,)),\n", + " 'xaxis': 'x10',\n", + " 'y': array([-0.00212, -0.00045, 0.0003 , ..., -0.0018 , -0.00042, 0.00037],\n", + " shape=(1396,)),\n", + " 'yaxis': 'y10'},\n", + " {'line': {'color': '#FECB52', 'dash': 'dash'},\n", + " 'name': 'M32 theory',\n", + " 'type': 'scatter',\n", + " 'uid': '88085b35-f527-4146-baa6-f2c1b46544a6',\n", + " 'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528],\n", + " shape=(1396,)),\n", + " 'xaxis': 'x10',\n", + " 'y': array([0., 0., 0., ..., 0., 0., 0.], shape=(1396,)),\n", + " 'yaxis': 'y10'},\n", + " {'line': {'color': '#636EFA', 'dash': 'solid'},\n", + " 'name': 'M33 ',\n", + " 'type': 'scatter',\n", + " 'uid': 'd0a19b00-50c3-4bff-80c4-431458cb0908',\n", + " 'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528],\n", + " shape=(1396,)),\n", + " 'xaxis': 'x11',\n", + " 'y': array([0.27283, 0.26726, 0.2728 , ..., 0.16236, 0.16271, 0.16255],\n", + " shape=(1396,)),\n", + " 'yaxis': 'y11'},\n", + " {'line': {'color': '#636EFA', 'dash': 'dash'},\n", + " 'name': 'M33 theory',\n", + " 'type': 'scatter',\n", + " 'uid': '9c4c6431-280b-48cb-bb0d-f791f3a6f95d',\n", + " 'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528],\n", + " shape=(1396,)),\n", + " 'xaxis': 'x11',\n", + " 'y': array([-0.78177026, -0.75168899, -0.71871123, ..., 0.20163327, 0.20156999,\n", + " 0.20150625], shape=(1396,)),\n", + " 'yaxis': 'y11'},\n", + " {'line': {'color': '#EF553B', 'dash': 'solid'},\n", + " 'name': 'M34 ',\n", + " 'type': 'scatter',\n", + " 'uid': 'a14e3e4d-1e70-406a-9f2b-56cee8c8c702',\n", + " 'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528],\n", + " shape=(1396,)),\n", + " 'xaxis': 'x12',\n", + " 'y': array([0.95555, 0.9645 , 0.95821, ..., 0.87712, 0.87629, 0.87661],\n", + " shape=(1396,)),\n", + " 'yaxis': 'y12'},\n", + " {'line': {'color': '#EF553B', 'dash': 'dash'},\n", + " 'name': 'M34 theory',\n", + " 'type': 'scatter',\n", + " 'uid': '39096f30-d5dd-4f40-8b1a-f8c42c9103ee',\n", + " 'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528],\n", + " shape=(1396,)),\n", + " 'xaxis': 'x12',\n", + " 'y': array([0.38749245, 0.44971578, 0.50863958, ..., 0.93935042, 0.93913858,\n", + " 0.93892669], shape=(1396,)),\n", + " 'yaxis': 'y12'},\n", + " {'line': {'color': '#00CC96', 'dash': 'solid'},\n", + " 'name': 'M41 ',\n", + " 'type': 'scatter',\n", + " 'uid': '4531274f-e55f-4e3e-9d45-891c7a7eaae9',\n", + " 'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528],\n", + " shape=(1396,)),\n", + " 'xaxis': 'x13',\n", + " 'y': array([ 0.00986, 0.00917, 0.00712, ..., -0.00585, 0.00882, -0.00692],\n", + " shape=(1396,)),\n", + " 'yaxis': 'y13'},\n", + " {'line': {'color': '#00CC96', 'dash': 'dash'},\n", + " 'name': 'M41 theory',\n", + " 'type': 'scatter',\n", + " 'uid': '512caca2-3815-4425-ab36-befdc905b548',\n", + " 'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528],\n", + " shape=(1396,)),\n", + " 'xaxis': 'x13',\n", + " 'y': array([0., 0., 0., ..., 0., 0., 0.], shape=(1396,)),\n", + " 'yaxis': 'y13'},\n", + " {'line': {'color': '#AB63FA', 'dash': 'solid'},\n", + " 'name': 'M42 ',\n", + " 'type': 'scatter',\n", + " 'uid': 'd9e7018f-738a-402c-8872-bbbd72deebda',\n", + " 'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528],\n", + " shape=(1396,)),\n", + " 'xaxis': 'x14',\n", + " 'y': array([ 0.00048, 0.01319, 0.00891, ..., -0.01388, 0.00424, -0.0126 ],\n", + " shape=(1396,)),\n", + " 'yaxis': 'y14'},\n", + " {'line': {'color': '#AB63FA', 'dash': 'dash'},\n", + " 'name': 'M42 theory',\n", + " 'type': 'scatter',\n", + " 'uid': '5577b2c2-4951-4f6a-b62a-7365370f528b',\n", + " 'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528],\n", + " shape=(1396,)),\n", + " 'xaxis': 'x14',\n", + " 'y': array([0., 0., 0., ..., 0., 0., 0.], shape=(1396,)),\n", + " 'yaxis': 'y14'},\n", + " {'line': {'color': '#FFA15A', 'dash': 'solid'},\n", + " 'name': 'M43 ',\n", + " 'type': 'scatter',\n", + " 'uid': 'ac42585a-a597-462b-8406-dcfd0fa8775d',\n", + " 'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528],\n", + " shape=(1396,)),\n", + " 'xaxis': 'x15',\n", + " 'y': array([-0.95574, -0.96899, -0.96191, ..., -0.8796 , -0.87907, -0.87849],\n", + " shape=(1396,)),\n", + " 'yaxis': 'y15'},\n", + " {'line': {'color': '#FFA15A', 'dash': 'dash'},\n", + " 'name': 'M43 theory',\n", + " 'type': 'scatter',\n", + " 'uid': '9321087d-5765-4e5f-b393-bca247aee7de',\n", + " 'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528],\n", + " shape=(1396,)),\n", + " 'xaxis': 'x15',\n", + " 'y': array([-0.38749245, -0.44971578, -0.50863958, ..., -0.93935042, -0.93913858,\n", + " -0.93892669], shape=(1396,)),\n", + " 'yaxis': 'y15'},\n", + " {'line': {'color': '#19D3F3', 'dash': 'solid'},\n", + " 'name': 'M44 ',\n", + " 'type': 'scatter',\n", + " 'uid': '0ac111b2-f43e-4357-90d3-802f223b800c',\n", + " 'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528],\n", + " shape=(1396,)),\n", + " 'xaxis': 'x16',\n", + " 'y': array([0.25821, 0.24432, 0.24986, ..., 0.16743, 0.15105, 0.16637],\n", + " shape=(1396,)),\n", + " 'yaxis': 'y16'},\n", + " {'line': {'color': '#19D3F3', 'dash': 'dash'},\n", + " 'name': 'M44 theory',\n", + " 'type': 'scatter',\n", + " 'uid': '5cb56529-8ad5-4d6d-b9d7-10597f9822ad',\n", + " 'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528],\n", + " shape=(1396,)),\n", + " 'xaxis': 'x16',\n", + " 'y': array([-0.78177026, -0.75168899, -0.71871123, ..., 0.20163327, 0.20156999,\n", + " 0.20150625], shape=(1396,)),\n", + " 'yaxis': 'y16'}],\n", + " 'layout': {'template': '...',\n", + " 'xaxis': {'anchor': 'y', 'domain': [0.0, 0.2125], 'matches': 'x'},\n", + " 'xaxis10': {'anchor': 'y10', 'domain': [0.2625, 0.475], 'matches': 'x'},\n", + " 'xaxis11': {'anchor': 'y11', 'domain': [0.525, 0.7375], 'matches': 'x'},\n", + " 'xaxis12': {'anchor': 'y12', 'domain': [0.7875, 1.0], 'matches': 'x'},\n", + " 'xaxis13': {'anchor': 'y13', 'domain': [0.0, 0.2125], 'matches': 'x'},\n", + " 'xaxis14': {'anchor': 'y14', 'domain': [0.2625, 0.475], 'matches': 'x'},\n", + " 'xaxis15': {'anchor': 'y15', 'domain': [0.525, 0.7375], 'matches': 'x'},\n", + " 'xaxis16': {'anchor': 'y16', 'domain': [0.7875, 1.0], 'matches': 'x'},\n", + " 'xaxis2': {'anchor': 'y2', 'domain': [0.2625, 0.475], 'matches': 'x'},\n", + " 'xaxis3': {'anchor': 'y3', 'domain': [0.525, 0.7375], 'matches': 'x'},\n", + " 'xaxis4': {'anchor': 'y4', 'domain': [0.7875, 1.0], 'matches': 'x'},\n", + " 'xaxis5': {'anchor': 'y5', 'domain': [0.0, 0.2125], 'matches': 'x'},\n", + " 'xaxis6': {'anchor': 'y6', 'domain': [0.2625, 0.475], 'matches': 'x'},\n", + " 'xaxis7': {'anchor': 'y7', 'domain': [0.525, 0.7375], 'matches': 'x'},\n", + " 'xaxis8': {'anchor': 'y8', 'domain': [0.7875, 1.0], 'matches': 'x'},\n", + " 'xaxis9': {'anchor': 'y9', 'domain': [0.0, 0.2125], 'matches': 'x'},\n", + " 'yaxis': {'anchor': 'x', 'domain': [0.80625, 1.0]},\n", + " 'yaxis10': {'anchor': 'x10', 'domain': [0.26875, 0.4625]},\n", + " 'yaxis11': {'anchor': 'x11', 'domain': [0.26875, 0.4625]},\n", + " 'yaxis12': {'anchor': 'x12', 'domain': [0.26875, 0.4625]},\n", + " 'yaxis13': {'anchor': 'x13', 'domain': [0.0, 0.19375]},\n", + " 'yaxis14': {'anchor': 'x14', 'domain': [0.0, 0.19375]},\n", + " 'yaxis15': {'anchor': 'x15', 'domain': [0.0, 0.19375]},\n", + " 'yaxis16': {'anchor': 'x16', 'domain': [0.0, 0.19375]},\n", + " 'yaxis2': {'anchor': 'x2', 'domain': [0.80625, 1.0]},\n", + " 'yaxis3': {'anchor': 'x3', 'domain': [0.80625, 1.0]},\n", + " 'yaxis4': {'anchor': 'x4', 'domain': [0.80625, 1.0]},\n", + " 'yaxis5': {'anchor': 'x5', 'domain': [0.5375, 0.73125]},\n", + " 'yaxis6': {'anchor': 'x6', 'domain': [0.5375, 0.73125]},\n", + " 'yaxis7': {'anchor': 'x7', 'domain': [0.5375, 0.73125]},\n", + " 'yaxis8': {'anchor': 'x8', 'domain': [0.5375, 0.73125]},\n", + " 'yaxis9': {'anchor': 'x9', 'domain': [0.26875, 0.4625]}}\n", + "})" ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "model.plot()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can also plot the residual between measurement and model.\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false, + "execution": { + "iopub.execute_input": "2025-10-14T21:19:36.129614Z", + "iopub.status.busy": "2025-10-14T21:19:36.129448Z", + "iopub.status.idle": "2025-10-14T21:19:36.200322Z", + "shell.execute_reply": "2025-10-14T21:19:36.200019Z", + "shell.execute_reply.started": "2025-10-14T21:19:36.129598Z" }, + "jupyter": { + "outputs_hidden": false + } + }, + "outputs": [ { - "cell_type": "code", - "execution_count": null, - "metadata": { - "collapsed": false + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "d9c67d2efe114adb94ac64b08a59af9c", + "version_major": 2, + "version_minor": 0 }, - "outputs": [], - "source": [ - "fit_stats = model.fit()\nmodel.plot(full_scale=False)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "For comparison we plot the residual again to have a figure of merit\nfor the fit quality\n\n" + "text/plain": [ + "FigureWidget({\n", + " 'data': [{'line': {'color': '#636EFA', 'dash': 'solid'},\n", + " 'name': 'M11 ',\n", + " 'type': 'scatter',\n", + " 'uid': 'fcb845dd-761b-4cc0-9265-43d204f7570e',\n", + " 'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528],\n", + " shape=(1396,)),\n", + " 'xaxis': 'x',\n", + " 'y': array([0., 0., 0., ..., 0., 0., 0.], shape=(1396,)),\n", + " 'yaxis': 'y'},\n", + " {'line': {'color': '#EF553B', 'dash': 'solid'},\n", + " 'name': 'M12 ',\n", + " 'type': 'scatter',\n", + " 'uid': '5b63291e-83f0-4cb3-bc2f-5e8739d6d663',\n", + " 'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528],\n", + " shape=(1396,)),\n", + " 'xaxis': 'x2',\n", + " 'y': array([0.58002385, 0.59119998, 0.58045745, ..., 0.16502466, 0.16587253,\n", + " 0.16486215], shape=(1396,)),\n", + " 'yaxis': 'y2'},\n", + " {'line': {'color': '#00CC96', 'dash': 'solid'},\n", + " 'name': 'M13 ',\n", + " 'type': 'scatter',\n", + " 'uid': '4cb58d5c-f0c6-40b2-868a-ad818fc8bdab',\n", + " 'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528],\n", + " shape=(1396,)),\n", + " 'xaxis': 'x3',\n", + " 'y': array([ 0.01241, 0.01151, 0.00694, ..., -0.00887, 0.00646, -0.0117 ],\n", + " shape=(1396,)),\n", + " 'yaxis': 'y3'},\n", + " {'line': {'color': '#AB63FA', 'dash': 'solid'},\n", + " 'name': 'M14 ',\n", + " 'type': 'scatter',\n", + " 'uid': 'd87e7b3a-9d2f-4688-b9e1-a3abf905985a',\n", + " 'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528],\n", + " shape=(1396,)),\n", + " 'xaxis': 'x4',\n", + " 'y': array([ 0.00614, 0.00901, 0.00475, ..., -0.00626, 0.0061 , -0.0055 ],\n", + " shape=(1396,)),\n", + " 'yaxis': 'y4'},\n", + " {'line': {'color': '#FFA15A', 'dash': 'solid'},\n", + " 'name': 'M21 ',\n", + " 'type': 'scatter',\n", + " 'uid': 'aeb5ddb0-c81c-415d-a591-65014e4acc13',\n", + " 'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528],\n", + " shape=(1396,)),\n", + " 'xaxis': 'x5',\n", + " 'y': array([0.58460385, 0.57994998, 0.58167745, ..., 0.16281466, 0.16307253,\n", + " 0.16240215], shape=(1396,)),\n", + " 'yaxis': 'y5'},\n", + " {'line': {'color': '#19D3F3', 'dash': 'solid'},\n", + " 'name': 'M22 ',\n", + " 'type': 'scatter',\n", + " 'uid': '812a3bdb-c4ea-4b71-9d0c-e35d363110da',\n", + " 'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528],\n", + " shape=(1396,)),\n", + " 'xaxis': 'x6',\n", + " 'y': array([0.00574, 0.00525, 0.00363, ..., 0.00277, 0.00339, 0.00394],\n", + " shape=(1396,)),\n", + " 'yaxis': 'y6'},\n", + " {'line': {'color': '#FF6692', 'dash': 'solid'},\n", + " 'name': 'M23 ',\n", + " 'type': 'scatter',\n", + " 'uid': '449bfbb8-0fc9-49e4-a7a1-8d0847a8d4bc',\n", + " 'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528],\n", + " shape=(1396,)),\n", + " 'xaxis': 'x7',\n", + " 'y': array([ 0.00364, 0.00427, 0.00207, ..., 0.00457, -0.00234, 0.00653],\n", + " shape=(1396,)),\n", + " 'yaxis': 'y7'},\n", + " {'line': {'color': '#B6E880', 'dash': 'solid'},\n", + " 'name': 'M24 ',\n", + " 'type': 'scatter',\n", + " 'uid': '5c380ca2-14d4-4482-b097-fe9ed71d9d20',\n", + " 'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528],\n", + " shape=(1396,)),\n", + " 'xaxis': 'x8',\n", + " 'y': array([-0.01084, 0.00325, -0.01123, ..., 0.00263, -0.00227, 0.00311],\n", + " shape=(1396,)),\n", + " 'yaxis': 'y8'},\n", + " {'line': {'color': '#FF97FF', 'dash': 'solid'},\n", + " 'name': 'M31 ',\n", + " 'type': 'scatter',\n", + " 'uid': '9111f889-2a6e-4310-96e2-26cf99ba5e41',\n", + " 'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528],\n", + " shape=(1396,)),\n", + " 'xaxis': 'x9',\n", + " 'y': array([ 0.00278, 0.00634, 0.00219, ..., -0.00055, 0.00105, -0.00037],\n", + " shape=(1396,)),\n", + " 'yaxis': 'y9'},\n", + " {'line': {'color': '#FECB52', 'dash': 'solid'},\n", + " 'name': 'M32 ',\n", + " 'type': 'scatter',\n", + " 'uid': 'f82420f2-414e-49c2-b74a-00d904ee3f0d',\n", + " 'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528],\n", + " shape=(1396,)),\n", + " 'xaxis': 'x10',\n", + " 'y': array([ 0.00212, 0.00045, -0.0003 , ..., 0.0018 , 0.00042, -0.00037],\n", + " shape=(1396,)),\n", + " 'yaxis': 'y10'},\n", + " {'line': {'color': '#636EFA', 'dash': 'solid'},\n", + " 'name': 'M33 ',\n", + " 'type': 'scatter',\n", + " 'uid': 'fa8a631a-db53-4fd9-8840-6f8b4567a474',\n", + " 'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528],\n", + " shape=(1396,)),\n", + " 'xaxis': 'x11',\n", + " 'y': array([-1.05460026, -1.01894899, -0.99151123, ..., 0.03927327, 0.03885999,\n", + " 0.03895625], shape=(1396,)),\n", + " 'yaxis': 'y11'},\n", + " {'line': {'color': '#EF553B', 'dash': 'solid'},\n", + " 'name': 'M34 ',\n", + " 'type': 'scatter',\n", + " 'uid': 'eed738b9-e862-46c5-907e-9ec8bb1ceec7',\n", + " 'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528],\n", + " shape=(1396,)),\n", + " 'xaxis': 'x12',\n", + " 'y': array([-0.56805755, -0.51478422, -0.44957042, ..., 0.06223042, 0.06284858,\n", + " 0.06231669], shape=(1396,)),\n", + " 'yaxis': 'y12'},\n", + " {'line': {'color': '#00CC96', 'dash': 'solid'},\n", + " 'name': 'M41 ',\n", + " 'type': 'scatter',\n", + " 'uid': 'c8a78f8a-56f2-4ba5-8a40-b83080a0ddf4',\n", + " 'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528],\n", + " shape=(1396,)),\n", + " 'xaxis': 'x13',\n", + " 'y': array([-0.00986, -0.00917, -0.00712, ..., 0.00585, -0.00882, 0.00692],\n", + " shape=(1396,)),\n", + " 'yaxis': 'y13'},\n", + " {'line': {'color': '#AB63FA', 'dash': 'solid'},\n", + " 'name': 'M42 ',\n", + " 'type': 'scatter',\n", + " 'uid': 'a9ea256a-49a3-4d9b-a577-8bfd9560273f',\n", + " 'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528],\n", + " shape=(1396,)),\n", + " 'xaxis': 'x14',\n", + " 'y': array([-0.00048, -0.01319, -0.00891, ..., 0.01388, -0.00424, 0.0126 ],\n", + " shape=(1396,)),\n", + " 'yaxis': 'y14'},\n", + " {'line': {'color': '#FFA15A', 'dash': 'solid'},\n", + " 'name': 'M43 ',\n", + " 'type': 'scatter',\n", + " 'uid': 'fd6f6ead-7bf5-4b5d-b9cb-649f41e78b1e',\n", + " 'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528],\n", + " shape=(1396,)),\n", + " 'xaxis': 'x15',\n", + " 'y': array([ 0.56824755, 0.51927422, 0.45327042, ..., -0.05975042, -0.06006858,\n", + " -0.06043669], shape=(1396,)),\n", + " 'yaxis': 'y15'},\n", + " {'line': {'color': '#19D3F3', 'dash': 'solid'},\n", + " 'name': 'M44 ',\n", + " 'type': 'scatter',\n", + " 'uid': '79826b7b-d25b-4ac3-9b6a-b3c84717f4eb',\n", + " 'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528],\n", + " shape=(1396,)),\n", + " 'xaxis': 'x16',\n", + " 'y': array([-1.03998026, -0.99600899, -0.96857123, ..., 0.03420327, 0.05051999,\n", + " 0.03513625], shape=(1396,)),\n", + " 'yaxis': 'y16'}],\n", + " 'layout': {'template': '...',\n", + " 'xaxis': {'anchor': 'y', 'domain': [0.0, 0.2125], 'matches': 'x'},\n", + " 'xaxis10': {'anchor': 'y10', 'domain': [0.2625, 0.475], 'matches': 'x'},\n", + " 'xaxis11': {'anchor': 'y11', 'domain': [0.525, 0.7375], 'matches': 'x'},\n", + " 'xaxis12': {'anchor': 'y12', 'domain': [0.7875, 1.0], 'matches': 'x'},\n", + " 'xaxis13': {'anchor': 'y13', 'domain': [0.0, 0.2125], 'matches': 'x'},\n", + " 'xaxis14': {'anchor': 'y14', 'domain': [0.2625, 0.475], 'matches': 'x'},\n", + " 'xaxis15': {'anchor': 'y15', 'domain': [0.525, 0.7375], 'matches': 'x'},\n", + " 'xaxis16': {'anchor': 'y16', 'domain': [0.7875, 1.0], 'matches': 'x'},\n", + " 'xaxis2': {'anchor': 'y2', 'domain': [0.2625, 0.475], 'matches': 'x'},\n", + " 'xaxis3': {'anchor': 'y3', 'domain': [0.525, 0.7375], 'matches': 'x'},\n", + " 'xaxis4': {'anchor': 'y4', 'domain': [0.7875, 1.0], 'matches': 'x'},\n", + " 'xaxis5': {'anchor': 'y5', 'domain': [0.0, 0.2125], 'matches': 'x'},\n", + " 'xaxis6': {'anchor': 'y6', 'domain': [0.2625, 0.475], 'matches': 'x'},\n", + " 'xaxis7': {'anchor': 'y7', 'domain': [0.525, 0.7375], 'matches': 'x'},\n", + " 'xaxis8': {'anchor': 'y8', 'domain': [0.7875, 1.0], 'matches': 'x'},\n", + " 'xaxis9': {'anchor': 'y9', 'domain': [0.0, 0.2125], 'matches': 'x'},\n", + " 'yaxis': {'anchor': 'x', 'domain': [0.80625, 1.0]},\n", + " 'yaxis10': {'anchor': 'x10', 'domain': [0.26875, 0.4625]},\n", + " 'yaxis11': {'anchor': 'x11', 'domain': [0.26875, 0.4625]},\n", + " 'yaxis12': {'anchor': 'x12', 'domain': [0.26875, 0.4625]},\n", + " 'yaxis13': {'anchor': 'x13', 'domain': [0.0, 0.19375]},\n", + " 'yaxis14': {'anchor': 'x14', 'domain': [0.0, 0.19375]},\n", + " 'yaxis15': {'anchor': 'x15', 'domain': [0.0, 0.19375]},\n", + " 'yaxis16': {'anchor': 'x16', 'domain': [0.0, 0.19375]},\n", + " 'yaxis2': {'anchor': 'x2', 'domain': [0.80625, 1.0]},\n", + " 'yaxis3': {'anchor': 'x3', 'domain': [0.80625, 1.0]},\n", + " 'yaxis4': {'anchor': 'x4', 'domain': [0.80625, 1.0]},\n", + " 'yaxis5': {'anchor': 'x5', 'domain': [0.5375, 0.73125]},\n", + " 'yaxis6': {'anchor': 'x6', 'domain': [0.5375, 0.73125]},\n", + " 'yaxis7': {'anchor': 'x7', 'domain': [0.5375, 0.73125]},\n", + " 'yaxis8': {'anchor': 'x8', 'domain': [0.5375, 0.73125]},\n", + " 'yaxis9': {'anchor': 'x9', 'domain': [0.26875, 0.4625]}}\n", + "})" ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "model.plot_residual()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now we execute a fit and plot the model afterwards.\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": false, + "execution": { + "iopub.execute_input": "2025-10-14T21:19:36.200792Z", + "iopub.status.busy": "2025-10-14T21:19:36.200662Z", + "iopub.status.idle": "2025-10-14T21:19:36.680827Z", + "shell.execute_reply": "2025-10-14T21:19:36.680515Z", + "shell.execute_reply.started": "2025-10-14T21:19:36.200779Z" }, + "jupyter": { + "outputs_hidden": false + } + }, + "outputs": [ { - "cell_type": "code", - "execution_count": null, - "metadata": { - "collapsed": false + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "a4a77fcb36a94c7f829bc9a81113eff9", + "version_major": 2, + "version_minor": 0 }, - "outputs": [], - "source": [ - "model.plot_residual()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We may also print the fit statistics.\n\n" + "text/plain": [ + "FigureWidget({\n", + " 'data': [{'line': {'color': '#636EFA', 'dash': 'solid'},\n", + " 'name': 'M11 ',\n", + " 'type': 'scatter',\n", + " 'uid': '2589ae26-cd44-46b5-8f53-136f6aa41a10',\n", + " 'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528],\n", + " shape=(1396,)),\n", + " 'xaxis': 'x',\n", + " 'y': array([1., 1., 1., ..., 1., 1., 1.], shape=(1396,)),\n", + " 'yaxis': 'y'},\n", + " {'line': {'color': '#636EFA', 'dash': 'dash'},\n", + " 'name': 'M11 theory',\n", + " 'type': 'scatter',\n", + " 'uid': 'ab082c74-d3b4-4e48-acec-8279c4aef41d',\n", + " 'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528],\n", + " shape=(1396,)),\n", + " 'xaxis': 'x',\n", + " 'y': array([1., 1., 1., ..., 1., 1., 1.], shape=(1396,)),\n", + " 'yaxis': 'y'},\n", + " {'line': {'color': '#EF553B', 'dash': 'solid'},\n", + " 'name': 'M12 ',\n", + " 'type': 'scatter',\n", + " 'uid': 'cc66498e-bc71-4b17-b113-0802d5f8617d',\n", + " 'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528],\n", + " shape=(1396,)),\n", + " 'xaxis': 'x2',\n", + " 'y': array([-0.09147, -0.10879, -0.10639, ..., -0.44245, -0.44406, -0.44381],\n", + " shape=(1396,)),\n", + " 'yaxis': 'y2'},\n", + " {'line': {'color': '#EF553B', 'dash': 'dash'},\n", + " 'name': 'M12 theory',\n", + " 'type': 'scatter',\n", + " 'uid': '6fcf540d-bda8-4231-92cf-596f10ab51c2',\n", + " 'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528],\n", + " shape=(1396,)),\n", + " 'xaxis': 'x2',\n", + " 'y': array([-0.09081776, -0.09659845, -0.10218436, ..., -0.44726608, -0.44776779,\n", + " -0.44826863], shape=(1396,)),\n", + " 'yaxis': 'y2'},\n", + " {'line': {'color': '#00CC96', 'dash': 'solid'},\n", + " 'name': 'M13 ',\n", + " 'type': 'scatter',\n", + " 'uid': 'b2fe621f-6ac4-4125-b166-05cf8b49e2df',\n", + " 'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528],\n", + " shape=(1396,)),\n", + " 'xaxis': 'x3',\n", + " 'y': array([-0.01241, -0.01151, -0.00694, ..., 0.00887, -0.00646, 0.0117 ],\n", + " shape=(1396,)),\n", + " 'yaxis': 'y3'},\n", + " {'line': {'color': '#00CC96', 'dash': 'dash'},\n", + " 'name': 'M13 theory',\n", + " 'type': 'scatter',\n", + " 'uid': '4261cece-d51e-4a3f-b899-582356429621',\n", + " 'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528],\n", + " shape=(1396,)),\n", + " 'xaxis': 'x3',\n", + " 'y': array([0., 0., 0., ..., 0., 0., 0.], shape=(1396,)),\n", + " 'yaxis': 'y3'},\n", + " {'line': {'color': '#AB63FA', 'dash': 'solid'},\n", + " 'name': 'M14 ',\n", + " 'type': 'scatter',\n", + " 'uid': '14ab9619-c7a2-4046-9ce7-15b4be571d7b',\n", + " 'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528],\n", + " shape=(1396,)),\n", + " 'xaxis': 'x4',\n", + " 'y': array([-0.00614, -0.00901, -0.00475, ..., 0.00626, -0.0061 , 0.0055 ],\n", + " shape=(1396,)),\n", + " 'yaxis': 'y4'},\n", + " {'line': {'color': '#AB63FA', 'dash': 'dash'},\n", + " 'name': 'M14 theory',\n", + " 'type': 'scatter',\n", + " 'uid': 'b91abab2-f589-4ff0-b6cf-f90b39084cd5',\n", + " 'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528],\n", + " shape=(1396,)),\n", + " 'xaxis': 'x4',\n", + " 'y': array([0., 0., 0., ..., 0., 0., 0.], shape=(1396,)),\n", + " 'yaxis': 'y4'},\n", + " {'line': {'color': '#FFA15A', 'dash': 'solid'},\n", + " 'name': 'M21 ',\n", + " 'type': 'scatter',\n", + " 'uid': '946dd99c-8544-4a99-b491-d5741360c49e',\n", + " 'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528],\n", + " shape=(1396,)),\n", + " 'xaxis': 'x5',\n", + " 'y': array([-0.09605, -0.09754, -0.10761, ..., -0.44024, -0.44126, -0.44135],\n", + " shape=(1396,)),\n", + " 'yaxis': 'y5'},\n", + " {'line': {'color': '#FFA15A', 'dash': 'dash'},\n", + " 'name': 'M21 theory',\n", + " 'type': 'scatter',\n", + " 'uid': '9738aeca-0a41-4bec-96bb-6b598e804951',\n", + " 'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528],\n", + " shape=(1396,)),\n", + " 'xaxis': 'x5',\n", + " 'y': array([-0.09081776, -0.09659845, -0.10218436, ..., -0.44726608, -0.44776779,\n", + " -0.44826863], shape=(1396,)),\n", + " 'yaxis': 'y5'},\n", + " {'line': {'color': '#19D3F3', 'dash': 'solid'},\n", + " 'name': 'M22 ',\n", + " 'type': 'scatter',\n", + " 'uid': '554b1ab1-5ecb-4a07-94af-be0064e1c5c0',\n", + " 'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528],\n", + " shape=(1396,)),\n", + " 'xaxis': 'x6',\n", + " 'y': array([0.99426, 0.99475, 0.99637, ..., 0.99723, 0.99661, 0.99606],\n", + " shape=(1396,)),\n", + " 'yaxis': 'y6'},\n", + " {'line': {'color': '#19D3F3', 'dash': 'dash'},\n", + " 'name': 'M22 theory',\n", + " 'type': 'scatter',\n", + " 'uid': '2f576db1-e355-4162-9768-cac04a3d1564',\n", + " 'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528],\n", + " shape=(1396,)),\n", + " 'xaxis': 'x6',\n", + " 'y': array([1., 1., 1., ..., 1., 1., 1.], shape=(1396,)),\n", + " 'yaxis': 'y6'},\n", + " {'line': {'color': '#FF6692', 'dash': 'solid'},\n", + " 'name': 'M23 ',\n", + " 'type': 'scatter',\n", + " 'uid': '95b9e312-20ba-4a4d-a06f-460e5805eaf0',\n", + " 'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528],\n", + " shape=(1396,)),\n", + " 'xaxis': 'x7',\n", + " 'y': array([-0.00364, -0.00427, -0.00207, ..., -0.00457, 0.00234, -0.00653],\n", + " shape=(1396,)),\n", + " 'yaxis': 'y7'},\n", + " {'line': {'color': '#FF6692', 'dash': 'dash'},\n", + " 'name': 'M23 theory',\n", + " 'type': 'scatter',\n", + " 'uid': 'f59e96e7-ebcf-4cf2-8976-ece085ee4646',\n", + " 'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528],\n", + " shape=(1396,)),\n", + " 'xaxis': 'x7',\n", + " 'y': array([0., 0., 0., ..., 0., 0., 0.], shape=(1396,)),\n", + " 'yaxis': 'y7'},\n", + " {'line': {'color': '#B6E880', 'dash': 'solid'},\n", + " 'name': 'M24 ',\n", + " 'type': 'scatter',\n", + " 'uid': 'bb87197d-1827-498b-8510-6032b0fe518b',\n", + " 'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528],\n", + " shape=(1396,)),\n", + " 'xaxis': 'x8',\n", + " 'y': array([ 0.01084, -0.00325, 0.01123, ..., -0.00263, 0.00227, -0.00311],\n", + " shape=(1396,)),\n", + " 'yaxis': 'y8'},\n", + " {'line': {'color': '#B6E880', 'dash': 'dash'},\n", + " 'name': 'M24 theory',\n", + " 'type': 'scatter',\n", + " 'uid': '35141822-60e7-4ea0-89cf-950e464eb5e7',\n", + " 'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528],\n", + " shape=(1396,)),\n", + " 'xaxis': 'x8',\n", + " 'y': array([0., 0., 0., ..., 0., 0., 0.], shape=(1396,)),\n", + " 'yaxis': 'y8'},\n", + " {'line': {'color': '#FF97FF', 'dash': 'solid'},\n", + " 'name': 'M31 ',\n", + " 'type': 'scatter',\n", + " 'uid': 'fc5057d1-de03-421b-a600-ce01c520e7b7',\n", + " 'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528],\n", + " shape=(1396,)),\n", + " 'xaxis': 'x9',\n", + " 'y': array([-0.00278, -0.00634, -0.00219, ..., 0.00055, -0.00105, 0.00037],\n", + " shape=(1396,)),\n", + " 'yaxis': 'y9'},\n", + " {'line': {'color': '#FF97FF', 'dash': 'dash'},\n", + " 'name': 'M31 theory',\n", + " 'type': 'scatter',\n", + " 'uid': 'fe113a9d-0721-43fd-b6df-1bc25a10d6d9',\n", + " 'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528],\n", + " shape=(1396,)),\n", + " 'xaxis': 'x9',\n", + " 'y': array([0., 0., 0., ..., 0., 0., 0.], shape=(1396,)),\n", + " 'yaxis': 'y9'},\n", + " {'line': {'color': '#FECB52', 'dash': 'solid'},\n", + " 'name': 'M32 ',\n", + " 'type': 'scatter',\n", + " 'uid': 'c0f56daa-5887-4308-a792-19990697fe58',\n", + " 'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528],\n", + " shape=(1396,)),\n", + " 'xaxis': 'x10',\n", + " 'y': array([-0.00212, -0.00045, 0.0003 , ..., -0.0018 , -0.00042, 0.00037],\n", + " shape=(1396,)),\n", + " 'yaxis': 'y10'},\n", + " {'line': {'color': '#FECB52', 'dash': 'dash'},\n", + " 'name': 'M32 theory',\n", + " 'type': 'scatter',\n", + " 'uid': 'f005fe94-242f-4066-9c30-0d4ce4c08c25',\n", + " 'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528],\n", + " shape=(1396,)),\n", + " 'xaxis': 'x10',\n", + " 'y': array([0., 0., 0., ..., 0., 0., 0.], shape=(1396,)),\n", + " 'yaxis': 'y10'},\n", + " {'line': {'color': '#636EFA', 'dash': 'solid'},\n", + " 'name': 'M33 ',\n", + " 'type': 'scatter',\n", + " 'uid': '25de0838-da15-40cf-857c-56d7caa6d9d9',\n", + " 'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528],\n", + " shape=(1396,)),\n", + " 'xaxis': 'x11',\n", + " 'y': array([0.27283, 0.26726, 0.2728 , ..., 0.16236, 0.16271, 0.16255],\n", + " shape=(1396,)),\n", + " 'yaxis': 'y11'},\n", + " {'line': {'color': '#636EFA', 'dash': 'dash'},\n", + " 'name': 'M33 theory',\n", + " 'type': 'scatter',\n", + " 'uid': '17092f3f-ecbe-4ec3-888a-bac042cede2b',\n", + " 'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528],\n", + " shape=(1396,)),\n", + " 'xaxis': 'x11',\n", + " 'y': array([0.28633493, 0.28495866, 0.28318747, ..., 0.15873433, 0.1585769 ,\n", + " 0.15841941], shape=(1396,)),\n", + " 'yaxis': 'y11'},\n", + " {'line': {'color': '#EF553B', 'dash': 'solid'},\n", + " 'name': 'M34 ',\n", + " 'type': 'scatter',\n", + " 'uid': 'b6878d53-29ad-4609-86f1-577c87309849',\n", + " 'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528],\n", + " shape=(1396,)),\n", + " 'xaxis': 'x12',\n", + " 'y': array([0.95555, 0.9645 , 0.95821, ..., 0.87712, 0.87629, 0.87661],\n", + " shape=(1396,)),\n", + " 'yaxis': 'y12'},\n", + " {'line': {'color': '#EF553B', 'dash': 'dash'},\n", + " 'name': 'M34 theory',\n", + " 'type': 'scatter',\n", + " 'uid': '9601bf1e-5a8f-4521-8123-7598d86e9b30',\n", + " 'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528],\n", + " shape=(1396,)),\n", + " 'xaxis': 'x12',\n", + " 'y': array([0.95381573, 0.95365995, 0.95360538, ..., 0.88020251, 0.87997578,\n", + " 0.87974912], shape=(1396,)),\n", + " 'yaxis': 'y12'},\n", + " {'line': {'color': '#00CC96', 'dash': 'solid'},\n", + " 'name': 'M41 ',\n", + " 'type': 'scatter',\n", + " 'uid': '227a29da-5831-4825-abfe-5f1a1eaede00',\n", + " 'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528],\n", + " shape=(1396,)),\n", + " 'xaxis': 'x13',\n", + " 'y': array([ 0.00986, 0.00917, 0.00712, ..., -0.00585, 0.00882, -0.00692],\n", + " shape=(1396,)),\n", + " 'yaxis': 'y13'},\n", + " {'line': {'color': '#00CC96', 'dash': 'dash'},\n", + " 'name': 'M41 theory',\n", + " 'type': 'scatter',\n", + " 'uid': 'f663fc66-b86d-461d-b338-dddaae60d77e',\n", + " 'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528],\n", + " shape=(1396,)),\n", + " 'xaxis': 'x13',\n", + " 'y': array([0., 0., 0., ..., 0., 0., 0.], shape=(1396,)),\n", + " 'yaxis': 'y13'},\n", + " {'line': {'color': '#AB63FA', 'dash': 'solid'},\n", + " 'name': 'M42 ',\n", + " 'type': 'scatter',\n", + " 'uid': '852178c0-e3e8-409c-8389-001133fbd531',\n", + " 'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528],\n", + " shape=(1396,)),\n", + " 'xaxis': 'x14',\n", + " 'y': array([ 0.00048, 0.01319, 0.00891, ..., -0.01388, 0.00424, -0.0126 ],\n", + " shape=(1396,)),\n", + " 'yaxis': 'y14'},\n", + " {'line': {'color': '#AB63FA', 'dash': 'dash'},\n", + " 'name': 'M42 theory',\n", + " 'type': 'scatter',\n", + " 'uid': 'f864ba72-7225-46bd-9954-8c2ceeb3e1f3',\n", + " 'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528],\n", + " shape=(1396,)),\n", + " 'xaxis': 'x14',\n", + " 'y': array([0., 0., 0., ..., 0., 0., 0.], shape=(1396,)),\n", + " 'yaxis': 'y14'},\n", + " {'line': {'color': '#FFA15A', 'dash': 'solid'},\n", + " 'name': 'M43 ',\n", + " 'type': 'scatter',\n", + " 'uid': '1c19bfd6-bc22-413c-866a-0a0ae2d8e54b',\n", + " 'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528],\n", + " shape=(1396,)),\n", + " 'xaxis': 'x15',\n", + " 'y': array([-0.95574, -0.96899, -0.96191, ..., -0.8796 , -0.87907, -0.87849],\n", + " shape=(1396,)),\n", + " 'yaxis': 'y15'},\n", + " {'line': {'color': '#FFA15A', 'dash': 'dash'},\n", + " 'name': 'M43 theory',\n", + " 'type': 'scatter',\n", + " 'uid': '6d362e92-fc75-452a-80e1-c1346352c598',\n", + " 'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528],\n", + " shape=(1396,)),\n", + " 'xaxis': 'x15',\n", + " 'y': array([-0.95381573, -0.95365995, -0.95360538, ..., -0.88020251, -0.87997578,\n", + " -0.87974912], shape=(1396,)),\n", + " 'yaxis': 'y15'},\n", + " {'line': {'color': '#19D3F3', 'dash': 'solid'},\n", + " 'name': 'M44 ',\n", + " 'type': 'scatter',\n", + " 'uid': 'e834017e-23f2-4a55-ac45-d1b8e8e7b211',\n", + " 'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528],\n", + " shape=(1396,)),\n", + " 'xaxis': 'x16',\n", + " 'y': array([0.25821, 0.24432, 0.24986, ..., 0.16743, 0.15105, 0.16637],\n", + " shape=(1396,)),\n", + " 'yaxis': 'y16'},\n", + " {'line': {'color': '#19D3F3', 'dash': 'dash'},\n", + " 'name': 'M44 theory',\n", + " 'type': 'scatter',\n", + " 'uid': '2f1e1e95-ac66-4f4b-a37c-29da7fd10f34',\n", + " 'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528],\n", + " shape=(1396,)),\n", + " 'xaxis': 'x16',\n", + " 'y': array([0.28633493, 0.28495866, 0.28318747, ..., 0.15873433, 0.1585769 ,\n", + " 0.15841941], shape=(1396,)),\n", + " 'yaxis': 'y16'}],\n", + " 'layout': {'template': '...',\n", + " 'xaxis': {'anchor': 'y', 'domain': [0.0, 0.2125], 'matches': 'x'},\n", + " 'xaxis10': {'anchor': 'y10', 'domain': [0.2625, 0.475], 'matches': 'x'},\n", + " 'xaxis11': {'anchor': 'y11', 'domain': [0.525, 0.7375], 'matches': 'x'},\n", + " 'xaxis12': {'anchor': 'y12', 'domain': [0.7875, 1.0], 'matches': 'x'},\n", + " 'xaxis13': {'anchor': 'y13', 'domain': [0.0, 0.2125], 'matches': 'x'},\n", + " 'xaxis14': {'anchor': 'y14', 'domain': [0.2625, 0.475], 'matches': 'x'},\n", + " 'xaxis15': {'anchor': 'y15', 'domain': [0.525, 0.7375], 'matches': 'x'},\n", + " 'xaxis16': {'anchor': 'y16', 'domain': [0.7875, 1.0], 'matches': 'x'},\n", + " 'xaxis2': {'anchor': 'y2', 'domain': [0.2625, 0.475], 'matches': 'x'},\n", + " 'xaxis3': {'anchor': 'y3', 'domain': [0.525, 0.7375], 'matches': 'x'},\n", + " 'xaxis4': {'anchor': 'y4', 'domain': [0.7875, 1.0], 'matches': 'x'},\n", + " 'xaxis5': {'anchor': 'y5', 'domain': [0.0, 0.2125], 'matches': 'x'},\n", + " 'xaxis6': {'anchor': 'y6', 'domain': [0.2625, 0.475], 'matches': 'x'},\n", + " 'xaxis7': {'anchor': 'y7', 'domain': [0.525, 0.7375], 'matches': 'x'},\n", + " 'xaxis8': {'anchor': 'y8', 'domain': [0.7875, 1.0], 'matches': 'x'},\n", + " 'xaxis9': {'anchor': 'y9', 'domain': [0.0, 0.2125], 'matches': 'x'},\n", + " 'yaxis': {'anchor': 'x', 'domain': [0.80625, 1.0]},\n", + " 'yaxis10': {'anchor': 'x10', 'domain': [0.26875, 0.4625]},\n", + " 'yaxis11': {'anchor': 'x11', 'domain': [0.26875, 0.4625]},\n", + " 'yaxis12': {'anchor': 'x12', 'domain': [0.26875, 0.4625]},\n", + " 'yaxis13': {'anchor': 'x13', 'domain': [0.0, 0.19375]},\n", + " 'yaxis14': {'anchor': 'x14', 'domain': [0.0, 0.19375]},\n", + " 'yaxis15': {'anchor': 'x15', 'domain': [0.0, 0.19375]},\n", + " 'yaxis16': {'anchor': 'x16', 'domain': [0.0, 0.19375]},\n", + " 'yaxis2': {'anchor': 'x2', 'domain': [0.80625, 1.0]},\n", + " 'yaxis3': {'anchor': 'x3', 'domain': [0.80625, 1.0]},\n", + " 'yaxis4': {'anchor': 'x4', 'domain': [0.80625, 1.0]},\n", + " 'yaxis5': {'anchor': 'x5', 'domain': [0.5375, 0.73125]},\n", + " 'yaxis6': {'anchor': 'x6', 'domain': [0.5375, 0.73125]},\n", + " 'yaxis7': {'anchor': 'x7', 'domain': [0.5375, 0.73125]},\n", + " 'yaxis8': {'anchor': 'x8', 'domain': [0.5375, 0.73125]},\n", + " 'yaxis9': {'anchor': 'x9', 'domain': [0.26875, 0.4625]}}\n", + "})" ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "fit_stats = model.fit()\n", + "model.plot(full_scale=False)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "For comparison we plot the residual again to have a figure of merit\n", + "for the fit quality\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "collapsed": false, + "execution": { + "iopub.execute_input": "2025-10-14T21:19:36.681246Z", + "iopub.status.busy": "2025-10-14T21:19:36.681139Z", + "iopub.status.idle": "2025-10-14T21:19:36.743895Z", + "shell.execute_reply": "2025-10-14T21:19:36.743578Z", + "shell.execute_reply.started": "2025-10-14T21:19:36.681236Z" }, + "jupyter": { + "outputs_hidden": false + } + }, + "outputs": [ { - "cell_type": "code", - "execution_count": null, - "metadata": { - "collapsed": false + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "051741415d8b498885c6384678a771e1", + "version_major": 2, + "version_minor": 0 }, - "outputs": [], - "source": [ - "fit_stats" + "text/plain": [ + "FigureWidget({\n", + " 'data': [{'line': {'color': '#636EFA', 'dash': 'solid'},\n", + " 'name': 'M11 ',\n", + " 'type': 'scatter',\n", + " 'uid': 'e1be276c-3b2a-41b6-afa4-49b62b3356e4',\n", + " 'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528],\n", + " shape=(1396,)),\n", + " 'xaxis': 'x',\n", + " 'y': array([0., 0., 0., ..., 0., 0., 0.], shape=(1396,)),\n", + " 'yaxis': 'y'},\n", + " {'line': {'color': '#EF553B', 'dash': 'solid'},\n", + " 'name': 'M12 ',\n", + " 'type': 'scatter',\n", + " 'uid': 'c996633b-553f-4dab-8b96-234228d07537',\n", + " 'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528],\n", + " shape=(1396,)),\n", + " 'xaxis': 'x2',\n", + " 'y': array([ 0.00065224, 0.01219155, 0.00420564, ..., -0.00481608, -0.00370779,\n", + " -0.00445863], shape=(1396,)),\n", + " 'yaxis': 'y2'},\n", + " {'line': {'color': '#00CC96', 'dash': 'solid'},\n", + " 'name': 'M13 ',\n", + " 'type': 'scatter',\n", + " 'uid': 'd3534aef-a081-4942-a550-d3a7bdde91be',\n", + " 'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528],\n", + " shape=(1396,)),\n", + " 'xaxis': 'x3',\n", + " 'y': array([ 0.01241, 0.01151, 0.00694, ..., -0.00887, 0.00646, -0.0117 ],\n", + " shape=(1396,)),\n", + " 'yaxis': 'y3'},\n", + " {'line': {'color': '#AB63FA', 'dash': 'solid'},\n", + " 'name': 'M14 ',\n", + " 'type': 'scatter',\n", + " 'uid': 'b2a6945f-2a7b-4301-8b30-520b3bb72c38',\n", + " 'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528],\n", + " shape=(1396,)),\n", + " 'xaxis': 'x4',\n", + " 'y': array([ 0.00614, 0.00901, 0.00475, ..., -0.00626, 0.0061 , -0.0055 ],\n", + " shape=(1396,)),\n", + " 'yaxis': 'y4'},\n", + " {'line': {'color': '#FFA15A', 'dash': 'solid'},\n", + " 'name': 'M21 ',\n", + " 'type': 'scatter',\n", + " 'uid': '14b50174-bccb-431b-ab3a-4c2a62ba11c1',\n", + " 'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528],\n", + " shape=(1396,)),\n", + " 'xaxis': 'x5',\n", + " 'y': array([ 0.00523224, 0.00094155, 0.00542564, ..., -0.00702608, -0.00650779,\n", + " -0.00691863], shape=(1396,)),\n", + " 'yaxis': 'y5'},\n", + " {'line': {'color': '#19D3F3', 'dash': 'solid'},\n", + " 'name': 'M22 ',\n", + " 'type': 'scatter',\n", + " 'uid': '5efaad18-cad0-4cfe-a627-dc6310624910',\n", + " 'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528],\n", + " shape=(1396,)),\n", + " 'xaxis': 'x6',\n", + " 'y': array([0.00574, 0.00525, 0.00363, ..., 0.00277, 0.00339, 0.00394],\n", + " shape=(1396,)),\n", + " 'yaxis': 'y6'},\n", + " {'line': {'color': '#FF6692', 'dash': 'solid'},\n", + " 'name': 'M23 ',\n", + " 'type': 'scatter',\n", + " 'uid': '8065b809-dc2a-4983-a8a5-165bd9ccde59',\n", + " 'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528],\n", + " shape=(1396,)),\n", + " 'xaxis': 'x7',\n", + " 'y': array([ 0.00364, 0.00427, 0.00207, ..., 0.00457, -0.00234, 0.00653],\n", + " shape=(1396,)),\n", + " 'yaxis': 'y7'},\n", + " {'line': {'color': '#B6E880', 'dash': 'solid'},\n", + " 'name': 'M24 ',\n", + " 'type': 'scatter',\n", + " 'uid': '3d7eb117-b459-4021-a3da-b368b3075a05',\n", + " 'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528],\n", + " shape=(1396,)),\n", + " 'xaxis': 'x8',\n", + " 'y': array([-0.01084, 0.00325, -0.01123, ..., 0.00263, -0.00227, 0.00311],\n", + " shape=(1396,)),\n", + " 'yaxis': 'y8'},\n", + " {'line': {'color': '#FF97FF', 'dash': 'solid'},\n", + " 'name': 'M31 ',\n", + " 'type': 'scatter',\n", + " 'uid': '951900d8-d569-48b2-bbf2-fcf58a26b60e',\n", + " 'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528],\n", + " shape=(1396,)),\n", + " 'xaxis': 'x9',\n", + " 'y': array([ 0.00278, 0.00634, 0.00219, ..., -0.00055, 0.00105, -0.00037],\n", + " shape=(1396,)),\n", + " 'yaxis': 'y9'},\n", + " {'line': {'color': '#FECB52', 'dash': 'solid'},\n", + " 'name': 'M32 ',\n", + " 'type': 'scatter',\n", + " 'uid': '3571dbed-b3a1-4544-a613-690afa7904eb',\n", + " 'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528],\n", + " shape=(1396,)),\n", + " 'xaxis': 'x10',\n", + " 'y': array([ 0.00212, 0.00045, -0.0003 , ..., 0.0018 , 0.00042, -0.00037],\n", + " shape=(1396,)),\n", + " 'yaxis': 'y10'},\n", + " {'line': {'color': '#636EFA', 'dash': 'solid'},\n", + " 'name': 'M33 ',\n", + " 'type': 'scatter',\n", + " 'uid': '9b79536c-ed20-4ec0-b5d7-c733dd4b2fbe',\n", + " 'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528],\n", + " shape=(1396,)),\n", + " 'xaxis': 'x11',\n", + " 'y': array([ 0.01350493, 0.01769866, 0.01038747, ..., -0.00362567, -0.0041331 ,\n", + " -0.00413059], shape=(1396,)),\n", + " 'yaxis': 'y11'},\n", + " {'line': {'color': '#EF553B', 'dash': 'solid'},\n", + " 'name': 'M34 ',\n", + " 'type': 'scatter',\n", + " 'uid': 'df4e305f-3297-4b29-a924-26c9e7e93db1',\n", + " 'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528],\n", + " shape=(1396,)),\n", + " 'xaxis': 'x12',\n", + " 'y': array([-0.00173427, -0.01084005, -0.00460462, ..., 0.00308251, 0.00368578,\n", + " 0.00313912], shape=(1396,)),\n", + " 'yaxis': 'y12'},\n", + " {'line': {'color': '#00CC96', 'dash': 'solid'},\n", + " 'name': 'M41 ',\n", + " 'type': 'scatter',\n", + " 'uid': '60f19cb2-2ba8-4a2a-94bb-bc0462d0dbd2',\n", + " 'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528],\n", + " shape=(1396,)),\n", + " 'xaxis': 'x13',\n", + " 'y': array([-0.00986, -0.00917, -0.00712, ..., 0.00585, -0.00882, 0.00692],\n", + " shape=(1396,)),\n", + " 'yaxis': 'y13'},\n", + " {'line': {'color': '#AB63FA', 'dash': 'solid'},\n", + " 'name': 'M42 ',\n", + " 'type': 'scatter',\n", + " 'uid': '65b57141-2669-4e11-a533-12204285b41d',\n", + " 'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528],\n", + " shape=(1396,)),\n", + " 'xaxis': 'x14',\n", + " 'y': array([-0.00048, -0.01319, -0.00891, ..., 0.01388, -0.00424, 0.0126 ],\n", + " shape=(1396,)),\n", + " 'yaxis': 'y14'},\n", + " {'line': {'color': '#FFA15A', 'dash': 'solid'},\n", + " 'name': 'M43 ',\n", + " 'type': 'scatter',\n", + " 'uid': '9b00995a-0c27-4f9d-a1be-1b1edc73f748',\n", + " 'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528],\n", + " shape=(1396,)),\n", + " 'xaxis': 'x15',\n", + " 'y': array([ 0.00192427, 0.01533005, 0.00830462, ..., -0.00060251, -0.00090578,\n", + " -0.00125912], shape=(1396,)),\n", + " 'yaxis': 'y15'},\n", + " {'line': {'color': '#19D3F3', 'dash': 'solid'},\n", + " 'name': 'M44 ',\n", + " 'type': 'scatter',\n", + " 'uid': '9756afd8-7add-4876-b80f-1cd7dfbf3380',\n", + " 'x': array([210.30366, 210.76102, 211.21834, ..., 818.9224 , 819.33886, 819.75528],\n", + " shape=(1396,)),\n", + " 'xaxis': 'x16',\n", + " 'y': array([ 0.02812493, 0.04063866, 0.03332747, ..., -0.00869567, 0.0075269 ,\n", + " -0.00795059], shape=(1396,)),\n", + " 'yaxis': 'y16'}],\n", + " 'layout': {'template': '...',\n", + " 'xaxis': {'anchor': 'y', 'domain': [0.0, 0.2125], 'matches': 'x'},\n", + " 'xaxis10': {'anchor': 'y10', 'domain': [0.2625, 0.475], 'matches': 'x'},\n", + " 'xaxis11': {'anchor': 'y11', 'domain': [0.525, 0.7375], 'matches': 'x'},\n", + " 'xaxis12': {'anchor': 'y12', 'domain': [0.7875, 1.0], 'matches': 'x'},\n", + " 'xaxis13': {'anchor': 'y13', 'domain': [0.0, 0.2125], 'matches': 'x'},\n", + " 'xaxis14': {'anchor': 'y14', 'domain': [0.2625, 0.475], 'matches': 'x'},\n", + " 'xaxis15': {'anchor': 'y15', 'domain': [0.525, 0.7375], 'matches': 'x'},\n", + " 'xaxis16': {'anchor': 'y16', 'domain': [0.7875, 1.0], 'matches': 'x'},\n", + " 'xaxis2': {'anchor': 'y2', 'domain': [0.2625, 0.475], 'matches': 'x'},\n", + " 'xaxis3': {'anchor': 'y3', 'domain': [0.525, 0.7375], 'matches': 'x'},\n", + " 'xaxis4': {'anchor': 'y4', 'domain': [0.7875, 1.0], 'matches': 'x'},\n", + " 'xaxis5': {'anchor': 'y5', 'domain': [0.0, 0.2125], 'matches': 'x'},\n", + " 'xaxis6': {'anchor': 'y6', 'domain': [0.2625, 0.475], 'matches': 'x'},\n", + " 'xaxis7': {'anchor': 'y7', 'domain': [0.525, 0.7375], 'matches': 'x'},\n", + " 'xaxis8': {'anchor': 'y8', 'domain': [0.7875, 1.0], 'matches': 'x'},\n", + " 'xaxis9': {'anchor': 'y9', 'domain': [0.0, 0.2125], 'matches': 'x'},\n", + " 'yaxis': {'anchor': 'x', 'domain': [0.80625, 1.0]},\n", + " 'yaxis10': {'anchor': 'x10', 'domain': [0.26875, 0.4625]},\n", + " 'yaxis11': {'anchor': 'x11', 'domain': [0.26875, 0.4625]},\n", + " 'yaxis12': {'anchor': 'x12', 'domain': [0.26875, 0.4625]},\n", + " 'yaxis13': {'anchor': 'x13', 'domain': [0.0, 0.19375]},\n", + " 'yaxis14': {'anchor': 'x14', 'domain': [0.0, 0.19375]},\n", + " 'yaxis15': {'anchor': 'x15', 'domain': [0.0, 0.19375]},\n", + " 'yaxis16': {'anchor': 'x16', 'domain': [0.0, 0.19375]},\n", + " 'yaxis2': {'anchor': 'x2', 'domain': [0.80625, 1.0]},\n", + " 'yaxis3': {'anchor': 'x3', 'domain': [0.80625, 1.0]},\n", + " 'yaxis4': {'anchor': 'x4', 'domain': [0.80625, 1.0]},\n", + " 'yaxis5': {'anchor': 'x5', 'domain': [0.5375, 0.73125]},\n", + " 'yaxis6': {'anchor': 'x6', 'domain': [0.5375, 0.73125]},\n", + " 'yaxis7': {'anchor': 'x7', 'domain': [0.5375, 0.73125]},\n", + " 'yaxis8': {'anchor': 'x8', 'domain': [0.5375, 0.73125]},\n", + " 'yaxis9': {'anchor': 'x9', 'domain': [0.26875, 0.4625]}}\n", + "})" ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "model.plot_residual()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We may also print the fit statistics.\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "collapsed": false, + "execution": { + "iopub.execute_input": "2025-10-14T21:19:36.744545Z", + "iopub.status.busy": "2025-10-14T21:19:36.744434Z", + "iopub.status.idle": "2025-10-14T21:19:36.747336Z", + "shell.execute_reply": "2025-10-14T21:19:36.747055Z", + "shell.execute_reply.started": "2025-10-14T21:19:36.744535Z" }, + "jupyter": { + "outputs_hidden": false + } + }, + "outputs": [ { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## References\n[Here](https://github.com/PyEllips/pyElli/tree/master/examples/SiO2_Si%20Mueller%20Matrix)\nyou can find the latest jupyter notebook and data files of this example.\n\n" + "data": { + "text/html": [ + "

Fit Result

Fit Statistics
fitting methodleastsq
# function evals74
# data points22336
# variables7
chi-square 2.99332582
reduced chi-square 1.3406e-04
Akaike info crit.-199168.842
Bayesian info crit.-199112.744
Parameters
namevaluestandard errorrelative errorinitial valueminmaxvary
SiO2_n0 1.45182886 5.6718e-04(0.04%)1.452-100.000000 100.000000True
SiO2_n1 29.9761799 0.54615240(1.82%)36.0-40000.0000 40000.0000True
SiO2_n2 3.65209261 0.25167512(6.89%)0-40000.0000 40000.0000True
SiO2_k0 0.00516714 5.7022e-04(11.04%)0-100.000000 100.000000True
SiO2_k1-8.71330206 0.90760702(10.42%)0-40000.0000 40000.0000True
SiO2_k2 3.73975816 0.35994109(9.62%)0-40000.0000 40000.0000True
SiO2_d 103.730183 0.08896409(0.09%)120 0.00000000 40000.0000True
Correlations (unreported values are < 0.100)
Parameter1Parameter 2Correlation
SiO2_k1SiO2_k2-0.9753
SiO2_k0SiO2_k1-0.9634
SiO2_n1SiO2_n2-0.9513
SiO2_k0SiO2_d+0.9496
SiO2_n0SiO2_d-0.9490
SiO2_n0SiO2_k0-0.9011
SiO2_k0SiO2_k2+0.8896
SiO2_k1SiO2_d-0.8436
SiO2_n0SiO2_k1+0.8005
SiO2_k2SiO2_d+0.7314
SiO2_n0SiO2_k2-0.6941
SiO2_n1SiO2_d-0.4512
SiO2_n1SiO2_k0-0.4284
SiO2_n1SiO2_k1+0.3806
SiO2_n1SiO2_k2-0.3300
SiO2_n2SiO2_d+0.2208
SiO2_n2SiO2_k0+0.2097
SiO2_n2SiO2_k1-0.1862
SiO2_n2SiO2_k2+0.1615
SiO2_n0SiO2_n1+0.1569
" + ], + "text/plain": [ + "" ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.13" - } + ], + "source": [ + "fit_stats" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## References\n", + "[Here](https://github.com/PyEllips/pyElli/tree/master/examples/SiO2_Si%20Mueller%20Matrix)\n", + "you can find the latest jupyter notebook and data files of this example.\n", + "\n" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" }, - "nbformat": 4, - "nbformat_minor": 0 -} \ No newline at end of file + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.13.7" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/examples/TiO2 Fit/TiO2 Multilayerfit.ipynb b/examples/TiO2 Fit/TiO2 Multilayerfit.ipynb index bda5d800..a8298c3f 100644 --- a/examples/TiO2 Fit/TiO2 Multilayerfit.ipynb +++ b/examples/TiO2 Fit/TiO2 Multilayerfit.ipynb @@ -6,11 +6,11 @@ "metadata": { "collapsed": false, "execution": { - "iopub.execute_input": "2024-06-28T09:13:44.843806Z", - "iopub.status.busy": "2024-06-28T09:13:44.843591Z", - "iopub.status.idle": "2024-06-28T09:13:45.917983Z", - "shell.execute_reply": "2024-06-28T09:13:45.917335Z", - "shell.execute_reply.started": "2024-06-28T09:13:44.843784Z" + "iopub.execute_input": "2025-10-14T21:19:58.085771Z", + "iopub.status.busy": "2025-10-14T21:19:58.085606Z", + "iopub.status.idle": "2025-10-14T21:19:58.350099Z", + "shell.execute_reply": "2025-10-14T21:19:58.349744Z", + "shell.execute_reply.started": "2025-10-14T21:19:58.085759Z" }, "jupyter": { "outputs_hidden": false @@ -37,11 +37,11 @@ "metadata": { "collapsed": false, "execution": { - "iopub.execute_input": "2024-06-28T09:13:45.919042Z", - "iopub.status.busy": "2024-06-28T09:13:45.918777Z", - "iopub.status.idle": "2024-06-28T09:13:48.809389Z", - "shell.execute_reply": "2024-06-28T09:13:48.808795Z", - "shell.execute_reply.started": "2024-06-28T09:13:45.919022Z" + "iopub.execute_input": "2025-10-14T21:19:58.350571Z", + "iopub.status.busy": "2025-10-14T21:19:58.350419Z", + "iopub.status.idle": "2025-10-14T21:19:59.757104Z", + "shell.execute_reply": "2025-10-14T21:19:59.756751Z", + "shell.execute_reply.started": "2025-10-14T21:19:58.350559Z" }, "jupyter": { "outputs_hidden": false @@ -74,11 +74,11 @@ "metadata": { "collapsed": false, "execution": { - "iopub.execute_input": "2024-06-28T09:13:48.813956Z", - "iopub.status.busy": "2024-06-28T09:13:48.810424Z", - "iopub.status.idle": "2024-06-28T09:13:48.846659Z", - "shell.execute_reply": "2024-06-28T09:13:48.845069Z", - "shell.execute_reply.started": "2024-06-28T09:13:48.813929Z" + "iopub.execute_input": "2025-10-14T21:19:59.757708Z", + "iopub.status.busy": "2025-10-14T21:19:59.757478Z", + "iopub.status.idle": "2025-10-14T21:19:59.776748Z", + "shell.execute_reply": "2025-10-14T21:19:59.776441Z", + "shell.execute_reply.started": "2025-10-14T21:19:59.757695Z" }, "jupyter": { "outputs_hidden": false @@ -109,11 +109,11 @@ "metadata": { "collapsed": false, "execution": { - "iopub.execute_input": "2024-06-28T09:13:48.847906Z", - "iopub.status.busy": "2024-06-28T09:13:48.847650Z", - "iopub.status.idle": "2024-06-28T09:13:48.857282Z", - "shell.execute_reply": "2024-06-28T09:13:48.854987Z", - "shell.execute_reply.started": "2024-06-28T09:13:48.847883Z" + "iopub.execute_input": "2025-10-14T21:19:59.777151Z", + "iopub.status.busy": "2025-10-14T21:19:59.777050Z", + "iopub.status.idle": "2025-10-14T21:19:59.781092Z", + "shell.execute_reply": "2025-10-14T21:19:59.780784Z", + "shell.execute_reply.started": "2025-10-14T21:19:59.777142Z" }, "jupyter": { "outputs_hidden": false @@ -162,11 +162,11 @@ "metadata": { "collapsed": false, "execution": { - "iopub.execute_input": "2024-06-28T09:13:48.858129Z", - "iopub.status.busy": "2024-06-28T09:13:48.857916Z", - "iopub.status.idle": "2024-06-28T09:13:50.073971Z", - "shell.execute_reply": "2024-06-28T09:13:50.070507Z", - "shell.execute_reply.started": "2024-06-28T09:13:48.858108Z" + "iopub.execute_input": "2025-10-14T21:19:59.781485Z", + "iopub.status.busy": "2025-10-14T21:19:59.781388Z", + "iopub.status.idle": "2025-10-14T21:20:00.398706Z", + "shell.execute_reply": "2025-10-14T21:20:00.398324Z", + "shell.execute_reply.started": "2025-10-14T21:19:59.781476Z" }, "jupyter": { "outputs_hidden": false @@ -196,11 +196,11 @@ "metadata": { "collapsed": false, "execution": { - "iopub.execute_input": "2024-06-28T09:13:50.078086Z", - "iopub.status.busy": "2024-06-28T09:13:50.075461Z", - "iopub.status.idle": "2024-06-28T09:13:50.709374Z", - "shell.execute_reply": "2024-06-28T09:13:50.708627Z", - "shell.execute_reply.started": "2024-06-28T09:13:50.078060Z" + "iopub.execute_input": "2025-10-14T21:20:00.399720Z", + "iopub.status.busy": "2025-10-14T21:20:00.399564Z", + "iopub.status.idle": "2025-10-14T21:20:00.644962Z", + "shell.execute_reply": "2025-10-14T21:20:00.644643Z", + "shell.execute_reply.started": "2025-10-14T21:20:00.399709Z" }, "jupyter": { "outputs_hidden": false @@ -210,7 +210,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "874d3823dee24df48c0cd31b156c65a1", + "model_id": "30df5ab1ad1b4a4b99207c01da3c9969", "version_major": 2, "version_minor": 0 }, @@ -264,11 +264,11 @@ "metadata": { "collapsed": false, "execution": { - "iopub.execute_input": "2024-06-28T09:13:50.711150Z", - "iopub.status.busy": "2024-06-28T09:13:50.710861Z", - "iopub.status.idle": "2024-06-28T09:13:50.824346Z", - "shell.execute_reply": "2024-06-28T09:13:50.822566Z", - "shell.execute_reply.started": "2024-06-28T09:13:50.711126Z" + "iopub.execute_input": "2025-10-14T21:20:00.645404Z", + "iopub.status.busy": "2025-10-14T21:20:00.645300Z", + "iopub.status.idle": "2025-10-14T21:20:00.685429Z", + "shell.execute_reply": "2025-10-14T21:20:00.685156Z", + "shell.execute_reply.started": "2025-10-14T21:20:00.645394Z" }, "jupyter": { "outputs_hidden": false @@ -278,7 +278,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "351d155eabeb4d8bb2a47b84b1b1fcf5", + "model_id": "7908a2bc344b49f7ac3f418fbadc0174", "version_major": 2, "version_minor": 0 }, @@ -292,10 +292,12 @@ " 'name': 'Ψ',\n", " 'showlegend': True,\n", " 'type': 'scattergl',\n", - " 'uid': 'f0bcf5c1-4723-4ebc-b873-1f657593b0c8',\n", - " 'x': array([400.07646, 400.51975, 400.96301, ..., 798.88197, 799.30046, 799.71891]),\n", + " 'uid': 'e3cfb6d8-5fb7-4365-b7c4-fa87fb96b785',\n", + " 'x': array([400.07646, 400.51975, 400.96301, ..., 798.88197, 799.30046, 799.71891],\n", + " shape=(1852,)),\n", " 'xaxis': 'x',\n", - " 'y': array([32.75947, 32.84076, 32.84675, ..., nan, nan, nan]),\n", + " 'y': array([32.75947, 32.84076, 32.84675, ..., nan, nan, nan],\n", + " shape=(1852,)),\n", " 'yaxis': 'y'},\n", " {'hovertemplate': 'variable=Δ
Wavelength=%{x}
value=%{y}',\n", " 'legendgroup': 'Δ',\n", @@ -305,11 +307,12 @@ " 'name': 'Δ',\n", " 'showlegend': True,\n", " 'type': 'scattergl',\n", - " 'uid': '2efd25e6-6489-4320-a23a-991d48f6217f',\n", - " 'x': array([400.07646, 400.51975, 400.96301, ..., 798.88197, 799.30046, 799.71891]),\n", + " 'uid': 'df2652d1-d9ca-46e9-b525-1161e4b35fb7',\n", + " 'x': array([400.07646, 400.51975, 400.96301, ..., 798.88197, 799.30046, 799.71891],\n", + " shape=(1852,)),\n", " 'xaxis': 'x',\n", " 'y': array([-132.57268, -132.11725, -131.5141 , ..., nan, nan,\n", - " nan]),\n", + " nan], shape=(1852,)),\n", " 'yaxis': 'y'},\n", " {'hovertemplate': 'variable=Ψ_fit
Wavelength=%{x}
value=%{y}',\n", " 'legendgroup': 'Ψ_fit',\n", @@ -319,11 +322,12 @@ " 'name': 'Ψ_fit',\n", " 'showlegend': True,\n", " 'type': 'scattergl',\n", - " 'uid': 'df405615-ed32-40c3-9f27-126daacea7f8',\n", - " 'x': array([400.07646, 400.51975, 400.96301, ..., 798.88197, 799.30046, 799.71891]),\n", + " 'uid': '73507853-93dc-4b09-a84a-6c0ab392c8aa',\n", + " 'x': array([400.07646, 400.51975, 400.96301, ..., 798.88197, 799.30046, 799.71891],\n", + " shape=(1852,)),\n", " 'xaxis': 'x',\n", " 'y': array([ nan, nan, nan, ..., 21.13502205, 21.16231399,\n", - " 21.18955407]),\n", + " 21.18955407], shape=(1852,)),\n", " 'yaxis': 'y'},\n", " {'hovertemplate': 'variable=Δ_fit
Wavelength=%{x}
value=%{y}',\n", " 'legendgroup': 'Δ_fit',\n", @@ -333,11 +337,12 @@ " 'name': 'Δ_fit',\n", " 'showlegend': True,\n", " 'type': 'scattergl',\n", - " 'uid': '29509ac8-da20-4fef-b02f-10376fe9cb9b',\n", - " 'x': array([400.07646, 400.51975, 400.96301, ..., 798.88197, 799.30046, 799.71891]),\n", + " 'uid': '6caeb9b2-8c52-40fe-b644-4fecf58c2db0',\n", + " 'x': array([400.07646, 400.51975, 400.96301, ..., 798.88197, 799.30046, 799.71891],\n", + " shape=(1852,)),\n", " 'xaxis': 'x',\n", " 'y': array([ nan, nan, nan, ..., -111.09599625,\n", - " -110.98086027, -110.86609469]),\n", + " -110.98086027, -110.86609469], shape=(1852,)),\n", " 'yaxis': 'y'}],\n", " 'layout': {'legend': {'title': {'text': 'variable'}, 'tracegroupgap': 0},\n", " 'margin': {'t': 60},\n", @@ -371,21 +376,31 @@ "metadata": { "collapsed": false, "execution": { - "iopub.execute_input": "2024-06-28T09:13:50.825319Z", - "iopub.status.busy": "2024-06-28T09:13:50.825083Z", - "iopub.status.idle": "2024-06-28T09:13:51.143279Z", - "shell.execute_reply": "2024-06-28T09:13:51.141989Z", - "shell.execute_reply.started": "2024-06-28T09:13:50.825298Z" + "iopub.execute_input": "2025-10-14T21:20:00.685837Z", + "iopub.status.busy": "2025-10-14T21:20:00.685740Z", + "iopub.status.idle": "2025-10-14T21:20:00.800970Z", + "shell.execute_reply": "2025-10-14T21:20:00.800507Z", + "shell.execute_reply.started": "2025-10-14T21:20:00.685827Z" }, "jupyter": { "outputs_hidden": false } }, "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/marius/.venv/pyelli/lib/python3.13/site-packages/uncertainties/core.py:1024: UserWarning:\n", + "\n", + "Using UFloat objects with std_dev==0 may give unexpected results.\n", + "\n" + ] + }, { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "b63385c609c94a66baf0eedc7f9ba25e", + "model_id": "844f84a5179543529bf32c198ab82767", "version_major": 2, "version_minor": 0 }, @@ -399,10 +414,12 @@ " 'name': 'Ψ',\n", " 'showlegend': True,\n", " 'type': 'scattergl',\n", - " 'uid': 'ed335efa-f785-4766-9a5b-8c48f9ad4c8d',\n", - " 'x': array([400.07646, 400.51975, 400.96301, ..., 798.88197, 799.30046, 799.71891]),\n", + " 'uid': 'aa54a9d7-9c8d-4b6e-8827-08965488a8c1',\n", + " 'x': array([400.07646, 400.51975, 400.96301, ..., 798.88197, 799.30046, 799.71891],\n", + " shape=(1852,)),\n", " 'xaxis': 'x',\n", - " 'y': array([32.75947, 32.84076, 32.84675, ..., nan, nan, nan]),\n", + " 'y': array([32.75947, 32.84076, 32.84675, ..., nan, nan, nan],\n", + " shape=(1852,)),\n", " 'yaxis': 'y'},\n", " {'hovertemplate': 'variable=Δ
Wavelength=%{x}
value=%{y}',\n", " 'legendgroup': 'Δ',\n", @@ -412,11 +429,12 @@ " 'name': 'Δ',\n", " 'showlegend': True,\n", " 'type': 'scattergl',\n", - " 'uid': 'b25fd3e4-c40a-4ef7-8065-baa5ca83fe15',\n", - " 'x': array([400.07646, 400.51975, 400.96301, ..., 798.88197, 799.30046, 799.71891]),\n", + " 'uid': 'cda2ed3a-6e14-4724-b0e1-ac680626a16c',\n", + " 'x': array([400.07646, 400.51975, 400.96301, ..., 798.88197, 799.30046, 799.71891],\n", + " shape=(1852,)),\n", " 'xaxis': 'x',\n", " 'y': array([-132.57268, -132.11725, -131.5141 , ..., nan, nan,\n", - " nan]),\n", + " nan], shape=(1852,)),\n", " 'yaxis': 'y'},\n", " {'hovertemplate': 'variable=Ψ_fit
Wavelength=%{x}
value=%{y}',\n", " 'legendgroup': 'Ψ_fit',\n", @@ -426,11 +444,12 @@ " 'name': 'Ψ_fit',\n", " 'showlegend': True,\n", " 'type': 'scattergl',\n", - " 'uid': 'a15841f2-0835-4d85-8e9a-e63717422f31',\n", - " 'x': array([400.07646, 400.51975, 400.96301, ..., 798.88197, 799.30046, 799.71891]),\n", + " 'uid': '663f445a-41b0-44da-b0e5-1ffa8197ca9d',\n", + " 'x': array([400.07646, 400.51975, 400.96301, ..., 798.88197, 799.30046, 799.71891],\n", + " shape=(1852,)),\n", " 'xaxis': 'x',\n", " 'y': array([ nan, nan, nan, ..., 20.20488814, 20.23141868,\n", - " 20.25790068]),\n", + " 20.25790068], shape=(1852,)),\n", " 'yaxis': 'y'},\n", " {'hovertemplate': 'variable=Δ_fit
Wavelength=%{x}
value=%{y}',\n", " 'legendgroup': 'Δ_fit',\n", @@ -440,11 +459,12 @@ " 'name': 'Δ_fit',\n", " 'showlegend': True,\n", " 'type': 'scattergl',\n", - " 'uid': '541a415a-946f-488a-84c5-4d2c0b6b1ecb',\n", - " 'x': array([400.07646, 400.51975, 400.96301, ..., 798.88197, 799.30046, 799.71891]),\n", + " 'uid': 'e6802f86-f931-4ab9-9c94-87c16b9d4577',\n", + " 'x': array([400.07646, 400.51975, 400.96301, ..., 798.88197, 799.30046, 799.71891],\n", + " shape=(1852,)),\n", " 'xaxis': 'x',\n", - " 'y': array([ nan, nan, nan, ..., -118.64650333,\n", - " -118.5165033 , -118.38691231]),\n", + " 'y': array([ nan, nan, nan, ..., -118.64650334,\n", + " -118.5165033 , -118.38691232], shape=(1852,)),\n", " 'yaxis': 'y'}],\n", " 'layout': {'legend': {'title': {'text': 'variable'}, 'tracegroupgap': 0},\n", " 'margin': {'t': 60},\n", @@ -478,11 +498,11 @@ "metadata": { "collapsed": false, "execution": { - "iopub.execute_input": "2024-06-28T09:13:51.145117Z", - "iopub.status.busy": "2024-06-28T09:13:51.144864Z", - "iopub.status.idle": "2024-06-28T09:13:51.156820Z", - "shell.execute_reply": "2024-06-28T09:13:51.155249Z", - "shell.execute_reply.started": "2024-06-28T09:13:51.145098Z" + "iopub.execute_input": "2025-10-14T21:20:00.801536Z", + "iopub.status.busy": "2025-10-14T21:20:00.801393Z", + "iopub.status.idle": "2025-10-14T21:20:00.804607Z", + "shell.execute_reply": "2025-10-14T21:20:00.804258Z", + "shell.execute_reply.started": "2025-10-14T21:20:00.801523Z" }, "jupyter": { "outputs_hidden": false @@ -492,10 +512,10 @@ { "data": { "text/html": [ - "

Fit Result

Fit Statistics
fitting methodleastsq
# function evals32
# data points1852
# variables4
chi-square 0.04160577
reduced chi-square 2.2514e-05
Akaike info crit.-19814.9521
Bayesian info crit.-19792.8560
Parameters
namevaluestandard errorrelative errorinitial valueminmaxvary
SiO2_n0 1.45200000 0.00000000(0.00%)1.452-100.000000 100.000000False
SiO2_n1 36.0000000 0.00000000(0.00%)36.0-40000.0000 40000.0000False
SiO2_n2 0.00000000 0.000000000-40000.0000 40000.0000False
SiO2_k0 0.00000000 0.000000000-100.000000 100.000000False
SiO2_k1 0.00000000 0.000000000-40000.0000 40000.0000False
SiO2_k2 0.00000000 0.000000000-40000.0000 40000.0000False
SiO2_d 276.360000 0.00000000(0.00%)276.36 0.00000000 40000.0000False
TiO2_n0 2.22973557 0.00472756(0.21%)2.236-100.000000 100.000000True
TiO2_n1 461.689341 22.1724775(4.80%)451-40000.0000 40000.0000True
TiO2_n2 189.779573 25.7876508(13.59%)251-40000.0000 40000.0000True
TiO2_k0 0.00000000 0.000000000-100.000000 100.000000False
TiO2_k1 0.00000000 0.000000000-40000.0000 40000.0000False
TiO2_k2 0.00000000 0.000000000-40000.0000 40000.0000False
TiO2_d 24.8446396 0.01013894(0.04%)20 0.00000000 40000.0000True
Correlations (unreported values are < 0.100)
Parameter1Parameter 2Correlation
TiO2_n0TiO2_n1-0.9910
TiO2_n1TiO2_n2-0.9879
TiO2_n0TiO2_n2+0.9640
" + "

Fit Result

Fit Statistics
fitting methodleastsq
# function evals32
# data points1852
# variables4
chi-square 0.04160577
reduced chi-square 2.2514e-05
Akaike info crit.-19814.9521
Bayesian info crit.-19792.8560
Parameters
namevaluestandard errorrelative errorinitial valueminmaxvary
SiO2_n0 1.45200000 0.00000000(0.00%)1.452-100.000000 100.000000False
SiO2_n1 36.0000000 0.00000000(0.00%)36.0-40000.0000 40000.0000False
SiO2_n2 0.00000000 0.000000000-40000.0000 40000.0000False
SiO2_k0 0.00000000 0.000000000-100.000000 100.000000False
SiO2_k1 0.00000000 0.000000000-40000.0000 40000.0000False
SiO2_k2 0.00000000 0.000000000-40000.0000 40000.0000False
SiO2_d 276.360000 0.00000000(0.00%)276.36 0.00000000 40000.0000False
TiO2_n0 2.22973557 0.00472756(0.21%)2.236-100.000000 100.000000True
TiO2_n1 461.689339 22.1724774(4.80%)451-40000.0000 40000.0000True
TiO2_n2 189.779575 25.7876506(13.59%)251-40000.0000 40000.0000True
TiO2_k0 0.00000000 0.000000000-100.000000 100.000000False
TiO2_k1 0.00000000 0.000000000-40000.0000 40000.0000False
TiO2_k2 0.00000000 0.000000000-40000.0000 40000.0000False
TiO2_d 24.8446396 0.01013894(0.04%)20 0.00000000 40000.0000True
Correlations (unreported values are < 0.100)
Parameter1Parameter 2Correlation
TiO2_n0TiO2_n1-0.9910
TiO2_n1TiO2_n2-0.9879
TiO2_n0TiO2_n2+0.9640
" ], "text/plain": [ - "" + "" ] }, "execution_count": 9, @@ -534,7 +554,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.12.3" + "version": "3.13.7" } }, "nbformat": 4, diff --git a/examples/Total internal reflection/TIR.ipynb b/examples/Total internal reflection/TIR.ipynb index 06d9c2ce..c5d56786 100644 --- a/examples/Total internal reflection/TIR.ipynb +++ b/examples/Total internal reflection/TIR.ipynb @@ -7,7 +7,9 @@ "source": [ "# Example of Total Internal Reflection on the Glass / Air interface\n", "\n", - "Author: O. Castany, M.Müller" + "Author: O. Castany, M.Müller\n", + "\n", + "This notebook demonstrates the phenomenon of Total Internal Reflection (TIR) at the interface between glass and air using the pyElli library. The simulation calculates the reflection coefficients Rp and Rs as a function of the angle of incidence." ] }, { @@ -15,6 +17,13 @@ "execution_count": 1, "id": "1af63167", "metadata": { + "execution": { + "iopub.execute_input": "2025-10-14T21:32:20.526083Z", + "iopub.status.busy": "2025-10-14T21:32:20.525832Z", + "iopub.status.idle": "2025-10-14T21:32:21.942627Z", + "shell.execute_reply": "2025-10-14T21:32:21.942118Z", + "shell.execute_reply.started": "2025-10-14T21:32:20.526068Z" + }, "lines_to_next_cell": 2 }, "outputs": [], @@ -29,7 +38,11 @@ "id": "dea325fe", "metadata": {}, "source": [ - "## Structure definition" + "## Structure definition\n", + "\n", + "The structure is defined as a simple interface between a denser medium (Glass, the incident half-space) and a less dense medium (Air, the outgoing half-space).\n", + "\n", + "The critical angle for TIR is calculated by Snell's Law: Φ_c = arcsin(n_air / n_glass). With n_glass = 1.5 and n_air = 1.0, the critical angle should be Φ_c ≈ 41.81°." ] }, { @@ -37,25 +50,36 @@ "execution_count": 2, "id": "58b82a07", "metadata": { + "execution": { + "iopub.execute_input": "2025-10-14T21:32:21.943505Z", + "iopub.status.busy": "2025-10-14T21:32:21.943096Z", + "iopub.status.idle": "2025-10-14T21:32:21.946143Z", + "shell.execute_reply": "2025-10-14T21:32:21.945842Z", + "shell.execute_reply.started": "2025-10-14T21:32:21.943492Z" + }, "lines_to_next_cell": 2 }, "outputs": [], "source": [ - "# Refractive indices\n", + "# Refractive indices (wavelength is irrelevant for non-dispersive materials)\n", "n_glass = 1.5\n", "n_air = 1.0\n", "\n", "# Materials:\n", + "# Isotropic material definition for Glass (Incident Medium)\n", "glass = elli.IsotropicMaterial(elli.ConstantRefractiveIndex(n_glass))\n", + "# Isotropic material definition for Air (Outgoing Medium)\n", "air = elli.IsotropicMaterial(elli.ConstantRefractiveIndex(n_air))\n", "\n", "# Structure:\n", + "# Light is incident from the glass medium onto the air medium (Glass -> Air).\n", + "# The empty list '[]' indicates no intermediate layers.\n", "s = elli.Structure(glass, [], air)\n", "\n", - "# Wavelength\n", + "# Wavelength (a single value is sufficient for non-dispersive materials)\n", "lbda = 1000 # nm\n", "\n", - "# Variation of incidence angle\n", + "# Variation of incidence angle (Phi) from normal incidence to glancing incidence\n", "Phi_list = np.linspace(0, 89, 90)" ] }, @@ -64,7 +88,9 @@ "id": "2f3b9632", "metadata": {}, "source": [ - "## Calculation" + "## Calculation\n", + "\n", + "We iterate the pyElli evaluation over the list of incidence angles, Phi_list, to calculate the reflection and transmission properties for each angle. The results are collected into an elli.ResultList object for easy access." ] }, { @@ -72,6 +98,13 @@ "execution_count": 3, "id": "4907ea29", "metadata": { + "execution": { + "iopub.execute_input": "2025-10-14T21:32:21.946695Z", + "iopub.status.busy": "2025-10-14T21:32:21.946540Z", + "iopub.status.idle": "2025-10-14T21:32:21.972773Z", + "shell.execute_reply": "2025-10-14T21:32:21.972471Z", + "shell.execute_reply.started": "2025-10-14T21:32:21.946679Z" + }, "lines_to_next_cell": 2 }, "outputs": [], @@ -84,7 +117,9 @@ "id": "7497a521", "metadata": {}, "source": [ - "## Plotting" + "## Plotting\n", + "\n", + "The plot displays the power reflection coefficients for p-polarized light (R_pp) and s-polarized light (R_ss) versus the angle of incidence. Total Internal Reflection occurs when both coefficients jump to 1.0 at the critical angle." ] }, { @@ -92,20 +127,25 @@ "execution_count": 4, "id": "b127e651", "metadata": { + "execution": { + "iopub.execute_input": "2025-10-14T21:32:21.973234Z", + "iopub.status.busy": "2025-10-14T21:32:21.973122Z", + "iopub.status.idle": "2025-10-14T21:32:22.247969Z", + "shell.execute_reply": "2025-10-14T21:32:22.247650Z", + "shell.execute_reply.started": "2025-10-14T21:32:21.973224Z" + }, "lines_to_next_cell": 2, "scrolled": true }, "outputs": [ { "data": { - "image/png": "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\n", + "image/png": "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", "text/plain": [ - "
" + "
" ] }, - "metadata": { - "needs_background": "light" - }, + "metadata": {}, "output_type": "display_data" } ], @@ -153,7 +193,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.1" + "version": "3.13.7" }, "widgets": { "application/vnd.jupyter.widget-state+json": { From c177c8ce3de8dbde937cfacbce92a423ca96cf89 Mon Sep 17 00:00:00 2001 From: MarJMue <49639740+MarJMue@users.noreply.github.com> Date: Tue, 14 Oct 2025 23:38:01 +0200 Subject: [PATCH 4/6] Remove validation notebooks --- .../validation-cholesteric.ipynb | 265 --------------- .../FrustratedTIR-angle.ipynb | 281 ---------------- .../FrustratedTIR-thickness.ipynb | 318 ------------------ 3 files changed, 864 deletions(-) delete mode 100644 examples/Liquid crystals/validation-cholesteric.ipynb delete mode 100644 examples/Total internal reflection/FrustratedTIR-angle.ipynb delete mode 100644 examples/Total internal reflection/FrustratedTIR-thickness.ipynb diff --git a/examples/Liquid crystals/validation-cholesteric.ipynb b/examples/Liquid crystals/validation-cholesteric.ipynb deleted file mode 100644 index a856d343..00000000 --- a/examples/Liquid crystals/validation-cholesteric.ipynb +++ /dev/null @@ -1,265 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "d5a18d5e-91e5-45b5-afa1-cb993194b278", - "metadata": {}, - "source": [ - "# Example of a cholesteric liquid crystal\n", - "\n", - "Author: O. Castany, C. Molinaro, M. Müller" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "id": "65c2b21c", - "metadata": {}, - "outputs": [], - "source": [ - "import elli\n", - "import elli.plot as elliplot\n", - "import matplotlib.pyplot as plt\n", - "import numpy as np\n", - "from numpy.lib.scimath import sqrt\n", - "from scipy.constants import c, pi" - ] - }, - { - "cell_type": "markdown", - "id": "68f65d00", - "metadata": {}, - "source": [ - "## Set parameters" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "31c30e6e", - "metadata": {}, - "outputs": [], - "source": [ - "# Materials\n", - "front = back = elli.IsotropicMaterial(elli.ConstantRefractiveIndex(1.6))\n", - "\n", - "# Liquid crystal oriented along the x direction\n", - "(no, ne) = (1.5, 1.7)\n", - "Dn = ne - no\n", - "n_med = (ne + no) / 2\n", - "LC = elli.UniaxialMaterial(\n", - " elli.ConstantRefractiveIndex(no), elli.ConstantRefractiveIndex(ne)\n", - ") #  ne along z\n", - "R = elli.rotation_v_theta(elli.E_Y, 90) #  rotation round y\n", - "LC.set_rotation(R) #  apply rotation from z to x\n", - "# Cholesteric pitch:\n", - "p = 650\n", - "# One half turn of a right-handed helix:\n", - "TN = elli.TwistedLayer(LC, p / 2, 25, 180)\n", - "\n", - "# Inhomogeneous layer, repeated layer, and structure\n", - "N = 5 #  number half pitch repetitions\n", - "h = N * p / 2\n", - "L = elli.RepeatedLayers([TN], N)\n", - "s = elli.Structure(front, [L], back)\n", - "\n", - "# Normal incidence:\n", - "Kx = 0.0\n", - "\n", - "# Calculation parameters\n", - "lbda_min, lbda_max = 600, 1500 #  (nm)\n", - "lbda = np.linspace(lbda_min, lbda_max, 100)\n", - "k0 = 2 * pi / (lbda * 1e-9)" - ] - }, - { - "cell_type": "markdown", - "id": "79dc23b1", - "metadata": { - "lines_to_next_cell": 0 - }, - "source": [ - "## Analytical calculation for the power reflection coefficient" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "6e07c0cd", - "metadata": {}, - "outputs": [], - "source": [ - "q = 2 * pi / p / 1e-9\n", - "alpha = q / k0\n", - "epsilon = (no**2 + ne**2) / 2\n", - "delta = (no**2 - ne**2) / 2\n", - "n2 = sqrt((alpha**2 + epsilon - sqrt(4 * epsilon * alpha**2 + delta**2)))\n", - "w = 1j * (ne**2 - n2**2 - alpha**2) / (2 * alpha * n2) # not k0/c\n", - "A = -2j * k0 * n2 * h * 1e-9\n", - "\n", - "R_th = (\n", - " np.abs(\n", - " (w**2 + 1)\n", - " * (1 - np.exp(-2j * k0 * n2 * h * 1e-9))\n", - " / (\n", - " 2 * w * (1 + np.exp(-2j * k0 * n2 * h * 1e-9))\n", - " - 1j * (w**2 - 1) * (1 - np.exp(-2j * k0 * n2 * h * 1e-9))\n", - " )\n", - " )\n", - " ** 2\n", - ")" - ] - }, - { - "cell_type": "markdown", - "id": "836228a7", - "metadata": { - "lines_to_next_cell": 0 - }, - "source": [ - "## Calculation with pyElli" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "d07f0947", - "metadata": {}, - "outputs": [], - "source": [ - "data = s.evaluate(lbda, 0)\n", - "\n", - "# Jones matrices for the circular wave basis\n", - "# Right-circular wave is reflected in the stop-band\n", - "# R_LR, T_LR close to zero\n", - "R_RR = data.Rc_RR" - ] - }, - { - "cell_type": "markdown", - "id": "4f4aa7f7", - "metadata": { - "lines_to_next_cell": 0 - }, - "source": [ - "## Plotting" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "b2afb496", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYkAAAEaCAYAAADkL6tQAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/NK7nSAAAACXBIWXMAAAsTAAALEwEAmpwYAABWAklEQVR4nO3dd3iUVfbA8e9JJxBCS0LvgdBBsWDFgoIF7L23tbffurrNuq66u5Z11bW3tYBdRAQVsYEgIL0TaugEAoEkpJ3fH/dNGELKTMjMpJzP88yTybztTD3vLe+9oqoYY4wx5YkIdwDGGGNqL0sSxhhjKmRJwhhjTIUsSRhjjKmQJQljjDEVsiRhjDGmQvUmSYjIiyLyVz/XfVNE/naQx1stIicfzD5CcayD3HaoiGRUc9urROTn6mxbk0Sko4jsFpHIGtznVyJyZQ3sp9LYRORBEXnnYI8TaiLSWURURKLCHEe1P4Nlt/Xep641F93B7TeU3686kyS8H7tc70Xd5P3QNylZrqo3quojNXQsFZHuNbGv2k5EDheR8SKSJSLbReRXEbk63HHBwSWpEqq6VlWbqGpRgMeu8EuoqiNU9a2DietgYishIk1F5BkRWet9L9K9/1sdbGxljhO0HyQR6SEin4vIVu/zN1FEelay/psiku8935JbjZ0AVMR7n1YGc781cfIaDHUmSXjOVNUmwEBgEPDH8IZTt4nIEOA74AegO9ASuAkYEc64akq4z2SDSURigElAH2A40BQYAmQCh5ezfm19LZoBY4GeQArwK/B5Fdv8w/txbXIwSdb4p64lCQBUdRMwEZcsgAOzsIj8QUQ2isgGEbmunNJBcxH5UkSyRWS6iHTztvvRWz7XO0u5sJJQBorIPBHZKSJjRCTO20dzERnnnR3t8O6394ntexF5RESmeMf/2vfsT0QuF5E1IpIpIn/2PaCIRIjIfd5ZY6aIfCAiLfzZthz/BN5S1SdUdZs6s1T1gjLH/D8R2eK9nlf7PJ4oIm97z3ONiPxFRMr9TIlImoh8450tLhWRC3yWnSYii7zXYr2I/F5EGgNfAW19zhjbVvb8ZV81x7Uishb4TspUfYhICxF5w/tc7BCRz6p4jcp7Lt+LyHXe/UgR+ZeIbBORlSJyS5nj7VfdJz5VSOXE1kVEfvBeh2+AykoEVwAdgbNVdZGqFqvqFlV9RFXH+xz7XhGZB+wRkXtE5OMyz+VZEfm3d/8q7zlki8gqEblURHoBLwJDvPcgy1v3dBGZLSK7RGSdiDwY6OsIoKq/quprqrpdVQuAp4GeItKyOvsrj/f+7PCe0wifxxNF5DXvc71eRP4mFVf9qYh0F5EYEZkjIrd5j0d63+P7K9juTXFV4d94r+sPItKpnP3eAFwK/MF7nb/wlncQkU+871imiDx3sM/NO94P4n63tonImEpfQFWtEzdgNXCyd789MB/4t8/yN4G/efeHA5twZ1nxwDuAAt191i0544oC3gVG++yrdN0q4vkVaAu0ABYDN3rLWgLnesdOAD4EPvPZ9nsgHegBNPL+f9xb1hvYDRwHxAJPAYU+z/0OYJr3GsQCLwHv+7NtmfjjgSLghEqe41Bv+4eBaOA0IAdo7i1/G3fWlwB0BpYB13rLrgJ+9u43BtYBV3uv9yBgG9DbW74RONa73xw4xOf4GWViquz5d/beu7e9YzbyeSzKW+dLYIx3nGjg+Aqee2n85Sz7HrjOu38jsATo4H0OJpc53mrf1x94EHinTLwl6/7ivWex3nuYXbJuOTGMxiX4qj6jc7zYGgFtgD1AM295FLAFONR7vXYBPb1lbYA+Fb0W3nvTD3ei2R/YDJxV3vMK8Ht+FrCxkuVvAtu92yzg3ErWvQooAK4HInGl5A2AeMs/9T4/jYFk3Pf5d+U9Z/b//egL7AB6AX/GfR4jK4k3m33fyX9Xst838X7DvP8jgbm4xNkYiAOOqYHn9r4Xd4TvPit8HQN9E8N18z7wu70XXHFF7WZl3oySJPE68JjPsu7lvBmv+iw/DVhS3htXRTyX+fz/D+DFCtYdCOzw+f974C8+/98MTPDu38/+CasxkM++JLEYOMlneRvvwxJV1bZlYmrnPc+0Sp7jUCAXny877kflSO+DmY/3Q+8t+x3wfdkvGXAh8FOZfb8EPODdX+tt27Sc45dNEpU9/87ec+rqs7zksShv3WK8JFfF+1safznLvmdfkvgO7+TA+/8UqpEkcKWCQqCxz7rvUXGS+AbvxKKKz+g1ZR77Crjeu38GsMjns5KFO7lp5O9r4bPOM8DTZZ+XP99tn320B9YDF1eyziG4k7Ao3Pc2Gzi6kvdwhc//8V5crXFVW3t9nytwMTC5vOdMmd8E4P+ApbhkkVpJvG+y/3eyCe7krEPZ/XJgkhgCbC3vdTzI5/Y28DLQ3p/3pa5VN52lqgm4H480Ki6Ot8WduZZYV846m3zu5+DevHKJ681SUuVxaVX7EJF4EXlJXBXMLuBHoFmZomxFx98vdlXdgyv1lOgEfCquoTkL96NZhPtgVLWtrx24H8w2FT1vT6aqFpYTayvcmfgan2VrcMmnrE7AESUxe3FfivtAg/thOg1Y4xWDh1QST2XPv0R57ze4M+rtqrqjkv0HquxnbU1FK/qxnx3ee+bPvjKp+r2DA1+Lt4DLvPuXAf+D0s/KhbiS0UZxVbFpFe1URI4QkcleNchOb7tqN5iLSBLwNfCCqr5f0Xqq+puqZqpqobpqtXeBcyrZden3TFVzvLtNcJ+jaNxzLfksvYQ76/bHW94+xqvq8irW9f1O7saVgtr6cYwOwJoy3z9f1X1ufwAE+FVEForINZUFUdeSBACq+gMu6/6rglU24s5KSnQ4yOON0H2NZO/6scn/4RrijlDVpriiJrg3piob8YlXROJxZ04l1gEjVLWZzy1OVdf7sa3vc8rBVW+c60dM5dmGO4Pv5PNYR9yZYFnrgB/KxNxEVW/yYpmhqqNwH+LPgA9KwqxgXxU9fyrZrmTbFiLSzM/n6I/9XnPca+BrD+4sr0RryrcR107WuJJ9+foWOLXM+uUp+1p8BvQXkb64kkTp51lVJ6rqMFzyWQK8UsE+wJVyxuLOiBNx7Rb+fL4PICLNcQlirKo+GuDmWs3jrsOdbbfy+Rw1VdU+fm7/AjAO9x4cU8W6vt/JJrhqyQ3lrFf2dV4HdJTAOx1U+txUdZOqXq+qbXEl+Bekkt6cdTJJeJ4BhonIgHKWfQBcLSK9vB9Kv66f8LEZOJg+0Qm4aposcY2qDwSw7UfAGSJyjLgeLA+z//v0IvBoSeOXiCSJyCg/ty3rD8BVXoNmS29/A0RkdFVBqutR8oEXS4IXz9249p+yxgE9xDWqR3u3w7z3J0ZcA2miuobLXbgSDrj3oaWIJPr5/KuKeSOuuuUFcZ0LokXkuEo2ERGJ872Vs84HwO0i0t77sbuvzPI5wEXesQYD51UQ2xpgJvCQ95ocA5xZSWz/w/0YfCyuU0CEiLQUkT+JyGkVbaSqebjPyXvAr6q61nuiKSIyyks6e3FVu77vQ3vvM1UiAVcqyxORw4FLKjqmuMb67ytY1hTXCWWKqpZ97cpb/zwRaeI931NwpaGxVW1XlvdZ+Bp4UlxX4ggR6SYix/sRw+W4dpyrgNuBt8SnO345TvP5Tj4CTFPV8kq7ZX93fsWdPDwuIo29z+DRB/vcROR82deRZgcuORVXsLu6myRUdSuubu2AXgWq+hXwLK4RcQWuYQnch98fD+Le+Czx6YUTgGdwDYXbvGNP8HdDVV0I3IL7Em/EvYm+1wr8G/el+FpEsr39H+HntmWPNRU40butFJHtuLrK8X6GexvuTHkl8LN33NfLOU42rq7+ItwZ1CbgCVxDHsDlwGqvau5GXFUUqroE18i20nsv2lb2/P10Oa4EtATXvnJnJesehUv2pbdyzupewf3IzQV+Az4ps/yvQDfce/EQ7jWqyCW457Idd2LxdkUrqupe4GTveXyDS66/4qp8pldyDHBVJf3wqpo8Ebgkv8E7/vG4xlBw7S4LgU0iss177GbgYe89uJ99pb/ydACmVLDsbOAw3Emd77UPHQG8E4iFPuvfgSutZuF6512vqt9X8XwrcgUQAyzCvT8fUUUVnhfXM8AVqrpbVd/DJfenK9nsPdz7uR2XXC6rYL3XgN7eZ/0z70TsTFyb6lrcd7my3pa+KntuhwHTRWQ37rt0h1ZyDUhJS3i9Jq4b3wIgtpL6PWMOmoh0BlYB0bX1s+b90C0BWqvqrhAcbw6us0FF7WP1loi8iet88Zdwx1JddbYkURUROVtEYr0qgCeAL2rrl9aYUBF3HcvduB43QU8QAKo6sCEmiPqi3iYJXIPMFtz1CEXsKzob0yB57Q27gGEE1k5mGrAGUd1kjDGmeupzScIYY8xBqq2DflWpVatW2rlz53CHYYwxdcqsWbO2qWqSv+vX2STRuXNnZs6cGe4wjDGmThGRgEYFCEl1k4gMFzfy5woRKfeCGRG5QNxIoAtFpLK+5MYYY0Ik6CUJceMVPY/rUZEBzBCRsaq6yGedVNzcEEer6g4R8Xf8FGOMMUEUipLE4bjRCleqaj5uiOOywyhcDzxfMvCaqm4JQVzGGGOqEIok0Y79R6LM4MCRQnvgxvaZIiLTRGR4eTsSkRtEZKaIzNy6dWuQwjXGGFOitnSBjQJScUOAXwy8IuWM1KmqL6vqYFUdnJTkd+O8McaYagpFkljP/kMpl0ws4isDN0xwgaquws1wlhqC2IwxxlQiFEliBpAqbv7eGNxIoGWH9v0MV4pA3FzPPXAjixpjjAmjoPduUtVCEbkVN5xyJPC6qi4UkYeBmao61lt2iogswo2zdI8NCGbCJj8fpk+HX36BhATo2NHdeveGyMiqtzemHqmzYzcNHjxY7WI6U6PmzYM//hG+/x5ycg5c3qMH3HMPXH45xMYeuNyYOkBEZqnqYH/Xry0N18aET0EBPPIIDB4MM2bAtdfCp59CZiZs2ADTpsHrr0OTJnD99dClC4yucvI+Y+qFOjsshzE1Yv16OPNMmD0bLroI/vMfaNVq/3XatIEjjoCrroJJk+Avf4GLL3YJ5YknIMq+Rqb+spKEabiysmD4cFixAj7+GN5//8AE4UsETj4ZfvoJbrsNnnoKTj0Vtm2reBtj6jg7BTINU14ejBoFS5fCV1/BSSdVuOrewiKmrshkR04+hcWKqtLrDw/Tb9Ag5Kab3LY//giJiSF8AsaEhiUJ0/AUFbnG5x9/dKWHChLEvIwsPpi5ji/mbmRnbsEBy9s168RNf3qOSx+5CTn7bJdsrEHb1DOWJEzD88wz8NFH8OSTrh2ijIKiYp74agmv/ryK2KgITu3TmrMPaUfXVo2JEAFg2spMJizYxMPL2zHntDv519h/UXTFFUS+/z5EWC2uqT8sSZiGZe1aeOAB11h9110HLN6Qlcut7/3Gb2uzuPzITtwzvCdN46IPWK9Di3jOH9yBbbv38vAXrXls1zb++MGbbElqS/JzT4fimRgTEpYkTMNyxx2g6noxeaWCEks3ZXPRy79QUKT85+JBnDmgbZW7a9UklmcvHsR3Ax/jsyu3cNbzzzD/sGPpd+U5wXoGxoSUlYtNwzF2LHz2mStJdOq036It2Xlc8+YMYqIiGHvr0X4lCF8n9mrN0V+8w7rkjiTddgPfTV1Sg4EbEz6WJEzDsGeP67bap88B1Ux5BUVc//Ystu/J57UrD6NrUpNqHSIppTnNPh5Nqz1Z5F53A2PnlB3H0pi6x5KEaRj+/W/XHvHiixC9r42huFj5vw/mMi8ji2cuGkjfdgfXjTXhmCEUPfAgpy/+iR/vf5pZa3YcbOTGhJUlCVP/5eXBs8+6C+eOOWa/Re/9upYv52/kjyPSOLVP6xo5XOyf/0jhkUP466RX+MPLk9m8K69G9mtMOFiSMPXf//4Hmze7wfl8bNu9l39MWMKQri25/tiuNXe8yEiiXnqRpnm7ueabN/nd/2axt7Co5vZvTAhZkjD1W3Gxux7ikEPghBP2W/TY+CXkFhTxyFl9kDI9nQ5a//7I737Hxb+NJ+e3OTw4dmHN7t+YELEkYeq3L75wQ2/cc89+XV6nr8zk498yuP7YrnRPTgjOsR95hIimTXn5t3d4f/paJi/dEpzjGBNEliRM/fbPf0LnznDeeaUPFRQV89fPF9CuWSNuOzGIs+S2bAkPP0znOdO4cssc/vzJfLLzDhzew5jazJKEqb9++QWmTHFdXn2G8/5g5jqWbd7NgyP70CgmyDPN3Xgj9O3LHye/ztYdu3n8K7t+wtQtliRM/fXyy9C0KVxzTelDRcXKyz+uZECHZpzcKzn4MURFwaOPErdmFU/mL+Dd6Wv5Jd1m5jV1hyUJUz/l5ro5Is49180o5/lqwUbWZOZw0/Fda76xuiJnngmDBnHGF2/QtVksf/xkHvmFxaE5tjEHyZKEqZ++/BKys+GSS0ofUlVe/CGdrq0aM6x3zVwT4RcReOABIlam8zyLWZ2ZwzvT1oTu+MYcBEsSpn567z1o3Xq/bq9TVmSyYP0ubjiuK5ERISpFlBg5EgYOJO21Zzm+azOe/W55uXNUGFPbWJIw9c+OHa4kcdFFELmvYfrFH9JJTojl7EPahT4mrzQhK1bw99wF7Mwt4IXJK0IfhzEBsiRh6p9PPoH8fLj00tKH5mfs5OcV27jmmC7ERgW5R1NFRo2CgQNp9/yTnDugLW9MXc267TnhicUYP1mSMPXPu+9CaiocemjpQ+/9upZG0ZFcckTH8MUlAvfdB8uX8ydZiQD/+npp+OIxxg+WJEz9sn49fP+9a7D2ei/lFRQxbt4GhvdtXe4scyF1zjnQvj0tXn6Ba4/pwudzNrB8c3Z4YzKmEiFJEiIyXESWisgKEbmvnOVXichWEZnj3a4LRVymHhozxs0859OradLiLWTnFXJOONoiyoqOhltvhe++48bme4iPieSF79PDHZUxFQp6khCRSOB5YATQG7hYRHqXs+oYVR3o3V4Ndlymnho3Dvr1gx49Sh/65LcMUprGclS3VmEMzMf110N8PE1ffoFLj+jI2LkbWJtpbROmdgpFSeJwYIWqrlTVfGA0MCoExzUNTXY2/PwzjBhR+tC23Xv5ftlWzhrULvTdXivSogVceSW8+y7XpzUhUoT//mClCVM7hSJJtAPW+fyf4T1W1rkiMk9EPhKRDuXtSERuEJGZIjJz69atwYjV1GWTJ0NBwX5JYuycDRQVK+cMah/GwMpx++2wdy/J773F+YPb8/GsDDbttMmJTO1TWxquvwA6q2p/4BvgrfJWUtWXVXWwqg5OSkoKaYCmDvjqKzcEx1FHlT70yewM+rZrSs/WQRoOvLrS0lwye/55bhzSgSJ1Y0oZU9uEIkmsB3xLBu29x0qpaqaq7vX+fRU4FGMCoQoTJsBJJ0FMDABLN2WzYP2u2leKKHHLLbB5Mx2mfseogW1579c1ZOXkhzsqY/YTiiQxA0gVkS4iEgNcBIz1XUFE2vj8OxJYHIK4TH2ybBmsXu3msfaMnbueyAhh5MC24YurMsOHQ7t28Mor3HBcV/IKihkzY13V2xkTQkFPEqpaCNwKTMT9+H+gqgtF5GERGemtdruILBSRucDtwFXBjsvUMxMmuL+nnlr60KTFWxjcqTmtmsSGKagqREa6YcwnTiQtP4sjurTg7V/WUFSs4Y7MmFIhaZNQ1fGq2kNVu6nqo95j96vqWO/+H1W1j6oOUNUTVNVmZjGBmTABevaELl0AyNiRw5JN2ZwUijkjDkbJXBdvvMFVR3VmfVYu3y7eHN6YjPFRWxqujam+3Fx3lbVPVdN3S9x80if1SglTUH7q3BmGDYPXXmNYz1a0TYzjramrwx2VMaUsSZi678cfIS9vvyQxafEWOreMp2urxmEMzE/XXw/r1hH13SQuG9KJqemZLLOhOkwtYUnC1H0TJkBcHBx/PAB79hbyS3omJ/VKCd3scwdj5EhISoJXXuGiwzoSExVhpQlTa1iSMHXfTz/BkCHQqBEAP6/YRn5RMSel1fL2iBIxMe4K7LFjaZGzk1ED2vLJb+ttUiJTK1iSMHXb7t0wZw4cfXTpQ98t3kJCbBSHdWkRvrgCdeWVUFgIY8Zw+ZBO5BYU8cXcDeGOyhhLEqaO+/VXKCoqvcq6uFiZtGQLx/VMIjqyDn28+/aFAQPg3Xfp1y6RtNYJfDDTrpkw4VeHvkXGlGPKFDdvxJAhAMxfv5Ntu/fWnaomX5deCtOmIenpXDC4A/MydrJ4465wR2UaOEsSpm6bMgX69IFmzQCYtGQLEQJDe9bBJHHxxS7hvfsuZw9qR0xkhJUmTNhZkjB1V3Ex/PLLfu0Rv6Rvo1+7RFo0jgljYNXUvj0MHQrvvkvz+GiG9Unh09nr2VtYFO7ITANmScLUXQsXwq5dpUkiN7+Iuet2ckTXlmEO7CBcdhksXw4zZnDB4A5k5RTw7aIt4Y7KNGCWJEzdNWWK++slidlrd5BfVMyRXetQr6ayzj0XYmPhnXc4pru7AnuMVTmZMLIkYequKVOgdevS8ZqmrdpOhMDgznU4SSQmwplnwujRRBYVct7gDvy0fCsbsnLDHZlpoCxJmLpryhRXivCuqp62MpM+bRNpGhcd5sAO0qWXwtatMHky5x3SHlUYa9dMmDCxJGHqpo0bYdWq0usj8gqKmLM2q25XNZU49VQ3w95HH9GxZTyDOjbjs9nrq97OmCCwJGHqpqlT3d/S9ogsrz2iDjdal2jUyFU5ffopFBZy1sB2LNmUzdJNNuifCT1LEqZumjLFDeo3aBDgqpqkrrdH+Dr/fNi2Db7/ntP7tyEyQvh8jpUmTOhZkjB10/TpMHhw6XzWrj2iKYmN6nh7RInhw12V04cf0qpJLMd0b8XnczZQbLPWmRCzJGHqnqIimDsXDjkEcO0Rs9dlcUSXelDVVKJRIzjjDPjkE1flNKgt67Ny+W3tjnBHZhoYSxKm7lmxAvbsKa1qmrMui/zCetIe4aukyumHHxjWuzVx0RF8ZlVOJsQsSZi657ff3F8vSUxfuR0ROLy+tEeUGDECGjeGjz6iSWwUw3q35st5GykoKg53ZKYBsSRh6p7Zs11bRO/eAMxcs52eKQkkxteT9ogSvlVORUWMGtCWHTkF/Lx8W7gjMw2IJQlT98yeDf36QXQ0qsrcdVkM6tgs3FEFx3nnwZYt8NNPHNujFQlxUYyfvzHcUZkGxJKEqVtUXZLwqppWZ+awK6+QAe2bhTeuYBkxwnX1/fxzYqMiGdYrha8XbbYqJxMyVSYJEblcRLaKSIaIXOk9dqSI/E1EZgU/RGN8ZGRAZmZpkpi7LguAAR2ahS+mYGrcGE4+GT77DFQ5rV8bduYWMDU9M9yRmQbCn5LE/cBpwECgi4h8A3wIxAB3+nMQERkuIktFZIWI3FfJeueKiIrIYH/2axqg2bPdX5+eTY2iI0lNbhLGoILsrLNg9WqYN49jUlvRJDaKr6zKyYSIP0lit6rOUNVtwEPAAKCfqv5BVX+qamMRiQSeB0YAvYGLRaR3OeslAHcA0wN5AqaBmT3bDejXvz/gkkS/dolE1aX5rAN15pnuOX/2GXHRkZzUK5mJCzdRaFVOJgT8+Wa1FpEbROR4IAXIUNWsAI5xOLBCVVeqaj4wGhhVznqPAE8AeQHs2zQ0v/0GPXtC48bkFxazaMMuBtbXRusSycluIMPPPwdgRN827MgpYPqq7WEOzDQE/iSJB4B+wMPAIqCfiHwrIv8UkUv82L4d4DtrSob3WCkROQTooKpf+he2abB8Gq2XbNpFflFx/W209nXWWe65r1nD0J5JxMdE8qVVOZkQqDJJqOrLqnqbqh6vqi2ALsCTwDZcFdJBEZEI4Cng//xY9wYRmSkiM7du3XqwhzZ1TWYmrFtXTqN1YhiDCpFRXuH788+Ji47kxLRkJi7YRJGN5WSCLOCKXFXNUNWvVPUJVb3cj03WAx18/m/vPVYiAegLfC8iq4EjgbHlNV57CWuwqg5OSkoKNHRT1x3QaL2TVk1iaNesURiDCpHUVOjTx/VyAk7r14bMPflMX2W9nExwhaK1bwaQKiJdRCQGuAgYW7JQVXeqaitV7ayqnYFpwEhVnRmC2ExdUiZJzM3IYkD7Zog3M129N2oU/PgjbN/O0J5JxEZF8PXCzeGOytRzQU8SqloI3ApMBBYDH6jqQhF5WERGBvv4ph6ZPRs6doSWLdmVV0D61t319/qI8owa5UbA/fJL4mOiODY1iW8WbUbVqpxM8ET5u6KIxALnAp19t1PVh6vaVlXHA+PLPHZ/BesO9Tcm08DMmwcDBgCwIGMnqvX4IrryDB4MKSnw5Zdw+eWc0juFbxdvZtHGXfRp2wDaZUxYBFKS+BzXdbUQ2ONzMyb4Cgpg2TJXLw/MycgCYED7BvTjGBEBp58OEyZAQQEn9UomQrAqJxNUgSSJ9qp6oar+Q1WfLLkFLTJjfK1Y4RKFlyTmrsuic8t4msXHhDmwEDvjDNi5E6ZMoWWTWA7t1JxvFlmSMMETSJKYKiL9ghaJMZVZtMj99YYHX7RxF33aNaBSRImTT3bDpI8bB8ApvVuzaOMu1m3PCXNgpr4KJEkcA8zyxmCaJyLzRWResAIzZj+LFrmhKdLS2JVXwLrtufRu0zTcUYVeQgIMHVqaJIb1TgGw0oQJmkCSxAggFTgFOBM4w/trTPAtXAidO0N8PEs2ZgPQq01CeGMKlzPOgKVLYflyOrdqTI+UJpYkTND4nSRUdQ3QDJcYzgSaeY8ZE3yLFpW2RyzeuAuA3m0aYHUTuMZrcL2ccFVOv67ezo49+WEMytRXficJEbkDeBdI9m7viMhtwQrMmFKFhe7M2WuPWLxxF83jo0lpGhvmwMKka1f3WvhUORUVK98t2RLmwEx9FEh107XAEap6v3eNw5HA9cEJyxgfK1dCfv5+jda92jRtOFdal+eMM+CHH2DXLvq3TySlaawlCRMUgSQJAYp8/i/yHjMmuBYudH/79KGwqJilm7Lp1RAbrX2dcYYrYU2ciIhwYloyPy7bSn6hzTFhalYgSeINYLqIPCgiD+LGWHotKFEZ46uk+2taGqsz97C3sNiSxJAh0KwZfPUVACempZC9t5AZq22OCVOzAmm4fgq4Btju3a5W1WeCFJcx+yxaBJ06QZMmLPJ6NjXI7q++oqLglFNcklDl6O4tiYmKYNJiq3IyNSugAf5UdZaqPuvdZgcrKGP2s2jRvvaIDbuIjhS61+c5rf01YgRs2gRz5hAfE8VR3VoyaYkN+GdqVpVJQkR+9v5mi8gun1u2iOwKfoimQSsqgiVL9uv+2i2pCTFR9XhOa38NH+7+elVOJ6UlsyYzh5XbbEg1U3P8mZnuGO9vgqo29bklqGoDL/OboFu1CvLy9uv+2uCrmkq0bg2HHgrj3QDLJ6QlAzBpsV1YZ2pOIEOF91bVRWUeG6qq39d4VMaU8BmzadvuvWzJ3kvvtpYkSo0YAX//O+zYQfvmzUlrncCkxVu44bhu4Y6sVikoKCAjI4O8vLxwhxIycXFxtG/fnujo6IPaj99JAvhARP4H/AOI8/4OBoYcVATGVKYkSfTqVXqldYPv2eTrtNPgb3+Dr7+GCy/kpF7JvPjDSnbmFJAYf3A/DvVJRkYGCQkJdO7cuUFcX6OqZGZmkpGRQZcuXQ5qX4FU7B6Bm6t6Km5K0g3A0Qd1dGOqsnAhdOgATZtakijP4YdDixb7dYUtKla+X2a9nHzl5eXRsmXLBpEgAESEli1b1kjJKZAkUQDkAo1wJYlVqmpX7pjg8unZtHhjNilNY2nRuIHNIVGZyEg49VSXJIqLGdihGS0ax/D90q3hjqzWaSgJokRNPd9AksQMXJI4DDgWuFhEPqyRKIwpj6obs6lnT8A1Wqe1tlLEAUaMgC1bYPZsIiOE43sk8cOyrRQVW1dYc/ACGrvJG7epQFU3quooYGywAjOGjRthzx7o0YPComJWbt1Dz9YNdHjwygwf7uba8Ho5De2ZxPY9+czzpng1tUNkZCQDBw6kb9++nHnmmWRlZVW47urVq2nUqBEDBw6kd+/eXHHFFRQUFADw/fffk5iYyMCBA0lLS+P3v/99UOMOJEnMEpHLROR+ABHpCCwNTljGAMuXu789erB2ew75RcWk2kV0B0pKcl1hJ04E4LjUJCIEJluVU63SqFEj5syZw4IFC2jRogXPP/98pet369aNOXPmMH/+fDIyMvjggw9Klx177LHMmTOH2bNnM27cOKZMmRK0uAPp3fQCUAycCDwMZAMf46qfjKl5y5a5vz16sGzzbgBSU6wkUa4RI+DRR2HHDpo3b86gjs35fukW7h7WI9yR1ToPfbGQRRtq9jrg3m2b8sCZffxef8iQIcyb59/EnpGRkRx++OGsX7/+gGUlpY3yltWUgHo3qeotQB6Aqu4ArAXRBM/y5RAbCx06sGKLG7PJhuOowPDhUFwMkyYBcELPJOZl7GRr9t4wB2bKKioqYtKkSYwcOdKv9fPy8pg+fTrDS66w97Fjxw6WL1/OcccdV9NhlgqkJFEgIpGAAohIEq5kYUxwLFsG3btDRATLNu+mXbNGNIkN5CPbgBx++L5RYc87j6E9k/nX18v4YdlWzju0fbijq1UCOeOvSbm5uaVn/b169WLYsGGVrp+ens7AgQNZtWoVp59+Ov379y9d9tNPPzFgwACWL1/OnXfeSevWrYMWdyAliWeBT4FkEXkU+Bn4e1CiMgZckkhNBWD5lt2kplgpokJRUTBsGEyYAKr0aduU5IRYJi+16yVqi5I2iTVr1qCqfrdJpKenM2vWLMaO3ddP6Nhjj2Xu3LksXLiQ1157jTlz5gQt7kCGCn8X+APwGLAROEtV/eoCKyLDRWSpiKwQkfvKWX6jiMwXkTki8rOI9PY3LlNPFRVBejr06EFRsZK+dbc1Wldl+HDYsAEWLEBEGNoziR+XbaWwyAr8tUl8fDzPPvssTz75JIWFhVWu36pVKx5//HEee+yxA5Z16dKF++67jyeeeCIYoQKBDxW+RFWfV9XnVHWxP9t4VVTPAyOA3rjrK8omgfdUtZ+qDsQN9/FUIHGZemjtWjdlaWqq69lUWGyN1lU59VT3d8IEAE5MSyY7r5Df1maFLyZTrkGDBtG/f3/ef/99v9Y/66yzyMnJ4aeffjpg2Y033siPP/7I6tWrazhKp8oKXhHJxmuHKLsIUD9Ggj0cWKGqK739jQZGAaWDBaqqb1eDxhUczzQk+/Vsco3WPSxJVK5dO+jf3yWJe+7h6O6tiIoQvluyhcO7tAh3dA3e7t279/v/iy++qHDdzp07s2DBgtL/RYS5c+eW/j906NDS+40aNQp776bPvURwfzWHCm8HrPP5P8N7bD8icouIpONKEreXtyMRuUFEZorIzK1brQ94veZzjcSKLe7LZT2b/DB8OPz0E+zeTUJcNIM7u66wxlSXP0likIi0Ba4WkeYi0sL3VlOBeNVY3YB7gb9UsM7LqjpYVQcnJSXV1KFNbbRsGTRpAikpLNucbT2b/DV8OBQUwHffATC0ZzJLNmWzaWfDGSK7Lpk/fz4DBw7c73bEEUeEO6z9+POtewmYBHQFZuGqmUqo93hl1uNGjy3R3nusIqOB//oRl6nPli2DHj1AhOWbd1spwl9HH+2S61dfwciRDO2ZxONfLeGHZVu48LCO4Y7OlNGvX7+g9kyqCf7MTPesqvYCXlfVrqraxedWVYIANzBgqoh0EZEY4CLKjPkkIqk+/54OLA/gOZj6aPlySE0t7dnUw7q/+icmBk48sbQrbM+UBFo3jbNRYU21BdIF9qbqHEBVC4FbgYnAYuADVV0oIg+LSMklh7eKyEIRmQPcDVxZnWOZemLvXli9Gnr0YN32HPYWFpOabI3Wfhs+3L1+y5eXdoX9efk2CqwrrKmGQKYvFeBSoKuqPuwN8NdaVX+taltVHQ+ML/PY/T737/A/ZFPvrVzphpjw6dlkF9IFoKQr7MSJ0KMHQ3smMXrGOn5bs4MjurYMb2ymzgnkOokXcFOVXuz9n427/sGYmlXSsyk1leXWsylwXbu69hzveomSrrDfL7MqJxM4G+DP1D4l10ikprJ8czZtE+NIiLP5mgMyfDhMngx5eSTERXNop+bWLhFmgc4n8d5775X+/+abb3LrrbeGIMoDBTR9qQ3wZ0Ji2TJo2RJatGD5lt10t4voAjd8OOTmumsmcF1hF2/cxeZd1hU2XAKZT6JskginQDqelx3g7zwquJ7BmIOyfDn06EGx17PpSKtHD9zxx7th1idMgGHDGNoziScmLOGHpVu54LAOVW9fn915J9R0t9OBA+GZZ/xevar5JO677z4WL17MwIEDufLKK2nevDkbNmxg+PDhpKenc/bZZ/OPf/zj4OP2g18lCa/R+keqOcCfMQHxRn/dsDOXvIJiuiVZe0TA4uNdovDaJdJae11hl9nV1+Hmz3wSjz/+eOnsc3fddRcAc+bMYcyYMcyfP58xY8awbt26CrevSX6VJFRVRWS8qvYDlgQ5JtOQ5eS4kUy7d2fl1j0AdEtqHOag6qjhw+Huu2HtWqRjR47vkcT4BRspLComKjKgsT3rlwDO+GtSoPNJlHXSSSeRmJgIQO/evVmzZg0dOgS/VBjIJ+U3EbGpSk1wrVzp/nbvTvpW17Opm/Vsqp6Smcy8ua+H9kyyUWHDKND5JMqKjY0tvR8ZGenXMOM1IaDeTcAvIpIuIvO8+R/8m6TVGH+lp7u/3bqRvnU3iY2iadnYOtFVS1oadOzohugAjk51XWFtIqLw8mc+iYSEBLKzs0McWfkCSRKnAt2AE4EzgTO8v8bUHN8ksWUP3ZIa45rETMBEXGni228hP5+m1hW21qhqPon+/fsTGRnJgAEDePrpp0Mc3f787t2kqmuCGYgxAKxYAYmJ0KIF6Vt3c3wPG+33oIwYAS+/DFOnwtChDO2ZzBMTlrB5Vx4pTePCHV2DEsh8EtHR0XznjeRb4qqrriq9P27cuBqNrTINuPXK1Erp6dC9O7v2FrIley9drWfTwTnpJIiOLq1yGtrTJd0frDRh/OR3F1gRaeCdq01IpKdDt27Ws6mmJCTAMceUJgnrClu71Jf5JEq7wAL9ghyPacgKC2HNGrjgAtK3WM+mGjNiBPzhD5CRgbRv32C7wqpqrWvfCuZ8Eqo1Mwu0dYE1tcfatS5ReD2boiKEji3iwx1V3TdihPvrXVjXELvCxsXFkZmZWWM/nLWdqpKZmUlc3MG3OwUyLMcRwGUishrYg5uhTlW1/0FHYQy4RmtwSWLdbjq1jCe6AZ3pBk2fPtC+vatyuu66/brCHt6lxmYgrtXat29PRkYGW7c2nLaYuLg42rdvf9D7CSRJnHrQRzOmMiXdX7t3Z+Vv6TYcR00RcaWJMWOgoKC0K+zkJVu4d3hauKMLiejoaLp06RLuMOqkQE7T1gLHAld63WEVSAlKVKZhSk+H2FgKU1qzOnOPtUfUpBEjYNcu1xUWOCEtmSWbstm4MzfMgZnaziYdMrVHejp07cq6nXspKFIrSdSkk06CqKjSXk4npiUD2IV1pko26ZCpPbzur6U9m6z7a81p2tR1hR3vZhFOTW5Cu2aN+G6JdYU1lbNJh0ztoLovSXgD+9mFdDXs9NNh/nw3KqwIJ6QlMWXFNvYWFoU7MlOLBZIkyk469DPw96BEZRqeTZvcMOHe6K9JCbEkNrIpS2vUGWe4v19+Cbgqp5z8In5dtT2MQZnazu8koarvYpMOmWDZb/TXPVbVFAw9e0LXrqVJYkjXVsRGRViVk6mU30lCRN7B9W6apKrPqeri4IVlGhwvSWjXrqRv3W1VTcEg4qqcJk2CnBwaxUQypFtLa7w2lQqkuuk1oA3wHxFZKSIfi8gdQYrLNDTp6RARwfaktmTlFFjPpmA5/XTIy4PJkwE4oWcyq7btYdW2PWEOzNRWgVQ3TQYeBf4KvAIMBm4KUlymoVmxAjp2ZOWuAsB6NgXN8cdD48b7tUsAVuVkKhRIddMkYApwIbAUOExV/bpcU0SGi8hSEVkhIveVs/xuEVnkzXg3SUQ6+RuXqScO6P5qJYmgiIuDk092SUKVDi3i6Z7chMmWJEwFAqlumgfkA32B/kBfEWlU1UZet9nngRFAb+BiEeldZrXZwGBvHKiPgH8EEJepD0qGCN+2h9ioCNo2q/KjZarr9NPdYIoLFgCuNDF9VSbZeQVhDszURoFUN92lqscB5wCZwBtAlh+bHg6sUNWVqpoPjAZGldn3ZFXN8f6dBhz8qFSm7ti5EzIzS0sSXVo1JjKidg3pXK+cdpr761U5nZSWTEGR8tPybWEMytRWgVQ33SoiY3Bn/aOA13Glg6q0A9b5/J/hPVaRa4GvKojhBhGZKSIzG9JojvVeyeiv3buzctseq2oKtnbtYNAg8KbAPLRTc5rFR/Ptos1hDszURoFUN8UBTwFpqnqyqj6kqt9VtVEgROQyXIP4P8tbrqovq+pgVR2clGRzH9cbXvfX/E6dWbs9h67WaB18I0e6wf62bCEqMoITeiYzeekWioobxnwLxn+BVDf9Czdu041eqWKAn5uuB3ynPm3vPbYfETkZ+DMwUlX3+huXqQe8JLG2eRuKim1gv5AYNcoNheKVJk7qlcyOnAJ+W7sjzIGZ2iaQ6qbbgXeBZO/2jojc5semM4BUEekiIjHARcDYMvseBLyESxDWzaKhWbECUlJYkePaIawkEQIDB0LHjvD55wAc1yOJqAjh28VW5WT2F0h103W4kWDvV9X7gSOB66vaSFULgVuBicBi4ANVXSgiD4vISG+1fwJNgA9FZI6IjK1gd6Y+soH9Qk/EVTl98w3k5NA0Lpoju7a0dglzgECShAC+w0UWeY9VSVXHq2oPVe2mqo96j92vqmO9+yeraoqqDvRuIyvfo6lX0tNdo/XWPbRuGkeT2EAmTDTVNmoU5Oa6RIGrckrfuofVdvW18RFIkngDmC4iD4rIg7iuqq8FJSrTcOTmQkZGaUnCqppC6Ljj3DwTXpXTyb3cRJNW5WR8BdJw/RRwNbDdu12tqs8EKS7TUKxaBbiB/VZu3W2N1qEUE+OumRg3DoqK6NAinh4pTSxJmP1UmSREJE5E7hSR54DDgBdU9VlVnR388Ey95/VsymrbiV15hVaSCLVRo2DrVpg2DYBhvVOYsXoHO/bkhzkwU1v4U5J4C3ftwnzcxXP/CmpEpmHxLqRLb+qqOqwkEWIjRkB0dGmV0/A+rhuylSZMCX+SRG9VvUxVXwLOA44LckymIUlPh8RElhXGAtb9NeQSE+GEE+DTT0GVvu2a0q5ZIyYu3BTuyEwt4U+SKB31y+vOakzNWbHCNVpv20NcdARtE21gv5A791z3Psybh4hwSp8Ufly+jT177etu/EsSA0Rkl3fLBvqX3BeRXcEO0NRzJaO/bt1N11ZNiLCB/ULvrLMgIgI++giA4X1ak19YbDPWGcCPJKGqkara1LslqGqUz/2moQjS1FOFhbB6NXTvTvrWPVbVFC7JyTB0KHz4IagyuHMLWjaOYYJVORkCu07CmJq1di0UFlLQuQsZO3LsSutwOu88WLoUFi4kMkIY1juFyUu2sLewqOptTb1mScKEj9f9dX3LdhQr9EixJBE2Z5/thurwqpxO7dua3XsLmboiM8yBmXCzJGHCx0sSS5u4Yd9TkxPCGU3D1rq1uwLbSxJHdWtJQmwUExZYlVNDZ0nChM+KFRAby/ziJkRGCJ1bxYc7oobtvPNg4UJYvJjYqEhO7JXMN4s3U1hUHO7ITBhZkjDh4/VsWr5tD51bxhMbFRnuiBq2c87Zr8rptH5t2L4nn6npVuXUkFmSMOFTkiS27LaqptqgbVs4+mjXywk4vkcSCbFRfDF3Q5gDM+FkScKEhyqkp1PYtStrMnNItUbr2uGii2D+fJg/n7joSE7p05oJCzdZL6cGzJKECY+NGyEnh20pHSgqVronW5KoFS64AKKi4N13AThzQBuy8wr5cdm2MAdmwsWShAmPpUsBWNWiHQA9Uqy6qVZISoJTT3VJoriYo7u3onl8tFU5NWCWJEx4LFkCwPwmbYgQ6NLKrrauNS67zE0E9eOPREdGMKJfG75ZtJmcfBvLqSGyJGHCY+lSaNyYOUXxdGrZmLho69lUa4wcCU2awDvvAHBm/7bkFhTx3ZItYQ7MhIMlCRMeS5dCjx4s25ZDqrVH1C7x8W5k2A8/hLw8Du/SguSEWKtyaqAsSZjwWLKEoh49WL1tj/Vsqo0uuwx27YJx44iMEE7v34bJS7eyM7eg6m1NvWJJwoRebi6sWcOODl0pLFa7RqI2OuEEaNOmtMrpnEHtyS8sttJEA2RJoqHatg3GjIEbb4S33grtsVesAFXWtuoAYN1fa6PISLj0UvjyS9i8mb7tmpLWOoEPZ2WEOzITYpYkGprCQjfiZ3Kyu3DqjTfgqqvgwQfdBW6h4HV/XZzYBhFLErXWtde6z8ubbyIinHdoe+auy2L55uxwR2ZCyJJEQ/P44/DZZ/B//wfTprl656uvhocegrvvhuIQDObmdX+dGZ1Exxbx1rOptkpLg+OPh1degeJizh7UjqgIsdJEAxOSJCEiw0VkqYisEJH7yll+nIj8JiKFInJeKGJqkGbNcsng4ovhn/+EI46A2Fh49VW44w545hm4557gx7F0KXTowMJdhdazqba74QY3xtbkybRsEsuJacl88tt6Cmxk2AYj6ElCRCKB54ERQG/gYhHpXWa1tcBVwHvBjqfBys2Fyy+HlBR4/vn9l0VEwNNPw3XXwb//XTrPQ9AsXUpxjx6s2raH7tZoXbudcw60aAEvvQTA+YM7sG33Xn6w+a8bjFCUJA4HVqjqSlXNB0YDo3xXUNXVqjoPsNOTYPnTn2DxYtcG0bz5gctFXCkjKgr+/vfgxaEKS5aws1M3CoqUnq2tJFGrxcXBlVfCp5/C5s0M7ZlEqyYxfDhrXbgjMyESiiTRDvD9RGV4jwVMRG4QkZkiMnPrVjuT8dvatfDss64n07BhFa/Xti387neut9PKlcGJZdMmyM5mdUvXs6lfu8TgHMfUnBtucA3Yb71FdGQEZw9qx6TFW9iavTfckZkQqFMN16r6sqoOVtXBSUlJ4Q6n7nj5Zff3vgOagw50773BLU14PZvmN0mhUXQkXVpZSaLWS0tzU5u+/DIUF3PR4R0pLFZG/7o23JGZEAhFklgPdPD5v733mAmF/HzXO+WMM6BTp6rXb9sWrr/elSZWr675eLyeTVOjWtG7bVMiI6Tmj2Fq3k03ubaqL7+kW1ITjk1txTvT11gDdgMQiiQxA0gVkS4iEgNcBIwNwXENwCefwJYtcPPN/m9z772uMTsYpYmlS9H4eH7KjaVv26Y1v38THOedBx07wr/+BcBVR3Vm8669TFy4KcyBmWALepJQ1ULgVmAisBj4QFUXisjDIjISQEQOE5EM4HzgJRFZGOy4GowXXoBu3SpviyirfXvXWPnOO5BdwxdOLV1Kftfu7ClQ+lh7RN0RFQV33QU//gi//srQnsl0bBHPW1NXhzsyE2QhaZNQ1fGq2kNVu6nqo95j96vqWO/+DFVtr6qNVbWlqvYJRVz13vz58NNPrqogIsC3+qqrXLfZTz6p2ZiWLGFruy4A9G1rSaJOufZaSEyEJ58kMkK4YkgnZqzewYL1O8MdmQmiOtVwbQL0wguuC+NVVwW+7ZAh0KVL6QBvNSIvD1avZlXLdsRERtjor3VNQoLrIffRR7BqFecP7kCj6EgrTdRzliRCaf161x01FHbvhv/9z43P1LJl4NuLuOGiJ01ycdeEpUtBlTnxrUlrk0B0pH386pzbbnOD/z3zDImNojn7kHZ8PncDmbutO2x9Zd/SUMjOdhezdesGffrAxInBP+a4cbBnT/VKESUuu8xd/Pb++zUT06xZAHwT24Y+VtVUN7VrB5dc4oZy2baNa47uTEFRMa/9vCrckZkgsSQRbJ99Bqmp8NhjrodIt25w+un7rl0Ilg8+cPMBHHNMuYtVlcUbd/H0N8t4c8oqdu8tZ/7iHj3g8MNrrspp1iyKmyQwv3GKXURXl917r6s6fPxxuicncFq/Nrz9yxqycvLDHZkJAksSwbRlizsbb9PGjbj6zjuuIfmUU9yVzQ8/HJzj7toF48fD+ee7qgEfqsqbU1Zx8lM/MOLfP/Hsd8t58ItFDPn7JB79chGbdubtv6/LL4e5c10j+MGaNYsdaX1RiaBvO+v+Wmf16gVXXAHPPQcZGdx2Ynd27y3k9Smrwx2ZCYKGnSS2b3dj0gRreOy//92dcY0e7UZcBdf4N3asm9DloYdKr0CuUWPHwt69cMEFByx6dtIKHvxiEc3jY/jbWX2Z8eeT+fyWozkhLZnXp6xm1PM/758oLrzQJZqDLU0UFsLcuazs2JOoCKFHig3sV6c98ID73jz8MGmtm3JqnxTemLKKXXk2vWl903CTxMqVrgfPOefAH/9Y8/tfuxb++1/XJtCz5/7LoqLgqadcz6NglCY++MBd6zBkyH4Pv/LjSp7+dhnnHdqeD343hMuO7ESrJrEM6NCMZy8exOe3HM3uvEKueXMGe0qqn5KSYPhweO+9g0umixZBXh4zW3YlNSXB5pCo6zp3dj2dXn8dli3jthNTyc4r5C0rTdQ7DTNJzJjhfkC3bnVJ4h//cAPg1aSHHnI9hB54oPzlyclw662uUXjx4po7blYWTJjgShE+10a8O30Nj45fzOn92/DEuf2JKGc4jL7tEnnu0kNYsmkXt78/m6Jib6a6iy6CjAxXZVZdJY3WjdrZldb1xZ//7OYjeeAB+rZL5OReybxWUfuWqbMaXpIYNw6GDoXGjeGXX9xZ99lnw513uvs1YckSePNNNxRGhw4Vr3fPPRAfX7Olic8+g4ICV03kWbB+J/d/vpAT05J5+oKBlY6XdELPZB4a2YdJS7bw2HgveZ15JsTEuP7x1TVrFsUJCcyOS6KPJYn6ISXFfW9Gj4Zff+X2k1LJyinghckrwh2ZqUENL0moQv/+LkH07Onq2999F446yjXSLl9+8Me4/373419VNVarVq7f+ZgxsLCGRiL54ANXFXDYYQAUFhVz78fzaNE4hqcvGEhMVNVv+eVDOnPZkR15bcoq5mVkuatsTz3VJYnqVjnNmkVmam9UIhjcuUX19mFqn3vvLR1ivn/rJpwzqB2v/rSKNZl7wh2ZqSENL0mceSZMmeLOgko0agQffugSyAsvHNz+N2yAjz+GW25x9flV+f3vXammJkoTmZnwzTeuqklcaeH1KatYuGEXD43sQ2J8tN+7und4Gi0bx/LA2IUUF6vrvrtuHfz6a+BxeY3WC1t3p2XjGHq3sZJEvdG0qauqnTMHnn2We0ekERUp/O3LGqxCNWHV8JIElD+OUZs2rn3izTchJ6f6+377bXe2fe21/q3fsqVrm/jwQ1izpvrHBZecCgtdGwKwJnMPT32zjGG9UxjRt3VAu0qIi+a+EWnMXpvFJ7PXw8iREB3t4gzU4sWQm8uk+A4c1b1Vue0hpg475xw3FP1f/0rKjs3cckJ3vlm0mZ+W28Rg9UHDTBIVuflm1/A7enT1tld104Mee6y7gM5fN93kzvxfeaV6xy3x3nuuCm3gQFSVP3+6gOiICB4Z1ReRwH+YzxnUjkEdm/H4V0vYFdfYXd/x0UfueQbCa7Se2qwTx3ZvFXAcppYTcddMANx6K9ce3ZmOLeJ56ItFNt9EPWBJwtexx7phM/773+ptP3UqLFsGV18d2HYdO7qrsF991U0SVB3r17thnC+5BESYuHATP6/Yxj3De9I6Ma5au4yIEB4a2YfMPXt59tvl7uK8tWtd77BAzJpFfqPGrGzRjmNSLUnUS506uSrTceOIe/9d/nJ6L1Zs2c1LP6SHOzJzkCxJ+BJxfb9nznS3QL3+umtfOP/8wLe98UbYvBk+/zzwbcE1fqvCxRezt7CIx75aQs+UBC45vGP19ufp374ZFxzagbd+WU3GsSdXr8pp1ixWtU+lS3ICbZs1Oqh4TC12xx2u5+BNNzGseCtn9G/DM98uZ+66rHBHZg6CJYmyLr/c9UwKtDSxe7frWXThhdDkwCGwVZX5GTuZsXr7vusPfJ16quuVVN1SzHvvwaGHQmoqb09dw5rMHP58ei+iamCk1buG9SBChKdmboWTT3ZJwt9eToWF6Jw5/NK8s1U11XdRUe5z2LQpcsEFPHpyF5ITYrlzzJx9F2eaOseSRFmJiW68pffegx07/N/uo49coihT1bRxZy7PTlrOSU/+wJnP/cz5L/7C4Y9+y70fzWPWmu37VoyMhBtugMmTS+eB9tuyZa7e/5JL2L4nn2e/W87Qnkkc18OP3lV+aJ0Yx5VHdebT2evZePrZroH9hx/823jhQiQ3lznJ3TgmtWbiMbVYmzbuAtFly0i88xaeumAAqzP38Mi4ReGOzFSTJYny3HSTG3Pprbf83+b1111j9dFHlz40Z10WI/79E099s4zkprE8cW4/nrtkEEd3b8X4+Rs5/8VfeGeaT4+ma65x1TkvvRRYvO+/76rKLryQf3+7jJz8Iv58Wq/A9lGFm47vRpOYKP4W28sl0ldf9W/Dzz5DRZjeeQBHdrXrIxqEE05w7RPvv8+Ro1/id8d1Y/SMdXw+p4bmJTGhpap18nbooYdqUA0ZopqaqlpUVPW68+apgurjj5c+9NOyrdrrr1/psU98p8s3Zx+wye68Ar3mjV+1073j9LHxi7WoqNgtuPBC1WbNVLMP3KZcxcWqPXuqDh2qSzbu0q5//FL//Ok8/7YN0L+/Xaad7h2nW664TjU2VjUzs+rY0tJ0buogPfeFKUGJydRSRUWql12mClrw1DN6/n+nauqfxuuUFVvDHVmDB8zUAH5ro8KdpMJpbWYO89ZnMaRrS1o2id1/4c03u/aJ775z9fCVefZZd0HeddcBMGHBJm5/fzZdkxrz9jWHk9z0wN5FjWOjeOnyQ3lg7EJe/CGdTTtzefKCgUTedZdrhH7xRXehXVWmTYOlSym+8y7+9Ol8msZFcfewnlVvVw3XHNOFt6au5qlOx/LY3lfdleq33VbxBvPmwZIljD71FuvV1NBERLju4Hv2EHX3nbz5wkuc1aonv3t7FmN+N4Te9XRolsKiYrJyC8jKKWBnbj678grJyy8it6CIvYXFFKtSXKwoEBkhREUIURERxEVH0ijG/W0aF+1ujaJoGhcd9uuKRAPt815LDB48WGdWowdSXkERExZsYsyMdfyyMhNwb9bR3VsxakBbzh7Uzr0peXlu3KVjj4VPPql4h9u2ufUuvxxefplpKzO5/LXp9G2XyBtXHUaz+JhK41FVnp+8gn99vYyrjurMA2f2Rk491f3Arlrlkk9lzjgDpk3jgw9/4g8TV/Kv8wdw3qHtA31Z/PbmlFU8+MUi5n7xJxIj1c01UdE1GH/6E8X/+AeH3vw2b//hdPq1t4mGGpy9e+Gss2DiRLL+8RTD9/alGPj4pqPo0CI+3NEFrLhYydiRy4qt2azelsO6HTms257Lxp25bN61l8w9ewO+jKgyEQLN4mNo0TiGVk1iaNUklqSEWM7o35ZDOzWv1j5FZJaqDvZ7/YaWJJ78ein/+W4FHVvEc8Hg9hzRtSWTl2xh3LyNrN2ewym9U3jmooHEx0TBfffBv/4Fq1e7obfL89hjbmrS+fNJT+nMOS9MJSkhlo9vOorERv4Pg/G3cYt49edV/Om0NG7QDNeV8D//cVdjV+S33+DQQ9nz1wcZEnEkvds25f3rj6zWhXP+Kiwq5sznpjB08ifc+/kzMH26m72uLFWKu3VjWmRLnr/3P7x73ZFBi8nUcjk5bqiYL78k69KrOKnLeUhsDC9fMZhDOlbvhy4UcvOLWLhhJwvW72TRxl0s2riLFVt2k1ewr2df45hIOrSIp22zRqQ0jSUpIY5WTWJIbBRNYqNoEuKiiY+JpFF0JDFREURFCCKCiEs4hcVKQVExeQXF5BYUkZNfSHaeu+3KLSArJ5/tOfls35PPtux8tu7ey5ZdeTwwsg8XDK5k8NBKWJKowvqsXNZk7uHILi33K8apKm9MWc0jXy6ib9tEXr1yMCmZG910o3/9qxv6u6yCAujSBdLS2P75eM5+YQq78wr57JajAz5LKi5Wbhs9my/nbeTZiwYy8raLXHJKT3cjsJbn7LPh+++598nP+TR9D+PvOJbuyQd2v61ps9Zs58pnJvHbf68k5orLyp+K9ddf4Ygj+P1pd3L+f/7CEV1bBj0uU4sVFbmBL//+d3IPO4LLTr6b+REJPHn+AM4c0Dbc0QGwISuXGau3M2P1dmavzWLJpuzS7uotGsfQp21TeqYk0D25CakpTejcsjEtGscE9aSsIsXFWu1qKEsSB+nbRZu5ffRsEhtF88bVh5F23SWue+nata7nka8xY+Cii8j56BMu35LC/PU7ef/6I6tdDMwrKOKK135l9rodvN9pJ4N/d4kbqsNr69jPvHkwYAALr7uT01uezO0npXL3sB7VOm513PvRPA57+P84Z+U0IpYsPqCkVXjnnRQ/9wI3/HMcb951SsjiMrXcBx/A1VejERH875QrebjrMK44LpW7T+lBk9jQNZGqumqjX1ZmMm1lJtNXbmd9Vi7gSgcDOjRjoHfr37YpKfnZyObNbg6azExXzZyVBTt3uumCd+92JaacHFdVXVDgRk8oKnLXFJX8zkZGuvaaqCh38ldya9Ro361xY3etVZMmbibLpk3dLTHR3Zo1c/PRxFevus6SRA1YuGEn1745kz17CxnTYTu9r78EHnkE/vKXfSsVFcHRR1O0dSvn3vEG8zft5rmLBzGiX5uDOvbO3AKufP1XFmRkMfOLP9MsNxtmz3YfEl8XXkjhl+MZfP2r9OvbmdeuPMyvYcBryvY9+Vz1x3cY8/KtxA4aSMQP3+8r8RQXk5PSlp+bdyH+yy+s0drsb+VKNw/FF1+wpX1X7h98IfMOOZ4/j+rPaf1aB+3MfN32HKav2s4v6S4xlCSFttFFnNYohyMjs+m9dzutt28iYn2GG/U4IwM2bXLf9/LExLgf7saN991iY93j0dH7kkLJcyoudvsqLNyXSPbuhdxcd8vJgT173K2y3+bnn3eda6qhViYJERkO/BuIBF5V1cfLLI8F3gYOBTKBC1V1dWX7DGaSAHcR3NVvzGDF5my+m/MqHSd85gYxu+UW90Zecgl8/jnPXHgPL3Q7gecvPYRhvVOq3K8/svMKuPqNGTT6cTJvffgAEQMGwPjxbnhzVXj/ffSyy3hpyPlMvPR23r3uCNeGEmIfz8rgu4ef4/mxT7D35luJff4/UFBA4UMPEfXoozx59YPc/dr9YSmOmzpg3Di46y5YsYJtiUm81e8UFp88ipNHHMGZA9rS+CBKFkXFyvIt2fy2JouZq7czf0kGMatX0nn7Bnrt3sQhBdvptnMjLTetI2rL5v03jo9346m1b+9ubdu6iwRTUtwZfKtWbvTm5s1dQggGVfc7k53tbiUllpLSy5AhkJZWrV3XuiQhIpHAMmAYkAHMAC5W1UU+69wM9FfVG0XkIuBsVb2w3B16gp0kAHblFXDzO78xbekmRn/zJIPn/kTBv56k6N33iJ3zG0+ffjOvDDyDV64YXONny3v2urmmG307kRfHPkFRSmti33qD7L89TvPvJjKvbQ8evulJXr37lCp7UAXTZ7PXk/W7W7hqxuds+P2fifnkI1qtXMrYXseROOZdju8XvJ5Wph4oKoLx49H/PId88zUAq5u1YXq3Q8g/7HCaD+xDpyGD6JbWsdwTocKiYjbv2MPmVRvYkr6ObUvS2Z2+GtasJSVzAx2zNtFp12Za7S4zekLbttC9u7t16+ZuXbu6oXFataq4x149UBuTxBDgQVU91fv/jwCq+pjPOhO9dX4RkShgE5CklQQXiiQBkF9YzKs/r+TjKSt46JX7OGbNXPKiYrh95D3sOvV07jk1rdptEFXJKyjinWlrmDF6PI+//iea52WTEx3LM8dfwepLr+WRcwaQUs41GKE2Y+kmYoadyIB1i9nUpAXvXXUfg269khN6Joc7NFOXpKej48ax84uviJvyE3F5++Z12RsZzZ7YRuTGxlMUGUVUUSGRRYXE5eeSmHfgLHjFERHktm5HRLeuxKV2Q3r02JcUund31UINVG1MEucBw1X1Ou//y4EjVPVWn3UWeOtkeP+ne+tsK7OvG4AbADp27HjomoOdpCcAxcXK9PlrKHzgQXadcRaHXTic5ITQ/EAXFhUz9cufiXzlFXJvuoUjTxoc0kY+f6xdtJKV/3mVjv93M127W+nBHKSCAli1iu1zFrDp13nszdhAsVf1IgX5aEwsREcjjeOJTk6iUetkEju2oWVadyI6dnAlhbIdTQxQz5OEr1CVJIwxpj4JNEmEojvMesD3qo/23mPlruNVNyXiGrCNMcaEUSiSxAwgVUS6iEgMcBEwtsw6Y4ErvfvnAd9V1h5hjDEmNIJesa2qhSJyKzAR1wX2dVVdKCIP40YjHAu8BvxPRFYA23GJxBhjTJiFpPVTVccD48s8dr/P/TygGnN+GmOMCSabdMgYY0yFLEkYY4ypkCUJY4wxFbIkYYwxpkJ1dhRYEdkKVPeS61ZAhRfqNUD2euzPXo997LXYX314PTqpapK/K9fZJHEwRGRmIFcc1nf2euzPXo997LXYX0N8Pay6yRhjTIUsSRhjjKlQQ00S5UzK3KDZ67E/ez32sddifw3u9WiQbRLGGGP801BLEsYYY/xgScIYY0yF6nWSEJHhIrJURFaIyH0VrHOBiCwSkYUi8l6oYwylql4PEekoIpNFZLaIzBOR08IRZyiIyOsissWb8Kq85SIiz3qv1TwROSTUMYaKH6/Fpd5rMF9EporIgFDHGEpVvR4+6x0mIoXexGr1l6rWyxtuWPJ0oCsQA8wFepdZJxWYDTT3/k8Od9xhfj1eBm7y7vcGVoc77iC+HscBhwALKlh+GvAVIMCRwPRwxxzG1+Ion+/IiPr8WvjzenjrRALf4Ua3Pi/cMQfzVp9LEocDK1R1parmA6OBUWXWuR54XlV3AKjqlhDHGEr+vB4KNPXuJwIbQhhfSKnqj7i5SyoyCnhbnWlAMxFpE5roQquq10JVp5Z8R4BpuNkl6y0/PhsAtwEfA/X5NwOo39VN7YB1Pv9neI/56gH0EJEpIjJNRIaHLLrQ8+f1eBC4TEQycGdIt4UmtFrJn9erIboWV8JqsESkHXA28N9wxxIK9TlJ+CMKV+U0FLgYeEVEmoUzoDC7GHhTVdvjqlv+JyIN/TNiPCJyAi5J3BvuWMLsGeBeVS0OdyChEJKZ6cJkPdDB5//23mO+MnD1qwXAKhFZhksaM0ITYkj583pcCwwHUNVfRCQON6BZvS9Sl8Of16vBEJH+wKvACFXNDHc8YTYYGC0i4L4fp4lIoap+FtaogqQ+nyXOAFJFpIuIxODmzR5bZp3PcKUIRKQVrvppZQhjDCV/Xo+1wEkAItILiAO2hjTK2mMscIXXy+lIYKeqbgx3UOEgIh2BT4DLVXVZuOMJN1XtoqqdVbUz8BFwc31NEFCPSxKqWigitwITcT0RXlfVhSLyMDBTVcd6y04RkUVAEXBPfT1L8vP1+D9cldtduEbsq9TrylHfiMj7uBOEVl4bzANANICqvohrkzkNWAHkAFeHJ9Lg8+O1uB9oCbzgnT0Xaj0eCdWP16NBsWE5jDHGVKg+VzcZY4w5SJYkjDHGVMiShDHGmApZkjDGGFMhSxLGGFMH+DvwoLfujd6AjHNE5GcR6V3t41rvJmOMqf1E5DhgN25Msb5VrNtUVXd590firuWo1rBDVpIwxpg6oLyBB0Wkm4hMEJFZIvKTiKR56+7yWa0x7rqnarEkYWotEXlaRO70+X+iiLzq8/+TInJ3DR9zdw3vr5mI3Ozzf2d/qgu8dfuJyBoRuSmA4zUSkR9EJDKAbWJE5EcRqbcX19ZjLwO3qeqhwO+BF0oWiMgtIpIO/AO4vboHsCRharMpuLkM8AYabAX08Vl+FDA1DHEFohlwc1UrlUdV5+OGT7kigM2uAT5R1aIAjpMPTAIuDCxCE04i0gT3HfhQROYALwGlw9mr6vOq2g03IONfqnscSxKmNpsKDPHu9wEWANki0lxEYoFewG8i8plX3F4oIjeUbCwij4vILT7/PygivxeRy0TkV69R76XyzrorWscrCSwWkVe8430tIo28ZX8VN/PfzyLyvoj8Hngc6Obt55/e7iPL274CW9g/MVblUuBzn1iXiMibIrJMRN4VkZO9ofGXi8jhPtt95m1r6o4IIEtVB/rcepWz3mjgrIM5iDG1kqpuAAq9AeaOAn4BpuMSx2BgvncWfI1X3B4M3C4iLb1djAEu8NnlBd72FwJHq+pA3Jhd+/04eoMbVrZOKm6yqj5AFnCuiBwGnAsMwM3eVjK20X1AuvcFvqei7St5GR4HYkWkUyXrlMQdA3RV1dU+D3cHngTSvNslwDG4qok/+ay3ADisqmOY2sNrd1glIudD6ZS7A7z7qT6rng4sr+5xrA7S1HZTcQniKOAp3MQ/RwE7cdVR4BLD2d79Drgf4UxVnS0iySLSFkgCduB+xA8FZniD1TXiwKHQT6pinVWqOse7PwvojKsK+1xV84A8EfmikudU3vYHEJERuEbHL3GliTUi0hhX75wPfK+q7/ps0gqXdMoea763v4XAJFVVEZnve1xVLRKRfBFJUNXsSmI3YVLBwIOXAv8Vkb/gBiEcjZua+FYRORkowH3ur6zucS1JmNqupF2iH+5sdx1utNpdwBsiMhQ4GRiiqjki8j1uiPMSHwLnAa1xJQsB3lLVP1ZyzKrW2etzvwiXRAJR5fbi5vJ4AhiJG4G2L25k2nOAj1T1CxEZA/gmiVz2f+5lj1Xs838xB37/Y4G8gJ6JCRlVvbiCRQd0bVXVO2rquFbdZGq7qcAZwHZVLVLV7bjG4CHeskRgh5cg0oAjy2w/Btf4ex4uYUwCzhORZAARaVFOVY4/65Q1BThTROK8BsUzvMezgYRAnzSuofFtr+poPi5JgJv8qGRa1f0ap715qCO9BBMQr4pumzcBlzGlLEmY2m4+rhplWpnHdqrqNmACECUii3H1977roaoLcT/S61V1o6ouwv0Afy0i84Bv8OkR4m1T5TplqeoM3ERF83BzQJfEmAlMEZEFPg3XlRKRnsAw3DSZJc+3JElk4BIFlP/9/RrX5hCoE3DVWsbsx664NqaGiEgTVd0tIvHAj8ANqvpbDR+jMfAcrlro5zJtEojIIcBdqnp5gPv9BLjPZp4zZVmbhDE152VxY+TE4do0ajRBAKjqHiqZJU9VfxORySIS6e+1El6vqM8sQZjyWEnCGGNMhaxNwhhjTIUsSRhjjKmQJQljjDEVsiRhjDGmQpYkjDHGVMiShDHGmApZkjDGGFOh/wf8snOy/u7vywAAAABJRU5ErkJggg==\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "fig = plt.figure()\n", - "ax = fig.add_subplot(1, 1, 1)\n", - "\n", - "ax.plot(lbda, R_RR, label=\"R_RR\")\n", - "ax.plot(lbda, R_th, \"r\", label=\"R_th\")\n", - "\n", - "ax.legend(loc=\"center right\", bbox_to_anchor=(1.00, 0.50))\n", - "\n", - "ax.set_title(\n", - " \"Right-handed Cholesteric Liquid Crystal, \" + \"{:.1f} helix pitches\".format(N / 2.0)\n", - ")\n", - "ax.set_xlabel(r\"Wavelength $\\lambda_0$ (m)\")\n", - "ax.set_ylabel(r\"Power reflexion $R$\")\n", - "fmt = ax.xaxis.get_major_formatter()\n", - "fmt.set_powerlimits((-3, 3))\n", - "\n", - "plt.show()" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "id": "58f50b36-ac62-45d0-95c4-fe53fa39aa8b", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 6, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "elliplot.draw_structure(s)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "784f3dff-5a1e-48e9-91d2-3fbd837f2751", - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "jupytext": { - "cell_metadata_filter": "-all", - "encoding": "# encoding: utf-8", - "executable": "/usr/bin/python", - "formats": "ipynb,auto:hydrogen", - "main_language": "python", - "notebook_metadata_filter": "-all" - }, - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.10.6" - }, - "widgets": { - "application/vnd.jupyter.widget-state+json": { - "state": {}, - "version_major": 2, - "version_minor": 0 - } - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/examples/Total internal reflection/FrustratedTIR-angle.ipynb b/examples/Total internal reflection/FrustratedTIR-angle.ipynb deleted file mode 100644 index b2dd4ee7..00000000 --- a/examples/Total internal reflection/FrustratedTIR-angle.ipynb +++ /dev/null @@ -1,281 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "0b9c5581", - "metadata": {}, - "source": [ - "# Frustrated Total Internal Reflection: Glass1 / Air / Glass2\n", - "\n", - "Author: O. Castany, C. Molinaro, M. Müller" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "id": "1bbd6942", - "metadata": {}, - "outputs": [], - "source": [ - "import elli\n", - "import matplotlib.pyplot as plt\n", - "import numpy as np\n", - "from scipy.constants import pi" - ] - }, - { - "cell_type": "markdown", - "id": "97db8c58", - "metadata": {}, - "source": [ - "## Structure definition" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "e6d124e3", - "metadata": {}, - "outputs": [], - "source": [ - "# Refractive indices\n", - "n_f = 1.5\n", - "n_s = 1.0\n", - "n_b = 1.7\n", - "\n", - "# Materials:\n", - "glass1 = elli.IsotropicMaterial(elli.ConstantRefractiveIndex(n_f))\n", - "air = elli.IsotropicMaterial(elli.ConstantRefractiveIndex(n_s))\n", - "glass2 = elli.IsotropicMaterial(elli.ConstantRefractiveIndex(n_b))\n", - "\n", - "# Layer:\n", - "layer = elli.Layer(air, 0)\n", - "\n", - "# Structure:\n", - "s = elli.Structure(glass1, [layer], glass2)\n", - "\n", - "# Wavelength and wavenumber:\n", - "lbda = 1000\n", - "k0 = 2 * pi / lbda\n", - "\n", - "# Layer thickness\n", - "d = lbda * 0.347\n", - "layer.set_thickness(d)\n", - "\n", - "# Variation of incidence angle\n", - "Phi_list = np.deg2rad(np.linspace(0, 89, 90))" - ] - }, - { - "cell_type": "markdown", - "id": "0df34411", - "metadata": { - "lines_to_next_cell": 0 - }, - "source": [ - "Analytical calculation\n", - "Incidence angle" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "5a5df2a9", - "metadata": {}, - "outputs": [], - "source": [ - "# Reduced wavenumber\n", - "Kx = n_f * np.sin(Phi_list)\n", - "\n", - "Phi_s = np.arcsin((Kx / n_s).astype(complex))\n", - "Phi_b = np.arcsin((Kx / n_b).astype(complex))\n", - "\n", - "# Wave vector:\n", - "kz_f = n_f * k0 * np.cos((Phi_list.astype(complex)))\n", - "kz_s = k0 * np.sqrt((-(Kx**2 - n_s**2)).astype(complex))\n", - "kz_b = n_b * k0 * np.cos(Phi_b)\n", - "\n", - "# Amplitude coefficient for 's' polarisation:\n", - "r_sf_s = (kz_f - kz_s) / (kz_s + kz_f)\n", - "r_bs_s = (kz_s - kz_b) / (kz_s + kz_b)\n", - "t_sf_s = 1 + r_sf_s\n", - "t_bs_s = 1 + r_bs_s\n", - "\n", - "# Amplitude coefficient for 'p' polarisation:\n", - "r_sf_p = (kz_f * n_s**2 - kz_s * n_f**2) / (kz_s * n_f**2 + kz_f * n_s**2)\n", - "r_bs_p = (kz_s * n_b**2 - kz_b * n_s**2) / (kz_s * n_b**2 + kz_b * n_s**2)\n", - "t_sf_p = np.cos((Phi_list.astype(complex))) * (1 - r_sf_p) / np.cos(Phi_s)\n", - "t_bs_p = np.cos(Phi_s) * (1 - r_bs_p) / np.cos(Phi_b)\n", - "\n", - "# Power coefficients:\n", - "R_th_s = (\n", - " np.abs(\n", - " (r_sf_s + r_bs_s * np.exp(2j * kz_s * d))\n", - " / (1 + r_bs_s * r_sf_s * np.exp(2j * kz_s * d))\n", - " )\n", - ") ** 2\n", - "\n", - "t2_th_s = (\n", - " np.abs(\n", - " (t_bs_s * t_sf_s * np.exp(1j * kz_s * d))\n", - " / (1 + r_bs_s * r_sf_s * np.exp(2j * kz_s * d))\n", - " )\n", - ") ** 2\n", - "\n", - "R_th_p = (\n", - " np.abs(\n", - " (r_sf_p + r_bs_p * np.exp(2j * kz_s * d))\n", - " / (1 + r_bs_p * r_sf_p * np.exp(2j * kz_s * d))\n", - " )\n", - ") ** 2\n", - "\n", - "t2_th_p = (\n", - " np.abs(\n", - " (t_bs_p * t_sf_p * np.exp(1j * kz_s * d))\n", - " / (1 + r_bs_p * r_sf_p * np.exp(2j * kz_s * d))\n", - " )\n", - ") ** 2\n", - "\n", - "correction = np.real(n_b * np.cos(Phi_b) / (n_f * np.cos(Phi_list.astype(complex))))\n", - "# This is a correction term used in R +T*correction = 1\n", - "\n", - "T_th_s = t2_th_s * correction\n", - "T_th_p = t2_th_p * correction" - ] - }, - { - "cell_type": "markdown", - "id": "605ee39b", - "metadata": { - "lines_to_next_cell": 0 - }, - "source": [ - "## Calculation with pyElli" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "ba585fa0", - "metadata": {}, - "outputs": [], - "source": [ - "data = elli.ResultList([s.evaluate(lbda, np.rad2deg(Phi_i)) for Phi_i in Phi_list])\n", - "\n", - "# Extraction of the transmission and reflexion coefficients\n", - "R_p = data.R_pp\n", - "R_s = data.R_ss\n", - "T_p = data.T_pp\n", - "T_s = data.T_ss\n", - "t2_p = np.abs(data.t_pp) ** 2 # Before power correction\n", - "t2_s = np.abs(data.t_ss) ** 2" - ] - }, - { - "cell_type": "markdown", - "id": "f054a38b", - "metadata": { - "lines_to_next_cell": 0 - }, - "source": [ - "## Plotting" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "50c5ef99", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "fig = plt.figure(figsize=(12.0, 6.0))\n", - "plt.rcParams[\"axes.prop_cycle\"] = plt.cycler(\"color\", \"bgrcmk\")\n", - "ax = fig.add_axes([0.1, 0.1, 0.7, 0.8])\n", - "\n", - "y = np.vstack((R_s, R_p, t2_s, t2_p, T_s, T_p)).T\n", - "legend1 = (\"R_s\", \"R_p\", \"t2_s\", \"t2_p\", \"T_s\", \"T_p\")\n", - "lines1 = ax.plot(np.rad2deg(Phi_list), y)\n", - "\n", - "y_th = np.vstack((R_th_s, R_th_p, t2_th_s, t2_th_p, T_th_s, T_th_p)).T\n", - "legend2 = (\"R_th_s\", \"R_th_p\", \"t2_th_s\", \"t2_th_p\", \"T_th_s\", \"T_th_p\")\n", - "lines2 = ax.plot(np.rad2deg(Phi_list), y_th, \"x\")\n", - "\n", - "ax.legend(\n", - " lines1 + lines2,\n", - " legend1 + legend2,\n", - " loc=\"upper left\",\n", - " bbox_to_anchor=(1.05, 1),\n", - " borderaxespad=0.0,\n", - ")\n", - "\n", - "ax.set_title(\"FTIR: Glass1 / Air ($d$ = {:.3g} nm) / Glass2\".format(d))\n", - "ax.set_xlabel(r\"Reduced wave number, $Kx$\")\n", - "ax.set_ylabel(r\"Reflexion and transmission coefficients $R$, $T$\")\n", - "\n", - "plt.show()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "547dcd74", - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "jupytext": { - "cell_metadata_filter": "-all", - "encoding": "# encoding: utf-8", - "executable": "/usr/bin/python", - "formats": "ipynb,auto:hydrogen", - "main_language": "python", - "notebook_metadata_filter": "-all" - }, - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.10.6" - }, - "vscode": { - "interpreter": { - "hash": "fce8773319f0403ecd2f0f37c27ee32851d93b84c4068e4fe241eeba95a951df" - } - }, - "widgets": { - "application/vnd.jupyter.widget-state+json": { - "state": {}, - "version_major": 2, - "version_minor": 0 - } - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/examples/Total internal reflection/FrustratedTIR-thickness.ipynb b/examples/Total internal reflection/FrustratedTIR-thickness.ipynb deleted file mode 100644 index 85c1307a..00000000 --- a/examples/Total internal reflection/FrustratedTIR-thickness.ipynb +++ /dev/null @@ -1,318 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "8b2becfb", - "metadata": {}, - "source": [ - "# Frustrated Total Internal Reflection: Glass1 / Air / Glass2\n", - "\n", - "Author: O. Castany, C. Molinaro, M. Müller" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "id": "2c23f5a4", - "metadata": { - "execution": { - "iopub.execute_input": "2024-06-28T08:33:51.210932Z", - "iopub.status.busy": "2024-06-28T08:33:51.210682Z", - "iopub.status.idle": "2024-06-28T08:33:52.564176Z", - "shell.execute_reply": "2024-06-28T08:33:52.563715Z", - "shell.execute_reply.started": "2024-06-28T08:33:51.210912Z" - } - }, - "outputs": [], - "source": [ - "import elli\n", - "import matplotlib.pyplot as plt\n", - "import numpy as np\n", - "from scipy.constants import pi" - ] - }, - { - "cell_type": "markdown", - "id": "9ce6a1a6", - "metadata": {}, - "source": [ - "## Structure definition" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "b80da4d7", - "metadata": { - "execution": { - "iopub.execute_input": "2024-06-28T08:33:52.565109Z", - "iopub.status.busy": "2024-06-28T08:33:52.564819Z", - "iopub.status.idle": "2024-06-28T08:33:52.568524Z", - "shell.execute_reply": "2024-06-28T08:33:52.568027Z", - "shell.execute_reply.started": "2024-06-28T08:33:52.565096Z" - } - }, - "outputs": [], - "source": [ - "# Refractive indices\n", - "n_f = 1.5\n", - "n_s = 1.0\n", - "n_b = 1.7\n", - "\n", - "# Materials:\n", - "glass1 = elli.IsotropicMaterial(elli.ConstantRefractiveIndex(n_f))\n", - "air = elli.IsotropicMaterial(elli.ConstantRefractiveIndex(n_s))\n", - "glass2 = elli.IsotropicMaterial(elli.ConstantRefractiveIndex(n_b))\n", - "\n", - "# Layer:\n", - "layer = elli.Layer(air, 0)\n", - "\n", - "# Structure:\n", - "s = elli.Structure(glass1, [layer], glass2)\n", - "\n", - "# Wavelength and wavenumber:\n", - "lbda = 1000\n", - "k0 = 2 * pi / lbda\n", - "Phi_i = pi / 2 * 0.6 #  Incidence angle (higher than the limit angle)\n", - "\n", - "# Air thickness variation range\n", - "d = np.linspace(0, 1000)" - ] - }, - { - "cell_type": "markdown", - "id": "218f4fbc", - "metadata": {}, - "source": [ - "## Analytical calculation" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "ee00445c", - "metadata": { - "execution": { - "iopub.execute_input": "2024-06-28T08:33:52.569364Z", - "iopub.status.busy": "2024-06-28T08:33:52.569141Z", - "iopub.status.idle": "2024-06-28T08:33:52.578484Z", - "shell.execute_reply": "2024-06-28T08:33:52.578049Z", - "shell.execute_reply.started": "2024-06-28T08:33:52.569347Z" - } - }, - "outputs": [], - "source": [ - "# Reduced wavenumber\n", - "Kx = n_f * np.sin(Phi_i)\n", - "\n", - "# Incidence angle\n", - "Phi_s = np.arcsin((complex(Kx / n_s)))\n", - "Phi_b = np.arcsin(Kx / n_b)\n", - "\n", - "# Wave vector:\n", - "kz_f = n_f * k0 * np.cos(Phi_i)\n", - "kz_s = k0 * np.sqrt(complex(n_s**2 - Kx**2))\n", - "kz_b = n_b * k0 * np.cos(Phi_b)\n", - "\n", - "# Amplitude coefficient polarisation s:\n", - "r_sf_s = (kz_f - kz_s) / (kz_s + kz_f)\n", - "r_bs_s = (kz_s - kz_b) / (kz_s + kz_b)\n", - "t_sf_s = 1 + r_sf_s\n", - "t_bs_s = 1 + r_bs_s\n", - "\n", - "# Amplitude coefficient polarisation p:\n", - "r_sf_p = (kz_f * n_s**2 - kz_s * n_f**2) / (kz_s * n_f**2 + kz_f * n_s**2)\n", - "r_bs_p = (kz_s * n_b**2 - kz_b * n_s**2) / (kz_s * n_b**2 + kz_b * n_s**2)\n", - "t_sf_p = np.cos(Phi_i) * (1 - r_sf_p) / np.cos(Phi_s)\n", - "t_bs_p = np.cos(Phi_s) * (1 - r_bs_p) / np.cos(Phi_b)\n", - "\n", - "# Power coefficients:\n", - "R_th_s = (\n", - " np.abs(\n", - " (r_sf_s + r_bs_s * np.exp(2j * kz_s * d))\n", - " / (1 + r_bs_s * r_sf_s * np.exp(2j * kz_s * d))\n", - " )\n", - ") ** 2\n", - "\n", - "t2_th_s = (\n", - " np.abs(\n", - " (t_bs_s * t_sf_s * np.exp(1j * kz_s * d))\n", - " / (1 + r_bs_s * r_sf_s * np.exp(2j * kz_s * d))\n", - " )\n", - ") ** 2\n", - "\n", - "R_th_p = (\n", - " np.abs(\n", - " (r_sf_p + r_bs_p * np.exp(2j * kz_s * d))\n", - " / (1 + r_bs_p * r_sf_p * np.exp(2j * kz_s * d))\n", - " )\n", - ") ** 2\n", - "\n", - "t2_th_p = (\n", - " np.abs(\n", - " (t_bs_p * t_sf_p * np.exp(1j * kz_s * d))\n", - " / (1 + r_bs_p * r_sf_p * np.exp(2j * kz_s * d))\n", - " )\n", - ") ** 2\n", - "\n", - "correction = np.real(n_b * np.cos(Phi_b) / (n_f * np.cos(Phi_i)))\n", - "# This is a correction term used in R +T*correction = 1\n", - "\n", - "T_th_s = t2_th_s * correction\n", - "T_th_p = t2_th_p * correction" - ] - }, - { - "cell_type": "markdown", - "id": "00c39887", - "metadata": {}, - "source": [ - "## Calculation with pyElli" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "9d600576", - "metadata": { - "execution": { - "iopub.execute_input": "2024-06-28T08:33:52.579372Z", - "iopub.status.busy": "2024-06-28T08:33:52.579139Z", - "iopub.status.idle": "2024-06-28T08:33:52.609375Z", - "shell.execute_reply": "2024-06-28T08:33:52.608915Z", - "shell.execute_reply.started": "2024-06-28T08:33:52.579355Z" - } - }, - "outputs": [], - "source": [ - "data = elli.ResultList()\n", - "\n", - "for dd in d:\n", - " layer.set_thickness(dd)\n", - " data.append(s.evaluate(lbda, np.rad2deg(Phi_i)))\n", - "\n", - "# Extraction of the transmission and reflexion coefficients\n", - "R_p = data.R_pp\n", - "R_s = data.R_ss\n", - "T_p = data.T_pp\n", - "T_s = data.T_ss\n", - "t2_p = np.abs(data.t_pp) ** 2 # Before power correction\n", - "t2_s = np.abs(data.t_ss) ** 2" - ] - }, - { - "cell_type": "markdown", - "id": "20fdd68e", - "metadata": { - "lines_to_next_cell": 0 - }, - "source": [ - "## Plotting" - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "id": "b528881f", - "metadata": { - "execution": { - "iopub.execute_input": "2024-06-28T08:36:27.036582Z", - "iopub.status.busy": "2024-06-28T08:36:27.036360Z", - "iopub.status.idle": "2024-06-28T08:36:27.136751Z", - "shell.execute_reply": "2024-06-28T08:36:27.136183Z", - "shell.execute_reply.started": "2024-06-28T08:36:27.036570Z" - } - }, - "outputs": [ - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "fig = plt.figure(figsize=(12.0, 6.0))\n", - "plt.rcParams[\"axes.prop_cycle\"] = plt.cycler(\"color\", \"bgrcmk\")\n", - "ax = fig.add_axes([0.1, 0.1, 0.7, 0.8])\n", - "\n", - "y = np.vstack((R_s, R_p, t2_s, t2_p, T_s, T_p)).T\n", - "legend1 = (\"R_s\", \"R_p\", \"t2_s\", \"t2_p\", \"T_s\", \"T_p\")\n", - "lines1 = ax.plot(d, y)\n", - "\n", - "y_th = np.vstack((R_th_s, R_th_p, t2_th_s, t2_th_p, T_th_s, T_th_p)).T\n", - "legend2 = (\"R_th_s\", \"R_th_p\", \"t2_th_s\", \"t2_th_p\", \"T_th_s\", \"T_th_p\")\n", - "lines2 = ax.plot(d, y_th, \"x\")\n", - "\n", - "ax.legend(\n", - " lines1 + lines2,\n", - " legend1 + legend2,\n", - " loc=\"upper left\",\n", - " bbox_to_anchor=(1.05, 1),\n", - " borderaxespad=0.0,\n", - ")\n", - "\n", - "ax.set_title(\n", - " \"FTIR: Glass1 / Air (d) / Glass2, for incidence angle \"\n", - " + \"$Φ_i$ = {:.0f}°\".format(Phi_i * 180 / pi)\n", - ")\n", - "ax.set_xlabel(r\"Air layer thickness, $d$ (nm)\")\n", - "ax.set_ylabel(r\"Reflexion and transmission coefficients $R$, $T$\")\n", - "plt.show()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "ed1ff736", - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "jupytext": { - "cell_metadata_filter": "-all", - "encoding": "# encoding: utf-8", - "executable": "/usr/bin/python", - "formats": "ipynb,auto:hydrogen", - "main_language": "python", - "notebook_metadata_filter": "-all" - }, - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.12.3" - }, - "vscode": { - "interpreter": { - "hash": "fce8773319f0403ecd2f0f37c27ee32851d93b84c4068e4fe241eeba95a951df" - } - }, - "widgets": { - "application/vnd.jupyter.widget-state+json": { - "state": {}, - "version_major": 2, - "version_minor": 0 - } - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} From b5c9fc01dc0028ea154e8ee7bda812a2092e2708 Mon Sep 17 00:00:00 2001 From: MarJMue <49639740+MarJMue@users.noreply.github.com> Date: Wed, 15 Oct 2025 00:15:42 +0200 Subject: [PATCH 5/6] Update gallery plots --- examples/Bragg-mirror/Bragg-Mirror.ipynb | 2 +- examples/gallery/plot_01_basic_usage.py | 6 +- examples/gallery/plot_03_custom_fitting.py | 8 +- examples/gallery/plot_SiO2_Si_MM.py | 2 +- examples/gallery/plot_bragg_mirror.py | 59 ++++++++------- examples/gallery/plot_cholesteric_lq.py | 74 +++++++++++++++---- examples/gallery/plot_interface_reflection.py | 59 ++++++++++++--- 7 files changed, 152 insertions(+), 58 deletions(-) diff --git a/examples/Bragg-mirror/Bragg-Mirror.ipynb b/examples/Bragg-mirror/Bragg-Mirror.ipynb index e8a3ea1c..612a110f 100644 --- a/examples/Bragg-mirror/Bragg-Mirror.ipynb +++ b/examples/Bragg-mirror/Bragg-Mirror.ipynb @@ -185,7 +185,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "## Structure Graph: Visualization' of the refractive index profile in z-direction." + "## Structure Graph: Visualization of the refractive index profile in z-direction." ] }, { diff --git a/examples/gallery/plot_01_basic_usage.py b/examples/gallery/plot_01_basic_usage.py index 4e9253d9..e3738a4b 100644 --- a/examples/gallery/plot_01_basic_usage.py +++ b/examples/gallery/plot_01_basic_usage.py @@ -1,12 +1,12 @@ """ -Basic usage -=========== +Basic usage of pyElli +===================== Basic usage of building a model and fitting it to measurement data of SiO2 on Si. """ -# %% +# %% Import required libraries import elli from elli.fitting import ParamsHist, fit diff --git a/examples/gallery/plot_03_custom_fitting.py b/examples/gallery/plot_03_custom_fitting.py index c9150dce..ca98bed0 100644 --- a/examples/gallery/plot_03_custom_fitting.py +++ b/examples/gallery/plot_03_custom_fitting.py @@ -21,6 +21,7 @@ # %% # Data import # ----------- +# Read Ψ (psi) and Δ (delta) ellipsometric spectra for different angles from a NeXus file, limited to a wavelength range of 210–800 nm, to be compatible with a tabulated Silicon dispersion. data = elli.read_nexus_psi_delta("SiO2onSi.ellips.nxs").loc[ (slice(None), slice(210, 800)), : ] @@ -30,6 +31,7 @@ # %% # Setting up invariant materials and fitting parameters # ----------------------------------------------------- +# Set up the optical constants for the substrate from RII and define initial fit parameters for the Cauchy SiO₂ layer. rii_db = elli.db.RII() Si = rii_db.get_mat("Si", "Aspnes") @@ -69,8 +71,8 @@ def model(lbda, angle, params): # %% # Defining the fit function # ------------------------- -# The fit function follows the protocol defined by the lmfit package and needs the parameters dictionary as first argument. -# It has to return a residual value, which will be minimized. Here psi and delta are used to calculate the residual, but could be changed to transmission or reflection data. +# The fit function follows the protocol defined by the lmfit package and needs the parameters dictionary as first argument. It has to return a residual value, which will be minimized. +# Here psi and delta are used across all angles to calculate the residual, but could be changed to any other measured quantity like transmission or reflection data. def fit_function(params, lbda, data): @@ -93,6 +95,7 @@ def fit_function(params, lbda, data): # --------------- # The fitting is performed by calling the minimize function with the fit_function and the needed arguments. # It is possible to change the underlying algorithm by providing the method kwarg. +# The fit_report function provides fitted values, uncertainties, and goodness-of-fit statistics. out = minimize(fit_function, params, args=(lbda, data), method="leastsq") print(fit_report(out)) @@ -100,6 +103,7 @@ def fit_function(params, lbda, data): # %% # Plotting the results # ---------------------------------------------- +# The measurent results are displayed as scatter plot and the PyElli results are overlayed as solid lines. fit_50 = model(lbda, 50, out.params) fit_60 = model(lbda, 60, out.params) diff --git a/examples/gallery/plot_SiO2_Si_MM.py b/examples/gallery/plot_SiO2_Si_MM.py index dd7e522f..bc6ca911 100644 --- a/examples/gallery/plot_SiO2_Si_MM.py +++ b/examples/gallery/plot_SiO2_Si_MM.py @@ -2,7 +2,7 @@ Mueller matrix ============== -Mueller matrix fit to a SiO2 on Si measurement. +Exemplary fit of the complete Mueller matrix of a SiO2 on Si measurement. """ # %% diff --git a/examples/gallery/plot_bragg_mirror.py b/examples/gallery/plot_bragg_mirror.py index 2a64ec39..88073e86 100644 --- a/examples/gallery/plot_bragg_mirror.py +++ b/examples/gallery/plot_bragg_mirror.py @@ -4,10 +4,13 @@ """ # %% -# Example of a TiO2/SiO2 Bragg mirror with 8.5 periods -# ---------------------------------------------------- +# TiO2/SiO2 Bragg mirror simulation +# --------------------------------- # # Authors: O. Castany, M.Müller +# +# This notebook simulates a Bragg mirror composed of alternating layers of TiO₂ and SiO₂, each a quarter-wavelength thick at a central wavelength of 1550 nm. +# The mirror contains 8.5 periods, with air as the incident medium and glass as the substrate. # %% import elli @@ -20,25 +23,20 @@ # %% # Material definition # ------------------- -# We define air as incidence material and glass as exit material. -# SiO2 and TiO2 are defined by simplified dispersion relations. +# We define all required materials with constant (non-dispersive) refractive indicies. +# Air as incidence material and glass as exit material. The Bragg mirror materials are SiO2 and TiO2. + air = elli.AIR glass = elli.ConstantRefractiveIndex(1.5).get_mat() - -n_SiO2 = 1.47 -n_TiO2 = 2.23 + 1j * 5.2e-4 - -SiO2 = elli.ConstantRefractiveIndex(n_SiO2).get_mat() -TiO2 = elli.ConstantRefractiveIndex(n_TiO2).get_mat() +SiO2 = elli.ConstantRefractiveIndex(1.47).get_mat() +TiO2 = elli.ConstantRefractiveIndex(2.23 + 1j * 5.2e-4).get_mat() # %% # Create layers and structure # --------------------------- # The SiO2 and TiO2 layers are set to the thickness of an # quarterwaveplate of the respective material at 1550 nm. -# -# The layers are then stacked alternatingly and put into the -# complete structure with air and the glass substrate. + lbda0 = 1550 d_SiO2 = elli.get_qwp_thickness(SiO2, lbda0) @@ -50,14 +48,31 @@ L_SiO2 = elli.Layer(SiO2, d_SiO2) L_TiO2 = elli.Layer(TiO2, d_TiO2) -# Repeated layers: 8.5 periods + +# %% +# Create layers and structure +# --------------------------- +# We now build the multilayer stack: +# Alternating layers of TiO2 / SiO2: +# - 8 full periods + 1 TiO2 layer at the end → "8.5 periods" +# - Placed between air (front) and glass (back) + +# Define periodic stack +# Repeated layers: 8.5 periods: Parameters (Substructure, repetitions, number of layers before, number of layers after the stack) layerstack = elli.RepeatedLayers([L_TiO2, L_SiO2], 8, 0, 1) +# Build full structure s = elli.Structure(air, [layerstack], glass) # %% -# Calculation -# ----------- +# Structure Graph: Visualization of the refractive index profile in z-direction. +# ------------------------------------------------------------------------------ +elliplot.draw_structure(s) + +# %% +# Optical calculation +# ------------------- +# Calculation of the reflection and transmission of the structure at normal incidence (0°). (lbda1, lbda2) = (1100, 2500) lbda_list = np.linspace(lbda1, lbda2, 200) @@ -66,16 +81,10 @@ R = data.R T = data.T - # %% -# Structure Graph -# --------------- -# Schema of the variation of the refractive index in z-direction. -elliplot.draw_structure(s) - -# %% -# Reflection and Transmission Graph -# --------------------------------- +# Reflection and Transmission data +# -------------------------------- +# The plot shows the high reflection in the stopband region around the design wavelength and the interference patterns around it. fig = plt.figure() ax = fig.add_subplot(1, 1, 1) ax.plot(lbda_list, T, label="$T$") diff --git a/examples/gallery/plot_cholesteric_lq.py b/examples/gallery/plot_cholesteric_lq.py index 2ad31310..9593724e 100644 --- a/examples/gallery/plot_cholesteric_lq.py +++ b/examples/gallery/plot_cholesteric_lq.py @@ -1,12 +1,15 @@ """ -Cholesteric Liquid Crystal -========================== +Cholesteric Liquid Crystal Simulation +===================================== """ # %% # Example of a cholesteric liquid crystal # --------------------------------------- # Authors: O. Castany, C. Molinaro, M. Müller +# +# This notebook demonstrates how to model and simulate the optical properties of a cholesteric liquid crystal using pyElli. +# We will build a helical structure and observe its characteristic selective reflection of circularly polarized light. # %% import elli @@ -16,21 +19,40 @@ from scipy.constants import c, pi # %% -# Setup materials and structure -# ----------------------------- +# Setup materials +# --------------- +# We start by defining the materials for our model. +# The liquid crystal will be sandwiched between two layers of isotropic glass with a constant refractive index of 1.55. +# +# The liquid crystal (LC) itself is uniaxial and will be rotated to have the extraordinary axis orientated in x-direction. + glass = elli.IsotropicMaterial(elli.ConstantRefractiveIndex(1.55)) front = back = glass -# Liquid crystal oriented along the x direction +# Define the ordinary (no) and extraordinary (ne) refractive indices for the LC (no, ne) = (1.5, 1.7) Dn = ne - no n_med = (ne + no) / 2 + +# Create a uniaxial material with ne oriented along the z-axis by default LC = elli.UniaxialMaterial( elli.ConstantRefractiveIndex(no), elli.ConstantRefractiveIndex(ne) -) # ne is along z +) + +# Rotate the material so the extraordinary axis is along x instead of z R = elli.rotation_v_theta(elli.E_Y, 90) # rotation of pi/2 along y LC.set_rotation(R) # apply rotation from z to x +# %% +# Building the Helical Structure +# ------------------------------ +# +# The defining feature of a cholesteric liquid crystal is its helical structure. +# The distance over which the director rotates by 360° is known as the cholesteric pitch (p). +# +# We model this by first creating a single TwistedLayer that represents one half-turn of the helix (180° rotation over a distance of p/2). +# We then stack this layer multiple times using RepeatedLayers to build the full thickness (7.5p) of the liquid crystal cell. + # Cholesteric pitch (nm): p = 650 @@ -43,31 +65,47 @@ L = elli.RepeatedLayers([TN], N) s = elli.Structure(front, [L], back) -# Calculation parameters -lbda_min, lbda_max = 800, 1200 # (nm) -lbda_B = p * n_med +# %% +# Setting Calculation Parameters +# ------------------------------ +# +# Finally, we define the wavelength range for our simulation around the central wavelength of the reflection band, +# which is determined by the average refractive index and the pitch. + +# Define wavelength range in nm for the calculation +lbda_min, lbda_max = 800, 1200 +lbda_B = p * n_med # Expected center of the reflection band lbda_list = np.linspace(lbda_min, lbda_max, 100) # %% # Analytical calculation for the maximal reflection # ------------------------------------------------- +# For a cholesteric liquid crystal, we can analytically calculate the approximate edges of the reflection band and the maximum reflectance. +# This serves as a good check for our full simulation. + +# Theoretical maximum reflectance R_th = np.tanh(Dn / n_med * pi * h / p) ** 2 + +# Theoretical wavelength edges of the reflection band lbda_B1, lbda_B2 = p * no, p * ne # %% # Calculation with pyElli # ----------------------- +# Now we run the simulation using the s.evaluate() method. This calculates the Jones matrix elements for transmission and reflection. +# They are extracted for linear (s and p), as well as circular polarized light (R and L) + +# Run the full optical simulation for the defined structure and wavelength list data = s.evaluate(lbda_list, 0) +# Extract transmission coefficients for linear polarization T_pp = data.T_pp T_ps = data.T_ps T_ss = data.T_ss T_sp = data.T_sp -# Transmission coefficients for incident unpolarized light: -T_pn = 0.5 * (T_pp + T_ps) -T_sn = 0.5 * (T_sp + T_ss) -T_nn = T_sn + T_pn +# Calculate transmission for unpolarized incident light +T_nn = 0.5 * (T_pp + T_ps + T_sp + T_ss) # Transmission coefficients for 's' and 'p' polarized light, with # unpolarized measurement. @@ -75,7 +113,7 @@ T_np = T_pp + T_sp # Right-circular wave is reflected in the stop-band. -# R_LR, T_LR close to zero. +# A right-handed helix reflects right-circular (RR) light. R_RR = data.Rc_RR R_LR = data.Rc_LR T_RR = data.Tc_RR @@ -89,6 +127,12 @@ # %% # Plotting # -------- +# Finally, we plot the results. The plot will show the transmission and reflection spectra for various polarizations. +# +# We also draw a shaded rectangle representing the analytically calculated photonic stop-band. +# Inside this band, we expect to see strong reflection for a specific circular polarization. +# As our model is a right-handed helix, it should strongly reflect right-circularly polarized light (R_RR). + fig = plt.figure() ax = fig.add_subplot(1, 1, 1) @@ -112,4 +156,6 @@ ax.set_ylabel(r"Power transmission $T$ and reflexion $R$") plt.show() +# %% +# Additionally we can visualize the refractive index n x direction of the structure in dependance of z position. elliplot.draw_structure(s) diff --git a/examples/gallery/plot_interface_reflection.py b/examples/gallery/plot_interface_reflection.py index 34952ae7..907e053f 100644 --- a/examples/gallery/plot_interface_reflection.py +++ b/examples/gallery/plot_interface_reflection.py @@ -4,12 +4,21 @@ """ # %% -# Interface between two materials -# ------------------------------- +# Reflection on interfaces between two materials +# ============================================== +# # Authors: O. Castany, C. Molinaro, M. Müller # -# Interface between two materials n1/n2. -# Calculations of the transmission and reflexion coefficients with varying incidence angle. +# This notebook analyzes the optical behavior at the interface between two +# isotropic materials with refractive indices n1 and n2. +# +# It computes the reflection and transmission coefficients as functions of +# the incidence angle, for both s- and p-polarized light, using the +# analytical Fresnel equations and comparing those to pyElli’s output. + +# %% +# Import required libraries +# ------------------------- import elli import matplotlib.pyplot as plt import numpy as np @@ -17,39 +26,61 @@ # %% # Structure definition -# ------------------------ +# -------------------- +# +# We define an optical system with two materials: +# +# - Frontside medium (air) with refractive index n = 1.0 +# - Back medium (glass) with n = 1.5 +# +# We also prepare the vacuum wavevector k0 and a range of incidence angles +# from 0° to 89°. + +# Define refractive indices for the two media n1 = 1 n2 = 1.5 + +# Create isotropic materials using pyElli's ConstantRefractiveIndex model front = elli.IsotropicMaterial(elli.ConstantRefractiveIndex(n1)) back = elli.IsotropicMaterial(elli.ConstantRefractiveIndex(n2)) -# Structure +# Define the optical structure: just a single interface with no internal layers s = elli.Structure(front, [], back) -# Parameters for the calculation +# Set wavelength and wavevector lbda = 1000 k0 = 2 * pi / lbda -Phi_list = np.linspace(0, 89, 90) #  range for the incidence angles + +# Define a range of incidence angles from 0° to 89° +Phi_list = np.linspace(0, 89, 90) # %% # Analytical calculation # ------------------------ +# We calculate the Fresnel reflection and transmission coefficients for s- and p-polarized light at an interface. + +# Convert incidence angles from degrees to radians Phi_i = np.deg2rad(Phi_list) +# Snell's law (allowing complex values for total internal reflection) Phi_t = np.arcsin((n1 * np.sin(Phi_i) / n2).astype(complex)) + kz1 = n1 * k0 * np.cos(Phi_i) kz2 = n2 * k0 * np.cos(Phi_t) + +# Fresnel coefficients r_s = (kz1 - kz2) / (kz1 + kz2) t_s = 1 + r_s r_p = (kz1 * n2**2 - kz2 * n1**2) / (kz1 * n2**2 + kz2 * n1**2) t_p = np.cos(Phi_i) * (1 - r_p) / np.cos(Phi_t) -# Reflection and transmission coefficients, polarisation s and p +# Reflectance and Transmittance R_th_ss = abs(r_s) ** 2 R_th_pp = abs(r_p) ** 2 t2_th_ss = abs(t_s) ** 2 t2_th_pp = abs(t_p) ** 2 -# The power transmission coefficient is T = Re(kz2/kz1) × |t|^2 + +# The power transmission coefficient (correction for energy conservation) is T = Re(kz2/kz1) × |t|^2 correction = np.real(kz2 / kz1) T_th_ss = correction * t2_th_ss T_th_pp = correction * t2_th_pp @@ -58,6 +89,8 @@ # %% # Calculation with pyElli # ----------------------- +# Here, we simulate the same interface using pyElli. +# Each angle is evaluated using ``Structure.evaluate()`` and then grouped in a ``ResultList`` object to get angle dependent arrays. data = elli.ResultList([s.evaluate(lbda, Phi_i) for Phi_i in Phi_list]) R_pp = data.R_pp @@ -70,8 +103,10 @@ t2_ss = np.abs(data.t_ss) ** 2 # %% -# Plotting -# ---------- +# Comparing results +# ----------------- +# - Theoretical results as dotted lines +# - PyElli results as solid lines fig = plt.figure(figsize=(12.0, 6.0)) plt.rcParams["axes.prop_cycle"] = plt.cycler("color", "bgrcmk") ax = fig.add_axes([0.1, 0.1, 0.7, 0.8]) From a70eb7c6e192ee5c09fa2709e125ce138695183d Mon Sep 17 00:00:00 2001 From: MarJMue <49639740+MarJMue@users.noreply.github.com> Date: Wed, 15 Oct 2025 00:21:58 +0200 Subject: [PATCH 6/6] Fix wavelength slicing in gallery --- examples/gallery/plot_01_basic_usage.py | 2 +- examples/gallery/plot_02_TiO2_multilayer.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/gallery/plot_01_basic_usage.py b/examples/gallery/plot_01_basic_usage.py index e3738a4b..16438c96 100644 --- a/examples/gallery/plot_01_basic_usage.py +++ b/examples/gallery/plot_01_basic_usage.py @@ -26,7 +26,7 @@ # This is because we're using literature values for Si, # which are only defined in this wavelength range. ANGLE = 70 -psi_delta = elli.read_nexus_psi_delta("SiO2onSi.ellips.nxs").loc[ANGLE][210:800] +psi_delta = elli.read_nexus_psi_delta("SiO2onSi.ellips.nxs").loc[ANGLE].loc[210:800] # %% # Setting parameters diff --git a/examples/gallery/plot_02_TiO2_multilayer.py b/examples/gallery/plot_02_TiO2_multilayer.py index 827a5138..2907389f 100644 --- a/examples/gallery/plot_02_TiO2_multilayer.py +++ b/examples/gallery/plot_02_TiO2_multilayer.py @@ -19,7 +19,7 @@ # # The sample is an ALD grown TiO2 sample (with 400 cycles) # on commercially available SiO2 / Si substrate. -tss = elli.read_spectraray_psi_delta("TiO2_400cycles.txt").loc[70.06][400:800] +tss = elli.read_spectraray_psi_delta("TiO2_400cycles.txt").loc[70.06].loc[400:800] # %% # Set start parameters