{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "577a50ef",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "        <script type=\"text/javascript\">\n",
       "        window.PlotlyConfig = {MathJaxConfig: 'local'};\n",
       "        if (window.MathJax && window.MathJax.Hub && window.MathJax.Hub.Config) {window.MathJax.Hub.Config({SVG: {font: \"STIX-Web\"}});}\n",
       "        if (typeof require !== 'undefined') {\n",
       "        require.undef(\"plotly\");\n",
       "        define('plotly', function(require, exports, module) {\n",
       "            /**\n",
       "* plotly.js v2.12.1\n",
       "* Copyright 2012-2022, Plotly, Inc.\n",
       "* All rights reserved.\n",
       "* Licensed under the MIT license\n",
       "*/\n",
       "!function(t){if(\"object\"==typeof exports&&\"undefined\"!=typeof module)module.exports=t();else if(\"function\"==typeof define&&define.amd)define([],t);else{(\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:this).Plotly=t()}}((function(){return function t(e,r,n){function i(o,s){if(!r[o]){if(!e[o]){var l=\"function\"==typeof require&&require;if(!s&&l)return l(o,!0);if(a)return a(o,!0);var c=new Error(\"Cannot find module '\"+o+\"'\");throw c.code=\"MODULE_NOT_FOUND\",c}var u=r[o]={exports:{}};e[o][0].call(u.exports,(function(t){return i(e[o][1][t]||t)}),u,u.exports,t,e,r,n)}return r[o].exports}for(var a=\"function\"==typeof require&&require,o=0;o<n.length;o++)i(n[o]);return i}({1:[function(t,e,r){\"use strict\";var n=t(\"../src/lib\"),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;\",\"X .select-outline\":\"fill:none;stroke-width:1;shape-rendering:crispEdges;\",\"X .select-outline-1\":\"stroke:#fff;\",\"X .select-outline-2\":\"stroke:#000;stroke-dasharray:2px 2px;\",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])}},{\"../src/lib\":503}],2:[function(t,e,r){\"use strict\";e.exports=t(\"../src/transforms/aggregate\")},{\"../src/transforms/aggregate\":1118}],3:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/bar\")},{\"../src/traces/bar\":656}],4:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/barpolar\")},{\"../src/traces/barpolar\":669}],5:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/box\")},{\"../src/traces/box\":679}],6:[function(t,e,r){\"use strict\";e.exports=t(\"../src/components/calendars\")},{\"../src/components/calendars\":364}],7:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/candlestick\")},{\"../src/traces/candlestick\":688}],8:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/carpet\")},{\"../src/traces/carpet\":707}],9:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/choropleth\")},{\"../src/traces/choropleth\":721}],10:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/choroplethmapbox\")},{\"../src/traces/choroplethmapbox\":728}],11:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/cone\")},{\"../src/traces/cone\":734}],12:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/contour\")},{\"../src/traces/contour\":749}],13:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/contourcarpet\")},{\"../src/traces/contourcarpet\":760}],14:[function(t,e,r){\"use strict\";e.exports=t(\"../src/core\")},{\"../src/core\":481}],15:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/densitymapbox\")},{\"../src/traces/densitymapbox\":768}],16:[function(t,e,r){\"use strict\";e.exports=t(\"../src/transforms/filter\")},{\"../src/transforms/filter\":1119}],17:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/funnel\")},{\"../src/traces/funnel\":778}],18:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/funnelarea\")},{\"../src/traces/funnelarea\":787}],19:[function(t,e,r){\"use strict\";e.exports=t(\"../src/transforms/groupby\")},{\"../src/transforms/groupby\":1120}],20:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/heatmap\")},{\"../src/traces/heatmap\":800}],21:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/heatmapgl\")},{\"../src/traces/heatmapgl\":811}],22:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/histogram\")},{\"../src/traces/histogram\":823}],23:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/histogram2d\")},{\"../src/traces/histogram2d\":829}],24:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/histogram2dcontour\")},{\"../src/traces/histogram2dcontour\":833}],25:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/icicle\")},{\"../src/traces/icicle\":839}],26:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/image\")},{\"../src/traces/image\":852}],27:[function(t,e,r){\"use strict\";var n=t(\"./core\");n.register([t(\"./bar\"),t(\"./box\"),t(\"./heatmap\"),t(\"./histogram\"),t(\"./histogram2d\"),t(\"./histogram2dcontour\"),t(\"./contour\"),t(\"./scatterternary\"),t(\"./violin\"),t(\"./funnel\"),t(\"./waterfall\"),t(\"./image\"),t(\"./pie\"),t(\"./sunburst\"),t(\"./treemap\"),t(\"./icicle\"),t(\"./funnelarea\"),t(\"./scatter3d\"),t(\"./surface\"),t(\"./isosurface\"),t(\"./volume\"),t(\"./mesh3d\"),t(\"./cone\"),t(\"./streamtube\"),t(\"./scattergeo\"),t(\"./choropleth\"),t(\"./scattergl\"),t(\"./splom\"),t(\"./pointcloud\"),t(\"./heatmapgl\"),t(\"./parcoords\"),t(\"./parcats\"),t(\"./scattermapbox\"),t(\"./choroplethmapbox\"),t(\"./densitymapbox\"),t(\"./sankey\"),t(\"./indicator\"),t(\"./table\"),t(\"./carpet\"),t(\"./scattercarpet\"),t(\"./contourcarpet\"),t(\"./ohlc\"),t(\"./candlestick\"),t(\"./scatterpolar\"),t(\"./scatterpolargl\"),t(\"./barpolar\"),t(\"./scattersmith\"),t(\"./aggregate\"),t(\"./filter\"),t(\"./groupby\"),t(\"./sort\"),t(\"./calendars\")]),e.exports=n},{\"./aggregate\":2,\"./bar\":3,\"./barpolar\":4,\"./box\":5,\"./calendars\":6,\"./candlestick\":7,\"./carpet\":8,\"./choropleth\":9,\"./choroplethmapbox\":10,\"./cone\":11,\"./contour\":12,\"./contourcarpet\":13,\"./core\":14,\"./densitymapbox\":15,\"./filter\":16,\"./funnel\":17,\"./funnelarea\":18,\"./groupby\":19,\"./heatmap\":20,\"./heatmapgl\":21,\"./histogram\":22,\"./histogram2d\":23,\"./histogram2dcontour\":24,\"./icicle\":25,\"./image\":26,\"./indicator\":28,\"./isosurface\":29,\"./mesh3d\":30,\"./ohlc\":31,\"./parcats\":32,\"./parcoords\":33,\"./pie\":34,\"./pointcloud\":35,\"./sankey\":36,\"./scatter3d\":37,\"./scattercarpet\":38,\"./scattergeo\":39,\"./scattergl\":40,\"./scattermapbox\":41,\"./scatterpolar\":42,\"./scatterpolargl\":43,\"./scattersmith\":44,\"./scatterternary\":45,\"./sort\":46,\"./splom\":47,\"./streamtube\":48,\"./sunburst\":49,\"./surface\":50,\"./table\":51,\"./treemap\":52,\"./violin\":53,\"./volume\":54,\"./waterfall\":55}],28:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/indicator\")},{\"../src/traces/indicator\":860}],29:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/isosurface\")},{\"../src/traces/isosurface\":866}],30:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/mesh3d\")},{\"../src/traces/mesh3d\":871}],31:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/ohlc\")},{\"../src/traces/ohlc\":876}],32:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/parcats\")},{\"../src/traces/parcats\":885}],33:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/parcoords\")},{\"../src/traces/parcoords\":896}],34:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/pie\")},{\"../src/traces/pie\":907}],35:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/pointcloud\")},{\"../src/traces/pointcloud\":916}],36:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/sankey\")},{\"../src/traces/sankey\":922}],37:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/scatter3d\")},{\"../src/traces/scatter3d\":960}],38:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/scattercarpet\")},{\"../src/traces/scattercarpet\":967}],39:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/scattergeo\")},{\"../src/traces/scattergeo\":975}],40:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/scattergl\")},{\"../src/traces/scattergl\":989}],41:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/scattermapbox\")},{\"../src/traces/scattermapbox\":999}],42:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/scatterpolar\")},{\"../src/traces/scatterpolar\":1007}],43:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/scatterpolargl\")},{\"../src/traces/scatterpolargl\":1015}],44:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/scattersmith\")},{\"../src/traces/scattersmith\":1022}],45:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/scatterternary\")},{\"../src/traces/scatterternary\":1030}],46:[function(t,e,r){\"use strict\";e.exports=t(\"../src/transforms/sort\")},{\"../src/transforms/sort\":1122}],47:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/splom\")},{\"../src/traces/splom\":1040}],48:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/streamtube\")},{\"../src/traces/streamtube\":1048}],49:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/sunburst\")},{\"../src/traces/sunburst\":1056}],50:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/surface\")},{\"../src/traces/surface\":1065}],51:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/table\")},{\"../src/traces/table\":1073}],52:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/treemap\")},{\"../src/traces/treemap\":1084}],53:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/violin\")},{\"../src/traces/violin\":1097}],54:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/volume\")},{\"../src/traces/volume\":1105}],55:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/waterfall\")},{\"../src/traces/waterfall\":1113}],56:[function(t,e,r){!function(n,i){\"object\"==typeof r&&void 0!==e?i(r,t(\"d3-array\"),t(\"d3-collection\"),t(\"d3-shape\"),t(\"elementary-circuits-directed-graph\")):i(n.d3=n.d3||{},n.d3,n.d3,n.d3,null)}(this,(function(t,e,r,n,i){\"use strict\";function a(t){return t.target.depth}function o(t,e){return t.sourceLinks.length?t.depth:e-1}function s(t){return function(){return t}}i=i&&i.hasOwnProperty(\"default\")?i.default:i;var l=\"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 c(t,e){return f(t.source,e.source)||t.index-e.index}function u(t,e){return f(t.target,e.target)||t.index-e.index}function f(t,e){return t.partOfCycle===e.partOfCycle?t.y0-e.y0:\"top\"===t.circularLinkType||\"bottom\"===e.circularLinkType?-1:1}function h(t){return t.value}function p(t){return(t.y0+t.y1)/2}function d(t){return p(t.source)}function m(t){return p(t.target)}function g(t){return t.index}function v(t){return t.nodes}function y(t){return t.links}function x(t,e){var r=t.get(e);if(!r)throw new Error(\"missing: \"+e);return r}function b(t,e){return e(t)}function _(t,e,r){var n=0;if(null===r){for(var a=[],o=0;o<t.links.length;o++){var s=t.links[o],l=s.source.index,c=s.target.index;a[l]||(a[l]=[]),a[c]||(a[c]=[]),-1===a[l].indexOf(c)&&a[l].push(c)}var u=i(a);u.sort((function(t,e){return t.length-e.length}));var f={};for(o=0;o<u.length;o++){var h=u[o].slice(-2);f[h[0]]||(f[h[0]]={}),f[h[0]][h[1]]=!0}t.links.forEach((function(t){var e=t.target.index,r=t.source.index;e===r||f[r]&&f[r][e]?(t.circular=!0,t.circularLinkID=n,n+=1):t.circular=!1}))}else t.links.forEach((function(t){t.source[r]<t.target[r]?t.circular=!1:(t.circular=!0,t.circularLinkID=n,n+=1)}))}function w(t,e){var r=0,n=0;t.links.forEach((function(i){i.circular&&(i.source.circularLinkType||i.target.circularLinkType?i.circularLinkType=i.source.circularLinkType?i.source.circularLinkType:i.target.circularLinkType:i.circularLinkType=r<n?\"top\":\"bottom\",\"top\"==i.circularLinkType?r+=1:n+=1,t.nodes.forEach((function(t){b(t,e)!=b(i.source,e)&&b(t,e)!=b(i.target,e)||(t.circularLinkType=i.circularLinkType)})))})),t.links.forEach((function(t){t.circular&&(t.source.circularLinkType==t.target.circularLinkType&&(t.circularLinkType=t.source.circularLinkType),q(t,e)&&(t.circularLinkType=t.source.circularLinkType))}))}function T(t){var e=Math.abs(t.y1-t.y0),r=Math.abs(t.target.x0-t.source.x1);return Math.atan(r/e)}function k(t,e){var r=0;t.sourceLinks.forEach((function(t){r=t.circular&&!q(t,e)?r+1:r}));var n=0;return t.targetLinks.forEach((function(t){n=t.circular&&!q(t,e)?n+1:n})),r+n}function A(t){var e=t.source.sourceLinks,r=0;e.forEach((function(t){r=t.circular?r+1:r}));var n=t.target.targetLinks,i=0;return n.forEach((function(t){i=t.circular?i+1:i})),!(r>1||i>1)}function M(t,e,r){return t.sort(E),t.forEach((function(n,i){var a,o,s=0;if(q(n,r)&&A(n))n.circularPathData.verticalBuffer=s+n.width/2;else{for(var l=0;l<i;l++)if(a=t[i],o=t[l],!(a.source.column<o.target.column||a.target.column>o.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 S(t,r,i,a){var o=e.min(t.links,(function(t){return t.source.y0}));t.links.forEach((function(t){t.circular&&(t.circularPathData={})})),M(t.links.filter((function(t){return\"top\"==t.circularLinkType})),r,a),M(t.links.filter((function(t){return\"bottom\"==t.circularLinkType})),r,a),t.links.forEach((function(e){if(e.circular){if(e.circularPathData.arcRadius=e.width+10,e.circularPathData.leftNodeBuffer=5,e.circularPathData.rightNodeBuffer=5,e.circularPathData.sourceWidth=e.source.x1-e.source.x0,e.circularPathData.sourceX=e.source.x0+e.circularPathData.sourceWidth,e.circularPathData.targetX=e.target.x0,e.circularPathData.sourceY=e.y0,e.circularPathData.targetY=e.y1,q(e,a)&&A(e))e.circularPathData.leftSmallArcRadius=10+e.width/2,e.circularPathData.leftLargeArcRadius=10+e.width/2,e.circularPathData.rightSmallArcRadius=10+e.width/2,e.circularPathData.rightLargeArcRadius=10+e.width/2,\"bottom\"==e.circularLinkType?(e.circularPathData.verticalFullExtent=e.source.y1+25+e.circularPathData.verticalBuffer,e.circularPathData.verticalLeftInnerExtent=e.circularPathData.verticalFullExtent-e.circularPathData.leftLargeArcRadius,e.circularPathData.verticalRightInnerExtent=e.circularPathData.verticalFullExtent-e.circularPathData.rightLargeArcRadius):(e.circularPathData.verticalFullExtent=e.source.y0-25-e.circularPathData.verticalBuffer,e.circularPathData.verticalLeftInnerExtent=e.circularPathData.verticalFullExtent+e.circularPathData.leftLargeArcRadius,e.circularPathData.verticalRightInnerExtent=e.circularPathData.verticalFullExtent+e.circularPathData.rightLargeArcRadius);else{var s=e.source.column,l=e.circularLinkType,c=t.links.filter((function(t){return t.source.column==s&&t.circularLinkType==l}));\"bottom\"==e.circularLinkType?c.sort(C):c.sort(L);var u=0;c.forEach((function(t,n){t.circularLinkID==e.circularLinkID&&(e.circularPathData.leftSmallArcRadius=10+e.width/2+u,e.circularPathData.leftLargeArcRadius=10+e.width/2+n*r+u),u+=t.width})),s=e.target.column,c=t.links.filter((function(t){return t.target.column==s&&t.circularLinkType==l})),\"bottom\"==e.circularLinkType?c.sort(I):c.sort(P),u=0,c.forEach((function(t,n){t.circularLinkID==e.circularLinkID&&(e.circularPathData.rightSmallArcRadius=10+e.width/2+u,e.circularPathData.rightLargeArcRadius=10+e.width/2+n*r+u),u+=t.width})),\"bottom\"==e.circularLinkType?(e.circularPathData.verticalFullExtent=Math.max(i,e.source.y1,e.target.y1)+25+e.circularPathData.verticalBuffer,e.circularPathData.verticalLeftInnerExtent=e.circularPathData.verticalFullExtent-e.circularPathData.leftLargeArcRadius,e.circularPathData.verticalRightInnerExtent=e.circularPathData.verticalFullExtent-e.circularPathData.rightLargeArcRadius):(e.circularPathData.verticalFullExtent=o-25-e.circularPathData.verticalBuffer,e.circularPathData.verticalLeftInnerExtent=e.circularPathData.verticalFullExtent+e.circularPathData.leftLargeArcRadius,e.circularPathData.verticalRightInnerExtent=e.circularPathData.verticalFullExtent+e.circularPathData.rightLargeArcRadius)}e.circularPathData.leftInnerExtent=e.circularPathData.sourceX+e.circularPathData.leftNodeBuffer,e.circularPathData.rightInnerExtent=e.circularPathData.targetX-e.circularPathData.rightNodeBuffer,e.circularPathData.leftFullExtent=e.circularPathData.sourceX+e.circularPathData.leftLargeArcRadius+e.circularPathData.leftNodeBuffer,e.circularPathData.rightFullExtent=e.circularPathData.targetX-e.circularPathData.rightLargeArcRadius-e.circularPathData.rightNodeBuffer}if(e.circular)e.path=function(t){var e=\"\";e=\"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;return e}(e);else{var f=n.linkHorizontal().source((function(t){return[t.source.x0+(t.source.x1-t.source.x0),t.y0]})).target((function(t){return[t.target.x0,t.y1]}));e.path=f(e)}}))}function E(t,e){return O(t)==O(e)?\"bottom\"==t.circularLinkType?C(t,e):L(t,e):O(e)-O(t)}function L(t,e){return t.y0-e.y0}function C(t,e){return e.y0-t.y0}function P(t,e){return t.y1-e.y1}function I(t,e){return e.y1-t.y1}function O(t){return t.target.column-t.source.column}function z(t){return t.target.x0-t.source.x1}function D(t,e){var r=T(t),n=z(e)/Math.tan(r);return\"up\"==H(t)?t.y1+n:t.y1-n}function R(t,e){var r=T(t),n=z(e)/Math.tan(r);return\"up\"==H(t)?t.y1-n:t.y1+n}function F(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),f=Math.pow(1-u,3),h=3*u*Math.pow(1-u,2),p=3*Math.pow(u,2)*(1-u),d=Math.pow(u,3),m=f*i.y0+h*i.y0+p*i.y1+d*i.y1,g=m-i.width/2,v=m+i.width/2;g>o.y0&&g<o.y1?(c=o.y1-g+10,c=\"bottom\"==o.circularLinkType?c:-c,o=N(o,c,e,r),t.nodes.forEach((function(t){b(t,n)!=b(o,n)&&t.column==o.column&&B(o,t)&&N(t,c,e,r)}))):(v>o.y0&&v<o.y1||g<o.y0&&v>o.y1)&&(c=v-o.y0+10,o=N(o,c,e,r),t.nodes.forEach((function(t){b(t,n)!=b(o,n)&&t.column==o.column&&t.y0<o.y1&&t.y1>o.y1&&N(t,c,e,r)})))}}))}}))}function B(t,e){return t.y0>e.y0&&t.y0<e.y1||(t.y1>e.y0&&t.y1<e.y1||t.y0<e.y0&&t.y1>e.y1)}function N(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 j(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 b(t.source,r)==b(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(!V(t,e))return t.y1-e.y1;if(t.target.column>e.target.column){var r=R(e,t);return t.y1-r}if(e.target.column>t.target.column)return R(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;r<o;r++)n+=a[r].width;t.y0=i.y1-n-t.width/2}}))}))}function U(t,e,r){t.nodes.forEach((function(e){var n=t.links.filter((function(t){return b(t.target,r)==b(e,r)})),i=n.length;i>1&&n.sort((function(t,e){if(!t.circular&&!e.circular){if(t.source.column==e.source.column)return t.y0-e.y0;if(!V(t,e))return t.y0-e.y0;if(e.source.column<t.source.column){var r=D(e,t);return t.y0-r}if(t.source.column<e.source.column)return D(t,e)-e.y0}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.source.column===e.source.column?t.source.y1-e.source.y1:t.source.column-e.source.column:t.circularLinkType===e.circularLinkType&&\"bottom\"==t.circularLinkType?t.source.column===e.source.column?t.source.y1-e.source.y1:e.source.column-t.source.column:\"top\"==t.circularLinkType?-1:1:void 0}));var a=e.y0;n.forEach((function(t){t.y1=a+t.width/2,a+=t.width})),n.forEach((function(t,r){if(\"bottom\"==t.circularLinkType){for(var a=r+1,o=0;a<i;a++)o+=n[a].width;t.y1=e.y1-o-t.width/2}}))}))}function V(t,e){return H(t)==H(e)}function H(t){return t.y0-t.y1>0?\"up\":\"down\"}function q(t,e){return b(t.source,e)==b(t.target,e)}function G(t,r,n){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=e.min(i,(function(t){return t.y0})),c=(n-r)/(e.max(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}))}}t.sankeyCircular=function(){var t,n,i=0,a=0,b=1,T=1,A=24,M=g,E=o,L=v,C=y,P=32,I=2,O=null;function z(){var t={nodes:L.apply(null,arguments),links:C.apply(null,arguments)};D(t),_(t,M,O),R(t),B(t),w(t,M),N(t,P,M),V(t);for(var e=4,r=0;r<e;r++)j(t,T,M),U(t,T,M),F(t,a,T,M),j(t,T,M),U(t,T,M);return G(t,a,T),S(t,I,T,M),t}function D(t){t.nodes.forEach((function(t,e){t.index=e,t.sourceLinks=[],t.targetLinks=[]}));var e=r.map(t.nodes,M);return t.links.forEach((function(t,r){t.index=r;var n=t.source,i=t.target;\"object\"!==(void 0===n?\"undefined\":l(n))&&(n=t.source=x(e,n)),\"object\"!==(void 0===i?\"undefined\":l(i))&&(i=t.target=x(e,i)),n.sourceLinks.push(t),i.targetLinks.push(t)})),t}function R(t){t.nodes.forEach((function(t){t.partOfCycle=!1,t.value=Math.max(e.sum(t.sourceLinks,h),e.sum(t.targetLinks,h)),t.sourceLinks.forEach((function(e){e.circular&&(t.partOfCycle=!0,t.circularLinkType=e.circularLinkType)})),t.targetLinks.forEach((function(e){e.circular&&(t.partOfCycle=!0,t.circularLinkType=e.circularLinkType)}))}))}function B(t){var e,r,n;for(e=t.nodes,r=[],n=0;e.length;++n,e=r,r=[])e.forEach((function(t){t.depth=n,t.sourceLinks.forEach((function(t){r.indexOf(t.target)<0&&!t.circular&&r.push(t.target)}))}));for(e=t.nodes,r=[],n=0;e.length;++n,e=r,r=[])e.forEach((function(t){t.height=n,t.targetLinks.forEach((function(t){r.indexOf(t.source)<0&&!t.circular&&r.push(t.source)}))}));t.nodes.forEach((function(t){t.column=Math.floor(E.call(null,t,n))}))}function N(o,s,l){var c=r.nest().key((function(t){return t.column})).sortKeys(e.ascending).entries(o.nodes).map((function(t){return t.values}));!function(r){if(n){var s=1/0;c.forEach((function(t){var e=T*n/(t.length+1);s=e<s?e:s})),t=s}var l=e.min(c,(function(r){return(T-a-(r.length-1)*t)/e.sum(r,h)}));l*=.3,o.links.forEach((function(t){t.width=t.value*l}));var u=function(t){var r=0,n=0,i=0,a=0,o=e.max(t.nodes,(function(t){return t.column}));return t.links.forEach((function(t){t.circular&&(\"top\"==t.circularLinkType?r+=t.width:n+=t.width,0==t.target.column&&(a+=t.width),t.source.column==o&&(i+=t.width))})),{top:r=r>0?r+25+10:r,bottom:n=n>0?n+25+10:n,left:a=a>0?a+25+10:a,right:i=i>0?i+25+10:i}}(o),f=function(t,r){var n=e.max(t.nodes,(function(t){return t.column})),o=b-i,s=T-a,l=o/(o+r.right+r.left),c=s/(s+r.top+r.bottom);return i=i*l+r.left,b=0==r.right?b:b*l,a=a*c+r.top,T*=c,t.nodes.forEach((function(t){t.x0=i+t.column*((b-i-A)/n),t.x1=t.x0+A})),c}(o,u);l*=f,o.links.forEach((function(t){t.width=t.value*l})),c.forEach((function(t){var e=t.length;t.forEach((function(t,n){t.depth==c.length-1&&1==e||0==t.depth&&1==e?(t.y0=T/2-t.value*l,t.y1=t.y0+t.value*l):t.partOfCycle?0==k(t,r)?(t.y0=T/2+n,t.y1=t.y0+t.value*l):\"top\"==t.circularLinkType?(t.y0=a+n,t.y1=t.y0+t.value*l):(t.y0=T-t.value*l-n,t.y1=t.y0+t.value*l):0==u.top||0==u.bottom?(t.y0=(T-a)/e*n,t.y1=t.y0+t.value*l):(t.y0=(T-a)/2-e/2+n,t.y1=t.y0+t.value*l)}))}))}(l),y();for(var u=1,g=s;g>0;--g)v(u*=.99,l),y();function v(t,r){var n=c.length;c.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&&k(i,r)>0);else if(0==o&&1==a)s=i.y1-i.y0,i.y0=T/2-s/2,i.y1=T/2+s/2;else if(o==n-1&&1==a)s=i.y1-i.y0,i.y0=T/2-s/2,i.y1=T/2+s/2;else{var l=e.mean(i.sourceLinks,m),c=e.mean(i.targetLinks,d),u=((l&&c?(l+c)/2:l||c)-p(i))*t;i.y0+=u,i.y1+=u}}))}))}function y(){c.forEach((function(e){var r,n,i,o=a,s=e.length;for(e.sort(f),i=0;i<s;++i)(n=o-(r=e[i]).y0)>0&&(r.y0+=n,r.y1+=n),o=r.y1+t;if((n=o-t-T)>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}))}}function V(t){t.nodes.forEach((function(t){t.sourceLinks.sort(u),t.targetLinks.sort(c)})),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 z.nodeId=function(t){return arguments.length?(M=\"function\"==typeof t?t:s(t),z):M},z.nodeAlign=function(t){return arguments.length?(E=\"function\"==typeof t?t:s(t),z):E},z.nodeWidth=function(t){return arguments.length?(A=+t,z):A},z.nodePadding=function(e){return arguments.length?(t=+e,z):t},z.nodes=function(t){return arguments.length?(L=\"function\"==typeof t?t:s(t),z):L},z.links=function(t){return arguments.length?(C=\"function\"==typeof t?t:s(t),z):C},z.size=function(t){return arguments.length?(i=a=0,b=+t[0],T=+t[1],z):[b-i,T-a]},z.extent=function(t){return arguments.length?(i=+t[0][0],b=+t[1][0],a=+t[0][1],T=+t[1][1],z):[[i,a],[b,T]]},z.iterations=function(t){return arguments.length?(P=+t,z):P},z.circularLinkGap=function(t){return arguments.length?(I=+t,z):I},z.nodePaddingRatio=function(t){return arguments.length?(n=+t,z):n},z.sortNodes=function(t){return arguments.length?(O=t,z):O},z.update=function(t){return w(t,M),V(t),t.links.forEach((function(t){t.circular&&(t.circularLinkType=t.y0+t.y1<T?\"top\":\"bottom\",t.source.circularLinkType=t.circularLinkType,t.target.circularLinkType=t.circularLinkType)})),j(t,T,M,!1),U(t,T,M),S(t,I,T,M),t},z},t.sankeyCenter=function(t){return t.targetLinks.length?t.depth:t.sourceLinks.length?e.min(t.sourceLinks,a)-1:0},t.sankeyLeft=function(t){return t.depth},t.sankeyRight=function(t,e){return e-1-t.height},t.sankeyJustify=o,Object.defineProperty(t,\"__esModule\",{value:!0})}))},{\"d3-array\":107,\"d3-collection\":108,\"d3-shape\":119,\"elementary-circuits-directed-graph\":130}],57:[function(t,e,r){!function(n,i){\"object\"==typeof r&&void 0!==e?i(r,t(\"d3-array\"),t(\"d3-collection\"),t(\"d3-shape\")):i(n.d3=n.d3||{},n.d3,n.d3,n.d3)}(this,(function(t,e,r,n){\"use strict\";function i(t){return t.target.depth}function a(t,e){return t.sourceLinks.length?t.depth:e-1}function o(t){return function(){return t}}function s(t,e){return c(t.source,e.source)||t.index-e.index}function l(t,e){return c(t.target,e.target)||t.index-e.index}function c(t,e){return t.y0-e.y0}function u(t){return t.value}function f(t){return(t.y0+t.y1)/2}function h(t){return f(t.source)*t.value}function p(t){return f(t.target)*t.value}function d(t){return t.index}function m(t){return t.nodes}function g(t){return t.links}function v(t,e){var r=t.get(e);if(!r)throw new Error(\"missing: \"+e);return r}function y(t){return[t.source.x1,t.y0]}function x(t){return[t.target.x0,t.y1]}t.sankey=function(){var t=0,n=0,i=1,y=1,x=24,b=8,_=d,w=a,T=m,k=g,A=32;function M(){var t={nodes:T.apply(null,arguments),links:k.apply(null,arguments)};return S(t),E(t),L(t),C(t),P(t),t}function S(t){t.nodes.forEach((function(t,e){t.index=e,t.sourceLinks=[],t.targetLinks=[]}));var e=r.map(t.nodes,_);t.links.forEach((function(t,r){t.index=r;var n=t.source,i=t.target;\"object\"!=typeof n&&(n=t.source=v(e,n)),\"object\"!=typeof i&&(i=t.target=v(e,i)),n.sourceLinks.push(t),i.targetLinks.push(t)}))}function E(t){t.nodes.forEach((function(t){t.value=Math.max(e.sum(t.sourceLinks,u),e.sum(t.targetLinks,u))}))}function L(e){var r,n,a;for(r=e.nodes,n=[],a=0;r.length;++a,r=n,n=[])r.forEach((function(t){t.depth=a,t.sourceLinks.forEach((function(t){n.indexOf(t.target)<0&&n.push(t.target)}))}));for(r=e.nodes,n=[],a=0;r.length;++a,r=n,n=[])r.forEach((function(t){t.height=a,t.targetLinks.forEach((function(t){n.indexOf(t.source)<0&&n.push(t.source)}))}));var o=(i-t-x)/(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))))*o)+x}))}function C(t){var i=r.nest().key((function(t){return t.x0})).sortKeys(e.ascending).entries(t.nodes).map((function(t){return t.values}));!function(){var r=e.max(i,(function(t){return t.length})),a=2/3*(y-n)/(r-1);b>a&&(b=a);var o=e.min(i,(function(t){return(y-n-(t.length-1)*b)/e.sum(t,u)}));i.forEach((function(t){t.forEach((function(t,e){t.y1=(t.y0=e)+t.value*o}))})),t.links.forEach((function(t){t.width=t.value*o}))}(),d();for(var a=1,o=A;o>0;--o)l(a*=.99),d(),s(a),d();function s(t){i.forEach((function(r){r.forEach((function(r){if(r.targetLinks.length){var n=(e.sum(r.targetLinks,h)/e.sum(r.targetLinks,u)-f(r))*t;r.y0+=n,r.y1+=n}}))}))}function l(t){i.slice().reverse().forEach((function(r){r.forEach((function(r){if(r.sourceLinks.length){var n=(e.sum(r.sourceLinks,p)/e.sum(r.sourceLinks,u)-f(r))*t;r.y0+=n,r.y1+=n}}))}))}function d(){i.forEach((function(t){var e,r,i,a=n,o=t.length;for(t.sort(c),i=0;i<o;++i)(r=a-(e=t[i]).y0)>0&&(e.y0+=r,e.y1+=r),a=e.y1+b;if((r=a-b-y)>0)for(a=e.y0-=r,e.y1-=r,i=o-2;i>=0;--i)(r=(e=t[i]).y1+b-a)>0&&(e.y0-=r,e.y1-=r),a=e.y0}))}}function P(t){t.nodes.forEach((function(t){t.sourceLinks.sort(l),t.targetLinks.sort(s)})),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 P(t),t},M.nodeId=function(t){return arguments.length?(_=\"function\"==typeof t?t:o(t),M):_},M.nodeAlign=function(t){return arguments.length?(w=\"function\"==typeof t?t:o(t),M):w},M.nodeWidth=function(t){return arguments.length?(x=+t,M):x},M.nodePadding=function(t){return arguments.length?(b=+t,M):b},M.nodes=function(t){return arguments.length?(T=\"function\"==typeof t?t:o(t),M):T},M.links=function(t){return arguments.length?(k=\"function\"==typeof t?t:o(t),M):k},M.size=function(e){return arguments.length?(t=n=0,i=+e[0],y=+e[1],M):[i-t,y-n]},M.extent=function(e){return arguments.length?(t=+e[0][0],i=+e[1][0],n=+e[0][1],y=+e[1][1],M):[[t,n],[i,y]]},M.iterations=function(t){return arguments.length?(A=+t,M):A},M},t.sankeyCenter=function(t){return t.targetLinks.length?t.depth:t.sourceLinks.length?e.min(t.sourceLinks,i)-1:0},t.sankeyLeft=function(t){return t.depth},t.sankeyRight=function(t,e){return e-1-t.height},t.sankeyJustify=a,t.sankeyLinkHorizontal=function(){return n.linkHorizontal().source(y).target(x)},Object.defineProperty(t,\"__esModule\",{value:!0})}))},{\"d3-array\":107,\"d3-collection\":108,\"d3-shape\":119}],58:[function(t,e,r){(function(){var t={version:\"3.8.0\"},r=[].slice,n=function(t){return r.call(t)},i=self.document;function a(t){return t&&(t.ownerDocument||t.document||t).documentElement}function o(t){return t&&(t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView)}if(i)try{n(i.documentElement.childNodes)[0].nodeType}catch(t){n=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}),i)try{i.createElement(\"DIV\").style.setProperty(\"opacity\",0,\"\")}catch(t){var s=this.Element.prototype,l=s.setAttribute,c=s.setAttributeNS,u=this.CSSStyleDeclaration.prototype,f=u.setProperty;s.setAttribute=function(t,e){l.call(this,t,e+\"\")},s.setAttributeNS=function(t,e,r){c.call(this,t,e,r+\"\")},u.setProperty=function(t,e,r){f.call(this,t,e+\"\",r)}}function h(t,e){return t<e?-1:t>e?1:t>=e?0:NaN}function p(t){return null===t?NaN:+t}function d(t){return!isNaN(t)}function m(t){return{left:function(e,r,n,i){for(arguments.length<3&&(n=0),arguments.length<4&&(i=e.length);n<i;){var a=n+i>>>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<i;){var a=n+i>>>1;t(e[a],r)>0?i=a:n=a+1}return n}}}t.ascending=h,t.descending=function(t,e){return e<t?-1:e>t?1:e>=t?0:NaN},t.min=function(t,e){var r,n,i=-1,a=t.length;if(1===arguments.length){for(;++i<a;)if(null!=(n=t[i])&&n>=n){r=n;break}for(;++i<a;)null!=(n=t[i])&&r>n&&(r=n)}else{for(;++i<a;)if(null!=(n=e.call(t,t[i],i))&&n>=n){r=n;break}for(;++i<a;)null!=(n=e.call(t,t[i],i))&&r>n&&(r=n)}return r},t.max=function(t,e){var r,n,i=-1,a=t.length;if(1===arguments.length){for(;++i<a;)if(null!=(n=t[i])&&n>=n){r=n;break}for(;++i<a;)null!=(n=t[i])&&n>r&&(r=n)}else{for(;++i<a;)if(null!=(n=e.call(t,t[i],i))&&n>=n){r=n;break}for(;++i<a;)null!=(n=e.call(t,t[i],i))&&n>r&&(r=n)}return r},t.extent=function(t,e){var r,n,i,a=-1,o=t.length;if(1===arguments.length){for(;++a<o;)if(null!=(n=t[a])&&n>=n){r=i=n;break}for(;++a<o;)null!=(n=t[a])&&(r>n&&(r=n),i<n&&(i=n))}else{for(;++a<o;)if(null!=(n=e.call(t,t[a],a))&&n>=n){r=i=n;break}for(;++a<o;)null!=(n=e.call(t,t[a],a))&&(r>n&&(r=n),i<n&&(i=n))}return[r,i]},t.sum=function(t,e){var r,n=0,i=t.length,a=-1;if(1===arguments.length)for(;++a<i;)d(r=+t[a])&&(n+=r);else for(;++a<i;)d(r=+e.call(t,t[a],a))&&(n+=r);return n},t.mean=function(t,e){var r,n=0,i=t.length,a=-1,o=i;if(1===arguments.length)for(;++a<i;)d(r=p(t[a]))?n+=r:--o;else for(;++a<i;)d(r=p(e.call(t,t[a],a)))?n+=r:--o;if(o)return n/o},t.quantile=function(t,e){var r=(t.length-1)*e+1,n=Math.floor(r),i=+t[n-1],a=r-n;return a?i+a*(t[n]-i):i},t.median=function(e,r){var n,i=[],a=e.length,o=-1;if(1===arguments.length)for(;++o<a;)d(n=p(e[o]))&&i.push(n);else for(;++o<a;)d(n=p(r.call(e,e[o],o)))&&i.push(n);if(i.length)return t.quantile(i.sort(h),.5)},t.variance=function(t,e){var r,n,i=t.length,a=0,o=0,s=-1,l=0;if(1===arguments.length)for(;++s<i;)d(r=p(t[s]))&&(o+=(n=r-a)*(r-(a+=n/++l)));else for(;++s<i;)d(r=p(e.call(t,t[s],s)))&&(o+=(n=r-a)*(r-(a+=n/++l)));if(l>1)return o/(l-1)},t.deviation=function(){var e=t.variance.apply(this,arguments);return e?Math.sqrt(e):e};var g=m(h);function v(t){return t.length}t.bisectLeft=g.left,t.bisect=t.bisectRight=g.right,t.bisector=function(t){return m(1===t.length?function(e,r){return h(t(e),r)}:t)},t.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},t.permute=function(t,e){for(var r=e.length,n=new Array(r);r--;)n[r]=t[e[r]];return n},t.pairs=function(t){for(var e=0,r=t.length-1,n=t[0],i=new Array(r<0?0:r);e<r;)i[e]=[n,n=t[++e]];return i},t.transpose=function(e){if(!(a=e.length))return[];for(var r=-1,n=t.min(e,v),i=new Array(n);++r<n;)for(var a,o=-1,s=i[r]=new Array(a);++o<a;)s[o]=e[o][r];return i},t.zip=function(){return t.transpose(arguments)},t.keys=function(t){var e=[];for(var r in t)e.push(r);return e},t.values=function(t){var e=[];for(var r in t)e.push(t[r]);return e},t.entries=function(t){var e=[];for(var r in t)e.push({key:r,value:t[r]});return e},t.merge=function(t){for(var e,r,n,i=t.length,a=-1,o=0;++a<i;)o+=t[a].length;for(r=new Array(o);--i>=0;)for(e=(n=t[i]).length;--e>=0;)r[--o]=n[e];return r};var y=Math.abs;function x(t){for(var e=1;t*e%1;)e*=10;return e}function b(t,e){for(var r in e)Object.defineProperty(t.prototype,r,{value:e[r],enumerable:!1})}function _(){this._=Object.create(null)}t.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=x(y(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)<e;)i.push(n/a);return i},t.map=function(t,e){var r=new _;if(t instanceof _)t.forEach((function(t,e){r.set(t,e)}));else if(Array.isArray(t)){var n,i=-1,a=t.length;if(1===arguments.length)for(;++i<a;)r.set(i,t[i]);else for(;++i<a;)r.set(e.call(t,n=t[i],i),n)}else for(var o in t)r.set(o,t[o]);return r};function w(t){return\"__proto__\"==(t+=\"\")||\"\\0\"===t[0]?\"\\0\"+t:t}function T(t){return\"\\0\"===(t+=\"\")[0]?t.slice(1):t}function k(t){return w(t)in this._}function A(t){return(t=w(t))in this._&&delete this._[t]}function M(){var t=[];for(var e in this._)t.push(T(e));return t}function S(){var t=0;for(var e in this._)++t;return t}function E(){for(var t in this._)return!1;return!0}function L(){this._=Object.create(null)}function C(t){return t}function P(t,e,r){return function(){var n=r.apply(e,arguments);return n===e?t:n}}function I(t,e){if(e in t)return e;e=e.charAt(0).toUpperCase()+e.slice(1);for(var r=0,n=O.length;r<n;++r){var i=O[r]+e;if(i in t)return i}}b(_,{has:k,get:function(t){return this._[w(t)]},set:function(t,e){return this._[w(t)]=e},remove:A,keys:M,values:function(){var t=[];for(var e in this._)t.push(this._[e]);return t},entries:function(){var t=[];for(var e in this._)t.push({key:T(e),value:this._[e]});return t},size:S,empty:E,forEach:function(t){for(var e in this._)t.call(this,T(e),this._[e])}}),t.nest=function(){var e,r,n={},i=[],a=[];function o(t,a,s){if(s>=i.length)return r?r.call(n,a):e?a.sort(e):a;for(var l,c,u,f,h=-1,p=a.length,d=i[s++],m=new _;++h<p;)(f=m.get(l=d(c=a[h])))?f.push(c):m.set(l,[c]);return t?(c=t(),u=function(e,r){c.set(e,o(t,r,s))}):(c={},u=function(e,r){c[e]=o(t,r,s)}),m.forEach(u),c}return n.map=function(t,e){return o(e,t,0)},n.entries=function(e){return function t(e,r){if(r>=i.length)return e;var n=[],o=a[r++];return e.forEach((function(e,i){n.push({key:e,values:t(i,r)})})),o?n.sort((function(t,e){return o(t.key,e.key)})):n}(o(t.map,e,0),0)},n.key=function(t){return i.push(t),n},n.sortKeys=function(t){return a[i.length-1]=t,n},n.sortValues=function(t){return e=t,n},n.rollup=function(t){return r=t,n},n},t.set=function(t){var e=new L;if(t)for(var r=0,n=t.length;r<n;++r)e.add(t[r]);return e},b(L,{has:k,add:function(t){return this._[w(t+=\"\")]=!0,t},remove:A,values:M,size:S,empty:E,forEach:function(t){for(var e in this._)t.call(this,T(e))}}),t.behavior={},t.rebind=function(t,e){for(var r,n=1,i=arguments.length;++n<i;)t[r=arguments[n]]=P(t,e,e[r]);return t};var O=[\"webkit\",\"ms\",\"moz\",\"Moz\",\"o\",\"O\"];function z(){}function D(){}function R(t){var e=[],r=new _;function n(){for(var r,n=e,i=-1,a=n.length;++i<a;)(r=n[i].on)&&r.apply(this,arguments);return t}return n.on=function(n,i){var a,o=r.get(n);return arguments.length<2?o&&o.on:(o&&(o.on=null,e=e.slice(0,a=e.indexOf(o)).concat(e.slice(a+1)),r.remove(n)),i&&e.push(r.set(n,{on:i})),t)},n}function F(){t.event.preventDefault()}function B(){for(var e,r=t.event;e=r.sourceEvent;)r=e;return r}function N(e){for(var r=new D,n=0,i=arguments.length;++n<i;)r[arguments[n]]=R(r);return r.of=function(n,i){return function(a){try{var o=a.sourceEvent=t.event;a.target=e,t.event=a,r[a.type].apply(n,i)}finally{t.event=o}}},r}t.dispatch=function(){for(var t=new D,e=-1,r=arguments.length;++e<r;)t[arguments[e]]=R(t);return t},D.prototype.on=function(t,e){var r=t.indexOf(\".\"),n=\"\";if(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}},t.event=null,t.requote=function(t){return t.replace(j,\"\\\\$&\")};var j=/[\\\\\\^\\$\\*\\+\\?\\|\\[\\]\\(\\)\\.\\{\\}]/g,U={}.__proto__?function(t,e){t.__proto__=e}:function(t,e){for(var r in e)t[r]=e[r]};function V(t){return U(t,Y),t}var H=function(t,e){return e.querySelector(t)},q=function(t,e){return e.querySelectorAll(t)},G=function(t,e){var r=t.matches||t[I(t,\"matchesSelector\")];return(G=function(t,e){return r.call(t,e)})(t,e)};\"function\"==typeof Sizzle&&(H=function(t,e){return Sizzle(t,e)[0]||null},q=Sizzle,G=Sizzle.matchesSelector),t.selection=function(){return t.select(i.documentElement)};var Y=t.selection.prototype=[];function W(t){return\"function\"==typeof t?t:function(){return H(t,this)}}function X(t){return\"function\"==typeof t?t:function(){return q(t,this)}}Y.select=function(t){var e,r,n,i,a=[];t=W(t);for(var o=-1,s=this.length;++o<s;){a.push(e=[]),e.parentNode=(n=this[o]).parentNode;for(var l=-1,c=n.length;++l<c;)(i=n[l])?(e.push(r=t.call(i,i.__data__,l,o)),r&&\"__data__\"in i&&(r.__data__=i.__data__)):e.push(null)}return V(a)},Y.selectAll=function(t){var e,r,i=[];t=X(t);for(var a=-1,o=this.length;++a<o;)for(var s=this[a],l=-1,c=s.length;++l<c;)(r=s[l])&&(i.push(e=n(t.call(r,r.__data__,l,a))),e.parentNode=r);return V(i)};var Z=\"http://www.w3.org/1999/xhtml\",J={svg:\"http://www.w3.org/2000/svg\",xhtml:Z,xlink:\"http://www.w3.org/1999/xlink\",xml:\"http://www.w3.org/XML/1998/namespace\",xmlns:\"http://www.w3.org/2000/xmlns/\"};function K(e,r){return e=t.ns.qualify(e),null==r?e.local?function(){this.removeAttributeNS(e.space,e.local)}:function(){this.removeAttribute(e)}:\"function\"==typeof r?e.local?function(){var t=r.apply(this,arguments);null==t?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,t)}:function(){var t=r.apply(this,arguments);null==t?this.removeAttribute(e):this.setAttribute(e,t)}:e.local?function(){this.setAttributeNS(e.space,e.local,r)}:function(){this.setAttribute(e,r)}}function Q(t){return t.trim().replace(/\\s+/g,\" \")}function $(e){return new RegExp(\"(?:^|\\\\s+)\"+t.requote(e)+\"(?:\\\\s+|$)\",\"g\")}function tt(t){return(t+\"\").trim().split(/^|\\s+/)}function et(t,e){var r=(t=tt(t).map(rt)).length;return\"function\"==typeof e?function(){for(var n=-1,i=e.apply(this,arguments);++n<r;)t[n](this,i)}:function(){for(var n=-1;++n<r;)t[n](this,e)}}function rt(t){var e=$(t);return function(r,n){if(i=r.classList)return n?i.add(t):i.remove(t);var i=r.getAttribute(\"class\")||\"\";n?(e.lastIndex=0,e.test(i)||r.setAttribute(\"class\",Q(i+\" \"+t))):r.setAttribute(\"class\",Q(i.replace(e,\" \")))}}function nt(t,e,r){return null==e?function(){this.style.removeProperty(t)}:\"function\"==typeof e?function(){var n=e.apply(this,arguments);null==n?this.style.removeProperty(t):this.style.setProperty(t,n,r)}:function(){this.style.setProperty(t,e,r)}}function it(t,e){return null==e?function(){delete this[t]}:\"function\"==typeof e?function(){var r=e.apply(this,arguments);null==r?delete this[t]:this[t]=r}:function(){this[t]=e}}function at(e){return\"function\"==typeof e?e:(e=t.ns.qualify(e)).local?function(){return this.ownerDocument.createElementNS(e.space,e.local)}:function(){var t=this.ownerDocument,r=this.namespaceURI;return r===Z&&t.documentElement.namespaceURI===Z?t.createElement(e):t.createElementNS(r,e)}}function ot(){var t=this.parentNode;t&&t.removeChild(this)}function st(t){return{__data__:t}}function lt(t){return function(){return G(this,t)}}function ct(t){return arguments.length||(t=h),function(e,r){return e&&r?t(e.__data__,r.__data__):!e-!r}}function ut(t,e){for(var r=0,n=t.length;r<n;r++)for(var i,a=t[r],o=0,s=a.length;o<s;o++)(i=a[o])&&e(i,o,r);return t}function ft(t){return U(t,ht),t}t.ns={prefix:J,qualify:function(t){var e=t.indexOf(\":\"),r=t;return e>=0&&\"xmlns\"!==(r=t.slice(0,e))&&(t=t.slice(e+1)),J.hasOwnProperty(r)?{space:J[r],local:t}:t}},Y.attr=function(e,r){if(arguments.length<2){if(\"string\"==typeof e){var n=this.node();return(e=t.ns.qualify(e)).local?n.getAttributeNS(e.space,e.local):n.getAttribute(e)}for(r in e)this.each(K(r,e[r]));return this}return this.each(K(e,r))},Y.classed=function(t,e){if(arguments.length<2){if(\"string\"==typeof t){var r=this.node(),n=(t=tt(t)).length,i=-1;if(e=r.classList){for(;++i<n;)if(!e.contains(t[i]))return!1}else for(e=r.getAttribute(\"class\");++i<n;)if(!$(t[i]).test(e))return!1;return!0}for(e in t)this.each(et(e,t[e]));return this}return this.each(et(t,e))},Y.style=function(t,e,r){var n=arguments.length;if(n<3){if(\"string\"!=typeof t){for(r in n<2&&(e=\"\"),t)this.each(nt(r,t[r],e));return this}if(n<2){var i=this.node();return o(i).getComputedStyle(i,null).getPropertyValue(t)}r=\"\"}return this.each(nt(t,e,r))},Y.property=function(t,e){if(arguments.length<2){if(\"string\"==typeof t)return this.node()[t];for(e in t)this.each(it(e,t[e]));return this}return this.each(it(t,e))},Y.text=function(t){return arguments.length?this.each(\"function\"==typeof t?function(){var e=t.apply(this,arguments);this.textContent=null==e?\"\":e}:null==t?function(){this.textContent=\"\"}:function(){this.textContent=t}):this.node().textContent},Y.html=function(t){return arguments.length?this.each(\"function\"==typeof t?function(){var e=t.apply(this,arguments);this.innerHTML=null==e?\"\":e}:null==t?function(){this.innerHTML=\"\"}:function(){this.innerHTML=t}):this.node().innerHTML},Y.append=function(t){return t=at(t),this.select((function(){return this.appendChild(t.apply(this,arguments))}))},Y.insert=function(t,e){return t=at(t),e=W(e),this.select((function(){return this.insertBefore(t.apply(this,arguments),e.apply(this,arguments)||null)}))},Y.remove=function(){return this.each(ot)},Y.data=function(t,e){var r,n,i=-1,a=this.length;if(!arguments.length){for(t=new Array(a=(r=this[0]).length);++i<a;)(n=r[i])&&(t[i]=n.__data__);return t}function o(t,r){var n,i,a,o=t.length,u=r.length,f=Math.min(o,u),h=new Array(u),p=new Array(u),d=new Array(o);if(e){var m,g=new _,v=new Array(o);for(n=-1;++n<o;)(i=t[n])&&(g.has(m=e.call(i,i.__data__,n))?d[n]=i:g.set(m,i),v[n]=m);for(n=-1;++n<u;)(i=g.get(m=e.call(r,a=r[n],n)))?!0!==i&&(h[n]=i,i.__data__=a):p[n]=st(a),g.set(m,!0);for(n=-1;++n<o;)n in v&&!0!==g.get(v[n])&&(d[n]=t[n])}else{for(n=-1;++n<f;)i=t[n],a=r[n],i?(i.__data__=a,h[n]=i):p[n]=st(a);for(;n<u;++n)p[n]=st(r[n]);for(;n<o;++n)d[n]=t[n]}p.update=h,p.parentNode=h.parentNode=d.parentNode=t.parentNode,s.push(p),l.push(h),c.push(d)}var s=ft([]),l=V([]),c=V([]);if(\"function\"==typeof t)for(;++i<a;)o(r=this[i],t.call(r,r.parentNode.__data__,i));else for(;++i<a;)o(r=this[i],t);return l.enter=function(){return s},l.exit=function(){return c},l},Y.datum=function(t){return arguments.length?this.property(\"__data__\",t):this.property(\"__data__\")},Y.filter=function(t){var e,r,n,i=[];\"function\"!=typeof t&&(t=lt(t));for(var a=0,o=this.length;a<o;a++){i.push(e=[]),e.parentNode=(r=this[a]).parentNode;for(var s=0,l=r.length;s<l;s++)(n=r[s])&&t.call(n,n.__data__,s,a)&&e.push(n)}return V(i)},Y.order=function(){for(var t=-1,e=this.length;++t<e;)for(var r,n=this[t],i=n.length-1,a=n[i];--i>=0;)(r=n[i])&&(a&&a!==r.nextSibling&&a.parentNode.insertBefore(r,a),a=r);return this},Y.sort=function(t){t=ct.apply(this,arguments);for(var e=-1,r=this.length;++e<r;)this[e].sort(t);return this.order()},Y.each=function(t){return ut(this,(function(e,r,n){t.call(e,e.__data__,r,n)}))},Y.call=function(t){var e=n(arguments);return t.apply(e[0]=this,e),this},Y.empty=function(){return!this.node()},Y.node=function(){for(var t=0,e=this.length;t<e;t++)for(var r=this[t],n=0,i=r.length;n<i;n++){var a=r[n];if(a)return a}return null},Y.size=function(){var t=0;return ut(this,(function(){++t})),t};var ht=[];function pt(t){var e,r;return function(n,i,a){var o,s=t[a].update,l=s.length;for(a!=r&&(r=a,e=0),i>=e&&(e=i+1);!(o=s[e])&&++e<l;);return o}}function dt(e,r,i){var a=\"__on\"+e,o=e.indexOf(\".\"),s=gt;o>0&&(e=e.slice(0,o));var l=mt.get(e);function c(){var t=this[a];t&&(this.removeEventListener(e,t,t.$),delete this[a])}return l&&(e=l,s=vt),o?r?function(){var t=s(r,n(arguments));c.call(this),this.addEventListener(e,this[a]=t,t.$=i),t._=r}:c:r?z:function(){var r,n=new RegExp(\"^__on([^.]+)\"+t.requote(e)+\"$\");for(var i in this)if(r=i.match(n)){var a=this[i];this.removeEventListener(r[1],a,a.$),delete this[i]}}}t.selection.enter=ft,t.selection.enter.prototype=ht,ht.append=Y.append,ht.empty=Y.empty,ht.node=Y.node,ht.call=Y.call,ht.size=Y.size,ht.select=function(t){for(var e,r,n,i,a,o=[],s=-1,l=this.length;++s<l;){n=(i=this[s]).update,o.push(e=[]),e.parentNode=i.parentNode;for(var c=-1,u=i.length;++c<u;)(a=i[c])?(e.push(n[c]=r=t.call(i.parentNode,a.__data__,c,s)),r.__data__=a.__data__):e.push(null)}return V(o)},ht.insert=function(t,e){return arguments.length<2&&(e=pt(this)),Y.insert.call(this,t,e)},t.select=function(t){var e;return\"string\"==typeof t?(e=[H(t,i)]).parentNode=i.documentElement:(e=[t]).parentNode=a(t),V([e])},t.selectAll=function(t){var e;return\"string\"==typeof t?(e=n(q(t,i))).parentNode=i.documentElement:(e=n(t)).parentNode=null,V([e])},Y.on=function(t,e,r){var n=arguments.length;if(n<3){if(\"string\"!=typeof t){for(r in n<2&&(e=!1),t)this.each(dt(r,t[r],e));return this}if(n<2)return(n=this.node()[\"__on\"+t])&&n._;r=!1}return this.each(dt(t,e,r))};var mt=t.map({mouseenter:\"mouseover\",mouseleave:\"mouseout\"});function gt(e,r){return function(n){var i=t.event;t.event=n,r[0]=this.__data__;try{e.apply(this,r)}finally{t.event=i}}}function vt(t,e){var r=gt(t,e);return function(t){var e=t.relatedTarget;e&&(e===this||8&e.compareDocumentPosition(this))||r.call(this,t)}}i&&mt.forEach((function(t){\"on\"+t in i&&mt.remove(t)}));var yt,xt=0;function bt(e){var r=\".dragsuppress-\"+ ++xt,n=\"click\"+r,i=t.select(o(e)).on(\"touchmove\"+r,F).on(\"dragstart\"+r,F).on(\"selectstart\"+r,F);if(null==yt&&(yt=!(\"onselectstart\"in e)&&I(e.style,\"userSelect\")),yt){var s=a(e).style,l=s[yt];s[yt]=\"none\"}return function(t){if(i.on(r,null),yt&&(s[yt]=l),t){var e=function(){i.on(n,null)};i.on(n,(function(){F(),e()}),!0),setTimeout(e,0)}}}t.mouse=function(t){return wt(t,B())};var _t=this.navigator&&/WebKit/.test(this.navigator.userAgent)?-1:0;function wt(e,r){r.changedTouches&&(r=r.changedTouches[0]);var n=e.ownerSVGElement||e;if(n.createSVGPoint){var i=n.createSVGPoint();if(_t<0){var a=o(e);if(a.scrollX||a.scrollY){var s=(n=t.select(\"body\").append(\"svg\").style({position:\"absolute\",top:0,left:0,margin:0,padding:0,border:\"none\"},\"important\"))[0][0].getScreenCTM();_t=!(s.f||s.e),n.remove()}}return _t?(i.x=r.pageX,i.y=r.pageY):(i.x=r.clientX,i.y=r.clientY),[(i=i.matrixTransform(e.getScreenCTM().inverse())).x,i.y]}var l=e.getBoundingClientRect();return[r.clientX-l.left-e.clientLeft,r.clientY-l.top-e.clientTop]}function Tt(){return t.event.changedTouches[0].identifier}t.touch=function(t,e,r){if(arguments.length<3&&(r=e,e=B().changedTouches),e)for(var n,i=0,a=e.length;i<a;++i)if((n=e[i]).identifier===r)return wt(t,n)},t.behavior.drag=function(){var e=N(a,\"drag\",\"dragstart\",\"dragend\"),r=null,n=s(z,t.mouse,o,\"mousemove\",\"mouseup\"),i=s(Tt,t.touch,C,\"touchmove\",\"touchend\");function a(){this.on(\"mousedown.drag\",n).on(\"touchstart.drag\",i)}function s(n,i,a,o,s){return function(){var l,c=this,u=t.event.target.correspondingElement||t.event.target,f=c.parentNode,h=e.of(c,arguments),p=0,d=n(),m=\".drag\"+(null==d?\"\":\"-\"+d),g=t.select(a(u)).on(o+m,x).on(s+m,b),v=bt(u),y=i(f,d);function x(){var t,e,r=i(f,d);r&&(t=r[0]-y[0],e=r[1]-y[1],p|=t|e,y=r,h({type:\"drag\",x:r[0]+l[0],y:r[1]+l[1],dx:t,dy:e}))}function b(){i(f,d)&&(g.on(o+m,null).on(s+m,null),v(p),h({type:\"dragend\"}))}l=r?[(l=r.apply(c,arguments)).x-y[0],l.y-y[1]]:[0,0],h({type:\"dragstart\"})}}return a.origin=function(t){return arguments.length?(r=t,a):r},t.rebind(a,e,\"on\")},t.touches=function(t,e){return arguments.length<2&&(e=B().touches),e?n(e).map((function(e){var r=wt(t,e);return r.identifier=e.identifier,r})):[]};var kt=1e-6,At=Math.PI,Mt=2*At,St=Mt-kt,Et=At/2,Lt=At/180,Ct=180/At;function Pt(t){return t>1?Et:t<-1?-Et:Math.asin(t)}function It(t){return((t=Math.exp(t))+1/t)/2}var Ot=Math.SQRT2;t.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,f=l-a,h=u*u+f*f;if(h<1e-12)n=Math.log(c/o)/Ot,r=function(t){return[i+t*u,a+t*f,o*Math.exp(Ot*t*n)]};else{var p=Math.sqrt(h),d=(c*c-o*o+4*h)/(2*o*2*p),m=(c*c-o*o-4*h)/(2*c*2*p),g=Math.log(Math.sqrt(d*d+1)-d),v=Math.log(Math.sqrt(m*m+1)-m);n=(v-g)/Ot,r=function(t){var e,r=t*n,s=It(g),l=o/(2*p)*(s*(e=Ot*r+g,((e=Math.exp(2*e))-1)/(e+1))-function(t){return((t=Math.exp(t))-1/t)/2}(g));return[i+l*u,a+l*f,o*s/It(Ot*r+g)]}}return r.duration=1e3*n,r},t.behavior.zoom=function(){var e,r,n,a,s,l,c,u,f,h={x:0,y:0,k:1},p=[960,500],d=Rt,m=250,g=0,v=\"mousedown.zoom\",y=\"mousemove.zoom\",x=\"mouseup.zoom\",b=\"touchstart.zoom\",_=N(w,\"zoomstart\",\"zoom\",\"zoomend\");function w(t){t.on(v,P).on(Dt+\".zoom\",O).on(\"dblclick.zoom\",z).on(b,I)}function T(t){return[(t[0]-h.x)/h.k,(t[1]-h.y)/h.k]}function k(t){h.k=Math.max(d[0],Math.min(d[1],t))}function A(t,e){e=function(t){return[t[0]*h.k+h.x,t[1]*h.k+h.y]}(e),h.x+=t[0]-e[0],h.y+=t[1]-e[1]}function M(e,n,i,a){e.__chart__={x:h.x,y:h.y,k:h.k},k(Math.pow(2,a)),A(r=n,i),e=t.select(e),m>0&&(e=e.transition().duration(m)),e.call(w.event)}function S(){c&&c.domain(l.range().map((function(t){return(t-h.x)/h.k})).map(l.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\"}),r=null)}function P(){var e=this,r=_.of(e,arguments),n=0,i=t.select(o(e)).on(y,l).on(x,c),a=T(t.mouse(e)),s=bt(e);function l(){n=1,A(t.mouse(e),a),L(r)}function c(){i.on(y,null).on(x,null),s(n),C(r)}Di.call(e),E(r)}function I(){var e,r=this,n=_.of(r,arguments),i={},a=0,o=\".zoom-\"+t.event.changedTouches[0].identifier,l=\"touchmove\"+o,c=\"touchend\"+o,u=[],f=t.select(r),p=bt(r);function d(){var n=t.touches(r);return e=h.k,n.forEach((function(t){t.identifier in i&&(i[t.identifier]=T(t))})),n}function m(){var e=t.event.target;t.select(e).on(l,g).on(c,y),u.push(e);for(var n=t.event.changedTouches,o=0,f=n.length;o<f;++o)i[n[o].identifier]=null;var p=d(),m=Date.now();if(1===p.length){if(m-s<500){var v=p[0];M(r,v,i[v.identifier],Math.floor(Math.log(h.k)/Math.LN2)+1),F()}s=m}else if(p.length>1){v=p[0];var x=p[1],b=v[0]-x[0],_=v[1]-x[1];a=b*b+_*_}}function g(){var o,l,c,u,f=t.touches(r);Di.call(r);for(var h=0,p=f.length;h<p;++h,u=null)if(c=f[h],u=i[c.identifier]){if(l)break;o=c,l=u}if(u){var d=(d=c[0]-o[0])*d+(d=c[1]-o[1])*d,m=a&&Math.sqrt(d/a);o=[(o[0]+c[0])/2,(o[1]+c[1])/2],l=[(l[0]+u[0])/2,(l[1]+u[1])/2],k(m*e)}s=null,A(o,l),L(n)}function y(){if(t.event.touches.length){for(var e=t.event.changedTouches,r=0,a=e.length;r<a;++r)delete i[e[r].identifier];for(var s in i)return void d()}t.selectAll(u).on(o,null),f.on(v,P).on(b,I),p(),C(n)}m(),E(n),f.on(v,null).on(b,m)}function O(){var i=_.of(this,arguments);a?clearTimeout(a):(Di.call(this),e=T(r=n||t.mouse(this)),E(i)),a=setTimeout((function(){a=null,C(i)}),50),F(),k(Math.pow(2,.002*zt())*h.k),A(r,e),L(i)}function z(){var e=t.mouse(this),r=Math.log(h.k)/Math.LN2;M(this,e,T(e),t.event.shiftKey?Math.ceil(r)-1:Math.floor(r)+1)}return Dt||(Dt=\"onwheel\"in i?(zt=function(){return-t.event.deltaY*(t.event.deltaMode?120:1)},\"wheel\"):\"onmousewheel\"in i?(zt=function(){return t.event.wheelDelta},\"mousewheel\"):(zt=function(){return-t.event.detail},\"MozMousePixelScroll\")),w.event=function(e){e.each((function(){var e=_.of(this,arguments),n=h;Bi?t.select(this).transition().each(\"start.zoom\",(function(){h=this.__chart__||{x:0,y:0,k:1},E(e)})).tween(\"zoom:zoom\",(function(){var i=p[0],a=p[1],o=r?r[0]:i/2,s=r?r[1]:a/2,l=t.interpolateZoom([(o-h.x)/h.k,(s-h.y)/h.k,i/h.k],[(o-n.x)/n.k,(s-n.y)/n.k,i/n.k]);return function(t){var r=l(t),n=i/r[2];this.__chart__=h={x:o-r[0]*n,y:s-r[1]*n,k:n},L(e)}})).each(\"interrupt.zoom\",(function(){C(e)})).each(\"end.zoom\",(function(){C(e)})):(this.__chart__=h,E(e),L(e),C(e))}))},w.translate=function(t){return arguments.length?(h={x:+t[0],y:+t[1],k:h.k},S(),w):[h.x,h.y]},w.scale=function(t){return arguments.length?(h={x:h.x,y:h.y,k:null},k(+t),S(),w):h.k},w.scaleExtent=function(t){return arguments.length?(d=null==t?Rt:[+t[0],+t[1]],w):d},w.center=function(t){return arguments.length?(n=t&&[+t[0],+t[1]],w):n},w.size=function(t){return arguments.length?(p=t&&[+t[0],+t[1]],w):p},w.duration=function(t){return arguments.length?(m=+t,w):m},w.x=function(t){return arguments.length?(c=t,l=t.copy(),h={x:0,y:0,k:1},w):c},w.y=function(t){return arguments.length?(f=t,u=t.copy(),h={x:0,y:0,k:1},w):f},t.rebind(w,_,\"on\")};var zt,Dt,Rt=[0,1/0];function Ft(){}function Bt(t,e,r){return this instanceof Bt?(this.h=+t,this.s=+e,void(this.l=+r)):arguments.length<2?t instanceof Bt?new Bt(t.h,t.s,t.l):ne(\"\"+t,ie,Bt):new Bt(t,e,r)}t.color=Ft,Ft.prototype.toString=function(){return this.rgb()+\"\"},t.hsl=Bt;var Nt=Bt.prototype=new Ft;function jt(t,e,r){var n,i;function a(t){return Math.round(255*function(t){return t>360?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 Qt(a(t+120),a(t),a(t-120))}function Ut(e,r,n){return this instanceof Ut?(this.h=+e,this.c=+r,void(this.l=+n)):arguments.length<2?e instanceof Ut?new Ut(e.h,e.c,e.l):Xt(e instanceof qt?e.l:(e=ae((e=t.rgb(e)).r,e.g,e.b)).l,e.a,e.b):new Ut(e,r,n)}Nt.brighter=function(t){return t=Math.pow(.7,arguments.length?t:1),new Bt(this.h,this.s,this.l/t)},Nt.darker=function(t){return t=Math.pow(.7,arguments.length?t:1),new Bt(this.h,this.s,t*this.l)},Nt.rgb=function(){return jt(this.h,this.s,this.l)},t.hcl=Ut;var Vt=Ut.prototype=new Ft;function Ht(t,e,r){return isNaN(t)&&(t=0),isNaN(e)&&(e=0),new qt(r,Math.cos(t*=Lt)*e,Math.sin(t)*e)}function qt(t,e,r){return this instanceof qt?(this.l=+t,this.a=+e,void(this.b=+r)):arguments.length<2?t instanceof qt?new qt(t.l,t.a,t.b):t instanceof Ut?Ht(t.h,t.c,t.l):ae((t=Qt(t)).r,t.g,t.b):new qt(t,e,r)}Vt.brighter=function(t){return new Ut(this.h,this.c,Math.min(100,this.l+Gt*(arguments.length?t:1)))},Vt.darker=function(t){return new Ut(this.h,this.c,Math.max(0,this.l-Gt*(arguments.length?t:1)))},Vt.rgb=function(){return Ht(this.h,this.c,this.l).rgb()},t.lab=qt;var Gt=18,Yt=qt.prototype=new Ft;function Wt(t,e,r){var n=(t+16)/116,i=n+e/500,a=n-r/200;return new Qt(Kt(3.2404542*(i=.95047*Zt(i))-1.5371385*(n=1*Zt(n))-.4985314*(a=1.08883*Zt(a))),Kt(-.969266*i+1.8760108*n+.041556*a),Kt(.0556434*i-.2040259*n+1.0572252*a))}function Xt(t,e,r){return t>0?new Ut(Math.atan2(r,e)*Ct,Math.sqrt(e*e+r*r),t):new Ut(NaN,NaN,t)}function Zt(t){return t>.206893034?t*t*t:(t-4/29)/7.787037}function Jt(t){return t>.008856?Math.pow(t,1/3):7.787037*t+4/29}function Kt(t){return Math.round(255*(t<=.00304?12.92*t:1.055*Math.pow(t,1/2.4)-.055))}function Qt(t,e,r){return this instanceof Qt?(this.r=~~t,this.g=~~e,void(this.b=~~r)):arguments.length<2?t instanceof Qt?new Qt(t.r,t.g,t.b):ne(\"\"+t,Qt,jt):new Qt(t,e,r)}function $t(t){return new Qt(t>>16,t>>8&255,255&t)}function te(t){return $t(t)+\"\"}Yt.brighter=function(t){return new qt(Math.min(100,this.l+Gt*(arguments.length?t:1)),this.a,this.b)},Yt.darker=function(t){return new qt(Math.max(0,this.l-Gt*(arguments.length?t:1)),this.a,this.b)},Yt.rgb=function(){return Wt(this.l,this.a,this.b)},t.rgb=Qt;var ee=Qt.prototype=new Ft;function re(t){return t<16?\"0\"+Math.max(0,t).toString(16):Math.min(255,t).toString(16)}function ne(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(se(i[0]),se(i[1]),se(i[2]))}return(a=le.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 ie(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+(e<r?6:0):e==o?(r-t)/s+2:(t-e)/s+4,n*=60):(n=NaN,i=l>0&&l<1?0:n),new Bt(n,i,l)}function ae(t,e,r){var n=Jt((.4124564*(t=oe(t))+.3575761*(e=oe(e))+.1804375*(r=oe(r)))/.95047),i=Jt((.2126729*t+.7151522*e+.072175*r)/1);return qt(116*i-16,500*(n-i),200*(i-Jt((.0193339*t+.119192*e+.9503041*r)/1.08883)))}function oe(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function se(t){var e=parseFloat(t);return\"%\"===t.charAt(t.length-1)?Math.round(2.55*e):e}ee.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<i&&(e=i),r&&r<i&&(r=i),n&&n<i&&(n=i),new Qt(Math.min(255,e/t),Math.min(255,r/t),Math.min(255,n/t))):new Qt(i,i,i)},ee.darker=function(t){return new Qt((t=Math.pow(.7,arguments.length?t:1))*this.r,t*this.g,t*this.b)},ee.hsl=function(){return ie(this.r,this.g,this.b)},ee.toString=function(){return\"#\"+re(this.r)+re(this.g)+re(this.b)};var le=t.map({aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074});function ce(t){return\"function\"==typeof t?t:function(){return t}}function ue(t){return function(e,r,n){return 2===arguments.length&&\"function\"==typeof r&&(n=r,r=null),fe(e,r,t,n)}}function fe(e,r,i,a){var o={},s=t.dispatch(\"beforesend\",\"progress\",\"load\",\"error\"),l={},c=new XMLHttpRequest,u=null;function f(){var t,e=c.status;if(!e&&function(t){var e=t.responseType;return e&&\"text\"!==e?t.response:t.responseText}(c)||e>=200&&e<300||304===e){try{t=i.call(o,c)}catch(t){return void s.error.call(o,t)}s.load.call(o,t)}else s.error.call(o,c)}return self.XDomainRequest&&!(\"withCredentials\"in c)&&/^(http(s)?:)?\\/\\//.test(e)&&(c=new XDomainRequest),\"onload\"in c?c.onload=c.onerror=f:c.onreadystatechange=function(){c.readyState>3&&f()},c.onprogress=function(e){var r=t.event;t.event=e;try{s.progress.call(o,c)}finally{t.event=r}},o.header=function(t,e){return t=(t+\"\").toLowerCase(),arguments.length<2?l[t]:(null==e?delete l[t]:l[t]=e+\"\",o)},o.mimeType=function(t){return arguments.length?(r=null==t?null:t+\"\",o):r},o.responseType=function(t){return arguments.length?(u=t,o):u},o.response=function(t){return i=t,o},[\"get\",\"post\"].forEach((function(t){o[t]=function(){return o.send.apply(o,[t].concat(n(arguments)))}})),o.send=function(t,n,i){if(2===arguments.length&&\"function\"==typeof n&&(i=n,n=null),c.open(t,e,!0),null==r||\"accept\"in l||(l.accept=r+\",*/*\"),c.setRequestHeader)for(var a in l)c.setRequestHeader(a,l[a]);return null!=r&&c.overrideMimeType&&c.overrideMimeType(r),null!=u&&(c.responseType=u),null!=i&&o.on(\"error\",i).on(\"load\",(function(t){i(null,t)})),s.beforesend.call(o,c),c.send(null==n?null:n),o},o.abort=function(){return c.abort(),o},t.rebind(o,s,\"on\"),null==a?o:o.get(function(t){return 1===t.length?function(e,r){t(null==e?r:null)}:t}(a))}le.forEach((function(t,e){le.set(t,$t(e))})),t.functor=ce,t.xhr=ue(C),t.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=fe(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<n;++i)r[t[i]]=e[i];return r};r=e?function(t,r){return e(i(t),r)}:i}))},i.parseRows=function(t,e){var r,i,a={},o={},s=[],l=t.length,c=0,u=0;function f(){if(c>=l)return o;if(i)return i=!1,a;var e=c;if(34===t.charCodeAt(e)){for(var r=e;r++<l;)if(34===t.charCodeAt(r)){if(34!==t.charCodeAt(r+1))break;++r}return c=r+2,13===(s=t.charCodeAt(r+1))?(i=!0,10===t.charCodeAt(r+2)&&++c):10===s&&(i=!0),t.slice(e+1,r).replace(/\"\"/g,'\"')}for(;c<l;){var s,u=1;if(10===(s=t.charCodeAt(c++)))i=!0;else if(13===s)i=!0,10===t.charCodeAt(c)&&(++c,++u);else if(s!==n)continue;return t.slice(e,c-u)}return t.slice(e)}for(;(r=f())!==o;){for(var h=[];r!==a&&r!==o;)h.push(r),r=f();e&&null==(h=e(h,u++))||s.push(h)}return s},i.format=function(e){if(Array.isArray(e[0]))return i.formatRows(e);var r=new L,n=[];return e.forEach((function(t){for(var e in t)r.has(e)||n.push(r.add(e))})),[n.map(l).join(t)].concat(e.map((function(e){return n.map((function(t){return l(e[t])})).join(t)}))).join(\"\\n\")},i.formatRows=function(t){return t.map(s).join(\"\\n\")},i},t.csv=t.dsv(\",\",\"text/csv\"),t.tsv=t.dsv(\"\\t\",\"text/tab-separated-values\");var he,pe,de,me,ge=this[I(this,\"requestAnimationFrame\")]||function(t){setTimeout(t,17)};function ve(t,e,r){var n=arguments.length;n<2&&(e=0),n<3&&(r=Date.now());var i=r+e,a={c:t,t:i,n:null};return pe?pe.n=a:he=a,pe=a,de||(me=clearTimeout(me),de=1,ge(ye)),a}function ye(){var t=xe(),e=be()-t;e>24?(isFinite(e)&&(clearTimeout(me),me=setTimeout(ye,e)),de=0):(de=1,ge(ye))}function xe(){for(var t=Date.now(),e=he;e;)t>=e.t&&e.c(t-e.t)&&(e.c=null),e=e.n;return t}function be(){for(var t,e=he,r=1/0;e;)e.c?(e.t<r&&(r=e.t),e=(t=e).n):e=t?t.n=e.n:he=e.n;return pe=t,r}function _e(t){return t[0]}function we(t){return t[1]}function Te(t){for(var e,r,n,i=t.length,a=[0,1],o=2,s=2;s<i;s++){for(;o>1&&(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 ke(t,e){return t[0]-e[0]||t[1]-e[1]}t.timer=function(){ve.apply(this,arguments)},t.timer.flush=function(){xe(),be()},t.round=function(t,e){return e?Math.round(t*(e=Math.pow(10,e)))/e:Math.round(t)},t.geom={},t.geom.hull=function(t){var e=_e,r=we;if(arguments.length)return n(t);function n(t){if(t.length<3)return[];var n,i=ce(e),a=ce(r),o=t.length,s=[],l=[];for(n=0;n<o;n++)s.push([+i.call(this,t[n],n),+a.call(this,t[n],n),n]);for(s.sort(ke),n=0;n<o;n++)l.push([s[n][0],-s[n][1]]);var c=Te(s),u=Te(l),f=u[0]===c[0],h=u[u.length-1]===c[c.length-1],p=[];for(n=c.length-1;n>=0;--n)p.push(t[s[c[n]][2]]);for(n=+f;n<u.length-h;++n)p.push(t[s[u[n]][2]]);return p}return n.x=function(t){return arguments.length?(e=t,n):e},n.y=function(t){return arguments.length?(r=t,n):r},n},t.geom.polygon=function(t){return U(t,Ae),t};var Ae=t.geom.polygon.prototype=[];function Me(t,e,r){return(r[0]-e[0])*(t[1]-e[1])<(r[1]-e[1])*(t[0]-e[0])}function Se(t,e,r,n){var i=t[0],a=r[0],o=e[0]-i,s=n[0]-a,l=t[1],c=r[1],u=e[1]-l,f=n[1]-c,h=(s*(l-c)-f*(i-a))/(f*o-s*u);return[i+h*o,l+h*u]}function Ee(t){var e=t[0],r=t[t.length-1];return!(e[0]-r[0]||e[1]-r[1])}Ae.area=function(){for(var t,e=-1,r=this.length,n=this[r-1],i=0;++e<r;)t=n,n=this[e],i+=t[1]*n[0]-t[0]*n[1];return.5*i},Ae.centroid=function(t){var e,r,n=-1,i=this.length,a=0,o=0,s=this[i-1];for(arguments.length||(t=-1/(6*this.area()));++n<i;)e=s,s=this[n],r=e[0]*s[1]-s[0]*e[1],a+=(e[0]+s[0])*r,o+=(e[1]+s[1])*r;return[a*t,o*t]},Ae.clip=function(t){for(var e,r,n,i,a,o,s=Ee(t),l=-1,c=this.length-Ee(this),u=this[c-1];++l<c;){for(e=t.slice(),t.length=0,i=this[l],a=e[(n=e.length-s)-1],r=-1;++r<n;)Me(o=e[r],u,i)?(Me(a,u,i)||t.push(Se(a,o,u,i)),t.push(o)):Me(a,u,i)&&t.push(Se(a,o,u,i)),a=o;s&&t.push(t[0]),u=i}return t};var Le,Ce,Pe,Ie,Oe,ze=[],De=[];function Re(){er(this),this.edge=this.site=this.circle=null}function Fe(t){var e=ze.pop()||new Re;return e.site=t,e}function Be(t){We(t),Pe.remove(t),ze.push(t),er(t)}function Ne(t){var e=t.circle,r=e.x,n=e.cy,i={x:r,y:n},a=t.P,o=t.N,s=[t];Be(t);for(var l=a;l.circle&&y(r-l.circle.x)<kt&&y(n-l.circle.cy)<kt;)a=l.P,s.unshift(l),Be(l),l=a;s.unshift(l),We(l);for(var c=o;c.circle&&y(r-c.circle.x)<kt&&y(n-c.circle.cy)<kt;)o=c.N,s.push(c),Be(c),c=o;s.push(c),We(c);var u,f=s.length;for(u=1;u<f;++u)c=s[u],l=s[u-1],Qe(c.edge,l.site,c.site,i);l=s[0],(c=s[f-1]).edge=Je(l.site,c.site,null,i),Ye(l),Ye(c)}function je(t){for(var e,r,n,i,a=t.x,o=t.y,s=Pe._;s;)if((n=Ue(s,o)-a)>kt)s=s.L;else{if(!((i=a-Ve(s,o))>kt)){n>-kt?(e=s.P,r=s):i>-kt?(e=s,r=s.N):e=r=s;break}if(!s.R){e=s;break}s=s.R}var l=Fe(t);if(Pe.insert(e,l),e||r){if(e===r)return We(e),r=Fe(e.site),Pe.insert(l,r),l.edge=r.edge=Je(e.site,l.site),Ye(e),void Ye(r);if(r){We(e),We(r);var c=e.site,u=c.x,f=c.y,h=t.x-u,p=t.y-f,d=r.site,m=d.x-u,g=d.y-f,v=2*(h*g-p*m),y=h*h+p*p,x=m*m+g*g,b={x:(g*y-p*x)/v+u,y:(h*x-m*y)/v+f};Qe(r.edge,c,d,b),l.edge=Je(c,t,null,b),r.edge=Je(t,d,null,b),Ye(e),Ye(r)}else l.edge=Je(e.site,l.site)}}function Ue(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,f=1/a-1/c,h=u/c;return f?(-h+Math.sqrt(h*h-2*f*(u*u/(-2*c)-l+c/2+i-a/2)))/f+n:(n+s)/2}function Ve(t,e){var r=t.N;if(r)return Ue(r,e);var n=t.site;return n.y===e?n.x:1/0}function He(t){this.site=t,this.edges=[]}function qe(t,e){return e.angle-t.angle}function Ge(){er(this),this.x=this.y=this.arc=this.site=this.cy=null}function Ye(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,f=2*(l*(g=a.y-s)-c*u);if(!(f>=-1e-12)){var h=l*l+c*c,p=u*u+g*g,d=(g*h-c*p)/f,m=(l*p-u*h)/f,g=m+s,v=De.pop()||new Ge;v.arc=t,v.site=i,v.x=d+o,v.y=g+Math.sqrt(d*d+m*m),v.cy=g,t.circle=v;for(var y=null,x=Oe._;x;)if(v.y<x.y||v.y===x.y&&v.x<=x.x){if(!x.L){y=x.P;break}x=x.L}else{if(!x.R){y=x;break}x=x.R}Oe.insert(y,v),y||(Ie=v)}}}}function We(t){var e=t.circle;e&&(e.P||(Ie=e.N),Oe.remove(e),De.push(e),er(e),t.circle=null)}function Xe(t,e){var r=t.b;if(r)return!0;var n,i,a=t.a,o=e[0][0],s=e[1][0],l=e[0][1],c=e[1][1],u=t.l,f=t.r,h=u.x,p=u.y,d=f.x,m=f.y,g=(h+d)/2,v=(p+m)/2;if(m===p){if(g<o||g>=s)return;if(h>d){if(a){if(a.y>=c)return}else a={x:g,y:l};r={x:g,y:c}}else{if(a){if(a.y<l)return}else a={x:g,y:c};r={x:g,y:l}}}else if(i=v-(n=(h-d)/(m-p))*g,n<-1||n>1)if(h>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<l)return}else a={x:(c-i)/n,y:c};r={x:(l-i)/n,y:l}}else if(p<m){if(a){if(a.x>=s)return}else a={x:o,y:n*o+i};r={x:s,y:n*s+i}}else{if(a){if(a.x<o)return}else a={x:s,y:n*s+i};r={x:o,y:n*o+i}}return t.a=a,t.b=r,!0}function Ze(t,e){this.l=t,this.r=e,this.a=this.b=null}function Je(t,e,r,n){var i=new Ze(t,e);return Le.push(i),r&&Qe(i,t,e,r),n&&Qe(i,e,t,n),Ce[t.i].edges.push(new $e(i,t,e)),Ce[e.i].edges.push(new $e(i,e,t)),i}function Ke(t,e,r){var n=new Ze(t,null);return n.a=e,n.b=r,Le.push(n),n}function Qe(t,e,r,n){t.a||t.b?t.l===r?t.b=n:t.a=n:(t.a=n,t.l=e,t.r=r)}function $e(t,e,r){var n=t.a,i=t.b;this.edge=t,this.site=e,this.angle=r?Math.atan2(r.y-e.y,r.x-e.x):t.l===e?Math.atan2(i.x-n.x,n.y-i.y):Math.atan2(n.x-i.x,i.y-n.y)}function tr(){this._=null}function er(t){t.U=t.C=t.L=t.R=t.P=t.N=null}function rr(t,e){var r=e,n=e.R,i=r.U;i?i.L===r?i.L=n:i.R=n:t._=n,n.U=i,r.U=n,r.R=n.L,r.R&&(r.R.U=r),n.L=r}function nr(t,e){var r=e,n=e.L,i=r.U;i?i.L===r?i.L=n:i.R=n:t._=n,n.U=i,r.U=n,r.L=n.R,r.L&&(r.L.U=r),n.R=r}function ir(t){for(;t.L;)t=t.L;return t}function ar(t,e){var r,n,i,a=t.sort(or).pop();for(Le=[],Ce=new Array(t.length),Pe=new tr,Oe=new tr;;)if(i=Ie,a&&(!i||a.y<i.y||a.y===i.y&&a.x<i.x))a.x===r&&a.y===n||(Ce[a.i]=new He(a),je(a),r=a.x,n=a.y),a=t.pop();else{if(!i)break;Ne(i.arc)}e&&(function(t){for(var e,r,n,i,a,o=Le,s=(r=t[0][0],n=t[0][1],i=t[1][0],a=t[1][1],function(t){var e,o=t.a,s=t.b,l=o.x,c=o.y,u=0,f=1,h=s.x-l,p=s.y-c;if(e=r-l,h||!(e>0)){if(e/=h,h<0){if(e<u)return;e<f&&(f=e)}else if(h>0){if(e>f)return;e>u&&(u=e)}if(e=i-l,h||!(e<0)){if(e/=h,h<0){if(e>f)return;e>u&&(u=e)}else if(h>0){if(e<u)return;e<f&&(f=e)}if(e=n-c,p||!(e>0)){if(e/=p,p<0){if(e<u)return;e<f&&(f=e)}else if(p>0){if(e>f)return;e>u&&(u=e)}if(e=a-c,p||!(e<0)){if(e/=p,p<0){if(e>f)return;e>u&&(u=e)}else if(p>0){if(e<u)return;e<f&&(f=e)}return u>0&&(t.a={x:l+u*h,y:c+u*p}),f<1&&(t.b={x:l+f*h,y:c+f*p}),t}}}}}),l=o.length;l--;)(!Xe(e=o[l],t)||!s(e)||y(e.a.x-e.b.x)<kt&&y(e.a.y-e.b.y)<kt)&&(e.a=e.b=null,o.splice(l,1))}(e),function(t){for(var e,r,n,i,a,o,s,l,c,u,f=t[0][0],h=t[1][0],p=t[0][1],d=t[1][1],m=Ce,g=m.length;g--;)if((a=m[g])&&a.prepare())for(l=(s=a.edges).length,o=0;o<l;)n=(u=s[o].end()).x,i=u.y,e=(c=s[++o%l].start()).x,r=c.y,(y(n-e)>kt||y(i-r)>kt)&&(s.splice(o,0,new $e(Ke(a.site,u,y(n-f)<kt&&d-i>kt?{x:f,y:y(e-f)<kt?r:d}:y(i-d)<kt&&h-n>kt?{x:y(r-d)<kt?e:h,y:d}:y(n-h)<kt&&i-p>kt?{x:h,y:y(e-h)<kt?r:p}:y(i-p)<kt&&n-f>kt?{x:y(r-p)<kt?e:f,y:p}:null),a.site,null)),++l)}(e));var o={cells:Ce,edges:Le};return Pe=Oe=Le=Ce=null,o}function or(t,e){return e.y-t.y||e.x-t.x}He.prototype.prepare=function(){for(var t,e=this.edges,r=e.length;r--;)(t=e[r].edge).b&&t.a||e.splice(r,1);return e.sort(qe),e.length},$e.prototype={start:function(){return this.edge.l===this.site?this.edge.a:this.edge.b},end:function(){return this.edge.l===this.site?this.edge.b:this.edge.a}},tr.prototype={insert:function(t,e){var r,n,i;if(t){if(e.P=t,e.N=t.N,t.N&&(t.N.P=e),t.N=e,t.R){for(t=t.R;t.L;)t=t.L;t.L=e}else t.R=e;r=t}else this._?(t=ir(this._),e.P=null,e.N=t,t.P=t.L=e,r=t):(e.P=e.N=null,this._=e,r=null);for(e.L=e.R=null,e.U=r,e.C=!0,t=e;r&&r.C;)r===(n=r.U).L?(i=n.R)&&i.C?(r.C=i.C=!1,n.C=!0,t=n):(t===r.R&&(rr(this,r),r=(t=r).U),r.C=!1,n.C=!0,nr(this,n)):(i=n.L)&&i.C?(r.C=i.C=!1,n.C=!0,t=n):(t===r.L&&(nr(this,r),r=(t=r).U),r.C=!1,n.C=!0,rr(this,n)),r=t.U;this._.C=!1},remove:function(t){t.N&&(t.N.P=t.P),t.P&&(t.P.N=t.N),t.N=t.P=null;var e,r,n,i=t.U,a=t.L,o=t.R;if(r=a?o?ir(o):a:o,i?i.L===t?i.L=r:i.R=r:this._=r,a&&o?(n=r.C,r.C=t.C,r.L=a,a.U=r,r!==o?(i=r.U,r.U=t.U,t=r.R,i.L=t,r.R=o,o.U=r):(r.U=i,i=r,t=r.R)):(n=t.C,t=r),t&&(t.U=i),!n)if(t&&t.C)t.C=!1;else{do{if(t===this._)break;if(t===i.L){if((e=i.R).C&&(e.C=!1,i.C=!0,rr(this,i),e=i.R),e.L&&e.L.C||e.R&&e.R.C){e.R&&e.R.C||(e.L.C=!1,e.C=!0,nr(this,e),e=i.R),e.C=i.C,i.C=e.R.C=!1,rr(this,i),t=this._;break}}else if((e=i.L).C&&(e.C=!1,i.C=!0,nr(this,i),e=i.L),e.L&&e.L.C||e.R&&e.R.C){e.L&&e.L.C||(e.R.C=!1,e.C=!0,rr(this,e),e=i.L),e.C=i.C,i.C=e.L.C=!1,nr(this,i),t=this._;break}e.C=!0,t=i,i=i.U}while(!t.C);t&&(t.C=!1)}}},t.geom.voronoi=function(t){var e=_e,r=we,n=e,i=r,a=sr;if(t)return o(t);function o(t){var e=new Array(t.length),r=a[0][0],n=a[0][1],i=a[1][0],o=a[1][1];return ar(s(t),a).cells.forEach((function(a,s){var l=a.edges,c=a.site;(e[s]=l.length?l.map((function(t){var e=t.start();return[e.x,e.y]})):c.x>=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)/kt)*kt,y:Math.round(i(t,e)/kt)*kt,i:e}}))}return o.links=function(t){return ar(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 ar(s(t)).cells.forEach((function(r,n){for(var i,a,o,s,l=r.site,c=r.edges.sort(qe),u=-1,f=c.length,h=c[f-1].edge,p=h.l===l?h.r:h.l;++u<f;)h,i=p,p=(h=c[u].edge).l===l?h.r:h.l,n<i.i&&n<p.i&&(o=i,s=p,((a=l).x-s.x)*(o.y-a.y)-(a.x-o.x)*(s.y-a.y)<0)&&e.push([t[n],t[i.i],t[p.i]])})),e},o.x=function(t){return arguments.length?(n=ce(e=t),o):e},o.y=function(t){return arguments.length?(i=ce(r=t),o):r},o.clipExtent=function(t){return arguments.length?(a=null==t?sr:t,o):a===sr?null:a},o.size=function(t){return arguments.length?o.clipExtent(t&&[[0,0],t]):a===sr?null:a&&a[1]},o};var sr=[[-1e6,-1e6],[1e6,1e6]];function lr(t){return t.x}function cr(t){return t.y}function ur(t,e,r,n,i,a){if(!t(e,r,n,i,a)){var o=.5*(r+i),s=.5*(n+a),l=e.nodes;l[0]&&ur(t,l[0],r,n,o,s),l[1]&&ur(t,l[1],o,n,i,s),l[2]&&ur(t,l[2],r,s,o,a),l[3]&&ur(t,l[3],o,s,i,a)}}function fr(t,e,r,n,i,a,o){var s,l=1/0;return function t(c,u,f,h,p){if(!(u>a||f>o||h<n||p<i)){if(d=c.point){var d,m=e-c.x,g=r-c.y,v=m*m+g*g;if(v<l){var y=Math.sqrt(l=v);n=e-y,i=r-y,a=e+y,o=r+y,s=d}}for(var x=c.nodes,b=.5*(u+h),_=.5*(f+p),w=(r>=_)<<1|e>=b,T=w+4;w<T;++w)if(c=x[3&w])switch(3&w){case 0:t(c,u,f,b,_);break;case 1:t(c,b,f,h,_);break;case 2:t(c,u,_,b,p);break;case 3:t(c,b,_,h,p)}}}(t,n,i,a,o),s}function hr(e,r){e=t.rgb(e),r=t.rgb(r);var n=e.r,i=e.g,a=e.b,o=r.r-n,s=r.g-i,l=r.b-a;return function(t){return\"#\"+re(Math.round(n+o*t))+re(Math.round(i+s*t))+re(Math.round(a+l*t))}}function pr(t,e){var r,n={},i={};for(r in t)r in e?n[r]=yr(t[r],e[r]):i[r]=t[r];for(r in e)r in t||(i[r]=e[r]);return function(t){for(r in n)i[r]=n[r](t);return i}}function dr(t,e){return t=+t,e=+e,function(r){return t*(1-r)+e*r}}function mr(t,e){var r,n,i,a=gr.lastIndex=vr.lastIndex=0,o=-1,s=[],l=[];for(t+=\"\",e+=\"\";(r=gr.exec(t))&&(n=vr.exec(e));)(i=n.index)>a&&(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:dr(r,n)})),a=vr.lastIndex;return a<e.length&&(i=e.slice(a),s[o]?s[o]+=i:s[++o]=i),s.length<2?l[0]?(e=l[0].x,function(t){return e(t)+\"\"}):function(){return e}:(e=l.length,function(t){for(var r,n=0;n<e;++n)s[(r=l[n]).i]=r.x(t);return s.join(\"\")})}t.geom.delaunay=function(e){return t.geom.voronoi().triangles(e)},t.geom.quadtree=function(t,e,r,n,i){var a,o=_e,s=we;if(a=arguments.length)return o=lr,s=cr,3===a&&(i=r,n=e,r=e=0),l(t);function l(t){var l,c,u,f,h,p,d,m,g,v=ce(o),x=ce(s);if(null!=e)p=e,d=r,m=n,g=i;else if(m=g=-(p=d=1/0),c=[],u=[],h=t.length,a)for(f=0;f<h;++f)(l=t[f]).x<p&&(p=l.x),l.y<d&&(d=l.y),l.x>m&&(m=l.x),l.y>g&&(g=l.y),c.push(l.x),u.push(l.y);else for(f=0;f<h;++f){var b=+v(l=t[f],f),_=+x(l,f);b<p&&(p=b),_<d&&(d=_),b>m&&(m=b),_>g&&(g=_),c.push(b),u.push(_)}var w=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(y(l-r)+y(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,f=n>=c,h=f<<1|u;t.leaf=!1,u?i=l:o=l,f?a=c:s=c,k(t=t.nodes[h]||(t.nodes[h]={leaf:!0,nodes:[],point:null,x:null,y:null}),e,r,n,i,a,o,s)}w>T?g=d+w:m=p+T;var M={leaf:!0,nodes:[],point:null,x:null,y:null,add:function(t){k(M,t,+v(t,++f),+x(t,f),p,d,m,g)},visit:function(t){ur(t,M,p,d,m,g)},find:function(t){return fr(M,t[0],t[1],p,d,m,g)}};if(f=-1,null==e){for(;++f<h;)k(M,t[f],c[f],u[f],p,d,m,g);--f}else t.forEach(M.add);return c=u=t=l=null,M}return l.x=function(t){return arguments.length?(o=t,l):o},l.y=function(t){return arguments.length?(s=t,l):s},l.extent=function(t){return arguments.length?(null==t?e=r=n=i=null:(e=+t[0][0],r=+t[0][1],n=+t[1][0],i=+t[1][1]),l):null==e?null:[[e,r],[n,i]]},l.size=function(t){return arguments.length?(null==t?e=r=n=i=null:(e=r=0,n=+t[0],i=+t[1]),l):null==e?null:[n-e,i-r]},l},t.interpolateRgb=hr,t.interpolateObject=pr,t.interpolateNumber=dr,t.interpolateString=mr;var gr=/[-+]?(?:\\d+\\.?\\d*|\\.?\\d+)(?:[eE][-+]?\\d+)?/g,vr=new RegExp(gr.source,\"g\");function yr(e,r){for(var n,i=t.interpolators.length;--i>=0&&!(n=t.interpolators[i](e,r)););return n}function xr(t,e){var r,n=[],i=[],a=t.length,o=e.length,s=Math.min(t.length,e.length);for(r=0;r<s;++r)n.push(yr(t[r],e[r]));for(;r<a;++r)i[r]=t[r];for(;r<o;++r)i[r]=e[r];return function(t){for(r=0;r<s;++r)i[r]=n[r](t);return i}}t.interpolate=yr,t.interpolators=[function(t,e){var r=typeof e;return(\"string\"===r?le.has(e.toLowerCase())||/^(#|rgb\\(|hsl\\()/i.test(e)?hr:mr:e instanceof Ft?hr:Array.isArray(e)?xr:\"object\"===r&&isNaN(e)?pr:dr)(t,e)}],t.interpolateArray=xr;var br=function(){return C},_r=t.map({linear:br,poly:function(t){return function(e){return Math.pow(e,t)}},quad:function(){return Mr},cubic:function(){return Sr},sin:function(){return Lr},exp:function(){return Cr},circle:function(){return Pr},elastic:function(t,e){var r;arguments.length<2&&(e=.45);arguments.length?r=e/Mt*Math.asin(1/t):(t=1,r=e/4);return function(n){return 1+t*Math.pow(2,-10*n)*Math.sin((n-r)*Mt/e)}},back:function(t){t||(t=1.70158);return function(e){return e*e*((t+1)*e-t)}},bounce:function(){return Ir}}),wr=t.map({in:C,out:kr,\"in-out\":Ar,\"out-in\":function(t){return Ar(kr(t))}});function Tr(t){return function(e){return e<=0?0:e>=1?1:t(e)}}function kr(t){return function(e){return 1-t(1-e)}}function Ar(t){return function(e){return.5*(e<.5?t(2*e):2-t(2-2*e))}}function Mr(t){return t*t}function Sr(t){return t*t*t}function Er(t){if(t<=0)return 0;if(t>=1)return 1;var e=t*t,r=e*t;return 4*(t<.5?r:3*(t-e)+r-.75)}function Lr(t){return 1-Math.cos(t*Et)}function Cr(t){return Math.pow(2,10*(t-1))}function Pr(t){return 1-Math.sqrt(1-t*t)}function Ir(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 Or(t,e){return e-=t,function(r){return Math.round(t+e*r)}}function zr(t){var e,r,n,i=[t.a,t.b],a=[t.c,t.d],o=Rr(i),s=Dr(i,a),l=Rr(((e=a)[0]+=(n=-s)*(r=i)[0],e[1]+=n*r[1],e))||0;i[0]*a[1]<a[0]*i[1]&&(i[0]*=-1,i[1]*=-1,o*=-1,s*=-1),this.rotate=(o?Math.atan2(i[1],i[0]):Math.atan2(-a[0],a[1]))*Ct,this.translate=[t.e,t.f],this.scale=[o,l],this.skew=l?Math.atan2(s,l)*Ct:0}function Dr(t,e){return t[0]*e[0]+t[1]*e[1]}function Rr(t){var e=Math.sqrt(Dr(t,t));return e&&(t[0]/=e,t[1]/=e),e}t.ease=function(t){var e=t.indexOf(\"-\"),n=e>=0?t.slice(0,e):t,i=e>=0?t.slice(e+1):\"in\";return n=_r.get(n)||br,Tr((i=wr.get(i)||C)(n.apply(null,r.call(arguments,1))))},t.interpolateHcl=function(e,r){e=t.hcl(e),r=t.hcl(r);var n=e.h,i=e.c,a=e.l,o=r.h-n,s=r.c-i,l=r.l-a;isNaN(s)&&(s=0,i=isNaN(i)?r.c:i);isNaN(o)?(o=0,n=isNaN(n)?r.h:n):o>180?o-=360:o<-180&&(o+=360);return function(t){return Ht(n+o*t,i+s*t,a+l*t)+\"\"}},t.interpolateHsl=function(e,r){e=t.hsl(e),r=t.hsl(r);var n=e.h,i=e.s,a=e.l,o=r.h-n,s=r.s-i,l=r.l-a;isNaN(s)&&(s=0,i=isNaN(i)?r.s:i);isNaN(o)?(o=0,n=isNaN(n)?r.h:n):o>180?o-=360:o<-180&&(o+=360);return function(t){return jt(n+o*t,i+s*t,a+l*t)+\"\"}},t.interpolateLab=function(e,r){e=t.lab(e),r=t.lab(r);var n=e.l,i=e.a,a=e.b,o=r.l-n,s=r.a-i,l=r.b-a;return function(t){return Wt(n+o*t,i+s*t,a+l*t)+\"\"}},t.interpolateRound=Or,t.transform=function(e){var r=i.createElementNS(t.ns.prefix.svg,\"g\");return(t.transform=function(t){if(null!=t){r.setAttribute(\"transform\",t);var e=r.transform.baseVal.consolidate()}return new zr(e?e.matrix:Fr)})(e)},zr.prototype.toString=function(){return\"translate(\"+this.translate+\")rotate(\"+this.rotate+\")skewX(\"+this.skew+\")scale(\"+this.scale+\")\"};var Fr={a:1,b:0,c:0,d:1,e:0,f:0};function Br(t){return t.length?t.pop()+\",\":\"\"}function Nr(e,r){var n=[],i=[];return e=t.transform(e),r=t.transform(r),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:dr(t[0],e[0])},{i:i-2,x:dr(t[1],e[1])})}else(e[0]||e[1])&&r.push(\"translate(\"+e+\")\")}(e.translate,r.translate,n,i),function(t,e,r,n){t!==e?(t-e>180?e+=360:e-t>180&&(t+=360),n.push({i:r.push(Br(r)+\"rotate(\",null,\")\")-2,x:dr(t,e)})):e&&r.push(Br(r)+\"rotate(\"+e+\")\")}(e.rotate,r.rotate,n,i),function(t,e,r,n){t!==e?n.push({i:r.push(Br(r)+\"skewX(\",null,\")\")-2,x:dr(t,e)}):e&&r.push(Br(r)+\"skewX(\"+e+\")\")}(e.skew,r.skew,n,i),function(t,e,r,n){if(t[0]!==e[0]||t[1]!==e[1]){var i=r.push(Br(r)+\"scale(\",null,\",\",null,\")\");n.push({i:i-4,x:dr(t[0],e[0])},{i:i-2,x:dr(t[1],e[1])})}else 1===e[0]&&1===e[1]||r.push(Br(r)+\"scale(\"+e+\")\")}(e.scale,r.scale,n,i),e=r=null,function(t){for(var e,r=-1,a=i.length;++r<a;)n[(e=i[r]).i]=e.x(t);return n.join(\"\")}}function jr(t,e){return e=(e-=t=+t)||1/e,function(r){return(r-t)/e}}function Ur(t,e){return e=(e-=t=+t)||1/e,function(r){return Math.max(0,Math.min(1,(r-t)/e))}}function Vr(t){for(var e=t.source,r=t.target,n=function(t,e){if(t===e)return t;var r=Hr(t),n=Hr(e),i=r.pop(),a=n.pop(),o=null;for(;i===a;)o=i,i=r.pop(),a=n.pop();return o}(e,r),i=[e];e!==n;)e=e.parent,i.push(e);for(var a=i.length;r!==n;)i.splice(a,0,r),r=r.parent;return i}function Hr(t){for(var e=[],r=t.parent;null!=r;)e.push(t),t=r,r=r.parent;return e.push(t),e}function qr(t){t.fixed|=2}function Gr(t){t.fixed&=-7}function Yr(t){t.fixed|=4,t.px=t.x,t.py=t.y}function Wr(t){t.fixed&=-5}t.interpolateTransform=Nr,t.layout={},t.layout.bundle=function(){return function(t){for(var e=[],r=-1,n=t.length;++r<n;)e.push(Vr(t[r]));return e}},t.layout.chord=function(){var e,r,n,i,a,o,s,l={},c=0;function u(){var l,u,h,p,d,m={},g=[],v=t.range(i),y=[];for(e=[],r=[],l=0,p=-1;++p<i;){for(u=0,d=-1;++d<i;)u+=n[p][d];g.push(u),y.push(t.range(i)),l+=u}for(a&&v.sort((function(t,e){return a(g[t],g[e])})),o&&y.forEach((function(t,e){t.sort((function(t,r){return o(n[e][t],n[e][r])}))})),l=(Mt-c*i)/l,u=0,p=-1;++p<i;){for(h=u,d=-1;++d<i;){var x=v[p],b=y[x][d],_=n[x][b],w=u,T=u+=_*l;m[x+\"-\"+b]={index:x,subindex:b,startAngle:w,endAngle:T,value:_}}r[x]={index:x,startAngle:h,endAngle:u,value:g[x]},u+=c}for(p=-1;++p<i;)for(d=p-1;++d<i;){var k=m[p+\"-\"+d],A=m[d+\"-\"+p];(k.value||A.value)&&e.push(k.value<A.value?{source:A,target:k}:{source:k,target:A})}s&&f()}function f(){e.sort((function(t,e){return s((t.source.value+t.target.value)/2,(e.source.value+e.target.value)/2)}))}return l.matrix=function(t){return arguments.length?(i=(n=t)&&n.length,e=r=null,l):n},l.padding=function(t){return arguments.length?(c=t,e=r=null,l):c},l.sortGroups=function(t){return arguments.length?(a=t,e=r=null,l):a},l.sortSubgroups=function(t){return arguments.length?(o=t,e=null,l):o},l.sortChords=function(t){return arguments.length?(s=t,e&&f(),l):s},l.chords=function(){return e||u(),e},l.groups=function(){return r||u(),r},l},t.layout.force=function(){var e,r,n,i,a,o,s={},l=t.dispatch(\"start\",\"tick\",\"end\"),c=[1,1],u=.9,f=Xr,h=Zr,p=-30,d=Jr,m=.1,g=.64,v=[],y=[];function x(t){return function(e,r,n,i){if(e.point!==t){var a=e.cx-t.x,o=e.cy-t.y,s=i-r,l=a*a+o*o;if(s*s/g<l){if(l<d){var c=e.charge/l;t.px-=a*c,t.py-=o*c}return!0}if(e.point&&l&&l<d){c=e.pointCharge/l;t.px-=a*c,t.py-=o*c}}return!e.charge}}function b(e){e.px=t.event.x,e.py=t.event.y,s.resume()}return s.tick=function(){if((n*=.99)<.005)return e=null,l.end({type:\"end\",alpha:n=0}),!0;var r,s,f,h,d,g,b,_,w,T=v.length,k=y.length;for(s=0;s<k;++s)h=(f=y[s]).source,(g=(_=(d=f.target).x-h.x)*_+(w=d.y-h.y)*w)&&(_*=g=n*a[s]*((g=Math.sqrt(g))-i[s])/g,w*=g,d.x-=_*(b=h.weight+d.weight?h.weight/(h.weight+d.weight):.5),d.y-=w*b,h.x+=_*(b=1-b),h.y+=w*b);if((b=n*m)&&(_=c[0]/2,w=c[1]/2,s=-1,b))for(;++s<T;)(f=v[s]).x+=(_-f.x)*b,f.y+=(w-f.y)*b;if(p)for(!function t(e,r,n){var i=0,a=0;if(e.charge=0,!e.leaf)for(var o,s=e.nodes,l=s.length,c=-1;++c<l;)null!=(o=s[c])&&(t(o,r,n),e.charge+=o.charge,i+=o.charge*o.cx,a+=o.charge*o.cy);if(e.point){e.leaf||(e.point.x+=Math.random()-.5,e.point.y+=Math.random()-.5);var u=r*n[e.point.index];e.charge+=e.pointCharge=u,i+=u*e.point.x,a+=u*e.point.y}e.cx=i/e.charge,e.cy=a/e.charge}(r=t.geom.quadtree(v),n,o),s=-1;++s<T;)(f=v[s]).fixed||r.visit(x(f));for(s=-1;++s<T;)(f=v[s]).fixed?(f.x=f.px,f.y=f.py):(f.x-=(f.px-(f.px=f.x))*u,f.y-=(f.py-(f.py=f.y))*u);l.tick({type:\"tick\",alpha:n})},s.nodes=function(t){return arguments.length?(v=t,s):v},s.links=function(t){return arguments.length?(y=t,s):y},s.size=function(t){return arguments.length?(c=t,s):c},s.linkDistance=function(t){return arguments.length?(f=\"function\"==typeof t?t:+t,s):f},s.distance=s.linkDistance,s.linkStrength=function(t){return arguments.length?(h=\"function\"==typeof t?t:+t,s):h},s.friction=function(t){return arguments.length?(u=+t,s):u},s.charge=function(t){return arguments.length?(p=\"function\"==typeof t?t:+t,s):p},s.chargeDistance=function(t){return arguments.length?(d=t*t,s):Math.sqrt(d)},s.gravity=function(t){return arguments.length?(m=+t,s):m},s.theta=function(t){return arguments.length?(g=t*t,s):Math.sqrt(g)},s.alpha=function(t){return arguments.length?(t=+t,n?t>0?n=t:(e.c=null,e.t=NaN,e=null,l.end({type:\"end\",alpha:n=0})):t>0&&(l.start({type:\"start\",alpha:n=t}),e=ve(s.tick)),s):n},s.start=function(){var t,e,r,n=v.length,l=y.length,u=c[0],d=c[1];for(t=0;t<n;++t)(r=v[t]).index=t,r.weight=0;for(t=0;t<l;++t)\"number\"==typeof(r=y[t]).source&&(r.source=v[r.source]),\"number\"==typeof r.target&&(r.target=v[r.target]),++r.source.weight,++r.target.weight;for(t=0;t<n;++t)r=v[t],isNaN(r.x)&&(r.x=m(\"x\",u)),isNaN(r.y)&&(r.y=m(\"y\",d)),isNaN(r.px)&&(r.px=r.x),isNaN(r.py)&&(r.py=r.y);if(i=[],\"function\"==typeof f)for(t=0;t<l;++t)i[t]=+f.call(this,y[t],t);else for(t=0;t<l;++t)i[t]=f;if(a=[],\"function\"==typeof h)for(t=0;t<l;++t)a[t]=+h.call(this,y[t],t);else for(t=0;t<l;++t)a[t]=h;if(o=[],\"function\"==typeof p)for(t=0;t<n;++t)o[t]=+p.call(this,v[t],t);else for(t=0;t<n;++t)o[t]=p;function m(r,i){if(!e){for(e=new Array(n),c=0;c<n;++c)e[c]=[];for(c=0;c<l;++c){var a=y[c];e[a.source.index].push(a.target),e[a.target.index].push(a.source)}}for(var o,s=e[t],c=-1,u=s.length;++c<u;)if(!isNaN(o=s[c][r]))return o;return Math.random()*i}return s.resume()},s.resume=function(){return s.alpha(.1)},s.stop=function(){return s.alpha(0)},s.drag=function(){if(r||(r=t.behavior.drag().origin(C).on(\"dragstart.force\",qr).on(\"drag.force\",b).on(\"dragend.force\",Gr)),!arguments.length)return r;this.on(\"mouseover.force\",Yr).on(\"mouseout.force\",Wr).call(r)},t.rebind(s,l,\"on\")};var Xr=20,Zr=1,Jr=1/0;function Kr(e,r){return t.rebind(e,r,\"sort\",\"children\",\"value\"),e.nodes=e,e.links=nn,e}function Qr(t,e){for(var r=[t];null!=(t=r.pop());)if(e(t),(i=t.children)&&(n=i.length))for(var n,i;--n>=0;)r.push(i[n])}function $r(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<i;)r.push(a[o]);for(;null!=(t=n.pop());)e(t)}function tn(t){return t.children}function en(t){return t.value}function rn(t,e){return e.value-t.value}function nn(e){return t.merge(e.map((function(t){return(t.children||[]).map((function(e){return{source:t,target:e}}))})))}t.layout.hierarchy=function(){var t=rn,e=tn,r=en;function n(i){var a,o=[i],s=[];for(i.depth=0;null!=(a=o.pop());)if(s.push(a),(c=e.call(n,a,a.depth))&&(l=c.length)){for(var l,c,u;--l>=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 $r(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&&(Qr(t,(function(t){t.children&&(t.value=0)})),$r(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},t.layout.partition=function(){var e=t.layout.hierarchy(),r=[1,1];function n(t,n){var i=e.call(this,t,n);return function t(e,r,n,i){var a=e.children;if(e.x=r,e.y=e.depth*i,e.dx=n,e.dy=i,a&&(o=a.length)){var o,s,l,c=-1;for(n=e.value?n/e.value:0;++c<o;)t(s=a[c],r,l=s.value*n,i),r+=l}}(i[0],0,r[0],r[1]/function t(e){var r=e.children,n=0;if(r&&(i=r.length))for(var i,a=-1;++a<i;)n=Math.max(n,t(r[a]));return 1+n}(i[0])),i}return n.size=function(t){return arguments.length?(r=t,n):r},Kr(n,e)},t.layout.pie=function(){var e=Number,r=an,n=0,i=Mt,a=0;function o(s){var l,c=s.length,u=s.map((function(t,r){return+e.call(o,t,r)})),f=+(\"function\"==typeof n?n.apply(this,arguments):n),h=(\"function\"==typeof i?i.apply(this,arguments):i)-f,p=Math.min(Math.abs(h)/c,+(\"function\"==typeof a?a.apply(this,arguments):a)),d=p*(h<0?-1:1),m=t.sum(u),g=m?(h-c*d)/m:0,v=t.range(c),y=[];return null!=r&&v.sort(r===an?function(t,e){return u[e]-u[t]}:function(t,e){return r(s[t],s[e])}),v.forEach((function(t){y[t]={data:s[t],value:l=u[t],startAngle:f,endAngle:f+=l*g+d,padAngle:p}})),y}return o.value=function(t){return arguments.length?(e=t,o):e},o.sort=function(t){return arguments.length?(r=t,o):r},o.startAngle=function(t){return arguments.length?(n=t,o):n},o.endAngle=function(t){return arguments.length?(i=t,o):i},o.padAngle=function(t){return arguments.length?(a=t,o):a},o};var an={};function on(t){return t.x}function sn(t){return t.y}function ln(t,e,r){t.y0=e,t.y=r}t.layout.stack=function(){var e=C,r=fn,n=hn,i=ln,a=on,o=sn;function s(l,c){if(!(p=l.length))return l;var u=l.map((function(t,r){return e.call(s,t,r)})),f=u.map((function(t){return t.map((function(t,e){return[a.call(s,t,e),o.call(s,t,e)]}))})),h=r.call(s,f,c);u=t.permute(u,h),f=t.permute(f,h);var p,d,m,g,v=n.call(s,f,c),y=u[0].length;for(m=0;m<y;++m)for(i.call(s,u[0][m],g=v[m],f[0][m][1]),d=1;d<p;++d)i.call(s,u[d][m],g+=f[d-1][m][1],f[d][m][1]);return l}return s.values=function(t){return arguments.length?(e=t,s):e},s.order=function(t){return arguments.length?(r=\"function\"==typeof t?t:cn.get(t)||fn,s):r},s.offset=function(t){return arguments.length?(n=\"function\"==typeof t?t:un.get(t)||hn,s):n},s.x=function(t){return arguments.length?(a=t,s):a},s.y=function(t){return arguments.length?(o=t,s):o},s.out=function(t){return arguments.length?(i=t,s):i},s};var cn=t.map({\"inside-out\":function(e){var r,n,i=e.length,a=e.map(pn),o=e.map(dn),s=t.range(i).sort((function(t,e){return a[t]-a[e]})),l=0,c=0,u=[],f=[];for(r=0;r<i;++r)n=s[r],l<c?(l+=o[n],u.push(n)):(c+=o[n],f.push(n));return f.reverse().concat(u)},reverse:function(e){return t.range(e.length).reverse()},default:fn}),un=t.map({silhouette:function(t){var e,r,n,i=t.length,a=t[0].length,o=[],s=0,l=[];for(r=0;r<a;++r){for(e=0,n=0;e<i;e++)n+=t[e][r][1];n>s&&(s=n),o.push(n)}for(r=0;r<a;++r)l[r]=(s-o[r])/2;return l},wiggle:function(t){var e,r,n,i,a,o,s,l,c,u=t.length,f=t[0],h=f.length,p=[];for(p[0]=l=c=0,r=1;r<h;++r){for(e=0,i=0;e<u;++e)i+=t[e][r][1];for(e=0,a=0,s=f[r][0]-f[r-1][0];e<u;++e){for(n=0,o=(t[e][r][1]-t[e][r-1][1])/(2*s);n<e;++n)o+=(t[n][r][1]-t[n][r-1][1])/s;a+=o*t[e][r][1]}p[r]=l-=i?a/i*s:0,l<c&&(c=l)}for(r=0;r<h;++r)p[r]-=c;return p},expand:function(t){var e,r,n,i=t.length,a=t[0].length,o=1/i,s=[];for(r=0;r<a;++r){for(e=0,n=0;e<i;e++)n+=t[e][r][1];if(n)for(e=0;e<i;e++)t[e][r][1]/=n;else for(e=0;e<i;e++)t[e][r][1]=o}for(r=0;r<a;++r)s[r]=0;return s},zero:hn});function fn(e){return t.range(e.length)}function hn(t){for(var e=-1,r=t[0].length,n=[];++e<r;)n[e]=0;return n}function pn(t){for(var e,r=1,n=0,i=t[0][1],a=t.length;r<a;++r)(e=t[r][1])>i&&(n=r,i=e);return n}function dn(t){return t.reduce(mn,0)}function mn(t,e){return t+e[1]}function gn(t,e){return vn(t,Math.ceil(Math.log(e.length)/Math.LN2+1))}function vn(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 yn(e){return[t.min(e),t.max(e)]}function xn(t,e){return t.value-e.value}function bn(t,e){var r=t._pack_next;t._pack_next=e,e._pack_prev=t,e._pack_next=r,r._pack_prev=e}function _n(t,e){t._pack_next=e,e._pack_prev=t}function wn(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 Tn(t){if((e=t.children)&&(l=e.length)){var e,r,n,i,a,o,s,l,c=1/0,u=-1/0,f=1/0,h=-1/0;if(e.forEach(kn),(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(Mn(r,n,i=e[2]),x(i),bn(r,i),r._pack_prev=i,bn(i,n),n=r._pack_next,a=3;a<l;a++){Mn(r,n,i=e[a]);var p=0,d=1,m=1;for(o=n._pack_next;o!==n;o=o._pack_next,d++)if(wn(o,i)){p=1;break}if(1==p)for(s=r._pack_prev;s!==o._pack_prev&&!wn(s,i);s=s._pack_prev,m++);p?(d<m||d==m&&n.r<r.r?_n(r,n=o):_n(r=s,n),a--):(bn(r,i),n=i,x(i))}var g=(c+u)/2,v=(f+h)/2,y=0;for(a=0;a<l;a++)(i=e[a]).x-=g,i.y-=v,y=Math.max(y,i.r+Math.sqrt(i.x*i.x+i.y*i.y));t.r=y,e.forEach(An)}function x(t){c=Math.min(t.x-t.r,c),u=Math.max(t.x+t.r,u),f=Math.min(t.y-t.r,f),h=Math.max(t.y+t.r,h)}}function kn(t){t._pack_next=t._pack_prev=t}function An(t){delete t._pack_next,delete t._pack_prev}function Mn(t,e,r){var n=t.r+r.r,i=e.x-t.x,a=e.y-t.y;if(n&&(i||a)){var o=e.r+r.r,s=i*i+a*a,l=.5+((n*=n)-(o*=o))/(2*s),c=Math.sqrt(Math.max(0,2*o*(n+s)-(n-=s)*n-o*o))/(2*s);r.x=t.x+l*i+c*a,r.y=t.y+l*a-c*i}else r.x=t.x+n,r.y=t.y}function Sn(t,e){return t.parent==e.parent?1:2}function En(t){var e=t.children;return e.length?e[0]:t.t}function Ln(t){var e,r=t.children;return(e=r.length)?r[e-1]:t.t}function Cn(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 Pn(t,e,r){return t.a.parent===e.parent?t.a:r}function In(t){return{x:t.x,y:t.y,dx:t.dx,dy:t.dy}}function On(t,e){var r=t.x+e[3],n=t.y+e[0],i=t.dx-e[1]-e[3],a=t.dy-e[0]-e[2];return i<0&&(r+=i/2,i=0),a<0&&(n+=a/2,a=0),{x:r,y:n,dx:i,dy:a}}function zn(t){var e=t[0],r=t[t.length-1];return e<r?[e,r]:[r,e]}function Dn(t){return t.rangeExtent?t.rangeExtent():zn(t.range())}function Rn(t,e,r,n){var i=r(t[0],t[1]),a=n(e[0],e[1]);return function(t){return a(i(t))}}function Fn(t,e){var r,n=0,i=t.length-1,a=t[n],o=t[i];return o<a&&(r=n,n=i,i=r,r=a,a=o,o=r),t[n]=e.floor(a),t[i]=e.ceil(o),t}function Bn(t){return t?{floor:function(e){return Math.floor(e/t)*t},ceil:function(e){return Math.ceil(e/t)*t}}:Nn}t.layout.histogram=function(){var e=!0,r=Number,n=yn,i=gn;function a(a,o){for(var s,l,c=[],u=a.map(r,this),f=n.call(this,u,o),h=i.call(this,f,u,o),p=(o=-1,u.length),d=h.length-1,m=e?1:1/p;++o<d;)(s=c[o]=[]).dx=h[o+1]-(s.x=h[o]),s.y=0;if(d>0)for(o=-1;++o<p;)(l=u[o])>=f[0]&&l<=f[1]&&((s=c[t.bisect(h,l,1,d)-1]).y+=m,s.push(a[o]));return c}return a.value=function(t){return arguments.length?(r=t,a):r},a.range=function(t){return arguments.length?(n=ce(t),a):n},a.bins=function(t){return arguments.length?(i=\"number\"==typeof t?function(e){return vn(e,t)}:ce(t),a):i},a.frequency=function(t){return arguments.length?(e=!!t,a):e},a},t.layout.pack=function(){var e,r=t.layout.hierarchy().sort(xn),n=0,i=[1,1];function a(t,a){var o=r.call(this,t,a),s=o[0],l=i[0],c=i[1],u=null==e?Math.sqrt:\"function\"==typeof e?e:function(){return e};if(s.x=s.y=0,$r(s,(function(t){t.r=+u(t.value)})),$r(s,Tn),n){var f=n*(e?1:Math.max(2*s.r/l,2*s.r/c))/2;$r(s,(function(t){t.r+=f})),$r(s,Tn),$r(s,(function(t){t.r-=f}))}return function t(e,r,n,i){var a=e.children;if(e.x=r+=i*e.x,e.y=n+=i*e.y,e.r*=i,a)for(var o=-1,s=a.length;++o<s;)t(a[o],r,n,i)}(s,l/2,c/2,e?1:1/Math.max(2*s.r/l,2*s.r/c)),o}return a.size=function(t){return arguments.length?(i=t,a):i},a.radius=function(t){return arguments.length?(e=null==t||\"function\"==typeof t?t:+t,a):e},a.padding=function(t){return arguments.length?(n=+t,a):n},Kr(a,r)},t.layout.tree=function(){var e=t.layout.hierarchy().sort(null).value(null),r=Sn,n=[1,1],i=null;function a(t,a){var c=e.call(this,t,a),u=c[0],f=function(t){var e,r={A:null,children:[t]},n=[r];for(;null!=(e=n.pop());)for(var i,a=e.children,o=0,s=a.length;o<s;++o)n.push((a[o]=i={_:a[o],parent:e,children:(i=a[o].children)&&i.slice()||[],A:null,a:null,z:0,m:0,c:0,s:0,t:null,i:o}).a=i);return r.children[0]}(u);if($r(f,o),f.parent.m=-f.z,Qr(f,s),i)Qr(u,l);else{var h=u,p=u,d=u;Qr(u,(function(t){t.x<h.x&&(h=t),t.x>p.x&&(p=t),t.depth>d.depth&&(d=t)}));var m=r(h,p)/2-h.x,g=n[0]/(p.x+r(p,h)/2+m),v=n[1]/(d.depth||1);Qr(u,(function(t){t.x=(t.x+m)*g,t.y=t.depth*v}))}return c}function o(t){var e=t.children,n=t.parent.children,i=t.i?n[t.i-1]:null;if(e.length){!function(t){var e,r=0,n=0,i=t.children,a=i.length;for(;--a>=0;)(e=i[a]).z+=r,e.m+=r,r+=e.s+(n+=e.c)}(t);var a=(e[0].z+e[e.length-1].z)/2;i?(t.z=i.z+r(t._,i._),t.m=t.z-a):t.z=a}else i&&(t.z=i.z+r(t._,i._));t.parent.A=function(t,e,n){if(e){for(var i,a=t,o=t,s=e,l=a.parent.children[0],c=a.m,u=o.m,f=s.m,h=l.m;s=Ln(s),a=En(a),s&&a;)l=En(l),(o=Ln(o)).a=t,(i=s.z+f-a.z-c+r(s._,a._))>0&&(Cn(Pn(s,t,n),t,i),c+=i,u+=i),f+=s.m,c+=a.m,h+=l.m,u+=o.m;s&&!Ln(o)&&(o.t=s,o.m+=f-u),a&&!En(l)&&(l.t=a,l.m+=c-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*=n[0],t.y=t.depth*n[1]}return a.separation=function(t){return arguments.length?(r=t,a):r},a.size=function(t){return arguments.length?(i=null==(n=t)?l:null,a):i?null:n},a.nodeSize=function(t){return arguments.length?(i=null==(n=t)?null:l,a):i?n:null},Kr(a,e)},t.layout.cluster=function(){var e=t.layout.hierarchy().sort(null).value(null),r=Sn,n=[1,1],i=!1;function a(a,o){var s,l=e.call(this,a,o),c=l[0],u=0;$r(c,(function(e){var n=e.children;n&&n.length?(e.x=function(t){return t.reduce((function(t,e){return t+e.x}),0)/t.length}(n),e.y=function(e){return 1+t.max(e,(function(t){return t.y}))}(n)):(e.x=s?u+=r(e,s):0,e.y=0,s=e)}));var f=function t(e){var r=e.children;return r&&r.length?t(r[0]):e}(c),h=function t(e){var r,n=e.children;return n&&(r=n.length)?t(n[r-1]):e}(c),p=f.x-r(f,h)/2,d=h.x+r(h,f)/2;return $r(c,i?function(t){t.x=(t.x-c.x)*n[0],t.y=(c.y-t.y)*n[1]}:function(t){t.x=(t.x-p)/(d-p)*n[0],t.y=(1-(c.y?t.y/c.y:1))*n[1]}),l}return a.separation=function(t){return arguments.length?(r=t,a):r},a.size=function(t){return arguments.length?(i=null==(n=t),a):i?null:n},a.nodeSize=function(t){return arguments.length?(i=null!=(n=t),a):i?n:null},Kr(a,e)},t.layout.treemap=function(){var e,r=t.layout.hierarchy(),n=Math.round,i=[1,1],a=null,o=In,s=!1,l=\"squarify\",c=.5*(1+Math.sqrt(5));function u(t,e){for(var r,n,i=-1,a=t.length;++i<a;)n=(r=t[i]).value*(e<0?0:e),r.area=isNaN(n)||n<=0?0:n}function f(t){var e=t.children;if(e&&e.length){var r,n,i,a=o(t),s=[],c=e.slice(),h=1/0,m=\"slice\"===l?a.dx:\"dice\"===l?a.dy:\"slice-dice\"===l?1&t.depth?a.dy:a.dx:Math.min(a.dx,a.dy);for(u(c,a.dx*a.dy/t.value),s.area=0;(i=c.length)>0;)s.push(r=c[i-1]),s.area+=r.area,\"squarify\"!==l||(n=p(s,m))<=h?(c.pop(),h=n):(s.area-=s.pop().area,d(s,m,a,!1),m=Math.min(a.dx,a.dy),s.length=s.area=0,h=1/0);s.length&&(d(s,m,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(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(h)}}function p(t,e){for(var r,n=t.area,i=0,a=1/0,o=-1,s=t.length;++o<s;)(r=t[o].area)&&(r<a&&(a=r),r>i&&(i=r));return e*=e,(n*=n)?Math.max(e*i*c/n,n/(e*a*c)):1/0}function d(t,e,r,i){var a,o=-1,s=t.length,l=r.x,c=r.y,u=e?n(t.area/e):0;if(e==r.dx){for((i||u>r.dy)&&(u=r.dy);++o<s;)(a=t[o]).x=l,a.y=c,a.dy=u,l+=a.dx=Math.min(r.x+r.dx-l,u?n(a.area/u):0);a.z=!0,a.dx+=r.x+r.dx-l,r.y+=u,r.dy-=u}else{for((i||u>r.dx)&&(u=r.dx);++o<s;)(a=t[o]).x=l,a.y=c,a.dx=u,c+=a.dy=Math.min(r.y+r.dy-c,u?n(a.area/u):0);a.z=!1,a.dy+=r.y+r.dy-c,r.x+=u,r.dx-=u}}function m(t){var n=e||r(t),a=n[0];return a.x=a.y=0,a.value?(a.dx=i[0],a.dy=i[1]):a.dx=a.dy=0,e&&r.revalue(a),u([a],a.dx*a.dy/a.value),(e?h:f)(a),s&&(e=n),n}return m.size=function(t){return arguments.length?(i=t,m):i},m.padding=function(t){if(!arguments.length)return a;function e(e){var r=t.call(m,e,e.depth);return null==r?In(e):On(e,\"number\"==typeof r?[r,r,r,r]:r)}function r(e){return On(e,t)}var n;return o=null==(a=t)?In:\"function\"==(n=typeof t)?e:\"number\"===n?(t=[t,t,t,t],r):r,m},m.round=function(t){return arguments.length?(n=t?Math.round:Number,m):n!=Number},m.sticky=function(t){return arguments.length?(s=t,e=null,m):s},m.ratio=function(t){return arguments.length?(c=t,m):c},m.mode=function(t){return arguments.length?(l=t+\"\",m):l},Kr(m,r)},t.random={normal:function(t,e){var r=arguments.length;return r<2&&(e=1),r<1&&(t=0),function(){var r,n,i;do{i=(r=2*Math.random()-1)*r+(n=2*Math.random()-1)*n}while(!i||i>1);return t+e*r*Math.sqrt(-2*Math.log(i)/i)}},logNormal:function(){var e=t.random.normal.apply(t,arguments);return function(){return Math.exp(e())}},bates:function(e){var r=t.random.irwinHall(e);return function(){return r()/e}},irwinHall:function(t){return function(){for(var e=0,r=0;r<t;r++)e+=Math.random();return e}}},t.scale={};var Nn={floor:C,ceil:C};function jn(e,r,n,i){var a=[],o=[],s=0,l=Math.min(e.length,r.length)-1;for(e[l]<e[0]&&(e=e.slice().reverse(),r=r.slice().reverse());++s<=l;)a.push(n(e[s-1],e[s])),o.push(i(r[s-1],r[s]));return function(r){var n=t.bisect(e,r,1,l)-1;return o[n](a[n](r))}}function Un(e,r){return t.rebind(e,r,\"range\",\"rangeRound\",\"interpolate\",\"clamp\")}function Vn(t,e){return Fn(t,Bn(Hn(t,e)[2])),Fn(t,Bn(Hn(t,e)[2])),t}function Hn(t,e){null==e&&(e=10);var r=zn(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(e,r){return t.range.apply(t,Hn(e,r))}t.scale.linear=function(){return function t(e,r,n,i){var a,o;function s(){var t=Math.min(e.length,r.length)>2?jn:Rn,s=i?Ur:jr;return a=t(e,r,s,n),o=t(r,e,s,yr),l}function l(t){return a(t)}return l.invert=function(t){return o(t)},l.domain=function(t){return arguments.length?(e=t.map(Number),s()):e},l.range=function(t){return arguments.length?(r=t,s()):r},l.rangeRound=function(t){return l.range(t).interpolate(Or)},l.clamp=function(t){return arguments.length?(i=t,s()):i},l.interpolate=function(t){return arguments.length?(n=t,s()):n},l.ticks=function(t){return qn(e,t)},l.tickFormat=function(t,r){return d3_scale_linearTickFormat(e,t,r)},l.nice=function(t){return Vn(e,t),s()},l.copy=function(){return t(e,r,n,i)},s()}([0,1],[0,1],yr,!1)};t.scale.log=function(){return function t(e,r,n,i){function a(t){return(n?Math.log(t<0?0:t):-Math.log(t>0?0:-t))/Math.log(r)}function o(t){return n?Math.pow(r,t):-Math.pow(r,-t)}function s(t){return e(a(t))}return s.invert=function(t){return o(e.invert(t))},s.domain=function(t){return arguments.length?(n=t[0]>=0,e.domain((i=t.map(Number)).map(a)),s):i},s.base=function(t){return arguments.length?(r=+t,e.domain(i.map(a)),s):r},s.nice=function(){var t=Fn(i.map(a),n?Math:Gn);return e.domain(t),i=t.map(o),s},s.ticks=function(){var t=zn(i),e=[],s=t[0],l=t[1],c=Math.floor(a(s)),u=Math.ceil(a(l)),f=r%1?2:r;if(isFinite(u-c)){if(n){for(;c<u;c++)for(var h=1;h<f;h++)e.push(o(c)*h);e.push(o(c))}else for(e.push(o(c));c++<u;)for(h=f-1;h>0;h--)e.push(o(c)*h);for(c=0;e[c]<s;c++);for(u=e.length;e[u-1]>l;u--);e=e.slice(c,u)}return e},s.copy=function(){return t(e.copy(),r,n,i)},Un(s,e)}(t.scale.linear().domain([0,1]),10,!0,[1,10])};var Gn={floor:function(t){return-Math.ceil(-t)},ceil:function(t){return-Math.floor(-t)}};function Yn(t){return function(e){return e<0?-Math.pow(-e,t):Math.pow(e,t)}}t.scale.pow=function(){return function t(e,r,n){var i=Yn(r),a=Yn(1/r);function o(t){return e(i(t))}return o.invert=function(t){return a(e.invert(t))},o.domain=function(t){return arguments.length?(e.domain((n=t.map(Number)).map(i)),o):n},o.ticks=function(t){return qn(n,t)},o.tickFormat=function(t,e){return d3_scale_linearTickFormat(n,t,e)},o.nice=function(t){return o.domain(Vn(n,t))},o.exponent=function(t){return arguments.length?(i=Yn(r=t),a=Yn(1/r),e.domain(n.map(i)),o):r},o.copy=function(){return t(e.copy(),r,n)},Un(o,e)}(t.scale.linear(),1,[0,1])},t.scale.sqrt=function(){return t.scale.pow().exponent(.5)},t.scale.ordinal=function(){return function e(r,n){var i,a,o;function s(t){return a[((i.get(t)||(\"range\"===n.t?i.set(t,r.push(t)):NaN))-1)%a.length]}function l(e,n){return t.range(r.length).map((function(t){return e+n*t}))}return s.domain=function(t){if(!arguments.length)return r;r=[],i=new _;for(var e,a=-1,o=t.length;++a<o;)i.has(e=t[a])||i.set(e,r.push(e));return s[n.t].apply(s,n.a)},s.range=function(t){return arguments.length?(a=t,o=0,n={t:\"range\",a:arguments},s):a},s.rangePoints=function(t,e){arguments.length<2&&(e=0);var i=t[0],c=t[1],u=r.length<2?(i=(i+c)/2,0):(c-i)/(r.length-1+e);return a=l(i+u*e/2,u),o=0,n={t:\"rangePoints\",a:arguments},s},s.rangeRoundPoints=function(t,e){arguments.length<2&&(e=0);var i=t[0],c=t[1],u=r.length<2?(i=c=Math.round((i+c)/2),0):(c-i)/(r.length-1+e)|0;return a=l(i+Math.round(u*e/2+(c-i-(r.length-1+e)*u)/2),u),o=0,n={t:\"rangeRoundPoints\",a:arguments},s},s.rangeBands=function(t,e,i){arguments.length<2&&(e=0),arguments.length<3&&(i=e);var c=t[1]<t[0],u=t[c-0],f=t[1-c],h=(f-u)/(r.length-e+2*i);return a=l(u+h*i,h),c&&a.reverse(),o=h*(1-e),n={t:\"rangeBands\",a:arguments},s},s.rangeRoundBands=function(t,e,i){arguments.length<2&&(e=0),arguments.length<3&&(i=e);var c=t[1]<t[0],u=t[c-0],f=t[1-c],h=Math.floor((f-u)/(r.length-e+2*i));return a=l(u+Math.round((f-u-(r.length-e)*h)/2),h),c&&a.reverse(),o=Math.round(h*(1-e)),n={t:\"rangeRoundBands\",a:arguments},s},s.rangeBand=function(){return o},s.rangeExtent=function(){return zn(n.a[0])},s.copy=function(){return e(r,n)},s.domain(r)}([],{t:\"range\",a:[[]]})},t.scale.category10=function(){return t.scale.ordinal().range(Wn)},t.scale.category20=function(){return t.scale.ordinal().range(Xn)},t.scale.category20b=function(){return t.scale.ordinal().range(Zn)},t.scale.category20c=function(){return t.scale.ordinal().range(Jn)};var Wn=[2062260,16744206,2924588,14034728,9725885,9197131,14907330,8355711,12369186,1556175].map(te),Xn=[2062260,11454440,16744206,16759672,2924588,10018698,14034728,16750742,9725885,12955861,9197131,12885140,14907330,16234194,8355711,13092807,12369186,14408589,1556175,10410725].map(te),Zn=[3750777,5395619,7040719,10264286,6519097,9216594,11915115,13556636,9202993,12426809,15186514,15190932,8666169,11356490,14049643,15177372,8077683,10834324,13528509,14589654].map(te),Jn=[3244733,7057110,10406625,13032431,15095053,16616764,16625259,16634018,3253076,7652470,10607003,13101504,7695281,10394312,12369372,14342891,6513507,9868950,12434877,14277081].map(te);function Kn(){return 0}t.scale.quantile=function(){return function e(r,n){var i;function a(){var e=0,a=n.length;for(i=[];++e<a;)i[e-1]=t.quantile(r,e/a);return o}function o(e){if(!isNaN(e=+e))return n[t.bisect(i,e)]}return o.domain=function(t){return arguments.length?(r=t.map(p).filter(d).sort(h),a()):r},o.range=function(t){return arguments.length?(n=t,a()):n},o.quantiles=function(){return i},o.invertExtent=function(t){return(t=n.indexOf(t))<0?[NaN,NaN]:[t>0?i[t-1]:r[0],t<i.length?i[t]:r[r.length-1]]},o.copy=function(){return e(r,n)},a()}([],[])},t.scale.quantize=function(){return function t(e,r,n){var i,a;function o(t){return n[Math.max(0,Math.min(a,Math.floor(i*(t-e))))]}function s(){return i=n.length/(r-e),a=n.length-1,o}return o.domain=function(t){return arguments.length?(e=+t[0],r=+t[t.length-1],s()):[e,r]},o.range=function(t){return arguments.length?(n=t,s()):n},o.invertExtent=function(t){return[t=(t=n.indexOf(t))<0?NaN:t/i+e,t+1/i]},o.copy=function(){return t(e,r,n)},s()}(0,1,[0,1])},t.scale.threshold=function(){return function e(r,n){function i(e){if(e<=e)return n[t.bisect(r,e)]}return i.domain=function(t){return arguments.length?(r=t,i):r},i.range=function(t){return arguments.length?(n=t,i):n},i.invertExtent=function(t){return t=n.indexOf(t),[r[t-1],r[t]]},i.copy=function(){return e(r,n)},i}([.5],[0,1])},t.scale.identity=function(){return function t(e){function r(t){return+t}return r.invert=r,r.domain=r.range=function(t){return arguments.length?(e=t.map(r),r):e},r.ticks=function(t){return qn(e,t)},r.tickFormat=function(t,r){return d3_scale_linearTickFormat(e,t,r)},r.copy=function(){return t(e)},r}([0,1])},t.svg={},t.svg.arc=function(){var t=$n,e=ti,r=Kn,n=Qn,i=ei,a=ri,o=ni;function s(){var s=Math.max(0,+t.apply(this,arguments)),c=Math.max(0,+e.apply(this,arguments)),u=i.apply(this,arguments)-Et,f=a.apply(this,arguments)-Et,h=Math.abs(f-u),p=u>f?0:1;if(c<s&&(d=c,c=s,s=d),h>=St)return l(c,p)+(s?l(s,1-p):\"\")+\"Z\";var d,m,g,v,y,x,b,_,w,T,k,A,M=0,S=0,E=[];if((v=(+o.apply(this,arguments)||0)/2)&&(g=n===Qn?Math.sqrt(s*s+c*c):+n.apply(this,arguments),p||(S*=-1),c&&(S=Pt(g/c*Math.sin(v))),s&&(M=Pt(g/s*Math.sin(v)))),c){y=c*Math.cos(u+S),x=c*Math.sin(u+S),b=c*Math.cos(f-S),_=c*Math.sin(f-S);var L=Math.abs(f-u-2*S)<=At?0:1;if(S&&ii(y,x,b,_)===p^L){var C=(u+f)/2;y=c*Math.cos(C),x=c*Math.sin(C),b=_=null}}else y=x=0;if(s){w=s*Math.cos(f-M),T=s*Math.sin(f-M),k=s*Math.cos(u+M),A=s*Math.sin(u+M);var P=Math.abs(u-f+2*M)<=At?0:1;if(M&&ii(w,T,k,A)===1-p^P){var I=(u+f)/2;w=s*Math.cos(I),T=s*Math.sin(I),k=A=null}}else w=T=0;if(h>kt&&(d=Math.min(Math.abs(c-s)/2,+r.apply(this,arguments)))>.001){m=s<c^p?0:1;var O=d,z=d;if(h<At){var D=null==k?[w,T]:null==b?[y,x]:Se([y,x],[k,A],[b,_],[w,T]),R=y-D[0],F=x-D[1],B=b-D[0],N=_-D[1],j=1/Math.sin(Math.acos((R*B+F*N)/(Math.sqrt(R*R+F*F)*Math.sqrt(B*B+N*N)))/2),U=Math.sqrt(D[0]*D[0]+D[1]*D[1]);z=Math.min(d,(s-U)/(j-1)),O=Math.min(d,(c-U)/(j+1))}if(null!=b){var V=ai(null==k?[w,T]:[k,A],[y,x],c,O,p),H=ai([b,_],[w,T],c,O,p);d===O?E.push(\"M\",V[0],\"A\",O,\",\",O,\" 0 0,\",m,\" \",V[1],\"A\",c,\",\",c,\" 0 \",1-p^ii(V[1][0],V[1][1],H[1][0],H[1][1]),\",\",p,\" \",H[1],\"A\",O,\",\",O,\" 0 0,\",m,\" \",H[0]):E.push(\"M\",V[0],\"A\",O,\",\",O,\" 0 1,\",m,\" \",H[0])}else E.push(\"M\",y,\",\",x);if(null!=k){var q=ai([y,x],[k,A],s,-z,p),G=ai([w,T],null==b?[y,x]:[b,_],s,-z,p);d===z?E.push(\"L\",G[0],\"A\",z,\",\",z,\" 0 0,\",m,\" \",G[1],\"A\",s,\",\",s,\" 0 \",p^ii(G[1][0],G[1][1],q[1][0],q[1][1]),\",\",1-p,\" \",q[1],\"A\",z,\",\",z,\" 0 0,\",m,\" \",q[0]):E.push(\"L\",G[0],\"A\",z,\",\",z,\" 0 0,\",m,\" \",q[0])}else E.push(\"L\",w,\",\",T)}else E.push(\"M\",y,\",\",x),null!=b&&E.push(\"A\",c,\",\",c,\" 0 \",L,\",\",p,\" \",b,\",\",_),E.push(\"L\",w,\",\",T),null!=k&&E.push(\"A\",s,\",\",s,\" 0 \",P,\",\",1-p,\" \",k,\",\",A);return E.push(\"Z\"),E.join(\"\")}function l(t,e){return\"M0,\"+t+\"A\"+t+\",\"+t+\" 0 1,\"+e+\" 0,\"+-t+\"A\"+t+\",\"+t+\" 0 1,\"+e+\" 0,\"+t}return s.innerRadius=function(e){return arguments.length?(t=ce(e),s):t},s.outerRadius=function(t){return arguments.length?(e=ce(t),s):e},s.cornerRadius=function(t){return arguments.length?(r=ce(t),s):r},s.padRadius=function(t){return arguments.length?(n=t==Qn?Qn:ce(t),s):n},s.startAngle=function(t){return arguments.length?(i=ce(t),s):i},s.endAngle=function(t){return arguments.length?(a=ce(t),s):a},s.padAngle=function(t){return arguments.length?(o=ce(t),s):o},s.centroid=function(){var r=(+t.apply(this,arguments)+ +e.apply(this,arguments))/2,n=(+i.apply(this,arguments)+ +a.apply(this,arguments))/2-Et;return[Math.cos(n)*r,Math.sin(n)*r]},s};var Qn=\"auto\";function $n(t){return t.innerRadius}function ti(t){return t.outerRadius}function ei(t){return t.startAngle}function ri(t){return t.endAngle}function ni(t){return t&&t.padAngle}function ii(t,e,r,n){return(t-r)*e-(e-n)*t>0?0:1}function ai(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,f=t[1]+c,h=e[0]+l,p=e[1]+c,d=(u+h)/2,m=(f+p)/2,g=h-u,v=p-f,y=g*g+v*v,x=r-n,b=u*p-h*f,_=(v<0?-1:1)*Math.sqrt(Math.max(0,x*x*y-b*b)),w=(b*v-g*_)/y,T=(-b*g-v*_)/y,k=(b*v+g*_)/y,A=(-b*g+v*_)/y,M=w-d,S=T-m,E=k-d,L=A-m;return M*M+S*S>E*E+L*L&&(w=k,T=A),[[w-l,T-c],[w*r/x,T*r/x]]}function oi(){return!0}function si(t){var e=_e,r=we,n=oi,i=ci,a=i.key,o=.7;function s(a){var s,l=[],c=[],u=-1,f=a.length,h=ce(e),p=ce(r);function d(){l.push(\"M\",i(t(c),o))}for(;++u<f;)n.call(this,s=a[u],u)?c.push([+h.call(this,s,u),+p.call(this,s,u)]):c.length&&(d(),c=[]);return c.length&&d(),l.length?l.join(\"\"):null}return s.x=function(t){return arguments.length?(e=t,s):e},s.y=function(t){return arguments.length?(r=t,s):r},s.defined=function(t){return arguments.length?(n=t,s):n},s.interpolate=function(t){return arguments.length?(a=\"function\"==typeof t?i=t:(i=li.get(t)||ci).key,s):a},s.tension=function(t){return arguments.length?(o=t,s):o},s}t.svg.line=function(){return si(C)};var li=t.map({linear:ci,\"linear-closed\":ui,step:function(t){var e=0,r=t.length,n=t[0],i=[n[0],\",\",n[1]];for(;++e<r;)i.push(\"H\",(n[0]+(n=t[e])[0])/2,\"V\",n[1]);r>1&&i.push(\"H\",n[0]);return i.join(\"\")},\"step-before\":fi,\"step-after\":hi,basis:mi,\"basis-open\":function(t){if(t.length<4)return ci(t);var e,r=[],n=-1,i=t.length,a=[0],o=[0];for(;++n<3;)e=t[n],a.push(e[0]),o.push(e[1]);r.push(gi(xi,a)+\",\"+gi(xi,o)),--n;for(;++n<i;)e=t[n],a.shift(),a.push(e[0]),o.shift(),o.push(e[1]),bi(r,a,o);return r.join(\"\")},\"basis-closed\":function(t){var e,r,n=-1,i=t.length,a=i+4,o=[],s=[];for(;++n<4;)r=t[n%i],o.push(r[0]),s.push(r[1]);e=[gi(xi,o),\",\",gi(xi,s)],--n;for(;++n<a;)r=t[n%i],o.shift(),o.push(r[0]),s.shift(),s.push(r[1]),bi(e,o,s);return e.join(\"\")},bundle:function(t,e){var r=t.length-1;if(r)for(var n,i,a=t[0][0],o=t[0][1],s=t[r][0]-a,l=t[r][1]-o,c=-1;++c<=r;)n=t[c],i=c/r,n[0]=e*n[0]+(1-e)*(a+i*s),n[1]=e*n[1]+(1-e)*(o+i*l);return mi(t)},cardinal:function(t,e){return t.length<3?ci(t):t[0]+pi(t,di(t,e))},\"cardinal-open\":function(t,e){return t.length<4?ci(t):t[1]+pi(t.slice(1,-1),di(t,e))},\"cardinal-closed\":function(t,e){return t.length<3?ui(t):t[0]+pi((t.push(t[0]),t),di([t[t.length-2]].concat(t,[t[1]]),e))},monotone:function(t){return t.length<3?ci(t):t[0]+pi(t,function(t){var e,r,n,i,a=[],o=function(t){var e=0,r=t.length-1,n=[],i=t[0],a=t[1],o=n[0]=_i(i,a);for(;++e<r;)n[e]=(o+(o=_i(i=a,a=t[e+1])))/2;return n[e]=o,n}(t),s=-1,l=t.length-1;for(;++s<l;)e=_i(t[s],t[s+1]),y(e)<kt?o[s]=o[s+1]=0:(r=o[s]/e,n=o[s+1]/e,(i=r*r+n*n)>9&&(i=3*e/Math.sqrt(i),o[s]=i*r,o[s+1]=i*n));s=-1;for(;++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 ci(t){return t.length>1?t.join(\"L\"):t+\"Z\"}function ui(t){return t.join(\"L\")+\"Z\"}function fi(t){for(var e=0,r=t.length,n=t[0],i=[n[0],\",\",n[1]];++e<r;)i.push(\"V\",(n=t[e])[1],\"H\",n[0]);return i.join(\"\")}function hi(t){for(var e=0,r=t.length,n=t[0],i=[n[0],\",\",n[1]];++e<r;)i.push(\"H\",(n=t[e])[0],\"V\",n[1]);return i.join(\"\")}function pi(t,e){if(e.length<1||t.length!=e.length&&t.length!=e.length+2)return ci(t);var r=t.length!=e.length,n=\"\",i=t[0],a=t[1],o=e[0],s=o,l=1;if(r&&(n+=\"Q\"+(a[0]-2*o[0]/3)+\",\"+(a[1]-2*o[1]/3)+\",\"+a[0]+\",\"+a[1],i=t[1],l=2),e.length>1){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;c<e.length;c++,l++)a=t[l],s=e[c],n+=\"S\"+(a[0]-s[0])+\",\"+(a[1]-s[1])+\",\"+a[0]+\",\"+a[1]}if(r){var u=t[l];n+=\"Q\"+(a[0]+2*s[0]/3)+\",\"+(a[1]+2*s[1]/3)+\",\"+u[0]+\",\"+u[1]}return n}function di(t,e){for(var r,n=[],i=(1-e)/2,a=t[0],o=t[1],s=1,l=t.length;++s<l;)r=a,a=o,o=t[s],n.push([i*(o[0]-r[0]),i*(o[1]-r[1])]);return n}function mi(t){if(t.length<3)return ci(t);var e=1,r=t.length,n=t[0],i=n[0],a=n[1],o=[i,i,i,(n=t[1])[0]],s=[a,a,a,n[1]],l=[i,\",\",a,\"L\",gi(xi,o),\",\",gi(xi,s)];for(t.push(t[r-1]);++e<=r;)n=t[e],o.shift(),o.push(n[0]),s.shift(),s.push(n[1]),bi(l,o,s);return t.pop(),l.push(\"L\",n),l.join(\"\")}function gi(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]}li.forEach((function(t,e){e.key=t,e.closed=/-closed$/.test(t)}));var vi=[0,2/3,1/3,0],yi=[0,1/3,2/3,0],xi=[0,1/6,2/3,1/6];function bi(t,e,r){t.push(\"C\",gi(vi,e),\",\",gi(vi,r),\",\",gi(yi,e),\",\",gi(yi,r),\",\",gi(xi,e),\",\",gi(xi,r))}function _i(t,e){return(e[1]-t[1])/(e[0]-t[0])}function wi(t){for(var e,r,n,i=-1,a=t.length;++i<a;)r=(e=t[i])[0],n=e[1]-Et,e[0]=r*Math.cos(n),e[1]=r*Math.sin(n);return t}function Ti(t){var e=_e,r=_e,n=0,i=we,a=oi,o=ci,s=o.key,l=o,c=\"L\",u=.7;function f(s){var f,h,p,d=[],m=[],g=[],v=-1,y=s.length,x=ce(e),b=ce(n),_=e===r?function(){return h}:ce(r),w=n===i?function(){return p}:ce(i);function T(){d.push(\"M\",o(t(g),u),c,l(t(m.reverse()),u),\"Z\")}for(;++v<y;)a.call(this,f=s[v],v)?(m.push([h=+x.call(this,f,v),p=+b.call(this,f,v)]),g.push([+_.call(this,f,v),+w.call(this,f,v)])):m.length&&(T(),m=[],g=[]);return m.length&&T(),d.length?d.join(\"\"):null}return f.x=function(t){return arguments.length?(e=r=t,f):r},f.x0=function(t){return arguments.length?(e=t,f):e},f.x1=function(t){return arguments.length?(r=t,f):r},f.y=function(t){return arguments.length?(n=i=t,f):i},f.y0=function(t){return arguments.length?(n=t,f):n},f.y1=function(t){return arguments.length?(i=t,f):i},f.defined=function(t){return arguments.length?(a=t,f):a},f.interpolate=function(t){return arguments.length?(s=\"function\"==typeof t?o=t:(o=li.get(t)||ci).key,l=o.reverse||o,c=o.closed?\"M\":\"L\",f):s},f.tension=function(t){return arguments.length?(u=t,f):u},f}function ki(t){return t.source}function Ai(t){return t.target}function Mi(t){return t.radius}function Si(t){return[t.x,t.y]}function Ei(t){return function(){var e=t.apply(this,arguments),r=e[0],n=e[1]-Et;return[r*Math.cos(n),r*Math.sin(n)]}}function Li(){return 64}function Ci(){return\"circle\"}function Pi(t){var e=Math.sqrt(t/At);return\"M0,\"+e+\"A\"+e+\",\"+e+\" 0 1,1 0,\"+-e+\"A\"+e+\",\"+e+\" 0 1,1 0,\"+e+\"Z\"}t.svg.line.radial=function(){var t=si(wi);return t.radius=t.x,delete t.x,t.angle=t.y,delete t.y,t},fi.reverse=hi,hi.reverse=fi,t.svg.area=function(){return Ti(C)},t.svg.area.radial=function(){var t=Ti(wi);return t.radius=t.x,delete t.x,t.innerRadius=t.x0,delete t.x0,t.outerRadius=t.x1,delete t.x1,t.angle=t.y,delete t.y,t.startAngle=t.y0,delete t.y0,t.endAngle=t.y1,delete t.y1,t},t.svg.chord=function(){var t=ki,e=Ai,r=Mi,n=ei,i=ri;function a(r,n){var i,a,c=o(this,t,r,n),u=o(this,e,r,n);return\"M\"+c.p0+s(c.r,c.p1,c.a1-c.a0)+(a=u,((i=c).a0==a.a0&&i.a1==a.a1?l(c.r,c.p1,c.r,c.p0):l(c.r,c.p1,u.r,u.p0)+s(u.r,u.p1,u.a1-u.a0)+l(u.r,u.p1,c.r,c.p0))+\"Z\")}function o(t,e,a,o){var s=e.call(t,a,o),l=r.call(t,s,o),c=n.call(t,s,o)-Et,u=i.call(t,s,o)-Et;return{r:l,a0:c,a1:u,p0:[l*Math.cos(c),l*Math.sin(c)],p1:[l*Math.cos(u),l*Math.sin(u)]}}function s(t,e,r){return\"A\"+t+\",\"+t+\" 0 \"+ +(r>At)+\",1 \"+e}function l(t,e,r,n){return\"Q 0,0 \"+n}return a.radius=function(t){return arguments.length?(r=ce(t),a):r},a.source=function(e){return arguments.length?(t=ce(e),a):t},a.target=function(t){return arguments.length?(e=ce(t),a):e},a.startAngle=function(t){return arguments.length?(n=ce(t),a):n},a.endAngle=function(t){return arguments.length?(i=ce(t),a):i},a},t.svg.diagonal=function(){var t=ki,e=Ai,r=Si;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=ce(e),n):t},n.target=function(t){return arguments.length?(e=ce(t),n):e},n.projection=function(t){return arguments.length?(r=t,n):r},n},t.svg.diagonal.radial=function(){var e=t.svg.diagonal(),r=Si,n=e.projection;return e.projection=function(t){return arguments.length?n(Ei(r=t)):r},e},t.svg.symbol=function(){var t=Ci,e=Li;function r(r,n){return(Ii.get(t.call(this,r,n))||Pi)(e.call(this,r,n))}return r.type=function(e){return arguments.length?(t=ce(e),r):t},r.size=function(t){return arguments.length?(e=ce(t),r):e},r};var Ii=t.map({circle:Pi,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/Oi),r=e*Oi/2;return\"M0,\"+r+\"L\"+e+\",\"+-r+\" \"+-e+\",\"+-r+\"Z\"},\"triangle-up\":function(t){var e=Math.sqrt(t/Oi),r=e*Oi/2;return\"M0,\"+-r+\"L\"+e+\",\"+r+\" \"+-e+\",\"+r+\"Z\"}});t.svg.symbolTypes=Ii.keys();var Oi=Math.sqrt(3),zi=Math.tan(30*Lt);Y.transition=function(t){for(var e,r,n=Bi||++Ui,i=qi(t),a=[],o=Ni||{time:Date.now(),ease:Er,delay:0,duration:250},s=-1,l=this.length;++s<l;){a.push(e=[]);for(var c=this[s],u=-1,f=c.length;++u<f;)(r=c[u])&&Gi(r,u,i,n,o),e.push(r)}return Fi(a,i,n)},Y.interrupt=function(t){return this.each(null==t?Di:Ri(qi(t)))};var Di=Ri(qi());function Ri(t){return function(){var e,r,n;(e=this[t])&&(n=e[r=e.active])&&(n.timer.c=null,n.timer.t=NaN,--e.count?delete e[r]:delete this[t],e.active+=.5,n.event&&n.event.interrupt.call(this,this.__data__,n.index))}}function Fi(t,e,r){return U(t,ji),t.namespace=e,t.id=r,t}var Bi,Ni,ji=[],Ui=0;function Vi(t,e,r,n){var i=t.id,a=t.namespace;return ut(t,\"function\"==typeof r?function(t,o,s){t[a][i].tween.set(e,n(r.call(t,t.__data__,o,s)))}:(r=n(r),function(t){t[a][i].tween.set(e,r)}))}function Hi(t){return null==t&&(t=\"\"),function(){this.textContent=t}}function qi(t){return null==t?\"__transition__\":\"__transition_\"+t+\"__\"}function Gi(t,e,r,n,i){var a,o,s,l,c,u=t[r]||(t[r]={active:0,count:0}),f=u[n];function h(r){var i=u.active,h=u[i];for(var d in h&&(h.timer.c=null,h.timer.t=NaN,--u.count,delete u[i],h.event&&h.event.interrupt.call(t,t.__data__,h.index)),u)if(+d<n){var m=u[d];m.timer.c=null,m.timer.t=NaN,--u.count,delete u[d]}o.c=p,ve((function(){return o.c&&p(r||1)&&(o.c=null,o.t=NaN),1}),0,a),u.active=n,f.event&&f.event.start.call(t,t.__data__,e),c=[],f.tween.forEach((function(r,n){(n=n.call(t,t.__data__,e))&&c.push(n)})),l=f.ease,s=f.duration}function p(i){for(var a=i/s,o=l(a),h=c.length;h>0;)c[--h].call(t,o);if(a>=1)return f.event&&f.event.end.call(t,t.__data__,e),--u.count?delete u[n]:delete t[r],1}f||(a=i.time,o=ve((function(t){var e=f.delay;if(o.t=e+a,e<=t)return h(t-e);o.c=h}),0,a),f=u[n]={tween:new _,time:a,timer:o,delay:i.delay,duration:i.duration,ease:i.ease,index:e},i=null,++u.count)}ji.call=Y.call,ji.empty=Y.empty,ji.node=Y.node,ji.size=Y.size,t.transition=function(e,r){return e&&e.transition?Bi?e.transition(r):e:t.selection().transition(e)},t.transition.prototype=ji,ji.select=function(t){var e,r,n,i=this.id,a=this.namespace,o=[];t=W(t);for(var s=-1,l=this.length;++s<l;){o.push(e=[]);for(var c=this[s],u=-1,f=c.length;++u<f;)(n=c[u])&&(r=t.call(n,n.__data__,u,s))?(\"__data__\"in n&&(r.__data__=n.__data__),Gi(r,u,a,i,n[a][i]),e.push(r)):e.push(null)}return Fi(o,a,i)},ji.selectAll=function(t){var e,r,n,i,a,o=this.id,s=this.namespace,l=[];t=X(t);for(var c=-1,u=this.length;++c<u;)for(var f=this[c],h=-1,p=f.length;++h<p;)if(n=f[h]){a=n[s][o],r=t.call(n,n.__data__,h,c),l.push(e=[]);for(var d=-1,m=r.length;++d<m;)(i=r[d])&&Gi(i,d,s,o,a),e.push(i)}return Fi(l,s,o)},ji.filter=function(t){var e,r,n=[];\"function\"!=typeof t&&(t=lt(t));for(var i=0,a=this.length;i<a;i++){n.push(e=[]);for(var o,s=0,l=(o=this[i]).length;s<l;s++)(r=o[s])&&t.call(r,r.__data__,s,i)&&e.push(r)}return Fi(n,this.namespace,this.id)},ji.tween=function(t,e){var r=this.id,n=this.namespace;return arguments.length<2?this.node()[n][r].tween.get(t):ut(this,null==e?function(e){e[n][r].tween.remove(t)}:function(i){i[n][r].tween.set(t,e)})},ji.attr=function(e,r){if(arguments.length<2){for(r in e)this.attr(r,e[r]);return this}var n=\"transform\"==e?Nr:yr,i=t.ns.qualify(e);function a(){this.removeAttribute(i)}function o(){this.removeAttributeNS(i.space,i.local)}function s(t){return null==t?a:(t+=\"\",function(){var e,r=this.getAttribute(i);return r!==t&&(e=n(r,t),function(t){this.setAttribute(i,e(t))})})}function l(t){return null==t?o:(t+=\"\",function(){var e,r=this.getAttributeNS(i.space,i.local);return r!==t&&(e=n(r,t),function(t){this.setAttributeNS(i.space,i.local,e(t))})})}return Vi(this,\"attr.\"+e,r,i.local?l:s)},ji.attrTween=function(e,r){var n=t.ns.qualify(e);return this.tween(\"attr.\"+e,n.local?function(t,e){var i=r.call(this,t,e,this.getAttributeNS(n.space,n.local));return i&&function(t){this.setAttributeNS(n.space,n.local,i(t))}}:function(t,e){var i=r.call(this,t,e,this.getAttribute(n));return i&&function(t){this.setAttribute(n,i(t))}})},ji.style=function(t,e,r){var n=arguments.length;if(n<3){if(\"string\"!=typeof t){for(r in n<2&&(e=\"\"),t)this.style(r,t[r],e);return this}r=\"\"}function i(){this.style.removeProperty(t)}function a(e){return null==e?i:(e+=\"\",function(){var n,i=o(this).getComputedStyle(this,null).getPropertyValue(t);return i!==e&&(n=yr(i,e),function(e){this.style.setProperty(t,n(e),r)})})}return Vi(this,\"style.\"+t,e,a)},ji.styleTween=function(t,e,r){function n(n,i){var a=e.call(this,n,i,o(this).getComputedStyle(this,null).getPropertyValue(t));return a&&function(e){this.style.setProperty(t,a(e),r)}}return arguments.length<3&&(r=\"\"),this.tween(\"style.\"+t,n)},ji.text=function(t){return Vi(this,\"text\",t,Hi)},ji.remove=function(){var t=this.namespace;return this.each(\"end.transition\",(function(){var e;this[t].count<2&&(e=this.parentNode)&&e.removeChild(this)}))},ji.ease=function(e){var r=this.id,n=this.namespace;return arguments.length<1?this.node()[n][r].ease:(\"function\"!=typeof e&&(e=t.ease.apply(t,arguments)),ut(this,(function(t){t[n][r].ease=e})))},ji.delay=function(t){var e=this.id,r=this.namespace;return arguments.length<1?this.node()[r][e].delay:ut(this,\"function\"==typeof t?function(n,i,a){n[r][e].delay=+t.call(n,n.__data__,i,a)}:(t=+t,function(n){n[r][e].delay=t}))},ji.duration=function(t){var e=this.id,r=this.namespace;return arguments.length<1?this.node()[r][e].duration:ut(this,\"function\"==typeof t?function(n,i,a){n[r][e].duration=Math.max(1,t.call(n,n.__data__,i,a))}:(t=Math.max(1,t),function(n){n[r][e].duration=t}))},ji.each=function(e,r){var n=this.id,i=this.namespace;if(arguments.length<2){var a=Ni,o=Bi;try{Bi=n,ut(this,(function(t,r,a){Ni=t[i][n],e.call(t,t.__data__,r,a)}))}finally{Ni=a,Bi=o}}else ut(this,(function(a){var o=a[i][n];(o.event||(o.event=t.dispatch(\"start\",\"end\",\"interrupt\"))).on(e,r)}));return this},ji.transition=function(){for(var t,e,r,n=this.id,i=++Ui,a=this.namespace,o=[],s=0,l=this.length;s<l;s++){o.push(t=[]);for(var c,u=0,f=(c=this[s]).length;u<f;u++)(e=c[u])&&Gi(e,u,a,i,{time:(r=e[a][n]).time,ease:r.ease,delay:r.delay+r.duration,duration:r.duration}),t.push(e)}return Fi(o,a,i)},t.svg.axis=function(){var e,r=t.scale.linear(),i=Yi,a=6,o=6,s=3,l=[10],c=null;function u(n){n.each((function(){var n,u=t.select(this),f=this.__chart__||r,h=this.__chart__=r.copy(),p=null==c?h.ticks?h.ticks.apply(h,l):h.domain():c,d=null==e?h.tickFormat?h.tickFormat.apply(h,l):C:e,m=u.selectAll(\".tick\").data(p,h),g=m.enter().insert(\"g\",\".domain\").attr(\"class\",\"tick\").style(\"opacity\",kt),v=t.transition(m.exit()).style(\"opacity\",kt).remove(),y=t.transition(m.order()).style(\"opacity\",1),x=Math.max(a,0)+s,b=Dn(h),_=u.selectAll(\".domain\").data([0]),w=(_.enter().append(\"path\").attr(\"class\",\"domain\"),t.transition(_));g.append(\"line\"),g.append(\"text\");var T,k,A,M,S=g.select(\"line\"),E=y.select(\"line\"),L=m.select(\"text\").text(d),P=g.select(\"text\"),I=y.select(\"text\"),O=\"top\"===i||\"left\"===i?-1:1;if(\"bottom\"===i||\"top\"===i?(n=Xi,T=\"x\",A=\"y\",k=\"x2\",M=\"y2\",L.attr(\"dy\",O<0?\"0em\":\".71em\").style(\"text-anchor\",\"middle\"),w.attr(\"d\",\"M\"+b[0]+\",\"+O*o+\"V0H\"+b[1]+\"V\"+O*o)):(n=Zi,T=\"y\",A=\"x\",k=\"y2\",M=\"x2\",L.attr(\"dy\",\".32em\").style(\"text-anchor\",O<0?\"end\":\"start\"),w.attr(\"d\",\"M\"+O*o+\",\"+b[0]+\"H0V\"+b[1]+\"H\"+O*o)),S.attr(M,O*a),P.attr(A,O*x),E.attr(k,0).attr(M,O*a),I.attr(T,0).attr(A,O*x),h.rangeBand){var z=h,D=z.rangeBand()/2;f=h=function(t){return z(t)+D}}else f.rangeBand?f=h:v.call(n,h,f);g.call(n,f,h),y.call(n,h,h)}))}return u.scale=function(t){return arguments.length?(r=t,u):r},u.orient=function(t){return arguments.length?(i=t in Wi?t+\"\":Yi,u):i},u.ticks=function(){return arguments.length?(l=n(arguments),u):l},u.tickValues=function(t){return arguments.length?(c=t,u):c},u.tickFormat=function(t){return arguments.length?(e=t,u):e},u.tickSize=function(t){var e=arguments.length;return e?(a=+t,o=+arguments[e-1],u):a},u.innerTickSize=function(t){return arguments.length?(a=+t,u):a},u.outerTickSize=function(t){return arguments.length?(o=+t,u):o},u.tickPadding=function(t){return arguments.length?(s=+t,u):s},u.tickSubdivide=function(){return arguments.length&&u},u};var Yi=\"bottom\",Wi={top:1,right:1,bottom:1,left:1};function Xi(t,e,r){t.attr(\"transform\",(function(t){var n=e(t);return\"translate(\"+(isFinite(n)?n:r(t))+\",0)\"}))}function Zi(t,e,r){t.attr(\"transform\",(function(t){var n=e(t);return\"translate(0,\"+(isFinite(n)?n:r(t))+\")\"}))}t.svg.brush=function(){var e,r,n=N(h,\"brushstart\",\"brush\",\"brushend\"),i=null,a=null,s=[0,0],l=[0,0],c=!0,u=!0,f=Ki[0];function h(e){e.each((function(){var e=t.select(this).style(\"pointer-events\",\"all\").style(\"-webkit-tap-highlight-color\",\"rgba(0,0,0,0)\").on(\"mousedown.brush\",g).on(\"touchstart.brush\",g),r=e.selectAll(\".background\").data([0]);r.enter().append(\"rect\").attr(\"class\",\"background\").style(\"visibility\",\"hidden\").style(\"cursor\",\"crosshair\"),e.selectAll(\".extent\").data([0]).enter().append(\"rect\").attr(\"class\",\"extent\").style(\"cursor\",\"move\");var n=e.selectAll(\".resize\").data(f,C);n.exit().remove(),n.enter().append(\"g\").attr(\"class\",(function(t){return\"resize \"+t})).style(\"cursor\",(function(t){return Ji[t]})).append(\"rect\").attr(\"x\",(function(t){return/[ew]$/.test(t)?-3:null})).attr(\"y\",(function(t){return/^[ns]/.test(t)?-3:null})).attr(\"width\",6).attr(\"height\",6).style(\"visibility\",\"hidden\"),n.style(\"display\",h.empty()?\"none\":null);var o,s=t.transition(e),l=t.transition(r);i&&(o=Dn(i),l.attr(\"x\",o[0]).attr(\"width\",o[1]-o[0]),d(s)),a&&(o=Dn(a),l.attr(\"y\",o[0]).attr(\"height\",o[1]-o[0]),m(s)),p(s)}))}function p(t){t.selectAll(\".resize\").attr(\"transform\",(function(t){return\"translate(\"+s[+/e$/.test(t)]+\",\"+l[+/^s/.test(t)]+\")\"}))}function d(t){t.select(\".extent\").attr(\"x\",s[0]),t.selectAll(\".extent,.n>rect,.s>rect\").attr(\"width\",s[1]-s[0])}function m(t){t.select(\".extent\").attr(\"y\",l[0]),t.selectAll(\".extent,.e>rect,.w>rect\").attr(\"height\",l[1]-l[0])}function g(){var f,g,v=this,y=t.select(t.event.target),x=n.of(v,arguments),b=t.select(v),_=y.datum(),w=!/^(n|s)$/.test(_)&&i,T=!/^(e|w)$/.test(_)&&a,k=y.classed(\"extent\"),A=bt(v),M=t.mouse(v),S=t.select(o(v)).on(\"keydown.brush\",C).on(\"keyup.brush\",P);if(t.event.changedTouches?S.on(\"touchmove.brush\",I).on(\"touchend.brush\",z):S.on(\"mousemove.brush\",I).on(\"mouseup.brush\",z),b.interrupt().selectAll(\"*\").interrupt(),k)M[0]=s[0]-M[0],M[1]=l[0]-M[1];else if(_){var E=+/w$/.test(_),L=+/^n/.test(_);g=[s[1-E]-M[0],l[1-L]-M[1]],M[0]=s[E],M[1]=l[L]}else t.event.altKey&&(f=M.slice());function C(){32==t.event.keyCode&&(k||(f=null,M[0]-=s[1],M[1]-=l[1],k=2),F())}function P(){32==t.event.keyCode&&2==k&&(M[0]+=s[1],M[1]+=l[1],k=0,F())}function I(){var e=t.mouse(v),r=!1;g&&(e[0]+=g[0],e[1]+=g[1]),k||(t.event.altKey?(f||(f=[(s[0]+s[1])/2,(l[0]+l[1])/2]),M[0]=s[+(e[0]<f[0])],M[1]=l[+(e[1]<f[1])]):f=null),w&&O(e,i,0)&&(d(b),r=!0),T&&O(e,a,1)&&(m(b),r=!0),r&&(p(b),x({type:\"brush\",mode:k?\"move\":\"resize\"}))}function O(t,n,i){var a,o,h=Dn(n),p=h[0],d=h[1],m=M[i],g=i?l:s,v=g[1]-g[0];if(k&&(p-=m,d-=v+m),a=(i?u:c)?Math.max(p,Math.min(d,t[i])):t[i],k?o=(a+=m)+v:(f&&(m=Math.max(p,Math.min(d,2*f[i]-a))),m<a?(o=a,a=m):o=m),g[0]!=a||g[1]!=o)return i?r=null:e=null,g[0]=a,g[1]=o,!0}function z(){I(),b.style(\"pointer-events\",\"all\").selectAll(\".resize\").style(\"display\",h.empty()?\"none\":null),t.select(\"body\").style(\"cursor\",null),S.on(\"mousemove.brush\",null).on(\"mouseup.brush\",null).on(\"touchmove.brush\",null).on(\"touchend.brush\",null).on(\"keydown.brush\",null).on(\"keyup.brush\",null),A(),x({type:\"brushend\"})}b.style(\"pointer-events\",\"none\").selectAll(\".resize\").style(\"display\",null),t.select(\"body\").style(\"cursor\",y.style(\"cursor\")),x({type:\"brushstart\"}),I()}return h.event=function(i){i.each((function(){var i=n.of(this,arguments),a={x:s,y:l,i:e,j:r},o=this.__chart__||a;this.__chart__=a,Bi?t.select(this).transition().each(\"start.brush\",(function(){e=o.i,r=o.j,s=o.x,l=o.y,i({type:\"brushstart\"})})).tween(\"brush:brush\",(function(){var t=xr(s,a.x),n=xr(l,a.y);return e=r=null,function(e){s=a.x=t(e),l=a.y=n(e),i({type:\"brush\",mode:\"resize\"})}})).each(\"end.brush\",(function(){e=a.i,r=a.j,i({type:\"brush\",mode:\"resize\"}),i({type:\"brushend\"})})):(i({type:\"brushstart\"}),i({type:\"brush\",mode:\"resize\"}),i({type:\"brushend\"}))}))},h.x=function(t){return arguments.length?(f=Ki[!(i=t)<<1|!a],h):i},h.y=function(t){return arguments.length?(f=Ki[!i<<1|!(a=t)],h):a},h.clamp=function(t){return arguments.length?(i&&a?(c=!!t[0],u=!!t[1]):i?c=!!t:a&&(u=!!t),h):i&&a?[c,u]:i?c:a?u:null},h.extent=function(t){var n,o,c,u,f;return arguments.length?(i&&(n=t[0],o=t[1],a&&(n=n[0],o=o[0]),e=[n,o],i.invert&&(n=i(n),o=i(o)),o<n&&(f=n,n=o,o=f),n==s[0]&&o==s[1]||(s=[n,o])),a&&(c=t[0],u=t[1],i&&(c=c[1],u=u[1]),r=[c,u],a.invert&&(c=a(c),u=a(u)),u<c&&(f=c,c=u,u=f),c==l[0]&&u==l[1]||(l=[c,u])),h):(i&&(e?(n=e[0],o=e[1]):(n=s[0],o=s[1],i.invert&&(n=i.invert(n),o=i.invert(o)),o<n&&(f=n,n=o,o=f))),a&&(r?(c=r[0],u=r[1]):(c=l[0],u=l[1],a.invert&&(c=a.invert(c),u=a.invert(u)),u<c&&(f=c,c=u,u=f))),i&&a?[[n,c],[o,u]]:i?[n,o]:a&&[c,u])},h.clear=function(){return h.empty()||(s=[0,0],l=[0,0],e=r=null),h},h.empty=function(){return!!i&&s[0]==s[1]||!!a&&l[0]==l[1]},t.rebind(h,n,\"on\")};var Ji={n:\"ns-resize\",e:\"ew-resize\",s:\"ns-resize\",w:\"ew-resize\",nw:\"nwse-resize\",ne:\"nesw-resize\",se:\"nwse-resize\",sw:\"nesw-resize\"},Ki=[[\"n\",\"e\",\"s\",\"w\",\"nw\",\"ne\",\"se\",\"sw\"],[\"e\",\"w\"],[\"n\",\"s\"],[]];function Qi(t){return JSON.parse(t.responseText)}function $i(t){var e=i.createRange();return e.selectNode(i.body),e.createContextualFragment(t.responseText)}t.text=ue((function(t){return t.responseText})),t.json=function(t,e){return fe(t,\"application/json\",Qi,e)},t.html=function(t,e){return fe(t,\"text/html\",$i,e)},t.xml=ue((function(t){return t.responseXML})),\"object\"==typeof e&&e.exports?e.exports=t:this.d3=t}).apply(self)},{}],59:[function(t,e,r){\"use strict\";e.exports=t(\"./quad\")},{\"./quad\":60}],60:[function(t,e,r){\"use strict\";var n=t(\"binary-search-bounds\"),i=t(\"clamp\"),a=t(\"parse-rect\"),o=t(\"array-bounds\"),s=t(\"pick-by-alias\"),l=t(\"defined\"),c=t(\"flatten-vertex-data\"),u=t(\"is-obj\"),f=t(\"dtype\"),h=t(\"math-log2\");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<c;l++)s[2*l]=i((t[2*l]-r)*a,0,1),s[2*l+1]=i((t[2*l+1]-n)*o,0,1);return s}e.exports=function(t,e){e||(e={}),t=c(t,\"float64\"),e=s(e,{bounds:\"range bounds dataBox databox\",maxDepth:\"depth maxDepth maxdepth level maxLevel maxlevel levels\",dtype:\"type dtype format out dst output destination\"});var r=l(e.maxDepth,255),i=l(e.bounds,o(t,2));i[0]===i[2]&&i[2]++,i[1]===i[3]&&i[3]++;var d,m=p(t,i),g=t.length>>>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 v=0;v<g;++v)d[v]=v;var y=[],x=[],b=[],_=[];!function t(e,n,i,a,o,s){if(!a.length)return null;var l=y[o]||(y[o]=[]),c=b[o]||(b[o]=[]),u=x[o]||(x[o]=[]),f=l.length;if(++o>r||s>1073741824){for(var h=0;h<a.length;h++)l.push(a[h]),c.push(s),u.push(null,null,null,null);return f}if(l.push(a[0]),c.push(s),a.length<=1)return u.push(null,null,null,null),f;for(var p=.5*i,d=e+p,g=n+p,v=[],_=[],w=[],T=[],k=1,A=a.length;k<A;k++){var M=a[k],S=m[2*M],E=m[2*M+1];S<d?E<g?v.push(M):_.push(M):E<g?w.push(M):T.push(M)}return s<<=2,u.push(t(e,n,p,v,o,s),t(e,g,p,_,o,s+1),t(d,n,p,w,o,s+2),t(d,g,p,T,o,s+3)),f}(0,0,1,d,0,1);for(var w=0,T=0;T<y.length;T++){var k=y[T];if(d.set)d.set(k,w);else for(var A=0,M=k.length;A<M;A++)d[A+w]=k[A];var S=w+y[T].length;_[T]=[w,S],w=S}return d.range=function(){var e,r=[],n=arguments.length;for(;n--;)r[n]=arguments[n];if(u(r[r.length-1])){var o=r.pop();r.length||null==o.x&&null==o.l&&null==o.left||(r=[o],e={}),e=s(o,{level:\"level maxLevel\",d:\"d diam diameter r radius px pxSize pixel pixelSize maxD size minSize\",lod:\"lod details ranges offsets\"})}else e={};r.length||(r=i);var c=a.apply(void 0,r),f=[Math.min(c.x,c.x+c.width),Math.min(c.y,c.y+c.height),Math.max(c.x,c.x+c.width),Math.max(c.y,c.y+c.height)],d=f[0],m=f[1],g=f[2],v=f[3],b=p([d,m,g,v],i),_=b[0],w=b[1],T=b[2],k=b[3],A=l(e.level,y.length);if(null!=e.d){var M;\"number\"==typeof e.d?M=[e.d,e.d]:e.d.length&&(M=e.d),A=Math.min(Math.max(Math.ceil(-h(Math.abs(M[0])/(i[2]-i[0]))),Math.ceil(-h(Math.abs(M[1])/(i[3]-i[1])))),A)}if(A=Math.min(A,y.length),e.lod)return E(_,w,T,k,A);var S=[];function L(e,r,n,i,a,o){if(null!==a&&null!==o&&!(_>e+n||w>r+n||T<e||k<r||i>=A||a===o)){var s=y[i];void 0===o&&(o=s.length);for(var l=a;l<o;l++){var c=s[l],u=t[2*c],f=t[2*c+1];u>=d&&u<=g&&f>=m&&f<=v&&S.push(c)}var h=x[i],p=h[4*a+0],b=h[4*a+1],M=h[4*a+2],E=h[4*a+3],P=C(h,a+1),I=.5*n,O=i+1;L(e,r,I,O,p,b||M||E||P),L(e,r+I,I,O,b,M||E||P),L(e+I,r,I,O,M,E||P),L(e+I,r+I,I,O,E,P)}}function C(t,e){for(var r=null,n=0;null===r;)if(r=t[4*e+n],++n>t.length)return null;return r}return L(0,0,1,0,0,1),S},d;function E(t,e,r,i,a){for(var o=[],s=0;s<a;s++){var l=b[s],c=_[s][0],u=L(t,e,s),f=L(r,i,s),h=n.ge(l,u),p=n.gt(l,f,h,l.length-1);o[s]=[h+c,p+c]}return o}function L(t,e,r){for(var n=1,i=.5,a=.5,o=.5,s=0;s<r;s++)n<<=2,n+=t<i?e<a?0:1:e<a?2:3,o*=.5,i+=t<i?-o:o,a+=e<a?-o:o;return n}}},{\"array-bounds\":71,\"binary-search-bounds\":80,clamp:86,defined:124,dtype:127,\"flatten-vertex-data\":191,\"is-obj\":235,\"math-log2\":240,\"parse-rect\":249,\"pick-by-alias\":253}],61:[function(t,e,r){\"use strict\";Object.defineProperty(r,\"__esModule\",{value:!0});var n=t(\"@turf/meta\");function i(t){var e=0;if(t&&t.length>0){e+=Math.abs(a(t[0]));for(var r=1;r<t.length;r++)e-=Math.abs(a(t[r]))}return e}function a(t){var e,r,n,i,a,s,l=0,c=t.length;if(c>2){for(s=0;s<c;s++)s===c-2?(n=c-2,i=c-1,a=0):s===c-1?(n=c-1,i=0,a=1):(n=s,i=s+1,a=s+2),e=t[n],r=t[i],l+=(o(t[a][0])-o(e[0]))*Math.sin(o(r[1]));l=6378137*l*6378137/2}return l}function o(t){return t*Math.PI/180}r.default=function(t){return n.geomReduce(t,(function(t,e){return t+function(t){var e,r=0;switch(t.type){case\"Polygon\":return i(t.coordinates);case\"MultiPolygon\":for(e=0;e<t.coordinates.length;e++)r+=i(t.coordinates[e]);return r;case\"Point\":case\"MultiPoint\":case\"LineString\":case\"MultiLineString\":return 0}return 0}(e)}),0)}},{\"@turf/meta\":63}],62:[function(t,e,r){\"use strict\";function n(t,e,r){void 0===r&&(r={});var n={type:\"Feature\"};return(0===r.id||r.id)&&(n.id=r.id),r.bbox&&(n.bbox=r.bbox),n.properties=e||{},n.geometry=t,n}function i(t,e,r){if(void 0===r&&(r={}),!t)throw new Error(\"coordinates is required\");if(!Array.isArray(t))throw new Error(\"coordinates must be an Array\");if(t.length<2)throw new Error(\"coordinates must be at least 2 numbers long\");if(!d(t[0])||!d(t[1]))throw new Error(\"coordinates must contain numbers\");return n({type:\"Point\",coordinates:t},e,r)}function a(t,e,r){void 0===r&&(r={});for(var i=0,a=t;i<a.length;i++){var o=a[i];if(o.length<4)throw new Error(\"Each LinearRing of a Polygon must have 4 or more Positions.\");for(var s=0;s<o[o.length-1].length;s++)if(o[o.length-1][s]!==o[0][s])throw new Error(\"First and last Position are not equivalent.\")}return n({type:\"Polygon\",coordinates:t},e,r)}function o(t,e,r){if(void 0===r&&(r={}),t.length<2)throw new Error(\"coordinates must be an array of two or more positions\");return n({type:\"LineString\",coordinates:t},e,r)}function s(t,e){void 0===e&&(e={});var r={type:\"FeatureCollection\"};return e.id&&(r.id=e.id),e.bbox&&(r.bbox=e.bbox),r.features=t,r}function l(t,e,r){return void 0===r&&(r={}),n({type:\"MultiLineString\",coordinates:t},e,r)}function c(t,e,r){return void 0===r&&(r={}),n({type:\"MultiPoint\",coordinates:t},e,r)}function u(t,e,r){return void 0===r&&(r={}),n({type:\"MultiPolygon\",coordinates:t},e,r)}function f(t,e){void 0===e&&(e=\"kilometers\");var n=r.factors[e];if(!n)throw new Error(e+\" units is invalid\");return t*n}function h(t,e){void 0===e&&(e=\"kilometers\");var n=r.factors[e];if(!n)throw new Error(e+\" units is invalid\");return t/n}function p(t){return 180*(t%(2*Math.PI))/Math.PI}function d(t){return!isNaN(t)&&null!==t&&!Array.isArray(t)}Object.defineProperty(r,\"__esModule\",{value:!0}),r.earthRadius=6371008.8,r.factors={centimeters:100*r.earthRadius,centimetres:100*r.earthRadius,degrees:r.earthRadius/111325,feet:3.28084*r.earthRadius,inches:39.37*r.earthRadius,kilometers:r.earthRadius/1e3,kilometres:r.earthRadius/1e3,meters:r.earthRadius,metres:r.earthRadius,miles:r.earthRadius/1609.344,millimeters:1e3*r.earthRadius,millimetres:1e3*r.earthRadius,nauticalmiles:r.earthRadius/1852,radians:1,yards:1.0936*r.earthRadius},r.unitsFactors={centimeters:100,centimetres:100,degrees:1/111325,feet:3.28084,inches:39.37,kilometers:.001,kilometres:.001,meters:1,metres:1,miles:1/1609.344,millimeters:1e3,millimetres:1e3,nauticalmiles:1/1852,radians:1/r.earthRadius,yards:1.0936133},r.areaFactors={acres:247105e-9,centimeters:1e4,centimetres:1e4,feet:10.763910417,hectares:1e-4,inches:1550.003100006,kilometers:1e-6,kilometres:1e-6,meters:1,metres:1,miles:386e-9,millimeters:1e6,millimetres:1e6,yards:1.195990046},r.feature=n,r.geometry=function(t,e,r){switch(void 0===r&&(r={}),t){case\"Point\":return i(e).geometry;case\"LineString\":return o(e).geometry;case\"Polygon\":return a(e).geometry;case\"MultiPoint\":return c(e).geometry;case\"MultiLineString\":return l(e).geometry;case\"MultiPolygon\":return u(e).geometry;default:throw new Error(t+\" is invalid\")}},r.point=i,r.points=function(t,e,r){return void 0===r&&(r={}),s(t.map((function(t){return i(t,e)})),r)},r.polygon=a,r.polygons=function(t,e,r){return void 0===r&&(r={}),s(t.map((function(t){return a(t,e)})),r)},r.lineString=o,r.lineStrings=function(t,e,r){return void 0===r&&(r={}),s(t.map((function(t){return o(t,e)})),r)},r.featureCollection=s,r.multiLineString=l,r.multiPoint=c,r.multiPolygon=u,r.geometryCollection=function(t,e,r){return void 0===r&&(r={}),n({type:\"GeometryCollection\",geometries:t},e,r)},r.round=function(t,e){if(void 0===e&&(e=0),e&&!(e>=0))throw new Error(\"precision must be a positive number\");var r=Math.pow(10,e||0);return Math.round(t*r)/r},r.radiansToLength=f,r.lengthToRadians=h,r.lengthToDegrees=function(t,e){return p(h(t,e))},r.bearingToAzimuth=function(t){var e=t%360;return e<0&&(e+=360),e},r.radiansToDegrees=p,r.degreesToRadians=function(t){return t%360*Math.PI/180},r.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 f(h(t,e),r)},r.convertArea=function(t,e,n){if(void 0===e&&(e=\"meters\"),void 0===n&&(n=\"kilometers\"),!(t>=0))throw new Error(\"area must be a positive number\");var i=r.areaFactors[e];if(!i)throw new Error(\"invalid original units\");var a=r.areaFactors[n];if(!a)throw new Error(\"invalid final units\");return t/i*a},r.isNumber=d,r.isObject=function(t){return!!t&&t.constructor===Object},r.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(!d(t))throw new Error(\"bbox must only contain numbers\")}))},r.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\")}},{}],63:[function(t,e,r){\"use strict\";Object.defineProperty(r,\"__esModule\",{value:!0});var n=t(\"@turf/helpers\");function i(t,e,r){if(null!==t)for(var n,a,o,s,l,c,u,f,h=0,p=0,d=t.type,m=\"FeatureCollection\"===d,g=\"Feature\"===d,v=m?t.features.length:1,y=0;y<v;y++){l=(f=!!(u=m?t.features[y].geometry:g?t.geometry:t)&&\"GeometryCollection\"===u.type)?u.geometries.length:1;for(var x=0;x<l;x++){var b=0,_=0;if(null!==(s=f?u.geometries[x]:u)){c=s.coordinates;var w=s.type;switch(h=!r||\"Polygon\"!==w&&\"MultiPolygon\"!==w?0:1,w){case null:break;case\"Point\":if(!1===e(c,p,y,b,_))return!1;p++,b++;break;case\"LineString\":case\"MultiPoint\":for(n=0;n<c.length;n++){if(!1===e(c[n],p,y,b,_))return!1;p++,\"MultiPoint\"===w&&b++}\"LineString\"===w&&b++;break;case\"Polygon\":case\"MultiLineString\":for(n=0;n<c.length;n++){for(a=0;a<c[n].length-h;a++){if(!1===e(c[n][a],p,y,b,_))return!1;p++}\"MultiLineString\"===w&&b++,\"Polygon\"===w&&_++}\"Polygon\"===w&&b++;break;case\"MultiPolygon\":for(n=0;n<c.length;n++){for(_=0,a=0;a<c[n].length;a++){for(o=0;o<c[n][a].length-h;o++){if(!1===e(c[n][a][o],p,y,b,_))return!1;p++}_++}b++}break;case\"GeometryCollection\":for(n=0;n<s.geometries.length;n++)if(!1===i(s.geometries[n],e,r))return!1;break;default:throw new Error(\"Unknown Geometry Type\")}}}}}function a(t,e){var r;switch(t.type){case\"FeatureCollection\":for(r=0;r<t.features.length&&!1!==e(t.features[r].properties,r);r++);break;case\"Feature\":e(t.properties,0)}}function o(t,e){if(\"Feature\"===t.type)e(t,0);else if(\"FeatureCollection\"===t.type)for(var r=0;r<t.features.length&&!1!==e(t.features[r],r);r++);}function s(t,e){var r,n,i,a,o,s,l,c,u,f,h=0,p=\"FeatureCollection\"===t.type,d=\"Feature\"===t.type,m=p?t.features.length:1;for(r=0;r<m;r++){for(s=p?t.features[r].geometry:d?t.geometry:t,c=p?t.features[r].properties:d?t.properties:{},u=p?t.features[r].bbox:d?t.bbox:void 0,f=p?t.features[r].id:d?t.id:void 0,o=(l=!!s&&\"GeometryCollection\"===s.type)?s.geometries.length:1,i=0;i<o;i++)if(null!==(a=l?s.geometries[i]:s))switch(a.type){case\"Point\":case\"LineString\":case\"MultiPoint\":case\"Polygon\":case\"MultiLineString\":case\"MultiPolygon\":if(!1===e(a,h,c,u,f))return!1;break;case\"GeometryCollection\":for(n=0;n<a.geometries.length;n++)if(!1===e(a.geometries[n],h,c,u,f))return!1;break;default:throw new Error(\"Unknown Geometry Type\")}else if(!1===e(null,h,c,u,f))return!1;h++}}function l(t,e){s(t,(function(t,r,i,a,o){var s,l=null===t?null:t.type;switch(l){case null:case\"Point\":case\"LineString\":case\"Polygon\":return!1!==e(n.feature(t,i,{bbox:a,id:o}),r,0)&&void 0}switch(l){case\"MultiPoint\":s=\"Point\";break;case\"MultiLineString\":s=\"LineString\";break;case\"MultiPolygon\":s=\"Polygon\"}for(var c=0;c<t.coordinates.length;c++){var u={type:s,coordinates:t.coordinates[c]};if(!1===e(n.feature(u,i),r,c))return!1}}))}function c(t,e){l(t,(function(t,r,a){var o=0;if(t.geometry){var s=t.geometry.type;if(\"Point\"!==s&&\"MultiPoint\"!==s){var l,c=0,u=0,f=0;return!1!==i(t,(function(i,s,h,p,d){if(void 0===l||r>c||p>u||d>f)return l=i,c=r,u=p,f=d,void(o=0);var m=n.lineString([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;s<o.length;s++)if(!1===e(n.lineString(o[s],t.properties),r,i,s))return!1}}}))}r.coordEach=i,r.coordReduce=function(t,e,r,n){var a=r;return i(t,(function(t,n,i,o,s){a=0===n&&void 0===r?t:e(a,t,n,i,o,s)}),n),a},r.propEach=a,r.propReduce=function(t,e,r){var n=r;return a(t,(function(t,i){n=0===i&&void 0===r?t:e(n,t,i)})),n},r.featureEach=o,r.featureReduce=function(t,e,r){var n=r;return o(t,(function(t,i){n=0===i&&void 0===r?t:e(n,t,i)})),n},r.coordAll=function(t){var e=[];return i(t,(function(t){e.push(t)})),e},r.geomEach=s,r.geomReduce=function(t,e,r){var n=r;return s(t,(function(t,i,a,o,s){n=0===i&&void 0===r?t:e(n,t,i,a,o,s)})),n},r.flattenEach=l,r.flattenReduce=function(t,e,r){var n=r;return l(t,(function(t,i,a){n=0===i&&0===a&&void 0===r?t:e(n,t,i,a)})),n},r.segmentEach=c,r.segmentReduce=function(t,e,r){var n=r,i=!1;return c(t,(function(t,a,o,s,l){n=!1===i&&void 0===r?t:e(n,t,a,o,s,l),i=!0})),n},r.lineEach=u,r.lineReduce=function(t,e,r){var n=r;return u(t,(function(t,i,a,o){n=0===i&&void 0===r?t:e(n,t,i,a,o)})),n},r.findSegment=function(t,e){if(e=e||{},!n.isObject(e))throw new Error(\"options is invalid\");var r,i=e.featureIndex||0,a=e.multiFeatureIndex||0,o=e.geometryIndex||0,s=e.segmentIndex||0,l=e.properties;switch(t.type){case\"FeatureCollection\":i<0&&(i=t.features.length+i),l=l||t.features[i].properties,r=t.features[i].geometry;break;case\"Feature\":l=l||t.properties,r=t.geometry;break;case\"Point\":case\"MultiPoint\":return null;case\"LineString\":case\"Polygon\":case\"MultiLineString\":case\"MultiPolygon\":r=t;break;default:throw new Error(\"geojson is invalid\")}if(null===r)return null;var c=r.coordinates;switch(r.type){case\"Point\":case\"MultiPoint\":return null;case\"LineString\":return s<0&&(s=c.length+s-1),n.lineString([c[s],c[s+1]],l,e);case\"Polygon\":return o<0&&(o=c.length+o),s<0&&(s=c[o].length+s-1),n.lineString([c[o][s],c[o][s+1]],l,e);case\"MultiLineString\":return a<0&&(a=c.length+a),s<0&&(s=c[a].length+s-1),n.lineString([c[a][s],c[a][s+1]],l,e);case\"MultiPolygon\":return a<0&&(a=c.length+a),o<0&&(o=c[a].length+o),s<0&&(s=c[a][o].length-s-1),n.lineString([c[a][o][s],c[a][o][s+1]],l,e)}throw new Error(\"geojson is invalid\")},r.findPoint=function(t,e){if(e=e||{},!n.isObject(e))throw new Error(\"options is invalid\");var r,i=e.featureIndex||0,a=e.multiFeatureIndex||0,o=e.geometryIndex||0,s=e.coordIndex||0,l=e.properties;switch(t.type){case\"FeatureCollection\":i<0&&(i=t.features.length+i),l=l||t.features[i].properties,r=t.features[i].geometry;break;case\"Feature\":l=l||t.properties,r=t.geometry;break;case\"Point\":case\"MultiPoint\":return null;case\"LineString\":case\"Polygon\":case\"MultiLineString\":case\"MultiPolygon\":r=t;break;default:throw new Error(\"geojson is invalid\")}if(null===r)return null;var c=r.coordinates;switch(r.type){case\"Point\":return n.point(c,l,e);case\"MultiPoint\":return a<0&&(a=c.length+a),n.point(c[a],l,e);case\"LineString\":return s<0&&(s=c.length+s),n.point(c[s],l,e);case\"Polygon\":return o<0&&(o=c.length+o),s<0&&(s=c[o].length+s),n.point(c[o][s],l,e);case\"MultiLineString\":return a<0&&(a=c.length+a),s<0&&(s=c[a].length+s),n.point(c[a][s],l,e);case\"MultiPolygon\":return a<0&&(a=c.length+a),o<0&&(o=c[a].length+o),s<0&&(s=c[a][o].length-s),n.point(c[a][o][s],l,e)}throw new Error(\"geojson is invalid\")}},{\"@turf/helpers\":62}],64:[function(t,e,r){\"use strict\";Object.defineProperty(r,\"__esModule\",{value:!0});var n=t(\"@turf/meta\");function i(t){var e=[1/0,1/0,-1/0,-1/0];return n.coordEach(t,(function(t){e[0]>t[0]&&(e[0]=t[0]),e[1]>t[1]&&(e[1]=t[1]),e[2]<t[0]&&(e[2]=t[0]),e[3]<t[1]&&(e[3]=t[1])})),e}i.default=i,r.default=i},{\"@turf/meta\":66}],65:[function(t,e,r){arguments[4][62][0].apply(r,arguments)},{dup:62}],66:[function(t,e,r){arguments[4][63][0].apply(r,arguments)},{\"@turf/helpers\":65,dup:63}],67:[function(t,e,r){\"use strict\";Object.defineProperty(r,\"__esModule\",{value:!0});var n=t(\"@turf/meta\"),i=t(\"@turf/helpers\");r.default=function(t,e){void 0===e&&(e={});var r=0,a=0,o=0;return n.coordEach(t,(function(t){r+=t[0],a+=t[1],o++})),i.point([r/o,a/o],e.properties)}},{\"@turf/helpers\":68,\"@turf/meta\":69}],68:[function(t,e,r){\"use strict\";function n(t,e,r){void 0===r&&(r={});var n={type:\"Feature\"};return(0===r.id||r.id)&&(n.id=r.id),r.bbox&&(n.bbox=r.bbox),n.properties=e||{},n.geometry=t,n}function i(t,e,r){return void 0===r&&(r={}),n({type:\"Point\",coordinates:t},e,r)}function a(t,e,r){void 0===r&&(r={});for(var i=0,a=t;i<a.length;i++){var o=a[i];if(o.length<4)throw new Error(\"Each LinearRing of a Polygon must have 4 or more Positions.\");for(var s=0;s<o[o.length-1].length;s++)if(o[o.length-1][s]!==o[0][s])throw new Error(\"First and last Position are not equivalent.\")}return n({type:\"Polygon\",coordinates:t},e,r)}function o(t,e,r){if(void 0===r&&(r={}),t.length<2)throw new Error(\"coordinates must be an array of two or more positions\");return n({type:\"LineString\",coordinates:t},e,r)}function s(t,e){void 0===e&&(e={});var r={type:\"FeatureCollection\"};return e.id&&(r.id=e.id),e.bbox&&(r.bbox=e.bbox),r.features=t,r}function l(t,e,r){return void 0===r&&(r={}),n({type:\"MultiLineString\",coordinates:t},e,r)}function c(t,e,r){return void 0===r&&(r={}),n({type:\"MultiPoint\",coordinates:t},e,r)}function u(t,e,r){return void 0===r&&(r={}),n({type:\"MultiPolygon\",coordinates:t},e,r)}function f(t,e){void 0===e&&(e=\"kilometers\");var n=r.factors[e];if(!n)throw new Error(e+\" units is invalid\");return t*n}function h(t,e){void 0===e&&(e=\"kilometers\");var n=r.factors[e];if(!n)throw new Error(e+\" units is invalid\");return t/n}function p(t){return 180*(t%(2*Math.PI))/Math.PI}function d(t){return!isNaN(t)&&null!==t&&!Array.isArray(t)&&!/^\\s*$/.test(t)}Object.defineProperty(r,\"__esModule\",{value:!0}),r.earthRadius=6371008.8,r.factors={centimeters:100*r.earthRadius,centimetres:100*r.earthRadius,degrees:r.earthRadius/111325,feet:3.28084*r.earthRadius,inches:39.37*r.earthRadius,kilometers:r.earthRadius/1e3,kilometres:r.earthRadius/1e3,meters:r.earthRadius,metres:r.earthRadius,miles:r.earthRadius/1609.344,millimeters:1e3*r.earthRadius,millimetres:1e3*r.earthRadius,nauticalmiles:r.earthRadius/1852,radians:1,yards:r.earthRadius/1.0936},r.unitsFactors={centimeters:100,centimetres:100,degrees:1/111325,feet:3.28084,inches:39.37,kilometers:.001,kilometres:.001,meters:1,metres:1,miles:1/1609.344,millimeters:1e3,millimetres:1e3,nauticalmiles:1/1852,radians:1/r.earthRadius,yards:1/1.0936},r.areaFactors={acres:247105e-9,centimeters:1e4,centimetres:1e4,feet:10.763910417,inches:1550.003100006,kilometers:1e-6,kilometres:1e-6,meters:1,metres:1,miles:386e-9,millimeters:1e6,millimetres:1e6,yards:1.195990046},r.feature=n,r.geometry=function(t,e,r){switch(void 0===r&&(r={}),t){case\"Point\":return i(e).geometry;case\"LineString\":return o(e).geometry;case\"Polygon\":return a(e).geometry;case\"MultiPoint\":return c(e).geometry;case\"MultiLineString\":return l(e).geometry;case\"MultiPolygon\":return u(e).geometry;default:throw new Error(t+\" is invalid\")}},r.point=i,r.points=function(t,e,r){return void 0===r&&(r={}),s(t.map((function(t){return i(t,e)})),r)},r.polygon=a,r.polygons=function(t,e,r){return void 0===r&&(r={}),s(t.map((function(t){return a(t,e)})),r)},r.lineString=o,r.lineStrings=function(t,e,r){return void 0===r&&(r={}),s(t.map((function(t){return o(t,e)})),r)},r.featureCollection=s,r.multiLineString=l,r.multiPoint=c,r.multiPolygon=u,r.geometryCollection=function(t,e,r){return void 0===r&&(r={}),n({type:\"GeometryCollection\",geometries:t},e,r)},r.round=function(t,e){if(void 0===e&&(e=0),e&&!(e>=0))throw new Error(\"precision must be a positive number\");var r=Math.pow(10,e||0);return Math.round(t*r)/r},r.radiansToLength=f,r.lengthToRadians=h,r.lengthToDegrees=function(t,e){return p(h(t,e))},r.bearingToAzimuth=function(t){var e=t%360;return e<0&&(e+=360),e},r.radiansToDegrees=p,r.degreesToRadians=function(t){return t%360*Math.PI/180},r.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 f(h(t,e),r)},r.convertArea=function(t,e,n){if(void 0===e&&(e=\"meters\"),void 0===n&&(n=\"kilometers\"),!(t>=0))throw new Error(\"area must be a positive number\");var i=r.areaFactors[e];if(!i)throw new Error(\"invalid original units\");var a=r.areaFactors[n];if(!a)throw new Error(\"invalid final units\");return t/i*a},r.isNumber=d,r.isObject=function(t){return!!t&&t.constructor===Object},r.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(!d(t))throw new Error(\"bbox must only contain numbers\")}))},r.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\")},r.radians2degrees=function(){throw new Error(\"method has been renamed to `radiansToDegrees`\")},r.degrees2radians=function(){throw new Error(\"method has been renamed to `degreesToRadians`\")},r.distanceToDegrees=function(){throw new Error(\"method has been renamed to `lengthToDegrees`\")},r.distanceToRadians=function(){throw new Error(\"method has been renamed to `lengthToRadians`\")},r.radiansToDistance=function(){throw new Error(\"method has been renamed to `radiansToLength`\")},r.bearingToAngle=function(){throw new Error(\"method has been renamed to `bearingToAzimuth`\")},r.convertDistance=function(){throw new Error(\"method has been renamed to `convertLength`\")}},{}],69:[function(t,e,r){\"use strict\";Object.defineProperty(r,\"__esModule\",{value:!0});var n=t(\"@turf/helpers\");function i(t,e,r){if(null!==t)for(var n,a,o,s,l,c,u,f,h=0,p=0,d=t.type,m=\"FeatureCollection\"===d,g=\"Feature\"===d,v=m?t.features.length:1,y=0;y<v;y++){l=(f=!!(u=m?t.features[y].geometry:g?t.geometry:t)&&\"GeometryCollection\"===u.type)?u.geometries.length:1;for(var x=0;x<l;x++){var b=0,_=0;if(null!==(s=f?u.geometries[x]:u)){c=s.coordinates;var w=s.type;switch(h=!r||\"Polygon\"!==w&&\"MultiPolygon\"!==w?0:1,w){case null:break;case\"Point\":if(!1===e(c,p,y,b,_))return!1;p++,b++;break;case\"LineString\":case\"MultiPoint\":for(n=0;n<c.length;n++){if(!1===e(c[n],p,y,b,_))return!1;p++,\"MultiPoint\"===w&&b++}\"LineString\"===w&&b++;break;case\"Polygon\":case\"MultiLineString\":for(n=0;n<c.length;n++){for(a=0;a<c[n].length-h;a++){if(!1===e(c[n][a],p,y,b,_))return!1;p++}\"MultiLineString\"===w&&b++,\"Polygon\"===w&&_++}\"Polygon\"===w&&b++;break;case\"MultiPolygon\":for(n=0;n<c.length;n++){for(_=0,a=0;a<c[n].length;a++){for(o=0;o<c[n][a].length-h;o++){if(!1===e(c[n][a][o],p,y,b,_))return!1;p++}_++}b++}break;case\"GeometryCollection\":for(n=0;n<s.geometries.length;n++)if(!1===i(s.geometries[n],e,r))return!1;break;default:throw new Error(\"Unknown Geometry Type\")}}}}}function a(t,e){var r;switch(t.type){case\"FeatureCollection\":for(r=0;r<t.features.length&&!1!==e(t.features[r].properties,r);r++);break;case\"Feature\":e(t.properties,0)}}function o(t,e){if(\"Feature\"===t.type)e(t,0);else if(\"FeatureCollection\"===t.type)for(var r=0;r<t.features.length&&!1!==e(t.features[r],r);r++);}function s(t,e){var r,n,i,a,o,s,l,c,u,f,h=0,p=\"FeatureCollection\"===t.type,d=\"Feature\"===t.type,m=p?t.features.length:1;for(r=0;r<m;r++){for(s=p?t.features[r].geometry:d?t.geometry:t,c=p?t.features[r].properties:d?t.properties:{},u=p?t.features[r].bbox:d?t.bbox:void 0,f=p?t.features[r].id:d?t.id:void 0,o=(l=!!s&&\"GeometryCollection\"===s.type)?s.geometries.length:1,i=0;i<o;i++)if(null!==(a=l?s.geometries[i]:s))switch(a.type){case\"Point\":case\"LineString\":case\"MultiPoint\":case\"Polygon\":case\"MultiLineString\":case\"MultiPolygon\":if(!1===e(a,h,c,u,f))return!1;break;case\"GeometryCollection\":for(n=0;n<a.geometries.length;n++)if(!1===e(a.geometries[n],h,c,u,f))return!1;break;default:throw new Error(\"Unknown Geometry Type\")}else if(!1===e(null,h,c,u,f))return!1;h++}}function l(t,e){s(t,(function(t,r,i,a,o){var s,l=null===t?null:t.type;switch(l){case null:case\"Point\":case\"LineString\":case\"Polygon\":return!1!==e(n.feature(t,i,{bbox:a,id:o}),r,0)&&void 0}switch(l){case\"MultiPoint\":s=\"Point\";break;case\"MultiLineString\":s=\"LineString\";break;case\"MultiPolygon\":s=\"Polygon\"}for(var c=0;c<t.coordinates.length;c++){var u={type:s,coordinates:t.coordinates[c]};if(!1===e(n.feature(u,i),r,c))return!1}}))}function c(t,e){l(t,(function(t,r,a){var o=0;if(t.geometry){var s=t.geometry.type;if(\"Point\"!==s&&\"MultiPoint\"!==s){var l,c=0,u=0,f=0;return!1!==i(t,(function(i,s,h,p,d){if(void 0===l||r>c||p>u||d>f)return l=i,c=r,u=p,f=d,void(o=0);var m=n.lineString([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;s<o.length;s++)if(!1===e(n.lineString(o[s],t.properties),r,i,s))return!1}}}))}r.coordEach=i,r.coordReduce=function(t,e,r,n){var a=r;return i(t,(function(t,n,i,o,s){a=0===n&&void 0===r?t:e(a,t,n,i,o,s)}),n),a},r.propEach=a,r.propReduce=function(t,e,r){var n=r;return a(t,(function(t,i){n=0===i&&void 0===r?t:e(n,t,i)})),n},r.featureEach=o,r.featureReduce=function(t,e,r){var n=r;return o(t,(function(t,i){n=0===i&&void 0===r?t:e(n,t,i)})),n},r.coordAll=function(t){var e=[];return i(t,(function(t){e.push(t)})),e},r.geomEach=s,r.geomReduce=function(t,e,r){var n=r;return s(t,(function(t,i,a,o,s){n=0===i&&void 0===r?t:e(n,t,i,a,o,s)})),n},r.flattenEach=l,r.flattenReduce=function(t,e,r){var n=r;return l(t,(function(t,i,a){n=0===i&&0===a&&void 0===r?t:e(n,t,i,a)})),n},r.segmentEach=c,r.segmentReduce=function(t,e,r){var n=r,i=!1;return c(t,(function(t,a,o,s,l){n=!1===i&&void 0===r?t:e(n,t,a,o,s,l),i=!0})),n},r.lineEach=u,r.lineReduce=function(t,e,r){var n=r;return u(t,(function(t,i,a,o){n=0===i&&void 0===r?t:e(n,t,i,a,o)})),n},r.findSegment=function(t,e){if(e=e||{},!n.isObject(e))throw new Error(\"options is invalid\");var r,i=e.featureIndex||0,a=e.multiFeatureIndex||0,o=e.geometryIndex||0,s=e.segmentIndex||0,l=e.properties;switch(t.type){case\"FeatureCollection\":i<0&&(i=t.features.length+i),l=l||t.features[i].properties,r=t.features[i].geometry;break;case\"Feature\":l=l||t.properties,r=t.geometry;break;case\"Point\":case\"MultiPoint\":return null;case\"LineString\":case\"Polygon\":case\"MultiLineString\":case\"MultiPolygon\":r=t;break;default:throw new Error(\"geojson is invalid\")}if(null===r)return null;var c=r.coordinates;switch(r.type){case\"Point\":case\"MultiPoint\":return null;case\"LineString\":return s<0&&(s=c.length+s-1),n.lineString([c[s],c[s+1]],l,e);case\"Polygon\":return o<0&&(o=c.length+o),s<0&&(s=c[o].length+s-1),n.lineString([c[o][s],c[o][s+1]],l,e);case\"MultiLineString\":return a<0&&(a=c.length+a),s<0&&(s=c[a].length+s-1),n.lineString([c[a][s],c[a][s+1]],l,e);case\"MultiPolygon\":return a<0&&(a=c.length+a),o<0&&(o=c[a].length+o),s<0&&(s=c[a][o].length-s-1),n.lineString([c[a][o][s],c[a][o][s+1]],l,e)}throw new Error(\"geojson is invalid\")},r.findPoint=function(t,e){if(e=e||{},!n.isObject(e))throw new Error(\"options is invalid\");var r,i=e.featureIndex||0,a=e.multiFeatureIndex||0,o=e.geometryIndex||0,s=e.coordIndex||0,l=e.properties;switch(t.type){case\"FeatureCollection\":i<0&&(i=t.features.length+i),l=l||t.features[i].properties,r=t.features[i].geometry;break;case\"Feature\":l=l||t.properties,r=t.geometry;break;case\"Point\":case\"MultiPoint\":return null;case\"LineString\":case\"Polygon\":case\"MultiLineString\":case\"MultiPolygon\":r=t;break;default:throw new Error(\"geojson is invalid\")}if(null===r)return null;var c=r.coordinates;switch(r.type){case\"Point\":return n.point(c,l,e);case\"MultiPoint\":return a<0&&(a=c.length+a),n.point(c[a],l,e);case\"LineString\":return s<0&&(s=c.length+s),n.point(c[s],l,e);case\"Polygon\":return o<0&&(o=c.length+o),s<0&&(s=c[o].length+s),n.point(c[o][s],l,e);case\"MultiLineString\":return a<0&&(a=c.length+a),s<0&&(s=c[a].length+s),n.point(c[a][s],l,e);case\"MultiPolygon\":return a<0&&(a=c.length+a),o<0&&(o=c[a].length+o),s<0&&(s=c[a][o].length-s),n.point(c[a][o][s],l,e)}throw new Error(\"geojson is invalid\")}},{\"@turf/helpers\":68}],70:[function(t,e,r){e.exports=function(t){var e=0,r=0,n=0,i=0;return t.map((function(t){var a=(t=t.slice())[0],o=a.toUpperCase();if(a!=o)switch(t[0]=o,a){case\"a\":t[6]+=n,t[7]+=i;break;case\"v\":t[1]+=i;break;case\"h\":t[1]+=n;break;default:for(var s=1;s<t.length;)t[s++]+=n,t[s++]+=i}switch(o){case\"Z\":n=e,i=r;break;case\"H\":n=t[1];break;case\"V\":i=t[1];break;case\"M\":n=e=t[1],i=r=t[2];break;default:n=t[t.length-2],i=t[t.length-1]}return t}))}},{}],71:[function(t,e,r){\"use strict\";e.exports=function(t,e){if(!t||null==t.length)throw Error(\"Argument should be an array\");e=null==e?1:Math.floor(e);for(var r=Array(2*e),n=0;n<e;n++){for(var i=-1/0,a=1/0,o=n,s=t.length;o<s;o+=e)t[o]>i&&(i=t[o]),t[o]<a&&(a=t[o]);r[n]=a,r[e+n]=i}return r}},{}],72:[function(t,e,r){\"use strict\";e.exports=function(t,e,r){if(\"function\"==typeof Array.prototype.findIndex)return t.findIndex(e,r);if(\"function\"!=typeof e)throw new TypeError(\"predicate must be a function\");var n=Object(t),i=n.length;if(0===i)return-1;for(var a=0;a<i;a++)if(e.call(r,n[a],a,n))return a;return-1}},{}],73:[function(t,e,r){\"use strict\";var n=t(\"array-bounds\");e.exports=function(t,e,r){if(!t||null==t.length)throw Error(\"Argument should be an array\");null==e&&(e=1);null==r&&(r=n(t,e));for(var i=0;i<e;i++){var a=r[e+i],o=r[i],s=i,l=t.length;if(a===1/0&&o===-1/0)for(s=i;s<l;s+=e)t[s]=t[s]===a?1:t[s]===o?0:.5;else if(a===1/0)for(s=i;s<l;s+=e)t[s]=t[s]===a?1:0;else if(o===-1/0)for(s=i;s<l;s+=e)t[s]=t[s]===o?0:1;else{var c=a-o;for(s=i;s<l;s+=e)isNaN(t[s])||(t[s]=0===c?.5:(t[s]-o)/c)}}return t}},{\"array-bounds\":71}],74:[function(t,e,r){e.exports=function(t,e){var r=\"number\"==typeof t,n=\"number\"==typeof e;r&&!n?(e=t,t=0):r||n||(t=0,e=0);var i=(e|=0)-(t|=0);if(i<0)throw new Error(\"array length must be positive\");for(var a=new Array(i),o=0,s=t;o<i;o++,s++)a[o]=s;return a}},{}],75:[function(t,e,r){(function(r){(function(){\"use strict\";var n=t(\"object-assign\");\n",
       "/*!\n",
       " * The buffer module from node.js, for the browser.\n",
       " *\n",
       " * @author   Feross Aboukhadijeh <feross@feross.org> <http://feross.org>\n",
       " * @license  MIT\n",
       " */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<a;++i)if(t[i]!==e[i]){r=t[i],n=e[i];break}return r<n?-1:n<r?1:0}function a(t){return r.Buffer&&\"function\"==typeof r.Buffer.isBuffer?r.Buffer.isBuffer(t):!(null==t||!t._isBuffer)}var o=t(\"util/\"),s=Object.prototype.hasOwnProperty,l=Array.prototype.slice,c=\"foo\"===function(){}.name;function u(t){return Object.prototype.toString.call(t)}function f(t){return!a(t)&&(\"function\"==typeof r.ArrayBuffer&&(\"function\"==typeof ArrayBuffer.isView?ArrayBuffer.isView(t):!!t&&(t instanceof DataView||!!(t.buffer&&t.buffer instanceof ArrayBuffer))))}var h=e.exports=y,p=/\\s*function\\s+([^\\(\\s]*)\\s*/;function d(t){if(o.isFunction(t)){if(c)return t.name;var e=t.toString().match(p);return e&&e[1]}}function m(t,e){return\"string\"==typeof t?t.length<e?t:t.slice(0,e):t}function g(t){if(c||!o.isFunction(t))return o.inspect(t);var e=d(t);return\"[Function\"+(e?\": \"+e:\"\")+\"]\"}function v(t,e,r,n,i){throw new h.AssertionError({message:r,actual:t,expected:e,operator:n,stackStartFunction:i})}function y(t,e){t||v(t,!0,e,\"==\",h.ok)}function x(t,e,r,n){if(t===e)return!0;if(a(t)&&a(e))return 0===i(t,e);if(o.isDate(t)&&o.isDate(e))return t.getTime()===e.getTime();if(o.isRegExp(t)&&o.isRegExp(e))return t.source===e.source&&t.global===e.global&&t.multiline===e.multiline&&t.lastIndex===e.lastIndex&&t.ignoreCase===e.ignoreCase;if(null!==t&&\"object\"==typeof t||null!==e&&\"object\"==typeof e){if(f(t)&&f(e)&&u(t)===u(e)&&!(t instanceof Float32Array||t instanceof Float64Array))return 0===i(new Uint8Array(t.buffer),new Uint8Array(e.buffer));if(a(t)!==a(e))return!1;var s=(n=n||{actual:[],expected:[]}).actual.indexOf(t);return-1!==s&&s===n.expected.indexOf(e)||(n.actual.push(t),n.expected.push(e),function(t,e,r,n){if(null==t||null==e)return!1;if(o.isPrimitive(t)||o.isPrimitive(e))return t===e;if(r&&Object.getPrototypeOf(t)!==Object.getPrototypeOf(e))return!1;var i=b(t),a=b(e);if(i&&!a||!i&&a)return!1;if(i)return t=l.call(t),e=l.call(e),x(t,e,r);var s,c,u=T(t),f=T(e);if(u.length!==f.length)return!1;for(u.sort(),f.sort(),c=u.length-1;c>=0;c--)if(u[c]!==f[c])return!1;for(c=u.length-1;c>=0;c--)if(s=u[c],!x(t[s],e[s],r,n))return!1;return!0}(t,e,r,n))}return r?t===e:t==e}function b(t){return\"[object Arguments]\"==Object.prototype.toString.call(t)}function _(t,e){if(!t||!e)return!1;if(\"[object RegExp]\"==Object.prototype.toString.call(e))return e.test(t);try{if(t instanceof e)return!0}catch(t){}return!Error.isPrototypeOf(e)&&!0===e.call({},t)}function w(t,e,r,n){var i;if(\"function\"!=typeof e)throw new TypeError('\"block\" argument must be a function');\"string\"==typeof r&&(n=r,r=null),i=function(t){var e;try{t()}catch(t){e=t}return e}(e),n=(r&&r.name?\" (\"+r.name+\").\":\".\")+(n?\" \"+n:\".\"),t&&!i&&v(i,r,\"Missing expected exception\"+n);var a=\"string\"==typeof n,s=!t&&i&&!r;if((!t&&o.isError(i)&&a&&_(i,r)||s)&&v(i,r,\"Got unwanted exception\"+n),t&&i&&r&&!_(i,r)||!t&&i)throw i}h.AssertionError=function(t){this.name=\"AssertionError\",this.actual=t.actual,this.expected=t.expected,this.operator=t.operator,t.message?(this.message=t.message,this.generatedMessage=!1):(this.message=function(t){return m(g(t.actual),128)+\" \"+t.operator+\" \"+m(g(t.expected),128)}(this),this.generatedMessage=!0);var e=t.stackStartFunction||v;if(Error.captureStackTrace)Error.captureStackTrace(this,e);else{var r=new Error;if(r.stack){var n=r.stack,i=d(e),a=n.indexOf(\"\\n\"+i);if(a>=0){var o=n.indexOf(\"\\n\",a+1);n=n.substring(o+1)}this.stack=n}}},o.inherits(h.AssertionError,Error),h.fail=v,h.ok=y,h.equal=function(t,e,r){t!=e&&v(t,e,r,\"==\",h.equal)},h.notEqual=function(t,e,r){t==e&&v(t,e,r,\"!=\",h.notEqual)},h.deepEqual=function(t,e,r){x(t,e,!1)||v(t,e,r,\"deepEqual\",h.deepEqual)},h.deepStrictEqual=function(t,e,r){x(t,e,!0)||v(t,e,r,\"deepStrictEqual\",h.deepStrictEqual)},h.notDeepEqual=function(t,e,r){x(t,e,!1)&&v(t,e,r,\"notDeepEqual\",h.notDeepEqual)},h.notDeepStrictEqual=function t(e,r,n){x(e,r,!0)&&v(e,r,n,\"notDeepStrictEqual\",t)},h.strictEqual=function(t,e,r){t!==e&&v(t,e,r,\"===\",h.strictEqual)},h.notStrictEqual=function(t,e,r){t===e&&v(t,e,r,\"!==\",h.notStrictEqual)},h.throws=function(t,e,r){w(!0,t,e,r)},h.doesNotThrow=function(t,e,r){w(!1,t,e,r)},h.ifError=function(t){if(t)throw t},h.strict=n((function t(e,r){e||v(e,!0,r,\"==\",t)}),h,{equal:h.strictEqual,deepEqual:h.deepStrictEqual,notEqual:h.notStrictEqual,notDeepEqual:h.notDeepStrictEqual}),h.strict.strict=h.strict;var T=Object.keys||function(t){var e=[];for(var r in t)s.call(t,r)&&e.push(r);return e}}).call(this)}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{\"object-assign\":247,\"util/\":78}],76:[function(t,e,r){\"function\"==typeof Object.create?e.exports=function(t,e){t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}})}:e.exports=function(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}},{}],77:[function(t,e,r){e.exports=function(t){return t&&\"object\"==typeof t&&\"function\"==typeof t.copy&&\"function\"==typeof t.fill&&\"function\"==typeof t.readUInt8}},{}],78:[function(t,e,r){(function(e,n){(function(){var i=/%[sdj%]/g;r.format=function(t){if(!v(t)){for(var e=[],r=0;r<arguments.length;r++)e.push(s(arguments[r]));return e.join(\" \")}r=1;for(var n=arguments,a=n.length,o=String(t).replace(i,(function(t){if(\"%%\"===t)return\"%\";if(r>=a)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}})),l=n[r];r<a;l=n[++r])m(l)||!b(l)?o+=\" \"+l:o+=\" \"+s(l);return o},r.deprecate=function(t,i){if(y(n.process))return function(){return r.deprecate(t,i).apply(this,arguments)};if(!0===e.noDeprecation)return t;var a=!1;return function(){if(!a){if(e.throwDeprecation)throw new Error(i);e.traceDeprecation?console.trace(i):console.error(i),a=!0}return t.apply(this,arguments)}};var a,o={};function s(t,e){var n={seen:[],stylize:c};return arguments.length>=3&&(n.depth=arguments[2]),arguments.length>=4&&(n.colors=arguments[3]),d(e)?n.showHidden=e:e&&r._extend(n,e),y(n.showHidden)&&(n.showHidden=!1),y(n.depth)&&(n.depth=2),y(n.colors)&&(n.colors=!1),y(n.customInspect)&&(n.customInspect=!0),n.colors&&(n.stylize=l),u(n,t,n.depth)}function l(t,e){var r=s.styles[e];return r?\"\\x1b[\"+s.colors[r][0]+\"m\"+t+\"\\x1b[\"+s.colors[r][1]+\"m\":t}function c(t,e){return t}function u(t,e,n){if(t.customInspect&&e&&T(e.inspect)&&e.inspect!==r.inspect&&(!e.constructor||e.constructor.prototype!==e)){var i=e.inspect(n,t);return v(i)||(i=u(t,i,n)),i}var a=function(t,e){if(y(e))return t.stylize(\"undefined\",\"undefined\");if(v(e)){var r=\"'\"+JSON.stringify(e).replace(/^\"|\"$/g,\"\").replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"')+\"'\";return t.stylize(r,\"string\")}if(g(e))return t.stylize(\"\"+e,\"number\");if(d(e))return t.stylize(\"\"+e,\"boolean\");if(m(e))return t.stylize(\"null\",\"null\")}(t,e);if(a)return a;var o=Object.keys(e),s=function(t){var e={};return t.forEach((function(t,r){e[t]=!0})),e}(o);if(t.showHidden&&(o=Object.getOwnPropertyNames(e)),w(e)&&(o.indexOf(\"message\")>=0||o.indexOf(\"description\")>=0))return f(e);if(0===o.length){if(T(e)){var l=e.name?\": \"+e.name:\"\";return t.stylize(\"[Function\"+l+\"]\",\"special\")}if(x(e))return t.stylize(RegExp.prototype.toString.call(e),\"regexp\");if(_(e))return t.stylize(Date.prototype.toString.call(e),\"date\");if(w(e))return f(e)}var c,b=\"\",k=!1,A=[\"{\",\"}\"];(p(e)&&(k=!0,A=[\"[\",\"]\"]),T(e))&&(b=\" [Function\"+(e.name?\": \"+e.name:\"\")+\"]\");return x(e)&&(b=\" \"+RegExp.prototype.toString.call(e)),_(e)&&(b=\" \"+Date.prototype.toUTCString.call(e)),w(e)&&(b=\" \"+f(e)),0!==o.length||k&&0!=e.length?n<0?x(e)?t.stylize(RegExp.prototype.toString.call(e),\"regexp\"):t.stylize(\"[Object]\",\"special\"):(t.seen.push(e),c=k?function(t,e,r,n,i){for(var a=[],o=0,s=e.length;o<s;++o)E(e,String(o))?a.push(h(t,e,r,n,String(o),!0)):a.push(\"\");return i.forEach((function(i){i.match(/^\\d+$/)||a.push(h(t,e,r,n,i,!0))})),a}(t,e,n,s,o):o.map((function(r){return h(t,e,n,s,r,k)})),t.seen.pop(),function(t,e,r){if(t.reduce((function(t,e){return e.indexOf(\"\\n\")>=0&&0,t+e.replace(/\\u001b\\[\\d\\d?m/g,\"\").length+1}),0)>60)return r[0]+(\"\"===e?\"\":e+\"\\n \")+\" \"+t.join(\",\\n  \")+\" \"+r[1];return r[0]+e+\" \"+t.join(\", \")+\" \"+r[1]}(c,b,A)):A[0]+b+A[1]}function f(t){return\"[\"+Error.prototype.toString.call(t)+\"]\"}function h(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\")),E(n,i)||(o=\"[\"+i+\"]\"),s||(t.seen.indexOf(l.value)<0?(s=m(r)?u(t,l.value,null):u(t,l.value,r-1)).indexOf(\"\\n\")>-1&&(s=a?s.split(\"\\n\").map((function(t){return\"  \"+t})).join(\"\\n\").substr(2):\"\\n\"+s.split(\"\\n\").map((function(t){return\"   \"+t})).join(\"\\n\")):s=t.stylize(\"[Circular]\",\"special\")),y(o)){if(a&&i.match(/^\\d+$/))return s;(o=JSON.stringify(\"\"+i)).match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)?(o=o.substr(1,o.length-2),o=t.stylize(o,\"name\")):(o=o.replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"').replace(/(^\"|\"$)/g,\"'\"),o=t.stylize(o,\"string\"))}return o+\": \"+s}function p(t){return Array.isArray(t)}function d(t){return\"boolean\"==typeof t}function m(t){return null===t}function g(t){return\"number\"==typeof t}function v(t){return\"string\"==typeof t}function y(t){return void 0===t}function x(t){return b(t)&&\"[object RegExp]\"===k(t)}function b(t){return\"object\"==typeof t&&null!==t}function _(t){return b(t)&&\"[object Date]\"===k(t)}function w(t){return b(t)&&(\"[object Error]\"===k(t)||t instanceof Error)}function T(t){return\"function\"==typeof t}function k(t){return Object.prototype.toString.call(t)}function A(t){return t<10?\"0\"+t.toString(10):t.toString(10)}r.debuglog=function(t){if(y(a)&&(a=e.env.NODE_DEBUG||\"\"),t=t.toUpperCase(),!o[t])if(new RegExp(\"\\\\b\"+t+\"\\\\b\",\"i\").test(a)){var n=e.pid;o[t]=function(){var e=r.format.apply(r,arguments);console.error(\"%s %d: %s\",t,n,e)}}else o[t]=function(){};return o[t]},r.inspect=s,s.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]},s.styles={special:\"cyan\",number:\"yellow\",boolean:\"yellow\",undefined:\"grey\",null:\"bold\",string:\"green\",date:\"magenta\",regexp:\"red\"},r.isArray=p,r.isBoolean=d,r.isNull=m,r.isNullOrUndefined=function(t){return null==t},r.isNumber=g,r.isString=v,r.isSymbol=function(t){return\"symbol\"==typeof t},r.isUndefined=y,r.isRegExp=x,r.isObject=b,r.isDate=_,r.isError=w,r.isFunction=T,r.isPrimitive=function(t){return null===t||\"boolean\"==typeof t||\"number\"==typeof t||\"string\"==typeof t||\"symbol\"==typeof t||void 0===t},r.isBuffer=t(\"./support/isBuffer\");var M=[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"];function S(){var t=new Date,e=[A(t.getHours()),A(t.getMinutes()),A(t.getSeconds())].join(\":\");return[t.getDate(),M[t.getMonth()],e].join(\" \")}function E(t,e){return Object.prototype.hasOwnProperty.call(t,e)}r.log=function(){console.log(\"%s - %s\",S(),r.format.apply(r,arguments))},r.inherits=t(\"inherits\"),r._extend=function(t,e){if(!e||!b(e))return t;for(var r=Object.keys(e),n=r.length;n--;)t[r[n]]=e[r[n]];return t}}).call(this)}).call(this,t(\"_process\"),\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{\"./support/isBuffer\":77,_process:277,inherits:76}],79:[function(t,e,r){\"use strict\";r.byteLength=function(t){var e=c(t),r=e[0],n=e[1];return 3*(r+n)/4-n},r.toByteArray=function(t){var e,r,n=c(t),o=n[0],s=n[1],l=new a(function(t,e,r){return 3*(e+r)/4-r}(0,o,s)),u=0,f=s>0?o-4:o;for(r=0;r<f;r+=4)e=i[t.charCodeAt(r)]<<18|i[t.charCodeAt(r+1)]<<12|i[t.charCodeAt(r+2)]<<6|i[t.charCodeAt(r+3)],l[u++]=e>>16&255,l[u++]=e>>8&255,l[u++]=255&e;2===s&&(e=i[t.charCodeAt(r)]<<2|i[t.charCodeAt(r+1)]>>4,l[u++]=255&e);1===s&&(e=i[t.charCodeAt(r)]<<10|i[t.charCodeAt(r+1)]<<4|i[t.charCodeAt(r+2)]>>2,l[u++]=e>>8&255,l[u++]=255&e);return l},r.fromByteArray=function(t){for(var e,r=t.length,i=r%3,a=[],o=0,s=r-i;o<s;o+=16383)a.push(u(t,o,o+16383>s?s:o+16383));1===i?(e=t[r-1],a.push(n[e>>2]+n[e<<4&63]+\"==\")):2===i&&(e=(t[r-2]<<8)+t[r-1],a.push(n[e>>10]+n[e>>4&63]+n[e<<2&63]+\"=\"));return a.join(\"\")};for(var n=[],i=[],a=\"undefined\"!=typeof Uint8Array?Uint8Array:Array,o=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",s=0,l=o.length;s<l;++s)n[s]=o[s],i[o.charCodeAt(s)]=s;function c(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 u(t,e,r){for(var i,a,o=[],s=e;s<r;s+=3)i=(t[s]<<16&16711680)+(t[s+1]<<8&65280)+(255&t[s+2]),o.push(n[(a=i)>>18&63]+n[a>>12&63]+n[a>>6&63]+n[63&a]);return o.join(\"\")}i[\"-\".charCodeAt(0)]=62,i[\"_\".charCodeAt(0)]=63},{}],80:[function(t,e,r){\"use strict\";function n(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 i(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 a(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 o(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 s(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 l(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)}e.exports={ge:function(t,e,r,i,a){return l(t,e,r,i,a,n)},gt:function(t,e,r,n,a){return l(t,e,r,n,a,i)},lt:function(t,e,r,n,i){return l(t,e,r,n,i,a)},le:function(t,e,r,n,i){return l(t,e,r,n,i,o)},eq:function(t,e,r,n,i){return l(t,e,r,n,i,s)}}},{}],81:[function(t,e,r){\"use strict\";function n(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}r.INT_BITS=32,r.INT_MAX=2147483647,r.INT_MIN=-1<<31,r.sign=function(t){return(t>0)-(t<0)},r.abs=function(t){var e=t>>31;return(t^e)-e},r.min=function(t,e){return e^(t^e)&-(t<e)},r.max=function(t,e){return t^(t^e)&-(t<e)},r.isPow2=function(t){return!(t&t-1||!t)},r.log2=function(t){var e,r;return e=(t>65535)<<4,e|=r=((t>>>=e)>255)<<3,e|=r=((t>>>=r)>15)<<2,(e|=r=((t>>>=r)>3)<<1)|(t>>>=r)>>1},r.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},r.popCount=function(t){return 16843009*((t=(858993459&(t-=t>>>1&1431655765))+(t>>>2&858993459))+(t>>>4)&252645135)>>>24},r.countTrailingZeros=n,r.nextPow2=function(t){return t+=0===t,--t,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)+1},r.prevPow2=function(t){return t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)-(t>>>1)},r.parity=function(t){return t^=t>>>16,t^=t>>>8,t^=t>>>4,27030>>>(t&=15)&1};var i=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<<i&255}}(i),r.reverse=function(t){return i[255&t]<<24|i[t>>>8&255]<<16|i[t>>>16&255]<<8|i[t>>>24&255]},r.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},r.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},r.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},r.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},r.nextCombination=function(t){var e=t|t-1;return e+1|(~e&-~e)-1>>>n(t)+1}},{}],82:[function(t,e,r){\"use strict\";var n=t(\"clamp\");e.exports=function(t,e){e||(e={});var r,o,s,l,c,u,f,h,p,d,m,g=null==e.cutoff?.25:e.cutoff,v=null==e.radius?8:e.radius,y=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?(f=(h=t).getContext(\"2d\"),r=h.width,o=h.height,p=f.getImageData(0,0,r,o),l=p.data,u=4):window.CanvasRenderingContext2D&&t instanceof window.CanvasRenderingContext2D?(h=t.canvas,f=t,r=h.width,o=h.height,p=f.getImageData(0,0,r,o),l=p.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<m;d++)l[d]=c[d*u+y]/255;else if(1!==u)throw Error(\"Raw data can have only 1 value per pixel\");var x=Array(r*o),b=Array(r*o),_=Array(s),w=Array(s),T=Array(s+1),k=Array(s);for(d=0,m=r*o;d<m;d++){var A=l[d];x[d]=1===A?0:0===A?i:Math.pow(Math.max(0,.5-A),2),b[d]=1===A?i:0===A?0:Math.pow(Math.max(0,A-.5),2)}a(x,r,o,_,w,k,T),a(b,r,o,_,w,k,T);var M=window.Float32Array?new Float32Array(r*o):new Array(r*o);for(d=0,m=r*o;d<m;d++)M[d]=n(1-((x[d]-b[d])/v+g),0,1);return M};var i=1e20;function a(t,e,r,n,i,a,s){for(var l=0;l<e;l++){for(var c=0;c<r;c++)n[c]=t[c*e+l];for(o(n,i,a,s,r),c=0;c<r;c++)t[c*e+l]=i[c]}for(c=0;c<r;c++){for(l=0;l<e;l++)n[l]=t[c*e+l];for(o(n,i,a,s,e),l=0;l<e;l++)t[c*e+l]=Math.sqrt(i[l])}}function o(t,e,r,n,a){r[0]=0,n[0]=-i,n[1]=+i;for(var o=1,s=0;o<a;o++){for(var l=(t[o]+o*o-(t[r[s]]+r[s]*r[s]))/(2*o-2*r[s]);l<=n[s];)s--,l=(t[o]+o*o-(t[r[s]]+r[s]*r[s]))/(2*o-2*r[s]);r[++s]=o,n[s]=l,n[s+1]=+i}for(o=0,s=0;o<a;o++){for(;n[s+1]<o;)s++;e[o]=(o-r[s])*(o-r[s])+t[r[s]]}}},{clamp:86}],83:[function(t,e,r){},{}],84:[function(t,e,r){\"use strict\";var n,i=\"object\"==typeof Reflect?Reflect:null,a=i&&\"function\"==typeof i.apply?i.apply:function(t,e,r){return Function.prototype.apply.call(t,e,r)};n=i&&\"function\"==typeof i.ownKeys?i.ownKeys:Object.getOwnPropertySymbols?function(t){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))}:function(t){return Object.getOwnPropertyNames(t)};var o=Number.isNaN||function(t){return t!=t};function s(){s.init.call(this)}e.exports=s,e.exports.once=function(t,e){return new Promise((function(r,n){function i(){void 0!==a&&t.removeListener(\"error\",a),r([].slice.call(arguments))}var a;\"error\"!==e&&(a=function(r){t.removeListener(e,i),n(r)},t.once(\"error\",a)),t.once(e,i)}))},s.EventEmitter=s,s.prototype._events=void 0,s.prototype._eventsCount=0,s.prototype._maxListeners=void 0;var l=10;function c(t){if(\"function\"!=typeof t)throw new TypeError('The \"listener\" argument must be of type Function. Received type '+typeof t)}function u(t){return void 0===t._maxListeners?s.defaultMaxListeners:t._maxListeners}function f(t,e,r,n){var i,a,o,s;if(c(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=u(t))>0&&o.length>i&&!o.warned){o.warned=!0;var l=new Error(\"Possible EventEmitter memory leak detected. \"+o.length+\" \"+String(e)+\" listeners added. Use emitter.setMaxListeners() to increase limit\");l.name=\"MaxListenersExceededWarning\",l.emitter=t,l.type=e,l.count=o.length,s=l,console&&console.warn&&console.warn(s)}return t}function h(){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 p(t,e,r){var n={fired:!1,wrapFn:void 0,target:t,type:e,listener:r},i=h.bind(n);return i.listener=r,n.wrapFn=i,i}function d(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;r<e.length;++r)e[r]=t[r].listener||t[r];return e}(i):g(i,i.length)}function m(t){var e=this._events;if(void 0!==e){var r=e[t];if(\"function\"==typeof r)return 1;if(void 0!==r)return r.length}return 0}function g(t,e){for(var r=new Array(e),n=0;n<e;++n)r[n]=t[n];return r}Object.defineProperty(s,\"defaultMaxListeners\",{enumerable:!0,get:function(){return l},set:function(t){if(\"number\"!=typeof t||t<0||o(t))throw new RangeError('The value of \"defaultMaxListeners\" is out of range. It must be a non-negative number. Received '+t+\".\");l=t}}),s.init=function(){void 0!==this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},s.prototype.setMaxListeners=function(t){if(\"number\"!=typeof t||t<0||o(t))throw new RangeError('The value of \"n\" is out of range. It must be a non-negative number. Received '+t+\".\");return this._maxListeners=t,this},s.prototype.getMaxListeners=function(){return u(this)},s.prototype.emit=function(t){for(var e=[],r=1;r<arguments.length;r++)e.push(arguments[r]);var n=\"error\"===t,i=this._events;if(void 0!==i)n=n&&void 0===i.error;else if(!n)return!1;if(n){var o;if(e.length>0&&(o=e[0]),o instanceof Error)throw o;var s=new Error(\"Unhandled error.\"+(o?\" (\"+o.message+\")\":\"\"));throw s.context=o,s}var l=i[t];if(void 0===l)return!1;if(\"function\"==typeof l)a(l,this,e);else{var c=l.length,u=g(l,c);for(r=0;r<c;++r)a(u[r],this,e)}return!0},s.prototype.addListener=function(t,e){return f(this,t,e,!1)},s.prototype.on=s.prototype.addListener,s.prototype.prependListener=function(t,e){return f(this,t,e,!0)},s.prototype.once=function(t,e){return c(e),this.on(t,p(this,t,e)),this},s.prototype.prependOnceListener=function(t,e){return c(e),this.prependListener(t,p(this,t,e)),this},s.prototype.removeListener=function(t,e){var r,n,i,a,o;if(c(e),void 0===(n=this._events))return this;if(void 0===(r=n[t]))return this;if(r===e||r.listener===e)0==--this._eventsCount?this._events=Object.create(null):(delete n[t],n.removeListener&&this.emit(\"removeListener\",t,r.listener||e));else if(\"function\"!=typeof r){for(i=-1,a=r.length-1;a>=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<t.length;e++)t[e]=t[e+1];t.pop()}(r,i),1===r.length&&(n[t]=r[0]),void 0!==n.removeListener&&this.emit(\"removeListener\",t,o||e)}return this},s.prototype.off=s.prototype.removeListener,s.prototype.removeAllListeners=function(t){var e,r,n;if(void 0===(r=this._events))return this;if(void 0===r.removeListener)return 0===arguments.length?(this._events=Object.create(null),this._eventsCount=0):void 0!==r[t]&&(0==--this._eventsCount?this._events=Object.create(null):delete r[t]),this;if(0===arguments.length){var i,a=Object.keys(r);for(n=0;n<a.length;++n)\"removeListener\"!==(i=a[n])&&this.removeAllListeners(i);return this.removeAllListeners(\"removeListener\"),this._events=Object.create(null),this._eventsCount=0,this}if(\"function\"==typeof(e=r[t]))this.removeListener(t,e);else if(void 0!==e)for(n=e.length-1;n>=0;n--)this.removeListener(t,e[n]);return this},s.prototype.listeners=function(t){return d(this,t,!0)},s.prototype.rawListeners=function(t){return d(this,t,!1)},s.listenerCount=function(t,e){return\"function\"==typeof t.listenerCount?t.listenerCount(e):m.call(t,e)},s.prototype.listenerCount=m,s.prototype.eventNames=function(){return this._eventsCount>0?n(this._events):[]}},{}],85:[function(t,e,r){(function(e){(function(){\n",
       "/*!\n",
       " * The buffer module from node.js, for the browser.\n",
       " *\n",
       " * @author   Feross Aboukhadijeh <https://feross.org>\n",
       " * @license  MIT\n",
       " */\n",
       "\"use strict\";var e=t(\"base64-js\"),n=t(\"ieee754\");r.Buffer=a,r.SlowBuffer=function(t){+t!=t&&(t=0);return a.alloc(+t)},r.INSPECT_MAX_BYTES=50;function i(t){if(t>2147483647)throw new RangeError('The value \"'+t+'\" is invalid for option \"size\"');var e=new Uint8Array(t);return e.__proto__=a.prototype,e}function a(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 l(t)}return o(t,e,r)}function o(t,e,r){if(\"string\"==typeof t)return function(t,e){\"string\"==typeof e&&\"\"!==e||(e=\"utf8\");if(!a.isEncoding(e))throw new TypeError(\"Unknown encoding: \"+e);var r=0|f(t,e),n=i(r),o=n.write(t,e);o!==r&&(n=n.slice(0,o));return n}(t,e);if(ArrayBuffer.isView(t))return c(t);if(null==t)throw TypeError(\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type \"+typeof t);if(B(t,ArrayBuffer)||t&&B(t.buffer,ArrayBuffer))return function(t,e,r){if(e<0||t.byteLength<e)throw new RangeError('\"offset\" is outside of buffer bounds');if(t.byteLength<e+(r||0))throw new RangeError('\"length\" is outside of buffer bounds');var n;n=void 0===e&&void 0===r?new Uint8Array(t):void 0===r?new Uint8Array(t,e):new Uint8Array(t,e,r);return n.__proto__=a.prototype,n}(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 a.from(n,e,r);var o=function(t){if(a.isBuffer(t)){var e=0|u(t.length),r=i(e);return 0===r.length||t.copy(r,0,0,e),r}if(void 0!==t.length)return\"number\"!=typeof t.length||N(t.length)?i(0):c(t);if(\"Buffer\"===t.type&&Array.isArray(t.data))return c(t.data)}(t);if(o)return o;if(\"undefined\"!=typeof Symbol&&null!=Symbol.toPrimitive&&\"function\"==typeof t[Symbol.toPrimitive])return a.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 \"+typeof t)}function s(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 l(t){return s(t),i(t<0?0:0|u(t))}function c(t){for(var e=t.length<0?0:0|u(t.length),r=i(e),n=0;n<e;n+=1)r[n]=255&t[n];return r}function u(t){if(t>=2147483647)throw new RangeError(\"Attempt to allocate Buffer larger than maximum size: 0x\"+2147483647..toString(16)+\" bytes\");return 0|t}function f(t,e){if(a.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||B(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 '+typeof 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 D(t).length;case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return 2*r;case\"hex\":return r>>>1;case\"base64\":return R(t).length;default:if(i)return n?-1:D(t).length;e=(\"\"+e).toLowerCase(),i=!0}}function h(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 M(this,e,r);case\"utf8\":case\"utf-8\":return T(this,e,r);case\"ascii\":return k(this,e,r);case\"latin1\":case\"binary\":return A(this,e,r);case\"base64\":return w(this,e,r);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return S(this,e,r);default:if(n)throw new TypeError(\"Unknown encoding: \"+t);t=(t+\"\").toLowerCase(),n=!0}}function p(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function d(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),N(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=a.from(e,n)),a.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;a<s;a++)if(c(t,a)===c(e,-1===u?0:a-u)){if(-1===u&&(u=a),a-u+1===l)return u*o}else-1!==u&&(a-=a-u),u=-1}else for(r+l>s&&(r=s-l),a=r;a>=0;a--){for(var f=!0,h=0;h<l;h++)if(c(t,a+h)!==c(e,h)){f=!1;break}if(f)return a}return-1}function g(t,e,r,n){r=Number(r)||0;var i=t.length-r;n?(n=Number(n))>i&&(n=i):n=i;var a=e.length;n>a/2&&(n=a/2);for(var o=0;o<n;++o){var s=parseInt(e.substr(2*o,2),16);if(N(s))return o;t[r+o]=s}return o}function v(t,e,r,n){return F(D(e,t.length-r),t,r,n)}function y(t,e,r,n){return F(function(t){for(var e=[],r=0;r<t.length;++r)e.push(255&t.charCodeAt(r));return e}(e),t,r,n)}function x(t,e,r,n){return y(t,e,r,n)}function b(t,e,r,n){return F(R(e),t,r,n)}function _(t,e,r,n){return F(function(t,e){for(var r,n,i,a=[],o=0;o<t.length&&!((e-=2)<0);++o)r=t.charCodeAt(o),n=r>>8,i=r%256,a.push(i),a.push(n);return a}(e,t.length-r),t,r,n)}function w(t,r,n){return 0===r&&n===t.length?e.fromByteArray(t):e.fromByteArray(t.slice(r,n))}function T(t,e,r){r=Math.min(t.length,r);for(var n=[],i=e;i<r;){var a,o,s,l,c=t[i],u=null,f=c>239?4:c>223?3:c>191?2:1;if(i+f<=r)switch(f){case 1:c<128&&(u=c);break;case 2:128==(192&(a=t[i+1]))&&(l=(31&c)<<6|63&a)>127&&(u=l);break;case 3:a=t[i+1],o=t[i+2],128==(192&a)&&128==(192&o)&&(l=(15&c)<<12|(63&a)<<6|63&o)>2047&&(l<55296||l>57343)&&(u=l);break;case 4:a=t[i+1],o=t[i+2],s=t[i+3],128==(192&a)&&128==(192&o)&&128==(192&s)&&(l=(15&c)<<18|(63&a)<<12|(63&o)<<6|63&s)>65535&&l<1114112&&(u=l)}null===u?(u=65533,f=1):u>65535&&(u-=65536,n.push(u>>>10&1023|55296),u=56320|1023&u),n.push(u),i+=f}return function(t){var e=t.length;if(e<=4096)return String.fromCharCode.apply(String,t);var r=\"\",n=0;for(;n<e;)r+=String.fromCharCode.apply(String,t.slice(n,n+=4096));return r}(n)}r.kMaxLength=2147483647,a.TYPED_ARRAY_SUPPORT=function(){try{var t=new Uint8Array(1);return t.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===t.foo()}catch(t){return!1}}(),a.TYPED_ARRAY_SUPPORT||\"undefined\"==typeof console||\"function\"!=typeof console.error||console.error(\"This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.\"),Object.defineProperty(a.prototype,\"parent\",{enumerable:!0,get:function(){if(a.isBuffer(this))return this.buffer}}),Object.defineProperty(a.prototype,\"offset\",{enumerable:!0,get:function(){if(a.isBuffer(this))return this.byteOffset}}),\"undefined\"!=typeof Symbol&&null!=Symbol.species&&a[Symbol.species]===a&&Object.defineProperty(a,Symbol.species,{value:null,configurable:!0,enumerable:!1,writable:!1}),a.poolSize=8192,a.from=function(t,e,r){return o(t,e,r)},a.prototype.__proto__=Uint8Array.prototype,a.__proto__=Uint8Array,a.alloc=function(t,e,r){return function(t,e,r){return s(t),t<=0?i(t):void 0!==e?\"string\"==typeof r?i(t).fill(e,r):i(t).fill(e):i(t)}(t,e,r)},a.allocUnsafe=function(t){return l(t)},a.allocUnsafeSlow=function(t){return l(t)},a.isBuffer=function(t){return null!=t&&!0===t._isBuffer&&t!==a.prototype},a.compare=function(t,e){if(B(t,Uint8Array)&&(t=a.from(t,t.offset,t.byteLength)),B(e,Uint8Array)&&(e=a.from(e,e.offset,e.byteLength)),!a.isBuffer(t)||!a.isBuffer(e))throw new TypeError('The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array');if(t===e)return 0;for(var r=t.length,n=e.length,i=0,o=Math.min(r,n);i<o;++i)if(t[i]!==e[i]){r=t[i],n=e[i];break}return r<n?-1:n<r?1:0},a.isEncoding=function(t){switch(String(t).toLowerCase()){case\"hex\":case\"utf8\":case\"utf-8\":case\"ascii\":case\"latin1\":case\"binary\":case\"base64\":case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return!0;default:return!1}},a.concat=function(t,e){if(!Array.isArray(t))throw new TypeError('\"list\" argument must be an Array of Buffers');if(0===t.length)return a.alloc(0);var r;if(void 0===e)for(e=0,r=0;r<t.length;++r)e+=t[r].length;var n=a.allocUnsafe(e),i=0;for(r=0;r<t.length;++r){var o=t[r];if(B(o,Uint8Array)&&(o=a.from(o)),!a.isBuffer(o))throw new TypeError('\"list\" argument must be an Array of Buffers');o.copy(n,i),i+=o.length}return n},a.byteLength=f,a.prototype._isBuffer=!0,a.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;e<t;e+=2)p(this,e,e+1);return this},a.prototype.swap32=function(){var t=this.length;if(t%4!=0)throw new RangeError(\"Buffer size must be a multiple of 32-bits\");for(var e=0;e<t;e+=4)p(this,e,e+3),p(this,e+1,e+2);return this},a.prototype.swap64=function(){var t=this.length;if(t%8!=0)throw new RangeError(\"Buffer size must be a multiple of 64-bits\");for(var e=0;e<t;e+=8)p(this,e,e+7),p(this,e+1,e+6),p(this,e+2,e+5),p(this,e+3,e+4);return this},a.prototype.toString=function(){var t=this.length;return 0===t?\"\":0===arguments.length?T(this,0,t):h.apply(this,arguments)},a.prototype.toLocaleString=a.prototype.toString,a.prototype.equals=function(t){if(!a.isBuffer(t))throw new TypeError(\"Argument must be a Buffer\");return this===t||0===a.compare(this,t)},a.prototype.inspect=function(){var t=\"\",e=r.INSPECT_MAX_BYTES;return t=this.toString(\"hex\",0,e).replace(/(.{2})/g,\"$1 \").trim(),this.length>e&&(t+=\" ... \"),\"<Buffer \"+t+\">\"},a.prototype.compare=function(t,e,r,n,i){if(B(t,Uint8Array)&&(t=a.from(t,t.offset,t.byteLength)),!a.isBuffer(t))throw new TypeError('The \"target\" argument must be one of type Buffer or Uint8Array. Received type '+typeof 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 o=(i>>>=0)-(n>>>=0),s=(r>>>=0)-(e>>>=0),l=Math.min(o,s),c=this.slice(n,i),u=t.slice(e,r),f=0;f<l;++f)if(c[f]!==u[f]){o=c[f],s=u[f];break}return o<s?-1:s<o?1:0},a.prototype.includes=function(t,e,r){return-1!==this.indexOf(t,e,r)},a.prototype.indexOf=function(t,e,r){return d(this,t,e,r,!0)},a.prototype.lastIndexOf=function(t,e,r){return d(this,t,e,r,!1)},a.prototype.write=function(t,e,r,n){if(void 0===e)n=\"utf8\",r=this.length,e=0;else if(void 0===r&&\"string\"==typeof e)n=e,r=this.length,e=0;else{if(!isFinite(e))throw new Error(\"Buffer.write(string, encoding, offset[, length]) is no longer supported\");e>>>=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 g(this,t,e,r);case\"utf8\":case\"utf-8\":return v(this,t,e,r);case\"ascii\":return y(this,t,e,r);case\"latin1\":case\"binary\":return x(this,t,e,r);case\"base64\":return b(this,t,e,r);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return _(this,t,e,r);default:if(a)throw new TypeError(\"Unknown encoding: \"+n);n=(\"\"+n).toLowerCase(),a=!0}},a.prototype.toJSON=function(){return{type:\"Buffer\",data:Array.prototype.slice.call(this._arr||this,0)}};function k(t,e,r){var n=\"\";r=Math.min(t.length,r);for(var i=e;i<r;++i)n+=String.fromCharCode(127&t[i]);return n}function A(t,e,r){var n=\"\";r=Math.min(t.length,r);for(var i=e;i<r;++i)n+=String.fromCharCode(t[i]);return n}function M(t,e,r){var n=t.length;(!e||e<0)&&(e=0),(!r||r<0||r>n)&&(r=n);for(var i=\"\",a=e;a<r;++a)i+=z(t[a]);return i}function S(t,e,r){for(var n=t.slice(e,r),i=\"\",a=0;a<n.length;a+=2)i+=String.fromCharCode(n[a]+256*n[a+1]);return i}function E(t,e,r){if(t%1!=0||t<0)throw new RangeError(\"offset is not uint\");if(t+e>r)throw new RangeError(\"Trying to access beyond buffer length\")}function L(t,e,r,n,i,o){if(!a.isBuffer(t))throw new TypeError('\"buffer\" argument must be a Buffer instance');if(e>i||e<o)throw new RangeError('\"value\" argument is out of bounds');if(r+n>t.length)throw new RangeError(\"Index out of range\")}function C(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 P(t,e,r,i,a){return e=+e,r>>>=0,a||C(t,0,r,4),n.write(t,e,r,i,23,4),r+4}function I(t,e,r,i,a){return e=+e,r>>>=0,a||C(t,0,r,8),n.write(t,e,r,i,52,8),r+8}a.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<t&&(e=t);var n=this.subarray(t,e);return n.__proto__=a.prototype,n},a.prototype.readUIntLE=function(t,e,r){t>>>=0,e>>>=0,r||E(t,e,this.length);for(var n=this[t],i=1,a=0;++a<e&&(i*=256);)n+=this[t+a]*i;return n},a.prototype.readUIntBE=function(t,e,r){t>>>=0,e>>>=0,r||E(t,e,this.length);for(var n=this[t+--e],i=1;e>0&&(i*=256);)n+=this[t+--e]*i;return n},a.prototype.readUInt8=function(t,e){return t>>>=0,e||E(t,1,this.length),this[t]},a.prototype.readUInt16LE=function(t,e){return t>>>=0,e||E(t,2,this.length),this[t]|this[t+1]<<8},a.prototype.readUInt16BE=function(t,e){return t>>>=0,e||E(t,2,this.length),this[t]<<8|this[t+1]},a.prototype.readUInt32LE=function(t,e){return t>>>=0,e||E(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},a.prototype.readUInt32BE=function(t,e){return t>>>=0,e||E(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},a.prototype.readIntLE=function(t,e,r){t>>>=0,e>>>=0,r||E(t,e,this.length);for(var n=this[t],i=1,a=0;++a<e&&(i*=256);)n+=this[t+a]*i;return n>=(i*=128)&&(n-=Math.pow(2,8*e)),n},a.prototype.readIntBE=function(t,e,r){t>>>=0,e>>>=0,r||E(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},a.prototype.readInt8=function(t,e){return t>>>=0,e||E(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},a.prototype.readInt16LE=function(t,e){t>>>=0,e||E(t,2,this.length);var r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},a.prototype.readInt16BE=function(t,e){t>>>=0,e||E(t,2,this.length);var r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},a.prototype.readInt32LE=function(t,e){return t>>>=0,e||E(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},a.prototype.readInt32BE=function(t,e){return t>>>=0,e||E(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},a.prototype.readFloatLE=function(t,e){return t>>>=0,e||E(t,4,this.length),n.read(this,t,!0,23,4)},a.prototype.readFloatBE=function(t,e){return t>>>=0,e||E(t,4,this.length),n.read(this,t,!1,23,4)},a.prototype.readDoubleLE=function(t,e){return t>>>=0,e||E(t,8,this.length),n.read(this,t,!0,52,8)},a.prototype.readDoubleBE=function(t,e){return t>>>=0,e||E(t,8,this.length),n.read(this,t,!1,52,8)},a.prototype.writeUIntLE=function(t,e,r,n){(t=+t,e>>>=0,r>>>=0,n)||L(this,t,e,r,Math.pow(2,8*r)-1,0);var i=1,a=0;for(this[e]=255&t;++a<r&&(i*=256);)this[e+a]=t/i&255;return e+r},a.prototype.writeUIntBE=function(t,e,r,n){(t=+t,e>>>=0,r>>>=0,n)||L(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},a.prototype.writeUInt8=function(t,e,r){return t=+t,e>>>=0,r||L(this,t,e,1,255,0),this[e]=255&t,e+1},a.prototype.writeUInt16LE=function(t,e,r){return t=+t,e>>>=0,r||L(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},a.prototype.writeUInt16BE=function(t,e,r){return t=+t,e>>>=0,r||L(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},a.prototype.writeUInt32LE=function(t,e,r){return t=+t,e>>>=0,r||L(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},a.prototype.writeUInt32BE=function(t,e,r){return t=+t,e>>>=0,r||L(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},a.prototype.writeIntLE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);L(this,t,e,r,i-1,-i)}var a=0,o=1,s=0;for(this[e]=255&t;++a<r&&(o*=256);)t<0&&0===s&&0!==this[e+a-1]&&(s=1),this[e+a]=(t/o>>0)-s&255;return e+r},a.prototype.writeIntBE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);L(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},a.prototype.writeInt8=function(t,e,r){return t=+t,e>>>=0,r||L(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},a.prototype.writeInt16LE=function(t,e,r){return t=+t,e>>>=0,r||L(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},a.prototype.writeInt16BE=function(t,e,r){return t=+t,e>>>=0,r||L(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},a.prototype.writeInt32LE=function(t,e,r){return t=+t,e>>>=0,r||L(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},a.prototype.writeInt32BE=function(t,e,r){return t=+t,e>>>=0,r||L(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},a.prototype.writeFloatLE=function(t,e,r){return P(this,t,e,!0,r)},a.prototype.writeFloatBE=function(t,e,r){return P(this,t,e,!1,r)},a.prototype.writeDoubleLE=function(t,e,r){return I(this,t,e,!0,r)},a.prototype.writeDoubleBE=function(t,e,r){return I(this,t,e,!1,r)},a.prototype.copy=function(t,e,r,n){if(!a.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<r&&(n=r),n===r)return 0;if(0===t.length||0===this.length)return 0;if(e<0)throw new RangeError(\"targetStart out of bounds\");if(r<0||r>=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<n-r&&(n=t.length-e+r);var i=n-r;if(this===t&&\"function\"==typeof Uint8Array.prototype.copyWithin)this.copyWithin(e,r,n);else if(this===t&&r<e&&e<n)for(var o=i-1;o>=0;--o)t[o+e]=this[o+r];else Uint8Array.prototype.set.call(t,this.subarray(r,n),e);return i},a.prototype.fill=function(t,e,r,n){if(\"string\"==typeof t){if(\"string\"==typeof e?(n=e,e=0,r=this.length):\"string\"==typeof r&&(n=r,r=this.length),void 0!==n&&\"string\"!=typeof n)throw new TypeError(\"encoding must be a string\");if(\"string\"==typeof n&&!a.isEncoding(n))throw new TypeError(\"Unknown encoding: \"+n);if(1===t.length){var i=t.charCodeAt(0);(\"utf8\"===n&&i<128||\"latin1\"===n)&&(t=i)}}else\"number\"==typeof t&&(t&=255);if(e<0||this.length<e||this.length<r)throw new RangeError(\"Out of range index\");if(r<=e)return this;var o;if(e>>>=0,r=void 0===r?this.length:r>>>0,t||(t=0),\"number\"==typeof t)for(o=e;o<r;++o)this[o]=t;else{var s=a.isBuffer(t)?t:a.from(t,n),l=s.length;if(0===l)throw new TypeError('The value \"'+t+'\" is invalid for argument \"value\"');for(o=0;o<r-e;++o)this[o+e]=s[o%l]}return this};var O=/[^+/0-9A-Za-z-_]/g;function z(t){return t<16?\"0\"+t.toString(16):t.toString(16)}function D(t,e){var r;e=e||1/0;for(var n=t.length,i=null,a=[],o=0;o<n;++o){if((r=t.charCodeAt(o))>55295&&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 R(t){return e.toByteArray(function(t){if((t=(t=t.split(\"=\")[0]).trim().replace(O,\"\")).length<2)return\"\";for(;t.length%4!=0;)t+=\"=\";return t}(t))}function F(t,e,r,n){for(var i=0;i<n&&!(i+r>=e.length||i>=t.length);++i)e[i+r]=t[i];return i}function B(t,e){return t instanceof e||null!=t&&null!=t.constructor&&null!=t.constructor.name&&t.constructor.name===e.name}function N(t){return t!=t}}).call(this)}).call(this,t(\"buffer\").Buffer)},{\"base64-js\":79,buffer:85,ieee754:230}],86:[function(t,e,r){e.exports=function(t,e,r){return e<r?t<e?e:t>r?r:t:t<r?r:t>e?e:t}},{}],87:[function(t,e,r){\"use strict\";var n=t(\"clamp\");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)+(o=255&n(o,0,255))}e.exports=i,e.exports.to=i,e.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]}},{clamp:86}],88:[function(t,e,r){\"use strict\";e.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]}},{}],89:[function(t,e,r){\"use strict\";var n=t(\"color-rgba\"),i=t(\"clamp\"),a=t(\"dtype\");e.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)}},{clamp:86,\"color-rgba\":91,dtype:127}],90:[function(t,e,r){(function(r){(function(){\"use strict\";var n=t(\"color-name\"),i=t(\"is-plain-obj\"),a=t(\"defined\");e.exports=function(t){var e,s,l=[],c=1;if(\"string\"==typeof t)if(n[t])l=n[t].slice(),s=\"rgb\";else if(\"transparent\"===t)c=0,s=\"rgb\",l=[0,0,0];else if(/^#[A-Fa-f0-9]+$/.test(t)){var u=(p=t.slice(1)).length;c=1,u<=4?(l=[parseInt(p[0]+p[0],16),parseInt(p[1]+p[1],16),parseInt(p[2]+p[2],16)],4===u&&(c=parseInt(p[3]+p[3],16)/255)):(l=[parseInt(p[0]+p[1],16),parseInt(p[2]+p[3],16),parseInt(p[4]+p[5],16)],8===u&&(c=parseInt(p[6]+p[7],16)/255)),l[0]||(l[0]=0),l[1]||(l[1]=0),l[2]||(l[2]=0),s=\"rgb\"}else if(e=/^((?:rgb|hs[lvb]|hwb|cmyk?|xy[zy]|gray|lab|lchu?v?|[ly]uv|lms)a?)\\s*\\(([^\\)]*)\\)/.exec(t)){var f=e[1],h=\"rgb\"===f,p=f.replace(/a$/,\"\");s=p;u=\"cmyk\"===p?4:\"gray\"===p?1:3;l=e[2].trim().split(/\\s*,\\s*/).map((function(t,e){if(/%$/.test(t))return e===u?parseFloat(t)/100:\"rgb\"===p?255*parseFloat(t)/100:parseFloat(t);if(\"h\"===p[e]){if(/deg$/.test(t))return parseFloat(t);if(void 0!==o[t])return o[t]}return parseFloat(t)})),f===p&&l.push(1),c=h||void 0===l[u]?1:l[u],l=l.slice(0,u)}else t.length>10&&/[0-9](?:\\s|\\/)/.test(t)&&(l=t.match(/([0-9]+)/g).map((function(t){return parseFloat(t)})),s=t.match(/([a-z])/gi).join(\"\").toLowerCase());else if(isNaN(t))if(i(t)){var d=a(t.r,t.red,t.R,null);null!==d?(s=\"rgb\",l=[d,a(t.g,t.green,t.G),a(t.b,t.blue,t.B)]):(s=\"hsl\",l=[a(t.h,t.hue,t.H),a(t.s,t.saturation,t.S),a(t.l,t.lightness,t.L,t.b,t.brightness)]),c=a(t.a,t.alpha,t.opacity,1),null!=t.opacity&&(c/=100)}else(Array.isArray(t)||r.ArrayBuffer&&ArrayBuffer.isView&&ArrayBuffer.isView(t))&&(l=[t[0],t[1],t[2]],s=\"rgb\",c=4===t.length?t[3]:1);else s=\"rgb\",l=[t>>>16,(65280&t)>>>8,255&t];return{space:s,values:l,alpha:c}};var o={red:0,orange:60,yellow:120,green:180,blue:240,purple:300}}).call(this)}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{\"color-name\":88,defined:124,\"is-plain-obj\":236}],91:[function(t,e,r){\"use strict\";var n=t(\"color-parse\"),i=t(\"color-space/hsl\"),a=t(\"clamp\");e.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):[]}},{clamp:86,\"color-parse\":90,\"color-space/hsl\":92}],92:[function(t,e,r){\"use strict\";var n=t(\"./rgb\");e.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]}},{\"./rgb\":93}],93:[function(t,e,r){\"use strict\";e.exports={name:\"rgb\",min:[0,0,0],max:[255,255,255],channel:[\"red\",\"green\",\"blue\"],alias:[\"RGB\"]}},{}],94:[function(t,e,r){e.exports={AFG:\"afghan\",ALA:\"\\\\b\\\\wland\",ALB:\"albania\",DZA:\"algeria\",ASM:\"^(?=.*americ).*samoa\",AND:\"andorra\",AGO:\"angola\",AIA:\"anguill?a\",ATA:\"antarctica\",ATG:\"antigua\",ARG:\"argentin\",ARM:\"armenia\",ABW:\"^(?!.*bonaire).*\\\\baruba\",AUS:\"australia\",AUT:\"^(?!.*hungary).*austria|\\\\baustri.*\\\\bemp\",AZE:\"azerbaijan\",BHS:\"bahamas\",BHR:\"bahrain\",BGD:\"bangladesh|^(?=.*east).*paki?stan\",BRB:\"barbados\",BLR:\"belarus|byelo\",BEL:\"^(?!.*luxem).*belgium\",BLZ:\"belize|^(?=.*british).*honduras\",BEN:\"benin|dahome\",BMU:\"bermuda\",BTN:\"bhutan\",BOL:\"bolivia\",BES:\"^(?=.*bonaire).*eustatius|^(?=.*carib).*netherlands|\\\\bbes.?islands\",BIH:\"herzegovina|bosnia\",BWA:\"botswana|bechuana\",BVT:\"bouvet\",BRA:\"brazil\",IOT:\"british.?indian.?ocean\",BRN:\"brunei\",BGR:\"bulgaria\",BFA:\"burkina|\\\\bfaso|upper.?volta\",BDI:\"burundi\",CPV:\"verde\",KHM:\"cambodia|kampuchea|khmer\",CMR:\"cameroon\",CAN:\"canada\",CYM:\"cayman\",CAF:\"\\\\bcentral.african.republic\",TCD:\"\\\\bchad\",CHL:\"\\\\bchile\",CHN:\"^(?!.*\\\\bmac)(?!.*\\\\bhong)(?!.*\\\\btai)(?!.*\\\\brep).*china|^(?=.*peo)(?=.*rep).*china\",CXR:\"christmas\",CCK:\"\\\\bcocos|keeling\",COL:\"colombia\",COM:\"comoro\",COG:\"^(?!.*\\\\bdem)(?!.*\\\\bd[\\\\.]?r)(?!.*kinshasa)(?!.*zaire)(?!.*belg)(?!.*l.opoldville)(?!.*free).*\\\\bcongo\",COK:\"\\\\bcook\",CRI:\"costa.?rica\",CIV:\"ivoire|ivory\",HRV:\"croatia\",CUB:\"\\\\bcuba\",CUW:\"^(?!.*bonaire).*\\\\bcura(c|\\xe7)ao\",CYP:\"cyprus\",CSK:\"czechoslovakia\",CZE:\"^(?=.*rep).*czech|czechia|bohemia\",COD:\"\\\\bdem.*congo|congo.*\\\\bdem|congo.*\\\\bd[\\\\.]?r|\\\\bd[\\\\.]?r.*congo|belgian.?congo|congo.?free.?state|kinshasa|zaire|l.opoldville|drc|droc|rdc\",DNK:\"denmark\",DJI:\"djibouti\",DMA:\"dominica(?!n)\",DOM:\"dominican.rep\",ECU:\"ecuador\",EGY:\"egypt\",SLV:\"el.?salvador\",GNQ:\"guine.*eq|eq.*guine|^(?=.*span).*guinea\",ERI:\"eritrea\",EST:\"estonia\",ETH:\"ethiopia|abyssinia\",FLK:\"falkland|malvinas\",FRO:\"faroe|faeroe\",FJI:\"fiji\",FIN:\"finland\",FRA:\"^(?!.*\\\\bdep)(?!.*martinique).*france|french.?republic|\\\\bgaul\",GUF:\"^(?=.*french).*guiana\",PYF:\"french.?polynesia|tahiti\",ATF:\"french.?southern\",GAB:\"gabon\",GMB:\"gambia\",GEO:\"^(?!.*south).*georgia\",DDR:\"german.?democratic.?republic|democratic.?republic.*germany|east.germany\",DEU:\"^(?!.*east).*germany|^(?=.*\\\\bfed.*\\\\brep).*german\",GHA:\"ghana|gold.?coast\",GIB:\"gibraltar\",GRC:\"greece|hellenic|hellas\",GRL:\"greenland\",GRD:\"grenada\",GLP:\"guadeloupe\",GUM:\"\\\\bguam\",GTM:\"guatemala\",GGY:\"guernsey\",GIN:\"^(?!.*eq)(?!.*span)(?!.*bissau)(?!.*portu)(?!.*new).*guinea\",GNB:\"bissau|^(?=.*portu).*guinea\",GUY:\"guyana|british.?guiana\",HTI:\"haiti\",HMD:\"heard.*mcdonald\",VAT:\"holy.?see|vatican|papal.?st\",HND:\"^(?!.*brit).*honduras\",HKG:\"hong.?kong\",HUN:\"^(?!.*austr).*hungary\",ISL:\"iceland\",IND:\"india(?!.*ocea)\",IDN:\"indonesia\",IRN:\"\\\\biran|persia\",IRQ:\"\\\\biraq|mesopotamia\",IRL:\"(^ireland)|(^republic.*ireland)\",IMN:\"^(?=.*isle).*\\\\bman\",ISR:\"israel\",ITA:\"italy\",JAM:\"jamaica\",JPN:\"japan\",JEY:\"jersey\",JOR:\"jordan\",KAZ:\"kazak\",KEN:\"kenya|british.?east.?africa|east.?africa.?prot\",KIR:\"kiribati\",PRK:\"^(?=.*democrat|people|north|d.*p.*.r).*\\\\bkorea|dprk|korea.*(d.*p.*r)\",KWT:\"kuwait\",KGZ:\"kyrgyz|kirghiz\",LAO:\"\\\\blaos?\\\\b\",LVA:\"latvia\",LBN:\"lebanon\",LSO:\"lesotho|basuto\",LBR:\"liberia\",LBY:\"libya\",LIE:\"liechtenstein\",LTU:\"lithuania\",LUX:\"^(?!.*belg).*luxem\",MAC:\"maca(o|u)\",MDG:\"madagascar|malagasy\",MWI:\"malawi|nyasa\",MYS:\"malaysia\",MDV:\"maldive\",MLI:\"\\\\bmali\\\\b\",MLT:\"\\\\bmalta\",MHL:\"marshall\",MTQ:\"martinique\",MRT:\"mauritania\",MUS:\"mauritius\",MYT:\"\\\\bmayotte\",MEX:\"\\\\bmexic\",FSM:\"fed.*micronesia|micronesia.*fed\",MCO:\"monaco\",MNG:\"mongolia\",MNE:\"^(?!.*serbia).*montenegro\",MSR:\"montserrat\",MAR:\"morocco|\\\\bmaroc\",MOZ:\"mozambique\",MMR:\"myanmar|burma\",NAM:\"namibia\",NRU:\"nauru\",NPL:\"nepal\",NLD:\"^(?!.*\\\\bant)(?!.*\\\\bcarib).*netherlands\",ANT:\"^(?=.*\\\\bant).*(nether|dutch)\",NCL:\"new.?caledonia\",NZL:\"new.?zealand\",NIC:\"nicaragua\",NER:\"\\\\bniger(?!ia)\",NGA:\"nigeria\",NIU:\"niue\",NFK:\"norfolk\",MNP:\"mariana\",NOR:\"norway\",OMN:\"\\\\boman|trucial\",PAK:\"^(?!.*east).*paki?stan\",PLW:\"palau\",PSE:\"palestin|\\\\bgaza|west.?bank\",PAN:\"panama\",PNG:\"papua|new.?guinea\",PRY:\"paraguay\",PER:\"peru\",PHL:\"philippines\",PCN:\"pitcairn\",POL:\"poland\",PRT:\"portugal\",PRI:\"puerto.?rico\",QAT:\"qatar\",KOR:\"^(?!.*d.*p.*r)(?!.*democrat)(?!.*people)(?!.*north).*\\\\bkorea(?!.*d.*p.*r)\",MDA:\"moldov|b(a|e)ssarabia\",REU:\"r(e|\\xe9)union\",ROU:\"r(o|u|ou)mania\",RUS:\"\\\\brussia|soviet.?union|u\\\\.?s\\\\.?s\\\\.?r|socialist.?republics\",RWA:\"rwanda\",BLM:\"barth(e|\\xe9)lemy\",SHN:\"helena\",KNA:\"kitts|\\\\bnevis\",LCA:\"\\\\blucia\",MAF:\"^(?=.*collectivity).*martin|^(?=.*france).*martin(?!ique)|^(?=.*french).*martin(?!ique)\",SPM:\"miquelon\",VCT:\"vincent\",WSM:\"^(?!.*amer).*samoa\",SMR:\"san.?marino\",STP:\"\\\\bs(a|\\xe3)o.?tom(e|\\xe9)\",SAU:\"\\\\bsa\\\\w*.?arabia\",SEN:\"senegal\",SRB:\"^(?!.*monte).*serbia\",SYC:\"seychell\",SLE:\"sierra\",SGP:\"singapore\",SXM:\"^(?!.*martin)(?!.*saba).*maarten\",SVK:\"^(?!.*cze).*slovak\",SVN:\"slovenia\",SLB:\"solomon\",SOM:\"somali\",ZAF:\"south.africa|s\\\\\\\\..?africa\",SGS:\"south.?georgia|sandwich\",SSD:\"\\\\bs\\\\w*.?sudan\",ESP:\"spain\",LKA:\"sri.?lanka|ceylon\",SDN:\"^(?!.*\\\\bs(?!u)).*sudan\",SUR:\"surinam|dutch.?guiana\",SJM:\"svalbard\",SWZ:\"swaziland\",SWE:\"sweden\",CHE:\"switz|swiss\",SYR:\"syria\",TWN:\"taiwan|taipei|formosa|^(?!.*peo)(?=.*rep).*china\",TJK:\"tajik\",THA:\"thailand|\\\\bsiam\",MKD:\"macedonia|fyrom\",TLS:\"^(?=.*leste).*timor|^(?=.*east).*timor\",TGO:\"togo\",TKL:\"tokelau\",TON:\"tonga\",TTO:\"trinidad|tobago\",TUN:\"tunisia\",TUR:\"turkey\",TKM:\"turkmen\",TCA:\"turks\",TUV:\"tuvalu\",UGA:\"uganda\",UKR:\"ukrain\",ARE:\"emirates|^u\\\\.?a\\\\.?e\\\\.?$|united.?arab.?em\",GBR:\"united.?kingdom|britain|^u\\\\.?k\\\\.?$\",TZA:\"tanzania\",USA:\"united.?states\\\\b(?!.*islands)|\\\\bu\\\\.?s\\\\.?a\\\\.?\\\\b|^\\\\s*u\\\\.?s\\\\.?\\\\b(?!.*islands)\",UMI:\"minor.?outlying.?is\",URY:\"uruguay\",UZB:\"uzbek\",VUT:\"vanuatu|new.?hebrides\",VEN:\"venezuela\",VNM:\"^(?!.*republic).*viet.?nam|^(?=.*socialist).*viet.?nam\",VGB:\"^(?=.*\\\\bu\\\\.?\\\\s?k).*virgin|^(?=.*brit).*virgin|^(?=.*kingdom).*virgin\",VIR:\"^(?=.*\\\\bu\\\\.?\\\\s?s).*virgin|^(?=.*states).*virgin\",WLF:\"futuna|wallis\",ESH:\"western.sahara\",YEM:\"^(?!.*arab)(?!.*north)(?!.*sana)(?!.*peo)(?!.*dem)(?!.*south)(?!.*aden)(?!.*\\\\bp\\\\.?d\\\\.?r).*yemen\",YMD:\"^(?=.*peo).*yemen|^(?!.*rep)(?=.*dem).*yemen|^(?=.*south).*yemen|^(?=.*aden).*yemen|^(?=.*\\\\bp\\\\.?d\\\\.?r).*yemen\",YUG:\"yugoslavia\",ZMB:\"zambia|northern.?rhodesia\",EAZ:\"zanzibar\",ZWE:\"zimbabwe|^(?!.*northern).*rhodesia\"}},{}],95:[function(t,e,r){e.exports=[\"xx-small\",\"x-small\",\"small\",\"medium\",\"large\",\"x-large\",\"xx-large\",\"larger\",\"smaller\"]},{}],96:[function(t,e,r){e.exports=[\"normal\",\"condensed\",\"semi-condensed\",\"extra-condensed\",\"ultra-condensed\",\"expanded\",\"semi-expanded\",\"extra-expanded\",\"ultra-expanded\"]},{}],97:[function(t,e,r){e.exports=[\"normal\",\"italic\",\"oblique\"]},{}],98:[function(t,e,r){e.exports=[\"normal\",\"bold\",\"bolder\",\"lighter\",\"100\",\"200\",\"300\",\"400\",\"500\",\"600\",\"700\",\"800\",\"900\"]},{}],99:[function(t,e,r){\"use strict\";e.exports={parse:t(\"./parse\"),stringify:t(\"./stringify\")}},{\"./parse\":101,\"./stringify\":102}],100:[function(t,e,r){\"use strict\";var n=t(\"css-font-size-keywords\");e.exports={isSize:function(t){return/^[\\d\\.]/.test(t)||-1!==t.indexOf(\"/\")||-1!==n.indexOf(t)}}},{\"css-font-size-keywords\":95}],101:[function(t,e,r){\"use strict\";var n=t(\"unquote\"),i=t(\"css-global-keywords\"),a=t(\"css-system-font-keywords\"),o=t(\"css-font-weight-keywords\"),s=t(\"css-font-style-keywords\"),l=t(\"css-font-stretch-keywords\"),c=t(\"string-split-by\"),u=t(\"./lib/util\").isSize;e.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=c(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(u(e)){var d=c(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=c(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}},{\"./lib/util\":100,\"css-font-stretch-keywords\":96,\"css-font-style-keywords\":97,\"css-font-weight-keywords\":98,\"css-global-keywords\":103,\"css-system-font-keywords\":104,\"string-split-by\":305,unquote:328}],102:[function(t,e,r){\"use strict\";var n=t(\"pick-by-alias\"),i=t(\"./lib/util\").isSize,a=m(t(\"css-global-keywords\")),o=m(t(\"css-system-font-keywords\")),s=m(t(\"css-font-weight-keywords\")),l=m(t(\"css-font-style-keywords\")),c=m(t(\"css-font-stretch-keywords\")),u={normal:1,\"small-caps\":1},f={serif:1,\"sans-serif\":1,monospace:1,cursive:1,fantasy:1,\"system-ui\":1},h=\"1rem\",p=\"serif\";function d(t,e){if(t&&!e[t]&&!a[t])throw Error(\"Unknown keyword `\"+t+\"`\");return t}function m(t){for(var e={},r=0;r<t.length;r++)e[t[r]]=1;return e}e.exports=function(t){if((t=n(t,{style:\"style fontstyle fontStyle font-style slope distinction\",variant:\"variant font-variant fontVariant fontvariant var capitalization\",weight:\"weight w font-weight fontWeight fontweight\",stretch:\"stretch font-stretch fontStretch fontstretch width\",size:\"size s font-size fontSize fontsize height em emSize\",lineHeight:\"lh line-height lineHeight lineheight leading\",family:\"font family fontFamily font-family fontfamily type typeface face\",system:\"system reserved default global\"})).system)return t.system&&d(t.system,o),t.system;if(d(t.style,l),d(t.variant,u),d(t.weight,s),d(t.stretch,c),null==t.size&&(t.size=h),\"number\"==typeof t.size&&(t.size+=\"px\"),!i)throw Error(\"Bad size value `\"+t.size+\"`\");t.family||(t.family=p),Array.isArray(t.family)&&(t.family.length||(t.family=[p]),t.family=t.family.map((function(t){return f[t]?t:'\"'+t+'\"'})).join(\", \"));var e=[];return e.push(t.style),t.variant!==t.style&&e.push(t.variant),t.weight!==t.variant&&t.weight!==t.style&&e.push(t.weight),t.stretch!==t.weight&&t.stretch!==t.variant&&t.stretch!==t.style&&e.push(t.stretch),e.push(t.size+(null==t.lineHeight||\"normal\"===t.lineHeight||t.lineHeight+\"\"==\"1\"?\"\":\"/\"+t.lineHeight)),e.push(t.family),e.filter(Boolean).join(\" \")}},{\"./lib/util\":100,\"css-font-stretch-keywords\":96,\"css-font-style-keywords\":97,\"css-font-weight-keywords\":98,\"css-global-keywords\":103,\"css-system-font-keywords\":104,\"pick-by-alias\":253}],103:[function(t,e,r){e.exports=[\"inherit\",\"initial\",\"unset\"]},{}],104:[function(t,e,r){e.exports=[\"caption\",\"icon\",\"menu\",\"message-box\",\"small-caption\",\"status-bar\"]},{}],105:[function(t,e,r){\"use strict\";var n,i=t(\"type/value/is\"),a=t(\"type/value/ensure\"),o=t(\"type/plain-function/ensure\"),s=t(\"es5-ext/object/copy\"),l=t(\"es5-ext/object/normalize-options\"),c=t(\"es5-ext/object/map\"),u=Function.prototype.bind,f=Object.defineProperty,h=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&&h.call(this,t)?i:(e.value=u.call(i,r.resolveContext?r.resolveContext(this):this),f(this,t,e),this[t])},n},e.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)}))}},{\"es5-ext/object/copy\":147,\"es5-ext/object/map\":155,\"es5-ext/object/normalize-options\":156,\"type/plain-function/ensure\":321,\"type/value/ensure\":325,\"type/value/is\":326}],106:[function(t,e,r){\"use strict\";var n=t(\"type/value/is\"),i=t(\"type/plain-function/is\"),a=t(\"es5-ext/object/assign\"),o=t(\"es5-ext/object/normalize-options\"),s=t(\"es5-ext/string/#/contains\");(e.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}).gs=function(t,e,r){var l,c,u,f;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),f={get:e,set:r,configurable:l,enumerable:c},u?a(o(u),f):f}},{\"es5-ext/object/assign\":144,\"es5-ext/object/normalize-options\":156,\"es5-ext/string/#/contains\":163,\"type/plain-function/is\":322,\"type/value/is\":326}],107:[function(t,e,r){!function(t,n){n(\"object\"==typeof r&&void 0!==e?r:t.d3=t.d3||{})}(this,(function(t){\"use strict\";function e(t,e){return t<e?-1:t>e?1:t>=e?0:NaN}function r(t){var r;return 1===t.length&&(r=t,t=function(t,n){return e(r(t),n)}),{left:function(e,r,n,i){for(null==n&&(n=0),null==i&&(i=e.length);n<i;){var a=n+i>>>1;t(e[a],r)<0?n=a+1:i=a}return n},right:function(e,r,n,i){for(null==n&&(n=0),null==i&&(i=e.length);n<i;){var a=n+i>>>1;t(e[a],r)>0?i=a:n=a+1}return n}}}var n=r(e),i=n.right,a=n.left;function o(t,e){return[t,e]}function s(t){return null===t?NaN:+t}function l(t,e){var r,n,i=t.length,a=0,o=-1,l=0,c=0;if(null==e)for(;++o<i;)isNaN(r=s(t[o]))||(c+=(n=r-l)*(r-(l+=n/++a)));else for(;++o<i;)isNaN(r=s(e(t[o],o,t)))||(c+=(n=r-l)*(r-(l+=n/++a)));if(a>1)return c/(a-1)}function c(t,e){var r=l(t,e);return r?Math.sqrt(r):r}function u(t,e){var r,n,i,a=t.length,o=-1;if(null==e){for(;++o<a;)if(null!=(r=t[o])&&r>=r)for(n=i=r;++o<a;)null!=(r=t[o])&&(n>r&&(n=r),i<r&&(i=r))}else for(;++o<a;)if(null!=(r=e(t[o],o,t))&&r>=r)for(n=i=r;++o<a;)null!=(r=e(t[o],o,t))&&(n>r&&(n=r),i<r&&(i=r));return[n,i]}var f=Array.prototype,h=f.slice,p=f.map;function d(t){return function(){return t}}function m(t){return t}function g(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<i;)a[n]=t+n*r;return a}var v=Math.sqrt(50),y=Math.sqrt(10),x=Math.sqrt(2);function b(t,e,r){var n=(e-t)/Math.max(0,r),i=Math.floor(Math.log(n)/Math.LN10),a=n/Math.pow(10,i);return i>=0?(a>=v?10:a>=y?5:a>=x?2:1)*Math.pow(10,i):-Math.pow(10,-i)/(a>=v?10:a>=y?5:a>=x?2:1)}function _(t,e,r){var n=Math.abs(e-t)/Math.max(0,r),i=Math.pow(10,Math.floor(Math.log(n)/Math.LN10)),a=n/i;return a>=v?i*=10:a>=y?i*=5:a>=x&&(i*=2),e<t?-i:i}function w(t){return Math.ceil(Math.log(t.length)/Math.LN2)+1}function T(t,e,r){if(null==r&&(r=s),n=t.length){if((e=+e)<=0||n<2)return+r(t[0],0,t);if(e>=1)return+r(t[n-1],n-1,t);var n,i=(n-1)*e,a=Math.floor(i),o=+r(t[a],a,t);return o+(+r(t[a+1],a+1,t)-o)*(i-a)}}function k(t,e){var r,n,i=t.length,a=-1;if(null==e){for(;++a<i;)if(null!=(r=t[a])&&r>=r)for(n=r;++a<i;)null!=(r=t[a])&&n>r&&(n=r)}else for(;++a<i;)if(null!=(r=e(t[a],a,t))&&r>=r)for(n=r;++a<i;)null!=(r=e(t[a],a,t))&&n>r&&(n=r);return n}function A(t){if(!(i=t.length))return[];for(var e=-1,r=k(t,M),n=new Array(r);++e<r;)for(var i,a=-1,o=n[e]=new Array(i);++a<i;)o[a]=t[a][e];return n}function M(t){return t.length}t.bisect=i,t.bisectRight=i,t.bisectLeft=a,t.ascending=e,t.bisector=r,t.cross=function(t,e,r){var n,i,a,s,l=t.length,c=e.length,u=new Array(l*c);for(null==r&&(r=o),n=a=0;n<l;++n)for(s=t[n],i=0;i<c;++i,++a)u[a]=r(s,e[i]);return u},t.descending=function(t,e){return e<t?-1:e>t?1:e>=t?0:NaN},t.deviation=c,t.extent=u,t.histogram=function(){var t=m,e=u,r=w;function n(n){var a,o,s=n.length,l=new Array(s);for(a=0;a<s;++a)l[a]=t(n[a],a,n);var c=e(l),u=c[0],f=c[1],h=r(l,u,f);Array.isArray(h)||(h=_(u,f,h),h=g(Math.ceil(u/h)*h,f,h));for(var p=h.length;h[0]<=u;)h.shift(),--p;for(;h[p-1]>f;)h.pop(),--p;var d,m=new Array(p+1);for(a=0;a<=p;++a)(d=m[a]=[]).x0=a>0?h[a-1]:u,d.x1=a<p?h[a]:f;for(a=0;a<s;++a)u<=(o=l[a])&&o<=f&&m[i(h,o,0,p)].push(n[a]);return m}return n.value=function(e){return arguments.length?(t=\"function\"==typeof e?e:d(e),n):t},n.domain=function(t){return arguments.length?(e=\"function\"==typeof t?t:d([t[0],t[1]]),n):e},n.thresholds=function(t){return arguments.length?(r=\"function\"==typeof t?t:Array.isArray(t)?d(h.call(t)):d(t),n):r},n},t.thresholdFreedmanDiaconis=function(t,r,n){return t=p.call(t,s).sort(e),Math.ceil((n-r)/(2*(T(t,.75)-T(t,.25))*Math.pow(t.length,-1/3)))},t.thresholdScott=function(t,e,r){return Math.ceil((r-e)/(3.5*c(t)*Math.pow(t.length,-1/3)))},t.thresholdSturges=w,t.max=function(t,e){var r,n,i=t.length,a=-1;if(null==e){for(;++a<i;)if(null!=(r=t[a])&&r>=r)for(n=r;++a<i;)null!=(r=t[a])&&r>n&&(n=r)}else for(;++a<i;)if(null!=(r=e(t[a],a,t))&&r>=r)for(n=r;++a<i;)null!=(r=e(t[a],a,t))&&r>n&&(n=r);return n},t.mean=function(t,e){var r,n=t.length,i=n,a=-1,o=0;if(null==e)for(;++a<n;)isNaN(r=s(t[a]))?--i:o+=r;else for(;++a<n;)isNaN(r=s(e(t[a],a,t)))?--i:o+=r;if(i)return o/i},t.median=function(t,r){var n,i=t.length,a=-1,o=[];if(null==r)for(;++a<i;)isNaN(n=s(t[a]))||o.push(n);else for(;++a<i;)isNaN(n=s(r(t[a],a,t)))||o.push(n);return T(o.sort(e),.5)},t.merge=function(t){for(var e,r,n,i=t.length,a=-1,o=0;++a<i;)o+=t[a].length;for(r=new Array(o);--i>=0;)for(e=(n=t[i]).length;--e>=0;)r[--o]=n[e];return r},t.min=k,t.pairs=function(t,e){null==e&&(e=o);for(var r=0,n=t.length-1,i=t[0],a=new Array(n<0?0:n);r<n;)a[r]=e(i,i=t[++r]);return a},t.permute=function(t,e){for(var r=e.length,n=new Array(r);r--;)n[r]=t[e[r]];return n},t.quantile=T,t.range=g,t.scan=function(t,r){if(n=t.length){var n,i,a=0,o=0,s=t[o];for(null==r&&(r=e);++a<n;)(r(i=t[a],s)<0||0!==r(s,s))&&(s=i,o=a);return 0===r(s,s)?o:void 0}},t.shuffle=function(t,e,r){for(var n,i,a=(null==r?t.length:r)-(e=null==e?0:+e);a;)i=Math.random()*a--|0,n=t[a+e],t[a+e]=t[i+e],t[i+e]=n;return t},t.sum=function(t,e){var r,n=t.length,i=-1,a=0;if(null==e)for(;++i<n;)(r=+t[i])&&(a+=r);else for(;++i<n;)(r=+e(t[i],i,t))&&(a+=r);return a},t.ticks=function(t,e,r){var n,i,a,o,s=-1;if(r=+r,(t=+t)===(e=+e)&&r>0)return[t];if((n=e<t)&&(i=t,t=e,e=i),0===(o=b(t,e,r))||!isFinite(o))return[];if(o>0)for(t=Math.ceil(t/o),e=Math.floor(e/o),a=new Array(i=Math.ceil(e-t+1));++s<i;)a[s]=(t+s)*o;else for(t=Math.floor(t*o),e=Math.ceil(e*o),a=new Array(i=Math.ceil(t-e+1));++s<i;)a[s]=(t-s)/o;return n&&a.reverse(),a},t.tickIncrement=b,t.tickStep=_,t.transpose=A,t.variance=l,t.zip=function(){return A(arguments)},Object.defineProperty(t,\"__esModule\",{value:!0})}))},{}],108:[function(t,e,r){!function(t,n){n(\"object\"==typeof r&&void 0!==e?r:t.d3=t.d3||{})}(this,(function(t){\"use strict\";function e(){}function r(t,r){var n=new e;if(t instanceof e)t.each((function(t,e){n.set(e,t)}));else if(Array.isArray(t)){var i,a=-1,o=t.length;if(null==r)for(;++a<o;)n.set(a,t[a]);else for(;++a<o;)n.set(r(i=t[a],a,t),i)}else if(t)for(var s in t)n.set(s,t[s]);return n}function n(){return{}}function i(t,e,r){t[e]=r}function a(){return r()}function o(t,e,r){t.set(e,r)}function s(){}e.prototype=r.prototype={constructor:e,has:function(t){return\"$\"+t in this},get:function(t){return this[\"$\"+t]},set:function(t,e){return this[\"$\"+t]=e,this},remove:function(t){var e=\"$\"+t;return e in this&&delete this[e]},clear:function(){for(var t in this)\"$\"===t[0]&&delete this[t]},keys:function(){var t=[];for(var e in this)\"$\"===e[0]&&t.push(e.slice(1));return t},values:function(){var t=[];for(var e in this)\"$\"===e[0]&&t.push(this[e]);return t},entries:function(){var t=[];for(var e in this)\"$\"===e[0]&&t.push({key:e.slice(1),value:this[e]});return t},size:function(){var t=0;for(var e in this)\"$\"===e[0]&&++t;return t},empty:function(){for(var t in this)if(\"$\"===t[0])return!1;return!0},each:function(t){for(var e in this)\"$\"===e[0]&&t(this[e],e.slice(1),this)}};var l=r.prototype;function c(t,e){var r=new s;if(t instanceof s)t.each((function(t){r.add(t)}));else if(t){var n=-1,i=t.length;if(null==e)for(;++n<i;)r.add(t[n]);else for(;++n<i;)r.add(e(t[n],n,t))}return r}s.prototype=c.prototype={constructor:s,has:l.has,add:function(t){return this[\"$\"+(t+=\"\")]=t,this},remove:l.remove,clear:l.clear,values:l.keys,size:l.size,empty:l.empty,each:l.each},t.nest=function(){var t,e,s,l=[],c=[];function u(n,i,a,o){if(i>=l.length)return null!=t&&n.sort(t),null!=e?e(n):n;for(var s,c,f,h=-1,p=n.length,d=l[i++],m=r(),g=a();++h<p;)(f=m.get(s=d(c=n[h])+\"\"))?f.push(c):m.set(s,[c]);return m.each((function(t,e){o(g,e,u(t,i,a,o))})),g}return s={object:function(t){return u(t,0,n,i)},map:function(t){return u(t,0,a,o)},entries:function(t){return function t(r,n){if(++n>l.length)return r;var i,a=c[n-1];return null!=e&&n>=l.length?i=r.entries():(i=[],r.each((function(e,r){i.push({key:r,values:t(e,n)})}))),null!=a?i.sort((function(t,e){return a(t.key,e.key)})):i}(u(t,0,a,o),0)},key:function(t){return l.push(t),s},sortKeys:function(t){return c[l.length-1]=t,s},sortValues:function(e){return t=e,s},rollup:function(t){return e=t,s}}},t.set=c,t.map=r,t.keys=function(t){var e=[];for(var r in t)e.push(r);return e},t.values=function(t){var e=[];for(var r in t)e.push(t[r]);return e},t.entries=function(t){var e=[];for(var r in t)e.push({key:r,value:t[r]});return e},Object.defineProperty(t,\"__esModule\",{value:!0})}))},{}],109:[function(t,e,r){!function(t,n){\"object\"==typeof r&&void 0!==e?n(r):n((t=t||self).d3=t.d3||{})}(this,(function(t){\"use strict\";function e(t,e,r){t.prototype=e.prototype=r,r.constructor=t}function r(t,e){var r=Object.create(t.prototype);for(var n in e)r[n]=e[n];return r}function n(){}var i=\"\\\\s*([+-]?\\\\d+)\\\\s*\",a=\"\\\\s*([+-]?\\\\d*\\\\.?\\\\d+(?:[eE][+-]?\\\\d+)?)\\\\s*\",o=\"\\\\s*([+-]?\\\\d*\\\\.?\\\\d+(?:[eE][+-]?\\\\d+)?)%\\\\s*\",s=/^#([0-9a-f]{3,8})$/,l=new RegExp(\"^rgb\\\\(\"+[i,i,i]+\"\\\\)$\"),c=new RegExp(\"^rgb\\\\(\"+[o,o,o]+\"\\\\)$\"),u=new RegExp(\"^rgba\\\\(\"+[i,i,i,a]+\"\\\\)$\"),f=new RegExp(\"^rgba\\\\(\"+[o,o,o,a]+\"\\\\)$\"),h=new RegExp(\"^hsl\\\\(\"+[a,o,o]+\"\\\\)$\"),p=new RegExp(\"^hsla\\\\(\"+[a,o,o,a]+\"\\\\)$\"),d={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 m(){return this.rgb().formatHex()}function g(){return this.rgb().formatRgb()}function v(t){var e,r;return t=(t+\"\").trim().toLowerCase(),(e=s.exec(t))?(r=e[1].length,e=parseInt(e[1],16),6===r?y(e):3===r?new w(e>>8&15|e>>4&240,e>>4&15|240&e,(15&e)<<4|15&e,1):8===r?x(e>>24&255,e>>16&255,e>>8&255,(255&e)/255):4===r?x(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=l.exec(t))?new w(e[1],e[2],e[3],1):(e=c.exec(t))?new w(255*e[1]/100,255*e[2]/100,255*e[3]/100,1):(e=u.exec(t))?x(e[1],e[2],e[3],e[4]):(e=f.exec(t))?x(255*e[1]/100,255*e[2]/100,255*e[3]/100,e[4]):(e=h.exec(t))?M(e[1],e[2]/100,e[3]/100,1):(e=p.exec(t))?M(e[1],e[2]/100,e[3]/100,e[4]):d.hasOwnProperty(t)?y(d[t]):\"transparent\"===t?new w(NaN,NaN,NaN,0):null}function y(t){return new w(t>>16&255,t>>8&255,255&t,1)}function x(t,e,r,n){return n<=0&&(t=e=r=NaN),new w(t,e,r,n)}function b(t){return t instanceof n||(t=v(t)),t?new w((t=t.rgb()).r,t.g,t.b,t.opacity):new w}function _(t,e,r,n){return 1===arguments.length?b(t):new w(t,e,r,null==n?1:n)}function w(t,e,r,n){this.r=+t,this.g=+e,this.b=+r,this.opacity=+n}function T(){return\"#\"+A(this.r)+A(this.g)+A(this.b)}function k(){var t=this.opacity;return(1===(t=isNaN(t)?1:Math.max(0,Math.min(1,t)))?\"rgb(\":\"rgba(\")+Math.max(0,Math.min(255,Math.round(this.r)||0))+\", \"+Math.max(0,Math.min(255,Math.round(this.g)||0))+\", \"+Math.max(0,Math.min(255,Math.round(this.b)||0))+(1===t?\")\":\", \"+t+\")\")}function A(t){return((t=Math.max(0,Math.min(255,Math.round(t)||0)))<16?\"0\":\"\")+t.toString(16)}function M(t,e,r,n){return n<=0?t=e=r=NaN:r<=0||r>=1?t=e=NaN:e<=0&&(t=NaN),new L(t,e,r,n)}function S(t){if(t instanceof L)return new L(t.h,t.s,t.l,t.opacity);if(t instanceof n||(t=v(t)),!t)return new L;if(t instanceof L)return t;var e=(t=t.rgb()).r/255,r=t.g/255,i=t.b/255,a=Math.min(e,r,i),o=Math.max(e,r,i),s=NaN,l=o-a,c=(o+a)/2;return l?(s=e===o?(r-i)/l+6*(r<i):r===o?(i-e)/l+2:(e-r)/l+4,l/=c<.5?o+a:2-o-a,s*=60):l=c>0&&c<1?0:s,new L(s,l,c,t.opacity)}function E(t,e,r,n){return 1===arguments.length?S(t):new L(t,e,r,null==n?1:n)}function L(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}function C(t,e,r){return 255*(t<60?e+(r-e)*t/60:t<180?r:t<240?e+(r-e)*(240-t)/60:e)}e(n,v,{copy:function(t){return Object.assign(new this.constructor,this,t)},displayable:function(){return this.rgb().displayable()},hex:m,formatHex:m,formatHsl:function(){return S(this).formatHsl()},formatRgb:g,toString:g}),e(w,_,r(n,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new w(this.r*t,this.g*t,this.b*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new w(this.r*t,this.g*t,this.b*t,this.opacity)},rgb:function(){return this},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:T,formatHex:T,formatRgb:k,toString:k})),e(L,E,r(n,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new L(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new L(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 w(C(t>=240?t-240:t+120,i,n),C(t,i,n),C(t<120?t+240:t-120,i,n),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=this.opacity;return(1===(t=isNaN(t)?1:Math.max(0,Math.min(1,t)))?\"hsl(\":\"hsla(\")+(this.h||0)+\", \"+100*(this.s||0)+\"%, \"+100*(this.l||0)+\"%\"+(1===t?\")\":\", \"+t+\")\")}}));var P=Math.PI/180,I=180/Math.PI,O=6/29,z=3*O*O;function D(t){if(t instanceof F)return new F(t.l,t.a,t.b,t.opacity);if(t instanceof q)return G(t);t instanceof w||(t=b(t));var e,r,n=U(t.r),i=U(t.g),a=U(t.b),o=B((.2225045*n+.7168786*i+.0606169*a)/1);return n===i&&i===a?e=r=o:(e=B((.4360747*n+.3850649*i+.1430804*a)/.96422),r=B((.0139322*n+.0971045*i+.7141733*a)/.82521)),new F(116*o-16,500*(e-o),200*(o-r),t.opacity)}function R(t,e,r,n){return 1===arguments.length?D(t):new F(t,e,r,null==n?1:n)}function F(t,e,r,n){this.l=+t,this.a=+e,this.b=+r,this.opacity=+n}function B(t){return t>.008856451679035631?Math.pow(t,1/3):t/z+4/29}function N(t){return t>O?t*t*t:z*(t-4/29)}function j(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function U(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function V(t){if(t instanceof q)return new q(t.h,t.c,t.l,t.opacity);if(t instanceof F||(t=D(t)),0===t.a&&0===t.b)return new q(NaN,0<t.l&&t.l<100?0:NaN,t.l,t.opacity);var e=Math.atan2(t.b,t.a)*I;return new q(e<0?e+360:e,Math.sqrt(t.a*t.a+t.b*t.b),t.l,t.opacity)}function H(t,e,r,n){return 1===arguments.length?V(t):new q(t,e,r,null==n?1:n)}function q(t,e,r,n){this.h=+t,this.c=+e,this.l=+r,this.opacity=+n}function G(t){if(isNaN(t.h))return new F(t.l,0,0,t.opacity);var e=t.h*P;return new F(t.l,Math.cos(e)*t.c,Math.sin(e)*t.c,t.opacity)}e(F,R,r(n,{brighter:function(t){return new F(this.l+18*(null==t?1:t),this.a,this.b,this.opacity)},darker:function(t){return new F(this.l-18*(null==t?1:t),this.a,this.b,this.opacity)},rgb:function(){var t=(this.l+16)/116,e=isNaN(this.a)?t:t+this.a/500,r=isNaN(this.b)?t:t-this.b/200;return new w(j(3.1338561*(e=.96422*N(e))-1.6168667*(t=1*N(t))-.4906146*(r=.82521*N(r))),j(-.9787684*e+1.9161415*t+.033454*r),j(.0719453*e-.2289914*t+1.4052427*r),this.opacity)}})),e(q,H,r(n,{brighter:function(t){return new q(this.h,this.c,this.l+18*(null==t?1:t),this.opacity)},darker:function(t){return new q(this.h,this.c,this.l-18*(null==t?1:t),this.opacity)},rgb:function(){return G(this).rgb()}}));var Y=-.14861,W=1.78277,X=-.29227,Z=-.90649,J=1.97294,K=J*Z,Q=J*W,$=W*X-Z*Y;function tt(t){if(t instanceof rt)return new rt(t.h,t.s,t.l,t.opacity);t instanceof w||(t=b(t));var e=t.r/255,r=t.g/255,n=t.b/255,i=($*n+K*e-Q*r)/($+K-Q),a=n-i,o=(J*(r-i)-X*a)/Z,s=Math.sqrt(o*o+a*a)/(J*i*(1-i)),l=s?Math.atan2(o,a)*I-120:NaN;return new rt(l<0?l+360:l,s,i,t.opacity)}function et(t,e,r,n){return 1===arguments.length?tt(t):new rt(t,e,r,null==n?1:n)}function rt(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}e(rt,et,r(n,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new rt(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new rt(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=isNaN(this.h)?0:(this.h+120)*P,e=+this.l,r=isNaN(this.s)?0:this.s*e*(1-e),n=Math.cos(t),i=Math.sin(t);return new w(255*(e+r*(Y*n+W*i)),255*(e+r*(X*n+Z*i)),255*(e+r*(J*n)),this.opacity)}})),t.color=v,t.cubehelix=et,t.gray=function(t,e){return new F(t,0,0,null==e?1:e)},t.hcl=H,t.hsl=E,t.lab=R,t.lch=function(t,e,r,n){return 1===arguments.length?V(t):new q(r,e,t,null==n?1:n)},t.rgb=_,Object.defineProperty(t,\"__esModule\",{value:!0})}))},{}],110:[function(t,e,r){!function(t,n){\"object\"==typeof r&&void 0!==e?n(r):n((t=t||self).d3=t.d3||{})}(this,(function(t){\"use strict\";var e={value:function(){}};function r(){for(var t,e=0,r=arguments.length,i={};e<r;++e){if(!(t=arguments[e]+\"\")||t in i||/[\\s.]/.test(t))throw new Error(\"illegal type: \"+t);i[t]=[]}return new n(i)}function n(t){this._=t}function i(t,e){return t.trim().split(/^|\\s+/).map((function(t){var r=\"\",n=t.indexOf(\".\");if(n>=0&&(r=t.slice(n+1),t=t.slice(0,n)),t&&!e.hasOwnProperty(t))throw new Error(\"unknown type: \"+t);return{type:t,name:r}}))}function a(t,e){for(var r,n=0,i=t.length;n<i;++n)if((r=t[n]).name===e)return r.value}function o(t,r,n){for(var i=0,a=t.length;i<a;++i)if(t[i].name===r){t[i]=e,t=t.slice(0,i).concat(t.slice(i+1));break}return null!=n&&t.push({name:r,value:n}),t}n.prototype=r.prototype={constructor:n,on:function(t,e){var r,n=this._,s=i(t+\"\",n),l=-1,c=s.length;if(!(arguments.length<2)){if(null!=e&&\"function\"!=typeof e)throw new Error(\"invalid callback: \"+e);for(;++l<c;)if(r=(t=s[l]).type)n[r]=o(n[r],t.name,e);else if(null==e)for(r in n)n[r]=o(n[r],t.name,null);return this}for(;++l<c;)if((r=(t=s[l]).type)&&(r=a(n[r],t.name)))return r},copy:function(){var t={},e=this._;for(var r in e)t[r]=e[r].slice();return new n(t)},call:function(t,e){if((r=arguments.length-2)>0)for(var r,n,i=new Array(r),a=0;a<r;++a)i[a]=arguments[a+2];if(!this._.hasOwnProperty(t))throw new Error(\"unknown type: \"+t);for(a=0,r=(n=this._[t]).length;a<r;++a)n[a].value.apply(e,i)},apply:function(t,e,r){if(!this._.hasOwnProperty(t))throw new Error(\"unknown type: \"+t);for(var n=this._[t],i=0,a=n.length;i<a;++i)n[i].value.apply(e,r)}},t.dispatch=r,Object.defineProperty(t,\"__esModule\",{value:!0})}))},{}],111:[function(t,e,r){!function(n,i){\"object\"==typeof r&&void 0!==e?i(r,t(\"d3-quadtree\"),t(\"d3-collection\"),t(\"d3-dispatch\"),t(\"d3-timer\")):i(n.d3=n.d3||{},n.d3,n.d3,n.d3,n.d3)}(this,(function(t,e,r,n,i){\"use strict\";function a(t){return function(){return t}}function o(){return 1e-6*(Math.random()-.5)}function s(t){return t.x+t.vx}function l(t){return t.y+t.vy}function c(t){return t.index}function u(t,e){var r=t.get(e);if(!r)throw new Error(\"missing: \"+e);return r}function f(t){return t.x}function h(t){return t.y}var p=Math.PI*(3-Math.sqrt(5));t.forceCenter=function(t,e){var r;function n(){var n,i,a=r.length,o=0,s=0;for(n=0;n<a;++n)o+=(i=r[n]).x,s+=i.y;for(o=o/a-t,s=s/a-e,n=0;n<a;++n)(i=r[n]).x-=o,i.y-=s}return null==t&&(t=0),null==e&&(e=0),n.initialize=function(t){r=t},n.x=function(e){return arguments.length?(t=+e,n):t},n.y=function(t){return arguments.length?(e=+t,n):e},n},t.forceCollide=function(t){var r,n,i=1,c=1;function u(){for(var t,a,u,h,p,d,m,g=r.length,v=0;v<c;++v)for(a=e.quadtree(r,s,l).visitAfter(f),t=0;t<g;++t)u=r[t],d=n[u.index],m=d*d,h=u.x+u.vx,p=u.y+u.vy,a.visit(y);function y(t,e,r,n,a){var s=t.data,l=t.r,c=d+l;if(!s)return e>h+c||n<h-c||r>p+c||a<p-c;if(s.index>u.index){var f=h-s.x-s.vx,g=p-s.y-s.vy,v=f*f+g*g;v<c*c&&(0===f&&(v+=(f=o())*f),0===g&&(v+=(g=o())*g),v=(c-(v=Math.sqrt(v)))/v*i,u.vx+=(f*=v)*(c=(l*=l)/(m+l)),u.vy+=(g*=v)*c,s.vx-=f*(c=1-c),s.vy-=g*c)}}}function f(t){if(t.data)return t.r=n[t.data.index];for(var e=t.r=0;e<4;++e)t[e]&&t[e].r>t.r&&(t.r=t[e].r)}function h(){if(r){var e,i,a=r.length;for(n=new Array(a),e=0;e<a;++e)i=r[e],n[i.index]=+t(i,e,r)}}return\"function\"!=typeof t&&(t=a(null==t?1:+t)),u.initialize=function(t){r=t,h()},u.iterations=function(t){return arguments.length?(c=+t,u):c},u.strength=function(t){return arguments.length?(i=+t,u):i},u.radius=function(e){return arguments.length?(t=\"function\"==typeof e?e:a(+e),h(),u):t},u},t.forceLink=function(t){var e,n,i,s,l,f=c,h=function(t){return 1/Math.min(s[t.source.index],s[t.target.index])},p=a(30),d=1;function m(r){for(var i=0,a=t.length;i<d;++i)for(var s,c,u,f,h,p,m,g=0;g<a;++g)c=(s=t[g]).source,f=(u=s.target).x+u.vx-c.x-c.vx||o(),h=u.y+u.vy-c.y-c.vy||o(),f*=p=((p=Math.sqrt(f*f+h*h))-n[g])/p*r*e[g],h*=p,u.vx-=f*(m=l[g]),u.vy-=h*m,c.vx+=f*(m=1-m),c.vy+=h*m}function g(){if(i){var a,o,c=i.length,h=t.length,p=r.map(i,f);for(a=0,s=new Array(c);a<h;++a)(o=t[a]).index=a,\"object\"!=typeof o.source&&(o.source=u(p,o.source)),\"object\"!=typeof o.target&&(o.target=u(p,o.target)),s[o.source.index]=(s[o.source.index]||0)+1,s[o.target.index]=(s[o.target.index]||0)+1;for(a=0,l=new Array(h);a<h;++a)o=t[a],l[a]=s[o.source.index]/(s[o.source.index]+s[o.target.index]);e=new Array(h),v(),n=new Array(h),y()}}function v(){if(i)for(var r=0,n=t.length;r<n;++r)e[r]=+h(t[r],r,t)}function y(){if(i)for(var e=0,r=t.length;e<r;++e)n[e]=+p(t[e],e,t)}return null==t&&(t=[]),m.initialize=function(t){i=t,g()},m.links=function(e){return arguments.length?(t=e,g(),m):t},m.id=function(t){return arguments.length?(f=t,m):f},m.iterations=function(t){return arguments.length?(d=+t,m):d},m.strength=function(t){return arguments.length?(h=\"function\"==typeof t?t:a(+t),v(),m):h},m.distance=function(t){return arguments.length?(p=\"function\"==typeof t?t:a(+t),y(),m):p},m},t.forceManyBody=function(){var t,r,n,i,s=a(-30),l=1,c=1/0,u=.81;function p(i){var a,o=t.length,s=e.quadtree(t,f,h).visitAfter(m);for(n=i,a=0;a<o;++a)r=t[a],s.visit(g)}function d(){if(t){var e,r,n=t.length;for(i=new Array(n),e=0;e<n;++e)r=t[e],i[r.index]=+s(r,e,t)}}function m(t){var e,r,n,a,o,s=0,l=0;if(t.length){for(n=a=o=0;o<4;++o)(e=t[o])&&(r=Math.abs(e.value))&&(s+=e.value,l+=r,n+=r*e.x,a+=r*e.y);t.x=n/l,t.y=a/l}else{(e=t).x=e.data.x,e.y=e.data.y;do{s+=i[e.data.index]}while(e=e.next)}t.value=s}function g(t,e,a,s){if(!t.value)return!0;var f=t.x-r.x,h=t.y-r.y,p=s-e,d=f*f+h*h;if(p*p/u<d)return d<c&&(0===f&&(d+=(f=o())*f),0===h&&(d+=(h=o())*h),d<l&&(d=Math.sqrt(l*d)),r.vx+=f*t.value*n/d,r.vy+=h*t.value*n/d),!0;if(!(t.length||d>=c)){(t.data!==r||t.next)&&(0===f&&(d+=(f=o())*f),0===h&&(d+=(h=o())*h),d<l&&(d=Math.sqrt(l*d)));do{t.data!==r&&(p=i[t.data.index]*n/d,r.vx+=f*p,r.vy+=h*p)}while(t=t.next)}}return p.initialize=function(e){t=e,d()},p.strength=function(t){return arguments.length?(s=\"function\"==typeof t?t:a(+t),d(),p):s},p.distanceMin=function(t){return arguments.length?(l=t*t,p):Math.sqrt(l)},p.distanceMax=function(t){return arguments.length?(c=t*t,p):Math.sqrt(c)},p.theta=function(t){return arguments.length?(u=t*t,p):Math.sqrt(u)},p},t.forceRadial=function(t,e,r){var n,i,o,s=a(.1);function l(t){for(var a=0,s=n.length;a<s;++a){var l=n[a],c=l.x-e||1e-6,u=l.y-r||1e-6,f=Math.sqrt(c*c+u*u),h=(o[a]-f)*i[a]*t/f;l.vx+=c*h,l.vy+=u*h}}function c(){if(n){var e,r=n.length;for(i=new Array(r),o=new Array(r),e=0;e<r;++e)o[e]=+t(n[e],e,n),i[e]=isNaN(o[e])?0:+s(n[e],e,n)}}return\"function\"!=typeof t&&(t=a(+t)),null==e&&(e=0),null==r&&(r=0),l.initialize=function(t){n=t,c()},l.strength=function(t){return arguments.length?(s=\"function\"==typeof t?t:a(+t),c(),l):s},l.radius=function(e){return arguments.length?(t=\"function\"==typeof e?e:a(+e),c(),l):t},l.x=function(t){return arguments.length?(e=+t,l):e},l.y=function(t){return arguments.length?(r=+t,l):r},l},t.forceSimulation=function(t){var e,a=1,o=.001,s=1-Math.pow(o,1/300),l=0,c=.6,u=r.map(),f=i.timer(d),h=n.dispatch(\"tick\",\"end\");function d(){m(),h.call(\"tick\",e),a<o&&(f.stop(),h.call(\"end\",e))}function m(r){var n,i,o=t.length;void 0===r&&(r=1);for(var f=0;f<r;++f)for(a+=(l-a)*s,u.each((function(t){t(a)})),n=0;n<o;++n)null==(i=t[n]).fx?i.x+=i.vx*=c:(i.x=i.fx,i.vx=0),null==i.fy?i.y+=i.vy*=c:(i.y=i.fy,i.vy=0);return e}function g(){for(var e,r=0,n=t.length;r<n;++r){if((e=t[r]).index=r,null!=e.fx&&(e.x=e.fx),null!=e.fy&&(e.y=e.fy),isNaN(e.x)||isNaN(e.y)){var i=10*Math.sqrt(r),a=r*p;e.x=i*Math.cos(a),e.y=i*Math.sin(a)}(isNaN(e.vx)||isNaN(e.vy))&&(e.vx=e.vy=0)}}function v(e){return e.initialize&&e.initialize(t),e}return null==t&&(t=[]),g(),e={tick:m,restart:function(){return f.restart(d),e},stop:function(){return f.stop(),e},nodes:function(r){return arguments.length?(t=r,g(),u.each(v),e):t},alpha:function(t){return arguments.length?(a=+t,e):a},alphaMin:function(t){return arguments.length?(o=+t,e):o},alphaDecay:function(t){return arguments.length?(s=+t,e):+s},alphaTarget:function(t){return arguments.length?(l=+t,e):l},velocityDecay:function(t){return arguments.length?(c=1-t,e):1-c},force:function(t,r){return arguments.length>1?(null==r?u.remove(t):u.set(t,v(r)),e):u.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;c<u;++c)(o=(i=e-(s=t[c]).x)*i+(a=r-s.y)*a)<n&&(l=s,n=o);return l},on:function(t,r){return arguments.length>1?(h.on(t,r),e):h.on(t)}}},t.forceX=function(t){var e,r,n,i=a(.1);function o(t){for(var i,a=0,o=e.length;a<o;++a)(i=e[a]).vx+=(n[a]-i.x)*r[a]*t}function s(){if(e){var a,o=e.length;for(r=new Array(o),n=new Array(o),a=0;a<o;++a)r[a]=isNaN(n[a]=+t(e[a],a,e))?0:+i(e[a],a,e)}}return\"function\"!=typeof t&&(t=a(null==t?0:+t)),o.initialize=function(t){e=t,s()},o.strength=function(t){return arguments.length?(i=\"function\"==typeof t?t:a(+t),s(),o):i},o.x=function(e){return arguments.length?(t=\"function\"==typeof e?e:a(+e),s(),o):t},o},t.forceY=function(t){var e,r,n,i=a(.1);function o(t){for(var i,a=0,o=e.length;a<o;++a)(i=e[a]).vy+=(n[a]-i.y)*r[a]*t}function s(){if(e){var a,o=e.length;for(r=new Array(o),n=new Array(o),a=0;a<o;++a)r[a]=isNaN(n[a]=+t(e[a],a,e))?0:+i(e[a],a,e)}}return\"function\"!=typeof t&&(t=a(null==t?0:+t)),o.initialize=function(t){e=t,s()},o.strength=function(t){return arguments.length?(i=\"function\"==typeof t?t:a(+t),s(),o):i},o.y=function(e){return arguments.length?(t=\"function\"==typeof e?e:a(+e),s(),o):t},o},Object.defineProperty(t,\"__esModule\",{value:!0})}))},{\"d3-collection\":108,\"d3-dispatch\":110,\"d3-quadtree\":118,\"d3-timer\":123}],112:[function(t,e,r){!function(t,n){\"object\"==typeof r&&void 0!==e?n(r):n((t=\"undefined\"!=typeof globalThis?globalThis:t||self).d3=t.d3||{})}(this,(function(t){\"use strict\";function e(t,e){if((r=(t=e?t.toExponential(e-1):t.toExponential()).indexOf(\"e\"))<0)return null;var r,n=t.slice(0,r);return[n.length>1?n[0]+n.slice(2):n,+t.slice(r+1)]}function r(t){return(t=e(Math.abs(t)))?t[1]:NaN}var n,i=/^(?:(.)?([<>=^]))?([+\\-( ])?([$#])?(0)?(\\d+)?(,)?(\\.\\d+)?(~)?([a-z%])?$/i;function a(t){if(!(e=i.exec(t)))throw new Error(\"invalid format: \"+t);var e;return new o({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 o(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 s(t,r){var n=e(t,r);if(!n)return t+\"\";var i=n[0],a=n[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\")}a.prototype=o.prototype,o.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 l={\"%\":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 s(100*t,e)},r:s,s:function(t,r){var i=e(t,r);if(!i)return t+\"\";var a=i[0],o=i[1],s=o-(n=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\")+e(t,Math.max(0,r+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 u,f=Array.prototype.map,h=[\"y\",\"z\",\"a\",\"f\",\"p\",\"n\",\"\\xb5\",\"m\",\"\",\"k\",\"M\",\"G\",\"T\",\"P\",\"E\",\"Z\",\"Y\"];function p(t){var e,i,o=void 0===t.grouping||void 0===t.thousands?c:(e=f.call(t.grouping,Number),i=t.thousands+\"\",function(t,r){for(var n=t.length,a=[],o=0,s=e[0],l=0;n>0&&s>0&&(l+s+1>r&&(s=Math.max(1,r-l)),a.push(t.substring(n-=s,n+s)),!((l+=s+1)>r));)s=e[o=(o+1)%e.length];return a.reverse().join(i)}),s=void 0===t.currency?\"\":t.currency[0]+\"\",u=void 0===t.currency?\"\":t.currency[1]+\"\",p=void 0===t.decimal?\".\":t.decimal+\"\",d=void 0===t.numerals?c:function(t){return function(e){return e.replace(/[0-9]/g,(function(e){return t[+e]}))}}(f.call(t.numerals,String)),m=void 0===t.percent?\"%\":t.percent+\"\",g=void 0===t.minus?\"-\":t.minus+\"\",v=void 0===t.nan?\"NaN\":t.nan+\"\";function y(t){var e=(t=a(t)).fill,r=t.align,i=t.sign,c=t.symbol,f=t.zero,y=t.width,x=t.comma,b=t.precision,_=t.trim,w=t.type;\"n\"===w?(x=!0,w=\"g\"):l[w]||(void 0===b&&(b=12),_=!0,w=\"g\"),(f||\"0\"===e&&\"=\"===r)&&(f=!0,e=\"0\",r=\"=\");var T=\"$\"===c?s:\"#\"===c&&/[boxX]/.test(w)?\"0\"+w.toLowerCase():\"\",k=\"$\"===c?u:/[%p]/.test(w)?m:\"\",A=l[w],M=/[defgprs%]/.test(w);function S(t){var a,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)?v:A(Math.abs(t),b),_&&(t=function(t){t:for(var e,r=t.length,n=1,i=-1;n<r;++n)switch(t[n]){case\".\":i=e=n;break;case\"0\":0===i&&(i=n),e=n;break;default:if(!+t[n])break t;i>0&&(i=0)}return i>0?t.slice(0,i)+t.slice(e+1):t}(t)),m&&0==+t&&\"+\"!==i&&(m=!1),c=(m?\"(\"===i?i:g:\"-\"===i||\"(\"===i?\"\":i)+c,u=(\"s\"===w?h[8+n/3]:\"\")+u+(m&&\"(\"===i?\")\":\"\"),M)for(a=-1,s=t.length;++a<s;)if(48>(l=t.charCodeAt(a))||l>57){u=(46===l?p+t.slice(a+1):t.slice(a))+u,t=t.slice(0,a);break}}x&&!f&&(t=o(t,1/0));var S=c.length+t.length+u.length,E=S<y?new Array(y-S+1).join(e):\"\";switch(x&&f&&(t=o(E+t,E.length?y-u.length:1/0),E=\"\"),r){case\"<\":t=c+t+u+E;break;case\"=\":t=c+E+t+u;break;case\"^\":t=E.slice(0,S=E.length>>1)+c+t+u+E.slice(S);break;default:t=E+c+t+u}return d(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:y,formatPrefix:function(t,e){var n=y(((t=a(t)).type=\"f\",t)),i=3*Math.max(-8,Math.min(8,Math.floor(r(e)/3))),o=Math.pow(10,-i),s=h[8+i/3];return function(t){return n(o*t)+s}}}}function d(e){return u=p(e),t.format=u.format,t.formatPrefix=u.formatPrefix,u}d({decimal:\".\",thousands:\",\",grouping:[3],currency:[\"$\",\"\"],minus:\"-\"}),t.FormatSpecifier=o,t.formatDefaultLocale=d,t.formatLocale=p,t.formatSpecifier=a,t.precisionFixed=function(t){return Math.max(0,-r(Math.abs(t)))},t.precisionPrefix=function(t,e){return Math.max(0,3*Math.max(-8,Math.min(8,Math.floor(r(e)/3)))-r(Math.abs(t)))},t.precisionRound=function(t,e){return t=Math.abs(t),e=Math.abs(e)-t,Math.max(0,r(e)-r(t))+1},Object.defineProperty(t,\"__esModule\",{value:!0})}))},{}],113:[function(t,e,r){!function(n,i){\"object\"==typeof r&&void 0!==e?i(r,t(\"d3-geo\"),t(\"d3-array\")):i(n.d3=n.d3||{},n.d3,n.d3)}(this,(function(t,e,r){\"use strict\";var n=Math.abs,i=Math.atan,a=Math.atan2,o=Math.cos,s=Math.exp,l=Math.floor,c=Math.log,u=Math.max,f=Math.min,h=Math.pow,p=Math.round,d=Math.sign||function(t){return t>0?1:t<0?-1:0},m=Math.sin,g=Math.tan,v=1e-6,y=Math.PI,x=y/2,b=y/4,_=Math.SQRT1_2,w=L(2),T=L(y),k=2*y,A=180/y,M=y/180;function S(t){return t>1?x:t<-1?-x:Math.asin(t)}function E(t){return t>1?0:t<-1?y:Math.acos(t)}function L(t){return t>0?Math.sqrt(t):0}function C(t){return(s(t)-s(-t))/2}function P(t){return(s(t)+s(-t))/2}function I(t){var e=g(t/2),r=2*c(o(t/2))/(e*e);function i(t,e){var n=o(t),i=o(e),a=m(e),s=i*n,l=-((1-s?c((1+s)/2)/(1-s):-.5)+r/(1+s));return[l*i*m(t),l*a]}return i.invert=function(e,i){var s,l=L(e*e+i*i),u=-t/2,f=50;if(!l)return[0,0];do{var h=u/2,p=o(h),d=m(h),g=d/p,y=-c(n(p));u-=s=(2/g*y-r*g-l)/(-y/(d*d)+1-r/(2*p*p))*(p<0?.7:1)}while(n(s)>v&&--f>0);var x=m(u);return[a(e*x,l*o(u)),S(i*x/l)]},i}function O(t,e){var r=o(e),n=function(t){return t?t/Math.sin(t):1}(E(r*o(t/=2)));return[2*r*m(t)*n,m(e)*n]}function z(t){var e=m(t),r=o(t),i=t>=0?1:-1,s=g(i*t),l=(1+e-r)/2;function c(t,n){var c=o(n),u=o(t/=2);return[(1+c)*m(t),(i*n>-a(u,s)-.001?0:10*-i)+l+m(n)*r-(1+c)*e*u]}return c.invert=function(t,c){var u=0,f=0,h=50;do{var p=o(u),d=m(u),g=o(f),y=m(f),x=1+g,b=x*d-t,_=l+y*r-x*e*p-c,w=x*p/2,T=-d*y,k=e*x*d/2,A=r*g+e*p*y,M=T*k-A*w,S=(_*T-b*A)/M/2,E=(b*k-_*w)/M;n(E)>2&&(E/=2),u-=S,f-=E}while((n(S)>v||n(E)>v)&&--h>0);return i*f>-a(o(u),s)-.001?[2*u,f]:null},c}function D(t,e){var r=g(e/2),n=L(1-r*r),i=1+n*o(t/=2),a=m(t)*n/i,s=r/i,l=a*a,c=s*s;return[4/3*a*(3+l-3*c),4/3*s*(3+3*l-c)]}O.invert=function(t,e){if(!(t*t+4*e*e>y*y+v)){var r=t,i=e,a=25;do{var s,l=m(r),c=m(r/2),u=o(r/2),f=m(i),h=o(i),p=m(2*i),d=f*f,g=h*h,x=c*c,b=1-g*u*u,_=b?E(h*u)*L(s=1/b):s=0,w=2*_*h*c-t,T=_*f-e,k=s*(g*x+_*h*u*d),A=s*(.5*l*p-2*_*f*c),M=.25*s*(p*c-_*f*g*l),S=s*(d*u+_*x*h),C=A*M-S*k;if(!C)break;var P=(T*A-w*S)/C,I=(w*M-T*k)/C;r-=P,i-=I}while((n(P)>v||n(I)>v)&&--a>0);return[r,i]}},D.invert=function(t,e){if(e*=3/8,!(t*=3/8)&&n(e)>1)return null;var r=1+t*t+e*e,i=L((r-L(r*r-4*e*e))/2),s=S(i)/3,l=i?function(t){return c(t+L(t*t-1))}(n(e/i))/3:function(t){return c(t+L(t*t+1))}(n(t))/3,u=o(s),f=P(l),h=f*f-u*u;return[2*d(t)*a(C(l)*u,.25-h),2*d(e)*a(f*m(s),.25+h)]};var R=L(8),F=c(1+w);function B(t,e){var r=n(e);return r<b?[t,c(g(b+e/2))]:[t*o(r)*(2*w-1/m(r)),d(e)*(2*w*(r-b)-c(g(r/2)))]}function N(t){var r=2*y/t;function s(t,i){var s=e.geoAzimuthalEquidistantRaw(t,i);if(n(t)>x){var l=a(s[1],s[0]),c=L(s[0]*s[0]+s[1]*s[1]),u=r*p((l-x)/r)+x,f=a(m(l-=u),2-o(l));l=u+S(y/c*m(f))-f,s[0]=c*o(l),s[1]=c*m(l)}return s}return s.invert=function(t,n){var s=L(t*t+n*n);if(s>x){var l=a(n,t),c=r*p((l-x)/r)+x,u=l>c?-1:1,f=s*o(c-l),h=1/g(u*E((f-y)/L(y*(y-2*f)+s*s)));l=c+2*i((h+u*L(h*h-3))/3),t=s*o(l),n=s*m(l)}return e.geoAzimuthalEquidistantRaw.invert(t,n)},s}function j(t,r){if(arguments.length<2&&(r=t),1===r)return e.geoAzimuthalEqualAreaRaw;if(r===1/0)return U;function n(n,i){var a=e.geoAzimuthalEqualAreaRaw(n/r,i);return a[0]*=t,a}return n.invert=function(n,i){var a=e.geoAzimuthalEqualAreaRaw.invert(n/t,i);return a[0]*=r,a},n}function U(t,e){return[t*o(e)/o(e/=2),2*m(e)]}function V(t,e,r){var i,a,o,s=100;r=void 0===r?0:+r,e=+e;do{(a=t(r))===(o=t(r+v))&&(o=a+v),r-=i=-1*v*(a-e)/(a-o)}while(s-- >0&&n(i)>v);return s<0?NaN:r}function H(t,e,r){return void 0===e&&(e=40),void 0===r&&(r=1e-12),function(i,a,o,s){var l,c,u;o=void 0===o?0:+o,s=void 0===s?0:+s;for(var f=0;f<e;f++){var h=t(o,s),p=h[0]-i,d=h[1]-a;if(n(p)<r&&n(d)<r)break;var m=p*p+d*d;if(m>l)o-=c/=2,s-=u/=2;else{l=m;var g=(o>0?-1:1)*r,v=(s>0?-1:1)*r,y=t(o+g,s),x=t(o,s+v),b=(y[0]-h[0])/g,_=(y[1]-h[1])/g,w=(x[0]-h[0])/v,T=(x[1]-h[1])/v,k=T*b-_*w,A=(n(k)<.5?.5:1)/k;if(o+=c=(d*w-p*T)*A,s+=u=(p*_-d*b)*A,n(c)<r&&n(u)<r)break}}return[o,s]}}function q(){var t=j(1.68,2);function e(e,r){if(e+r<-1.4){var n=(e-r+1.6)*(e+r+1.4)/8;e+=n,r-=.8*n*m(r+y/2)}var i=t(e,r),a=(1-o(e*r))/12;return i[1]<0&&(i[0]*=1+a),i[1]>0&&(i[1]*=1+a/1.5*i[0]*i[0]),i}return e.invert=H(e),e}function G(t,e){var r,i=t*m(e),a=30;do{e-=r=(e+m(e)-i)/(1+o(e))}while(n(r)>v&&--a>0);return e/2}function Y(t,e,r){function n(n,i){return[t*n*o(i=G(r,i)),e*m(i)]}return n.invert=function(n,i){return i=S(i/e),[n/(t*o(i)),S((2*i+m(2*i))/r)]},n}B.invert=function(t,e){if((a=n(e))<F)return[t,2*i(s(e))-x];var r,a,l=b,u=25;do{var f=o(l/2),h=g(l/2);l-=r=(R*(l-b)-c(h)-a)/(R-f*f/(2*h))}while(n(r)>1e-12&&--u>0);return[t/(o(l)*(R-1/m(l))),d(e)*l]},U.invert=function(t,e){var r=2*S(e/2);return[t*o(r/2)/o(r),r]};var W=Y(w/x,w,y);var X=2.00276,Z=1.11072;function J(t,e){var r=G(y,e);return[X*t/(1/o(e)+Z/o(r)),(e+w*m(r))/X]}function K(t){var r=0,n=e.geoProjectionMutator(t),i=n(r);return i.parallel=function(t){return arguments.length?n(r=t*M):r*A},i}function Q(t,e){return[t*o(e),e]}function $(t){if(!t)return Q;var e=1/g(t);function r(r,n){var i=e+t-n,a=i?r*o(n)/i:i;return[i*m(a),e-i*o(a)]}return r.invert=function(r,n){var i=L(r*r+(n=e-n)*n),s=e+t-i;return[i/o(s)*a(r,n),s]},r}function tt(t){function e(e,r){var n=x-r,i=n?e*t*m(n)/n:n;return[n*m(i)/t,x-n*o(i)]}return e.invert=function(e,r){var n=e*t,i=x-r,o=L(n*n+i*i),s=a(n,i);return[(o?o/m(o):1)*s/t,x-o]},e}J.invert=function(t,e){var r,i,a=X*e,s=e<0?-b:b,l=25;do{i=a-w*m(s),s-=r=(m(2*s)+2*s-y*m(i))/(2*o(2*s)+2+y*o(i)*w*o(s))}while(n(r)>v&&--l>0);return i=a-w*m(s),[t*(1/o(i)+Z/o(s))/X,i]},Q.invert=function(t,e){return[t/o(e),e]};var et=Y(1,4/y,y);function rt(t,e,r,i,s,l){var c,u=o(l);if(n(t)>1||n(l)>1)c=E(r*s+e*i*u);else{var f=m(t/2),h=m(l/2);c=2*S(L(f*f+e*i*h*h))}return n(c)>v?[c,a(i*m(l),e*s-r*i*u)]:[0,0]}function nt(t,e,r){return E((t*t+e*e-r*r)/(2*t*e))}function it(t){return t-2*y*l((t+y)/(2*y))}function at(t,e,r){for(var n,i=[[t[0],t[1],m(t[1]),o(t[1])],[e[0],e[1],m(e[1]),o(e[1])],[r[0],r[1],m(r[1]),o(r[1])]],a=i[2],s=0;s<3;++s,a=n)n=i[s],a.v=rt(n[1]-a[1],a[3],a[2],n[3],n[2],n[0]-a[0]),a.point=[0,0];var l=nt(i[0].v[0],i[2].v[0],i[1].v[0]),c=nt(i[0].v[0],i[1].v[0],i[2].v[0]),u=y-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]*o(l),2*(i[0].point[1]=i[1].point[1]=i[2].v[0]*m(l))];return function(t,e){var r,n=m(e),a=o(e),s=new Array(3);for(r=0;r<3;++r){var l=i[r];if(s[r]=rt(e-l[1],l[3],l[2],a,n,t-l[0]),!s[r][0])return l.point;s[r][1]=it(s[r][1]-l.v[1])}var h=f.slice();for(r=0;r<3;++r){var p=2==r?0:r+1,d=nt(i[r].v[0],s[r][0],s[p][0]);s[r][1]<0&&(d=-d),r?1==r?(d=c-d,h[0]-=s[r][0]*o(d),h[1]-=s[r][0]*m(d)):(d=u-d,h[0]+=s[r][0]*o(d),h[1]+=s[r][0]*m(d)):(h[0]+=s[r][0]*o(d),h[1]-=s[r][0]*m(d))}return h[0]/=3,h[1]/=3,h}}function ot(t){return t[0]*=M,t[1]*=M,t}function st(t,r,n){var i=e.geoCentroid({type:\"MultiPoint\",coordinates:[t,r,n]}),a=[-i[0],-i[1]],o=e.geoRotation(a),s=at(ot(o(t)),ot(o(r)),ot(o(n)));s.invert=H(s);var l=e.geoProjection(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 lt(t,e){var r=L(1-m(e));return[2/T*t*r,T*(1-r)]}function ct(t){var e=g(t);function r(t,r){return[t,(t?t/m(t):1)*(m(r)*o(t)-e*o(r))]}return r.invert=e?function(t,r){t&&(r*=m(t)/t);var n=o(t);return[t,2*a(L(n*n+e*e-r*r)-n,e-r)]}:function(t,e){return[t,S(t?e*g(t)/t:e)]},r}lt.invert=function(t,e){var r=(r=e/T-1)*r;return[r>0?t*L(y/r)/2:0,S(1-r)]};var ut=L(3);function ft(t,e){return[ut*t*(2*o(2*e/3)-1)/T,ut*T*m(e/3)]}function ht(t){var e=o(t);function r(t,r){return[t*e,m(r)/e]}return r.invert=function(t,r){return[t/e,S(r*e)]},r}function pt(t){var e=o(t);function r(t,r){return[t*e,(1+e)*g(r/2)]}return r.invert=function(t,r){return[t/e,2*i(r/(1+e))]},r}function dt(t,e){var r=L(8/(3*y));return[r*t*(1-n(e)/y),r*e]}function mt(t,e){var r=L(4-3*m(n(e)));return[2/L(6*y)*t*r,d(e)*L(2*y/3)*(2-r)]}function gt(t,e){var r=L(y*(4+y));return[2/r*t*(1+L(1-4*e*e/(y*y))),4/r*e]}function vt(t,e){var r=(2+x)*m(e);e/=2;for(var i=0,a=1/0;i<10&&n(a)>v;i++){var s=o(e);e-=a=(e+m(e)*(s+2)-r)/(2*s*(1+s))}return[2/L(y*(4+y))*t*(1+o(e)),2*L(y/(4+y))*m(e)]}function yt(t,e){return[t*(1+o(e))/L(2+y),2*e/L(2+y)]}function xt(t,e){for(var r=(1+x)*m(e),i=0,a=1/0;i<10&&n(a)>v;i++)e-=a=(e+m(e)-r)/(1+o(e));return r=L(2+y),[t*(1+o(e))/r,2*e/r]}ft.invert=function(t,e){var r=3*S(e/(ut*T));return[T*t/(ut*(2*o(2*r/3)-1)),r]},dt.invert=function(t,e){var r=L(8/(3*y)),i=e/r;return[t/(r*(1-n(i)/y)),i]},mt.invert=function(t,e){var r=2-n(e)/L(2*y/3);return[t*L(6*y)/(2*r),d(e)*S((4-r*r)/3)]},gt.invert=function(t,e){var r=L(y*(4+y))/2;return[t*r/(1+L(1-e*e*(4+y)/(4*y))),e*r/2]},vt.invert=function(t,e){var r=e*L((4+y)/y)/2,n=S(r),i=o(n);return[t/(2/L(y*(4+y))*(1+i)),S((n+r*(i+2))/(2+x))]},yt.invert=function(t,e){var r=L(2+y),n=e*r/2;return[r*t/(1+o(n)),n]},xt.invert=function(t,e){var r=1+x,n=L(r/2);return[2*t*n/(1+o(e*=n)),S((e+m(e))/r)]};var bt=3+2*w;function _t(t,e){var r=m(t/=2),n=o(t),a=L(o(e)),s=o(e/=2),l=m(e)/(s+w*n*a),u=L(2/(1+l*l)),f=L((w*s+(n+r)*a)/(w*s+(n-r)*a));return[bt*(u*(f-1/f)-2*c(f)),bt*(u*l*(f+1/f)-2*i(l))]}_t.invert=function(t,e){if(!(r=D.invert(t/1.2,1.065*e)))return null;var r,a=r[0],s=r[1],l=20;t/=bt,e/=bt;do{var h=a/2,p=s/2,d=m(h),g=o(h),y=m(p),b=o(p),T=o(s),k=L(T),A=y/(b+w*g*k),M=A*A,S=L(2/(1+M)),E=(w*b+(g+d)*k)/(w*b+(g-d)*k),C=L(E),P=C-1/C,I=C+1/C,O=S*P-2*c(C)-t,z=S*A*I-2*i(A)-e,R=y&&_*k*d*M/y,F=(w*g*b+k)/(2*(b+w*g*k)*(b+w*g*k)*k),B=-.5*A*S*S*S,N=B*R,j=B*F,U=(U=2*b+w*k*(g-d))*U*C,V=(w*g*b*k+T)/U,H=-w*d*y/(k*U),q=P*N-2*V/C+S*(V+V/E),G=P*j-2*H/C+S*(H+H/E),Y=A*I*N-2*R/(1+M)+S*I*R+S*A*(V-V/E),W=A*I*j-2*F/(1+M)+S*I*F+S*A*(H-H/E),X=G*Y-W*q;if(!X)break;var Z=(z*G-O*W)/X,J=(O*Y-z*q)/X;a-=Z,s=u(-x,f(x,s-J))}while((n(Z)>v||n(J)>v)&&--l>0);return n(n(s)-x)<v?[0,s]:l&&[a,s]};var wt=o(35*M);function Tt(t,e){var r=g(e/2);return[t*wt*L(1-r*r),(1+wt)*r]}function kt(t,e){var r=e/2,n=o(r);return[2*t/T*o(e)*n*n,T*g(r)]}function At(t){var e=1-t,r=i(y,0)[0]-i(-y,0)[0],n=L(2*(i(0,x)[1]-i(0,-x)[1])/r);function i(r,n){var i=o(n),a=m(n);return[i/(e+t*i)*r,e*n+t*a]}function a(t,e){var r=i(t,e);return[r[0]*n,r[1]/n]}function s(t){return a(0,t)[1]}return a.invert=function(r,i){var a=V(s,i);return[r/n*(t+e/o(a)),a]},a}function Mt(t){return[t[0]/2,S(g(t[1]/2*M))*A]}function St(t){return[2*t[0],2*i(m(t[1]*M))*A]}function Et(t,r){var i=2*y/r,s=t*t;function l(r,l){var c=e.geoAzimuthalEquidistantRaw(r,l),u=c[0],f=c[1],h=u*u+f*f;if(h>s){var d=L(h),g=a(f,u),b=i*p(g/i),_=g-b,w=t*o(_),T=(t*m(_)-_*m(w))/(x-w),k=Lt(_,T),A=(y-t)/Ct(k,w,y);u=d;var M,S=50;do{u-=M=(t+Ct(k,w,u)*A-d)/(k(u)*A)}while(n(M)>v&&--S>0);f=_*m(u),u<x&&(f-=T*(u-x));var E=m(b),C=o(b);c[0]=u*C-f*E,c[1]=u*E+f*C}return c}return l.invert=function(r,l){var c=r*r+l*l;if(c>s){var u=L(c),f=a(l,r),h=i*p(f/i),d=f-h;r=u*o(d),l=u*m(d);for(var g=r-x,v=m(r),b=l/v,_=r<x?1/0:0,w=10;;){var T=t*m(b),k=t*o(b),A=m(k),M=x-k,S=(T-b*A)/M,E=Lt(b,S);if(n(_)<1e-12||!--w)break;b-=_=(b*v-S*g-l)/(v-2*g*(M*(k+b*T*o(k)-A)-T*(T-b*A))/(M*M))}r=(u=t+Ct(E,k,r)*(y-t)/Ct(E,k,y))*o(f=h+b),l=u*m(f)}return e.geoAzimuthalEquidistantRaw.invert(r,l)},l}function Lt(t,e){return function(r){var n=t*o(r);return r<x&&(n-=e),L(1+n*n)}}function Ct(t,e,r){for(var n=(r-e)/50,i=t(e)+t(r),a=1,o=e;a<50;++a)i+=2*t(o+=n);return.5*i*n}function Pt(t,e,r,i,a,s,l,c){function u(n,u){if(!u)return[t*n/y,0];var f=u*u,h=t+f*(e+f*(r+f*i)),p=u*(a-1+f*(s-c+f*l)),d=(h*h+p*p)/(2*p),g=n*S(h/d)/y;return[d*m(g),u*(1+f*c)+d*(1-o(g))]}return arguments.length<8&&(c=0),u.invert=function(u,f){var h,p,d=y*u/t,g=f,x=50;do{var b=g*g,_=t+b*(e+b*(r+b*i)),w=g*(a-1+b*(s-c+b*l)),T=_*_+w*w,k=2*w,A=T/k,M=A*A,E=S(_/A)/y,C=d*E,P=_*_,I=(2*e+b*(4*r+6*b*i))*g,O=a+b*(3*s+5*b*l),z=(2*(_*I+w*(O-1))*k-T*(2*(O-1)))/(k*k),D=o(C),R=m(C),F=A*D,B=A*R,N=d/y*(1/L(1-P/M))*(I*A-_*z)/M,j=B-u,U=g*(1+b*c)+A-F-f,V=z*R+F*N,H=F*E,q=1+z-(z*D-B*N),G=B*E,Y=V*G-q*H;if(!Y)break;d-=h=(U*V-j*q)/Y,g-=p=(j*G-U*H)/Y}while((n(h)>v||n(p)>v)&&--x>0);return[d,g]},u}Tt.invert=function(t,e){var r=e/(1+wt);return[t&&t/(wt*L(1-r*r)),2*i(r)]},kt.invert=function(t,e){var r=i(e/T),n=o(r),a=2*r;return[t*T/2/(o(a)*n*n),a]};var It=Pt(2.8284,-1.6988,.75432,-.18071,1.76003,-.38914,.042555);var Ot=Pt(2.583819,-.835827,.170354,-.038094,1.543313,-.411435,.082742);var zt=Pt(5/6*y,-.62636,-.0344,0,1.3493,-.05524,0,.045);function Dt(t,e){var r=t*t,n=e*e;return[t*(1-.162388*n)*(.87-952426e-9*r*r),e*(1+n/12)]}Dt.invert=function(t,e){var r,i=t,a=e,o=50;do{var s=a*a;a-=r=(a*(1+s/12)-e)/(1+s/4)}while(n(r)>v&&--o>0);o=50,t/=1-.162388*s;do{var l=(l=i*i)*l;i-=r=(i*(.87-952426e-9*l)-t)/(.87-.00476213*l)}while(n(r)>v&&--o>0);return[i,a]};var Rt=Pt(2.6516,-.76534,.19123,-.047094,1.36289,-.13965,.031762);function Ft(t){var e=t(x,0)[0]-t(-x,0)[0];function r(r,n){var i=r>0?-.5:.5,a=t(r+i*y,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*y;return o<-y?o+=2*y:o>y&&(o-=2*y),a[0]=o,a}),r}function Bt(t,e){var r=d(t),i=d(e),s=o(e),l=o(t)*s,c=m(t)*s,u=m(i*e);t=n(a(c,u)),e=S(l),n(t-x)>v&&(t%=x);var f=function(t,e){if(e===x)return[0,0];var r,i,a=m(e),s=a*a,l=s*s,c=1+l,u=1+3*l,f=1-l,h=S(1/L(c)),p=f+s*c*h,d=(1-a)/p,g=L(d),b=d*c,_=L(b),w=g*f;if(0===t)return[0,-(w+s*_)];var T,k=o(e),A=1/k,M=2*a*k,E=(-p*k-(-3*s+h*u)*M*(1-a))/(p*p),C=-A*M,P=-A*(s*c*E+d*u*M),I=-2*A*(f*(.5*E/g)-2*s*g*M),O=4*t/y;if(t>.222*y||e<y/4&&t>.175*y){if(r=(w+s*L(b*(1+l)-w*w))/(1+l),t>y/4)return[r,r];var z=r,D=.5*r;r=.5*(D+z),i=50;do{var R=L(b-r*r),F=r*(I+C*R)+P*S(r/_)-O;if(!F)break;F<0?D=r:z=r,r=.5*(D+z)}while(n(z-D)>v&&--i>0)}else{r=v,i=25;do{var B=r*r,N=L(b-B),j=I+C*N,U=r*j+P*S(r/_)-O,V=j+(P-C*B)/N;r-=T=N?U/V:0}while(n(T)>v&&--i>0)}return[r,-w-s*L(b-r*r)]}(t>y/4?x-t:t,e);return t>y/4&&(u=f[0],f[0]=-f[1],f[1]=-u),f[0]*=r,f[1]*=-i,f}function Nt(t,e){var r,a,l,c,u,f;if(e<v)return[(c=m(t))-(r=e*(t-c*(a=o(t)))/4)*a,a+r*c,1-e*c*c/2,t-r];if(e>=1-v)return r=(1-e)/4,l=1/(a=P(t)),[(c=((f=s(2*(f=t)))-1)/(f+1))+r*((u=a*C(t))-t)/(a*a),l-r*c*l*(u-t),l+r*c*l*(u+t),2*i(s(t))-x+r*(u-t)/a];var h=[1,0,0,0,0,0,0,0,0],p=[L(e),0,0,0,0,0,0,0,0],d=0;for(a=L(1-e),u=1;n(p[d]/h[d])>v&&d<8;)r=h[d++],p[d]=(r-a)/2,h[d]=(r+a)/2,a=L(r*a),u*=2;l=u*h[d]*t;do{l=(S(c=p[d]*m(a=l)/h[d])+l)/2}while(--d);return[m(l),c=o(l),c/o(l-a),l]}function jt(t,e){if(!e)return t;if(1===e)return c(g(t/2+b));for(var r=1,a=L(1-e),o=L(e),s=0;n(o)>v;s++){if(t%y){var l=i(a*g(t)/r);l<0&&(l+=y),t+=l+~~(t/y)*y}else t+=t;o=(r+a)/2,a=L(r*a),o=((r=o)-a)/2}return t/(h(2,s)*r)}function Ut(t,e){var r=(w-1)/(w+1),l=L(1-r*r),u=jt(x,l*l),f=c(g(y/4+n(e)/2)),h=s(-1*f)/L(r),p=function(t,e){var r=t*t,n=e+1,i=1-r-e*e;return[.5*((t>=0?x:-x)-a(i,2*t)),-.25*c(i*i+4*r)+.5*c(n*n+r)]}(h*o(-1*t),h*m(-1*t)),v=function(t,e,r){var a=n(t),o=C(n(e));if(a){var s=1/m(a),l=1/(g(a)*g(a)),c=-(l+r*(o*o*s*s)-1+r),u=(-c+L(c*c-4*((r-1)*l)))/2;return[jt(i(1/L(u)),r)*d(t),jt(i(L((u/l-1)/r)),1-r)*d(e)]}return[0,jt(i(o),1-r)*d(e)]}(p[0],p[1],l*l);return[-v[1],(e>=0?1:-1)*(.5*u-v[0])]}function Vt(t){var e=m(t),r=o(t),i=Ht(t);function s(t,a){var s=i(t,a);t=s[0],a=s[1];var l=m(a),c=o(a),u=o(t),f=E(e*l+r*c*u),h=m(f),p=n(h)>v?f/h:1;return[p*r*m(t),(n(t)>x?p:-p)*(e*c-r*l*u)]}return i.invert=Ht(-t),s.invert=function(t,r){var n=L(t*t+r*r),s=-m(n),l=o(n),c=n*l,u=-r*s,f=n*e,h=L(c*c+u*u-f*f),p=a(c*f+u*h,u*f-c*h),d=(n>x?-1:1)*a(t*s,n*o(p)*l+r*m(p)*s);return i.invert(d,p)},s}function Ht(t){var e=m(t),r=o(t);return function(t,n){var i=o(n),s=o(t)*i,l=m(t)*i,c=m(n);return[a(l,s*r-c*e),S(c*r+s*e)]}}Bt.invert=function(t,e){n(t)>1&&(t=2*d(t)-t),n(e)>1&&(e=2*d(e)-e);var r=d(t),i=d(e),s=-r*t,l=-i*e,c=l/s<1,u=function(t,e){var r=0,i=1,a=.5,s=50;for(;;){var l=a*a,c=L(a),u=S(1/L(1+l)),f=1-l+a*(1+l)*u,h=(1-c)/f,p=L(h),d=h*(1+l),m=p*(1-l),g=L(d-t*t),v=e+m+a*g;if(n(i-r)<1e-12||0==--s||0===v)break;v>0?r=a:i=a,a=.5*(r+i)}if(!s)return null;var x=S(c),b=o(x),_=1/b,w=2*c*b,T=(-f*b-(-3*a+u*(1+3*l))*w*(1-c))/(f*f);return[y/4*(t*(-2*_*(.5*T/p*(1-l)-2*a*p*w)+-_*w*g)+-_*(a*(1+l)*T+h*(1+3*l)*w)*S(t/L(d))),x]}(c?l:s,c?s:l),f=u[0],h=u[1],p=o(h);return c&&(f=-x-f),[r*(a(m(f)*p,-m(h))+y),i*S(o(f)*p)]},Ut.invert=function(t,e){var r,n,o,l,u,f,h=(w-1)/(w+1),p=L(1-h*h),d=jt(x,p*p),m=(n=-t,o=p*p,(r=.5*d-e)?(l=Nt(r,o),n?(f=(u=Nt(n,1-o))[1]*u[1]+o*l[0]*l[0]*u[0]*u[0],[[l[0]*u[2]/f,l[1]*l[2]*u[0]*u[1]/f],[l[1]*u[1]/f,-l[0]*l[2]*u[0]*u[2]/f],[l[2]*u[1]*u[2]/f,-o*l[0]*l[1]*u[0]/f]]):[[l[0],0],[l[1],0],[l[2],0]]):[[0,(u=Nt(n,1-o))[0]/u[1]],[1/u[1],0],[u[2]/u[1],0]]),g=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]}(m[0],m[1]);return[a(g[1],g[0])/-1,2*i(s(-.5*c(h*g[0]*g[0]+h*g[1]*g[1])))-x]};var qt=S(1-1/3)*A,Gt=ht(0);function Yt(t){var e=qt*M,r=lt(y,e)[0]-lt(-y,e)[0],i=Gt(0,e)[1],a=lt(0,e)[1],o=T-a,s=k/t,c=4/k,h=i+o*o*4/k;function p(p,d){var m,g=n(d);if(g>e){var v=f(t-1,u(0,l((p+y)/s)));(m=lt(p+=y*(t-1)/t-v*s,g))[0]=m[0]*k/r-k*(t-1)/(2*t)+v*k/t,m[1]=i+4*(m[1]-a)*o/k,d<0&&(m[1]=-m[1])}else m=Gt(p,d);return m[0]*=c,m[1]/=h,m}return p.invert=function(e,p){e/=c;var d=n(p*=h);if(d>i){var m=f(t-1,u(0,l((e+y)/s)));e=(e+y*(t-1)/t-m*s)*r/k;var g=lt.invert(e,.25*(d-i)*k/o+a);return g[0]-=y*(t-1)/t-m*s,p<0&&(g[1]=-g[1]),g}return Gt.invert(e,p)},p}function Wt(t,e){return[t,1&e?90-v:qt]}function Xt(t,e){return[t,1&e?-90+v:-qt]}function Zt(t){return[t[0]*(1-v),t[1]]}function Jt(t){var e,r=1+t,i=S(m(1/r)),s=2*L(y/(e=y+4*i*r)),l=.5*s*(r+L(t*(2+t))),c=t*t,u=r*r;function f(f,h){var p,d,g=1-m(h);if(g&&g<2){var v,b=x-h,_=25;do{var w=m(b),T=o(b),k=i+a(w,r-T),A=1+u-2*r*T;b-=v=(b-c*i-r*w+A*k-.5*g*e)/(2*r*w*k)}while(n(v)>1e-12&&--_>0);p=s*L(A),d=f*k/y}else p=s*(t+g),d=f*i/y;return[p*m(d),l-p*o(d)]}return f.invert=function(t,n){var o=t*t+(n-=l)*n,f=(1+u-o/(s*s))/(2*r),h=E(f),p=m(h),d=i+a(p,r-f);return[S(t/L(o))*y/d,S(1-2*(h-c*i-r*p+(1+u-2*r*f)*d)/e)]},f}function Kt(t,e){return e>-.7109889596207567?((t=W(t,e))[1]+=.0528035274542,t):Q(t,e)}function Qt(t,e){return n(e)>.7109889596207567?((t=W(t,e))[1]-=e>0?.0528035274542:-.0528035274542,t):Q(t,e)}function $t(t,e,r,n){var i=L(4*y/(2*r+(1+t-e/2)*m(2*r)+(t+e)/2*m(4*r)+e/2*m(6*r))),a=L(n*m(r)*L((1+t*o(2*r)+e*o(4*r))/(1+t+e))),s=r*c(1);function l(r){return L(1+t*o(2*r)+e*o(4*r))}function c(n){var i=n*r;return(2*i+(1+t-e/2)*m(2*i)+(t+e)/2*m(4*i)+e/2*m(6*i))/r}function u(t){return l(t)*m(t)}var f=function(t,e){var n=r*V(c,s*m(e)/r,e/y);isNaN(n)&&(n=r*d(e));var u=i*l(n);return[u*a*t/y*o(n),u/a*m(n)]};return f.invert=function(t,e){var n=V(u,e*a/i);return[t*y/(o(n)*i*a*l(n)),S(r*c(n/r)/s)]},0===r&&(i=L(n/y),(f=function(t,e){return[t*i,m(e)/i]}).invert=function(t,e){return[t/i,S(e*i)]}),f}function te(t,e,r,n,i){void 0===n&&(n=1e-8),void 0===i&&(i=20);var a=t(e),o=t(.5*(e+r)),s=t(r);return function t(e,r,n,i,a,o,s,l,c,u,f){if(f.nanEncountered)return NaN;var h,p,d,m,g,v,y,x,b,_;if(p=e(r+.25*(h=n-r)),d=e(n-.25*h),isNaN(p))f.nanEncountered=!0;else{if(!isNaN(d))return _=((v=(m=h*(i+4*p+a)/12)+(g=h*(a+4*d+o)/12))-s)/15,u>c?(f.maxDepthCount++,v+_):Math.abs(_)<l?v+_:(x=t(e,r,y=r+.5*h,i,p,a,m,.5*l,c,u+1,f),isNaN(x)?(f.nanEncountered=!0,NaN):(b=t(e,y,n,a,d,o,g,.5*l,c,u+1,f),isNaN(b)?(f.nanEncountered=!0,NaN):x+b));f.nanEncountered=!0}}(t,e,r,a,o,s,(a+4*o+s)*(r-e)/6,n,i,1,{maxDepthCount:0,nanEncountered:!1})}function ee(t,e,r){function i(r){return t+(1-t)*h(1-h(r,e),1/e)}function a(t){return te(i,0,t,1e-4)}for(var o=1/a(1),s=1e3,l=(1+1e-8)*o,c=[],u=0;u<=s;u++)c.push(a(u/s)*l);function f(t){var e=0,r=s,n=500;do{c[n]>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 p=2*f(1)/y*o/r,g=function(t,e){var r=f(n(m(e))),a=i(r)*t;return r/=p,[a,e>=0?r:-r]};return g.invert=function(t,e){var r;return n(e*=p)<1&&(r=d(e)*S(a(n(e))*o)),[t/i(n(e)),r]},g}function re(t,e){return n(t[0]-e[0])<v&&n(t[1]-e[1])<v}function ne(t,e){for(var r,n,i,a=-1,o=t.length,s=t[0],l=[];++a<o;){n=((r=t[a])[0]-s[0])/e,i=(r[1]-s[1])/e;for(var c=0;c<e;++c)l.push([s[0]+c*n,s[1]+c*i]);s=r}return l.push(r),l}function ie(t){var e,n,i,a,o,s,l,c=[],u=t[0].length;for(l=0;l<u;++l)n=(e=t[0][l])[0][0],i=e[0][1],a=e[1][1],o=e[2][0],s=e[2][1],c.push(ne([[n+v,i+v],[n+v,a-v],[o-v,a-v],[o-v,s+v]],30));for(l=t[1].length-1;l>=0;--l)n=(e=t[1][l])[0][0],i=e[0][1],a=e[1][1],o=e[2][0],s=e[2][1],c.push(ne([[o-v,s-v],[o-v,a+v],[n+v,a+v],[n+v,i-v]],30));return{type:\"Polygon\",coordinates:[r.merge(c)]}}function ae(t,r,n){var i,a;function o(e,n){for(var i=n<0?-1:1,a=r[+(n<0)],o=0,s=a.length-1;o<s&&e>a[o][2][0];++o);var l=t(e-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}n?o.invert=n(o):t.invert&&(o.invert=function(e,n){for(var i=a[+(n<0)],s=r[+(n<0)],l=0,c=i.length;l<c;++l){var u=i[l];if(u[0][0]<=e&&e<u[1][0]&&u[0][1]<=n&&n<u[1][1]){var f=t.invert(e-t(s[l][1][0],0)[0],n);return f[0]+=s[l][1][0],re(o(f[0],f[1]),[e,n])?f:null}}});var s=e.geoProjection(o),l=s.stream;return s.stream=function(t){var r=s.rotate(),n=l(t),a=(s.rotate([0,0]),l(t));return s.rotate(r),n.sphere=function(){e.geoStream(i,a)},n},s.lobes=function(e){return arguments.length?(i=ie(e),r=e.map((function(t){return t.map((function(t){return[[t[0][0]*M,t[0][1]*M],[t[1][0]*M,t[1][1]*M],[t[2][0]*M,t[2][1]*M]]}))})),a=r.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):r.map((function(t){return t.map((function(t){return[[t[0][0]*A,t[0][1]*A],[t[1][0]*A,t[1][1]*A],[t[2][0]*A,t[2][1]*A]]}))}))},null!=r&&s.lobes(r),s}Kt.invert=function(t,e){return e>-.7109889596207567?W.invert(t,e-.0528035274542):Q.invert(t,e)},Qt.invert=function(t,e){return n(e)>.7109889596207567?W.invert(t,e+(e>0?.0528035274542:-.0528035274542)):Q.invert(t,e)};var oe=[[[[-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]]]];var se=[[[[-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]]]];var le=[[[[-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]]]];var ce=[[[[-180,0],[-90,90],[0,0]],[[0,0],[90,90],[180,0]]],[[[-180,0],[-90,-90],[0,0]],[[0,0],[90,-90],[180,0]]]];var ue=[[[[-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]]]];var fe=[[[[-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 he(t,e){return[3/k*t*L(y*y/3-e*e),e]}function pe(t){function e(e,r){if(n(n(r)-x)<v)return[0,r<0?-2:2];var i=m(r),a=h((1+i)/(1-i),t/2),s=.5*(a+1/a)+o(e*=t);return[2*m(e)/s,(a-1/a)/s]}return e.invert=function(e,r){var i=n(r);if(n(i-2)<v)return e?null:[0,d(r)*x];if(i>2)return null;var o=(e/=2)*e,s=(r/=2)*r,l=2*r/(1+o+s);return l=h((1+l)/(1-l),1/t),[a(2*e,1-o-s)/t,S((l-1)/(l+1))]},e}he.invert=function(t,e){return[k/3*t/L(y*y/3-e*e),e]};var de=y/w;function me(t,e){return[t*(1+L(o(e)))/2,e/(o(e/2)*o(t/6))]}function ge(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 ve(t,e){return[m(t)/o(e),g(e)*o(t)]}function ye(t){var e=o(t),r=g(b+t/2);function i(i,a){var o=a-t,s=n(o)<v?i*e:n(s=b+a/2)<v||n(n(s)-x)<v?0:i*o/c(g(s)/r);return[s,o]}return i.invert=function(i,a){var o,s=a+t;return[n(a)<v?i/e:n(o=b+s/2)<v||n(n(o)-x)<v?0:i*c(g(o)/r)/a,s]},i}function xe(t,e){return[t,1.25*c(g(b+.4*e))]}function be(t){var e=t.length-1;function r(r,n){for(var i,a=o(n),s=2/(1+a*o(r)),l=s*a*m(r),c=s*m(n),u=e,f=t[u],h=f[0],p=f[1];--u>=0;)h=(f=t[u])[0]+l*(i=h)-c*p,p=f[1]+l*p+c*i;return[h=l*(i=h)-c*p,p=l*p+c*i]}return r.invert=function(r,s){var l=20,c=r,u=s;do{for(var f,h=e,p=t[h],d=p[0],g=p[1],v=0,y=0;--h>=0;)v=d+c*(f=v)-u*y,y=g+c*y+u*f,d=(p=t[h])[0]+c*(f=d)-u*g,g=p[1]+c*g+u*f;var x,b,_=(v=d+c*(f=v)-u*y)*v+(y=g+c*y+u*f)*y;c-=x=((d=c*(f=d)-u*g-r)*v+(g=c*g+u*f-s)*y)/_,u-=b=(g*v-d*y)/_}while(n(x)+n(b)>1e-12&&--l>0);if(l){var w=L(c*c+u*u),T=2*i(.5*w),k=m(T);return[a(c*k,w*o(T)),w?S(u*k/w):0]}},r}me.invert=function(t,e){var r=n(t),i=n(e),a=v,s=x;i<de?s*=i/de:a+=6*E(de/i);for(var l=0;l<25;l++){var c=m(s),u=L(o(s)),f=m(s/2),h=o(s/2),p=m(a/6),d=o(a/6),g=.5*a*(1+u)-r,y=s/(h*d)-i,b=u?-.25*a*c/u:0,_=.5*(1+u),w=(1+.5*s*f/h)/(h*d),T=s/h*(p/6)/(d*d),k=b*T-w*_,A=(g*T-y*_)/k,M=(y*b-g*w)/k;if(s-=A,a-=M,n(A)<v&&n(M)<v)break}return[t<0?-a:a,e<0?-s:s]},ge.invert=function(t,e){var r=d(t)*y,i=e/2,a=50;do{var o=r*r,s=i*i,l=r*i,c=r*(.975534+s*(-.0143059*o-.119161+-.0547009*s))-t,u=i*(1.00384+o*(.0802894+-.02855*s+199025e-9*o)+s*(.0998909+-.0491032*s))-e,f=.975534-s*(.119161+3*o*.0143059+.0547009*s),h=-l*(.238322+.2188036*s+.0286118*o),p=l*(.1605788+7961e-7*o+-.0571*s),m=1.00384+o*(.0802894+199025e-9*o)+s*(3*(.0998909-.02855*o)-.245516*s),g=h*p-m*f,x=(u*h-c*m)/g,b=(c*p-u*f)/g;r-=x,i-=b}while((n(x)>v||n(b)>v)&&--a>0);return a&&[r,i]},ve.invert=function(t,e){var r=t*t,n=e*e+1,i=r+n,a=t?_*L((i-L(i*i-4*r))/r):1/L(n);return[S(t*a),d(e)*E(a)]},xe.invert=function(t,e){return[t,2.5*i(s(.8*e))-.625*y]};var _e=[[.9972523,0],[.0052513,-.0041175],[.0074606,.0048125],[-.0153783,-.1968253],[.0636871,-.1408027],[.3660976,-.2937382]],we=[[.98879,0],[0,0],[-.050909,0],[0,0],[.075528,0]],Te=[[.984299,0],[.0211642,.0037608],[-.1036018,-.0575102],[-.0329095,-.0320119],[.0499471,.1223335],[.026046,.0899805],[7388e-7,-.1435792],[.0075848,-.1334108],[-.0216473,.0776645],[-.0225161,.0853673]],ke=[[.9245,0],[0,0],[.01943,0]],Ae=[[.721316,0],[0,0],[-.00881625,-.00617325]];function Me(t,r){var n=e.geoProjection(be(t)).rotate(r).clipAngle(90),i=e.geoRotation(r),a=n.center;return delete n.rotate,n.center=function(t){return arguments.length?a(i(t)):i.invert(a())},n}var Se=L(6),Ee=L(7);function Le(t,e){var r=S(7*m(e)/(3*Se));return[Se*t*(2*o(2*r/3)-1)/Ee,9*m(r/3)/Ee]}function Ce(t,e){for(var r,i=(1+_)*m(e),a=e,s=0;s<25&&(a-=r=(m(a/2)+m(a)-i)/(.5*o(a/2)+o(a)),!(n(r)<v));s++);return[t*(1+2*o(a)/o(a/2))/(3*w),2*L(3)*m(a/2)/L(2+w)]}function Pe(t,e){for(var r,i=L(6/(4+y)),a=(1+y/4)*m(e),s=e/2,l=0;l<25&&(s-=r=(s/2+m(s)-a)/(.5+o(s)),!(n(r)<v));l++);return[i*(.5+o(s))*t/1.5,i*s]}function Ie(t,e){var r=e*e,n=r*r,i=r*n;return[t*(.84719-.13063*r+i*i*(.05494*r-.04515-.02326*n+.00331*i)),e*(1.01183+n*n*(.01926*r-.02625-.00396*n))]}function Oe(t,e){return[t*(1+o(e))/2,2*(e-g(e/2))]}Le.invert=function(t,e){var r=3*S(e*Ee/9);return[t*Ee/(Se*(2*o(2*r/3)-1)),S(3*m(r)*Se/7)]},Ce.invert=function(t,e){var r=e*L(2+w)/(2*L(3)),n=2*S(r);return[3*w*t/(1+2*o(n)/o(n/2)),S((r+m(n))/(1+_))]},Pe.invert=function(t,e){var r=L(6/(4+y)),i=e/r;return n(n(i)-x)<v&&(i=i<0?-x:x),[1.5*t/(r*(.5+o(i))),S((i/2+m(i))/(1+y/4))]},Ie.invert=function(t,e){var r,i,a,o,s=e,l=25;do{s-=r=(s*(1.01183+(a=(i=s*s)*i)*a*(.01926*i-.02625-.00396*a))-e)/(1.01183+a*a*(.21186*i-.23625+-.05148*a))}while(n(r)>1e-12&&--l>0);return[t/(.84719-.13063*(i=s*s)+(o=i*(a=i*i))*o*(.05494*i-.04515-.02326*a+.00331*o)),s]},Oe.invert=function(t,e){for(var r=e/2,i=0,a=1/0;i<10&&n(a)>v;++i){var s=o(e/2);e-=a=(e-g(e/2)-r)/(1-.5/(s*s))}return[2*t/(1+o(e)),e]};var ze=[[[[-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 De(t,e){var r=m(e),i=o(e),a=d(t);if(0===t||n(e)===x)return[0,e];if(0===e)return[t,0];if(n(t)===x)return[t*i,x*r];var s=y/(2*t)-2*t/y,l=2*e/y,c=(1-l*l)/(r-l),u=s*s,f=c*c,h=1+u/f,p=1+f/u,g=(s*r/c-s/2)/h,v=(f*r/u+c/2)/p,b=v*v-(f*r*r/u+c*r-1)/p;return[x*(g+L(g*g+i*i/h)*a),x*(v+L(b<0?0:b)*d(-e*s)*a)]}De.invert=function(t,e){var r=(t/=x)*t,n=r+(e/=x)*e,i=y*y;return[t?(n-1+L((1-n)*(1-n)+4*r))/(2*t)*x:0,V((function(t){return n*(y*m(t)-2*t)*y+4*t*t*(e-m(t))+2*y*t-i*e}),0)]};function Re(t,e){var r=e*e;return[t,e*(1.0148+r*r*(.23185+r*(.02406*r-.14499)))]}function Fe(t,e){if(n(e)<v)return[t,0];var r=g(e),i=t*m(e);return[m(i)/r,e+(1-o(i))/r]}function Be(t,e){var r=je(t[1],t[0]),n=je(e[1],e[0]),i=function(t,e){return a(t[0]*e[1]-t[1]*e[0],t[0]*e[0]+t[1]*e[1])}(r,n),s=Ue(r)/Ue(n);return Ne([1,0,t[0][0],0,1,t[0][1]],Ne([s,0,0,0,s,0],Ne([o(i),m(i),0,-m(i),o(i),0],[1,0,-e[0][0],0,1,-e[0][1]])))}function Ne(t,e){return[t[0]*e[0]+t[1]*e[3],t[0]*e[1]+t[1]*e[4],t[0]*e[2]+t[1]*e[5]+t[2],t[3]*e[0]+t[4]*e[3],t[3]*e[1]+t[4]*e[4],t[3]*e[2]+t[4]*e[5]+t[5]]}function je(t,e){return[t[0]-e[0],t[1]-e[1]]}function Ue(t){return L(t[0]*t[0]+t[1]*t[1])}function Ve(t,r,i){function a(t,e){var n,i=r(t,e),a=i.project([t*A,e*A]);return(n=i.transform)?[n[0]*a[0]+n[1]*a[1]+n[2],-(n[3]*a[0]+n[4]*a[1]+n[5])]:(a[1]=-a[1],a)}!function t(e,r){if(e.edges=function(t){for(var e=t.length,r=[],n=t[e-1],i=0;i<e;++i)r.push([n,n=t[i]]);return r}(e.face),r.face){var n=e.shared=function(t,e){for(var r,n,i=t.length,a=null,o=0;o<i;++o){r=t[o];for(var s=e.length;--s>=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=Be(n.map(r.project),n.map(e.project));e.transform=r.transform?Ne(r.transform,i):i;for(var a=r.edges,o=0,s=a.length;o<s;++o)He(n[0],a[o][1])&&He(n[1],a[o][0])&&(a[o]=e),He(n[0],a[o][0])&&He(n[1],a[o][1])&&(a[o]=e);for(a=e.edges,o=0,s=a.length;o<s;++o)He(n[0],a[o][0])&&He(n[1],a[o][1])&&(a[o]=r),He(n[0],a[o][1])&&He(n[1],a[o][0])&&(a[o]=r)}else e.transform=r.transform;e.children&&e.children.forEach((function(r){t(r,e)}));return e}(t,{transform:null}),qe(t)&&(a.invert=function(e,n){var i=function t(e,n){var i=e.project.invert,a=e.transform,o=n;a&&(a=function(t){var e=1/(t[0]*t[4]-t[1]*t[3]);return[e*t[4],-e*t[1],e*(t[1]*t[5]-t[2]*t[4]),-e*t[3],e*t[0],e*(t[2]*t[3]-t[0]*t[5])]}(a),o=[a[0]*o[0]+a[1]*o[1]+a[2],a[3]*o[0]+a[4]*o[1]+a[5]]);if(i&&e===function(t){return r(t[0]*M,t[1]*M)}(s=i(o)))return s;for(var s,l=e.children,c=0,u=l&&l.length;c<u;++c)if(s=t(l[c],n))return s}(t,[e,-n]);return i&&(i[0]*=M,i[1]*=M,i)});var o=e.geoProjection(a),s=o.stream;return o.stream=function(r){var i=o.rotate(),a=s(r),l=(o.rotate([0,0]),s(r));return o.rotate(i),a.sphere=function(){l.polygonStart(),l.lineStart(),function t(r,i,a){var o,s,l=i.edges,c=l.length,u={type:\"MultiPoint\",coordinates:i.face},f=i.face.filter((function(t){return 90!==n(t[1])})),h=e.geoBounds({type:\"MultiPoint\",coordinates:f}),p=!1,d=-1,m=h[1][0]-h[0][0],g=180===m||360===m?[(h[0][0]+h[1][0])/2,(h[0][1]+h[1][1])/2]:e.geoCentroid(u);if(a)for(;++d<c&&l[d]!==a;);++d;for(var y=0;y<c;++y)s=l[(y+d)%c],Array.isArray(s)?(p||(r.point((o=e.geoInterpolate(s[0],g)(v))[0],o[1]),p=!0),r.point((o=e.geoInterpolate(s[1],g)(v))[0],o[1])):(p=!1,s!==a&&t(r,s,i))}(l,t),l.lineEnd(),l.polygonEnd()},a},o.angle(null==i?-30:i*A)}function He(t,e){return t&&e&&t[0]===e[0]&&t[1]===e[1]}function qe(t){return t.project.invert||t.children&&t.children.some(qe)}Re.invert=function(t,e){e>1.790857183?e=1.790857183:e<-1.790857183&&(e=-1.790857183);var r,i=e;do{var a=i*i;i-=r=(i*(1.0148+a*a*(.23185+a*(.02406*a-.14499)))-e)/(1.0148+a*a*(5*.23185+a*(.21654*a-1.01493)))}while(n(r)>v);return[t,i]},Fe.invert=function(t,e){if(n(e)<v)return[t,0];var r,i=t*t+e*e,a=.5*e,s=10;do{var l=g(a),c=1/o(a),u=i-2*e*a+a*a;a-=r=(l*u+2*(a-e))/(2+u*c*c+2*(a-e)*l)}while(n(r)>v&&--s>0);return l=g(a),[(n(e)<n(a+1/l)?S(t*l):d(e)*d(t)*(E(n(t*l))+x))/m(a),a]};var Ge=[[0,90],[-90,0],[0,0],[90,0],[180,0],[0,-90]],Ye=[[0,2,1],[0,3,2],[5,1,2],[5,2,3],[0,1,4],[0,4,3],[5,4,1],[5,3,4]].map((function(t){return t.map((function(t){return Ge[t]}))}));var We=2/L(3);function Xe(t,e){var r=lt(t,e);return[r[0]*We,r[1]]}function Ze(t,e){for(var r=0,n=t.length,i=0;r<n;++r)i+=t[r]*e[r];return i}function Je(t){return[a(t[1],t[0])*A,S(u(-1,f(1,t[2])))*A]}function Ke(t){var e=t[0]*M,r=t[1]*M,n=o(r);return[n*o(e),n*m(e),m(r)]}function Qe(){}function $e(t,e){return{type:\"FeatureCollection\",features:t.features.map((function(t){return tr(t,e)}))}}function tr(t,e){return{type:\"Feature\",id:t.id,properties:t.properties,geometry:er(t.geometry,e)}}function er(t,r){if(!t)return null;if(\"GeometryCollection\"===t.type)return function(t,e){return{type:\"GeometryCollection\",geometries:t.geometries.map((function(t){return er(t,e)}))}}(t,r);var n;switch(t.type){case\"Point\":case\"MultiPoint\":n=ir;break;case\"LineString\":case\"MultiLineString\":n=ar;break;case\"Polygon\":case\"MultiPolygon\":case\"Sphere\":n=or;break;default:return null}return e.geoStream(t,r(n)),n.result()}Xe.invert=function(t,e){return lt.invert(t/We,e)};var rr=[],nr=[],ir={point:function(t,e){rr.push([t,e])},result:function(){var t=rr.length?rr.length<2?{type:\"Point\",coordinates:rr[0]}:{type:\"MultiPoint\",coordinates:rr}:null;return rr=[],t}},ar={lineStart:Qe,point:function(t,e){rr.push([t,e])},lineEnd:function(){rr.length&&(nr.push(rr),rr=[])},result:function(){var t=nr.length?nr.length<2?{type:\"LineString\",coordinates:nr[0]}:{type:\"MultiLineString\",coordinates:nr}:null;return nr=[],t}},or={polygonStart:Qe,lineStart:Qe,point:function(t,e){rr.push([t,e])},lineEnd:function(){var t=rr.length;if(t){do{rr.push(rr[0].slice())}while(++t<4);nr.push(rr),rr=[]}},polygonEnd:Qe,result:function(){if(!nr.length)return null;var t=[],e=[];return nr.forEach((function(r){!function(t){if((e=t.length)<4)return!1;for(var e,r=0,n=t[e-1][1]*t[0][0]-t[e-1][0]*t[0][1];++r<e;)n+=t[r-1][1]*t[r][0]-t[r-1][0]*t[r][1];return n<=0}(r)?e.push(r):t.push([r])})),e.forEach((function(e){var r=e[0];t.some((function(t){if(function(t,e){for(var r=e[0],n=e[1],i=!1,a=0,o=t.length,s=o-1;a<o;s=a++){var l=t[a],c=l[0],u=l[1],f=t[s],h=f[0],p=f[1];u>n^p>n&&r<(h-c)*(n-u)/(p-u)+c&&(i=!i)}return i}(t[0],r))return t.push(e),!0}))||t.push([e])})),nr=[],t.length?t.length>1?{type:\"MultiPolygon\",coordinates:t}:{type:\"Polygon\",coordinates:t[0]}:null}};function sr(t){var r=t(x,0)[0]-t(-x,0)[0];function i(e,i){var a=n(e)<x,o=t(a?e:e>0?e-y:e+y,i),s=(o[0]-o[1])*_,l=(o[0]+o[1])*_;if(a)return[s,l];var c=r*_,u=s>0^l>0?-1:1;return[u*s-d(l)*c,u*l-d(s)*c]}return t.invert&&(i.invert=function(e,i){var a=(e+i)*_,o=(i-e)*_,s=n(a)<.5*r&&n(o)<.5*r;if(!s){var l=r*_,c=a>0^o>0?-1:1,u=-c*e+(o>0?1:-1)*l,f=-c*i+(a>0?1:-1)*l;a=(-u-f)*_,o=(u-f)*_}var h=t.invert(a,o);return s||(h[0]+=a>0?y:-y),h}),e.geoProjection(i).rotate([-90,-90,45]).clipAngle(179.999)}function lr(){return sr(Ut).scale(111.48)}function cr(t){var e=m(t);function r(r,n){var a=e?g(r*e/2)/e:r/2;if(!n)return[2*a,-t];var s=2*i(a*m(n)),l=1/g(n);return[m(s)*l,n+(1-o(s))*l-t]}return r.invert=function(r,a){if(n(a+=t)<v)return[e?2*i(e*r/2)/e:r,0];var s,l=r*r+a*a,c=0,u=10;do{var f=g(c),h=1/o(c),p=l-2*a*c+c*c;c-=s=(f*p+2*(c-a))/(2+p*h*h+2*(c-a)*f)}while(n(s)>v&&--u>0);var d=r*(f=g(c)),x=g(n(a)<n(c+1/f)?.5*S(d):.5*E(d)+y/4)/m(c);return[e?2*i(e*x)/e:2*x,c]},r}var ur=[[.9986,-.062],[1,0],[.9986,.062],[.9954,.124],[.99,.186],[.9822,.248],[.973,.31],[.96,.372],[.9427,.434],[.9216,.4958],[.8962,.5571],[.8679,.6176],[.835,.6769],[.7986,.7346],[.7597,.7903],[.7186,.8435],[.6732,.8936],[.6213,.9394],[.5722,.9761],[.5322,1]];function fr(t,e){var r,i=f(18,36*n(e)/y),a=l(i),o=i-a,s=(r=ur[a])[0],c=r[1],u=(r=ur[++a])[0],h=r[1],p=(r=ur[f(19,++a)])[0],d=r[1];return[t*(u+o*(p-s)/2+o*o*(p-2*u+s)/2),(e>0?x:-x)*(h+o*(d-c)/2+o*o*(d-2*h+c)/2)]}function hr(t,e){var r=function(t){function e(e,r){var n=o(r),i=(t-1)/(t-n*o(e));return[i*n*m(e),i*m(r)]}return e.invert=function(e,r){var n=e*e+r*r,i=L(n),o=(t-L(1-n*(t+1)/(t-1)))/((t-1)/i+i/(t-1));return[a(e*o,i*L(1-o*o)),i?S(r*o/i):0]},e}(t);if(!e)return r;var n=o(e),i=m(e);function s(e,a){var o=r(e,a),s=o[1],l=s*i/(t-1)+n;return[o[0]*n/l,s/l]}return s.invert=function(e,a){var o=(t-1)/(t-1-a*i);return r.invert(o*e,o*a*n)},s}ur.forEach((function(t){t[1]*=1.0144})),fr.invert=function(t,e){var r=e/x,i=90*r,a=f(18,n(i/5)),o=u(0,l(a));do{var s=ur[o][1],c=ur[o+1][1],h=ur[f(19,o+2)][1],p=h-s,d=h-2*c+s,m=2*(n(r)-c)/p,g=d/p,v=m*(1-g*m*(1-2*g*m));if(v>=0||1===o){i=(e>=0?5:-5)*(v+a);var y,b=50;do{v=(a=f(18,n(i)/5))-(o=l(a)),s=ur[o][1],c=ur[o+1][1],h=ur[f(19,o+2)][1],i-=(y=(e>=0?x:-x)*(c+v*(h-s)/2+v*v*(h-2*c+s)/2)-e)*A}while(n(y)>1e-12&&--b>0);break}}while(--o>=0);var _=ur[o][0],w=ur[o+1][0],T=ur[f(19,o+2)][0];return[t/(w+v*(T-_)/2+v*v*(T-2*w+_)/2),i*M]};var pr=-179.9999,dr=179.9999,mr=-89.9999;function gr(t){return t.length>0}function vr(t){return-90===t||90===t?[0,t]:[-180,(e=t,Math.floor(1e4*e)/1e4)];var e}function yr(t){var e=t[0],r=t[1],n=!1;return e<=pr?(e=-180,n=!0):e>=dr&&(e=180,n=!0),r<=mr?(r=-90,n=!0):r>=89.9999&&(r=90,n=!0),n?[e,r]:t}function xr(t){return t.map(yr)}function br(t,e,r){for(var n=0,i=t.length;n<i;++n){var a=t[n].slice();r.push({index:-1,polygon:e,ring:a});for(var o=0,s=a.length;o<s;++o){var l=a[o],c=l[0],u=l[1];if(c<=pr||c>=dr||u<=mr||u>=89.9999){a[o]=yr(l);for(var f=o+1;f<s;++f){var h=a[f],p=h[0],d=h[1];if(p>pr&&p<dr&&d>mr&&d<89.9999)break}if(f===o+1)continue;if(o){var m={index:-1,polygon:e,ring:a.slice(0,o+1)};m.ring[m.ring.length-1]=vr(u),r[r.length-1]=m}else r.pop();if(f>=s)break;r.push({index:-1,polygon:e,ring:a=a.slice(f-1)}),a[0]=vr(a[0][1]),o=-1,s=a.length}}}}function _r(t){var e,r,n,i,a,o,s=t.length,l={},c={};for(e=0;e<s;++e)n=(r=t[e]).ring[0],a=r.ring[r.ring.length-1],n[0]!==a[0]||n[1]!==a[1]?(r.index=e,l[n]=c[a]=r):(r.polygon.push(r.ring),t[e]=null);for(e=0;e<s;++e)if(r=t[e]){if(n=r.ring[0],a=r.ring[r.ring.length-1],i=c[n],o=l[a],delete l[n],delete c[a],n[0]===a[0]&&n[1]===a[1]){r.polygon.push(r.ring);continue}i?(delete c[n],delete l[i.ring[0]],i.ring.pop(),t[i.index]=null,r={index:-1,polygon:i.polygon,ring:i.ring.concat(r.ring)},i===o?r.polygon.push(r.ring):(r.index=s++,t.push(l[r.ring[0]]=c[r.ring[r.ring.length-1]]=r))):o?(delete l[a],delete c[o.ring[o.ring.length-1]],r.ring.pop(),r={index:s++,polygon:o.polygon,ring:r.ring.concat(o.ring)},t[o.index]=null,t.push(l[r.ring[0]]=c[r.ring[r.ring.length-1]]=r)):(r.ring.push(r.ring[0]),r.polygon.push(r.ring))}}function wr(t){var e={type:\"Feature\",geometry:Tr(t.geometry)};return null!=t.id&&(e.id=t.id),null!=t.bbox&&(e.bbox=t.bbox),null!=t.properties&&(e.properties=t.properties),e}function Tr(t){if(null==t)return t;var e,r,n,i;switch(t.type){case\"GeometryCollection\":e={type:\"GeometryCollection\",geometries:t.geometries.map(Tr)};break;case\"Point\":e={type:\"Point\",coordinates:yr(t.coordinates)};break;case\"MultiPoint\":case\"LineString\":e={type:t.type,coordinates:xr(t.coordinates)};break;case\"MultiLineString\":e={type:\"MultiLineString\",coordinates:t.coordinates.map(xr)};break;case\"Polygon\":var a=[];br(t.coordinates,a,r=[]),_r(r),e={type:\"Polygon\",coordinates:a};break;case\"MultiPolygon\":r=[],n=-1,i=t.coordinates.length;for(var o=new Array(i);++n<i;)br(t.coordinates[n],o[n]=[],r);_r(r),e={type:\"MultiPolygon\",coordinates:o.filter(gr)};break;default:return t}return null!=t.bbox&&(e.bbox=t.bbox),e}function kr(t,e){var r=g(e/2),n=m(b*r);return[t*(.74482-.34588*n*n),1.70711*r]}function Ar(t,r,n){var i=e.geoInterpolate(r,n),a=i(.5),o=e.geoRotation([-a[0],-a[1]])(r),s=i.distance/2,l=-S(m(o[1]*M)/m(s)),c=[-a[0],-a[1],-(o[0]>0?y-l:l)*A],u=e.geoProjection(t(s)).rotate(c),f=e.geoRotation(c),h=u.center;return delete u.rotate,u.center=function(t){return arguments.length?h(f(t)):f.invert(h())},u.clipAngle(90)}function Mr(t){var r=o(t);function n(t,n){var i=e.geoGnomonicRaw(t,n);return i[0]*=r,i}return n.invert=function(t,n){return e.geoGnomonicRaw.invert(t/r,n)},n}function Sr(t,e){return Ar(Mr,t,e)}function Er(t){if(!(t*=2))return e.geoAzimuthalEquidistantRaw;var r=-t/2,n=-r,i=t*t,s=g(n),l=.5/m(n);function c(e,a){var s=E(o(a)*o(e-r)),l=E(o(a)*o(e-n));return[((s*=s)-(l*=l))/(2*t),(a<0?-1:1)*L(4*i*l-(i-s+l)*(i-s+l))/(2*t)]}return c.invert=function(t,e){var i,c,u=e*e,f=o(L(u+(i=t+r)*i)),h=o(L(u+(i=t+n)*i));return[a(c=f-h,i=(f+h)*s),(e<0?-1:1)*E(L(i*i+c*c)*l)]},c}function Lr(t,e){return Ar(Er,t,e)}function Cr(t,e){if(n(e)<v)return[t,0];var r=n(e/x),i=S(r);if(n(t)<v||n(n(e)-x)<v)return[0,d(e)*y*g(i/2)];var a=o(i),s=n(y/t-t/y)/2,l=s*s,c=a/(r+a-1),u=c*(2/r-1),f=u*u,h=f+l,p=c-f,m=l+c;return[d(t)*y*(s*p+L(l*p*p-h*(c*c-f)))/h,d(e)*y*(u*m-s*L((l+1)*h-m*m))/h]}function Pr(t,e){if(n(e)<v)return[t,0];var r=n(e/x),i=S(r);if(n(t)<v||n(n(e)-x)<v)return[0,d(e)*y*g(i/2)];var a=o(i),s=n(y/t-t/y)/2,l=s*s,c=a*(L(1+l)-s*a)/(1+l*r*r);return[d(t)*y*c,d(e)*y*L(1-c*(2*s+c))]}function Ir(t,e){if(n(e)<v)return[t,0];var r=e/x,i=S(r);if(n(t)<v||n(n(e)-x)<v)return[0,y*g(i/2)];var a=(y/t-t/y)/2,s=r/(1+o(i));return[y*(d(t)*L(a*a+1-s*s)-a),y*s]}function Or(t,e){if(!e)return[t,0];var r=n(e);if(!t||r===x)return[0,e];var i=r/x,a=i*i,o=(8*i-a*(a+2)-5)/(2*a*(i-1)),s=o*o,l=i*o,c=a+s+2*l,u=i+3*o,f=t/x,h=f+1/f,p=d(n(t)-x)*L(h*h-4),m=p*p,g=(p*(c+s-1)+2*L(c*(a+s*m-1)+(1-a)*(a*(u*u+4*s)+12*l*s+4*s*s)))/(4*c+m);return[d(t)*x*g,d(e)*x*L(1+p*n(g)-g*g)]}function zr(t,e,r,n){var i=y/3;t=u(t,v),e=u(e,v),t=f(t,x),e=f(e,y-v),r=u(r,0),r=f(r,100-v);var s=(n=u(n,v))/100,l=E((r/100+1)*o(i))/i,c=m(t)/m(l*x),h=e/y,p=L(s*m(t/2)/m(e/2));return function(t,e,r,n,i){function s(a,s){var l=r*m(n*s),c=L(1-l*l),u=L(2/(1+c*o(a*=i)));return[t*c*u*m(a),e*l*u]}return s.invert=function(o,s){var l=o/t,c=s/e,u=L(l*l+c*c),f=2*S(u/2);return[a(o*g(f),t*u)/i,u&&S(s*m(f)/(e*r*u))/n]},s}(p/L(h*c*l),1/(p*L(h*c*l)),c,l,h)}function Dr(){var t=65*M,r=60*M,n=20,i=200,a=e.geoProjectionMutator(zr),o=a(t,r,n,i);return o.poleline=function(e){return arguments.length?a(t=+e*M,r,n,i):t*A},o.parallels=function(e){return arguments.length?a(t,r=+e*M,n,i):r*A},o.inflation=function(e){return arguments.length?a(t,r,n=+e,i):n},o.ratio=function(e){return arguments.length?a(t,r,n,i=+e):i},o.scale(163.775)}kr.invert=function(t,e){var r=e/1.70711,n=m(b*r);return[t/(.74482-.34588*n*n),2*i(r)]},Cr.invert=function(t,e){if(n(e)<v)return[t,0];if(n(t)<v)return[0,x*m(2*i(e/y))];var r=(t/=y)*t,a=(e/=y)*e,s=r+a,l=s*s,c=-n(e)*(1+s),u=c-2*a+r,f=-2*c+1+2*a+l,h=a/f+(2*u*u*u/(f*f*f)-9*c*u/(f*f))/27,p=(c-u*u/(3*f))/f,g=2*L(-p/3),b=E(3*h/(p*g))/3;return[y*(s-1+L(1+2*(r-a)+l))/(2*t),d(e)*y*(-g*o(b+y/3)-u/(3*f))]},Pr.invert=function(t,e){if(!t)return[0,x*m(2*i(e/y))];var r=n(t/y),o=(1-r*r-(e/=y)*e)/(2*r),s=L(o*o+1);return[d(t)*y*(s-o),d(e)*x*m(2*a(L((1-2*o*r)*(o+s)-r),L(s+o+r)))]},Ir.invert=function(t,e){if(!e)return[t,0];var r=e/y,n=(y*y*(1-r*r)-t*t)/(2*y*t);return[t?y*(d(t)*L(n*n+1)-n):0,x*m(2*i(r))]},Or.invert=function(t,e){var r;if(!t||!e)return[t,e];e/=y;var i=d(t)*t/x,a=(i*i-1+4*e*e)/n(i),o=a*a,s=2*e,l=50;do{var c=s*s,u=(8*s-c*(c+2)-5)/(2*c*(s-1)),f=(3*s-c*s-10)/(2*c*s),h=u*u,p=s*u,m=s+u,g=m*m,b=s+3*u,_=-2*m*(4*p*h+(1-4*c+3*c*c)*(1+f)+h*(14*c-6-o+(8*c-8-2*o)*f)+p*(12*c-8+(10*c-10-o)*f)),w=L(g*(c+h*o-1)+(1-c)*(c*(b*b+4*h)+h*(12*p+4*h)));s-=r=(a*(g+h-1)+2*w-i*(4*g+o))/(a*(2*u*f+2*m*(1+f))+_/w-8*m*(a*(-1+h+g)+2*w)*(1+f)/(o+4*g))}while(r>v&&--l>0);return[d(t)*(L(a*a+4)+a)*y/4,x*s]};var Rr=4*y+3*L(3),Fr=2*L(2*y*L(3)/Rr),Br=Y(Fr*L(3)/y,Fr,Rr/6);function Nr(t,e){return[t*L(1-3*e*e/(y*y)),e]}function jr(t,e){var r=o(e),n=o(t)*r,i=1-n,s=o(t=a(m(t)*r,-m(e))),l=m(t);return[l*(r=L(1-n*n))-s*i,-s*r-l*i]}function Ur(t,e){var r=O(t,e);return[(r[0]+t/x)/2,(r[1]+e)/2]}Nr.invert=function(t,e){return[t/L(1-3*e*e/(y*y)),e]},jr.invert=function(t,e){var r=(t*t+e*e)/-2,n=L(-r*(2+r)),i=e*r+t*n,o=t*r-e*n,s=L(o*o+i*i);return[a(n*i,s*(1+r)),s?-S(n*o/s):0]},Ur.invert=function(t,e){var r=t,i=e,a=25;do{var s,l=o(i),c=m(i),u=m(2*i),f=c*c,h=l*l,p=m(r),d=o(r/2),g=m(r/2),y=g*g,b=1-h*d*d,_=b?E(l*d)*L(s=1/b):s=0,w=.5*(2*_*l*g+r/x)-t,T=.5*(_*c+i)-e,k=.5*s*(h*y+_*l*d*f)+.5/x,A=s*(p*u/4-_*c*g),M=.125*s*(u*g-_*c*h*p),S=.5*s*(f*d+_*y*l)+.5,C=A*M-S*k,P=(T*A-w*S)/C,I=(w*M-T*k)/C;r-=P,i-=I}while((n(P)>v||n(I)>v)&&--a>0);return[r,i]},t.geoNaturalEarth=e.geoNaturalEarth1,t.geoNaturalEarthRaw=e.geoNaturalEarth1Raw,t.geoAiry=function(){var t=x,r=e.geoProjectionMutator(I),n=r(t);return n.radius=function(e){return arguments.length?r(t=e*M):t*A},n.scale(179.976).clipAngle(147)},t.geoAiryRaw=I,t.geoAitoff=function(){return e.geoProjection(O).scale(152.63)},t.geoAitoffRaw=O,t.geoArmadillo=function(){var t=20*M,r=t>=0?1:-1,n=g(r*t),i=e.geoProjectionMutator(z),s=i(t),l=s.stream;return s.parallel=function(e){return arguments.length?(n=g((r=(t=e*M)>=0?1:-1)*t),i(t)):t*A},s.stream=function(e){var i=s.rotate(),c=l(e),u=(s.rotate([0,0]),l(e)),f=s.precision();return s.rotate(i),c.sphere=function(){u.polygonStart(),u.lineStart();for(var e=-180*r;r*e<180;e+=90*r)u.point(e,90*r);if(t)for(;r*(e-=3*r*f)>=-180;)u.point(e,r*-a(o(e*M/2),n)*A);u.lineEnd(),u.polygonEnd()},c},s.scale(218.695).center([0,28.0974])},t.geoArmadilloRaw=z,t.geoAugust=function(){return e.geoProjection(D).scale(66.1603)},t.geoAugustRaw=D,t.geoBaker=function(){return e.geoProjection(B).scale(112.314)},t.geoBakerRaw=B,t.geoBerghaus=function(){var t=5,r=e.geoProjectionMutator(N),n=r(t),i=n.stream,s=-o(.01*M),l=m(.01*M);return n.lobes=function(e){return arguments.length?r(t=+e):t},n.stream=function(e){var r=n.rotate(),c=i(e),u=(n.rotate([0,0]),i(e));return n.rotate(r),c.sphere=function(){u.polygonStart(),u.lineStart();for(var e=0,r=360/t,n=2*y/t,i=90-180/t,c=x;e<t;++e,i-=r,c-=n)u.point(a(l*o(c),s)*A,S(l*m(c))*A),i<-90?(u.point(-90,-180-i-.01),u.point(-90,-180-i+.01)):(u.point(90,i+.01),u.point(90,i-.01));u.lineEnd(),u.polygonEnd()},c},n.scale(87.8076).center([0,17.1875]).clipAngle(179.999)},t.geoBerghausRaw=N,t.geoBertin1953=function(){return e.geoProjection(q()).rotate([-16.5,-42]).scale(176.57).center([7.93,.09])},t.geoBertin1953Raw=q,t.geoBoggs=function(){return e.geoProjection(J).scale(160.857)},t.geoBoggsRaw=J,t.geoBonne=function(){return K($).scale(123.082).center([0,26.1441]).parallel(45)},t.geoBonneRaw=$,t.geoBottomley=function(){var t=.5,r=e.geoProjectionMutator(tt),n=r(t);return n.fraction=function(e){return arguments.length?r(t=+e):t},n.scale(158.837)},t.geoBottomleyRaw=tt,t.geoBromley=function(){return e.geoProjection(et).scale(152.63)},t.geoBromleyRaw=et,t.geoChamberlin=st,t.geoChamberlinRaw=at,t.geoChamberlinAfrica=function(){return st([0,22],[45,22],[22.5,-22]).scale(380).center([22.5,2])},t.geoCollignon=function(){return e.geoProjection(lt).scale(95.6464).center([0,30])},t.geoCollignonRaw=lt,t.geoCraig=function(){return K(ct).scale(249.828).clipAngle(90)},t.geoCraigRaw=ct,t.geoCraster=function(){return e.geoProjection(ft).scale(156.19)},t.geoCrasterRaw=ft,t.geoCylindricalEqualArea=function(){return K(ht).parallel(38.58).scale(195.044)},t.geoCylindricalEqualAreaRaw=ht,t.geoCylindricalStereographic=function(){return K(pt).scale(124.75)},t.geoCylindricalStereographicRaw=pt,t.geoEckert1=function(){return e.geoProjection(dt).scale(165.664)},t.geoEckert1Raw=dt,t.geoEckert2=function(){return e.geoProjection(mt).scale(165.664)},t.geoEckert2Raw=mt,t.geoEckert3=function(){return e.geoProjection(gt).scale(180.739)},t.geoEckert3Raw=gt,t.geoEckert4=function(){return e.geoProjection(vt).scale(180.739)},t.geoEckert4Raw=vt,t.geoEckert5=function(){return e.geoProjection(yt).scale(173.044)},t.geoEckert5Raw=yt,t.geoEckert6=function(){return e.geoProjection(xt).scale(173.044)},t.geoEckert6Raw=xt,t.geoEisenlohr=function(){return e.geoProjection(_t).scale(62.5271)},t.geoEisenlohrRaw=_t,t.geoFahey=function(){return e.geoProjection(Tt).scale(137.152)},t.geoFaheyRaw=Tt,t.geoFoucaut=function(){return e.geoProjection(kt).scale(135.264)},t.geoFoucautRaw=kt,t.geoFoucautSinusoidal=function(){var t=.5,r=e.geoProjectionMutator(At),n=r(t);return n.alpha=function(e){return arguments.length?r(t=+e):t},n.scale(168.725)},t.geoFoucautSinusoidalRaw=At,t.geoGilbert=function(t){null==t&&(t=e.geoOrthographic);var r=t(),n=e.geoEquirectangular().scale(A).precision(0).clipAngle(null).translate([0,0]);function i(t){return r(Mt(t))}function a(t){i[t]=function(){return arguments.length?(r[t].apply(r,arguments),i):r[t]()}}return r.invert&&(i.invert=function(t){return St(r.invert(t))}),i.stream=function(t){var e=r.stream(t),i=n.stream({point:function(t,r){e.point(t/2,S(g(-r/2*M))*A)},lineStart:function(){e.lineStart()},lineEnd:function(){e.lineEnd()},polygonStart:function(){e.polygonStart()},polygonEnd:function(){e.polygonEnd()}});return i.sphere=e.sphere,i},i.rotate=function(t){return arguments.length?(n.rotate(t),i):n.rotate()},i.center=function(t){return arguments.length?(r.center(Mt(t)),i):St(r.center())},a(\"angle\"),a(\"clipAngle\"),a(\"clipExtent\"),a(\"fitExtent\"),a(\"fitHeight\"),a(\"fitSize\"),a(\"fitWidth\"),a(\"scale\"),a(\"translate\"),a(\"precision\"),i.scale(249.5)},t.geoGingery=function(){var t=6,r=30*M,n=o(r),i=m(r),s=e.geoProjectionMutator(Et),l=s(r,t),c=l.stream,u=-o(.01*M),f=m(.01*M);return l.radius=function(e){return arguments.length?(n=o(r=e*M),i=m(r),s(r,t)):r*A},l.lobes=function(e){return arguments.length?s(r,t=+e):t},l.stream=function(e){var r=l.rotate(),s=c(e),h=(l.rotate([0,0]),c(e));return l.rotate(r),s.sphere=function(){h.polygonStart(),h.lineStart();for(var e=0,r=2*y/t,s=0;e<t;++e,s-=r)h.point(a(f*o(s),u)*A,S(f*m(s))*A),h.point(a(i*o(s-r/2),n)*A,S(i*m(s-r/2))*A);h.lineEnd(),h.polygonEnd()},s},l.rotate([90,-40]).scale(91.7095).clipAngle(179.999)},t.geoGingeryRaw=Et,t.geoGinzburg4=function(){return e.geoProjection(It).scale(149.995)},t.geoGinzburg4Raw=It,t.geoGinzburg5=function(){return e.geoProjection(Ot).scale(153.93)},t.geoGinzburg5Raw=Ot,t.geoGinzburg6=function(){return e.geoProjection(zt).scale(130.945)},t.geoGinzburg6Raw=zt,t.geoGinzburg8=function(){return e.geoProjection(Dt).scale(131.747)},t.geoGinzburg8Raw=Dt,t.geoGinzburg9=function(){return e.geoProjection(Rt).scale(131.087)},t.geoGinzburg9Raw=Rt,t.geoGringorten=function(){return e.geoProjection(Ft(Bt)).scale(239.75)},t.geoGringortenRaw=Bt,t.geoGuyou=function(){return e.geoProjection(Ft(Ut)).scale(151.496)},t.geoGuyouRaw=Ut,t.geoHammer=function(){var t=2,r=e.geoProjectionMutator(j),n=r(t);return n.coefficient=function(e){return arguments.length?r(t=+e):t},n.scale(169.529)},t.geoHammerRaw=j,t.geoHammerRetroazimuthal=function(){var t=0,r=e.geoProjectionMutator(Vt),n=r(t),i=n.rotate,a=n.stream,o=e.geoCircle();return n.parallel=function(e){if(!arguments.length)return t*A;var i=n.rotate();return r(t=e*M).rotate(i)},n.rotate=function(e){return arguments.length?(i.call(n,[e[0],e[1]-t*A]),o.center([-e[0],-e[1]]),n):((e=i.call(n))[1]+=t*A,e)},n.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<n;)t.point((e=r[i])[0],e[1]);for(t.lineEnd(),n=(r=o.radius(90.01)().coordinates[0]).length-1,t.lineStart();--i>=0;)t.point((e=r[i])[0],e[1]);t.lineEnd(),t.polygonEnd()},t},n.scale(79.4187).parallel(45).clipAngle(179.999)},t.geoHammerRetroazimuthalRaw=Vt,t.geoHealpix=function(){var t=4,n=e.geoProjectionMutator(Yt),i=n(t),a=i.stream;return i.lobes=function(e){return arguments.length?n(t=+e):t},i.stream=function(n){var o=i.rotate(),s=a(n),l=(i.rotate([0,0]),a(n));return i.rotate(o),s.sphere=function(){var n,i;e.geoStream((n=180/t,i=[].concat(r.range(-180,180+n/2,n).map(Wt),r.range(180,-180-n/2,-n).map(Xt)),{type:\"Polygon\",coordinates:[180===n?i.map(Zt):i]}),l)},s},i.scale(239.75)},t.geoHealpixRaw=Yt,t.geoHill=function(){var t=1,r=e.geoProjectionMutator(Jt),n=r(t);return n.ratio=function(e){return arguments.length?r(t=+e):t},n.scale(167.774).center([0,18.67])},t.geoHillRaw=Jt,t.geoHomolosine=function(){return e.geoProjection(Qt).scale(152.63)},t.geoHomolosineRaw=Qt,t.geoHufnagel=function(){var t=1,r=0,n=45*M,i=2,a=e.geoProjectionMutator($t),o=a(t,r,n,i);return o.a=function(e){return arguments.length?a(t=+e,r,n,i):t},o.b=function(e){return arguments.length?a(t,r=+e,n,i):r},o.psiMax=function(e){return arguments.length?a(t,r,n=+e*M,i):n*A},o.ratio=function(e){return arguments.length?a(t,r,n,i=+e):i},o.scale(180.739)},t.geoHufnagelRaw=$t,t.geoHyperelliptical=function(){var t=0,r=2.5,n=1.183136,i=e.geoProjectionMutator(ee),a=i(t,r,n);return a.alpha=function(e){return arguments.length?i(t=+e,r,n):t},a.k=function(e){return arguments.length?i(t,r=+e,n):r},a.gamma=function(e){return arguments.length?i(t,r,n=+e):n},a.scale(152.63)},t.geoHyperellipticalRaw=ee,t.geoInterrupt=ae,t.geoInterruptedBoggs=function(){return ae(J,oe).scale(160.857)},t.geoInterruptedHomolosine=function(){return ae(Qt,se).scale(152.63)},t.geoInterruptedMollweide=function(){return ae(W,le).scale(169.529)},t.geoInterruptedMollweideHemispheres=function(){return ae(W,ce).scale(169.529).rotate([20,0])},t.geoInterruptedSinuMollweide=function(){return ae(Kt,ue,H).rotate([-20,-55]).scale(164.263).center([0,-5.4036])},t.geoInterruptedSinusoidal=function(){return ae(Q,fe).scale(152.63).rotate([-20,0])},t.geoKavrayskiy7=function(){return e.geoProjection(he).scale(158.837)},t.geoKavrayskiy7Raw=he,t.geoLagrange=function(){var t=.5,r=e.geoProjectionMutator(pe),n=r(t);return n.spacing=function(e){return arguments.length?r(t=+e):t},n.scale(124.75)},t.geoLagrangeRaw=pe,t.geoLarrivee=function(){return e.geoProjection(me).scale(97.2672)},t.geoLarriveeRaw=me,t.geoLaskowski=function(){return e.geoProjection(ge).scale(139.98)},t.geoLaskowskiRaw=ge,t.geoLittrow=function(){return e.geoProjection(ve).scale(144.049).clipAngle(89.999)},t.geoLittrowRaw=ve,t.geoLoximuthal=function(){return K(ye).parallel(40).scale(158.837)},t.geoLoximuthalRaw=ye,t.geoMiller=function(){return e.geoProjection(xe).scale(108.318)},t.geoMillerRaw=xe,t.geoModifiedStereographic=Me,t.geoModifiedStereographicRaw=be,t.geoModifiedStereographicAlaska=function(){return Me(_e,[152,-64]).scale(1400).center([-160.908,62.4864]).clipAngle(30).angle(7.8)},t.geoModifiedStereographicGs48=function(){return Me(we,[95,-38]).scale(1e3).clipAngle(55).center([-96.5563,38.8675])},t.geoModifiedStereographicGs50=function(){return Me(Te,[120,-45]).scale(359.513).clipAngle(55).center([-117.474,53.0628])},t.geoModifiedStereographicMiller=function(){return Me(ke,[-20,-18]).scale(209.091).center([20,16.7214]).clipAngle(82)},t.geoModifiedStereographicLee=function(){return Me(Ae,[165,10]).scale(250).clipAngle(130).center([-165,-10])},t.geoMollweide=function(){return e.geoProjection(W).scale(169.529)},t.geoMollweideRaw=W,t.geoMtFlatPolarParabolic=function(){return e.geoProjection(Le).scale(164.859)},t.geoMtFlatPolarParabolicRaw=Le,t.geoMtFlatPolarQuartic=function(){return e.geoProjection(Ce).scale(188.209)},t.geoMtFlatPolarQuarticRaw=Ce,t.geoMtFlatPolarSinusoidal=function(){return e.geoProjection(Pe).scale(166.518)},t.geoMtFlatPolarSinusoidalRaw=Pe,t.geoNaturalEarth2=function(){return e.geoProjection(Ie).scale(175.295)},t.geoNaturalEarth2Raw=Ie,t.geoNellHammer=function(){return e.geoProjection(Oe).scale(152.63)},t.geoNellHammerRaw=Oe,t.geoInterruptedQuarticAuthalic=function(){return ae(j(1/0),ze).rotate([20,0]).scale(152.63)},t.geoNicolosi=function(){return e.geoProjection(De).scale(127.267)},t.geoNicolosiRaw=De,t.geoPatterson=function(){return e.geoProjection(Re).scale(139.319)},t.geoPattersonRaw=Re,t.geoPolyconic=function(){return e.geoProjection(Fe).scale(103.74)},t.geoPolyconicRaw=Fe,t.geoPolyhedral=Ve,t.geoPolyhedralButterfly=function(t){t=t||function(t){var r=e.geoCentroid({type:\"MultiPoint\",coordinates:t});return e.geoGnomonic().scale(1).translate([0,0]).rotate([-r[0],-r[1]])};var r=Ye.map((function(e){return{face:e,project:t(e)}}));return[-1,0,0,1,0,1,4,5].forEach((function(t,e){var n=r[t];n&&(n.children||(n.children=[])).push(r[e])})),Ve(r[0],(function(t,e){return r[t<-y/2?e<0?6:4:t<0?e<0?2:0:t<y/2?e<0?3:1:e<0?7:5]})).angle(-30).scale(101.858).center([0,45])},t.geoPolyhedralCollignon=function(t){t=t||function(t){var r=e.geoCentroid({type:\"MultiPoint\",coordinates:t});return e.geoProjection(Xe).translate([0,0]).scale(1).rotate(r[1]>0?[-r[0],0]:[180-r[0],180])};var r=Ye.map((function(e){return{face:e,project:t(e)}}));return[-1,0,0,1,0,1,4,5].forEach((function(t,e){var n=r[t];n&&(n.children||(n.children=[])).push(r[e])})),Ve(r[0],(function(t,e){return r[t<-y/2?e<0?6:4:t<0?e<0?2:0:t<y/2?e<0?3:1:e<0?7:5]})).angle(-30).scale(121.906).center([0,48.5904])},t.geoPolyhedralWaterman=function(t){t=t||function(t){var r=6===t.length?e.geoCentroid({type:\"MultiPoint\",coordinates:t}):t[0];return e.geoGnomonic().scale(1).translate([0,0]).rotate([-r[0],-r[1]])};var r=Ye.map((function(t){for(var e,r=t.map(Ke),n=r.length,i=r[n-1],a=[],o=0;o<n;++o)e=r[o],a.push(Je([.9486832980505138*i[0]+.31622776601683794*e[0],.9486832980505138*i[1]+.31622776601683794*e[1],.9486832980505138*i[2]+.31622776601683794*e[2]]),Je([.9486832980505138*e[0]+.31622776601683794*i[0],.9486832980505138*e[1]+.31622776601683794*i[1],.9486832980505138*e[2]+.31622776601683794*i[2]])),i=e;return a})),n=[],i=[-1,0,0,1,0,1,4,5];r.forEach((function(t,e){for(var a,o,s=Ye[e],l=s.length,c=n[e]=[],u=0;u<l;++u)r.push([s[u],t[(2*u+2)%(2*l)],t[(2*u+1)%(2*l)]]),i.push(e),c.push((a=Ke(t[(2*u+2)%(2*l)]),o=Ke(t[(2*u+1)%(2*l)]),[a[1]*o[2]-a[2]*o[1],a[2]*o[0]-a[0]*o[2],a[0]*o[1]-a[1]*o[0]]))}));var a=r.map((function(e){return{project:t(e),face:e}}));return i.forEach((function(t,e){var r=a[t];r&&(r.children||(r.children=[])).push(a[e])})),Ve(a[0],(function(t,e){var r=o(e),i=[r*o(t),r*m(t),m(e)],s=t<-y/2?e<0?6:4:t<0?e<0?2:0:t<y/2?e<0?3:1:e<0?7:5,l=n[s];return a[Ze(l[0],i)<0?8+3*s:Ze(l[1],i)<0?8+3*s+1:Ze(l[2],i)<0?8+3*s+2:s]})).angle(-30).scale(110.625).center([0,45])},t.geoProject=function(t,e){var r,n=e.stream;if(!n)throw new Error(\"invalid projection\");switch(t&&t.type){case\"Feature\":r=tr;break;case\"FeatureCollection\":r=$e;break;default:r=er}return r(t,n)},t.geoGringortenQuincuncial=function(){return sr(Bt).scale(176.423)},t.geoPeirceQuincuncial=lr,t.geoPierceQuincuncial=lr,t.geoQuantize=function(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);n<r;)i[n]=t[n],++n;return i}function n(t){return t.map(r)}function i(t){for(var e=r(t[0]),n=[e],i=1;i<t.length;i++){var a=r(t[i]);(a.length>2||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},t.geoQuincuncial=sr,t.geoRectangularPolyconic=function(){return K(cr).scale(131.215)},t.geoRectangularPolyconicRaw=cr,t.geoRobinson=function(){return e.geoProjection(fr).scale(152.63)},t.geoRobinsonRaw=fr,t.geoSatellite=function(){var t=2,r=0,n=e.geoProjectionMutator(hr),i=n(t,r);return i.distance=function(e){return arguments.length?n(t=+e,r):t},i.tilt=function(e){return arguments.length?n(t,r=e*M):r*A},i.scale(432.147).clipAngle(E(1/t)*A-1e-6)},t.geoSatelliteRaw=hr,t.geoSinuMollweide=function(){return e.geoProjection(Kt).rotate([-20,-55]).scale(164.263).center([0,-5.4036])},t.geoSinuMollweideRaw=Kt,t.geoSinusoidal=function(){return e.geoProjection(Q).scale(152.63)},t.geoSinusoidalRaw=Q,t.geoStitch=function(t){if(null==t)return t;switch(t.type){case\"Feature\":return wr(t);case\"FeatureCollection\":var e={type:\"FeatureCollection\",features:t.features.map(wr)};return null!=t.bbox&&(e.bbox=t.bbox),e;default:return Tr(t)}},t.geoTimes=function(){return e.geoProjection(kr).scale(146.153)},t.geoTimesRaw=kr,t.geoTwoPointAzimuthal=Sr,t.geoTwoPointAzimuthalRaw=Mr,t.geoTwoPointAzimuthalUsa=function(){return Sr([-158,21.5],[-77,39]).clipAngle(60).scale(400)},t.geoTwoPointEquidistant=Lr,t.geoTwoPointEquidistantRaw=Er,t.geoTwoPointEquidistantUsa=function(){return Lr([-158,21.5],[-77,39]).clipAngle(130).scale(122.571)},t.geoVanDerGrinten=function(){return e.geoProjection(Cr).scale(79.4183)},t.geoVanDerGrintenRaw=Cr,t.geoVanDerGrinten2=function(){return e.geoProjection(Pr).scale(79.4183)},t.geoVanDerGrinten2Raw=Pr,t.geoVanDerGrinten3=function(){return e.geoProjection(Ir).scale(79.4183)},t.geoVanDerGrinten3Raw=Ir,t.geoVanDerGrinten4=function(){return e.geoProjection(Or).scale(127.16)},t.geoVanDerGrinten4Raw=Or,t.geoWagner=Dr,t.geoWagner7=function(){return Dr().poleline(65).parallels(60).inflation(0).ratio(200).scale(172.633)},t.geoWagnerRaw=zr,t.geoWagner4=function(){return e.geoProjection(Br).scale(176.84)},t.geoWagner4Raw=Br,t.geoWagner6=function(){return e.geoProjection(Nr).scale(152.63)},t.geoWagner6Raw=Nr,t.geoWiechel=function(){return e.geoProjection(jr).rotate([0,-90,45]).scale(124.75).clipAngle(179.999)},t.geoWiechelRaw=jr,t.geoWinkel3=function(){return e.geoProjection(Ur).scale(158.837)},t.geoWinkel3Raw=Ur,Object.defineProperty(t,\"__esModule\",{value:!0})}))},{\"d3-array\":107,\"d3-geo\":114}],114:[function(t,e,r){!function(n,i){\"object\"==typeof r&&void 0!==e?i(r,t(\"d3-array\")):i((n=n||self).d3=n.d3||{},n.d3)}(this,(function(t,e){\"use strict\";function r(){return new n}function n(){this.reset()}n.prototype={constructor:n,reset:function(){this.s=this.t=0},add:function(t){a(i,t,this.t),a(this,i.s,this.s),this.s?this.t+=i.t:this.s=i.t},valueOf:function(){return this.s}};var i=new n;function a(t,e,r){var n=t.s=e+r,i=n-e,a=n-i;t.t=e-a+(r-i)}var o=1e-6,s=Math.PI,l=s/2,c=s/4,u=2*s,f=180/s,h=s/180,p=Math.abs,d=Math.atan,m=Math.atan2,g=Math.cos,v=Math.ceil,y=Math.exp,x=Math.log,b=Math.pow,_=Math.sin,w=Math.sign||function(t){return t>0?1:t<0?-1:0},T=Math.sqrt,k=Math.tan;function A(t){return t>1?0:t<-1?s:Math.acos(t)}function M(t){return t>1?l:t<-1?-l:Math.asin(t)}function S(t){return(t=_(t/2))*t}function E(){}function L(t,e){t&&P.hasOwnProperty(t.type)&&P[t.type](t,e)}var C={Feature:function(t,e){L(t.geometry,e)},FeatureCollection:function(t,e){for(var r=t.features,n=-1,i=r.length;++n<i;)L(r[n].geometry,e)}},P={Sphere:function(t,e){e.sphere()},Point:function(t,e){t=t.coordinates,e.point(t[0],t[1],t[2])},MultiPoint:function(t,e){for(var r=t.coordinates,n=-1,i=r.length;++n<i;)t=r[n],e.point(t[0],t[1],t[2])},LineString:function(t,e){I(t.coordinates,e,0)},MultiLineString:function(t,e){for(var r=t.coordinates,n=-1,i=r.length;++n<i;)I(r[n],e,0)},Polygon:function(t,e){O(t.coordinates,e)},MultiPolygon:function(t,e){for(var r=t.coordinates,n=-1,i=r.length;++n<i;)O(r[n],e)},GeometryCollection:function(t,e){for(var r=t.geometries,n=-1,i=r.length;++n<i;)L(r[n],e)}};function I(t,e,r){var n,i=-1,a=t.length-r;for(e.lineStart();++i<a;)n=t[i],e.point(n[0],n[1],n[2]);e.lineEnd()}function O(t,e){var r=-1,n=t.length;for(e.polygonStart();++r<n;)I(t[r],e,1);e.polygonEnd()}function z(t,e){t&&C.hasOwnProperty(t.type)?C[t.type](t,e):L(t,e)}var D,R,F,B,N,j=r(),U=r(),V={point:E,lineStart:E,lineEnd:E,polygonStart:function(){j.reset(),V.lineStart=H,V.lineEnd=q},polygonEnd:function(){var t=+j;U.add(t<0?u+t:t),this.lineStart=this.lineEnd=this.point=E},sphere:function(){U.add(u)}};function H(){V.point=G}function q(){Y(D,R)}function G(t,e){V.point=Y,D=t,R=e,F=t*=h,B=g(e=(e*=h)/2+c),N=_(e)}function Y(t,e){var r=(t*=h)-F,n=r>=0?1:-1,i=n*r,a=g(e=(e*=h)/2+c),o=_(e),s=N*o,l=B*a+s*g(i),u=s*n*_(i);j.add(m(u,l)),F=t,B=a,N=o}function W(t){return[m(t[1],t[0]),M(t[2])]}function X(t){var e=t[0],r=t[1],n=g(r);return[n*g(e),n*_(e),_(r)]}function Z(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function J(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 K(t,e){t[0]+=e[0],t[1]+=e[1],t[2]+=e[2]}function Q(t,e){return[t[0]*e,t[1]*e,t[2]*e]}function $(t){var e=T(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]);t[0]/=e,t[1]/=e,t[2]/=e}var tt,et,rt,nt,it,at,ot,st,lt,ct,ut,ft,ht,pt,dt,mt,gt,vt,yt,xt,bt,_t,wt,Tt,kt,At,Mt=r(),St={point:Et,lineStart:Ct,lineEnd:Pt,polygonStart:function(){St.point=It,St.lineStart=Ot,St.lineEnd=zt,Mt.reset(),V.polygonStart()},polygonEnd:function(){V.polygonEnd(),St.point=Et,St.lineStart=Ct,St.lineEnd=Pt,j<0?(tt=-(rt=180),et=-(nt=90)):Mt>o?nt=90:Mt<-o&&(et=-90),ct[0]=tt,ct[1]=rt},sphere:function(){tt=-(rt=180),et=-(nt=90)}};function Et(t,e){lt.push(ct=[tt=t,rt=t]),e<et&&(et=e),e>nt&&(nt=e)}function Lt(t,e){var r=X([t*h,e*h]);if(st){var n=J(st,r),i=J([n[1],-n[0],0],n);$(i),i=W(i);var a,o=t-it,s=o>0?1:-1,l=i[0]*f*s,c=p(o)>180;c^(s*it<l&&l<s*t)?(a=i[1]*f)>nt&&(nt=a):c^(s*it<(l=(l+360)%360-180)&&l<s*t)?(a=-i[1]*f)<et&&(et=a):(e<et&&(et=e),e>nt&&(nt=e)),c?t<it?Dt(tt,t)>Dt(tt,rt)&&(rt=t):Dt(t,rt)>Dt(tt,rt)&&(tt=t):rt>=tt?(t<tt&&(tt=t),t>rt&&(rt=t)):t>it?Dt(tt,t)>Dt(tt,rt)&&(rt=t):Dt(t,rt)>Dt(tt,rt)&&(tt=t)}else lt.push(ct=[tt=t,rt=t]);e<et&&(et=e),e>nt&&(nt=e),st=r,it=t}function Ct(){St.point=Lt}function Pt(){ct[0]=tt,ct[1]=rt,St.point=Et,st=null}function It(t,e){if(st){var r=t-it;Mt.add(p(r)>180?r+(r>0?360:-360):r)}else at=t,ot=e;V.point(t,e),Lt(t,e)}function Ot(){V.lineStart()}function zt(){It(at,ot),V.lineEnd(),p(Mt)>o&&(tt=-(rt=180)),ct[0]=tt,ct[1]=rt,st=null}function Dt(t,e){return(e-=t)<0?e+360:e}function Rt(t,e){return t[0]-e[0]}function Ft(t,e){return t[0]<=t[1]?t[0]<=e&&e<=t[1]:e<t[0]||t[1]<e}var Bt={sphere:E,point:Nt,lineStart:Ut,lineEnd:qt,polygonStart:function(){Bt.lineStart=Gt,Bt.lineEnd=Yt},polygonEnd:function(){Bt.lineStart=Ut,Bt.lineEnd=qt}};function Nt(t,e){t*=h;var r=g(e*=h);jt(r*g(t),r*_(t),_(e))}function jt(t,e,r){++ut,ht+=(t-ht)/ut,pt+=(e-pt)/ut,dt+=(r-dt)/ut}function Ut(){Bt.point=Vt}function Vt(t,e){t*=h;var r=g(e*=h);Tt=r*g(t),kt=r*_(t),At=_(e),Bt.point=Ht,jt(Tt,kt,At)}function Ht(t,e){t*=h;var r=g(e*=h),n=r*g(t),i=r*_(t),a=_(e),o=m(T((o=kt*a-At*i)*o+(o=At*n-Tt*a)*o+(o=Tt*i-kt*n)*o),Tt*n+kt*i+At*a);ft+=o,mt+=o*(Tt+(Tt=n)),gt+=o*(kt+(kt=i)),vt+=o*(At+(At=a)),jt(Tt,kt,At)}function qt(){Bt.point=Nt}function Gt(){Bt.point=Wt}function Yt(){Xt(_t,wt),Bt.point=Nt}function Wt(t,e){_t=t,wt=e,t*=h,e*=h,Bt.point=Xt;var r=g(e);Tt=r*g(t),kt=r*_(t),At=_(e),jt(Tt,kt,At)}function Xt(t,e){t*=h;var r=g(e*=h),n=r*g(t),i=r*_(t),a=_(e),o=kt*a-At*i,s=At*n-Tt*a,l=Tt*i-kt*n,c=T(o*o+s*s+l*l),u=M(c),f=c&&-u/c;yt+=f*o,xt+=f*s,bt+=f*l,ft+=u,mt+=u*(Tt+(Tt=n)),gt+=u*(kt+(kt=i)),vt+=u*(At+(At=a)),jt(Tt,kt,At)}function Zt(t){return function(){return t}}function Jt(t,e){function r(r,n){return r=t(r,n),e(r[0],r[1])}return t.invert&&e.invert&&(r.invert=function(r,n){return(r=e.invert(r,n))&&t.invert(r[0],r[1])}),r}function Kt(t,e){return[p(t)>s?t+Math.round(-t/u)*u:t,e]}function Qt(t,e,r){return(t%=u)?e||r?Jt(te(t),ee(e,r)):te(t):e||r?ee(e,r):Kt}function $t(t){return function(e,r){return[(e+=t)>s?e-u:e<-s?e+u:e,r]}}function te(t){var e=$t(t);return e.invert=$t(-t),e}function ee(t,e){var r=g(t),n=_(t),i=g(e),a=_(e);function o(t,e){var o=g(e),s=g(t)*o,l=_(t)*o,c=_(e),u=c*r+s*n;return[m(l*i-u*a,s*r-c*n),M(u*i+l*a)]}return o.invert=function(t,e){var o=g(e),s=g(t)*o,l=_(t)*o,c=_(e),u=c*i-l*a;return[m(l*i+c*a,s*r+u*n),M(u*r-s*n)]},o}function re(t){function e(e){return(e=t(e[0]*h,e[1]*h))[0]*=f,e[1]*=f,e}return t=Qt(t[0]*h,t[1]*h,t.length>2?t[2]*h:0),e.invert=function(e){return(e=t.invert(e[0]*h,e[1]*h))[0]*=f,e[1]*=f,e},e}function ne(t,e,r,n,i,a){if(r){var o=g(e),s=_(e),l=n*r;null==i?(i=e+n*u,a=e-l/2):(i=ie(o,i),a=ie(o,a),(n>0?i<a:i>a)&&(i+=n*u));for(var c,f=i;n>0?f>a:f<a;f-=l)c=W([o,-s*g(f),-s*_(f)]),t.point(c[0],c[1])}}function ie(t,e){(e=X(e))[0]-=t,$(e);var r=A(-e[1]);return((-e[2]<0?-r:r)+u-o)%u}function ae(){var t,e=[];return{point:function(e,r,n){t.push([e,r,n])},lineStart:function(){e.push(t=[])},lineEnd:E,rejoin:function(){e.length>1&&e.push(e.pop().concat(e.shift()))},result:function(){var r=e;return e=[],t=null,r}}}function oe(t,e){return p(t[0]-e[0])<o&&p(t[1]-e[1])<o}function se(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 le(t,e,r,n,i){var a,s,l=[],c=[];if(t.forEach((function(t){if(!((e=t.length-1)<=0)){var e,r,n=t[0],s=t[e];if(oe(n,s)){if(!n[2]&&!s[2]){for(i.lineStart(),a=0;a<e;++a)i.point((n=t[a])[0],n[1]);return void i.lineEnd()}s[0]+=2*o}l.push(r=new se(n,t,null,!0)),c.push(r.o=new se(n,null,r,!1)),l.push(r=new se(s,t,null,!1)),c.push(r.o=new se(s,null,r,!0))}})),l.length){for(c.sort(e),ce(l),ce(c),a=0,s=c.length;a<s;++a)c[a].e=r=!r;for(var u,f,h=l[0];;){for(var p=h,d=!0;p.v;)if((p=p.n)===h)return;u=p.z,i.lineStart();do{if(p.v=p.o.v=!0,p.e){if(d)for(a=0,s=u.length;a<s;++a)i.point((f=u[a])[0],f[1]);else n(p.x,p.n.x,1,i);p=p.n}else{if(d)for(u=p.p.z,a=u.length-1;a>=0;--a)i.point((f=u[a])[0],f[1]);else n(p.x,p.p.x,-1,i);p=p.p}u=(p=p.o).z,d=!d}while(!p.v);i.lineEnd()}}}function ce(t){if(e=t.length){for(var e,r,n=0,i=t[0];++n<e;)i.n=r=t[n],r.p=i,i=r;i.n=r=t[0],r.p=i}}Kt.invert=Kt;var ue=r();function fe(t){return p(t[0])<=s?t[0]:w(t[0])*((p(t[0])+s)%u-s)}function he(t,e){var r=fe(e),n=e[1],i=_(n),a=[_(r),-g(r),0],f=0,h=0;ue.reset(),1===i?n=l+o:-1===i&&(n=-l-o);for(var p=0,d=t.length;p<d;++p)if(y=(v=t[p]).length)for(var v,y,x=v[y-1],b=fe(x),w=x[1]/2+c,T=_(w),k=g(w),A=0;A<y;++A,b=E,T=C,k=P,x=S){var S=v[A],E=fe(S),L=S[1]/2+c,C=_(L),P=g(L),I=E-b,O=I>=0?1:-1,z=O*I,D=z>s,R=T*C;if(ue.add(m(R*O*_(z),k*P+R*g(z))),f+=D?I+O*u:I,D^b>=r^E>=r){var F=J(X(x),X(S));$(F);var B=J(a,F);$(B);var N=(D^I>=0?-1:1)*M(B[2]);(n>N||n===N&&(F[0]||F[1]))&&(h+=D^I>=0?1:-1)}}return(f<-o||f<o&&ue<-o)^1&h}function pe(t,r,n,i){return function(a){var o,s,l,c=r(a),u=ae(),f=r(u),h=!1,p={point:d,lineStart:g,lineEnd:v,polygonStart:function(){p.point=y,p.lineStart=x,p.lineEnd=b,s=[],o=[]},polygonEnd:function(){p.point=d,p.lineStart=g,p.lineEnd=v,s=e.merge(s);var t=he(o,i);s.length?(h||(a.polygonStart(),h=!0),le(s,me,t,n,a)):t&&(h||(a.polygonStart(),h=!0),a.lineStart(),n(null,null,1,a),a.lineEnd()),h&&(a.polygonEnd(),h=!1),s=o=null},sphere:function(){a.polygonStart(),a.lineStart(),n(null,null,1,a),a.lineEnd(),a.polygonEnd()}};function d(e,r){t(e,r)&&a.point(e,r)}function m(t,e){c.point(t,e)}function g(){p.point=m,c.lineStart()}function v(){p.point=d,c.lineEnd()}function y(t,e){l.push([t,e]),f.point(t,e)}function x(){f.lineStart(),l=[]}function b(){y(l[0][0],l[0][1]),f.lineEnd();var t,e,r,n,i=f.clean(),c=u.result(),p=c.length;if(l.pop(),o.push(l),l=null,p)if(1&i){if((e=(r=c[0]).length-1)>0){for(h||(a.polygonStart(),h=!0),a.lineStart(),t=0;t<e;++t)a.point((n=r[t])[0],n[1]);a.lineEnd()}}else p>1&&2&i&&c.push(c.pop().concat(c.shift())),s.push(c.filter(de))}return p}}function de(t){return t.length>1}function me(t,e){return((t=t.x)[0]<0?t[1]-l-o:l-t[1])-((e=e.x)[0]<0?e[1]-l-o:l-e[1])}var ge=pe((function(){return!0}),(function(t){var e,r=NaN,n=NaN,i=NaN;return{lineStart:function(){t.lineStart(),e=1},point:function(a,c){var u=a>0?s:-s,f=p(a-r);p(f-s)<o?(t.point(r,n=(n+c)/2>0?l:-l),t.point(i,n),t.lineEnd(),t.lineStart(),t.point(u,n),t.point(a,n),e=0):i!==u&&f>=s&&(p(r-i)<o&&(r-=i*o),p(a-u)<o&&(a-=u*o),n=function(t,e,r,n){var i,a,s=_(t-r);return p(s)>o?d((_(e)*(a=g(n))*_(r)-_(n)*(i=g(e))*_(t))/(i*a*s)):(e+n)/2}(r,n,a,c),t.point(i,n),t.lineEnd(),t.lineStart(),t.point(u,n),e=0),t.point(r=a,n=c),i=u},lineEnd:function(){t.lineEnd(),r=n=NaN},clean:function(){return 2-e}}}),(function(t,e,r,n){var i;if(null==t)i=r*l,n.point(-s,i),n.point(0,i),n.point(s,i),n.point(s,0),n.point(s,-i),n.point(0,-i),n.point(-s,-i),n.point(-s,0),n.point(-s,i);else if(p(t[0]-e[0])>o){var a=t[0]<e[0]?s:-s;i=r*a/2,n.point(-a,i),n.point(0,i),n.point(a,i)}else n.point(e[0],e[1])}),[-s,-l]);function ve(t){var e=g(t),r=6*h,n=e>0,i=p(e)>o;function a(t,r){return g(t)*g(r)>e}function l(t,r,n){var i=[1,0,0],a=J(X(t),X(r)),l=Z(a,a),c=a[0],u=l-c*c;if(!u)return!n&&t;var f=e*l/u,h=-e*c/u,d=J(i,a),m=Q(i,f);K(m,Q(a,h));var g=d,v=Z(m,g),y=Z(g,g),x=v*v-y*(Z(m,m)-1);if(!(x<0)){var b=T(x),_=Q(g,(-v-b)/y);if(K(_,m),_=W(_),!n)return _;var w,k=t[0],A=r[0],M=t[1],S=r[1];A<k&&(w=k,k=A,A=w);var E=A-k,L=p(E-s)<o;if(!L&&S<M&&(w=M,M=S,S=w),L||E<o?L?M+S>0^_[1]<(p(_[0]-k)<o?M:S):M<=_[1]&&_[1]<=S:E>s^(k<=_[0]&&_[0]<=A)){var C=Q(g,(-v+b)/y);return K(C,m),[_,W(C)]}}}function c(e,r){var i=n?t:s-t,a=0;return e<-i?a|=1:e>i&&(a|=2),r<-i?a|=4:r>i&&(a|=8),a}return pe(a,(function(t){var e,r,o,u,f;return{lineStart:function(){u=o=!1,f=1},point:function(h,p){var d,m=[h,p],g=a(h,p),v=n?g?0:c(h,p):g?c(h+(h<0?s:-s),p):0;if(!e&&(u=o=g)&&t.lineStart(),g!==o&&(!(d=l(e,m))||oe(e,d)||oe(m,d))&&(m[2]=1),g!==o)f=0,g?(t.lineStart(),d=l(m,e),t.point(d[0],d[1])):(d=l(e,m),t.point(d[0],d[1],2),t.lineEnd()),e=d;else if(i&&e&&n^g){var y;v&r||!(y=l(m,e,!0))||(f=0,n?(t.lineStart(),t.point(y[0][0],y[0][1]),t.point(y[1][0],y[1][1]),t.lineEnd()):(t.point(y[1][0],y[1][1]),t.lineEnd(),t.lineStart(),t.point(y[0][0],y[0][1],3)))}!g||e&&oe(e,m)||t.point(m[0],m[1]),e=m,o=g,r=v},lineEnd:function(){o&&t.lineEnd(),e=null},clean:function(){return f|(u&&o)<<1}}}),(function(e,n,i,a){ne(a,t,r,i,e,n)}),n?[0,-t]:[-s,t-s])}function ye(t,r,n,i){function a(e,a){return t<=e&&e<=n&&r<=a&&a<=i}function s(e,a,o,s){var c=0,f=0;if(null==e||(c=l(e,o))!==(f=l(a,o))||u(e,a)<0^o>0)do{s.point(0===c||3===c?t:n,c>1?i:r)}while((c=(c+o+4)%4)!==f);else s.point(a[0],a[1])}function l(e,i){return p(e[0]-t)<o?i>0?0:3:p(e[0]-n)<o?i>0?2:1:p(e[1]-r)<o?i>0?1:0:i>0?3:2}function c(t,e){return u(t.x,e.x)}function u(t,e){var r=l(t,1),n=l(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(o){var l,u,f,h,p,d,m,g,v,y,x,b=o,_=ae(),w={point:T,lineStart:function(){w.point=k,u&&u.push(f=[]);y=!0,v=!1,m=g=NaN},lineEnd:function(){l&&(k(h,p),d&&v&&_.rejoin(),l.push(_.result()));w.point=T,v&&b.lineEnd()},polygonStart:function(){b=_,l=[],u=[],x=!0},polygonEnd:function(){var r=function(){for(var e=0,r=0,n=u.length;r<n;++r)for(var a,o,s=u[r],l=1,c=s.length,f=s[0],h=f[0],p=f[1];l<c;++l)a=h,o=p,f=s[l],h=f[0],p=f[1],o<=i?p>i&&(h-a)*(i-o)>(p-o)*(t-a)&&++e:p<=i&&(h-a)*(i-o)<(p-o)*(t-a)&&--e;return e}(),n=x&&r,a=(l=e.merge(l)).length;(n||a)&&(o.polygonStart(),n&&(o.lineStart(),s(null,null,1,o),o.lineEnd()),a&&le(l,c,r,s,o),o.polygonEnd());b=o,l=u=f=null}};function T(t,e){a(t,e)&&b.point(t,e)}function k(e,o){var s=a(e,o);if(u&&f.push([e,o]),y)h=e,p=o,d=s,y=!1,s&&(b.lineStart(),b.point(e,o));else if(s&&v)b.point(e,o);else{var l=[m=Math.max(-1e9,Math.min(1e9,m)),g=Math.max(-1e9,Math.min(1e9,g))],c=[e=Math.max(-1e9,Math.min(1e9,e)),o=Math.max(-1e9,Math.min(1e9,o))];!function(t,e,r,n,i,a){var o,s=t[0],l=t[1],c=0,u=1,f=e[0]-s,h=e[1]-l;if(o=r-s,f||!(o>0)){if(o/=f,f<0){if(o<c)return;o<u&&(u=o)}else if(f>0){if(o>u)return;o>c&&(c=o)}if(o=i-s,f||!(o<0)){if(o/=f,f<0){if(o>u)return;o>c&&(c=o)}else if(f>0){if(o<c)return;o<u&&(u=o)}if(o=n-l,h||!(o>0)){if(o/=h,h<0){if(o<c)return;o<u&&(u=o)}else if(h>0){if(o>u)return;o>c&&(c=o)}if(o=a-l,h||!(o<0)){if(o/=h,h<0){if(o>u)return;o>c&&(c=o)}else if(h>0){if(o<c)return;o<u&&(u=o)}return c>0&&(t[0]=s+c*f,t[1]=l+c*h),u<1&&(e[0]=s+u*f,e[1]=l+u*h),!0}}}}}(l,c,t,r,n,i)?s&&(b.lineStart(),b.point(e,o),x=!1):(v||(b.lineStart(),b.point(l[0],l[1])),b.point(c[0],c[1]),s||b.lineEnd(),x=!1)}m=e,g=o,v=s}return w}}var xe,be,_e,we=r(),Te={sphere:E,point:E,lineStart:function(){Te.point=Ae,Te.lineEnd=ke},lineEnd:E,polygonStart:E,polygonEnd:E};function ke(){Te.point=Te.lineEnd=E}function Ae(t,e){xe=t*=h,be=_(e*=h),_e=g(e),Te.point=Me}function Me(t,e){t*=h;var r=_(e*=h),n=g(e),i=p(t-xe),a=g(i),o=n*_(i),s=_e*r-be*n*a,l=be*r+_e*n*a;we.add(m(T(o*o+s*s),l)),xe=t,be=r,_e=n}function Se(t){return we.reset(),z(t,Te),+we}var Ee=[null,null],Le={type:\"LineString\",coordinates:Ee};function Ce(t,e){return Ee[0]=t,Ee[1]=e,Se(Le)}var Pe={Feature:function(t,e){return Oe(t.geometry,e)},FeatureCollection:function(t,e){for(var r=t.features,n=-1,i=r.length;++n<i;)if(Oe(r[n].geometry,e))return!0;return!1}},Ie={Sphere:function(){return!0},Point:function(t,e){return ze(t.coordinates,e)},MultiPoint:function(t,e){for(var r=t.coordinates,n=-1,i=r.length;++n<i;)if(ze(r[n],e))return!0;return!1},LineString:function(t,e){return De(t.coordinates,e)},MultiLineString:function(t,e){for(var r=t.coordinates,n=-1,i=r.length;++n<i;)if(De(r[n],e))return!0;return!1},Polygon:function(t,e){return Re(t.coordinates,e)},MultiPolygon:function(t,e){for(var r=t.coordinates,n=-1,i=r.length;++n<i;)if(Re(r[n],e))return!0;return!1},GeometryCollection:function(t,e){for(var r=t.geometries,n=-1,i=r.length;++n<i;)if(Oe(r[n],e))return!0;return!1}};function Oe(t,e){return!(!t||!Ie.hasOwnProperty(t.type))&&Ie[t.type](t,e)}function ze(t,e){return 0===Ce(t,e)}function De(t,e){for(var r,n,i,a=0,o=t.length;a<o;a++){if(0===(n=Ce(t[a],e)))return!0;if(a>0&&(i=Ce(t[a],t[a-1]))>0&&r<=i&&n<=i&&(r+n-i)*(1-Math.pow((r-n)/i,2))<1e-12*i)return!0;r=n}return!1}function Re(t,e){return!!he(t.map(Fe),Be(e))}function Fe(t){return(t=t.map(Be)).pop(),t}function Be(t){return[t[0]*h,t[1]*h]}function Ne(t,r,n){var i=e.range(t,r-o,n).concat(r);return function(t){return i.map((function(e){return[t,e]}))}}function je(t,r,n){var i=e.range(t,r-o,n).concat(r);return function(t){return i.map((function(e){return[e,t]}))}}function Ue(){var t,r,n,i,a,s,l,c,u,f,h,d,m=10,g=m,y=90,x=360,b=2.5;function _(){return{type:\"MultiLineString\",coordinates:w()}}function w(){return e.range(v(i/y)*y,n,y).map(h).concat(e.range(v(c/x)*x,l,x).map(d)).concat(e.range(v(r/m)*m,t,m).filter((function(t){return p(t%y)>o})).map(u)).concat(e.range(v(s/g)*g,a,g).filter((function(t){return p(t%x)>o})).map(f))}return _.lines=function(){return w().map((function(t){return{type:\"LineString\",coordinates:t}}))},_.outline=function(){return{type:\"Polygon\",coordinates:[h(i).concat(d(l).slice(1),h(n).reverse().slice(1),d(c).reverse().slice(1))]}},_.extent=function(t){return arguments.length?_.extentMajor(t).extentMinor(t):_.extentMinor()},_.extentMajor=function(t){return arguments.length?(i=+t[0][0],n=+t[1][0],c=+t[0][1],l=+t[1][1],i>n&&(t=i,i=n,n=t),c>l&&(t=c,c=l,l=t),_.precision(b)):[[i,c],[n,l]]},_.extentMinor=function(e){return arguments.length?(r=+e[0][0],t=+e[1][0],s=+e[0][1],a=+e[1][1],r>t&&(e=r,r=t,t=e),s>a&&(e=s,s=a,a=e),_.precision(b)):[[r,s],[t,a]]},_.step=function(t){return arguments.length?_.stepMajor(t).stepMinor(t):_.stepMinor()},_.stepMajor=function(t){return arguments.length?(y=+t[0],x=+t[1],_):[y,x]},_.stepMinor=function(t){return arguments.length?(m=+t[0],g=+t[1],_):[m,g]},_.precision=function(e){return arguments.length?(b=+e,u=Ne(s,a,90),f=je(r,t,b),h=Ne(c,l,90),d=je(i,n,b),_):b},_.extentMajor([[-180,-90+o],[180,90-o]]).extentMinor([[-180,-80-o],[180,80+o]])}function Ve(t){return t}var He,qe,Ge,Ye,We=r(),Xe=r(),Ze={point:E,lineStart:E,lineEnd:E,polygonStart:function(){Ze.lineStart=Je,Ze.lineEnd=$e},polygonEnd:function(){Ze.lineStart=Ze.lineEnd=Ze.point=E,We.add(p(Xe)),Xe.reset()},result:function(){var t=We/2;return We.reset(),t}};function Je(){Ze.point=Ke}function Ke(t,e){Ze.point=Qe,He=Ge=t,qe=Ye=e}function Qe(t,e){Xe.add(Ye*t-Ge*e),Ge=t,Ye=e}function $e(){Qe(He,qe)}var tr=1/0,er=tr,rr=-tr,nr=rr,ir={point:function(t,e){t<tr&&(tr=t);t>rr&&(rr=t);e<er&&(er=e);e>nr&&(nr=e)},lineStart:E,lineEnd:E,polygonStart:E,polygonEnd:E,result:function(){var t=[[tr,er],[rr,nr]];return rr=nr=-(er=tr=1/0),t}};var ar,or,sr,lr,cr=0,ur=0,fr=0,hr=0,pr=0,dr=0,mr=0,gr=0,vr=0,yr={point:xr,lineStart:br,lineEnd:Tr,polygonStart:function(){yr.lineStart=kr,yr.lineEnd=Ar},polygonEnd:function(){yr.point=xr,yr.lineStart=br,yr.lineEnd=Tr},result:function(){var t=vr?[mr/vr,gr/vr]:dr?[hr/dr,pr/dr]:fr?[cr/fr,ur/fr]:[NaN,NaN];return cr=ur=fr=hr=pr=dr=mr=gr=vr=0,t}};function xr(t,e){cr+=t,ur+=e,++fr}function br(){yr.point=_r}function _r(t,e){yr.point=wr,xr(sr=t,lr=e)}function wr(t,e){var r=t-sr,n=e-lr,i=T(r*r+n*n);hr+=i*(sr+t)/2,pr+=i*(lr+e)/2,dr+=i,xr(sr=t,lr=e)}function Tr(){yr.point=xr}function kr(){yr.point=Mr}function Ar(){Sr(ar,or)}function Mr(t,e){yr.point=Sr,xr(ar=sr=t,or=lr=e)}function Sr(t,e){var r=t-sr,n=e-lr,i=T(r*r+n*n);hr+=i*(sr+t)/2,pr+=i*(lr+e)/2,dr+=i,mr+=(i=lr*t-sr*e)*(sr+t),gr+=i*(lr+e),vr+=3*i,xr(sr=t,lr=e)}function Er(t){this._context=t}Er.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,u)}},result:E};var Lr,Cr,Pr,Ir,Or,zr=r(),Dr={point:E,lineStart:function(){Dr.point=Rr},lineEnd:function(){Lr&&Fr(Cr,Pr),Dr.point=E},polygonStart:function(){Lr=!0},polygonEnd:function(){Lr=null},result:function(){var t=+zr;return zr.reset(),t}};function Rr(t,e){Dr.point=Fr,Cr=Ir=t,Pr=Or=e}function Fr(t,e){Ir-=t,Or-=e,zr.add(T(Ir*Ir+Or*Or)),Ir=t,Or=e}function Br(){this._string=[]}function Nr(t){return\"m0,\"+t+\"a\"+t+\",\"+t+\" 0 1,1 0,\"+-2*t+\"a\"+t+\",\"+t+\" 0 1,1 0,\"+2*t+\"z\"}function jr(t){return function(e){var r=new Ur;for(var n in t)r[n]=t[n];return r.stream=e,r}}function Ur(){}function Vr(t,e,r){var n=t.clipExtent&&t.clipExtent();return t.scale(150).translate([0,0]),null!=n&&t.clipExtent(null),z(r,t.stream(ir)),e(ir.result()),null!=n&&t.clipExtent(n),t}function Hr(t,e,r){return Vr(t,(function(r){var n=e[1][0]-e[0][0],i=e[1][1]-e[0][1],a=Math.min(n/(r[1][0]-r[0][0]),i/(r[1][1]-r[0][1])),o=+e[0][0]+(n-a*(r[1][0]+r[0][0]))/2,s=+e[0][1]+(i-a*(r[1][1]+r[0][1]))/2;t.scale(150*a).translate([o,s])}),r)}function qr(t,e,r){return Hr(t,[[0,0],e],r)}function Gr(t,e,r){return Vr(t,(function(r){var n=+e,i=n/(r[1][0]-r[0][0]),a=(n-i*(r[1][0]+r[0][0]))/2,o=-i*r[0][1];t.scale(150*i).translate([a,o])}),r)}function Yr(t,e,r){return Vr(t,(function(r){var n=+e,i=n/(r[1][1]-r[0][1]),a=-i*r[0][0],o=(n-i*(r[1][1]+r[0][1]))/2;t.scale(150*i).translate([a,o])}),r)}Br.prototype={_radius:4.5,_circle:Nr(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=Nr(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}},Ur.prototype={constructor:Ur,point:function(t,e){this.stream.point(t,e)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}};var Wr=g(30*h);function Xr(t,e){return+e?function(t,e){function r(n,i,a,s,l,c,u,f,h,d,g,v,y,x){var b=u-n,_=f-i,w=b*b+_*_;if(w>4*e&&y--){var k=s+d,A=l+g,S=c+v,E=T(k*k+A*A+S*S),L=M(S/=E),C=p(p(S)-1)<o||p(a-h)<o?(a+h)/2:m(A,k),P=t(C,L),I=P[0],O=P[1],z=I-n,D=O-i,R=_*z-b*D;(R*R/w>e||p((b*z+_*D)/w-.5)>.3||s*d+l*g+c*v<Wr)&&(r(n,i,a,s,l,c,I,O,C,k/=E,A/=E,S,y,x),x.point(I,O),r(I,O,C,k,A,S,u,f,h,d,g,v,y,x))}}return function(e){var n,i,a,o,s,l,c,u,f,h,p,d,m={point:g,lineStart:v,lineEnd:x,polygonStart:function(){e.polygonStart(),m.lineStart=b},polygonEnd:function(){e.polygonEnd(),m.lineStart=v}};function g(r,n){r=t(r,n),e.point(r[0],r[1])}function v(){u=NaN,m.point=y,e.lineStart()}function y(n,i){var a=X([n,i]),o=t(n,i);r(u,f,c,h,p,d,u=o[0],f=o[1],c=n,h=a[0],p=a[1],d=a[2],16,e),e.point(u,f)}function x(){m.point=g,e.lineEnd()}function b(){v(),m.point=_,m.lineEnd=w}function _(t,e){y(n=t,e),i=u,a=f,o=h,s=p,l=d,m.point=y}function w(){r(u,f,c,h,p,d,i,a,n,o,s,l,16,e),m.lineEnd=x,x()}return m}}(t,e):function(t){return jr({point:function(e,r){e=t(e,r),this.stream.point(e[0],e[1])}})}(t)}var Zr=jr({point:function(t,e){this.stream.point(t*h,e*h)}});function Jr(t,e,r,n,i){function a(a,o){return[e+t*(a*=n),r-t*(o*=i)]}return a.invert=function(a,o){return[(a-e)/t*n,(r-o)/t*i]},a}function Kr(t,e,r,n,i,a){var o=g(a),s=_(a),l=o*t,c=s*t,u=o/t,f=s/t,h=(s*r-o*e)/t,p=(s*e+o*r)/t;function d(t,a){return[l*(t*=n)-c*(a*=i)+e,r-c*t-l*a]}return d.invert=function(t,e){return[n*(u*t-f*e+h),i*(p-f*t-u*e)]},d}function Qr(t){return $r((function(){return t}))()}function $r(t){var e,r,n,i,a,o,s,l,c,u,p=150,d=480,m=250,g=0,v=0,y=0,x=0,b=0,_=0,w=1,k=1,A=null,M=ge,S=null,E=Ve,L=.5;function C(t){return l(t[0]*h,t[1]*h)}function P(t){return(t=l.invert(t[0],t[1]))&&[t[0]*f,t[1]*f]}function I(){var t=Kr(p,0,0,w,k,_).apply(null,e(g,v)),n=(_?Kr:Jr)(p,d-t[0],m-t[1],w,k,_);return r=Qt(y,x,b),s=Jt(e,n),l=Jt(r,s),o=Xr(s,L),O()}function O(){return c=u=null,C}return C.stream=function(t){return c&&u===t?c:c=Zr(function(t){return jr({point:function(e,r){var n=t(e,r);return this.stream.point(n[0],n[1])}})}(r)(M(o(E(u=t)))))},C.preclip=function(t){return arguments.length?(M=t,A=void 0,O()):M},C.postclip=function(t){return arguments.length?(E=t,S=n=i=a=null,O()):E},C.clipAngle=function(t){return arguments.length?(M=+t?ve(A=t*h):(A=null,ge),O()):A*f},C.clipExtent=function(t){return arguments.length?(E=null==t?(S=n=i=a=null,Ve):ye(S=+t[0][0],n=+t[0][1],i=+t[1][0],a=+t[1][1]),O()):null==S?null:[[S,n],[i,a]]},C.scale=function(t){return arguments.length?(p=+t,I()):p},C.translate=function(t){return arguments.length?(d=+t[0],m=+t[1],I()):[d,m]},C.center=function(t){return arguments.length?(g=t[0]%360*h,v=t[1]%360*h,I()):[g*f,v*f]},C.rotate=function(t){return arguments.length?(y=t[0]%360*h,x=t[1]%360*h,b=t.length>2?t[2]%360*h:0,I()):[y*f,x*f,b*f]},C.angle=function(t){return arguments.length?(_=t%360*h,I()):_*f},C.reflectX=function(t){return arguments.length?(w=t?-1:1,I()):w<0},C.reflectY=function(t){return arguments.length?(k=t?-1:1,I()):k<0},C.precision=function(t){return arguments.length?(o=Xr(s,L=t*t),O()):T(L)},C.fitExtent=function(t,e){return Hr(C,t,e)},C.fitSize=function(t,e){return qr(C,t,e)},C.fitWidth=function(t,e){return Gr(C,t,e)},C.fitHeight=function(t,e){return Yr(C,t,e)},function(){return e=t.apply(this,arguments),C.invert=e.invert&&P,I()}}function tn(t){var e=0,r=s/3,n=$r(t),i=n(e,r);return i.parallels=function(t){return arguments.length?n(e=t[0]*h,r=t[1]*h):[e*f,r*f]},i}function en(t,e){var r=_(t),n=(r+_(e))/2;if(p(n)<o)return function(t){var e=g(t);function r(t,r){return[t*e,_(r)/e]}return r.invert=function(t,r){return[t/e,M(r*e)]},r}(t);var i=1+r*(2*n-r),a=T(i)/n;function l(t,e){var r=T(i-2*n*_(e))/n;return[r*_(t*=n),a-r*g(t)]}return l.invert=function(t,e){var r=a-e,o=m(t,p(r))*w(r);return r*n<0&&(o-=s*w(t)*w(r)),[o/n,M((i-(t*t+r*r)*n*n)/(2*n))]},l}function rn(){return tn(en).scale(155.424).center([0,33.6442])}function nn(){return rn().parallels([29.5,45.5]).scale(1070).translate([480,250]).rotate([96,0]).center([-.6,38.7])}function an(t){return function(e,r){var n=g(e),i=g(r),a=t(n*i);return[a*i*_(e),a*_(r)]}}function on(t){return function(e,r){var n=T(e*e+r*r),i=t(n),a=_(i),o=g(i);return[m(e*a,n*o),M(n&&r*a/n)]}}var sn=an((function(t){return T(2/(1+t))}));sn.invert=on((function(t){return 2*M(t/2)}));var ln=an((function(t){return(t=A(t))&&t/_(t)}));function cn(t,e){return[t,x(k((l+e)/2))]}function un(t){var e,r,n,i=Qr(t),a=i.center,o=i.scale,l=i.translate,c=i.clipExtent,u=null;function f(){var a=s*o(),l=i(re(i.rotate()).invert([0,0]));return c(null==u?[[l[0]-a,l[1]-a],[l[0]+a,l[1]+a]]:t===cn?[[Math.max(l[0]-a,u),e],[Math.min(l[0]+a,r),n]]:[[u,Math.max(l[1]-a,e)],[r,Math.min(l[1]+a,n)]])}return i.scale=function(t){return arguments.length?(o(t),f()):o()},i.translate=function(t){return arguments.length?(l(t),f()):l()},i.center=function(t){return arguments.length?(a(t),f()):a()},i.clipExtent=function(t){return arguments.length?(null==t?u=e=r=n=null:(u=+t[0][0],e=+t[0][1],r=+t[1][0],n=+t[1][1]),f()):null==u?null:[[u,e],[r,n]]},f()}function fn(t){return k((l+t)/2)}function hn(t,e){var r=g(t),n=t===e?_(t):x(r/g(e))/x(fn(e)/fn(t)),i=r*b(fn(t),n)/n;if(!n)return cn;function a(t,e){i>0?e<-l+o&&(e=-l+o):e>l-o&&(e=l-o);var r=i/b(fn(e),n);return[r*_(n*t),i-r*g(n*t)]}return a.invert=function(t,e){var r=i-e,a=w(n)*T(t*t+r*r),o=m(t,p(r))*w(r);return r*n<0&&(o-=s*w(t)*w(r)),[o/n,2*d(b(i/a,1/n))-l]},a}function pn(t,e){return[t,e]}function dn(t,e){var r=g(t),n=t===e?_(t):(r-g(e))/(e-t),i=r/n+t;if(p(n)<o)return pn;function a(t,e){var r=i-e,a=n*t;return[r*_(a),i-r*g(a)]}return a.invert=function(t,e){var r=i-e,a=m(t,p(r))*w(r);return r*n<0&&(a-=s*w(t)*w(r)),[a/n,i-w(n)*T(t*t+r*r)]},a}ln.invert=on((function(t){return t})),cn.invert=function(t,e){return[t,2*d(y(e))-l]},pn.invert=pn;var mn=1.340264,gn=-.081106,vn=893e-6,yn=.003796,xn=T(3)/2;function bn(t,e){var r=M(xn*_(e)),n=r*r,i=n*n*n;return[t*g(r)/(xn*(mn+3*gn*n+i*(7*vn+9*yn*n))),r*(mn+gn*n+i*(vn+yn*n))]}function _n(t,e){var r=g(e),n=g(t)*r;return[r*_(t)/n,_(e)/n]}function wn(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 Tn(t,e){return[g(e)*_(t),_(e)]}function kn(t,e){var r=g(e),n=1+g(t)*r;return[r*_(t)/n,_(e)/n]}function An(t,e){return[x(k((l+e)/2)),-t]}bn.invert=function(t,e){for(var r,n=e,i=n*n,a=i*i*i,o=0;o<12&&(a=(i=(n-=r=(n*(mn+gn*i+a*(vn+yn*i))-e)/(mn+3*gn*i+a*(7*vn+9*yn*i)))*n)*i*i,!(p(r)<1e-12));++o);return[xn*t*(mn+3*gn*i+a*(7*vn+9*yn*i))/g(n),M(_(n)/xn)]},_n.invert=on(d),wn.invert=function(t,e){var r,n=e,i=25;do{var a=n*n,s=a*a;n-=r=(n*(1.007226+a*(.015085+s*(.028874*a-.044475-.005916*s)))-e)/(1.007226+a*(.045255+s*(.259866*a-.311325-.005916*11*s)))}while(p(r)>o&&--i>0);return[t/(.8707+(a=n*n)*(a*(a*a*a*(.003971-.001529*a)-.013791)-.131979)),n]},Tn.invert=on(M),kn.invert=on((function(t){return 2*d(t)})),An.invert=function(t,e){return[-e,2*d(y(t))-l]},t.geoAlbers=nn,t.geoAlbersUsa=function(){var t,e,r,n,i,a,s=nn(),l=rn().rotate([154,0]).center([-2,58.5]).parallels([55,65]),c=rn().rotate([157,0]).center([-3,19.9]).parallels([8,18]),u={point:function(t,e){a=[t,e]}};function f(t){var e=t[0],o=t[1];return a=null,r.point(e,o),a||(n.point(e,o),a)||(i.point(e,o),a)}function h(){return t=e=null,f}return f.invert=function(t){var e=s.scale(),r=s.translate(),n=(t[0]-r[0])/e,i=(t[1]-r[1])/e;return(i>=.12&&i<.234&&n>=-.425&&n<-.214?l:i>=.166&&i<.234&&n>=-.214&&n<-.115?c:s).invert(t)},f.stream=function(r){return t&&e===r?t:(n=[s.stream(e=r),l.stream(r),c.stream(r)],i=n.length,t={point:function(t,e){for(var r=-1;++r<i;)n[r].point(t,e)},sphere:function(){for(var t=-1;++t<i;)n[t].sphere()},lineStart:function(){for(var t=-1;++t<i;)n[t].lineStart()},lineEnd:function(){for(var t=-1;++t<i;)n[t].lineEnd()},polygonStart:function(){for(var t=-1;++t<i;)n[t].polygonStart()},polygonEnd:function(){for(var t=-1;++t<i;)n[t].polygonEnd()}});var n,i},f.precision=function(t){return arguments.length?(s.precision(t),l.precision(t),c.precision(t),h()):s.precision()},f.scale=function(t){return arguments.length?(s.scale(t),l.scale(.35*t),c.scale(t),f.translate(s.translate())):s.scale()},f.translate=function(t){if(!arguments.length)return s.translate();var e=s.scale(),a=+t[0],f=+t[1];return r=s.translate(t).clipExtent([[a-.455*e,f-.238*e],[a+.455*e,f+.238*e]]).stream(u),n=l.translate([a-.307*e,f+.201*e]).clipExtent([[a-.425*e+o,f+.12*e+o],[a-.214*e-o,f+.234*e-o]]).stream(u),i=c.translate([a-.205*e,f+.212*e]).clipExtent([[a-.214*e+o,f+.166*e+o],[a-.115*e-o,f+.234*e-o]]).stream(u),h()},f.fitExtent=function(t,e){return Hr(f,t,e)},f.fitSize=function(t,e){return qr(f,t,e)},f.fitWidth=function(t,e){return Gr(f,t,e)},f.fitHeight=function(t,e){return Yr(f,t,e)},f.scale(1070)},t.geoArea=function(t){return U.reset(),z(t,V),2*U},t.geoAzimuthalEqualArea=function(){return Qr(sn).scale(124.75).clipAngle(179.999)},t.geoAzimuthalEqualAreaRaw=sn,t.geoAzimuthalEquidistant=function(){return Qr(ln).scale(79.4188).clipAngle(179.999)},t.geoAzimuthalEquidistantRaw=ln,t.geoBounds=function(t){var e,r,n,i,a,o,s;if(nt=rt=-(tt=et=1/0),lt=[],z(t,St),r=lt.length){for(lt.sort(Rt),e=1,a=[n=lt[0]];e<r;++e)Ft(n,(i=lt[e])[0])||Ft(n,i[1])?(Dt(n[0],i[1])>Dt(n[0],n[1])&&(n[1]=i[1]),Dt(i[0],n[1])>Dt(n[0],n[1])&&(n[0]=i[0])):a.push(n=i);for(o=-1/0,e=0,n=a[r=a.length-1];e<=r;n=i,++e)i=a[e],(s=Dt(n[1],i[0]))>o&&(o=s,tt=i[0],rt=n[1])}return lt=ct=null,tt===1/0||et===1/0?[[NaN,NaN],[NaN,NaN]]:[[tt,et],[rt,nt]]},t.geoCentroid=function(t){ut=ft=ht=pt=dt=mt=gt=vt=yt=xt=bt=0,z(t,Bt);var e=yt,r=xt,n=bt,i=e*e+r*r+n*n;return i<1e-12&&(e=mt,r=gt,n=vt,ft<o&&(e=ht,r=pt,n=dt),(i=e*e+r*r+n*n)<1e-12)?[NaN,NaN]:[m(r,e)*f,M(n/T(i))*f]},t.geoCircle=function(){var t,e,r=Zt([0,0]),n=Zt(90),i=Zt(6),a={point:function(r,n){t.push(r=e(r,n)),r[0]*=f,r[1]*=f}};function o(){var o=r.apply(this,arguments),s=n.apply(this,arguments)*h,l=i.apply(this,arguments)*h;return t=[],e=Qt(-o[0]*h,-o[1]*h,0).invert,ne(a,s,l,1),o={type:\"Polygon\",coordinates:[t]},t=e=null,o}return o.center=function(t){return arguments.length?(r=\"function\"==typeof t?t:Zt([+t[0],+t[1]]),o):r},o.radius=function(t){return arguments.length?(n=\"function\"==typeof t?t:Zt(+t),o):n},o.precision=function(t){return arguments.length?(i=\"function\"==typeof t?t:Zt(+t),o):i},o},t.geoClipAntimeridian=ge,t.geoClipCircle=ve,t.geoClipExtent=function(){var t,e,r,n=0,i=0,a=960,o=500;return r={stream:function(r){return t&&e===r?t:t=ye(n,i,a,o)(e=r)},extent:function(s){return arguments.length?(n=+s[0][0],i=+s[0][1],a=+s[1][0],o=+s[1][1],t=e=null,r):[[n,i],[a,o]]}}},t.geoClipRectangle=ye,t.geoConicConformal=function(){return tn(hn).scale(109.5).parallels([30,30])},t.geoConicConformalRaw=hn,t.geoConicEqualArea=rn,t.geoConicEqualAreaRaw=en,t.geoConicEquidistant=function(){return tn(dn).scale(131.154).center([0,13.9389])},t.geoConicEquidistantRaw=dn,t.geoContains=function(t,e){return(t&&Pe.hasOwnProperty(t.type)?Pe[t.type]:Oe)(t,e)},t.geoDistance=Ce,t.geoEqualEarth=function(){return Qr(bn).scale(177.158)},t.geoEqualEarthRaw=bn,t.geoEquirectangular=function(){return Qr(pn).scale(152.63)},t.geoEquirectangularRaw=pn,t.geoGnomonic=function(){return Qr(_n).scale(144.049).clipAngle(60)},t.geoGnomonicRaw=_n,t.geoGraticule=Ue,t.geoGraticule10=function(){return Ue()()},t.geoIdentity=function(){var t,e,r,n,i,a,o,s=1,l=0,c=0,u=1,p=1,d=0,m=null,v=1,y=1,x=jr({point:function(t,e){var r=T([t,e]);this.stream.point(r[0],r[1])}}),b=Ve;function w(){return v=s*u,y=s*p,a=o=null,T}function T(r){var n=r[0]*v,i=r[1]*y;if(d){var a=i*t-n*e;n=n*t+i*e,i=a}return[n+l,i+c]}return T.invert=function(r){var n=r[0]-l,i=r[1]-c;if(d){var a=i*t+n*e;n=n*t-i*e,i=a}return[n/v,i/y]},T.stream=function(t){return a&&o===t?a:a=x(b(o=t))},T.postclip=function(t){return arguments.length?(b=t,m=r=n=i=null,w()):b},T.clipExtent=function(t){return arguments.length?(b=null==t?(m=r=n=i=null,Ve):ye(m=+t[0][0],r=+t[0][1],n=+t[1][0],i=+t[1][1]),w()):null==m?null:[[m,r],[n,i]]},T.scale=function(t){return arguments.length?(s=+t,w()):s},T.translate=function(t){return arguments.length?(l=+t[0],c=+t[1],w()):[l,c]},T.angle=function(r){return arguments.length?(e=_(d=r%360*h),t=g(d),w()):d*f},T.reflectX=function(t){return arguments.length?(u=t?-1:1,w()):u<0},T.reflectY=function(t){return arguments.length?(p=t?-1:1,w()):p<0},T.fitExtent=function(t,e){return Hr(T,t,e)},T.fitSize=function(t,e){return qr(T,t,e)},T.fitWidth=function(t,e){return Gr(T,t,e)},T.fitHeight=function(t,e){return Yr(T,t,e)},T},t.geoInterpolate=function(t,e){var r=t[0]*h,n=t[1]*h,i=e[0]*h,a=e[1]*h,o=g(n),s=_(n),l=g(a),c=_(a),u=o*g(r),p=o*_(r),d=l*g(i),v=l*_(i),y=2*M(T(S(a-n)+o*l*S(i-r))),x=_(y),b=y?function(t){var e=_(t*=y)/x,r=_(y-t)/x,n=r*u+e*d,i=r*p+e*v,a=r*s+e*c;return[m(i,n)*f,m(a,T(n*n+i*i))*f]}:function(){return[r*f,n*f]};return b.distance=y,b},t.geoLength=Se,t.geoMercator=function(){return un(cn).scale(961/u)},t.geoMercatorRaw=cn,t.geoNaturalEarth1=function(){return Qr(wn).scale(175.295)},t.geoNaturalEarth1Raw=wn,t.geoOrthographic=function(){return Qr(Tn).scale(249.5).clipAngle(90+o)},t.geoOrthographicRaw=Tn,t.geoPath=function(t,e){var r,n,i=4.5;function a(t){return t&&(\"function\"==typeof i&&n.pointRadius(+i.apply(this,arguments)),z(t,r(n))),n.result()}return a.area=function(t){return z(t,r(Ze)),Ze.result()},a.measure=function(t){return z(t,r(Dr)),Dr.result()},a.bounds=function(t){return z(t,r(ir)),ir.result()},a.centroid=function(t){return z(t,r(yr)),yr.result()},a.projection=function(e){return arguments.length?(r=null==e?(t=null,Ve):(t=e).stream,a):t},a.context=function(t){return arguments.length?(n=null==t?(e=null,new Br):new Er(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)},t.geoProjection=Qr,t.geoProjectionMutator=$r,t.geoRotation=re,t.geoStereographic=function(){return Qr(kn).scale(250).clipAngle(142)},t.geoStereographicRaw=kn,t.geoStream=z,t.geoTransform=function(t){return{stream:jr(t)}},t.geoTransverseMercator=function(){var t=un(An),e=t.center,r=t.rotate;return t.center=function(t){return arguments.length?e([-t[1],t[0]]):[(t=e())[1],-t[0]]},t.rotate=function(t){return arguments.length?r([t[0],t[1],t.length>2?t[2]+90:90]):[(t=r())[0],t[1],t[2]-90]},r([0,0,90]).scale(159.155)},t.geoTransverseMercatorRaw=An,Object.defineProperty(t,\"__esModule\",{value:!0})}))},{\"d3-array\":107}],115:[function(t,e,r){!function(t,n){\"object\"==typeof r&&void 0!==e?n(r):n((t=t||self).d3=t.d3||{})}(this,(function(t){\"use strict\";function e(t,e){return t.parent===e.parent?1:2}function r(t,e){return t+e.x}function n(t,e){return Math.max(t,e.y)}function i(t){var e=0,r=t.children,n=r&&r.length;if(n)for(;--n>=0;)e+=r[n].value;else e=1;t.value=e}function a(t,e){var r,n,i,a,s,u=new c(t),f=+t.value&&(u.value=t.value),h=[u];for(null==e&&(e=o);r=h.pop();)if(f&&(r.value=+r.data.value),(i=e(r.data))&&(s=i.length))for(r.children=new Array(s),a=s-1;a>=0;--a)h.push(n=r.children[a]=new c(i[a])),n.parent=r,n.depth=r.depth+1;return u.eachBefore(l)}function o(t){return t.children}function s(t){t.data=t.data.data}function l(t){var e=0;do{t.height=e}while((t=t.parent)&&t.height<++e)}function c(t){this.data=t,this.depth=this.height=0,this.parent=null}c.prototype=a.prototype={constructor:c,count:function(){return this.eachAfter(i)},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<i;++n)o.push(r[n])}while(o.length);return this},eachAfter:function(t){for(var e,r,n,i=this,a=[i],o=[];i=a.pop();)if(o.push(i),e=i.children)for(r=0,n=e.length;r<n;++r)a.push(e[r]);for(;i=o.pop();)t(i);return this},eachBefore:function(t){for(var e,r,n=this,i=[n];n=i.pop();)if(t(n),e=n.children)for(r=e.length-1;r>=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;t=r.pop(),e=n.pop();for(;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 a(this).eachBefore(s)}};var u=Array.prototype.slice;function f(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}(u.call(t))).length,a=[];n<i;)e=t[n],r&&d(r,e)?++n:(r=g(a=h(a,e)),n=0);return r}function h(t,e){var r,n;if(m(e,t))return[e];for(r=0;r<t.length;++r)if(p(e,t[r])&&m(v(t[r],e),t))return[t[r],e];for(r=0;r<t.length-1;++r)for(n=r+1;n<t.length;++n)if(p(v(t[r],t[n]),e)&&p(v(t[r],e),t[n])&&p(v(t[n],e),t[r])&&m(y(t[r],t[n],e),t))return[t[r],t[n],e];throw new Error}function p(t,e){var r=t.r-e.r,n=e.x-t.x,i=e.y-t.y;return r<0||r*r<n*n+i*i}function d(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 m(t,e){for(var r=0;r<e.length;++r)if(!d(t,e[r]))return!1;return!0}function g(t){switch(t.length){case 1:return{x:(e=t[0]).x,y:e.y,r:e.r};case 2:return v(t[0],t[1]);case 3:return y(t[0],t[1],t[2])}var e}function v(t,e){var r=t.x,n=t.y,i=t.r,a=e.x,o=e.y,s=e.r,l=a-r,c=o-n,u=s-i,f=Math.sqrt(l*l+c*c);return{x:(r+a+l/f*u)/2,y:(n+o+c/f*u)/2,r:(f+i+s)/2}}function y(t,e,r){var n=t.x,i=t.y,a=t.r,o=e.x,s=e.y,l=e.r,c=r.x,u=r.y,f=r.r,h=n-o,p=n-c,d=i-s,m=i-u,g=l-a,v=f-a,y=n*n+i*i-a*a,x=y-o*o-s*s+l*l,b=y-c*c-u*u+f*f,_=p*d-h*m,w=(d*b-m*x)/(2*_)-n,T=(m*g-d*v)/_,k=(p*x-h*b)/(2*_)-i,A=(h*v-p*g)/_,M=T*T+A*A-1,S=2*(a+w*T+k*A),E=w*w+k*k-a*a,L=-(M?(S+Math.sqrt(S*S-4*M*E))/(2*M):E/S);return{x:n+w+T*L,y:i+k+A*L,r:L}}function x(t,e,r){var n,i,a,o,s=t.x-e.x,l=t.y-e.y,c=s*s+l*l;c?(i=e.r+r.r,i*=i,o=t.r+r.r,i>(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 b(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 _(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 w(t){this._=t,this.next=null,this.previous=null}function T(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;x(r,e,n=t[2]),e=new w(e),r=new w(r),n=new w(n),e.next=n.previous=r,r.next=e.previous=n,n.next=r.previous=e;t:for(s=3;s<i;++s){x(e._,r._,n=t[s]),n=new w(n),l=r.next,c=e.previous,u=r._.r,h=e._.r;do{if(u<=h){if(b(l._,n._)){r=l,e.next=r,r.previous=e,--s;continue t}u+=l._.r,l=l.next}else{if(b(c._,n._)){(e=c).next=r,r.previous=e,--s;continue t}h+=c._.r,c=c.previous}}while(l!==c.next);for(n.previous=e,n.next=r,e.next=r.previous=r=n,a=_(e);(n=n.next)!==r;)(o=_(n))<a&&(e=n,a=o);r=e.next}for(e=[r._],n=r;(n=n.next)!==r;)e.push(n._);for(n=f(e),s=0;s<i;++s)(e=t[s]).x-=n.x,e.y-=n.y;return n.r}function k(t){return null==t?null:A(t)}function A(t){if(\"function\"!=typeof t)throw new Error;return t}function M(){return 0}function S(t){return function(){return t}}function E(t){return Math.sqrt(t.value)}function L(t){return function(e){e.children||(e.r=Math.max(0,+t(e)||0))}}function C(t,e){return function(r){if(n=r.children){var n,i,a,o=n.length,s=t(r)*e||0;if(s)for(i=0;i<o;++i)n[i].r+=s;if(a=T(n),s)for(i=0;i<o;++i)n[i].r-=s;r.r=a+s}}}function P(t){return function(e){var r=e.parent;e.r*=t,r&&(e.x=r.x+t*e.x,e.y=r.y+t*e.y)}}function I(t){t.x0=Math.round(t.x0),t.y0=Math.round(t.y0),t.x1=Math.round(t.x1),t.y1=Math.round(t.y1)}function O(t,e,r,n,i){for(var a,o=t.children,s=-1,l=o.length,c=t.value&&(n-e)/t.value;++s<l;)(a=o[s]).y0=r,a.y1=i,a.x0=e,a.x1=e+=a.value*c}var z={depth:-1},D={};function R(t){return t.id}function F(t){return t.parentId}function B(t,e){return t.parent===e.parent?1:2}function N(t){var e=t.children;return e?e[0]:t.t}function j(t){var e=t.children;return e?e[e.length-1]:t.t}function U(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 V(t,e,r){return t.a.parent===e.parent?t.a:r}function H(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 q(t,e,r,n,i){for(var a,o=t.children,s=-1,l=o.length,c=t.value&&(i-r)/t.value;++s<l;)(a=o[s]).x0=e,a.x1=n,a.y0=r,a.y1=r+=a.value*c}H.prototype=Object.create(c.prototype);var G=(1+Math.sqrt(5))/2;function Y(t,e,r,n,i,a){for(var o,s,l,c,u,f,h,p,d,m,g,v=[],y=e.children,x=0,b=0,_=y.length,w=e.value;x<_;){l=i-r,c=a-n;do{u=y[b++].value}while(!u&&b<_);for(f=h=u,g=u*u*(m=Math.max(c/l,l/c)/(w*t)),d=Math.max(h/g,g/f);b<_;++b){if(u+=s=y[b].value,s<f&&(f=s),s>h&&(h=s),g=u*u*m,(p=Math.max(h/g,g/f))>d){u-=s;break}d=p}v.push(o={value:u,dice:l<c,children:y.slice(x,b)}),o.dice?O(o,r,n,i,w?n+=c*u/w:a):q(o,r,n,w?r+=l*u/w:i,a),w-=u,x=b}return v}var W=function t(e){function r(t,r,n,i,a){Y(e,t,r,n,i,a)}return r.ratio=function(e){return t((e=+e)>1?e:1)},r}(G);var X=function t(e){function r(t,r,n,i,a){if((o=t._squarify)&&o.ratio===e)for(var o,s,l,c,u,f=-1,h=o.length,p=t.value;++f<h;){for(l=(s=o[f]).children,c=s.value=0,u=l.length;c<u;++c)s.value+=l[c].value;s.dice?O(s,r,n,i,n+=(a-n)*s.value/p):q(s,r,n,r+=(i-r)*s.value/p,a),p-=s.value}else t._squarify=o=Y(e,t,r,n,i,a),o.ratio=e}return r.ratio=function(e){return t((e=+e)>1?e:1)},r}(G);t.cluster=function(){var t=e,i=1,a=1,o=!1;function s(e){var s,l=0;e.eachAfter((function(e){var i=e.children;i?(e.x=function(t){return t.reduce(r,0)/t.length}(i),e.y=function(t){return 1+t.reduce(n,0)}(i)):(e.x=s?l+=t(e,s):0,e.y=0,s=e)}));var c=function(t){for(var e;e=t.children;)t=e[0];return t}(e),u=function(t){for(var e;e=t.children;)t=e[e.length-1];return t}(e),f=c.x-t(c,u)/2,h=u.x+t(u,c)/2;return e.eachAfter(o?function(t){t.x=(t.x-e.x)*i,t.y=(e.y-t.y)*a}:function(t){t.x=(t.x-f)/(h-f)*i,t.y=(1-(e.y?t.y/e.y:1))*a})}return s.separation=function(e){return arguments.length?(t=e,s):t},s.size=function(t){return arguments.length?(o=!1,i=+t[0],a=+t[1],s):o?null:[i,a]},s.nodeSize=function(t){return arguments.length?(o=!0,i=+t[0],a=+t[1],s):o?[i,a]:null},s},t.hierarchy=a,t.pack=function(){var t=null,e=1,r=1,n=M;function i(i){return i.x=e/2,i.y=r/2,t?i.eachBefore(L(t)).eachAfter(C(n,.5)).eachBefore(P(1)):i.eachBefore(L(E)).eachAfter(C(M,1)).eachAfter(C(n,i.r/Math.min(e,r))).eachBefore(P(Math.min(e,r)/(2*i.r))),i}return i.radius=function(e){return arguments.length?(t=k(e),i):t},i.size=function(t){return arguments.length?(e=+t[0],r=+t[1],i):[e,r]},i.padding=function(t){return arguments.length?(n=\"function\"==typeof t?t:S(+t),i):n},i},t.packEnclose=f,t.packSiblings=function(t){return T(t),t},t.partition=function(){var t=1,e=1,r=0,n=!1;function i(i){var a=i.height+1;return i.x0=i.y0=r,i.x1=t,i.y1=e/a,i.eachBefore(function(t,e){return function(n){n.children&&O(n,n.x0,t*(n.depth+1)/e,n.x1,t*(n.depth+2)/e);var i=n.x0,a=n.y0,o=n.x1-r,s=n.y1-r;o<i&&(i=o=(i+o)/2),s<a&&(a=s=(a+s)/2),n.x0=i,n.y0=a,n.x1=o,n.y1=s}}(e,a)),n&&i.eachBefore(I),i}return i.round=function(t){return arguments.length?(n=!!t,i):n},i.size=function(r){return arguments.length?(t=+r[0],e=+r[1],i):[t,e]},i.padding=function(t){return arguments.length?(r=+t,i):r},i},t.stratify=function(){var t=R,e=F;function r(r){var n,i,a,o,s,u,f,h=r.length,p=new Array(h),d={};for(i=0;i<h;++i)n=r[i],s=p[i]=new c(n),null!=(u=t(n,i,r))&&(u+=\"\")&&(d[f=\"$\"+(s.id=u)]=f in d?D:s);for(i=0;i<h;++i)if(s=p[i],null!=(u=e(r[i],i,r))&&(u+=\"\")){if(!(o=d[\"$\"+u]))throw new Error(\"missing: \"+u);if(o===D)throw new Error(\"ambiguous: \"+u);o.children?o.children.push(s):o.children=[s],s.parent=o}else{if(a)throw new Error(\"multiple roots\");a=s}if(!a)throw new Error(\"no root\");if(a.parent=z,a.eachBefore((function(t){t.depth=t.parent.depth+1,--h})).eachBefore(l),a.parent=null,h>0)throw new Error(\"cycle\");return a}return r.id=function(e){return arguments.length?(t=A(e),r):t},r.parentId=function(t){return arguments.length?(e=A(t),r):e},r},t.tree=function(){var t=B,e=1,r=1,n=null;function i(i){var l=function(t){for(var e,r,n,i,a,o=new H(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 H(n[i],i)),r.parent=e;return(o.parent=new H(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,f=i;i.eachBefore((function(t){t.x<c.x&&(c=t),t.x>u.x&&(u=t),t.depth>f.depth&&(f=t)}));var h=c===u?1:t(c,u)/2,p=h-c.x,d=e/(u.x+h+p),m=r/(f.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,f=s.m,h=l.m;s=j(s),a=N(a),s&&a;)l=N(l),(o=j(o)).a=e,(i=s.z+f-a.z-c+t(s._,a._))>0&&(U(V(s,e,n),e,i),c+=i,u+=i),f+=s.m,c+=a.m,h+=l.m,u+=o.m;s&&!j(o)&&(o.t=s,o.m+=f-u),a&&!N(l)&&(l.t=a,l.m+=c-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},t.treemap=function(){var t=W,e=!1,r=1,n=1,i=[0],a=M,o=M,s=M,l=M,c=M;function u(t){return t.x0=t.y0=0,t.x1=r,t.y1=n,t.eachBefore(f),i=[0],e&&t.eachBefore(I),t}function f(e){var r=i[e.depth],n=e.x0+r,u=e.y0+r,f=e.x1-r,h=e.y1-r;f<n&&(n=f=(n+f)/2),h<u&&(u=h=(u+h)/2),e.x0=n,e.y0=u,e.x1=f,e.y1=h,e.children&&(r=i[e.depth+1]=a(e)/2,n+=c(e)-r,u+=o(e)-r,(f-=s(e)-r)<n&&(n=f=(n+f)/2),(h-=l(e)-r)<u&&(u=h=(u+h)/2),t(e,n,u,f,h))}return u.round=function(t){return arguments.length?(e=!!t,u):e},u.size=function(t){return arguments.length?(r=+t[0],n=+t[1],u):[r,n]},u.tile=function(e){return arguments.length?(t=A(e),u):t},u.padding=function(t){return arguments.length?u.paddingInner(t).paddingOuter(t):u.paddingInner()},u.paddingInner=function(t){return arguments.length?(a=\"function\"==typeof t?t:S(+t),u):a},u.paddingOuter=function(t){return arguments.length?u.paddingTop(t).paddingRight(t).paddingBottom(t).paddingLeft(t):u.paddingTop()},u.paddingTop=function(t){return arguments.length?(o=\"function\"==typeof t?t:S(+t),u):o},u.paddingRight=function(t){return arguments.length?(s=\"function\"==typeof t?t:S(+t),u):s},u.paddingBottom=function(t){return arguments.length?(l=\"function\"==typeof t?t:S(+t),u):l},u.paddingLeft=function(t){return arguments.length?(c=\"function\"==typeof t?t:S(+t),u):c},u},t.treemapBinary=function(t,e,r,n,i){var a,o,s=t.children,l=s.length,c=new Array(l+1);for(c[0]=o=a=0;a<l;++a)c[a+1]=o+=s[a].value;!function t(e,r,n,i,a,o,l){if(e>=r-1){var u=s[e];return u.x0=i,u.y0=a,u.x1=o,void(u.y1=l)}var f=c[e],h=n/2+f,p=e+1,d=r-1;for(;p<d;){var m=p+d>>>1;c[m]<h?p=m+1:d=m}h-c[p-1]<c[p]-h&&e+1<p&&--p;var g=c[p]-f,v=n-g;if(o-i>l-a){var y=(i*v+o*g)/n;t(e,p,g,i,a,y,l),t(p,r,v,y,a,o,l)}else{var x=(a*v+l*g)/n;t(e,p,g,i,a,o,x),t(p,r,v,i,x,o,l)}}(0,l,t.value,e,r,n,i)},t.treemapDice=O,t.treemapResquarify=X,t.treemapSlice=q,t.treemapSliceDice=function(t,e,r,n,i){(1&t.depth?q:O)(t,e,r,n,i)},t.treemapSquarify=W,Object.defineProperty(t,\"__esModule\",{value:!0})}))},{}],116:[function(t,e,r){!function(n,i){\"object\"==typeof r&&void 0!==e?i(r,t(\"d3-color\")):i((n=n||self).d3=n.d3||{},n.d3)}(this,(function(t,e){\"use strict\";function r(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}function n(t){var e=t.length-1;return function(n){var i=n<=0?n=0:n>=1?(n=1,e-1):Math.floor(n*e),a=t[i],o=t[i+1],s=i>0?t[i-1]:2*a-o,l=i<e-1?t[i+2]:2*o-a;return r((n-i/e)*e,s,a,o,l)}}function i(t){var e=t.length;return function(n){var i=Math.floor(((n%=1)<0?++n:n)*e),a=t[(i+e-1)%e],o=t[i%e],s=t[(i+1)%e],l=t[(i+2)%e];return r((n-i/e)*e,a,o,s,l)}}function a(t){return function(){return t}}function o(t,e){return function(r){return t+r*e}}function s(t,e){var r=e-t;return r?o(t,r>180||r<-180?r-360*Math.round(r/360):r):a(isNaN(t)?e:t)}function l(t){return 1==(t=+t)?c: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):a(isNaN(e)?r:e)}}function c(t,e){var r=e-t;return r?o(t,r):a(isNaN(t)?e:t)}var u=function t(r){var n=l(r);function i(t,r){var i=n((t=e.rgb(t)).r,(r=e.rgb(r)).r),a=n(t.g,r.g),o=n(t.b,r.b),s=c(t.opacity,r.opacity);return function(e){return t.r=i(e),t.g=a(e),t.b=o(e),t.opacity=s(e),t+\"\"}}return i.gamma=t,i}(1);function f(t){return function(r){var n,i,a=r.length,o=new Array(a),s=new Array(a),l=new Array(a);for(n=0;n<a;++n)i=e.rgb(r[n]),o[n]=i.r||0,s[n]=i.g||0,l[n]=i.b||0;return o=t(o),s=t(s),l=t(l),i.opacity=1,function(t){return i.r=o(t),i.g=s(t),i.b=l(t),i+\"\"}}}var h=f(n),p=f(i);function d(t,e){e||(e=[]);var r,n=t?Math.min(e.length,t.length):0,i=e.slice();return function(a){for(r=0;r<n;++r)i[r]=t[r]*(1-a)+e[r]*a;return i}}function m(t){return ArrayBuffer.isView(t)&&!(t instanceof DataView)}function g(t,e){var r,n=e?e.length:0,i=t?Math.min(n,t.length):0,a=new Array(i),o=new Array(n);for(r=0;r<i;++r)a[r]=T(t[r],e[r]);for(;r<n;++r)o[r]=e[r];return function(t){for(r=0;r<i;++r)o[r]=a[r](t);return o}}function v(t,e){var r=new Date;return t=+t,e=+e,function(n){return r.setTime(t*(1-n)+e*n),r}}function y(t,e){return t=+t,e=+e,function(r){return t*(1-r)+e*r}}function x(t,e){var r,n={},i={};for(r in null!==t&&\"object\"==typeof t||(t={}),null!==e&&\"object\"==typeof e||(e={}),e)r in t?n[r]=T(t[r],e[r]):i[r]=e[r];return function(t){for(r in n)i[r]=n[r](t);return i}}var b=/[-+]?(?:\\d+\\.?\\d*|\\.?\\d+)(?:[eE][-+]?\\d+)?/g,_=new RegExp(b.source,\"g\");function w(t,e){var r,n,i,a=b.lastIndex=_.lastIndex=0,o=-1,s=[],l=[];for(t+=\"\",e+=\"\";(r=b.exec(t))&&(n=_.exec(e));)(i=n.index)>a&&(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:y(r,n)})),a=_.lastIndex;return a<e.length&&(i=e.slice(a),s[o]?s[o]+=i:s[++o]=i),s.length<2?l[0]?function(t){return function(e){return t(e)+\"\"}}(l[0].x):function(t){return function(){return t}}(e):(e=l.length,function(t){for(var r,n=0;n<e;++n)s[(r=l[n]).i]=r.x(t);return s.join(\"\")})}function T(t,r){var n,i=typeof r;return null==r||\"boolean\"===i?a(r):(\"number\"===i?y:\"string\"===i?(n=e.color(r))?(r=n,u):w:r instanceof e.color?u:r instanceof Date?v:m(r)?d:Array.isArray(r)?g:\"function\"!=typeof r.valueOf&&\"function\"!=typeof r.toString||isNaN(r)?x:y)(t,r)}var k,A,M,S,E=180/Math.PI,L={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function C(t,e,r,n,i,a){var o,s,l;return(o=Math.sqrt(t*t+e*e))&&(t/=o,e/=o),(l=t*r+e*n)&&(r-=t*l,n-=e*l),(s=Math.sqrt(r*r+n*n))&&(r/=s,n/=s,l/=s),t*n<e*r&&(t=-t,e=-e,l=-l,o=-o),{translateX:i,translateY:a,rotate:Math.atan2(e,t)*E,skewX:Math.atan(l)*E,scaleX:o,scaleY:s}}function P(t,e,r,n){function i(t){return t.length?t.pop()+\" \":\"\"}return function(a,o){var s=[],l=[];return a=t(a),o=t(o),function(t,n,i,a,o,s){if(t!==i||n!==a){var l=o.push(\"translate(\",null,e,null,r);s.push({i:l-4,x:y(t,i)},{i:l-2,x:y(n,a)})}else(i||a)&&o.push(\"translate(\"+i+e+a+r)}(a.translateX,a.translateY,o.translateX,o.translateY,s,l),function(t,e,r,a){t!==e?(t-e>180?e+=360:e-t>180&&(t+=360),a.push({i:r.push(i(r)+\"rotate(\",null,n)-2,x:y(t,e)})):e&&r.push(i(r)+\"rotate(\"+e+n)}(a.rotate,o.rotate,s,l),function(t,e,r,a){t!==e?a.push({i:r.push(i(r)+\"skewX(\",null,n)-2,x:y(t,e)}):e&&r.push(i(r)+\"skewX(\"+e+n)}(a.skewX,o.skewX,s,l),function(t,e,r,n,a,o){if(t!==r||e!==n){var s=a.push(i(a)+\"scale(\",null,\",\",null,\")\");o.push({i:s-4,x:y(t,r)},{i:s-2,x:y(e,n)})}else 1===r&&1===n||a.push(i(a)+\"scale(\"+r+\",\"+n+\")\")}(a.scaleX,a.scaleY,o.scaleX,o.scaleY,s,l),a=o=null,function(t){for(var e,r=-1,n=l.length;++r<n;)s[(e=l[r]).i]=e.x(t);return s.join(\"\")}}}var I=P((function(t){return\"none\"===t?L:(k||(k=document.createElement(\"DIV\"),A=document.documentElement,M=document.defaultView),k.style.transform=t,t=M.getComputedStyle(A.appendChild(k),null).getPropertyValue(\"transform\"),A.removeChild(k),C(+(t=t.slice(7,-1).split(\",\"))[0],+t[1],+t[2],+t[3],+t[4],+t[5]))}),\"px, \",\"px)\",\"deg)\"),O=P((function(t){return null==t?L:(S||(S=document.createElementNS(\"http://www.w3.org/2000/svg\",\"g\")),S.setAttribute(\"transform\",t),(t=S.transform.baseVal.consolidate())?C((t=t.matrix).a,t.b,t.c,t.d,t.e,t.f):L)}),\", \",\")\",\")\"),z=Math.SQRT2;function D(t){return((t=Math.exp(t))+1/t)/2}function R(t){return function(r,n){var i=t((r=e.hsl(r)).h,(n=e.hsl(n)).h),a=c(r.s,n.s),o=c(r.l,n.l),s=c(r.opacity,n.opacity);return function(t){return r.h=i(t),r.s=a(t),r.l=o(t),r.opacity=s(t),r+\"\"}}}var F=R(s),B=R(c);function N(t){return function(r,n){var i=t((r=e.hcl(r)).h,(n=e.hcl(n)).h),a=c(r.c,n.c),o=c(r.l,n.l),s=c(r.opacity,n.opacity);return function(t){return r.h=i(t),r.c=a(t),r.l=o(t),r.opacity=s(t),r+\"\"}}}var j=N(s),U=N(c);function V(t){return function r(n){function i(r,i){var a=t((r=e.cubehelix(r)).h,(i=e.cubehelix(i)).h),o=c(r.s,i.s),s=c(r.l,i.l),l=c(r.opacity,i.opacity);return function(t){return r.h=a(t),r.s=o(t),r.l=s(Math.pow(t,n)),r.opacity=l(t),r+\"\"}}return n=+n,i.gamma=r,i}(1)}var H=V(s),q=V(c);t.interpolate=T,t.interpolateArray=function(t,e){return(m(e)?d:g)(t,e)},t.interpolateBasis=n,t.interpolateBasisClosed=i,t.interpolateCubehelix=H,t.interpolateCubehelixLong=q,t.interpolateDate=v,t.interpolateDiscrete=function(t){var e=t.length;return function(r){return t[Math.max(0,Math.min(e-1,Math.floor(r*e)))]}},t.interpolateHcl=j,t.interpolateHclLong=U,t.interpolateHsl=F,t.interpolateHslLong=B,t.interpolateHue=function(t,e){var r=s(+t,+e);return function(t){var e=r(t);return e-360*Math.floor(e/360)}},t.interpolateLab=function(t,r){var n=c((t=e.lab(t)).l,(r=e.lab(r)).l),i=c(t.a,r.a),a=c(t.b,r.b),o=c(t.opacity,r.opacity);return function(e){return t.l=n(e),t.a=i(e),t.b=a(e),t.opacity=o(e),t+\"\"}},t.interpolateNumber=y,t.interpolateNumberArray=d,t.interpolateObject=x,t.interpolateRgb=u,t.interpolateRgbBasis=h,t.interpolateRgbBasisClosed=p,t.interpolateRound=function(t,e){return t=+t,e=+e,function(r){return Math.round(t*(1-r)+e*r)}},t.interpolateString=w,t.interpolateTransformCss=I,t.interpolateTransformSvg=O,t.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,f=l-a,h=u*u+f*f;if(h<1e-12)n=Math.log(c/o)/z,r=function(t){return[i+t*u,a+t*f,o*Math.exp(z*t*n)]};else{var p=Math.sqrt(h),d=(c*c-o*o+4*h)/(2*o*2*p),m=(c*c-o*o-4*h)/(2*c*2*p),g=Math.log(Math.sqrt(d*d+1)-d),v=Math.log(Math.sqrt(m*m+1)-m);n=(v-g)/z,r=function(t){var e,r=t*n,s=D(g),l=o/(2*p)*(s*(e=z*r+g,((e=Math.exp(2*e))-1)/(e+1))-function(t){return((t=Math.exp(t))-1/t)/2}(g));return[i+l*u,a+l*f,o*s/D(z*r+g)]}}return r.duration=1e3*n,r},t.piecewise=function(t,e){for(var r=0,n=e.length-1,i=e[0],a=new Array(n<0?0:n);r<n;)a[r]=t(i,i=e[++r]);return function(t){var e=Math.max(0,Math.min(n-1,Math.floor(t*=n)));return a[e](t-e)}},t.quantize=function(t,e){for(var r=new Array(e),n=0;n<e;++n)r[n]=t(n/(e-1));return r},Object.defineProperty(t,\"__esModule\",{value:!0})}))},{\"d3-color\":109}],117:[function(t,e,r){!function(t,n){\"object\"==typeof r&&void 0!==e?n(r):n((t=t||self).d3=t.d3||{})}(this,(function(t){\"use strict\";var e=Math.PI,r=2*e,n=r-1e-6;function i(){this._x0=this._y0=this._x1=this._y1=null,this._=\"\"}function a(){return new i}i.prototype=a.prototype={constructor:i,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,r,n,i,a){t=+t,r=+r,n=+n,i=+i,a=+a;var o=this._x1,s=this._y1,l=n-t,c=i-r,u=o-t,f=s-r,h=u*u+f*f;if(a<0)throw new Error(\"negative radius: \"+a);if(null===this._x1)this._+=\"M\"+(this._x1=t)+\",\"+(this._y1=r);else if(h>1e-6)if(Math.abs(f*l-c*u)>1e-6&&a){var p=n-o,d=i-s,m=l*l+c*c,g=p*p+d*d,v=Math.sqrt(m),y=Math.sqrt(h),x=a*Math.tan((e-Math.acos((m+h-g)/(2*v*y)))/2),b=x/y,_=x/v;Math.abs(b-1)>1e-6&&(this._+=\"L\"+(t+b*u)+\",\"+(r+b*f)),this._+=\"A\"+a+\",\"+a+\",0,0,\"+ +(f*p>u*d)+\",\"+(this._x1=t+_*l)+\",\"+(this._y1=r+_*c)}else this._+=\"L\"+(this._x1=t)+\",\"+(this._y1=r);else;},arc:function(t,i,a,o,s,l){t=+t,i=+i,l=!!l;var c=(a=+a)*Math.cos(o),u=a*Math.sin(o),f=t+c,h=i+u,p=1^l,d=l?o-s:s-o;if(a<0)throw new Error(\"negative radius: \"+a);null===this._x1?this._+=\"M\"+f+\",\"+h:(Math.abs(this._x1-f)>1e-6||Math.abs(this._y1-h)>1e-6)&&(this._+=\"L\"+f+\",\"+h),a&&(d<0&&(d=d%r+r),d>n?this._+=\"A\"+a+\",\"+a+\",0,1,\"+p+\",\"+(t-c)+\",\"+(i-u)+\"A\"+a+\",\"+a+\",0,1,\"+p+\",\"+(this._x1=f)+\",\"+(this._y1=h):d>1e-6&&(this._+=\"A\"+a+\",\"+a+\",0,\"+ +(d>=e)+\",\"+p+\",\"+(this._x1=t+a*Math.cos(s))+\",\"+(this._y1=i+a*Math.sin(s))))},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._}},t.path=a,Object.defineProperty(t,\"__esModule\",{value:!0})}))},{}],118:[function(t,e,r){!function(t,n){\"object\"==typeof r&&void 0!==e?n(r):n((t=t||self).d3=t.d3||{})}(this,(function(t){\"use strict\";function e(t,e,r,n){if(isNaN(e)||isNaN(r))return t;var i,a,o,s,l,c,u,f,h,p=t._root,d={data:n},m=t._x0,g=t._y0,v=t._x1,y=t._y1;if(!p)return t._root=d,t;for(;p.length;)if((c=e>=(a=(m+v)/2))?m=a:v=a,(u=r>=(o=(g+y)/2))?g=o:y=o,i=p,!(p=p[f=u<<1|c]))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),(c=e>=(a=(m+v)/2))?m=a:v=a,(u=r>=(o=(g+y)/2))?g=o:y=o}while((f=u<<1|c)==(h=(l>=o)<<1|s>=a));return i[h]=p,i[f]=d,t}function r(t,e,r,n,i){this.node=t,this.x0=e,this.y0=r,this.x1=n,this.y1=i}function n(t){return t[0]}function i(t){return t[1]}function a(t,e,r){var a=new o(null==e?n:e,null==r?i:r,NaN,NaN,NaN,NaN);return null==t?a:a.addAll(t)}function o(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 s(t){for(var e={data:t.data},r=e;t=t.next;)r=r.next={data:t.data};return e}var l=a.prototype=o.prototype;l.copy=function(){var t,e,r=new o(this._x,this._y,this._x0,this._y0,this._x1,this._y1),n=this._root;if(!n)return r;if(!n.length)return r._root=s(n),r;for(t=[{source:n,target:r._root=new Array(4)}];n=t.pop();)for(var i=0;i<4;++i)(e=n.source[i])&&(e.length?t.push({source:e,target:n.target[i]=new Array(4)}):n.target[i]=s(e));return r},l.add=function(t){var r=+this._x.call(null,t),n=+this._y.call(null,t);return e(this.cover(r,n),r,n,t)},l.addAll=function(t){var r,n,i,a,o=t.length,s=new Array(o),l=new Array(o),c=1/0,u=1/0,f=-1/0,h=-1/0;for(n=0;n<o;++n)isNaN(i=+this._x.call(null,r=t[n]))||isNaN(a=+this._y.call(null,r))||(s[n]=i,l[n]=a,i<c&&(c=i),i>f&&(f=i),a<u&&(u=a),a>h&&(h=a));if(c>f||u>h)return this;for(this.cover(c,u).cover(f,h),n=0;n<o;++n)e(this,s[n],l[n],t[n]);return this},l.cover=function(t,e){if(isNaN(t=+t)||isNaN(e=+e))return this;var r=this._x0,n=this._y0,i=this._x1,a=this._y1;if(isNaN(r))i=(r=Math.floor(t))+1,a=(n=Math.floor(e))+1;else{for(var o,s,l=i-r,c=this._root;r>t||t>=i||n>e||e>=a;)switch(s=(e<n)<<1|t<r,(o=new Array(4))[s]=c,c=o,l*=2,s){case 0:i=r+l,a=n+l;break;case 1:r=i-l,a=n+l;break;case 2:i=r+l,n=a-l;break;case 3:r=i-l,n=a-l}this._root&&this._root.length&&(this._root=c)}return this._x0=r,this._y0=n,this._x1=i,this._y1=a,this},l.data=function(){var t=[];return this.visit((function(e){if(!e.length)do{t.push(e.data)}while(e=e.next)})),t},l.extent=function(t){return arguments.length?this.cover(+t[0][0],+t[0][1]).cover(+t[1][0],+t[1][1]):isNaN(this._x0)?void 0:[[this._x0,this._y0],[this._x1,this._y1]]},l.find=function(t,e,n){var i,a,o,s,l,c,u,f=this._x0,h=this._y0,p=this._x1,d=this._y1,m=[],g=this._root;for(g&&m.push(new r(g,f,h,p,d)),null==n?n=1/0:(f=t-n,h=e-n,p=t+n,d=e+n,n*=n);c=m.pop();)if(!(!(g=c.node)||(a=c.x0)>p||(o=c.y0)>d||(s=c.x1)<f||(l=c.y1)<h))if(g.length){var v=(a+s)/2,y=(o+l)/2;m.push(new r(g[3],v,y,s,l),new r(g[2],a,y,v,l),new r(g[1],v,o,s,y),new r(g[0],a,o,v,y)),(u=(e>=y)<<1|t>=v)&&(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),b=e-+this._y.call(null,g.data),_=x*x+b*b;if(_<n){var w=Math.sqrt(n=_);f=t-w,h=e-w,p=t+w,d=e+w,i=g.data}}return i},l.remove=function(t){if(isNaN(a=+this._x.call(null,t))||isNaN(o=+this._y.call(null,t)))return this;var e,r,n,i,a,o,s,l,c,u,f,h,p=this._root,d=this._x0,m=this._y0,g=this._x1,v=this._y1;if(!p)return this;if(p.length)for(;;){if((c=a>=(s=(d+g)/2))?d=s:g=s,(u=o>=(l=(m+v)/2))?m=l:v=l,e=p,!(p=p[f=u<<1|c]))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)},l.removeAll=function(t){for(var e=0,r=t.length;e<r;++e)this.remove(t[e]);return this},l.root=function(){return this._root},l.size=function(){var t=0;return this.visit((function(e){if(!e.length)do{++t}while(e=e.next)})),t},l.visit=function(t){var e,n,i,a,o,s,l=[],c=this._root;for(c&&l.push(new r(c,this._x0,this._y0,this._x1,this._y1));e=l.pop();)if(!t(c=e.node,i=e.x0,a=e.y0,o=e.x1,s=e.y1)&&c.length){var u=(i+o)/2,f=(a+s)/2;(n=c[3])&&l.push(new r(n,u,f,o,s)),(n=c[2])&&l.push(new r(n,i,f,u,s)),(n=c[1])&&l.push(new r(n,u,a,o,f)),(n=c[0])&&l.push(new r(n,i,a,u,f))}return this},l.visitAfter=function(t){var e,n=[],i=[];for(this._root&&n.push(new r(this._root,this._x0,this._y0,this._x1,this._y1));e=n.pop();){var a=e.node;if(a.length){var o,s=e.x0,l=e.y0,c=e.x1,u=e.y1,f=(s+c)/2,h=(l+u)/2;(o=a[0])&&n.push(new r(o,s,l,f,h)),(o=a[1])&&n.push(new r(o,f,l,c,h)),(o=a[2])&&n.push(new r(o,s,h,f,u)),(o=a[3])&&n.push(new r(o,f,h,c,u))}i.push(e)}for(;e=i.pop();)t(e.node,e.x0,e.y0,e.x1,e.y1);return this},l.x=function(t){return arguments.length?(this._x=t,this):this._x},l.y=function(t){return arguments.length?(this._y=t,this):this._y},t.quadtree=a,Object.defineProperty(t,\"__esModule\",{value:!0})}))},{}],119:[function(t,e,r){!function(n,i){\"object\"==typeof r&&void 0!==e?i(r,t(\"d3-path\")):i((n=n||self).d3=n.d3||{},n.d3)}(this,(function(t,e){\"use strict\";function r(t){return function(){return t}}var n=Math.abs,i=Math.atan2,a=Math.cos,o=Math.max,s=Math.min,l=Math.sin,c=Math.sqrt,u=Math.PI,f=u/2,h=2*u;function p(t){return t>1?0:t<-1?u:Math.acos(t)}function d(t){return t>=1?f:t<=-1?-f:Math.asin(t)}function m(t){return t.innerRadius}function g(t){return t.outerRadius}function v(t){return t.startAngle}function y(t){return t.endAngle}function x(t){return t&&t.padAngle}function b(t,e,r,n,i,a,o,s){var l=r-t,c=n-e,u=o-i,f=s-a,h=f*l-u*c;if(!(h*h<1e-12))return[t+(h=(u*(e-a)-f*(t-i))/h)*l,e+h*c]}function _(t,e,r,n,i,a,s){var l=t-r,u=e-n,f=(s?a:-a)/c(l*l+u*u),h=f*u,p=-f*l,d=t+h,m=e+p,g=r+h,v=n+p,y=(d+g)/2,x=(m+v)/2,b=g-d,_=v-m,w=b*b+_*_,T=i-a,k=d*v-g*m,A=(_<0?-1:1)*c(o(0,T*T*w-k*k)),M=(k*_-b*A)/w,S=(-k*b-_*A)/w,E=(k*_+b*A)/w,L=(-k*b+_*A)/w,C=M-y,P=S-x,I=E-y,O=L-x;return C*C+P*P>I*I+O*O&&(M=E,S=L),{cx:M,cy:S,x01:-h,y01:-p,x11:M*(i/T-1),y11:S*(i/T-1)}}function w(t){this._context=t}function T(t){return new w(t)}function k(t){return t[0]}function A(t){return t[1]}function M(){var t=k,n=A,i=r(!0),a=null,o=T,s=null;function l(r){var l,c,u,f=r.length,h=!1;for(null==a&&(s=o(u=e.path())),l=0;l<=f;++l)!(l<f&&i(c=r[l],l,r))===h&&((h=!h)?s.lineStart():s.lineEnd()),h&&s.point(+t(c,l,r),+n(c,l,r));if(u)return s=null,u+\"\"||null}return l.x=function(e){return arguments.length?(t=\"function\"==typeof e?e:r(+e),l):t},l.y=function(t){return arguments.length?(n=\"function\"==typeof t?t:r(+t),l):n},l.defined=function(t){return arguments.length?(i=\"function\"==typeof t?t:r(!!t),l):i},l.curve=function(t){return arguments.length?(o=t,null!=a&&(s=o(a)),l):o},l.context=function(t){return arguments.length?(null==t?a=s=null:s=o(a=t),l):a},l}function S(){var t=k,n=null,i=r(0),a=A,o=r(!0),s=null,l=T,c=null;function u(r){var u,f,h,p,d,m=r.length,g=!1,v=new Array(m),y=new Array(m);for(null==s&&(c=l(d=e.path())),u=0;u<=m;++u){if(!(u<m&&o(p=r[u],u,r))===g)if(g=!g)f=u,c.areaStart(),c.lineStart();else{for(c.lineEnd(),c.lineStart(),h=u-1;h>=f;--h)c.point(v[h],y[h]);c.lineEnd(),c.areaEnd()}g&&(v[u]=+t(p,u,r),y[u]=+i(p,u,r),c.point(n?+n(p,u,r):v[u],a?+a(p,u,r):y[u]))}if(d)return c=null,d+\"\"||null}function f(){return M().defined(o).curve(l).context(s)}return u.x=function(e){return arguments.length?(t=\"function\"==typeof e?e:r(+e),n=null,u):t},u.x0=function(e){return arguments.length?(t=\"function\"==typeof e?e:r(+e),u):t},u.x1=function(t){return arguments.length?(n=null==t?null:\"function\"==typeof t?t:r(+t),u):n},u.y=function(t){return arguments.length?(i=\"function\"==typeof t?t:r(+t),a=null,u):i},u.y0=function(t){return arguments.length?(i=\"function\"==typeof t?t:r(+t),u):i},u.y1=function(t){return arguments.length?(a=null==t?null:\"function\"==typeof t?t:r(+t),u):a},u.lineX0=u.lineY0=function(){return f().x(t).y(i)},u.lineY1=function(){return f().x(t).y(a)},u.lineX1=function(){return f().x(n).y(i)},u.defined=function(t){return arguments.length?(o=\"function\"==typeof t?t:r(!!t),u):o},u.curve=function(t){return arguments.length?(l=t,null!=s&&(c=l(s)),u):l},u.context=function(t){return arguments.length?(null==t?s=c=null:c=l(s=t),u):s},u}function E(t,e){return e<t?-1:e>t?1:e>=t?0:NaN}function L(t){return t}w.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:this._context.lineTo(t,e)}}};var C=I(T);function P(t){this._curve=t}function I(t){function e(e){return new P(t(e))}return e._curve=t,e}function O(t){var e=t.curve;return t.angle=t.x,delete t.x,t.radius=t.y,delete t.y,t.curve=function(t){return arguments.length?e(I(t)):e()._curve},t}function z(){return O(M().curve(C))}function D(){var t=S().curve(C),e=t.curve,r=t.lineX0,n=t.lineX1,i=t.lineY0,a=t.lineY1;return t.angle=t.x,delete t.x,t.startAngle=t.x0,delete t.x0,t.endAngle=t.x1,delete t.x1,t.radius=t.y,delete t.y,t.innerRadius=t.y0,delete t.y0,t.outerRadius=t.y1,delete t.y1,t.lineStartAngle=function(){return O(r())},delete t.lineX0,t.lineEndAngle=function(){return O(n())},delete t.lineX1,t.lineInnerRadius=function(){return O(i())},delete t.lineY0,t.lineOuterRadius=function(){return O(a())},delete t.lineY1,t.curve=function(t){return arguments.length?e(I(t)):e()._curve},t}function R(t,e){return[(e=+e)*Math.cos(t-=Math.PI/2),e*Math.sin(t)]}P.prototype={areaStart:function(){this._curve.areaStart()},areaEnd:function(){this._curve.areaEnd()},lineStart:function(){this._curve.lineStart()},lineEnd:function(){this._curve.lineEnd()},point:function(t,e){this._curve.point(e*Math.sin(t),e*-Math.cos(t))}};var F=Array.prototype.slice;function B(t){return t.source}function N(t){return t.target}function j(t){var n=B,i=N,a=k,o=A,s=null;function l(){var r,l=F.call(arguments),c=n.apply(this,l),u=i.apply(this,l);if(s||(s=r=e.path()),t(s,+a.apply(this,(l[0]=c,l)),+o.apply(this,l),+a.apply(this,(l[0]=u,l)),+o.apply(this,l)),r)return s=null,r+\"\"||null}return l.source=function(t){return arguments.length?(n=t,l):n},l.target=function(t){return arguments.length?(i=t,l):i},l.x=function(t){return arguments.length?(a=\"function\"==typeof t?t:r(+t),l):a},l.y=function(t){return arguments.length?(o=\"function\"==typeof t?t:r(+t),l):o},l.context=function(t){return arguments.length?(s=null==t?null:t,l):s},l}function U(t,e,r,n,i){t.moveTo(e,r),t.bezierCurveTo(e=(e+n)/2,r,e,i,n,i)}function V(t,e,r,n,i){t.moveTo(e,r),t.bezierCurveTo(e,r=(r+i)/2,n,r,n,i)}function H(t,e,r,n,i){var a=R(e,r),o=R(e,r=(r+i)/2),s=R(n,r),l=R(n,i);t.moveTo(a[0],a[1]),t.bezierCurveTo(o[0],o[1],s[0],s[1],l[0],l[1])}var q={draw:function(t,e){var r=Math.sqrt(e/u);t.moveTo(r,0),t.arc(0,0,r,0,h)}},G={draw:function(t,e){var r=Math.sqrt(e/5)/2;t.moveTo(-3*r,-r),t.lineTo(-r,-r),t.lineTo(-r,-3*r),t.lineTo(r,-3*r),t.lineTo(r,-r),t.lineTo(3*r,-r),t.lineTo(3*r,r),t.lineTo(r,r),t.lineTo(r,3*r),t.lineTo(-r,3*r),t.lineTo(-r,r),t.lineTo(-3*r,r),t.closePath()}},Y=Math.sqrt(1/3),W=2*Y,X={draw:function(t,e){var r=Math.sqrt(e/W),n=r*Y;t.moveTo(0,-r),t.lineTo(n,0),t.lineTo(0,r),t.lineTo(-n,0),t.closePath()}},Z=Math.sin(u/10)/Math.sin(7*u/10),J=Math.sin(h/10)*Z,K=-Math.cos(h/10)*Z,Q={draw:function(t,e){var r=Math.sqrt(.8908130915292852*e),n=J*r,i=K*r;t.moveTo(0,-r),t.lineTo(n,i);for(var a=1;a<5;++a){var o=h*a/5,s=Math.cos(o),l=Math.sin(o);t.lineTo(l*r,-s*r),t.lineTo(s*n-l*i,l*n+s*i)}t.closePath()}},$={draw:function(t,e){var r=Math.sqrt(e),n=-r/2;t.rect(n,n,r,r)}},tt=Math.sqrt(3),et={draw:function(t,e){var r=-Math.sqrt(e/(3*tt));t.moveTo(0,2*r),t.lineTo(-tt*r,-r),t.lineTo(tt*r,-r),t.closePath()}},rt=-.5,nt=Math.sqrt(3)/2,it=1/Math.sqrt(12),at=3*(it/2+1),ot={draw:function(t,e){var r=Math.sqrt(e/at),n=r/2,i=r*it,a=n,o=r*it+r,s=-a,l=o;t.moveTo(n,i),t.lineTo(a,o),t.lineTo(s,l),t.lineTo(rt*n-nt*i,nt*n+rt*i),t.lineTo(rt*a-nt*o,nt*a+rt*o),t.lineTo(rt*s-nt*l,nt*s+rt*l),t.lineTo(rt*n+nt*i,rt*i-nt*n),t.lineTo(rt*a+nt*o,rt*o-nt*a),t.lineTo(rt*s+nt*l,rt*l-nt*s),t.closePath()}},st=[q,G,X,$,Q,et,ot];function lt(){}function ct(t,e,r){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+e)/6,(t._y0+4*t._y1+r)/6)}function ut(t){this._context=t}function ft(t){this._context=t}function ht(t){this._context=t}function pt(t,e){this._basis=new ut(t),this._beta=e}ut.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:ct(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:ct(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}},ft.prototype={areaStart:lt,areaEnd:lt,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x2,this._y2),this._context.closePath();break;case 2:this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break;case 3:this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4)}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x2=t,this._y2=e;break;case 1:this._point=2,this._x3=t,this._y3=e;break;case 2:this._point=3,this._x4=t,this._y4=e,this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+e)/6);break;default:ct(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}},ht.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var r=(this._x0+4*this._x1+t)/6,n=(this._y0+4*this._y1+e)/6;this._line?this._context.lineTo(r,n):this._context.moveTo(r,n);break;case 3:this._point=4;default:ct(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}},pt.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var t=this._x,e=this._y,r=t.length-1;if(r>0)for(var n,i=t[0],a=e[0],o=t[r]-i,s=e[r]-a,l=-1;++l<=r;)n=l/r,this._basis.point(this._beta*t[l]+(1-this._beta)*(i+n*o),this._beta*e[l]+(1-this._beta)*(a+n*s));this._x=this._y=null,this._basis.lineEnd()},point:function(t,e){this._x.push(+t),this._y.push(+e)}};var dt=function t(e){function r(t){return 1===e?new ut(t):new pt(t,e)}return r.beta=function(e){return t(+e)},r}(.85);function mt(t,e,r){t._context.bezierCurveTo(t._x1+t._k*(t._x2-t._x0),t._y1+t._k*(t._y2-t._y0),t._x2+t._k*(t._x1-e),t._y2+t._k*(t._y1-r),t._x2,t._y2)}function gt(t,e){this._context=t,this._k=(1-e)/6}gt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:mt(this,this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2,this._x1=t,this._y1=e;break;case 2:this._point=3;default:mt(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var vt=function t(e){function r(t){return new gt(t,e)}return r.tension=function(e){return t(+e)},r}(0);function yt(t,e){this._context=t,this._k=(1-e)/6}yt.prototype={areaStart:lt,areaEnd:lt,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:mt(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var xt=function t(e){function r(t){return new yt(t,e)}return r.tension=function(e){return t(+e)},r}(0);function bt(t,e){this._context=t,this._k=(1-e)/6}bt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:mt(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var _t=function t(e){function r(t){return new bt(t,e)}return r.tension=function(e){return t(+e)},r}(0);function wt(t,e,r){var n=t._x1,i=t._y1,a=t._x2,o=t._y2;if(t._l01_a>1e-12){var s=2*t._l01_2a+3*t._l01_a*t._l12_a+t._l12_2a,l=3*t._l01_a*(t._l01_a+t._l12_a);n=(n*s-t._x0*t._l12_2a+t._x2*t._l01_2a)/l,i=(i*s-t._y0*t._l12_2a+t._y2*t._l01_2a)/l}if(t._l23_a>1e-12){var c=2*t._l23_2a+3*t._l23_a*t._l12_a+t._l12_2a,u=3*t._l23_a*(t._l23_a+t._l12_a);a=(a*c+t._x1*t._l23_2a-e*t._l12_2a)/u,o=(o*c+t._y1*t._l23_2a-r*t._l12_2a)/u}t._context.bezierCurveTo(n,i,a,o,t._x2,t._y2)}function Tt(t,e){this._context=t,this._alpha=e}Tt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t=+t,e=+e,this._point){var r=this._x2-t,n=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3;default:wt(this,t,e)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var kt=function t(e){function r(t){return e?new Tt(t,e):new gt(t,0)}return r.alpha=function(e){return t(+e)},r}(.5);function At(t,e){this._context=t,this._alpha=e}At.prototype={areaStart:lt,areaEnd:lt,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(t,e){if(t=+t,e=+e,this._point){var r=this._x2-t,n=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:wt(this,t,e)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var Mt=function t(e){function r(t){return e?new At(t,e):new yt(t,0)}return r.alpha=function(e){return t(+e)},r}(.5);function St(t,e){this._context=t,this._alpha=e}St.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t=+t,e=+e,this._point){var r=this._x2-t,n=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:wt(this,t,e)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var Et=function t(e){function r(t){return e?new St(t,e):new bt(t,0)}return r.alpha=function(e){return t(+e)},r}(.5);function Lt(t){this._context=t}function Ct(t){return t<0?-1:1}function Pt(t,e,r){var n=t._x1-t._x0,i=e-t._x1,a=(t._y1-t._y0)/(n||i<0&&-0),o=(r-t._y1)/(i||n<0&&-0),s=(a*i+o*n)/(n+i);return(Ct(a)+Ct(o))*Math.min(Math.abs(a),Math.abs(o),.5*Math.abs(s))||0}function It(t,e){var r=t._x1-t._x0;return r?(3*(t._y1-t._y0)/r-e)/2:e}function Ot(t,e,r){var n=t._x0,i=t._y0,a=t._x1,o=t._y1,s=(a-n)/3;t._context.bezierCurveTo(n+s,i+s*e,a-s,o-s*r,a,o)}function zt(t){this._context=t}function Dt(t){this._context=new Rt(t)}function Rt(t){this._context=t}function Ft(t){this._context=t}function Bt(t){var e,r,n=t.length-1,i=new Array(n),a=new Array(n),o=new Array(n);for(i[0]=0,a[0]=2,o[0]=t[0]+2*t[1],e=1;e<n-1;++e)i[e]=1,a[e]=4,o[e]=4*t[e]+2*t[e+1];for(i[n-1]=2,a[n-1]=7,o[n-1]=8*t[n-1]+t[n],e=1;e<n;++e)r=i[e]/a[e-1],a[e]-=r,o[e]-=r*o[e-1];for(i[n-1]=o[n-1]/a[n-1],e=n-2;e>=0;--e)i[e]=(o[e]-i[e+1])/a[e];for(a[n-1]=(t[n]+i[n-1])/2,e=0;e<n-1;++e)a[e]=2*t[e+1]-i[e+1];return[i,a]}function Nt(t,e){this._context=t,this._t=e}function jt(t,e){if((i=t.length)>1)for(var r,n,i,a=1,o=t[e[0]],s=o.length;a<i;++a)for(n=o,o=t[e[a]],r=0;r<s;++r)o[r][1]+=o[r][0]=isNaN(n[r][1])?n[r][0]:n[r][1]}function Ut(t){for(var e=t.length,r=new Array(e);--e>=0;)r[e]=e;return r}function Vt(t,e){return t[e]}function Ht(t){var e=t.map(qt);return Ut(t).sort((function(t,r){return e[t]-e[r]}))}function qt(t){for(var e,r=-1,n=0,i=t.length,a=-1/0;++r<i;)(e=+t[r][1])>a&&(a=e,n=r);return n}function Gt(t){var e=t.map(Yt);return Ut(t).sort((function(t,r){return e[t]-e[r]}))}function Yt(t){for(var e,r=0,n=-1,i=t.length;++n<i;)(e=+t[n][1])&&(r+=e);return r}Lt.prototype={areaStart:lt,areaEnd:lt,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(t,e){t=+t,e=+e,this._point?this._context.lineTo(t,e):(this._point=1,this._context.moveTo(t,e))}},zt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:Ot(this,this._t0,It(this,this._t0))}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){var r=NaN;if(e=+e,(t=+t)!==this._x1||e!==this._y1){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,Ot(this,It(this,r=Pt(this,t,e)),r);break;default:Ot(this,this._t0,r=Pt(this,t,e))}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e,this._t0=r}}},(Dt.prototype=Object.create(zt.prototype)).point=function(t,e){zt.prototype.point.call(this,e,t)},Rt.prototype={moveTo:function(t,e){this._context.moveTo(e,t)},closePath:function(){this._context.closePath()},lineTo:function(t,e){this._context.lineTo(e,t)},bezierCurveTo:function(t,e,r,n,i,a){this._context.bezierCurveTo(e,t,n,r,a,i)}},Ft.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var t=this._x,e=this._y,r=t.length;if(r)if(this._line?this._context.lineTo(t[0],e[0]):this._context.moveTo(t[0],e[0]),2===r)this._context.lineTo(t[1],e[1]);else for(var n=Bt(t),i=Bt(e),a=0,o=1;o<r;++a,++o)this._context.bezierCurveTo(n[0][a],i[0][a],n[1][a],i[1][a],t[o],e[o]);(this._line||0!==this._line&&1===r)&&this._context.closePath(),this._line=1-this._line,this._x=this._y=null},point:function(t,e){this._x.push(+t),this._y.push(+e)}},Nt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=this._y=NaN,this._point=0},lineEnd:function(){0<this._t&&this._t<1&&2===this._point&&this._context.lineTo(this._x,this._y),(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line>=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,e),this._context.lineTo(t,e);else{var r=this._x*(1-this._t)+t*this._t;this._context.lineTo(r,this._y),this._context.lineTo(r,e)}}this._x=t,this._y=e}},t.arc=function(){var t=m,o=g,w=r(0),T=null,k=v,A=y,M=x,S=null;function E(){var r,m,g=+t.apply(this,arguments),v=+o.apply(this,arguments),y=k.apply(this,arguments)-f,x=A.apply(this,arguments)-f,E=n(x-y),L=x>y;if(S||(S=r=e.path()),v<g&&(m=v,v=g,g=m),v>1e-12)if(E>h-1e-12)S.moveTo(v*a(y),v*l(y)),S.arc(0,0,v,y,x,!L),g>1e-12&&(S.moveTo(g*a(x),g*l(x)),S.arc(0,0,g,x,y,L));else{var C,P,I=y,O=x,z=y,D=x,R=E,F=E,B=M.apply(this,arguments)/2,N=B>1e-12&&(T?+T.apply(this,arguments):c(g*g+v*v)),j=s(n(v-g)/2,+w.apply(this,arguments)),U=j,V=j;if(N>1e-12){var H=d(N/g*l(B)),q=d(N/v*l(B));(R-=2*H)>1e-12?(z+=H*=L?1:-1,D-=H):(R=0,z=D=(y+x)/2),(F-=2*q)>1e-12?(I+=q*=L?1:-1,O-=q):(F=0,I=O=(y+x)/2)}var G=v*a(I),Y=v*l(I),W=g*a(D),X=g*l(D);if(j>1e-12){var Z,J=v*a(O),K=v*l(O),Q=g*a(z),$=g*l(z);if(E<u&&(Z=b(G,Y,Q,$,J,K,W,X))){var tt=G-Z[0],et=Y-Z[1],rt=J-Z[0],nt=K-Z[1],it=1/l(p((tt*rt+et*nt)/(c(tt*tt+et*et)*c(rt*rt+nt*nt)))/2),at=c(Z[0]*Z[0]+Z[1]*Z[1]);U=s(j,(g-at)/(it-1)),V=s(j,(v-at)/(it+1))}}F>1e-12?V>1e-12?(C=_(Q,$,G,Y,v,V,L),P=_(J,K,W,X,v,V,L),S.moveTo(C.cx+C.x01,C.cy+C.y01),V<j?S.arc(C.cx,C.cy,V,i(C.y01,C.x01),i(P.y01,P.x01),!L):(S.arc(C.cx,C.cy,V,i(C.y01,C.x01),i(C.y11,C.x11),!L),S.arc(0,0,v,i(C.cy+C.y11,C.cx+C.x11),i(P.cy+P.y11,P.cx+P.x11),!L),S.arc(P.cx,P.cy,V,i(P.y11,P.x11),i(P.y01,P.x01),!L))):(S.moveTo(G,Y),S.arc(0,0,v,I,O,!L)):S.moveTo(G,Y),g>1e-12&&R>1e-12?U>1e-12?(C=_(W,X,J,K,g,-U,L),P=_(G,Y,Q,$,g,-U,L),S.lineTo(C.cx+C.x01,C.cy+C.y01),U<j?S.arc(C.cx,C.cy,U,i(C.y01,C.x01),i(P.y01,P.x01),!L):(S.arc(C.cx,C.cy,U,i(C.y01,C.x01),i(C.y11,C.x11),!L),S.arc(0,0,g,i(C.cy+C.y11,C.cx+C.x11),i(P.cy+P.y11,P.cx+P.x11),L),S.arc(P.cx,P.cy,U,i(P.y11,P.x11),i(P.y01,P.x01),!L))):S.arc(0,0,g,D,z,L):S.lineTo(W,X)}else S.moveTo(0,0);if(S.closePath(),r)return S=null,r+\"\"||null}return E.centroid=function(){var e=(+t.apply(this,arguments)+ +o.apply(this,arguments))/2,r=(+k.apply(this,arguments)+ +A.apply(this,arguments))/2-u/2;return[a(r)*e,l(r)*e]},E.innerRadius=function(e){return arguments.length?(t=\"function\"==typeof e?e:r(+e),E):t},E.outerRadius=function(t){return arguments.length?(o=\"function\"==typeof t?t:r(+t),E):o},E.cornerRadius=function(t){return arguments.length?(w=\"function\"==typeof t?t:r(+t),E):w},E.padRadius=function(t){return arguments.length?(T=null==t?null:\"function\"==typeof t?t:r(+t),E):T},E.startAngle=function(t){return arguments.length?(k=\"function\"==typeof t?t:r(+t),E):k},E.endAngle=function(t){return arguments.length?(A=\"function\"==typeof t?t:r(+t),E):A},E.padAngle=function(t){return arguments.length?(M=\"function\"==typeof t?t:r(+t),E):M},E.context=function(t){return arguments.length?(S=null==t?null:t,E):S},E},t.area=S,t.areaRadial=D,t.curveBasis=function(t){return new ut(t)},t.curveBasisClosed=function(t){return new ft(t)},t.curveBasisOpen=function(t){return new ht(t)},t.curveBundle=dt,t.curveCardinal=vt,t.curveCardinalClosed=xt,t.curveCardinalOpen=_t,t.curveCatmullRom=kt,t.curveCatmullRomClosed=Mt,t.curveCatmullRomOpen=Et,t.curveLinear=T,t.curveLinearClosed=function(t){return new Lt(t)},t.curveMonotoneX=function(t){return new zt(t)},t.curveMonotoneY=function(t){return new Dt(t)},t.curveNatural=function(t){return new Ft(t)},t.curveStep=function(t){return new Nt(t,.5)},t.curveStepAfter=function(t){return new Nt(t,1)},t.curveStepBefore=function(t){return new Nt(t,0)},t.line=M,t.lineRadial=z,t.linkHorizontal=function(){return j(U)},t.linkRadial=function(){var t=j(H);return t.angle=t.x,delete t.x,t.radius=t.y,delete t.y,t},t.linkVertical=function(){return j(V)},t.pie=function(){var t=L,e=E,n=null,i=r(0),a=r(h),o=r(0);function s(r){var s,l,c,u,f,p=r.length,d=0,m=new Array(p),g=new Array(p),v=+i.apply(this,arguments),y=Math.min(h,Math.max(-h,a.apply(this,arguments)-v)),x=Math.min(Math.abs(y)/p,o.apply(this,arguments)),b=x*(y<0?-1:1);for(s=0;s<p;++s)(f=g[m[s]=s]=+t(r[s],s,r))>0&&(d+=f);for(null!=e?m.sort((function(t,r){return e(g[t],g[r])})):null!=n&&m.sort((function(t,e){return n(r[t],r[e])})),s=0,c=d?(y-p*b)/d:0;s<p;++s,v=u)l=m[s],u=v+((f=g[l])>0?f*c:0)+b,g[l]={data:r[l],index:s,value:f,startAngle:v,endAngle:u,padAngle:x};return g}return s.value=function(e){return arguments.length?(t=\"function\"==typeof e?e:r(+e),s):t},s.sortValues=function(t){return arguments.length?(e=t,n=null,s):e},s.sort=function(t){return arguments.length?(n=t,e=null,s):n},s.startAngle=function(t){return arguments.length?(i=\"function\"==typeof t?t:r(+t),s):i},s.endAngle=function(t){return arguments.length?(a=\"function\"==typeof t?t:r(+t),s):a},s.padAngle=function(t){return arguments.length?(o=\"function\"==typeof t?t:r(+t),s):o},s},t.pointRadial=R,t.radialArea=D,t.radialLine=z,t.stack=function(){var t=r([]),e=Ut,n=jt,i=Vt;function a(r){var a,o,s=t.apply(this,arguments),l=r.length,c=s.length,u=new Array(c);for(a=0;a<c;++a){for(var f,h=s[a],p=u[a]=new Array(l),d=0;d<l;++d)p[d]=f=[0,+i(r[d],h,d,r)],f.data=r[d];p.key=h}for(a=0,o=e(u);a<c;++a)u[o[a]].index=a;return n(u,o),u}return a.keys=function(e){return arguments.length?(t=\"function\"==typeof e?e:r(F.call(e)),a):t},a.value=function(t){return arguments.length?(i=\"function\"==typeof t?t:r(+t),a):i},a.order=function(t){return arguments.length?(e=null==t?Ut:\"function\"==typeof t?t:r(F.call(t)),a):e},a.offset=function(t){return arguments.length?(n=null==t?jt:t,a):n},a},t.stackOffsetDiverging=function(t,e){if((s=t.length)>0)for(var r,n,i,a,o,s,l=0,c=t[e[0]].length;l<c;++l)for(a=o=0,r=0;r<s;++r)(i=(n=t[e[r]][l])[1]-n[0])>0?(n[0]=a,n[1]=a+=i):i<0?(n[1]=o,n[0]=o+=i):(n[0]=0,n[1]=i)},t.stackOffsetExpand=function(t,e){if((n=t.length)>0){for(var r,n,i,a=0,o=t[0].length;a<o;++a){for(i=r=0;r<n;++r)i+=t[r][a][1]||0;if(i)for(r=0;r<n;++r)t[r][a][1]/=i}jt(t,e)}},t.stackOffsetNone=jt,t.stackOffsetSilhouette=function(t,e){if((r=t.length)>0){for(var r,n=0,i=t[e[0]],a=i.length;n<a;++n){for(var o=0,s=0;o<r;++o)s+=t[o][n][1]||0;i[n][1]+=i[n][0]=-s/2}jt(t,e)}},t.stackOffsetWiggle=function(t,e){if((i=t.length)>0&&(n=(r=t[e[0]]).length)>0){for(var r,n,i,a=0,o=1;o<n;++o){for(var s=0,l=0,c=0;s<i;++s){for(var u=t[e[s]],f=u[o][1]||0,h=(f-(u[o-1][1]||0))/2,p=0;p<s;++p){var d=t[e[p]];h+=(d[o][1]||0)-(d[o-1][1]||0)}l+=f,c+=h*f}r[o-1][1]+=r[o-1][0]=a,l&&(a-=c/l)}r[o-1][1]+=r[o-1][0]=a,jt(t,e)}},t.stackOrderAppearance=Ht,t.stackOrderAscending=Gt,t.stackOrderDescending=function(t){return Gt(t).reverse()},t.stackOrderInsideOut=function(t){var e,r,n=t.length,i=t.map(Yt),a=Ht(t),o=0,s=0,l=[],c=[];for(e=0;e<n;++e)r=a[e],o<s?(o+=i[r],l.push(r)):(s+=i[r],c.push(r));return c.reverse().concat(l)},t.stackOrderNone=Ut,t.stackOrderReverse=function(t){return Ut(t).reverse()},t.symbol=function(){var t=r(q),n=r(64),i=null;function a(){var r;if(i||(i=r=e.path()),t.apply(this,arguments).draw(i,+n.apply(this,arguments)),r)return i=null,r+\"\"||null}return a.type=function(e){return arguments.length?(t=\"function\"==typeof e?e:r(e),a):t},a.size=function(t){return arguments.length?(n=\"function\"==typeof t?t:r(+t),a):n},a.context=function(t){return arguments.length?(i=null==t?null:t,a):i},a},t.symbolCircle=q,t.symbolCross=G,t.symbolDiamond=X,t.symbolSquare=$,t.symbolStar=Q,t.symbolTriangle=et,t.symbolWye=ot,t.symbols=st,Object.defineProperty(t,\"__esModule\",{value:!0})}))},{\"d3-path\":117}],120:[function(t,e,r){!function(n,i){\"object\"==typeof r&&void 0!==e?i(r,t(\"d3-time\")):i((n=n||self).d3=n.d3||{},n.d3)}(this,(function(t,e){\"use strict\";function r(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 n(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 i(t,e,r){return{y:t,m:e,d:r,H:0,M:0,S:0,L:0}}function a(t){var a=t.dateTime,o=t.date,l=t.time,c=t.periods,u=t.days,f=t.shortDays,h=t.months,yt=t.shortMonths,xt=p(c),bt=d(c),_t=p(u),wt=d(u),Tt=p(f),kt=d(f),At=p(h),Mt=d(h),St=p(yt),Et=d(yt),Lt={a:function(t){return f[t.getDay()]},A:function(t){return u[t.getDay()]},b:function(t){return yt[t.getMonth()]},B:function(t){return h[t.getMonth()]},c:null,d:D,e:D,f:j,H:R,I:F,j:B,L:N,m:U,M:V,p:function(t){return c[+(t.getHours()>=12)]},q:function(t){return 1+~~(t.getMonth()/3)},Q:gt,s:vt,S:H,u:q,U:G,V:Y,w:W,W:X,x:null,X:null,y:Z,Y:J,Z:K,\"%\":mt},Ct={a:function(t){return f[t.getUTCDay()]},A:function(t){return u[t.getUTCDay()]},b:function(t){return yt[t.getUTCMonth()]},B:function(t){return h[t.getUTCMonth()]},c:null,d:Q,e:Q,f:nt,H:$,I:tt,j:et,L:rt,m:it,M:at,p:function(t){return c[+(t.getUTCHours()>=12)]},q:function(t){return 1+~~(t.getUTCMonth()/3)},Q:gt,s:vt,S:ot,u:st,U:lt,V:ct,w:ut,W:ft,x:null,X:null,y:ht,Y:pt,Z:dt,\"%\":mt},Pt={a:function(t,e,r){var n=Tt.exec(e.slice(r));return n?(t.w=kt[n[0].toLowerCase()],r+n[0].length):-1},A:function(t,e,r){var n=_t.exec(e.slice(r));return n?(t.w=wt[n[0].toLowerCase()],r+n[0].length):-1},b:function(t,e,r){var n=St.exec(e.slice(r));return n?(t.m=Et[n[0].toLowerCase()],r+n[0].length):-1},B:function(t,e,r){var n=At.exec(e.slice(r));return n?(t.m=Mt[n[0].toLowerCase()],r+n[0].length):-1},c:function(t,e,r){return zt(t,a,e,r)},d:A,e:A,f:P,H:S,I:S,j:M,L:C,m:k,M:E,p:function(t,e,r){var n=xt.exec(e.slice(r));return n?(t.p=bt[n[0].toLowerCase()],r+n[0].length):-1},q:T,Q:O,s:z,S:L,u:g,U:v,V:y,w:m,W:x,x:function(t,e,r){return zt(t,o,e,r)},X:function(t,e,r){return zt(t,l,e,r)},y:_,Y:b,Z:w,\"%\":I};function It(t,e){return function(r){var n,i,a,o=[],l=-1,c=0,u=t.length;for(r instanceof Date||(r=new Date(+r));++l<u;)37===t.charCodeAt(l)&&(o.push(t.slice(c,l)),null!=(i=s[n=t.charAt(++l)])?n=t.charAt(++l):i=\"e\"===n?\" \":\"0\",(a=e[n])&&(n=a(r,i)),o.push(n),c=l+1);return o.push(t.slice(c,l)),o.join(\"\")}}function Ot(t,a){return function(o){var s,l,c=i(1900,void 0,1);if(zt(c,t,o+=\"\",0)!=o.length)return null;if(\"Q\"in c)return new Date(c.Q);if(\"s\"in c)return new Date(1e3*c.s+(\"L\"in c?c.L:0));if(a&&!(\"Z\"in c)&&(c.Z=0),\"p\"in c&&(c.H=c.H%12+12*c.p),void 0===c.m&&(c.m=\"q\"in c?c.q:0),\"V\"in c){if(c.V<1||c.V>53)return null;\"w\"in c||(c.w=1),\"Z\"in c?(l=(s=n(i(c.y,0,1))).getUTCDay(),s=l>4||0===l?e.utcMonday.ceil(s):e.utcMonday(s),s=e.utcDay.offset(s,7*(c.V-1)),c.y=s.getUTCFullYear(),c.m=s.getUTCMonth(),c.d=s.getUTCDate()+(c.w+6)%7):(l=(s=r(i(c.y,0,1))).getDay(),s=l>4||0===l?e.timeMonday.ceil(s):e.timeMonday(s),s=e.timeDay.offset(s,7*(c.V-1)),c.y=s.getFullYear(),c.m=s.getMonth(),c.d=s.getDate()+(c.w+6)%7)}else(\"W\"in c||\"U\"in c)&&(\"w\"in c||(c.w=\"u\"in c?c.u%7:\"W\"in c?1:0),l=\"Z\"in c?n(i(c.y,0,1)).getUTCDay():r(i(c.y,0,1)).getDay(),c.m=0,c.d=\"W\"in c?(c.w+6)%7+7*c.W-(l+5)%7:c.w+7*c.U-(l+6)%7);return\"Z\"in c?(c.H+=c.Z/100|0,c.M+=c.Z%100,n(c)):r(c)}}function zt(t,e,r,n){for(var i,a,o=0,l=e.length,c=r.length;o<l;){if(n>=c)return-1;if(37===(i=e.charCodeAt(o++))){if(i=e.charAt(o++),!(a=Pt[i in s?e.charAt(o++):i])||(n=a(t,r,n))<0)return-1}else if(i!=r.charCodeAt(n++))return-1}return n}return Lt.x=It(o,Lt),Lt.X=It(l,Lt),Lt.c=It(a,Lt),Ct.x=It(o,Ct),Ct.X=It(l,Ct),Ct.c=It(a,Ct),{format:function(t){var e=It(t+=\"\",Lt);return e.toString=function(){return t},e},parse:function(t){var e=Ot(t+=\"\",!1);return e.toString=function(){return t},e},utcFormat:function(t){var e=It(t+=\"\",Ct);return e.toString=function(){return t},e},utcParse:function(t){var e=Ot(t+=\"\",!0);return e.toString=function(){return t},e}}}var o,s={\"-\":\"\",_:\" \",0:\"0\"},l=/^\\s*\\d+/,c=/^%/,u=/[\\\\^$*+?|[\\]().{}]/g;function f(t,e,r){var n=t<0?\"-\":\"\",i=(n?-t:t)+\"\",a=i.length;return n+(a<r?new Array(r-a+1).join(e)+i:i)}function h(t){return t.replace(u,\"\\\\$&\")}function p(t){return new RegExp(\"^(?:\"+t.map(h).join(\"|\")+\")\",\"i\")}function d(t){for(var e={},r=-1,n=t.length;++r<n;)e[t[r].toLowerCase()]=r;return e}function m(t,e,r){var n=l.exec(e.slice(r,r+1));return n?(t.w=+n[0],r+n[0].length):-1}function g(t,e,r){var n=l.exec(e.slice(r,r+1));return n?(t.u=+n[0],r+n[0].length):-1}function v(t,e,r){var n=l.exec(e.slice(r,r+2));return n?(t.U=+n[0],r+n[0].length):-1}function y(t,e,r){var n=l.exec(e.slice(r,r+2));return n?(t.V=+n[0],r+n[0].length):-1}function x(t,e,r){var n=l.exec(e.slice(r,r+2));return n?(t.W=+n[0],r+n[0].length):-1}function b(t,e,r){var n=l.exec(e.slice(r,r+4));return n?(t.y=+n[0],r+n[0].length):-1}function _(t,e,r){var n=l.exec(e.slice(r,r+2));return n?(t.y=+n[0]+(+n[0]>68?1900:2e3),r+n[0].length):-1}function w(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 T(t,e,r){var n=l.exec(e.slice(r,r+1));return n?(t.q=3*n[0]-3,r+n[0].length):-1}function k(t,e,r){var n=l.exec(e.slice(r,r+2));return n?(t.m=n[0]-1,r+n[0].length):-1}function A(t,e,r){var n=l.exec(e.slice(r,r+2));return n?(t.d=+n[0],r+n[0].length):-1}function M(t,e,r){var n=l.exec(e.slice(r,r+3));return n?(t.m=0,t.d=+n[0],r+n[0].length):-1}function S(t,e,r){var n=l.exec(e.slice(r,r+2));return n?(t.H=+n[0],r+n[0].length):-1}function E(t,e,r){var n=l.exec(e.slice(r,r+2));return n?(t.M=+n[0],r+n[0].length):-1}function L(t,e,r){var n=l.exec(e.slice(r,r+2));return n?(t.S=+n[0],r+n[0].length):-1}function C(t,e,r){var n=l.exec(e.slice(r,r+3));return n?(t.L=+n[0],r+n[0].length):-1}function P(t,e,r){var n=l.exec(e.slice(r,r+6));return n?(t.L=Math.floor(n[0]/1e3),r+n[0].length):-1}function I(t,e,r){var n=c.exec(e.slice(r,r+1));return n?r+n[0].length:-1}function O(t,e,r){var n=l.exec(e.slice(r));return n?(t.Q=+n[0],r+n[0].length):-1}function z(t,e,r){var n=l.exec(e.slice(r));return n?(t.s=+n[0],r+n[0].length):-1}function D(t,e){return f(t.getDate(),e,2)}function R(t,e){return f(t.getHours(),e,2)}function F(t,e){return f(t.getHours()%12||12,e,2)}function B(t,r){return f(1+e.timeDay.count(e.timeYear(t),t),r,3)}function N(t,e){return f(t.getMilliseconds(),e,3)}function j(t,e){return N(t,e)+\"000\"}function U(t,e){return f(t.getMonth()+1,e,2)}function V(t,e){return f(t.getMinutes(),e,2)}function H(t,e){return f(t.getSeconds(),e,2)}function q(t){var e=t.getDay();return 0===e?7:e}function G(t,r){return f(e.timeSunday.count(e.timeYear(t)-1,t),r,2)}function Y(t,r){var n=t.getDay();return t=n>=4||0===n?e.timeThursday(t):e.timeThursday.ceil(t),f(e.timeThursday.count(e.timeYear(t),t)+(4===e.timeYear(t).getDay()),r,2)}function W(t){return t.getDay()}function X(t,r){return f(e.timeMonday.count(e.timeYear(t)-1,t),r,2)}function Z(t,e){return f(t.getFullYear()%100,e,2)}function J(t,e){return f(t.getFullYear()%1e4,e,4)}function K(t){var e=t.getTimezoneOffset();return(e>0?\"-\":(e*=-1,\"+\"))+f(e/60|0,\"0\",2)+f(e%60,\"0\",2)}function Q(t,e){return f(t.getUTCDate(),e,2)}function $(t,e){return f(t.getUTCHours(),e,2)}function tt(t,e){return f(t.getUTCHours()%12||12,e,2)}function et(t,r){return f(1+e.utcDay.count(e.utcYear(t),t),r,3)}function rt(t,e){return f(t.getUTCMilliseconds(),e,3)}function nt(t,e){return rt(t,e)+\"000\"}function it(t,e){return f(t.getUTCMonth()+1,e,2)}function at(t,e){return f(t.getUTCMinutes(),e,2)}function ot(t,e){return f(t.getUTCSeconds(),e,2)}function st(t){var e=t.getUTCDay();return 0===e?7:e}function lt(t,r){return f(e.utcSunday.count(e.utcYear(t)-1,t),r,2)}function ct(t,r){var n=t.getUTCDay();return t=n>=4||0===n?e.utcThursday(t):e.utcThursday.ceil(t),f(e.utcThursday.count(e.utcYear(t),t)+(4===e.utcYear(t).getUTCDay()),r,2)}function ut(t){return t.getUTCDay()}function ft(t,r){return f(e.utcMonday.count(e.utcYear(t)-1,t),r,2)}function ht(t,e){return f(t.getUTCFullYear()%100,e,2)}function pt(t,e){return f(t.getUTCFullYear()%1e4,e,4)}function dt(){return\"+0000\"}function mt(){return\"%\"}function gt(t){return+t}function vt(t){return Math.floor(+t/1e3)}function yt(e){return o=a(e),t.timeFormat=o.format,t.timeParse=o.parse,t.utcFormat=o.utcFormat,t.utcParse=o.utcParse,o}yt({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\"]});var xt=Date.prototype.toISOString?function(t){return t.toISOString()}:t.utcFormat(\"%Y-%m-%dT%H:%M:%S.%LZ\");var bt=+new Date(\"2000-01-01T00:00:00.000Z\")?function(t){var e=new Date(t);return isNaN(e)?null:e}:t.utcParse(\"%Y-%m-%dT%H:%M:%S.%LZ\");t.isoFormat=xt,t.isoParse=bt,t.timeFormatDefaultLocale=yt,t.timeFormatLocale=a,Object.defineProperty(t,\"__esModule\",{value:!0})}))},{\"d3-time\":121}],121:[function(t,e,r){!function(t,n){\"object\"==typeof r&&void 0!==e?n(r):n((t=t||self).d3=t.d3||{})}(this,(function(t){\"use strict\";var e=new Date,r=new Date;function n(t,i,a,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(e){return t(e=new Date(e-1)),i(e,1),t(e),e},s.round=function(t){var e=s(t),r=s.ceil(t);return t-e<r-t?e:r},s.offset=function(t,e){return i(t=new Date(+t),null==e?1:Math.floor(e)),t},s.range=function(e,r,n){var a,o=[];if(e=s.ceil(e),n=null==n?1:Math.floor(n),!(e<r&&n>0))return o;do{o.push(a=new Date(+e)),i(e,n),t(e)}while(a<e&&e<r);return o},s.filter=function(e){return n((function(r){if(r>=r)for(;t(r),!e(r);)r.setTime(r-1)}),(function(t,r){if(t>=t)if(r<0)for(;++r<=0;)for(;i(t,-1),!e(t););else for(;--r>=0;)for(;i(t,1),!e(t););}))},a&&(s.count=function(n,i){return e.setTime(+n),r.setTime(+i),t(e),t(r),Math.floor(a(e,r))},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}var i=n((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?n((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.range,o=n((function(t){t.setTime(t-t.getMilliseconds())}),(function(t,e){t.setTime(+t+1e3*e)}),(function(t,e){return(e-t)/1e3}),(function(t){return t.getUTCSeconds()})),s=o.range,l=n((function(t){t.setTime(t-t.getMilliseconds()-1e3*t.getSeconds())}),(function(t,e){t.setTime(+t+6e4*e)}),(function(t,e){return(e-t)/6e4}),(function(t){return t.getMinutes()})),c=l.range,u=n((function(t){t.setTime(t-t.getMilliseconds()-1e3*t.getSeconds()-6e4*t.getMinutes())}),(function(t,e){t.setTime(+t+36e5*e)}),(function(t,e){return(e-t)/36e5}),(function(t){return t.getHours()})),f=u.range,h=n((function(t){t.setHours(0,0,0,0)}),(function(t,e){t.setDate(t.getDate()+e)}),(function(t,e){return(e-t-6e4*(e.getTimezoneOffset()-t.getTimezoneOffset()))/864e5}),(function(t){return t.getDate()-1})),p=h.range;function d(t){return n((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-6e4*(e.getTimezoneOffset()-t.getTimezoneOffset()))/6048e5}))}var m=d(0),g=d(1),v=d(2),y=d(3),x=d(4),b=d(5),_=d(6),w=m.range,T=g.range,k=v.range,A=y.range,M=x.range,S=b.range,E=_.range,L=n((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()})),C=L.range,P=n((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()}));P.every=function(t){return isFinite(t=Math.floor(t))&&t>0?n((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};var I=P.range,O=n((function(t){t.setUTCSeconds(0,0)}),(function(t,e){t.setTime(+t+6e4*e)}),(function(t,e){return(e-t)/6e4}),(function(t){return t.getUTCMinutes()})),z=O.range,D=n((function(t){t.setUTCMinutes(0,0,0)}),(function(t,e){t.setTime(+t+36e5*e)}),(function(t,e){return(e-t)/36e5}),(function(t){return t.getUTCHours()})),R=D.range,F=n((function(t){t.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCDate(t.getUTCDate()+e)}),(function(t,e){return(e-t)/864e5}),(function(t){return t.getUTCDate()-1})),B=F.range;function N(t){return n((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)/6048e5}))}var j=N(0),U=N(1),V=N(2),H=N(3),q=N(4),G=N(5),Y=N(6),W=j.range,X=U.range,Z=V.range,J=H.range,K=q.range,Q=G.range,$=Y.range,tt=n((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()})),et=tt.range,rt=n((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()}));rt.every=function(t){return isFinite(t=Math.floor(t))&&t>0?n((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};var nt=rt.range;t.timeDay=h,t.timeDays=p,t.timeFriday=b,t.timeFridays=S,t.timeHour=u,t.timeHours=f,t.timeInterval=n,t.timeMillisecond=i,t.timeMilliseconds=a,t.timeMinute=l,t.timeMinutes=c,t.timeMonday=g,t.timeMondays=T,t.timeMonth=L,t.timeMonths=C,t.timeSaturday=_,t.timeSaturdays=E,t.timeSecond=o,t.timeSeconds=s,t.timeSunday=m,t.timeSundays=w,t.timeThursday=x,t.timeThursdays=M,t.timeTuesday=v,t.timeTuesdays=k,t.timeWednesday=y,t.timeWednesdays=A,t.timeWeek=m,t.timeWeeks=w,t.timeYear=P,t.timeYears=I,t.utcDay=F,t.utcDays=B,t.utcFriday=G,t.utcFridays=Q,t.utcHour=D,t.utcHours=R,t.utcMillisecond=i,t.utcMilliseconds=a,t.utcMinute=O,t.utcMinutes=z,t.utcMonday=U,t.utcMondays=X,t.utcMonth=tt,t.utcMonths=et,t.utcSaturday=Y,t.utcSaturdays=$,t.utcSecond=o,t.utcSeconds=s,t.utcSunday=j,t.utcSundays=W,t.utcThursday=q,t.utcThursdays=K,t.utcTuesday=V,t.utcTuesdays=Z,t.utcWednesday=H,t.utcWednesdays=J,t.utcWeek=j,t.utcWeeks=W,t.utcYear=rt,t.utcYears=nt,Object.defineProperty(t,\"__esModule\",{value:!0})}))},{}],122:[function(t,e,r){arguments[4][121][0].apply(r,arguments)},{dup:121}],123:[function(t,e,r){!function(t,n){\"object\"==typeof r&&void 0!==e?n(r):n((t=t||self).d3=t.d3||{})}(this,(function(t){\"use strict\";var e,r,n=0,i=0,a=0,o=0,s=0,l=0,c=\"object\"==typeof performance&&performance.now?performance:Date,u=\"object\"==typeof window&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};function f(){return s||(u(h),s=c.now()+l)}function h(){s=0}function p(){this._call=this._time=this._next=null}function d(t,e,r){var n=new p;return n.restart(t,e,r),n}function m(){f(),++n;for(var t,r=e;r;)(t=s-r._time)>=0&&r._call.call(null,t),r=r._next;--n}function g(){s=(o=c.now())+l,n=i=0;try{m()}finally{n=0,function(){var t,n,i=e,a=1/0;for(;i;)i._call?(a>i._time&&(a=i._time),t=i,i=i._next):(n=i._next,i._next=null,i=t?t._next=n:e=n);r=t,y(a)}(),s=0}}function v(){var t=c.now(),e=t-o;e>1e3&&(l-=e,o=t)}function y(t){n||(i&&(i=clearTimeout(i)),t-s>24?(t<1/0&&(i=setTimeout(g,t-c.now()-l)),a&&(a=clearInterval(a))):(a||(o=c.now(),a=setInterval(v,1e3)),n=1,u(g)))}p.prototype=d.prototype={constructor:p,restart:function(t,n,i){if(\"function\"!=typeof t)throw new TypeError(\"callback is not a function\");i=(null==i?f():+i)+(null==n?0:+n),this._next||r===this||(r?r._next=this:e=this,r=this),this._call=t,this._time=i,y()},stop:function(){this._call&&(this._call=null,this._time=1/0,y())}},t.interval=function(t,e,r){var n=new p,i=e;return null==e?(n.restart(t,e,r),n):(e=+e,r=null==r?f():+r,n.restart((function a(o){o+=i,n.restart(a,i+=e,r),t(o)}),e,r),n)},t.now=f,t.timeout=function(t,e,r){var n=new p;return e=null==e?0:+e,n.restart((function(r){n.stop(),t(r+e)}),e,r),n},t.timer=d,t.timerFlush=m,Object.defineProperty(t,\"__esModule\",{value:!0})}))},{}],124:[function(t,e,r){e.exports=function(){for(var t=0;t<arguments.length;t++)if(void 0!==arguments[t])return arguments[t]}},{}],125:[function(t,e,r){\"use strict\";e.exports=a;var n=(a.canvas=document.createElement(\"canvas\")).getContext(\"2d\"),i=o([32,126]);function a(t,e){Array.isArray(t)&&(t=t.join(\", \"));var r,a={},s=16,l=.05;e&&(2===e.length&&\"number\"==typeof e[0]?r=o(e):Array.isArray(e)?r=e:(e.o?r=o(e.o):e.pairs&&(r=e.pairs),e.fontSize&&(s=e.fontSize),null!=e.threshold&&(l=e.threshold))),r||(r=i),n.font=s+\"px \"+t;for(var c=0;c<r.length;c++){var u=r[c],f=n.measureText(u[0]).width+n.measureText(u[1]).width,h=n.measureText(u).width;if(Math.abs(f-h)>s*l){var p=(h-f)/s;a[u]=1e3*p}}return a}function o(t){for(var e=[],r=t[0];r<=t[1];r++)for(var n=String.fromCharCode(r),i=t[0];i<t[1];i++){var a=n+String.fromCharCode(i);e.push(a)}return e}a.createPairs=o,a.ascii=i},{}],126:[function(t,e,r){var n=t(\"abs-svg-path\"),i=t(\"normalize-svg-path\"),a={M:\"moveTo\",C:\"bezierCurveTo\"};e.exports=function(t,e){t.beginPath(),i(n(e)).forEach((function(e){var r=e[0],n=e.slice(1);t[a[r]].apply(t,n)})),t.closePath()}},{\"abs-svg-path\":70,\"normalize-svg-path\":246}],127:[function(t,e,r){e.exports=function(t){switch(t){case\"int8\":return Int8Array;case\"int16\":return Int16Array;case\"int32\":return Int32Array;case\"uint8\":return Uint8Array;case\"uint16\":return Uint16Array;case\"uint32\":return Uint32Array;case\"float32\":return Float32Array;case\"float64\":return Float64Array;case\"array\":return Array;case\"uint8_clamped\":return Uint8ClampedArray}}},{}],128:[function(t,e,r){\"use strict\";e.exports=function(t,e){switch(void 0===e&&(e=0),typeof t){case\"number\":if(t>0)return function(t,e){var r,n;for(r=new Array(t),n=0;n<t;++n)r[n]=e;return r}(0|t,e);break;case\"object\":if(\"number\"==typeof t.length)return function t(e,r,n){var i=0|e[n];if(i<=0)return[];var a,o=new Array(i);if(n===e.length-1)for(a=0;a<i;++a)o[a]=r;else for(a=0;a<i;++a)o[a]=t(e,r,n+1);return o}(t,e,0)}return[]}},{}],129:[function(t,e,r){\"use strict\";function n(t,e,r){r=r||2;var n,s,l,c,u,p,d,g=e&&e.length,v=g?e[0]*r:t.length,y=i(t,0,v,r,!0),x=[];if(!y||y.next===y.prev)return x;if(g&&(y=function(t,e,r,n){var o,s,l,c,u,p=[];for(o=0,s=e.length;o<s;o++)l=e[o]*n,c=o<s-1?e[o+1]*n:t.length,(u=i(t,l,c,n,!1))===u.next&&(u.steiner=!0),p.push(m(u));for(p.sort(f),o=0;o<p.length;o++)h(p[o],r),r=a(r,r.next);return r}(t,e,y,r)),t.length>80*r){n=l=t[0],s=c=t[1];for(var b=r;b<v;b+=r)(u=t[b])<n&&(n=u),(p=t[b+1])<s&&(s=p),u>l&&(l=u),p>c&&(c=p);d=0!==(d=Math.max(l-n,c-s))?1/d:0}return o(y,x,r,n,s,d),x}function i(t,e,r,n,i){var a,o;if(i===E(t,e,r,n)>0)for(a=e;a<r;a+=n)o=A(a,t[a],t[a+1],o);else for(a=r-n;a>=e;a-=n)o=A(a,t[a],t[a+1],o);return o&&x(o,o.next)&&(M(o),o=o.next),o}function a(t,e){if(!t)return t;e||(e=t);var r,n=t;do{if(r=!1,n.steiner||!x(n,n.next)&&0!==y(n.prev,n,n.next))n=n.next;else{if(M(n),(n=e=n.prev)===n.next)break;r=!0}}while(r||n!==e);return e}function o(t,e,r,n,i,f,h){if(t){!h&&f&&function(t,e,r,n){var i=t;do{null===i.z&&(i.z=d(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;e<c&&(s++,n=n.nextZ);e++);for(l=c;s>0||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,f);for(var p,m,g=t;t.prev!==t.next;)if(p=t.prev,m=t.next,f?l(t,n,i,f):s(t))e.push(p.i/r),e.push(t.i/r),e.push(m.i/r),M(t),t=m.next,g=m.next;else if((t=m)===g){h?1===h?o(t=c(a(t),e,r),e,r,n,i,f,2):2===h&&u(t,e,r,n,i,f):o(a(t),e,r,n,i,f,1);break}}}function s(t){var e=t.prev,r=t,n=t.next;if(y(e,r,n)>=0)return!1;for(var i=t.next.next;i!==t.prev;){if(g(e.x,e.y,r.x,r.y,n.x,n.y,i.x,i.y)&&y(i.prev,i,i.next)>=0)return!1;i=i.next}return!0}function l(t,e,r,n){var i=t.prev,a=t,o=t.next;if(y(i,a,o)>=0)return!1;for(var s=i.x<a.x?i.x<o.x?i.x:o.x:a.x<o.x?a.x:o.x,l=i.y<a.y?i.y<o.y?i.y:o.y:a.y<o.y?a.y:o.y,c=i.x>a.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,f=d(s,l,e,r,n),h=d(c,u,e,r,n),p=t.prevZ,m=t.nextZ;p&&p.z>=f&&m&&m.z<=h;){if(p!==t.prev&&p!==t.next&&g(i.x,i.y,a.x,a.y,o.x,o.y,p.x,p.y)&&y(p.prev,p,p.next)>=0)return!1;if(p=p.prevZ,m!==t.prev&&m!==t.next&&g(i.x,i.y,a.x,a.y,o.x,o.y,m.x,m.y)&&y(m.prev,m,m.next)>=0)return!1;m=m.nextZ}for(;p&&p.z>=f;){if(p!==t.prev&&p!==t.next&&g(i.x,i.y,a.x,a.y,o.x,o.y,p.x,p.y)&&y(p.prev,p,p.next)>=0)return!1;p=p.prevZ}for(;m&&m.z<=h;){if(m!==t.prev&&m!==t.next&&g(i.x,i.y,a.x,a.y,o.x,o.y,m.x,m.y)&&y(m.prev,m,m.next)>=0)return!1;m=m.nextZ}return!0}function c(t,e,r){var n=t;do{var i=n.prev,o=n.next.next;!x(i,o)&&b(i,n,n.next,o)&&T(i,o)&&T(o,i)&&(e.push(i.i/r),e.push(n.i/r),e.push(o.i/r),M(n),M(n.next),n=t=o),n=n.next}while(n!==t);return a(n)}function u(t,e,r,n,i,s){var l=t;do{for(var c=l.next.next;c!==l.prev;){if(l.i!==c.i&&v(l,c)){var u=k(l,c);return l=a(l,l.next),u=a(u,u.next),o(l,e,r,n,i,s),void o(u,e,r,n,i,s)}c=c.next}l=l.next}while(l!==t)}function f(t,e){return t.x-e.x}function h(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.next.x?n:n.next}}n=n.next}while(n!==e);if(!r)return null;if(i===o)return r;var l,c=r,u=r.x,f=r.y,h=1/0;n=r;do{i>=n.x&&n.x>=u&&i!==n.x&&g(a<f?i:o,a,u,f,a<f?o:i,a,n.x,n.y)&&(l=Math.abs(a-n.y)/(i-n.x),T(n,t)&&(l<h||l===h&&(n.x>r.x||n.x===r.x&&p(r,n)))&&(r=n,h=l)),n=n.next}while(n!==c);return r}(t,e)){var r=k(e,t);a(e,e.next),a(r,r.next)}}function p(t,e){return y(t.prev,t,e.prev)<0&&y(e.next,t,t.next)<0}function d(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 m(t){var e=t,r=t;do{(e.x<r.x||e.x===r.x&&e.y<r.y)&&(r=e),e=e.next}while(e!==t);return r}function g(t,e,r,n,i,a,o,s){return(i-o)*(e-s)-(t-o)*(a-s)>=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&&b(r,r.next,t,e))return!0;r=r.next}while(r!==t);return!1}(t,e)&&(T(t,e)&&T(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)&&(y(t.prev,t,e.prev)||y(t,e.prev,e))||x(t,e)&&y(t.prev,t,t.next)>0&&y(e.prev,e,e.next)>0)}function y(t,e,r){return(e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y)}function x(t,e){return t.x===e.x&&t.y===e.y}function b(t,e,r,n){var i=w(y(t,e,r)),a=w(y(t,e,n)),o=w(y(r,n,t)),s=w(y(r,n,e));return i!==a&&o!==s||(!(0!==i||!_(t,r,e))||(!(0!==a||!_(t,n,e))||(!(0!==o||!_(r,t,n))||!(0!==s||!_(r,e,n)))))}function _(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 w(t){return t>0?1:t<0?-1:0}function T(t,e){return y(t.prev,t,t.next)<0?y(t,e,t.next)>=0&&y(t,t.prev,e)>=0:y(t,e,t.prev)<0||y(t,t.next,e)<0}function k(t,e){var r=new S(t.i,t.x,t.y),n=new S(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 A(t,e,r,n){var i=new S(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 M(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 S(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 E(t,e,r,n){for(var i=0,a=e,o=r-n;a<r;a+=n)i+=(t[o]-t[a])*(t[a+1]+t[o+1]),o=a;return i}e.exports=n,e.exports.default=n,n.deviation=function(t,e,r,n){var i=e&&e.length,a=i?e[0]*r:t.length,o=Math.abs(E(t,0,a,r));if(i)for(var s=0,l=e.length;s<l;s++){var c=e[s]*r,u=s<l-1?e[s+1]*r:t.length;o-=Math.abs(E(t,c,u,r))}var f=0;for(s=0;s<n.length;s+=3){var h=n[s]*r,p=n[s+1]*r,d=n[s+2]*r;f+=Math.abs((t[h]-t[d])*(t[p+1]-t[h+1])-(t[h]-t[p])*(t[d+1]-t[h+1]))}return 0===o&&0===f?0:Math.abs((f-o)/o)},n.flatten=function(t){for(var e=t[0][0].length,r={vertices:[],holes:[],dimensions:e},n=0,i=0;i<t.length;i++){for(var a=0;a<t[i].length;a++)for(var o=0;o<e;o++)r.vertices.push(t[i][a][o]);i>0&&(n+=t[i-1].length,r.holes.push(n))}return r}},{}],130:[function(t,e,r){var n=t(\"strongly-connected-components\");e.exports=function(t,e){var r,i=[],a=[],o=[],s={},l=[];function c(t){var e,n,i=!1;for(a.push(t),o[t]=!0,e=0;e<l[t].length;e++)(n=l[t][e])===r?(u(r,a),i=!0):o[n]||(i=c(n));if(i)!function t(e){o[e]=!1,s.hasOwnProperty(e)&&Object.keys(s[e]).forEach((function(r){delete s[e][r],o[r]&&t(r)}))}(t);else for(e=0;e<l[t].length;e++){n=l[t][e];var f=s[n];f||(f={},s[n]=f),f[n]=!0}return a.pop(),i}function u(t,r){var n=[].concat(r).concat(t);e?e(c):i.push(n)}function f(e){!function(e){for(var r=0;r<t.length;r++)r<e&&(t[r]=[]),t[r]=t[r].filter((function(t){return t>=e}))}(e);for(var r,i=n(t).components.filter((function(t){return t.length>1})),a=1/0,o=0;o<i.length;o++)for(var s=0;s<i[o].length;s++)i[o][s]<a&&(a=i[o][s],r=o);var l=i[r];return!!l&&{leastVertex:a,adjList:t.map((function(t,e){return-1===l.indexOf(e)?[]:t.filter((function(t){return-1!==l.indexOf(t)}))}))}}r=0;for(var h=t.length;r<h;){var p=f(r);if(r=p.leastVertex,l=p.adjList){for(var d=0;d<l.length;d++)for(var m=0;m<l[d].length;m++){var g=l[d][m];o[+g]=!1,s[g]={}}c(r),r+=1}else r=h}return e?void 0:i}},{\"strongly-connected-components\":306}],131:[function(t,e,r){\"use strict\";var n=t(\"../../object/valid-value\");e.exports=function(){return n(this).length=0,this}},{\"../../object/valid-value\":162}],132:[function(t,e,r){\"use strict\";e.exports=t(\"./is-implemented\")()?Array.from:t(\"./shim\")},{\"./is-implemented\":133,\"./shim\":134}],133:[function(t,e,r){\"use strict\";e.exports=function(){var t,e,r=Array.from;return\"function\"==typeof r&&(e=r(t=[\"raz\",\"dwa\"]),Boolean(e&&e!==t&&\"dwa\"===e[1]))}},{}],134:[function(t,e,r){\"use strict\";var n=t(\"es6-symbol\").iterator,i=t(\"../../function/is-arguments\"),a=t(\"../../function/is-function\"),o=t(\"../../number/to-pos-integer\"),s=t(\"../../object/valid-callable\"),l=t(\"../../object/valid-value\"),c=t(\"../../object/is-value\"),u=t(\"../../string/is-string\"),f=Array.isArray,h=Function.prototype.call,p={configurable:!0,enumerable:!0,writable:!0,value:null},d=Object.defineProperty;e.exports=function(t){var e,r,m,g,v,y,x,b,_,w,T=arguments[1],k=arguments[2];if(t=Object(l(t)),c(T)&&s(T),this&&this!==Array&&a(this))e=this;else{if(!T){if(i(t))return 1!==(v=t.length)?Array.apply(null,t):((g=new Array(1))[0]=t[0],g);if(f(t)){for(g=new Array(v=t.length),r=0;r<v;++r)g[r]=t[r];return g}}g=[]}if(!f(t))if(void 0!==(_=t[n])){for(x=s(_).call(t),e&&(g=new e),b=x.next(),r=0;!b.done;)w=T?h.call(T,k,b.value,r):b.value,e?(p.value=w,d(g,r,p)):g[r]=w,b=x.next(),++r;v=r}else if(u(t)){for(v=t.length,e&&(g=new e),r=0,m=0;r<v;++r)w=t[r],r+1<v&&(y=w.charCodeAt(0))>=55296&&y<=56319&&(w+=t[++r]),w=T?h.call(T,k,w,m):w,e?(p.value=w,d(g,m,p)):g[m]=w,++m;v=m}if(void 0===v)for(v=o(t.length),e&&(g=new e(v)),r=0;r<v;++r)w=T?h.call(T,k,t[r],r):t[r],e?(p.value=w,d(g,r,p)):g[r]=w;return e&&(p.value=null,g.length=v),g}},{\"../../function/is-arguments\":135,\"../../function/is-function\":136,\"../../number/to-pos-integer\":142,\"../../object/is-value\":151,\"../../object/valid-callable\":160,\"../../object/valid-value\":162,\"../../string/is-string\":166,\"es6-symbol\":175}],135:[function(t,e,r){\"use strict\";var n=Object.prototype.toString,i=n.call(function(){return arguments}());e.exports=function(t){return n.call(t)===i}},{}],136:[function(t,e,r){\"use strict\";var n=Object.prototype.toString,i=RegExp.prototype.test.bind(/^[object [A-Za-z0-9]*Function]$/);e.exports=function(t){return\"function\"==typeof t&&i(n.call(t))}},{}],137:[function(t,e,r){\"use strict\";e.exports=function(){}},{}],138:[function(t,e,r){\"use strict\";e.exports=t(\"./is-implemented\")()?Math.sign:t(\"./shim\")},{\"./is-implemented\":139,\"./shim\":140}],139:[function(t,e,r){\"use strict\";e.exports=function(){var t=Math.sign;return\"function\"==typeof t&&(1===t(10)&&-1===t(-20))}},{}],140:[function(t,e,r){\"use strict\";e.exports=function(t){return t=Number(t),isNaN(t)||0===t?t:t>0?1:-1}},{}],141:[function(t,e,r){\"use strict\";var n=t(\"../math/sign\"),i=Math.abs,a=Math.floor;e.exports=function(t){return isNaN(t)?0:0!==(t=Number(t))&&isFinite(t)?n(t)*a(i(t)):t}},{\"../math/sign\":138}],142:[function(t,e,r){\"use strict\";var n=t(\"./to-integer\"),i=Math.max;e.exports=function(t){return i(0,n(t))}},{\"./to-integer\":141}],143:[function(t,e,r){\"use strict\";var n=t(\"./valid-callable\"),i=t(\"./valid-value\"),a=Function.prototype.bind,o=Function.prototype.call,s=Object.keys,l=Object.prototype.propertyIsEnumerable;e.exports=function(t,e){return function(r,c){var u,f=arguments[2],h=arguments[3];return r=Object(i(r)),n(c),u=s(r),h&&u.sort(\"function\"==typeof h?a.call(h,r):void 0),\"function\"!=typeof t&&(t=u[t]),o.call(t,u,(function(t,n){return l.call(r,t)?o.call(c,f,r[t],t,r,n):e}))}}},{\"./valid-callable\":160,\"./valid-value\":162}],144:[function(t,e,r){\"use strict\";e.exports=t(\"./is-implemented\")()?Object.assign:t(\"./shim\")},{\"./is-implemented\":145,\"./shim\":146}],145:[function(t,e,r){\"use strict\";e.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\")}},{}],146:[function(t,e,r){\"use strict\";var n=t(\"../keys\"),i=t(\"../valid-value\"),a=Math.max;e.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<l;++o)n(e=arguments[o]).forEach(s);if(void 0!==r)throw r;return t}},{\"../keys\":152,\"../valid-value\":162}],147:[function(t,e,r){\"use strict\";var n=t(\"../array/from\"),i=t(\"./assign\"),a=t(\"./valid-value\");e.exports=function(t){var e=Object(a(t)),r=arguments[1],o=Object(arguments[2]);if(e!==t&&!r)return e;var s={};return r?n(r,(function(e){(o.ensure||e in t)&&(s[e]=t[e])})):i(s,t),s}},{\"../array/from\":132,\"./assign\":144,\"./valid-value\":162}],148:[function(t,e,r){\"use strict\";var n,i,a,o,s=Object.create;t(\"./set-prototype-of/is-implemented\")()||(n=t(\"./set-prototype-of/shim\")),e.exports=n?1!==n.level?s:(i={},a={},o={configurable:!1,enumerable:!1,writable:!0,value:void 0},Object.getOwnPropertyNames(Object.prototype).forEach((function(t){a[t]=\"__proto__\"!==t?o:{configurable:!0,enumerable:!1,writable:!0,value:void 0}})),Object.defineProperties(i,a),Object.defineProperty(n,\"nullPolyfill\",{configurable:!1,enumerable:!1,writable:!1,value:i}),function(t,e){return s(null===t?i:t,e)}):s},{\"./set-prototype-of/is-implemented\":158,\"./set-prototype-of/shim\":159}],149:[function(t,e,r){\"use strict\";e.exports=t(\"./_iterate\")(\"forEach\")},{\"./_iterate\":143}],150:[function(t,e,r){\"use strict\";var n=t(\"./is-value\"),i={function:!0,object:!0};e.exports=function(t){return n(t)&&i[typeof t]||!1}},{\"./is-value\":151}],151:[function(t,e,r){\"use strict\";var n=t(\"../function/noop\")();e.exports=function(t){return t!==n&&null!==t}},{\"../function/noop\":137}],152:[function(t,e,r){\"use strict\";e.exports=t(\"./is-implemented\")()?Object.keys:t(\"./shim\")},{\"./is-implemented\":153,\"./shim\":154}],153:[function(t,e,r){\"use strict\";e.exports=function(){try{return Object.keys(\"primitive\"),!0}catch(t){return!1}}},{}],154:[function(t,e,r){\"use strict\";var n=t(\"../is-value\"),i=Object.keys;e.exports=function(t){return i(n(t)?Object(t):t)}},{\"../is-value\":151}],155:[function(t,e,r){\"use strict\";var n=t(\"./valid-callable\"),i=t(\"./for-each\"),a=Function.prototype.call;e.exports=function(t,e){var r={},o=arguments[2];return n(e),i(t,(function(t,n,i,s){r[n]=a.call(e,o,t,n,i,s)})),r}},{\"./for-each\":149,\"./valid-callable\":160}],156:[function(t,e,r){\"use strict\";var n=t(\"./is-value\"),i=Array.prototype.forEach,a=Object.create,o=function(t,e){var r;for(r in t)e[r]=t[r]};e.exports=function(t){var e=a(null);return i.call(arguments,(function(t){n(t)&&o(Object(t),e)})),e}},{\"./is-value\":151}],157:[function(t,e,r){\"use strict\";e.exports=t(\"./is-implemented\")()?Object.setPrototypeOf:t(\"./shim\")},{\"./is-implemented\":158,\"./shim\":159}],158:[function(t,e,r){\"use strict\";var n=Object.create,i=Object.getPrototypeOf,a={};e.exports=function(){var t=Object.setPrototypeOf,e=arguments[0]||n;return\"function\"==typeof t&&i(t(e(null),a))===a}},{}],159:[function(t,e,r){\"use strict\";var n,i=t(\"../is-object\"),a=t(\"../valid-value\"),o=Object.prototype.isPrototypeOf,s=Object.defineProperty,l={configurable:!0,enumerable:!1,writable:!0,value:void 0};n=function(t,e){if(a(t),null===e||i(e))return t;throw new TypeError(\"Prototype must be null or an object\")},e.exports=function(t){var e,r;return t?(2===t.level?t.set?(r=t.set,e=function(t,e){return r.call(n(t,e),e),t}):e=function(t,e){return n(t,e).__proto__=e,t}:e=function t(e,r){var i;return n(e,r),(i=o.call(t.nullPolyfill,e))&&delete t.nullPolyfill.__proto__,null===r&&(r=t.nullPolyfill),e.__proto__=r,i&&s(t.nullPolyfill,\"__proto__\",l),e},Object.defineProperty(e,\"level\",{configurable:!1,enumerable:!1,writable:!1,value:t.level})):null}(function(){var t,e=Object.create(null),r={},n=Object.getOwnPropertyDescriptor(Object.prototype,\"__proto__\");if(n){try{(t=n.set).call(e,r)}catch(t){}if(Object.getPrototypeOf(e)===r)return{set:t,level:2}}return e.__proto__=r,Object.getPrototypeOf(e)===r?{level:2}:((e={}).__proto__=r,Object.getPrototypeOf(e)===r&&{level:1})}()),t(\"../create\")},{\"../create\":148,\"../is-object\":150,\"../valid-value\":162}],160:[function(t,e,r){\"use strict\";e.exports=function(t){if(\"function\"!=typeof t)throw new TypeError(t+\" is not a function\");return t}},{}],161:[function(t,e,r){\"use strict\";var n=t(\"./is-object\");e.exports=function(t){if(!n(t))throw new TypeError(t+\" is not an Object\");return t}},{\"./is-object\":150}],162:[function(t,e,r){\"use strict\";var n=t(\"./is-value\");e.exports=function(t){if(!n(t))throw new TypeError(\"Cannot use null or undefined\");return t}},{\"./is-value\":151}],163:[function(t,e,r){\"use strict\";e.exports=t(\"./is-implemented\")()?String.prototype.contains:t(\"./shim\")},{\"./is-implemented\":164,\"./shim\":165}],164:[function(t,e,r){\"use strict\";var n=\"razdwatrzy\";e.exports=function(){return\"function\"==typeof n.contains&&(!0===n.contains(\"dwa\")&&!1===n.contains(\"foo\"))}},{}],165:[function(t,e,r){\"use strict\";var n=String.prototype.indexOf;e.exports=function(t){return n.call(this,t,arguments[1])>-1}},{}],166:[function(t,e,r){\"use strict\";var n=Object.prototype.toString,i=n.call(\"\");e.exports=function(t){return\"string\"==typeof t||t&&\"object\"==typeof t&&(t instanceof String||n.call(t)===i)||!1}},{}],167:[function(t,e,r){\"use strict\";var n=Object.create(null),i=Math.random;e.exports=function(){var t;do{t=i().toString(36).slice(2)}while(n[t]);return t}},{}],168:[function(t,e,r){\"use strict\";var n,i=t(\"es5-ext/object/set-prototype-of\"),a=t(\"es5-ext/string/#/contains\"),o=t(\"d\"),s=t(\"es6-symbol\"),l=t(\"./\"),c=Object.defineProperty;n=e.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\"))},{\"./\":171,d:106,\"es5-ext/object/set-prototype-of\":157,\"es5-ext/string/#/contains\":163,\"es6-symbol\":175}],169:[function(t,e,r){\"use strict\";var n=t(\"es5-ext/function/is-arguments\"),i=t(\"es5-ext/object/valid-callable\"),a=t(\"es5-ext/string/is-string\"),o=t(\"./get\"),s=Array.isArray,l=Function.prototype.call,c=Array.prototype.some;e.exports=function(t,e){var r,u,f,h,p,d,m,g,v=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(u=t.next();!u.done;){if(l.call(e,v,u.value,f),h)return;u=t.next()}else for(d=t.length,p=0;p<d&&(m=t[p],p+1<d&&(g=m.charCodeAt(0))>=55296&&g<=56319&&(m+=t[++p]),l.call(e,v,m,f),!h);++p);else c.call(t,(function(t){return l.call(e,v,t,f),h}))}},{\"./get\":170,\"es5-ext/function/is-arguments\":135,\"es5-ext/object/valid-callable\":160,\"es5-ext/string/is-string\":166}],170:[function(t,e,r){\"use strict\";var n=t(\"es5-ext/function/is-arguments\"),i=t(\"es5-ext/string/is-string\"),a=t(\"./array\"),o=t(\"./string\"),s=t(\"./valid-iterable\"),l=t(\"es6-symbol\").iterator;e.exports=function(t){return\"function\"==typeof s(t)[l]?t[l]():n(t)?new a(t):i(t)?new o(t):new a(t)}},{\"./array\":168,\"./string\":173,\"./valid-iterable\":174,\"es5-ext/function/is-arguments\":135,\"es5-ext/string/is-string\":166,\"es6-symbol\":175}],171:[function(t,e,r){\"use strict\";var n,i=t(\"es5-ext/array/#/clear\"),a=t(\"es5-ext/object/assign\"),o=t(\"es5-ext/object/valid-callable\"),s=t(\"es5-ext/object/valid-value\"),l=t(\"d\"),c=t(\"d/auto-bind\"),u=t(\"es6-symbol\"),f=Object.defineProperty,h=Object.defineProperties;e.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.__list__.length?this.__nextIndex__++:void this._unBind()})),next:l((function(){return this._createResult(this._next())})),_createResult:l((function(t){return void 0===t?{done:!0,value:void 0}:{done:!1,value:this._resolve(t)}})),_resolve:l((function(t){return this.__list__[t]})),_unBind:l((function(){this.__list__=null,delete this.__redo__,this.__context__&&(this.__context__.off(\"_add\",this._onAdd),this.__context__.off(\"_delete\",this._onDelete),this.__context__.off(\"_clear\",this._onClear),this.__context__=null)})),toString:l((function(){return\"[object \"+(this[u.toStringTag]||\"Object\")+\"]\"}))},c({_onAdd:l((function(t){t>=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,u.iterator,l((function(){return this})))},{d:106,\"d/auto-bind\":105,\"es5-ext/array/#/clear\":131,\"es5-ext/object/assign\":144,\"es5-ext/object/valid-callable\":160,\"es5-ext/object/valid-value\":162,\"es6-symbol\":175}],172:[function(t,e,r){\"use strict\";var n=t(\"es5-ext/function/is-arguments\"),i=t(\"es5-ext/object/is-value\"),a=t(\"es5-ext/string/is-string\"),o=t(\"es6-symbol\").iterator,s=Array.isArray;e.exports=function(t){return!!i(t)&&(!!s(t)||(!!a(t)||(!!n(t)||\"function\"==typeof t[o])))}},{\"es5-ext/function/is-arguments\":135,\"es5-ext/object/is-value\":151,\"es5-ext/string/is-string\":166,\"es6-symbol\":175}],173:[function(t,e,r){\"use strict\";var n,i=t(\"es5-ext/object/set-prototype-of\"),a=t(\"d\"),o=t(\"es6-symbol\"),s=t(\"./\"),l=Object.defineProperty;n=e.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__<this.__length__?this.__nextIndex__++:void this._unBind()})),_resolve:a((function(t){var e,r=this.__list__[t];return this.__nextIndex__===this.__length__?r:(e=r.charCodeAt(0))>=55296&&e<=56319?r+this.__list__[this.__nextIndex__++]:r}))}),l(n.prototype,o.toStringTag,a(\"c\",\"String Iterator\"))},{\"./\":171,d:106,\"es5-ext/object/set-prototype-of\":157,\"es6-symbol\":175}],174:[function(t,e,r){\"use strict\";var n=t(\"./is-iterable\");e.exports=function(t){if(!n(t))throw new TypeError(t+\" is not iterable\");return t}},{\"./is-iterable\":172}],175:[function(t,e,r){\"use strict\";e.exports=t(\"./is-implemented\")()?t(\"ext/global-this\").Symbol:t(\"./polyfill\")},{\"./is-implemented\":176,\"./polyfill\":181,\"ext/global-this\":188}],176:[function(t,e,r){\"use strict\";var n=t(\"ext/global-this\"),i={object:!0,symbol:!0};e.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])}},{\"ext/global-this\":188}],177:[function(t,e,r){\"use strict\";e.exports=function(t){return!!t&&(\"symbol\"==typeof t||!!t.constructor&&(\"Symbol\"===t.constructor.name&&\"Symbol\"===t[t.constructor.toStringTag]))}},{}],178:[function(t,e,r){\"use strict\";var n=t(\"d\"),i=Object.create,a=Object.defineProperty,o=Object.prototype,s=i(null);e.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}},{d:106}],179:[function(t,e,r){\"use strict\";var n=t(\"d\"),i=t(\"ext/global-this\").Symbol;e.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\"))})}},{d:106,\"ext/global-this\":188}],180:[function(t,e,r){\"use strict\";var n=t(\"d\"),i=t(\"../../../validate-symbol\"),a=Object.create(null);e.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}))})}},{\"../../../validate-symbol\":182,d:106}],181:[function(t,e,r){\"use strict\";var n,i,a,o=t(\"d\"),s=t(\"./validate-symbol\"),l=t(\"ext/global-this\").Symbol,c=t(\"./lib/private/generate-name\"),u=t(\"./lib/private/setup/standard-symbols\"),f=t(\"./lib/private/setup/symbol-registry\"),h=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)},e.exports=n=function t(e){var r;if(this instanceof t)throw new TypeError(\"Symbol is not a constructor\");return a?l(e):(r=h(i.prototype),e=void 0===e?\"\":String(e),p(r,{__description__:o(\"\",e),__name__:o(\"\",c(e))}))},u(n),f(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]))},{\"./lib/private/generate-name\":178,\"./lib/private/setup/standard-symbols\":179,\"./lib/private/setup/symbol-registry\":180,\"./validate-symbol\":182,d:106,\"ext/global-this\":188}],182:[function(t,e,r){\"use strict\";var n=t(\"./is-symbol\");e.exports=function(t){if(!n(t))throw new TypeError(t+\" is not a symbol\");return t}},{\"./is-symbol\":177}],183:[function(t,e,r){\"use strict\";e.exports=t(\"./is-implemented\")()?WeakMap:t(\"./polyfill\")},{\"./is-implemented\":184,\"./polyfill\":186}],184:[function(t,e,r){\"use strict\";e.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)))))}},{}],185:[function(t,e,r){\"use strict\";e.exports=\"function\"==typeof WeakMap&&\"[object WeakMap]\"===Object.prototype.toString.call(new WeakMap)},{}],186:[function(t,e,r){\"use strict\";var n,i=t(\"es5-ext/object/is-value\"),a=t(\"es5-ext/object/set-prototype-of\"),o=t(\"es5-ext/object/valid-object\"),s=t(\"es5-ext/object/valid-value\"),l=t(\"es5-ext/string/random-uniq\"),c=t(\"d\"),u=t(\"es6-iterator/get\"),f=t(\"es6-iterator/for-of\"),h=t(\"es6-symbol\").toStringTag,p=t(\"./is-native-implemented\"),d=Array.isArray,m=Object.defineProperty,g=Object.prototype.hasOwnProperty,v=Object.getPrototypeOf;e.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,v(this)):this,i(e)&&(d(e)||(e=u(e))),m(t,\"__weakMapData__\",c(\"c\",\"$weakMap$\"+l())),e?(f(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,h,c(\"c\",\"WeakMap\"))},{\"./is-native-implemented\":185,d:106,\"es5-ext/object/is-value\":151,\"es5-ext/object/set-prototype-of\":157,\"es5-ext/object/valid-object\":161,\"es5-ext/object/valid-value\":162,\"es5-ext/string/random-uniq\":167,\"es6-iterator/for-of\":169,\"es6-iterator/get\":170,\"es6-symbol\":175}],187:[function(t,e,r){var n=function(){if(\"object\"==typeof self&&self)return self;if(\"object\"==typeof window&&window)return window;throw new Error(\"Unable to resolve global `this`\")};e.exports=function(){if(this)return this;try{Object.defineProperty(Object.prototype,\"__global__\",{get:function(){return this},configurable:!0})}catch(t){return n()}try{return __global__||n()}finally{delete Object.prototype.__global__}}()},{}],188:[function(t,e,r){\"use strict\";e.exports=t(\"./is-implemented\")()?globalThis:t(\"./implementation\")},{\"./implementation\":187,\"./is-implemented\":189}],189:[function(t,e,r){\"use strict\";e.exports=function(){return\"object\"==typeof globalThis&&(!!globalThis&&globalThis.Array===Array)}},{}],190:[function(t,e,r){\"use strict\";var n=t(\"is-string-blank\");e.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}},{\"is-string-blank\":237}],191:[function(t,e,r){var n=t(\"dtype\");e.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;i<t.length;i++)for(a=0;a<l;a++)e[o++]=null===t[i][a]?NaN:t[i][a]}else if(e&&\"string\"!=typeof e)e.set(t,r);else{var f=n(e||\"float32\");if(Array.isArray(t)||\"array\"===e)for(e=new f(t.length+r),i=0,o=r,s=e.length;o<s;o++,i++)e[o]=null===t[i]?NaN:t[i];else 0===r?e=new f(t):(e=new f(t.length+r)).set(t,r)}return e}},{dtype:127}],192:[function(t,e,r){\"use strict\";var n=t(\"css-font/stringify\"),i=[32,126];e.exports=function(t){var e=(t=t||{}).shape?t.shape:t.canvas?[t.canvas.width,t.canvas.height]:[512,512],r=t.canvas||document.createElement(\"canvas\"),a=t.font,o=\"number\"==typeof t.step?[t.step,t.step]:t.step||[32,32],s=t.chars||i;a&&\"string\"!=typeof a&&(a=n(a));if(Array.isArray(s)){if(2===s.length&&\"number\"==typeof s[0]&&\"number\"==typeof s[1]){for(var l=[],c=s[0],u=0;c<=s[1];c++)l[u++]=String.fromCharCode(c);s=l}}else s=String(s).split(\"\");e=e.slice(),r.width=e[0],r.height=e[1];var f=r.getContext(\"2d\");f.fillStyle=\"#000\",f.fillRect(0,0,r.width,r.height),f.font=a,f.textAlign=\"center\",f.textBaseline=\"middle\",f.fillStyle=\"#fff\";var h=o[0]/2,p=o[1]/2;for(c=0;c<s.length;c++)f.fillText(s[c],h,p),(h+=o[0])>e[0]-o[0]/2&&(h=o[0]/2,p+=o[1]);return r}},{\"css-font/stringify\":102}],193:[function(t,e,r){\"use strict\";function n(t,e){e||(e={}),(\"string\"==typeof t||Array.isArray(t))&&(e.family=t);var r=Array.isArray(e.family)?e.family.join(\", \"):e.family;if(!r)throw Error(\"`family` must be defined\");var s=e.size||e.fontSize||e.em||48,l=e.weight||e.fontWeight||\"\",c=(t=[e.style||e.fontStyle||\"\",l,s].join(\" \")+\"px \"+r,e.origin||\"top\");if(n.cache[r]&&s<=n.cache[r].em)return i(n.cache[r],c);var u=e.canvas||n.canvas,f=u.getContext(\"2d\"),h={upper:void 0!==e.upper?e.upper:\"H\",lower:void 0!==e.lower?e.lower:\"x\",descent:void 0!==e.descent?e.descent:\"p\",ascent:void 0!==e.ascent?e.ascent:\"h\",tittle:void 0!==e.tittle?e.tittle:\"i\",overshoot:void 0!==e.overshoot?e.overshoot:\"O\"},p=Math.ceil(1.5*s);u.height=p,u.width=.5*p,f.font=t;var d={top:0};f.clearRect(0,0,p,p),f.textBaseline=\"top\",f.fillStyle=\"black\",f.fillText(\"H\",0,0);var m=a(f.getImageData(0,0,p,p));f.clearRect(0,0,p,p),f.textBaseline=\"bottom\",f.fillText(\"H\",0,p);var g=a(f.getImageData(0,0,p,p));d.lineHeight=d.bottom=p-g+m,f.clearRect(0,0,p,p),f.textBaseline=\"alphabetic\",f.fillText(\"H\",0,p);var v=p-a(f.getImageData(0,0,p,p))-1+m;d.baseline=d.alphabetic=v,f.clearRect(0,0,p,p),f.textBaseline=\"middle\",f.fillText(\"H\",0,.5*p);var y=a(f.getImageData(0,0,p,p));d.median=d.middle=p-y-1+m-.5*p,f.clearRect(0,0,p,p),f.textBaseline=\"hanging\",f.fillText(\"H\",0,.5*p);var x=a(f.getImageData(0,0,p,p));d.hanging=p-x-1+m-.5*p,f.clearRect(0,0,p,p),f.textBaseline=\"ideographic\",f.fillText(\"H\",0,p);var b=a(f.getImageData(0,0,p,p));if(d.ideographic=p-b-1+m,h.upper&&(f.clearRect(0,0,p,p),f.textBaseline=\"top\",f.fillText(h.upper,0,0),d.upper=a(f.getImageData(0,0,p,p)),d.capHeight=d.baseline-d.upper),h.lower&&(f.clearRect(0,0,p,p),f.textBaseline=\"top\",f.fillText(h.lower,0,0),d.lower=a(f.getImageData(0,0,p,p)),d.xHeight=d.baseline-d.lower),h.tittle&&(f.clearRect(0,0,p,p),f.textBaseline=\"top\",f.fillText(h.tittle,0,0),d.tittle=a(f.getImageData(0,0,p,p))),h.ascent&&(f.clearRect(0,0,p,p),f.textBaseline=\"top\",f.fillText(h.ascent,0,0),d.ascent=a(f.getImageData(0,0,p,p))),h.descent&&(f.clearRect(0,0,p,p),f.textBaseline=\"top\",f.fillText(h.descent,0,0),d.descent=o(f.getImageData(0,0,p,p))),h.overshoot){f.clearRect(0,0,p,p),f.textBaseline=\"top\",f.fillText(h.overshoot,0,0);var _=o(f.getImageData(0,0,p,p));d.overshoot=_-v}for(var w in d)d[w]/=s;return d.em=s,n.cache[r]=d,i(d,c)}function i(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 a(t){for(var e=t.height,r=t.data,n=3;n<r.length;n+=4)if(0!==r[n])return Math.floor(.25*(n-3)/e)}function o(t){for(var e=t.height,r=t.data,n=r.length-1;n>0;n-=4)if(0!==r[n])return Math.floor(.25*(n-3)/e)}e.exports=n,n.canvas=document.createElement(\"canvas\"),n.cache={}},{}],194:[function(t,e,r){e.exports=function(t,e){if(\"string\"!=typeof t)throw new TypeError(\"must specify type string\");if(e=e||{},\"undefined\"==typeof document&&!e.canvas)return null;var r=e.canvas||document.createElement(\"canvas\");\"number\"==typeof e.width&&(r.width=e.width);\"number\"==typeof e.height&&(r.height=e.height);var n,i=e;try{var a=[t];0===t.indexOf(\"webgl\")&&a.push(\"experimental-\"+t);for(var o=0;o<a.length;o++)if(n=r.getContext(a[o],i))return n}catch(t){n=null}return n||null}},{}],195:[function(t,e,r){e.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],f=e[9],h=e[10],p=e[11],d=e[12],m=e[13],g=e[14],v=e[15];return t[0]=s*(h*v-p*g)-f*(l*v-c*g)+m*(l*p-c*h),t[1]=-(n*(h*v-p*g)-f*(i*v-a*g)+m*(i*p-a*h)),t[2]=n*(l*v-c*g)-s*(i*v-a*g)+m*(i*c-a*l),t[3]=-(n*(l*p-c*h)-s*(i*p-a*h)+f*(i*c-a*l)),t[4]=-(o*(h*v-p*g)-u*(l*v-c*g)+d*(l*p-c*h)),t[5]=r*(h*v-p*g)-u*(i*v-a*g)+d*(i*p-a*h),t[6]=-(r*(l*v-c*g)-o*(i*v-a*g)+d*(i*c-a*l)),t[7]=r*(l*p-c*h)-o*(i*p-a*h)+u*(i*c-a*l),t[8]=o*(f*v-p*m)-u*(s*v-c*m)+d*(s*p-c*f),t[9]=-(r*(f*v-p*m)-u*(n*v-a*m)+d*(n*p-a*f)),t[10]=r*(s*v-c*m)-o*(n*v-a*m)+d*(n*c-a*s),t[11]=-(r*(s*p-c*f)-o*(n*p-a*f)+u*(n*c-a*s)),t[12]=-(o*(f*g-h*m)-u*(s*g-l*m)+d*(s*h-l*f)),t[13]=r*(f*g-h*m)-u*(n*g-i*m)+d*(n*h-i*f),t[14]=-(r*(s*g-l*m)-o*(n*g-i*m)+d*(n*l-i*s)),t[15]=r*(s*h-l*f)-o*(n*h-i*f)+u*(n*l-i*s),t}},{}],196:[function(t,e,r){e.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}},{}],197:[function(t,e,r){e.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}},{}],198:[function(t,e,r){e.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}},{}],199:[function(t,e,r){e.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],f=t[10],h=t[11],p=t[12],d=t[13],m=t[14],g=t[15];return(e*o-r*a)*(f*g-h*m)-(e*s-n*a)*(u*g-h*d)+(e*l-i*a)*(u*m-f*d)+(r*s-n*o)*(c*g-h*p)-(r*l-i*o)*(c*m-f*p)+(n*l-i*s)*(c*d-u*p)}},{}],200:[function(t,e,r){e.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,f=n*s,h=i*o,p=i*s,d=i*l,m=a*o,g=a*s,v=a*l;return t[0]=1-f-d,t[1]=u+v,t[2]=h-g,t[3]=0,t[4]=u-v,t[5]=1-c-d,t[6]=p+m,t[7]=0,t[8]=h+g,t[9]=p-m,t[10]=1-c-f,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},{}],201:[function(t,e,r){e.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);if(Math.abs(c)<1e-6)return null;return o*=c=1/c,s*=c,l*=c,n=Math.sin(e),i=Math.cos(e),a=1-i,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}},{}],202:[function(t,e,r){e.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,f=n*l,h=n*c,p=i*l,d=i*c,m=a*c,g=o*s,v=o*l,y=o*c;return t[0]=1-(p+m),t[1]=f+y,t[2]=h-v,t[3]=0,t[4]=f-y,t[5]=1-(u+m),t[6]=d+g,t[7]=0,t[8]=h+v,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}},{}],203:[function(t,e,r){e.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}},{}],204:[function(t,e,r){e.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}},{}],205:[function(t,e,r){e.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}},{}],206:[function(t,e,r){e.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}},{}],207:[function(t,e,r){e.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}},{}],208:[function(t,e,r){e.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}},{}],209:[function(t,e,r){e.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}},{}],210:[function(t,e,r){e.exports={create:t(\"./create\"),clone:t(\"./clone\"),copy:t(\"./copy\"),identity:t(\"./identity\"),transpose:t(\"./transpose\"),invert:t(\"./invert\"),adjoint:t(\"./adjoint\"),determinant:t(\"./determinant\"),multiply:t(\"./multiply\"),translate:t(\"./translate\"),scale:t(\"./scale\"),rotate:t(\"./rotate\"),rotateX:t(\"./rotateX\"),rotateY:t(\"./rotateY\"),rotateZ:t(\"./rotateZ\"),fromRotation:t(\"./fromRotation\"),fromRotationTranslation:t(\"./fromRotationTranslation\"),fromScaling:t(\"./fromScaling\"),fromTranslation:t(\"./fromTranslation\"),fromXRotation:t(\"./fromXRotation\"),fromYRotation:t(\"./fromYRotation\"),fromZRotation:t(\"./fromZRotation\"),fromQuat:t(\"./fromQuat\"),frustum:t(\"./frustum\"),perspective:t(\"./perspective\"),perspectiveFromFieldOfView:t(\"./perspectiveFromFieldOfView\"),ortho:t(\"./ortho\"),lookAt:t(\"./lookAt\"),str:t(\"./str\")}},{\"./adjoint\":195,\"./clone\":196,\"./copy\":197,\"./create\":198,\"./determinant\":199,\"./fromQuat\":200,\"./fromRotation\":201,\"./fromRotationTranslation\":202,\"./fromScaling\":203,\"./fromTranslation\":204,\"./fromXRotation\":205,\"./fromYRotation\":206,\"./fromZRotation\":207,\"./frustum\":208,\"./identity\":209,\"./invert\":211,\"./lookAt\":212,\"./multiply\":213,\"./ortho\":214,\"./perspective\":215,\"./perspectiveFromFieldOfView\":216,\"./rotate\":217,\"./rotateX\":218,\"./rotateY\":219,\"./rotateZ\":220,\"./scale\":221,\"./str\":222,\"./translate\":223,\"./transpose\":224}],211:[function(t,e,r){e.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],f=e[9],h=e[10],p=e[11],d=e[12],m=e[13],g=e[14],v=e[15],y=r*s-n*o,x=r*l-i*o,b=r*c-a*o,_=n*l-i*s,w=n*c-a*s,T=i*c-a*l,k=u*m-f*d,A=u*g-h*d,M=u*v-p*d,S=f*g-h*m,E=f*v-p*m,L=h*v-p*g,C=y*L-x*E+b*S+_*M-w*A+T*k;if(!C)return null;return C=1/C,t[0]=(s*L-l*E+c*S)*C,t[1]=(i*E-n*L-a*S)*C,t[2]=(m*T-g*w+v*_)*C,t[3]=(h*w-f*T-p*_)*C,t[4]=(l*M-o*L-c*A)*C,t[5]=(r*L-i*M+a*A)*C,t[6]=(g*b-d*T-v*x)*C,t[7]=(u*T-h*b+p*x)*C,t[8]=(o*E-s*M+c*k)*C,t[9]=(n*M-r*E-a*k)*C,t[10]=(d*w-m*b+v*y)*C,t[11]=(f*b-u*w-p*y)*C,t[12]=(s*A-o*S-l*k)*C,t[13]=(r*S-n*A+i*k)*C,t[14]=(m*x-d*_-g*y)*C,t[15]=(u*_-f*x+h*y)*C,t}},{}],212:[function(t,e,r){var n=t(\"./identity\");e.exports=function(t,e,r,i){var a,o,s,l,c,u,f,h,p,d,m=e[0],g=e[1],v=e[2],y=i[0],x=i[1],b=i[2],_=r[0],w=r[1],T=r[2];if(Math.abs(m-_)<1e-6&&Math.abs(g-w)<1e-6&&Math.abs(v-T)<1e-6)return n(t);f=m-_,h=g-w,p=v-T,d=1/Math.sqrt(f*f+h*h+p*p),a=x*(p*=d)-b*(h*=d),o=b*(f*=d)-y*p,s=y*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,c=p*a-f*s,u=f*o-h*a,(d=Math.sqrt(l*l+c*c+u*u))?(l*=d=1/d,c*=d,u*=d):(l=0,c=0,u=0);return t[0]=a,t[1]=l,t[2]=f,t[3]=0,t[4]=o,t[5]=c,t[6]=h,t[7]=0,t[8]=s,t[9]=u,t[10]=p,t[11]=0,t[12]=-(a*m+o*g+s*v),t[13]=-(l*m+c*g+u*v),t[14]=-(f*m+h*g+p*v),t[15]=1,t}},{\"./identity\":209}],213:[function(t,e,r){e.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],f=e[8],h=e[9],p=e[10],d=e[11],m=e[12],g=e[13],v=e[14],y=e[15],x=r[0],b=r[1],_=r[2],w=r[3];return t[0]=x*n+b*s+_*f+w*m,t[1]=x*i+b*l+_*h+w*g,t[2]=x*a+b*c+_*p+w*v,t[3]=x*o+b*u+_*d+w*y,x=r[4],b=r[5],_=r[6],w=r[7],t[4]=x*n+b*s+_*f+w*m,t[5]=x*i+b*l+_*h+w*g,t[6]=x*a+b*c+_*p+w*v,t[7]=x*o+b*u+_*d+w*y,x=r[8],b=r[9],_=r[10],w=r[11],t[8]=x*n+b*s+_*f+w*m,t[9]=x*i+b*l+_*h+w*g,t[10]=x*a+b*c+_*p+w*v,t[11]=x*o+b*u+_*d+w*y,x=r[12],b=r[13],_=r[14],w=r[15],t[12]=x*n+b*s+_*f+w*m,t[13]=x*i+b*l+_*h+w*g,t[14]=x*a+b*c+_*p+w*v,t[15]=x*o+b*u+_*d+w*y,t}},{}],214:[function(t,e,r){e.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}},{}],215:[function(t,e,r){e.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}},{}],216:[function(t,e,r){e.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}},{}],217:[function(t,e,r){e.exports=function(t,e,r,n){var i,a,o,s,l,c,u,f,h,p,d,m,g,v,y,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);if(Math.abs(P)<1e-6)return null;E*=P=1/P,L*=P,C*=P,i=Math.sin(r),a=Math.cos(r),o=1-a,s=e[0],l=e[1],c=e[2],u=e[3],f=e[4],h=e[5],p=e[6],d=e[7],m=e[8],g=e[9],v=e[10],y=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+m*_,t[1]=l*x+h*b+g*_,t[2]=c*x+p*b+v*_,t[3]=u*x+d*b+y*_,t[4]=s*w+f*T+m*k,t[5]=l*w+h*T+g*k,t[6]=c*w+p*T+v*k,t[7]=u*w+d*T+y*k,t[8]=s*A+f*M+m*S,t[9]=l*A+h*M+g*S,t[10]=c*A+p*M+v*S,t[11]=u*A+d*M+y*S,e!==t&&(t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]);return t}},{}],218:[function(t,e,r){e.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],f=e[10],h=e[11];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]);return t[4]=a*i+c*n,t[5]=o*i+u*n,t[6]=s*i+f*n,t[7]=l*i+h*n,t[8]=c*i-a*n,t[9]=u*i-o*n,t[10]=f*i-s*n,t[11]=h*i-l*n,t}},{}],219:[function(t,e,r){e.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],f=e[10],h=e[11];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]);return t[0]=a*i-c*n,t[1]=o*i-u*n,t[2]=s*i-f*n,t[3]=l*i-h*n,t[8]=a*n+c*i,t[9]=o*n+u*i,t[10]=s*n+f*i,t[11]=l*n+h*i,t}},{}],220:[function(t,e,r){e.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],f=e[6],h=e[7];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]);return t[0]=a*i+c*n,t[1]=o*i+u*n,t[2]=s*i+f*n,t[3]=l*i+h*n,t[4]=c*i-a*n,t[5]=u*i-o*n,t[6]=f*i-s*n,t[7]=h*i-l*n,t}},{}],221:[function(t,e,r){e.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}},{}],222:[function(t,e,r){e.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]+\")\"}},{}],223:[function(t,e,r){e.exports=function(t,e,r){var n,i,a,o,s,l,c,u,f,h,p,d,m=r[0],g=r[1],v=r[2];e===t?(t[12]=e[0]*m+e[4]*g+e[8]*v+e[12],t[13]=e[1]*m+e[5]*g+e[9]*v+e[13],t[14]=e[2]*m+e[6]*g+e[10]*v+e[14],t[15]=e[3]*m+e[7]*g+e[11]*v+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],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]=c,t[7]=u,t[8]=f,t[9]=h,t[10]=p,t[11]=d,t[12]=n*m+s*g+f*v+e[12],t[13]=i*m+l*g+h*v+e[13],t[14]=a*m+c*g+p*v+e[14],t[15]=o*m+u*g+d*v+e[15]);return t}},{}],224:[function(t,e,r){e.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}},{}],225:[function(t,e,r){\"use strict\";var n=t(\"css-font\"),i=t(\"pick-by-alias\"),a=t(\"regl\"),o=t(\"gl-util/context\"),s=t(\"es6-weak-map\"),l=t(\"color-normalize\"),c=t(\"font-atlas\"),u=t(\"typedarray-pool\"),f=t(\"parse-rect\"),h=t(\"is-plain-obj\"),p=t(\"parse-unit\"),d=t(\"to-px\"),m=t(\"detect-kerning\"),g=t(\"object-assign\"),v=t(\"font-measure\"),y=t(\"flatten-vertex-data\"),x=t(\"bit-twiddle\").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=y(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 t=n.parse(n.stringify(t));var i=n.stringify({size:T.baseFontSize,family:t.family,stretch:_?t.stretch:void 0,variant:t.variant,weight:t.weight,style:t.style}),s=p(t.size),l=Math.round(s[0]*d(s[1]));if(l!==e.fontSize[r]&&(o=!0,e.fontSize[r]=l),!(e.font[r]&&i==e.font[r].baseString||(a=!0,e.font[r]=T.fonts[i],e.font[r]))){var c=t.family.join(\", \"),u=[t.style];t.style!=t.variant&&u.push(t.variant),t.variant!=t.weight&&u.push(t.weight),_&&t.weight!=t.stretch&&u.push(t.stretch),e.font[r]={baseString:i,family:c,weight:t.weight,stretch:t.stretch,style:t.style,variant:t.variant,width:{},kerning:{},metrics:v(c,{origin:\"top\",fontSize:T.baseFontSize,fontStyle:u.join(\" \")})},T.fonts[i]=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;h<s.length;h++)s[h]=t.text;t.text=s}if(null!=t.text||a){if(this.textOffsets=[0],Array.isArray(t.text)){this.count=t.text[0].length,this.counts=[this.count];for(var b=1;b<t.text.length;b++)this.textOffsets[b]=this.textOffsets[b-1]+t.text[b-1].length,this.count+=t.text[b].length,this.counts.push(t.text[b].length);this.text=t.text.join(\"\")}else this.text=t.text,this.count=this.text.length,this.counts=[this.count];r=[],this.font.forEach((function(t,n){T.atlasContext.font=t.baseString;for(var i=e.fontAtlas[n],a=0;a<e.text.length;a++){var o=e.text.charAt(a);if(null==i.ids[o]&&(i.ids[o]=i.chars.length,i.chars.push(o),r.push(o)),null==t.width[o]&&(t.width[o]=T.atlasContext.measureText(o).width/T.baseFontSize,e.kerning)){var s=[];for(var l in t.width)s.push(l+o,o+l);g(t.kerning,m(t.family,{pairs:s}))}}}))}if(t.position)if(t.position.length>2){for(var w=!t.position[0].length,k=u.mallocFloat(2*this.count),A=0,M=0;A<this.counts.length;A++){var S=this.counts[A];if(w)for(var E=0;E<S;E++)k[M++]=t.position[2*A],k[M++]=t.position[2*A+1];else for(var L=0;L<S;L++)k[M++]=t.position[A][0],k[M++]=t.position[A][1]}this.position.call?this.position({type:\"float\",data:k}):this.position=this.regl.buffer({type:\"float\",data:k}),u.freeFloat(k)}else this.position.destroy&&this.position.destroy(),this.position={constant:t.position};if(t.text||a){var C=u.mallocUint8(this.count),P=u.mallocFloat(2*this.count);this.textWidth=[];for(var I=0,O=0;I<this.counts.length;I++){for(var z=this.counts[I],D=this.font[I]||this.font[0],R=this.fontAtlas[I]||this.fontAtlas[0],F=0;F<z;F++){var B=this.text.charAt(O),N=this.text.charAt(O-1);if(C[O]=R.ids[B],P[2*O]=D.width[B],F){var j=P[2*O-2],U=P[2*O],V=P[2*O-1]+.5*j+.5*U;if(this.kerning){var H=D.kerning[N+B];H&&(V+=.001*H)}P[2*O+1]=V}else P[2*O+1]=.5*P[2*O];O++}this.textWidth.push(P.length?.5*P[2*O-2]+P[2*O-1]:0)}t.align||(t.align=this.align),this.charBuffer({data:C,type:\"uint8\",usage:\"stream\"}),this.sizeBuffer({data:P,type:\"float\",usage:\"stream\"}),u.freeUint8(C),u.freeFloat(P),r.length&&this.font.forEach((function(t,r){var n=e.fontAtlas[r],i=n.step,a=Math.floor(T.maxAtlasSize/i),o=Math.min(a,n.chars.length),s=Math.ceil(n.chars.length/o),l=x(o*i),u=x(s*i);n.width=l,n.height=u,n.rows=s,n.cols=o,n.em&&n.texture({data:c({canvas:T.atlasCanvas,font:n.fontString,chars:n.chars,shape:[l,u],step:[i,i]})})}))}if(t.align&&(this.align=t.align,this.alignOffset=this.textWidth.map((function(t,r){var n=Array.isArray(e.align)?e.align.length>1?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,i+=\"number\"==typeof t?t-n.baseline:-n[t],i*=-1}))),null!=t.color)if(t.color||(t.color=\"transparent\"),\"string\"!=typeof t.color&&isNaN(t.color)){var q;if(\"number\"==typeof t.color[0]&&t.color.length>this.counts.length){var G=t.color.length;q=u.mallocUint8(G);for(var Y=(t.color.subarray||t.color.slice).bind(t.color),W=0;W<G;W+=4)q.set(l(Y(W,W+4),\"uint8\"),W)}else{var X=t.color.length;q=u.mallocUint8(4*X);for(var Z=0;Z<X;Z++)q.set(l(t.color[Z]||0,\"uint8\"),4*Z)}this.color=q}else this.color=l(t.color,\"uint8\");if(t.position||t.text||t.color||t.baseline||t.align||t.font||t.offset||t.opacity)if(this.color.length>4||this.baselineOffset.length>1||this.align&&this.align.length>1||this.fontAtlas.length>1||this.positionOffset.length>2){var J=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(J);for(var K=0;K<this.batch.length;K++)this.batch[K]={count:this.counts.length>1?this.counts[K]:this.counts[0],offset:this.textOffsets.length>1?this.textOffsets[K]:this.textOffsets[0],color:this.color?this.color.length<=4?this.color:this.color.subarray(4*K,4*K+4):[0,0,0,255],opacity:Array.isArray(this.opacity)?this.opacity[K]:this.opacity,baseline:null!=this.baselineOffset[K]?this.baselineOffset[K]:this.baselineOffset[0],align:this.align?null!=this.alignOffset[K]?this.alignOffset[K]:this.alignOffset[0]:0,atlas:this.fontAtlas[K]||this.fontAtlas[0],positionOffset:this.positionOffset.length>2?this.positionOffset.subarray(2*K,2*K+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={},e.exports=T},{\"bit-twiddle\":81,\"color-normalize\":89,\"css-font\":99,\"detect-kerning\":125,\"es6-weak-map\":183,\"flatten-vertex-data\":191,\"font-atlas\":192,\"font-measure\":193,\"gl-util/context\":226,\"is-plain-obj\":236,\"object-assign\":247,\"parse-rect\":249,\"parse-unit\":251,\"pick-by-alias\":253,regl:283,\"to-px\":314,\"typedarray-pool\":327}],226:[function(t,e,r){(function(r){(function(){\"use strict\";var n=t(\"pick-by-alias\");function i(t){if(t.container)if(t.container==document.body)document.body.style.width||(t.canvas.width=t.width||t.pixelRatio*r.innerWidth),document.body.style.height||(t.canvas.height=t.height||t.pixelRatio*r.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}e.exports=function(t){var e;if(t?\"string\"==typeof t&&(t={container:t}):t={},a(t)?t={container:t}: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),t.pixelRatio||(t.pixelRatio=r.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}}).call(this)}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{\"pick-by-alias\":253}],227:[function(t,e,r){e.exports=function(t){\"string\"==typeof t&&(t=[t]);for(var e=[].slice.call(arguments,1),r=[],n=0;n<t.length-1;n++)r.push(t[n],e[n]||\"\");return r.push(t[n]),r.join(\"\")}},{}],228:[function(t,e,r){(function(r){(function(){\"use strict\";var n,i=t(\"is-browser\");n=\"function\"==typeof r.matchMedia?!r.matchMedia(\"(hover: none)\").matches:i,e.exports=n}).call(this)}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{\"is-browser\":232}],229:[function(t,e,r){\"use strict\";var n=t(\"is-browser\");e.exports=n&&function(){var t=!1;try{var e=Object.defineProperty({},\"passive\",{get:function(){t=!0}});window.addEventListener(\"test\",null,e),window.removeEventListener(\"test\",null,e)}catch(e){t=!1}return t}()},{\"is-browser\":232}],230:[function(t,e,r){r.read=function(t,e,r,n,i){var a,o,s=8*i-n-1,l=(1<<s)-1,c=l>>1,u=-7,f=r?i-1:0,h=r?-1:1,p=t[e+f];for(f+=h,a=p&(1<<-u)-1,p>>=-u,u+=s;u>0;a=256*a+t[e+f],f+=h,u-=8);for(o=a&(1<<-u)-1,a>>=-u,u+=n;u>0;o=256*o+t[e+f],f+=h,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)},r.write=function(t,e,r,n,i,a){var o,s,l,c=8*a-i-1,u=(1<<c)-1,f=u>>1,h=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+f>=1?h/l:h*Math.pow(2,1-f))*l>=2&&(o++,l/=2),o+f>=u?(s=0,o=u):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<<i|s,c+=i;c>0;t[r+p]=255&o,p+=d,o/=256,c-=8);t[r+p-d]|=128*m}},{}],231:[function(t,e,r){\"function\"==typeof Object.create?e.exports=function(t,e){e&&(t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}))}:e.exports=function(t,e){if(e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}}},{}],232:[function(t,e,r){e.exports=!0},{}],233:[function(t,e,r){\"use strict\";e.exports=\"undefined\"!=typeof navigator&&(/MSIE/.test(navigator.userAgent)||/Trident\\//.test(navigator.appVersion))},{}],234:[function(t,e,r){\"use strict\";e.exports=a,e.exports.isMobile=a,e.exports.default=a;var n=/(android|bb\\d+|meego).+mobile|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|symbian|treo|up\\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i,i=/(android|bb\\d+|meego).+mobile|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|symbian|treo|up\\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino|android|ipad|playbook|silk/i;function a(t){t||(t={});var e=t.ua;if(e||\"undefined\"==typeof navigator||(e=navigator.userAgent),e&&e.headers&&\"string\"==typeof e.headers[\"user-agent\"]&&(e=e.headers[\"user-agent\"]),\"string\"!=typeof e)return!1;var r=t.tablet?i.test(e):n.test(e);return!r&&t.tablet&&t.featureDetect&&navigator&&navigator.maxTouchPoints>1&&-1!==e.indexOf(\"Macintosh\")&&-1!==e.indexOf(\"Safari\")&&(r=!0),r}},{}],235:[function(t,e,r){\"use strict\";e.exports=function(t){var e=typeof t;return null!==t&&(\"object\"===e||\"function\"===e)}},{}],236:[function(t,e,r){\"use strict\";var n=Object.prototype.toString;e.exports=function(t){var e;return\"[object Object]\"===n.call(t)&&(null===(e=Object.getPrototypeOf(t))||e===Object.getPrototypeOf({}))}},{}],237:[function(t,e,r){\"use strict\";e.exports=function(t){for(var e,r=t.length,n=0;n<r;n++)if(((e=t.charCodeAt(n))<9||e>13)&&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}},{}],238:[function(t,e,r){\"use strict\";e.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))}},{}],239:[function(t,e,r){!function(t,n){\"object\"==typeof r&&void 0!==e?e.exports=n():(t=t||self).mapboxgl=n()}(this,(function(){\"use strict\";var t,e,r;function n(n,i){if(t)if(e){var a=\"var sharedChunk = {}; (\"+t+\")(sharedChunk); (\"+e+\")(sharedChunk);\",o={};t(o),(r=i(o)).workerUrl=window.URL.createObjectURL(new Blob([a],{type:\"text/javascript\"}))}else e=i;else t=i}return n(0,(function(t){function e(t,e){return t(e={exports:{}},e.exports),e.exports}var r=n;function n(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=n,this.p2x=r,this.p2y=n}n.prototype.sampleCurveX=function(t){return((this.ax*t+this.bx)*t+this.cx)*t},n.prototype.sampleCurveY=function(t){return((this.ay*t+this.by)*t+this.cy)*t},n.prototype.sampleCurveDerivativeX=function(t){return(3*this.ax*t+2*this.bx)*t+this.cx},n.prototype.solveCurveX=function(t,e){var r,n,i,a,o;for(void 0===e&&(e=1e-6),i=t,o=0;o<8;o++){if(a=this.sampleCurveX(i)-t,Math.abs(a)<e)return i;var s=this.sampleCurveDerivativeX(i);if(Math.abs(s)<1e-6)break;i-=a/s}if((i=t)<(r=0))return r;if(i>(n=1))return n;for(;r<n;){if(a=this.sampleCurveX(i),Math.abs(a-t)<e)return i;t>a?r=i:n=i,i=.5*(n-r)+r}return i},n.prototype.solve=function(t,e){return this.sampleCurveY(this.solveCurveX(t,e))};var i=a;function a(t,e){this.x=t,this.y=e}function o(t,e,n,i){var a=new r(t,e,n,i);return function(t){return a.solve(t)}}a.prototype={clone:function(){return new a(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}},a.convert=function(t){return t instanceof a?t:Array.isArray(t)?new a(t[0],t[1]):t};var s=o(.25,.1,.25,1);function l(t,e,r){return Math.min(r,Math.max(e,t))}function c(t,e,r){var n=r-e,i=((t-e)%n+n)%n+e;return i===e?r:i}function u(t){for(var e=[],r=arguments.length-1;r-- >0;)e[r]=arguments[r+1];for(var n=0,i=e;n<i.length;n+=1){var a=i[n];for(var o in a)t[o]=a[o]}return t}var f=1;function h(){return f++}function p(){return function t(e){return e?(e^16*Math.random()>>e/4).toString(16):([1e7]+-[1e3]+-4e3+-8e3+-1e11).replace(/[018]/g,t)}()}function d(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 g(t,e){return-1!==t.indexOf(e,t.length-e.length)}function v(t,e,r){var n={};for(var i in t)n[i]=e.call(r||this,t[i],i,t);return n}function y(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 x(t){return Array.isArray(t)?t.map(x):\"object\"==typeof t&&t?v(t,x):t}var b={};function _(t){b[t]||(\"undefined\"!=typeof console&&console.warn(t),b[t]=!0)}function w(t,e,r){return(r.y-t.y)*(e.x-t.x)>(e.y-t.y)*(r.x-t.x)}function T(t){for(var e=0,r=0,n=t.length,i=n-1,a=void 0,o=void 0;r<n;i=r++)a=t[r],e+=((o=t[i]).x-a.x)*(a.y+o.y);return e}function k(){return\"undefined\"!=typeof WorkerGlobalScope&&\"undefined\"!=typeof self&&self instanceof WorkerGlobalScope}function A(t){var e={};if(t.replace(/(?:^|(?:\\s*\\,\\s*))([^\\x00-\\x20\\(\\)<>@\\,;\\:\\\\\"\\/\\[\\]\\?\\=\\{\\}\\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 M=null;function S(t){if(null==M){var 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}function E(t){try{var e=self[t];return e.setItem(\"_mapbox_test_\",1),e.removeItem(\"_mapbox_test_\"),!0}catch(t){return!1}}var L,C,P,I,O=self.performance&&self.performance.now?self.performance.now.bind(self.performance):Date.now.bind(Date),z=self.requestAnimationFrame||self.mozRequestAnimationFrame||self.webkitRequestAnimationFrame||self.msRequestAnimationFrame,D=self.cancelAnimationFrame||self.mozCancelAnimationFrame||self.webkitCancelAnimationFrame||self.msCancelAnimationFrame,R={now:O,frame:function(t){var e=z(t);return{cancel:function(){return D(e)}}},getImageData:function(t,e){void 0===e&&(e=0);var r=self.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 L||(L=self.document.createElement(\"a\")),L.href=t,L.href},hardwareConcurrency:self.navigator.hardwareConcurrency||4,get devicePixelRatio(){return self.devicePixelRatio},get prefersReducedMotion(){return!!self.matchMedia&&(null==C&&(C=self.matchMedia(\"(prefers-reduced-motion: reduce)\")),C.matches)}},F={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},B={supported:!1,testSupport:function(t){if(N||!I)return;j?U(t):P=t}},N=!1,j=!1;function U(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,I),t.isContextLost())return;B.supported=!0}catch(t){}t.deleteTexture(e),N=!0}self.document&&((I=self.document.createElement(\"img\")).onload=function(){P&&U(P),P=null,j=!0},I.onerror=function(){N=!0,P=null},I.src=\"data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=\");var V=\"01\";var H=function(t,e){this._transformRequestFn=t,this._customAccessToken=e,this._createSkuToken()};function q(t){return 0===t.indexOf(\"mapbox:\")}H.prototype._createSkuToken=function(){var t=function(){for(var t=\"\",e=0;e<10;e++)t+=\"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ\"[Math.floor(62*Math.random())];return{token:[\"1\",V,t].join(\"\"),tokenExpiresAt:Date.now()+432e5}}();this._skuToken=t.token,this._skuTokenExpiresAt=t.tokenExpiresAt},H.prototype._isSkuTokenExpired=function(){return Date.now()>this._skuTokenExpiresAt},H.prototype.transformRequest=function(t,e){return this._transformRequestFn&&this._transformRequestFn(t,e)||{url:t}},H.prototype.normalizeStyleURL=function(t,e){if(!q(t))return t;var r=X(t);return r.path=\"/styles/v1\"+r.path,this._makeAPIURL(r,this._customAccessToken||e)},H.prototype.normalizeGlyphsURL=function(t,e){if(!q(t))return t;var r=X(t);return r.path=\"/fonts/v1\"+r.path,this._makeAPIURL(r,this._customAccessToken||e)},H.prototype.normalizeSourceURL=function(t,e){if(!q(t))return t;var r=X(t);return r.path=\"/v4/\"+r.authority+\".json\",r.params.push(\"secure\"),this._makeAPIURL(r,this._customAccessToken||e)},H.prototype.normalizeSpriteURL=function(t,e,r,n){var i=X(t);return q(t)?(i.path=\"/styles/v1\"+i.path+\"/sprite\"+e+r,this._makeAPIURL(i,this._customAccessToken||n)):(i.path+=\"\"+e+r,Z(i))},H.prototype.normalizeTileURL=function(t,e){if(this._isSkuTokenExpired()&&this._createSkuToken(),t&&!q(t))return t;var r=X(t),n=R.devicePixelRatio>=2||512===e?\"@2x\":\"\",i=B.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<r.length;e+=1){var n=r[e].match(/^access_token=(.*)$/);if(n)return n[1]}return null}(r.params)||F.ACCESS_TOKEN;return F.REQUIRE_ACCESS_TOKEN&&a&&this._skuToken&&r.params.push(\"sku=\"+this._skuToken),this._makeAPIURL(r,a)},H.prototype.canonicalizeTileURL=function(t,e){var r=X(t);if(!r.path.match(/(^\\/v4\\/)/)||!r.path.match(/\\.[\\w]+$/))return t;var n=\"mapbox://tiles/\";n+=r.path.replace(\"/v4/\",\"\");var i=r.params;return e&&(i=i.filter((function(t){return!t.match(/^access_token=/)}))),i.length&&(n+=\"?\"+i.join(\"&\")),n},H.prototype.canonicalizeTileset=function(t,e){for(var r=!!e&&q(e),n=[],i=0,a=t.tiles||[];i<a.length;i+=1){var o=a[i];Y(o)?n.push(this.canonicalizeTileURL(o,r)):n.push(o)}return n},H.prototype._makeAPIURL=function(t,e){var r=\"See https://www.mapbox.com/api-documentation/#access-tokens-and-token-scopes\",n=X(F.API_URL);if(t.protocol=n.protocol,t.authority=n.authority,\"/\"!==n.path&&(t.path=\"\"+n.path+t.path),!F.REQUIRE_ACCESS_TOKEN)return Z(t);if(!(e=e||F.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),Z(t)};var G=/^((https?:)?\\/\\/)?([^\\/]+\\.)?mapbox\\.c(n|om)(\\/|\\?|$)/i;function Y(t){return G.test(t)}var W=/^(\\w+):\\/\\/([^/?]*)(\\/[^?]+)?\\??(.+)?/;function X(t){var e=t.match(W);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 Z(t){var e=t.params.length?\"?\"+t.params.join(\"&\"):\"\";return t.protocol+\"://\"+t.authority+t.path+e}function J(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(self.atob(e).split(\"\").map((function(t){return\"%\"+(\"00\"+t.charCodeAt(0).toString(16)).slice(-2)})).join(\"\"))))}catch(t){return null}}var K=function(t){this.type=t,this.anonId=null,this.eventData={},this.queue=[],this.pendingRequest=null};K.prototype.getStorageKey=function(t){var e,r=J(F.ACCESS_TOKEN),n=\"\";return r&&r.u?(e=r.u,n=self.btoa(encodeURIComponent(e).replace(/%([0-9A-F]{2})/g,(function(t,e){return String.fromCharCode(Number(\"0x\"+e))})))):n=F.ACCESS_TOKEN||\"\",t?\"mapbox.eventData.\"+t+\":\"+n:\"mapbox.eventData:\"+n},K.prototype.fetchEventData=function(){var t=E(\"localStorage\"),e=this.getStorageKey(),r=this.getStorageKey(\"uuid\");if(t)try{var n=self.localStorage.getItem(e);n&&(this.eventData=JSON.parse(n));var i=self.localStorage.getItem(r);i&&(this.anonId=i)}catch(t){_(\"Unable to read from LocalStorage\")}},K.prototype.saveEventData=function(){var t=E(\"localStorage\"),e=this.getStorageKey(),r=this.getStorageKey(\"uuid\");if(t)try{self.localStorage.setItem(r,this.anonId),Object.keys(this.eventData).length>=1&&self.localStorage.setItem(e,JSON.stringify(this.eventData))}catch(t){_(\"Unable to write to LocalStorage\")}},K.prototype.processRequests=function(t){},K.prototype.postEvent=function(t,e,r,n){var i=this;if(F.EVENTS_URL){var a=X(F.EVENTS_URL);a.params.push(\"access_token=\"+(n||F.ACCESS_TOKEN||\"\"));var o={event:this.type,created:new Date(t).toISOString(),sdkIdentifier:\"mapbox-gl-js\",sdkVersion:\"1.10.1\",skuId:V,userId:this.anonId},s=e?u(o,e):o,l={url:Z(a),headers:{\"Content-Type\":\"text/plain\"},body:JSON.stringify([s])};this.pendingRequest=bt(l,(function(t){i.pendingRequest=null,r(t),i.saveEventData(),i.processRequests(n)}))}},K.prototype.queueRequest=function(t,e){this.queue.push(t),this.processRequests(e)};var Q,$,tt=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,(F.EVENTS_URL&&n||F.ACCESS_TOKEN&&Array.isArray(t)&&t.some((function(t){return q(t)||Y(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(),d(this.anonId)||(this.anonId=p()),this.postEvent(i,{skuToken:this.skuToken},(function(t){t||n&&(e.success[n]=!0)}),t))}},e}(K),et=new(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){F.EVENTS_URL&&F.ACCESS_TOKEN&&Array.isArray(t)&&t.some((function(t){return q(t)||Y(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=J(F.ACCESS_TOKEN),n=r?r.u:F.ACCESS_TOKEN,i=n!==this.eventData.tokenU;d(this.anonId)||(this.anonId=p(),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}(K)),rt=et.postTurnstileEvent.bind(et),nt=new tt,it=nt.postMapLoadEvent.bind(nt),at=500,ot=50;function st(){self.caches&&!Q&&(Q=self.caches.open(\"mapbox-tiles\"))}function lt(t,e,r){if(st(),Q){var n={status:e.status,statusText:e.statusText,headers:new self.Headers};e.headers.forEach((function(t,e){return n.headers.set(e,t)}));var i=A(e.headers.get(\"Cache-Control\")||\"\");if(!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()-r<42e4||function(t,e){if(void 0===$)try{new Response(new ReadableStream),$=!0}catch(t){$=!1}$?e(t.body):t.blob().then(e)}(e,(function(e){var r=new self.Response(e,n);st(),Q&&Q.then((function(e){return e.put(ct(t.url),r)})).catch((function(t){return _(t.message)}))}))}}function ct(t){var e=t.indexOf(\"?\");return e<0?t:t.slice(0,e)}function ut(t,e){if(st(),!Q)return e(null);var r=ct(t.url);Q.then((function(t){t.match(r).then((function(n){var i=function(t){if(!t)return!1;var e=new Date(t.headers.get(\"Expires\")||0),r=A(t.headers.get(\"Cache-Control\")||\"\");return e>Date.now()&&!r[\"no-cache\"]}(n);t.delete(r),i&&t.put(r,n.clone()),e(null,n,i)})).catch(e)})).catch(e)}var ft,ht=1/0;function pt(){return null==ft&&(ft=self.OffscreenCanvas&&new self.OffscreenCanvas(1,1).getContext(\"2d\")&&\"function\"==typeof self.createImageBitmap),ft}var dt={Unknown:\"Unknown\",Style:\"Style\",Source:\"Source\",Tile:\"Tile\",Glyphs:\"Glyphs\",SpriteImage:\"SpriteImage\",SpriteJSON:\"SpriteJSON\",Image:\"Image\"};\"function\"==typeof Object.freeze&&Object.freeze(dt);var mt=function(t){function e(e,r,n){401===r&&Y(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),gt=k()?function(){return self.worker&&self.worker.referrer}:function(){return(\"blob:\"===self.location.protocol?self.parent:self).location.href};function vt(t,e){var r,n=new self.AbortController,i=new self.Request(t.url,{method:t.method||\"GET\",body:t.body,credentials:t.credentials,headers:t.headers,referrer:gt(),signal:n.signal}),a=!1,o=!1,s=(r=i.url).indexOf(\"sku=\")>0&&Y(r);\"json\"===t.type&&i.headers.set(\"Accept\",\"application/json\");var l=function(r,n,a){if(!o){if(r&&\"SecurityError\"!==r.message&&_(r),n&&a)return c(n);var l=Date.now();self.fetch(i).then((function(r){if(r.ok){var n=s?r.clone():null;return c(r,n,l)}return e(new mt(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&&lt(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 s?ut(i,l):l(null,null),{cancel:function(){o=!0,a||n.abort()}}}var yt=function(t,e){if(r=t.url,!(/^file:/.test(r)||/^file:/.test(gt())&&!/^\\w+:/.test(r))){if(self.fetch&&self.Request&&self.AbortController&&self.Request.prototype.hasOwnProperty(\"signal\"))return vt(t,e);if(k()&&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 self.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 mt(r.statusText,r.status,t.url))},r.send(t.body),{cancel:function(){return r.abort()}}}(t,e)},xt=function(t,e){return yt(u(t,{type:\"arrayBuffer\"}),e)},bt=function(t,e){return yt(u(t,{method:\"POST\"}),e)};var _t,wt;_t=[],wt=0;var Tt=function(t,e){if(B.supported&&(t.headers||(t.headers={}),t.headers.accept=\"image/webp,*/*\"),wt>=F.MAX_PARALLEL_IMAGE_REQUESTS){var r={requestParameters:t,callback:e,cancelled:!1,cancel:function(){this.cancelled=!0}};return _t.push(r),r}wt++;var n=!1,i=function(){if(!n)for(n=!0,wt--;_t.length&&wt<F.MAX_PARALLEL_IMAGE_REQUESTS;){var t=_t.shift(),e=t.requestParameters,r=t.callback;t.cancelled||(t.cancel=Tt(e,r).cancel)}},a=xt(t,(function(t,r,n,a){i(),t?e(t):r&&(pt()?function(t,e){var r=new self.Blob([new Uint8Array(t)],{type:\"image/png\"});self.createImageBitmap(r).then((function(t){e(null,t)})).catch((function(t){e(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.\"))}))}(r,e):function(t,e,r,n){var i=new self.Image,a=self.URL;i.onload=function(){e(null,i),a.revokeObjectURL(i.src)},i.onerror=function(){return e(new Error(\"Could not load image. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.\"))};var o=new self.Blob([new Uint8Array(t)],{type:\"image/png\"});i.cacheControl=r,i.expires=n,i.src=t.byteLength?a.createObjectURL(o):\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=\"}(r,e,n,a))}));return{cancel:function(){a.cancel(),i()}}};function kt(t,e,r){r[t]&&-1!==r[t].indexOf(e)||(r[t]=r[t]||[],r[t].push(e))}function At(t,e,r){if(r&&r[t]){var n=r[t].indexOf(e);-1!==n&&r[t].splice(n,1)}}var Mt=function(t,e){void 0===e&&(e={}),u(this,e),this.type=t},St=function(t){function e(e,r){void 0===r&&(r={}),t.call(this,\"error\",u({error:e},r))}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(Mt),Et=function(){};Et.prototype.on=function(t,e){return this._listeners=this._listeners||{},kt(t,e,this._listeners),this},Et.prototype.off=function(t,e){return At(t,e,this._listeners),At(t,e,this._oneTimeListeners),this},Et.prototype.once=function(t,e){return this._oneTimeListeners=this._oneTimeListeners||{},kt(t,e,this._oneTimeListeners),this},Et.prototype.fire=function(t,e){\"string\"==typeof t&&(t=new Mt(t,e||{}));var r=t.type;if(this.listens(r)){t.target=this;for(var n=0,i=this._listeners&&this._listeners[r]?this._listeners[r].slice():[];n<i.length;n+=1){i[n].call(this,t)}for(var a=0,o=this._oneTimeListeners&&this._oneTimeListeners[r]?this._oneTimeListeners[r].slice():[];a<o.length;a+=1){var s=o[a];At(r,s,this._oneTimeListeners),s.call(this,t)}var l=this._eventedParent;l&&(u(t,\"function\"==typeof this._eventedParentData?this._eventedParentData():this._eventedParentData),l.fire(t))}else t instanceof St&&console.error(t.error);return this},Et.prototype.listens=function(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)},Et.prototype.setEventedParent=function(t,e){return this._eventedParent=t,this._eventedParentData=e,this};var Lt={$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\"},\"*\":{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\"},\"*\":{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\"},\"*\":{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},tolerance:{type:\"number\",default:.375},cluster:{type:\"boolean\",default:!1},clusterRadius:{type:\"number\",default:50,minimum:0},clusterMaxZoom:{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},expression_name:{type:\"enum\",values:{let:{group:\"Variable binding\"},var:{group:\"Variable binding\"},literal:{group:\"Types\"},array:{group:\"Types\"},at:{group:\"Lookup\"},in:{group:\"Lookup\"},\"index-of\":{group:\"Lookup\"},slice:{group:\"Lookup\"},case:{group:\"Decision\"},match:{group:\"Decision\"},coalesce:{group:\"Decision\"},step:{group:\"Ramps, scales, curves\"},interpolate:{group:\"Ramps, scales, curves\"},\"interpolate-hcl\":{group:\"Ramps, scales, curves\"},\"interpolate-lab\":{group:\"Ramps, scales, curves\"},ln2:{group:\"Math\"},pi:{group:\"Math\"},e:{group:\"Math\"},typeof:{group:\"Types\"},string:{group:\"Types\"},number:{group:\"Types\"},boolean:{group:\"Types\"},object:{group:\"Types\"},collator:{group:\"Types\"},format:{group:\"Types\"},image:{group:\"Types\"},\"number-format\":{group:\"Types\"},\"to-string\":{group:\"Types\"},\"to-number\":{group:\"Types\"},\"to-boolean\":{group:\"Types\"},\"to-rgba\":{group:\"Color\"},\"to-color\":{group:\"Types\"},rgb:{group:\"Color\"},rgba:{group:\"Color\"},get:{group:\"Lookup\"},has:{group:\"Lookup\"},length:{group:\"Lookup\"},properties:{group:\"Feature data\"},\"feature-state\":{group:\"Feature data\"},\"geometry-type\":{group:\"Feature data\"},id:{group:\"Feature data\"},zoom:{group:\"Zoom\"},\"heatmap-density\":{group:\"Heatmap\"},\"line-progress\":{group:\"Feature data\"},accumulated:{group:\"Feature data\"},\"+\":{group:\"Math\"},\"*\":{group:\"Math\"},\"-\":{group:\"Math\"},\"/\":{group:\"Math\"},\"%\":{group:\"Math\"},\"^\":{group:\"Math\"},sqrt:{group:\"Math\"},log10:{group:\"Math\"},ln:{group:\"Math\"},log2:{group:\"Math\"},sin:{group:\"Math\"},cos:{group:\"Math\"},tan:{group:\"Math\"},asin:{group:\"Math\"},acos:{group:\"Math\"},atan:{group:\"Math\"},min:{group:\"Math\"},max:{group:\"Math\"},round:{group:\"Math\"},abs:{group:\"Math\"},ceil:{group:\"Math\"},floor:{group:\"Math\"},distance:{group:\"Math\"},\"==\":{group:\"Decision\"},\"!=\":{group:\"Decision\"},\">\":{group:\"Decision\"},\"<\":{group:\"Decision\"},\">=\":{group:\"Decision\"},\"<=\":{group:\"Decision\"},all:{group:\"Decision\"},any:{group:\"Decision\"},\"!\":{group:\"Decision\"},within:{group:\"Decision\"},\"is-supported-script\":{group:\"String\"},upcase:{group:\"String\"},downcase:{group:\"String\"},concat:{group:\"String\"},\"resolved-locale\":{group:\"String\"}}},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\"}}},Ct=function(t,e,r,n){this.message=(t?t+\": \":\"\")+r,n&&(this.identifier=n),null!=e&&e.__line__&&(this.line=e.__line__)};function Pt(t){var e=t.key,r=t.value;return r?[new Ct(e,r,\"constants have been deprecated as of v8\")]:[]}function It(t){for(var e=[],r=arguments.length-1;r-- >0;)e[r]=arguments[r+1];for(var n=0,i=e;n<i.length;n+=1){var a=i[n];for(var o in a)t[o]=a[o]}return t}function Ot(t){return t instanceof Number||t instanceof String||t instanceof Boolean?t.valueOf():t}function zt(t){if(Array.isArray(t))return t.map(zt);if(t instanceof Object&&!(t instanceof Number||t instanceof String||t instanceof Boolean)){var e={};for(var r in t)e[r]=zt(t[r]);return e}return Ot(t)}var Dt=function(t){function e(e,r){t.call(this,r),this.message=r,this.key=e}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(Error),Rt=function(t,e){void 0===e&&(e=[]),this.parent=t,this.bindings={};for(var r=0,n=e;r<n.length;r+=1){var i=n[r],a=i[0],o=i[1];this.bindings[a]=o}};Rt.prototype.concat=function(t){return new Rt(this,t)},Rt.prototype.get=function(t){if(this.bindings[t])return this.bindings[t];if(this.parent)return this.parent.get(t);throw new Error(t+\" not found in scope.\")},Rt.prototype.has=function(t){return!!this.bindings[t]||!!this.parent&&this.parent.has(t)};var Ft={kind:\"null\"},Bt={kind:\"number\"},Nt={kind:\"string\"},jt={kind:\"boolean\"},Ut={kind:\"color\"},Vt={kind:\"object\"},Ht={kind:\"value\"},qt={kind:\"collator\"},Gt={kind:\"formatted\"},Yt={kind:\"resolvedImage\"};function Wt(t,e){return{kind:\"array\",itemType:t,N:e}}function Xt(t){if(\"array\"===t.kind){var e=Xt(t.itemType);return\"number\"==typeof t.N?\"array<\"+e+\", \"+t.N+\">\":\"value\"===t.itemType.kind?\"array\":\"array<\"+e+\">\"}return t.kind}var Zt=[Ft,Bt,Nt,jt,Ut,Gt,Vt,Wt(Ht),Yt];function Jt(t,e){if(\"error\"===e.kind)return null;if(\"array\"===t.kind){if(\"array\"===e.kind&&(0===e.N&&\"value\"===e.itemType.kind||!Jt(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=Zt;r<n.length;r+=1){if(!Jt(n[r],e))return null}}return\"Expected \"+Xt(t)+\" but found \"+Xt(e)+\" instead.\"}function Kt(t,e){return e.some((function(e){return e.kind===t.kind}))}function Qt(t,e){return e.some((function(e){return\"null\"===e?null===t:\"array\"===e?Array.isArray(t):\"object\"===e?t&&!Array.isArray(t)&&\"object\"==typeof t:e===typeof t}))}var $t=e((function(t,e){var r={transparent:[0,0,0,0],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],rebeccapurple:[102,51,153,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1]};function n(t){return(t=Math.round(t))<0?0:t>255?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),f=i.substr(l+1,c-(l+1)).split(\",\"),h=1;switch(u){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]),m=o(f[2]),g=m<=.5?m*(d+1):m+d-m*d,v=2*m-g;return[n(255*s(v,g,p+1/3)),n(255*s(v,g,p)),n(255*s(v,g,p-1/3)),h];default:return null}}return null}}catch(t){}})).parseCSSColor,te=function(t,e,r,n){void 0===n&&(n=1),this.r=t,this.g=e,this.b=r,this.a=n};te.parse=function(t){if(t){if(t instanceof te)return t;if(\"string\"==typeof t){var e=$t(t);if(e)return new te(e[0]/255*e[3],e[1]/255*e[3],e[2]/255*e[3],e[3])}}},te.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+\")\"},te.prototype.toArray=function(){var t=this.r,e=this.g,r=this.b,n=this.a;return 0===n?[0,0,0,0]:[255*t/n,255*e/n,255*r/n,n]},te.black=new te(0,0,0,1),te.white=new te(1,1,1,1),te.transparent=new te(0,0,0,0),te.red=new te(1,0,0,1);var ee=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\"})};ee.prototype.compare=function(t,e){return this.collator.compare(t,e)},ee.prototype.resolvedLocale=function(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale};var re=function(t,e,r,n,i){this.text=t,this.image=e,this.scale=r,this.fontStack=n,this.textColor=i},ne=function(t){this.sections=t};ne.fromString=function(t){return new ne([new re(t,null,null,null,null)])},ne.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}))},ne.factory=function(t){return t instanceof ne?t:ne.fromString(t)},ne.prototype.toString=function(){return 0===this.sections.length?\"\":this.sections.map((function(t){return t.text})).join(\"\")},ne.prototype.serialize=function(){for(var t=[\"format\"],e=0,r=this.sections;e<r.length;e+=1){var n=r[e];if(n.image)t.push([\"image\",n.image.name]);else{t.push(n.text);var i={};n.fontStack&&(i[\"text-font\"]=[\"literal\",n.fontStack.split(\",\")]),n.scale&&(i[\"font-scale\"]=n.scale),n.textColor&&(i[\"text-color\"]=[\"rgba\"].concat(n.textColor.toArray())),t.push(i)}}return t};var ie=function(t){this.name=t.name,this.available=t.available};function ae(t,e,r,n){return\"number\"==typeof t&&t>=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 oe(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 te)return!0;if(t instanceof ee)return!0;if(t instanceof ne)return!0;if(t instanceof ie)return!0;if(Array.isArray(t)){for(var e=0,r=t;e<r.length;e+=1){if(!oe(r[e]))return!1}return!0}if(\"object\"==typeof t){for(var n in t)if(!oe(t[n]))return!1;return!0}return!1}function se(t){if(null===t)return Ft;if(\"string\"==typeof t)return Nt;if(\"boolean\"==typeof t)return jt;if(\"number\"==typeof t)return Bt;if(t instanceof te)return Ut;if(t instanceof ee)return qt;if(t instanceof ne)return Gt;if(t instanceof ie)return Yt;if(Array.isArray(t)){for(var e,r=t.length,n=0,i=t;n<i.length;n+=1){var a=se(i[n]);if(e){if(e===a)continue;e=Ht;break}e=a}return Wt(e||Ht,r)}return Vt}function le(t){var e=typeof t;return null===t?\"\":\"string\"===e||\"number\"===e||\"boolean\"===e?String(t):t instanceof te||t instanceof ne||t instanceof ie?t.toString():JSON.stringify(t)}ie.prototype.toString=function(){return this.name},ie.fromString=function(t){return t?new ie({name:t,available:!1}):null},ie.prototype.serialize=function(){return[\"image\",this.name]};var ce=function(t,e){this.type=t,this.value=e};ce.parse=function(t,e){if(2!==t.length)return e.error(\"'literal' expression requires exactly one argument, but found \"+(t.length-1)+\" instead.\");if(!oe(t[1]))return e.error(\"invalid value\");var r=t[1],n=se(r),i=e.expectedType;return\"array\"!==n.kind||0!==n.N||!i||\"array\"!==i.kind||\"number\"==typeof i.N&&0!==i.N||(n=i),new ce(n,r)},ce.prototype.evaluate=function(){return this.value},ce.prototype.eachChild=function(){},ce.prototype.outputDefined=function(){return!0},ce.prototype.serialize=function(){return\"array\"===this.type.kind||\"object\"===this.type.kind?[\"literal\",this.value]:this.value instanceof te?[\"rgba\"].concat(this.value.toArray()):this.value instanceof ne?this.value.serialize():this.value};var ue=function(t){this.name=\"ExpressionEvaluationError\",this.message=t};ue.prototype.toJSON=function(){return this.message};var fe={string:Nt,number:Bt,boolean:jt,object:Vt},he=function(t,e){this.type=t,this.args=e};he.parse=function(t,e){if(t.length<2)return e.error(\"Expected at least one argument.\");var r,n=1,i=t[0];if(\"array\"===i){var a,o;if(t.length>2){var s=t[1];if(\"string\"!=typeof s||!(s in fe)||\"object\"===s)return e.error('The item type argument of \"array\" must be one of string, number, boolean',1);a=fe[s],n++}else a=Ht;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=Wt(a,o)}else r=fe[i];for(var l=[];n<t.length;n++){var c=e.parse(t[n],n,Ht);if(!c)return null;l.push(c)}return new he(r,l)},he.prototype.evaluate=function(t){for(var e=0;e<this.args.length;e++){var r=this.args[e].evaluate(t);if(!Jt(this.type,se(r)))return r;if(e===this.args.length-1)throw new ue(\"Expected value to be of type \"+Xt(this.type)+\", but found \"+Xt(se(r))+\" instead.\")}return null},he.prototype.eachChild=function(t){this.args.forEach(t)},he.prototype.outputDefined=function(){return this.args.every((function(t){return t.outputDefined()}))},he.prototype.serialize=function(){var t=this.type,e=[t.kind];if(\"array\"===t.kind){var r=t.itemType;if(\"string\"===r.kind||\"number\"===r.kind||\"boolean\"===r.kind){e.push(r.kind);var n=t.N;(\"number\"==typeof n||this.args.length>1)&&e.push(n)}}return e.concat(this.args.map((function(t){return t.serialize()})))};var pe=function(t){this.type=Gt,this.sections=t};pe.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,Bt)))return null;var l=null;if(o[\"text-font\"]&&!(l=e.parse(o[\"text-font\"],1,Wt(Nt))))return null;var c=null;if(o[\"text-color\"]&&!(c=e.parse(o[\"text-color\"],1,Ut)))return null;var u=n[n.length-1];u.scale=s,u.font=l,u.textColor=c}else{var f=e.parse(t[a],1,Ht);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 pe(n)},pe.prototype.evaluate=function(t){return new ne(this.sections.map((function(e){var r=e.content.evaluate(t);return se(r)===Yt?new re(\"\",r,null,null,null):new re(le(r),null,e.scale?e.scale.evaluate(t):null,e.font?e.font.evaluate(t).join(\",\"):null,e.textColor?e.textColor.evaluate(t):null)})))},pe.prototype.eachChild=function(t){for(var e=0,r=this.sections;e<r.length;e+=1){var n=r[e];t(n.content),n.scale&&t(n.scale),n.font&&t(n.font),n.textColor&&t(n.textColor)}},pe.prototype.outputDefined=function(){return!1},pe.prototype.serialize=function(){for(var t=[\"format\"],e=0,r=this.sections;e<r.length;e+=1){var n=r[e];t.push(n.content.serialize());var i={};n.scale&&(i[\"font-scale\"]=n.scale.serialize()),n.font&&(i[\"text-font\"]=n.font.serialize()),n.textColor&&(i[\"text-color\"]=n.textColor.serialize()),t.push(i)}return t};var de=function(t){this.type=Yt,this.input=t};de.parse=function(t,e){if(2!==t.length)return e.error(\"Expected two arguments.\");var r=e.parse(t[1],1,Nt);return r?new de(r):e.error(\"No image name provided.\")},de.prototype.evaluate=function(t){var e=this.input.evaluate(t),r=ie.fromString(e);return r&&t.availableImages&&(r.available=t.availableImages.indexOf(e)>-1),r},de.prototype.eachChild=function(t){t(this.input)},de.prototype.outputDefined=function(){return!1},de.prototype.serialize=function(){return[\"image\",this.input.serialize()]};var me={\"to-boolean\":jt,\"to-color\":Ut,\"to-number\":Bt,\"to-string\":Nt},ge=function(t,e){this.type=t,this.args=e};ge.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=me[r],i=[],a=1;a<t.length;a++){var o=e.parse(t[a],a,Ht);if(!o)return null;i.push(o)}return new ge(n,i)},ge.prototype.evaluate=function(t){if(\"boolean\"===this.type.kind)return Boolean(this.args[0].evaluate(t));if(\"color\"===this.type.kind){for(var e,r,n=0,i=this.args;n<i.length;n+=1){if(r=null,(e=i[n].evaluate(t))instanceof te)return e;if(\"string\"==typeof e){var a=t.parseColor(e);if(a)return a}else if(Array.isArray(e)&&!(r=e.length<3||e.length>4?\"Invalid rbga value \"+JSON.stringify(e)+\": expected an array containing either three or four numeric values.\":ae(e[0],e[1],e[2],e[3])))return new te(e[0]/255,e[1]/255,e[2]/255,e[3])}throw new ue(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<l.length;s+=1){if(null===(o=l[s].evaluate(t)))return 0;var c=Number(o);if(!isNaN(c))return c}throw new ue(\"Could not convert \"+JSON.stringify(o)+\" to number.\")}return\"formatted\"===this.type.kind?ne.fromString(le(this.args[0].evaluate(t))):\"resolvedImage\"===this.type.kind?ie.fromString(le(this.args[0].evaluate(t))):le(this.args[0].evaluate(t))},ge.prototype.eachChild=function(t){this.args.forEach(t)},ge.prototype.outputDefined=function(){return this.args.every((function(t){return t.outputDefined()}))},ge.prototype.serialize=function(){if(\"formatted\"===this.type.kind)return new pe([{content:this.args[0],scale:null,font:null,textColor:null}]).serialize();if(\"resolvedImage\"===this.type.kind)return new de(this.args[0]).serialize();var t=[\"to-\"+this.type.kind];return this.eachChild((function(e){t.push(e.serialize())})),t};var ve=[\"Unknown\",\"Point\",\"LineString\",\"Polygon\"],ye=function(){this.globals=null,this.feature=null,this.featureState=null,this.formattedSection=null,this._parseColorCache={},this.availableImages=null,this.canonical=null};ye.prototype.id=function(){return this.feature&&\"id\"in this.feature?this.feature.id:null},ye.prototype.geometryType=function(){return this.feature?\"number\"==typeof this.feature.type?ve[this.feature.type]:this.feature.type:null},ye.prototype.geometry=function(){return this.feature&&\"geometry\"in this.feature?this.feature.geometry:null},ye.prototype.canonicalID=function(){return this.canonical},ye.prototype.properties=function(){return this.feature&&this.feature.properties||{}},ye.prototype.parseColor=function(t){var e=this._parseColorCache[t];return e||(e=this._parseColorCache[t]=te.parse(t)),e};var xe=function(t,e,r,n){this.name=t,this.type=e,this._evaluate=r,this.args=n};xe.prototype.evaluate=function(t){return this._evaluate(t,this.args)},xe.prototype.eachChild=function(t){this.args.forEach(t)},xe.prototype.outputDefined=function(){return!1},xe.prototype.serialize=function(){return[this.name].concat(this.args.map((function(t){return t.serialize()})))},xe.parse=function(t,e){var r,n=t[0],i=xe.definitions[n];if(!i)return e.error('Unknown expression \"'+n+'\". If you wanted a literal array, use [\"literal\", [...]].',0);for(var a=Array.isArray(i)?i[0]:i.type,o=Array.isArray(i)?[[i[1],i[2]]]:i.overloads,s=o.filter((function(e){var r=e[0];return!Array.isArray(r)||r.length===t.length-1})),l=null,c=0,u=s;c<u.length;c+=1){var f=u[c],h=f[0],p=f[1];l=new Ue(e.registry,e.path,null,e.scope);for(var d=[],m=!1,g=1;g<t.length;g++){var v=t[g],y=Array.isArray(h)?h[g-1]:h.type,x=l.parse(v,1+d.length,y);if(!x){m=!0;break}d.push(x)}if(!m)if(Array.isArray(h)&&h.length!==d.length)l.error(\"Expected \"+h.length+\" arguments, but found \"+d.length+\" instead.\");else{for(var b=0;b<d.length;b++){var _=Array.isArray(h)?h[b]:h.type,w=d[b];l.concat(b+1).checkSubtype(_,w.type)}if(0===l.errors.length)return new xe(n,a,p,d)}}if(1===s.length)(r=e.errors).push.apply(r,l.errors);else{for(var T=(s.length?s:o).map((function(t){var e,r=t[0];return e=r,Array.isArray(e)?\"(\"+e.map(Xt).join(\", \")+\")\":\"(\"+Xt(e.type)+\"...)\"})).join(\" | \"),k=[],A=1;A<t.length;A++){var M=e.parse(t[A],1+k.length);if(!M)return null;k.push(Xt(M.type))}e.error(\"Expected arguments of type \"+T+\", but found (\"+k.join(\", \")+\") instead.\")}return null},xe.register=function(t,e){for(var r in xe.definitions=e,e)t[r]=xe};var be=function(t,e,r){this.type=qt,this.locale=r,this.caseSensitive=t,this.diacriticSensitive=e};be.parse=function(t,e){if(2!==t.length)return e.error(\"Expected one argument.\");var r=t[1];if(\"object\"!=typeof r||Array.isArray(r))return e.error(\"Collator options argument must be an object.\");var n=e.parse(void 0!==r[\"case-sensitive\"]&&r[\"case-sensitive\"],1,jt);if(!n)return null;var i=e.parse(void 0!==r[\"diacritic-sensitive\"]&&r[\"diacritic-sensitive\"],1,jt);if(!i)return null;var a=null;return r.locale&&!(a=e.parse(r.locale,1,Nt))?null:new be(n,i,a)},be.prototype.evaluate=function(t){return new ee(this.caseSensitive.evaluate(t),this.diacriticSensitive.evaluate(t),this.locale?this.locale.evaluate(t):null)},be.prototype.eachChild=function(t){t(this.caseSensitive),t(this.diacriticSensitive),this.locale&&t(this.locale)},be.prototype.outputDefined=function(){return!1},be.prototype.serialize=function(){var t={};return t[\"case-sensitive\"]=this.caseSensitive.serialize(),t[\"diacritic-sensitive\"]=this.diacriticSensitive.serialize(),this.locale&&(t.locale=this.locale.serialize()),[\"collator\",t]};function _e(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 we(t,e){return!(t[0]<=e[0])&&(!(t[2]>=e[2])&&(!(t[1]<=e[1])&&!(t[3]>=e[3])))}function Te(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*8192),Math.round(i*a*8192)]}function ke(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 Ae(t,e){for(var r,n,i,a,o,s,l,c=!1,u=0,f=e.length;u<f;u++)for(var h=e[u],p=0,d=h.length;p<d-1;p++){if(r=t,n=h[p],i=h[p+1],a=void 0,o=void 0,s=void 0,l=void 0,a=r[0]-n[0],o=r[1]-n[1],s=r[0]-i[0],l=r[1]-i[1],a*l-s*o==0&&a*s<=0&&o*l<=0)return!1;ke(t,h[p],h[p+1])&&(c=!c)}return c}function Me(t,e){for(var r=0;r<e.length;r++)if(Ae(t,e[r]))return!0;return!1}function Se(t,e,r,n){var i=t[0]-r[0],a=t[1]-r[1],o=e[0]-r[0],s=e[1]-r[1],l=n[0]-r[0],c=n[1]-r[1],u=i*c-l*a,f=o*c-l*s;return u>0&&f<0||u<0&&f>0}function Ee(t,e,r){for(var n=0,i=r;n<i.length;n+=1)for(var a=i[n],o=0;o<a.length-1;++o)if(s=t,l=e,c=a[o],u=a[o+1],f=void 0,h=void 0,p=void 0,d=void 0,p=[l[0]-s[0],l[1]-s[1]],d=[u[0]-c[0],u[1]-c[1]],0!=(f=d)[0]*(h=p)[1]-f[1]*h[0]&&Se(s,l,c,u)&&Se(c,u,s,l))return!0;var s,l,c,u,f,h,p,d;return!1}function Le(t,e){for(var r=0;r<t.length;++r)if(!Ae(t[r],e))return!1;for(var n=0;n<t.length-1;++n)if(Ee(t[n],t[n+1],e))return!1;return!0}function Ce(t,e){for(var r=0;r<e.length;r++)if(Le(t,e[r]))return!0;return!1}function Pe(t,e,r){for(var n=[],i=0;i<t.length;i++){for(var a=[],o=0;o<t[i].length;o++){var s=Te(t[i][o],r);_e(e,s),a.push(s)}n.push(a)}return n}function Ie(t,e,r){for(var n=[],i=0;i<t.length;i++){var a=Pe(t[i],e,r);n.push(a)}return n}function Oe(t,e,r,n){if(t[0]<r[0]||t[0]>r[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}_e(e,t)}function ze(t,e,r,n){for(var i=8192*Math.pow(2,n.z),a=[8192*n.x,8192*n.y],o=[],s=0,l=t;s<l.length;s+=1)for(var c=0,u=l[s];c<u.length;c+=1){var f=u[c],h=[f.x+a[0],f.y+a[1]];Oe(h,e,r,i),o.push(h)}return o}function De(t,e,r,n){for(var i,a=8192*Math.pow(2,n.z),o=[8192*n.x,8192*n.y],s=[],l=0,c=t;l<c.length;l+=1){for(var u=[],f=0,h=c[l];f<h.length;f+=1){var p=h[f],d=[p.x+o[0],p.y+o[1]];_e(e,d),u.push(d)}s.push(u)}if(e[2]-e[0]<=a/2){(i=e)[0]=i[1]=1/0,i[2]=i[3]=-1/0;for(var m=0,g=s;m<g.length;m+=1)for(var v=0,y=g[m];v<y.length;v+=1){Oe(y[v],e,r,a)}}return s}var Re=function(t,e){this.type=jt,this.geojson=t,this.geometries=e};function Fe(t){if(t instanceof xe){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 Re)return!1;var e=!0;return t.eachChild((function(t){e&&!Fe(t)&&(e=!1)})),e}function Be(t){if(t instanceof xe&&\"feature-state\"===t.name)return!1;var e=!0;return t.eachChild((function(t){e&&!Be(t)&&(e=!1)})),e}function Ne(t,e){if(t instanceof xe&&e.indexOf(t.name)>=0)return!1;var r=!0;return t.eachChild((function(t){r&&!Ne(t,e)&&(r=!1)})),r}Re.parse=function(t,e){if(2!==t.length)return e.error(\"'within' expression requires exactly one argument, but found \"+(t.length-1)+\" instead.\");if(oe(t[1])){var r=t[1];if(\"FeatureCollection\"===r.type)for(var n=0;n<r.features.length;++n){var i=r.features[n].geometry.type;if(\"Polygon\"===i||\"MultiPolygon\"===i)return new Re(r,r.features[n].geometry)}else if(\"Feature\"===r.type){var a=r.geometry.type;if(\"Polygon\"===a||\"MultiPolygon\"===a)return new Re(r,r.geometry)}else if(\"Polygon\"===r.type||\"MultiPolygon\"===r.type)return new Re(r,r)}return e.error(\"'within' expression requires valid geojson object that contains polygon geometry type.\")},Re.prototype.evaluate=function(t){if(null!=t.geometry()&&null!=t.canonicalID()){if(\"Point\"===t.geometryType())return function(t,e){var 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){var a=Pe(e.coordinates,n,i),o=ze(t.geometry(),r,n,i);if(!we(r,n))return!1;for(var s=0,l=o;s<l.length;s+=1){if(!Ae(l[s],a))return!1}}if(\"MultiPolygon\"===e.type){var c=Ie(e.coordinates,n,i),u=ze(t.geometry(),r,n,i);if(!we(r,n))return!1;for(var f=0,h=u;f<h.length;f+=1){if(!Me(h[f],c))return!1}}return!0}(t,this.geometries);if(\"LineString\"===t.geometryType())return function(t,e){var 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){var a=Pe(e.coordinates,n,i),o=De(t.geometry(),r,n,i);if(!we(r,n))return!1;for(var s=0,l=o;s<l.length;s+=1){if(!Le(l[s],a))return!1}}if(\"MultiPolygon\"===e.type){var c=Ie(e.coordinates,n,i),u=De(t.geometry(),r,n,i);if(!we(r,n))return!1;for(var f=0,h=u;f<h.length;f+=1){if(!Ce(h[f],c))return!1}}return!0}(t,this.geometries)}return!1},Re.prototype.eachChild=function(){},Re.prototype.outputDefined=function(){return!0},Re.prototype.serialize=function(){return[\"within\",this.geojson]};var je=function(t,e){this.type=e.type,this.name=t,this.boundExpression=e};je.parse=function(t,e){if(2!==t.length||\"string\"!=typeof t[1])return e.error(\"'var' expression requires exactly one string literal argument.\");var r=t[1];return e.scope.has(r)?new je(r,e.scope.get(r)):e.error('Unknown variable \"'+r+'\". Make sure \"'+r+'\" has been bound in an enclosing \"let\" expression before using it.',1)},je.prototype.evaluate=function(t){return this.boundExpression.evaluate(t)},je.prototype.eachChild=function(){},je.prototype.outputDefined=function(){return!1},je.prototype.serialize=function(){return[\"var\",this.name]};var Ue=function(t,e,r,n,i){void 0===e&&(e=[]),void 0===n&&(n=new Rt),void 0===i&&(i=[]),this.registry=t,this.path=e,this.key=e.map((function(t){return\"[\"+t+\"]\"})).join(\"\"),this.scope=n,this.errors=i,this.expectedType=r};function Ve(t,e){for(var r,n,i=t.length-1,a=0,o=i,s=0;a<=o;)if(r=t[s=Math.floor((a+o)/2)],n=t[s+1],r<=e){if(s===i||e<n)return s;a=s+1}else{if(!(r>e))throw new ue(\"Input is not a number.\");o=s-1}return 0}Ue.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)},Ue.prototype._parse=function(t,e){function r(t,e,r){return\"assert\"===r?new he(e,[t]):\"coerce\"===r?new ge(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 ce)&&\"resolvedImage\"!==a.type.kind&&function t(e){if(e instanceof je)return t(e.boundExpression);if(e instanceof xe&&\"error\"===e.name)return!1;if(e instanceof be)return!1;if(e instanceof Re)return!1;var r=e instanceof ge||e instanceof he,n=!0;if(e.eachChild((function(e){n=r?n&&t(e):n&&e instanceof ce})),!n)return!1;return Fe(e)&&Ne(e,[\"zoom\",\"heatmap-density\",\"line-progress\",\"accumulated\",\"is-supported-script\"])}(a)){var l=new ye;try{a=new ce(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.\")},Ue.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 Ue(this.registry,n,e||null,i,this.errors)},Ue.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 Dt(n,t))},Ue.prototype.checkSubtype=function(t,e){var r=Jt(t,e);return r&&this.error(r),r};var He=function(t,e,r){this.type=t,this.input=e,this.labels=[],this.outputs=[];for(var n=0,i=r;n<i.length;n+=1){var a=i[n],o=a[0],s=a[1];this.labels.push(o),this.outputs.push(s)}};function qe(t,e,r){return t*(1-r)+e*r}He.parse=function(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.\");var r=e.parse(t[1],1,Bt);if(!r)return null;var n=[],i=null;e.expectedType&&\"value\"!==e.expectedType.kind&&(i=e.expectedType);for(var a=1;a<t.length;a+=2){var o=1===a?-1/0:t[a],s=t[a+1],l=a,c=a+1;if(\"number\"!=typeof o)return e.error('Input/output pairs for \"step\" expressions must be defined using literal numeric values (not computed expressions) for the input values.',l);if(n.length&&n[n.length-1][0]>=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 He(i,r,n)},He.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[Ve(e,n)].evaluate(t)},He.prototype.eachChild=function(t){t(this.input);for(var e=0,r=this.outputs;e<r.length;e+=1){t(r[e])}},He.prototype.outputDefined=function(){return this.outputs.every((function(t){return t.outputDefined()}))},He.prototype.serialize=function(){for(var t=[\"step\",this.input.serialize()],e=0;e<this.labels.length;e++)e>0&&t.push(this.labels[e]),t.push(this.outputs[e].serialize());return t};var Ge=Object.freeze({__proto__:null,number:qe,color:function(t,e,r){return new te(qe(t.r,e.r,r),qe(t.g,e.g,r),qe(t.b,e.b,r),qe(t.a,e.a,r))},array:function(t,e,r){return t.map((function(t,n){return qe(t,e[n],r)}))}}),Ye=6/29,We=3*Ye*Ye,Xe=Math.PI/180,Ze=180/Math.PI;function Je(t){return t>.008856451679035631?Math.pow(t,1/3):t/We+4/29}function Ke(t){return t>Ye?t*t*t:We*(t-4/29)}function Qe(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function $e(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function tr(t){var e=$e(t.r),r=$e(t.g),n=$e(t.b),i=Je((.4124564*e+.3575761*r+.1804375*n)/.95047),a=Je((.2126729*e+.7151522*r+.072175*n)/1);return{l:116*a-16,a:500*(i-a),b:200*(a-Je((.0193339*e+.119192*r+.9503041*n)/1.08883)),alpha:t.a}}function er(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=1*Ke(e),r=.95047*Ke(r),n=1.08883*Ke(n),new te(Qe(3.2404542*r-1.5371385*e-.4985314*n),Qe(-.969266*r+1.8760108*e+.041556*n),Qe(.0556434*r-.2040259*e+1.0572252*n),t.alpha)}function rr(t,e,r){var n=e-t;return t+r*(n>180||n<-180?n-360*Math.round(n/360):n)}var nr={forward:tr,reverse:er,interpolate:function(t,e,r){return{l:qe(t.l,e.l,r),a:qe(t.a,e.a,r),b:qe(t.b,e.b,r),alpha:qe(t.alpha,e.alpha,r)}}},ir={forward:function(t){var e=tr(t),r=e.l,n=e.a,i=e.b,a=Math.atan2(i,n)*Ze;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*Xe,r=t.c;return er({l:t.l,a:Math.cos(e)*r,b:Math.sin(e)*r,alpha:t.alpha})},interpolate:function(t,e,r){return{h:rr(t.h,e.h,r),c:qe(t.c,e.c,r),l:qe(t.l,e.l,r),alpha:qe(t.alpha,e.alpha,r)}}},ar=Object.freeze({__proto__:null,lab:nr,hcl:ir}),or=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;a<o.length;a+=1){var s=o[a],l=s[0],c=s[1];this.labels.push(l),this.outputs.push(c)}};function sr(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)}or.interpolationFactor=function(t,e,n,i){var a=0;if(\"exponential\"===t.name)a=sr(e,t.base,n,i);else if(\"linear\"===t.name)a=sr(e,1,n,i);else if(\"cubic-bezier\"===t.name){var o=t.controlPoints;a=new r(o[0],o[1],o[2],o[3]).solve(sr(e,1,n,i))}return a},or.parse=function(t,e){var r=t[0],n=t[1],i=t[2],a=t.slice(3);if(!Array.isArray(n)||0===n.length)return e.error(\"Expected an interpolation type expression.\",1);if(\"linear\"===n[0])n={name:\"linear\"};else if(\"exponential\"===n[0]){var o=n[1];if(\"number\"!=typeof o)return e.error(\"Exponential interpolation requires a numeric base.\",1,1);n={name:\"exponential\",base:o}}else{if(\"cubic-bezier\"!==n[0])return e.error(\"Unknown interpolation type \"+String(n[0]),1,0);var s=n.slice(1);if(4!==s.length||s.some((function(t){return\"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: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,Bt)))return null;var l=[],c=null;\"interpolate-hcl\"===r||\"interpolate-lab\"===r?c=Ut:e.expectedType&&\"value\"!==e.expectedType.kind&&(c=e.expectedType);for(var u=0;u<a.length;u+=2){var f=a[u],h=a[u+1],p=u+3,d=u+4;if(\"number\"!=typeof f)return e.error('Input/output pairs for \"interpolate\" expressions must be defined using literal numeric values (not computed expressions) for the input values.',p);if(l.length&&l[l.length-1][0]>=f)return e.error('Input/output pairs for \"interpolate\" expressions must be arranged with input values in strictly ascending order.',p);var m=e.parse(h,d,c);if(!m)return null;c=c||m.type,l.push([f,m])}return\"number\"===c.kind||\"color\"===c.kind||\"array\"===c.kind&&\"number\"===c.itemType.kind&&\"number\"==typeof c.N?new or(c,r,n,i,l):e.error(\"Type \"+Xt(c)+\" is not interpolatable.\")},or.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=Ve(e,n),o=e[a],s=e[a+1],l=or.interpolationFactor(this.interpolation,n,o,s),c=r[a].evaluate(t),u=r[a+1].evaluate(t);return\"interpolate\"===this.operator?Ge[this.type.kind.toLowerCase()](c,u,l):\"interpolate-hcl\"===this.operator?ir.reverse(ir.interpolate(ir.forward(c),ir.forward(u),l)):nr.reverse(nr.interpolate(nr.forward(c),nr.forward(u),l))},or.prototype.eachChild=function(t){t(this.input);for(var e=0,r=this.outputs;e<r.length;e+=1){t(r[e])}},or.prototype.outputDefined=function(){return this.outputs.every((function(t){return t.outputDefined()}))},or.prototype.serialize=function(){var t;t=\"linear\"===this.interpolation.name?[\"linear\"]:\"exponential\"===this.interpolation.name?1===this.interpolation.base?[\"linear\"]:[\"exponential\",this.interpolation.base]:[\"cubic-bezier\"].concat(this.interpolation.controlPoints);for(var e=[this.operator,t,this.input.serialize()],r=0;r<this.labels.length;r++)e.push(this.labels[r],this.outputs[r].serialize());return e};var lr=function(t,e){this.type=t,this.args=e};lr.parse=function(t,e){if(t.length<2)return e.error(\"Expectected at least one argument.\");var r=null,n=e.expectedType;n&&\"value\"!==n.kind&&(r=n);for(var i=[],a=0,o=t.slice(1);a<o.length;a+=1){var s=o[a],l=e.parse(s,1+i.length,r,void 0,{typeAnnotation:\"omit\"});if(!l)return null;r=r||l.type,i.push(l)}var c=n&&i.some((function(t){return Jt(n,t.type)}));return new lr(c?Ht:r,i)},lr.prototype.evaluate=function(t){for(var e,r=null,n=0,i=0,a=this.args;i<a.length;i+=1){if(n++,(r=a[i].evaluate(t))&&r instanceof ie&&!r.available&&(e||(e=r.name),r=null,n===this.args.length&&(r=e)),null!==r)break}return r},lr.prototype.eachChild=function(t){this.args.forEach(t)},lr.prototype.outputDefined=function(){return this.args.every((function(t){return t.outputDefined()}))},lr.prototype.serialize=function(){var t=[\"coalesce\"];return this.eachChild((function(e){t.push(e.serialize())})),t};var cr=function(t,e){this.type=e.type,this.bindings=[].concat(t),this.result=e};cr.prototype.evaluate=function(t){return this.result.evaluate(t)},cr.prototype.eachChild=function(t){for(var e=0,r=this.bindings;e<r.length;e+=1){t(r[e][1])}t(this.result)},cr.parse=function(t,e){if(t.length<4)return e.error(\"Expected at least 3 arguments, but found \"+(t.length-1)+\" instead.\");for(var r=[],n=1;n<t.length-1;n+=2){var i=t[n];if(\"string\"!=typeof i)return e.error(\"Expected string, but found \"+typeof i+\" instead.\",n);if(/[^a-zA-Z0-9_]/.test(i))return e.error(\"Variable names must contain only alphanumeric characters or '_'.\",n);var a=e.parse(t[n+1],n+1);if(!a)return null;r.push([i,a])}var o=e.parse(t[t.length-1],t.length-1,e.expectedType,r);return o?new cr(r,o):null},cr.prototype.outputDefined=function(){return this.result.outputDefined()},cr.prototype.serialize=function(){for(var t=[\"let\"],e=0,r=this.bindings;e<r.length;e+=1){var n=r[e],i=n[0],a=n[1];t.push(i,a.serialize())}return t.push(this.result.serialize()),t};var ur=function(t,e,r){this.type=t,this.index=e,this.input=r};ur.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,Bt),n=e.parse(t[2],2,Wt(e.expectedType||Ht));if(!r||!n)return null;var i=n.type;return new ur(i.itemType,r,n)},ur.prototype.evaluate=function(t){var e=this.index.evaluate(t),r=this.input.evaluate(t);if(e<0)throw new ue(\"Array index out of bounds: \"+e+\" < 0.\");if(e>=r.length)throw new ue(\"Array index out of bounds: \"+e+\" > \"+(r.length-1)+\".\");if(e!==Math.floor(e))throw new ue(\"Array index must be an integer, but found \"+e+\" instead.\");return r[e]},ur.prototype.eachChild=function(t){t(this.index),t(this.input)},ur.prototype.outputDefined=function(){return!1},ur.prototype.serialize=function(){return[\"at\",this.index.serialize(),this.input.serialize()]};var fr=function(t,e){this.type=jt,this.needle=t,this.haystack=e};fr.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,Ht),n=e.parse(t[2],2,Ht);return r&&n?Kt(r.type,[jt,Nt,Bt,Ft,Ht])?new fr(r,n):e.error(\"Expected first argument to be of type boolean, string, number or null, but found \"+Xt(r.type)+\" instead\"):null},fr.prototype.evaluate=function(t){var e=this.needle.evaluate(t),r=this.haystack.evaluate(t);if(!r)return!1;if(!Qt(e,[\"boolean\",\"string\",\"number\",\"null\"]))throw new ue(\"Expected first argument to be of type boolean, string, number or null, but found \"+Xt(se(e))+\" instead.\");if(!Qt(r,[\"string\",\"array\"]))throw new ue(\"Expected second argument to be of type array or string, but found \"+Xt(se(r))+\" instead.\");return r.indexOf(e)>=0},fr.prototype.eachChild=function(t){t(this.needle),t(this.haystack)},fr.prototype.outputDefined=function(){return!0},fr.prototype.serialize=function(){return[\"in\",this.needle.serialize(),this.haystack.serialize()]};var hr=function(t,e,r){this.type=Bt,this.needle=t,this.haystack=e,this.fromIndex=r};hr.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,Ht),n=e.parse(t[2],2,Ht);if(!r||!n)return null;if(!Kt(r.type,[jt,Nt,Bt,Ft,Ht]))return e.error(\"Expected first argument to be of type boolean, string, number or null, but found \"+Xt(r.type)+\" instead\");if(4===t.length){var i=e.parse(t[3],3,Bt);return i?new hr(r,n,i):null}return new hr(r,n)},hr.prototype.evaluate=function(t){var e=this.needle.evaluate(t),r=this.haystack.evaluate(t);if(!Qt(e,[\"boolean\",\"string\",\"number\",\"null\"]))throw new ue(\"Expected first argument to be of type boolean, string, number or null, but found \"+Xt(se(e))+\" instead.\");if(!Qt(r,[\"string\",\"array\"]))throw new ue(\"Expected second argument to be of type array or string, but found \"+Xt(se(r))+\" instead.\");if(this.fromIndex){var n=this.fromIndex.evaluate(t);return r.indexOf(e,n)}return r.indexOf(e)},hr.prototype.eachChild=function(t){t(this.needle),t(this.haystack),this.fromIndex&&t(this.fromIndex)},hr.prototype.outputDefined=function(){return!1},hr.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 pr=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};pr.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;o<t.length-1;o+=2){var s=t[o],l=t[o+1];Array.isArray(s)||(s=[s]);var c=e.concat(o);if(0===s.length)return c.error(\"Expected at least one branch label.\");for(var u=0,f=s;u<f.length;u+=1){var h=f[u];if(\"number\"!=typeof h&&\"string\"!=typeof h)return c.error(\"Branch labels must be numbers or strings.\");if(\"number\"==typeof h&&Math.abs(h)>Number.MAX_SAFE_INTEGER)return c.error(\"Branch labels must be integers no larger than \"+Number.MAX_SAFE_INTEGER+\".\");if(\"number\"==typeof h&&Math.floor(h)!==h)return c.error(\"Numeric branch labels must be integer values.\");if(r){if(c.checkSubtype(r,se(h)))return null}else r=se(h);if(void 0!==i[String(h)])return c.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,Ht);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 pr(r,n,d,i,a,m):null},pr.prototype.evaluate=function(t){var e=this.input.evaluate(t);return(se(e)===this.inputType&&this.outputs[this.cases[e]]||this.otherwise).evaluate(t)},pr.prototype.eachChild=function(t){t(this.input),this.outputs.forEach(t),t(this.otherwise)},pr.prototype.outputDefined=function(){return this.outputs.every((function(t){return t.outputDefined()}))&&this.otherwise.outputDefined()},pr.prototype.serialize=function(){for(var t=this,e=[\"match\",this.input.serialize()],r=[],n={},i=0,a=Object.keys(this.cases).sort();i<a.length;i+=1){var o=a[i];void 0===(f=n[this.cases[o]])?(n[this.cases[o]]=r.length,r.push([this.cases[o],[o]])):r[f][1].push(o)}for(var s=function(e){return\"number\"===t.inputType.kind?Number(e):e},l=0,c=r;l<c.length;l+=1){var u=c[l],f=u[0],h=u[1];1===h.length?e.push(s(h[0])):e.push(h.map(s)),e.push(this.outputs[outputIndex$1].serialize())}return e.push(this.otherwise.serialize()),e};var dr=function(t,e,r){this.type=t,this.branches=e,this.otherwise=r};dr.parse=function(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.\");var r;e.expectedType&&\"value\"!==e.expectedType.kind&&(r=e.expectedType);for(var n=[],i=1;i<t.length-1;i+=2){var a=e.parse(t[i],i,jt);if(!a)return null;var o=e.parse(t[i+1],i+1,r);if(!o)return null;n.push([a,o]),r=r||o.type}var s=e.parse(t[t.length-1],t.length-1,r);return s?new dr(r,n,s):null},dr.prototype.evaluate=function(t){for(var e=0,r=this.branches;e<r.length;e+=1){var n=r[e],i=n[0],a=n[1];if(i.evaluate(t))return a.evaluate(t)}return this.otherwise.evaluate(t)},dr.prototype.eachChild=function(t){for(var e=0,r=this.branches;e<r.length;e+=1){var n=r[e],i=n[0],a=n[1];t(i),t(a)}t(this.otherwise)},dr.prototype.outputDefined=function(){return this.branches.every((function(t){t[0];return t[1].outputDefined()}))&&this.otherwise.outputDefined()},dr.prototype.serialize=function(){var t=[\"case\"];return this.eachChild((function(e){t.push(e.serialize())})),t};var mr=function(t,e,r,n){this.type=t,this.input=e,this.beginIndex=r,this.endIndex=n};function gr(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 vr(t,e,r,n){return 0===n.compare(e,r)}function yr(t,e,r){var n=\"==\"!==t&&\"!=\"!==t;return function(){function i(t,e,r){this.type=jt,this.lhs=t,this.rhs=e,this.collator=r,this.hasUntypedArgument=\"value\"===t.type.kind||\"value\"===e.type.kind}return i.parse=function(t,e){if(3!==t.length&&4!==t.length)return e.error(\"Expected two or three arguments.\");var r=t[0],a=e.parse(t[1],1,Ht);if(!a)return null;if(!gr(r,a.type))return e.concat(1).error('\"'+r+\"\\\" comparisons are not supported for type '\"+Xt(a.type)+\"'.\");var o=e.parse(t[2],2,Ht);if(!o)return null;if(!gr(r,o.type))return e.concat(2).error('\"'+r+\"\\\" comparisons are not supported for type '\"+Xt(o.type)+\"'.\");if(a.type.kind!==o.type.kind&&\"value\"!==a.type.kind&&\"value\"!==o.type.kind)return e.error(\"Cannot compare types '\"+Xt(a.type)+\"' and '\"+Xt(o.type)+\"'.\");n&&(\"value\"===a.type.kind&&\"value\"!==o.type.kind?a=new he(o.type,[a]):\"value\"!==a.type.kind&&\"value\"===o.type.kind&&(o=new he(a.type,[o])));var 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,qt)))return null}return new i(a,o,s)},i.prototype.evaluate=function(i){var a=this.lhs.evaluate(i),o=this.rhs.evaluate(i);if(n&&this.hasUntypedArgument){var s=se(a),l=se(o);if(s.kind!==l.kind||\"string\"!==s.kind&&\"number\"!==s.kind)throw new ue('Expected arguments for \"'+t+'\" to be (string, string) or (number, number), but found ('+s.kind+\", \"+l.kind+\") instead.\")}if(this.collator&&!n&&this.hasUntypedArgument){var c=se(a),u=se(o);if(\"string\"!==c.kind||\"string\"!==u.kind)return e(i,a,o)}return this.collator?r(i,a,o,this.collator.evaluate(i)):e(i,a,o)},i.prototype.eachChild=function(t){t(this.lhs),t(this.rhs),this.collator&&t(this.collator)},i.prototype.outputDefined=function(){return!0},i.prototype.serialize=function(){var e=[t];return this.eachChild((function(t){e.push(t.serialize())})),e},i}()}mr.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,Ht),n=e.parse(t[2],2,Bt);if(!r||!n)return null;if(!Kt(r.type,[Wt(Ht),Nt,Ht]))return e.error(\"Expected first argument to be of type array or string, but found \"+Xt(r.type)+\" instead\");if(4===t.length){var i=e.parse(t[3],3,Bt);return i?new mr(r.type,r,n,i):null}return new mr(r.type,r,n)},mr.prototype.evaluate=function(t){var e=this.input.evaluate(t),r=this.beginIndex.evaluate(t);if(!Qt(e,[\"string\",\"array\"]))throw new ue(\"Expected first argument to be of type array or string, but found \"+Xt(se(e))+\" instead.\");if(this.endIndex){var n=this.endIndex.evaluate(t);return e.slice(r,n)}return e.slice(r)},mr.prototype.eachChild=function(t){t(this.input),t(this.beginIndex),this.endIndex&&t(this.endIndex)},mr.prototype.outputDefined=function(){return!1},mr.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 xr=yr(\"==\",(function(t,e,r){return e===r}),vr),br=yr(\"!=\",(function(t,e,r){return e!==r}),(function(t,e,r,n){return!vr(0,e,r,n)})),_r=yr(\"<\",(function(t,e,r){return e<r}),(function(t,e,r,n){return n.compare(e,r)<0})),wr=yr(\">\",(function(t,e,r){return e>r}),(function(t,e,r,n){return n.compare(e,r)>0})),Tr=yr(\"<=\",(function(t,e,r){return e<=r}),(function(t,e,r,n){return n.compare(e,r)<=0})),kr=yr(\">=\",(function(t,e,r){return e>=r}),(function(t,e,r,n){return n.compare(e,r)>=0})),Ar=function(t,e,r,n,i){this.type=Nt,this.number=t,this.locale=e,this.currency=r,this.minFractionDigits=n,this.maxFractionDigits=i};Ar.parse=function(t,e){if(3!==t.length)return e.error(\"Expected two arguments.\");var r=e.parse(t[1],1,Bt);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,Nt)))return null;var a=null;if(n.currency&&!(a=e.parse(n.currency,1,Nt)))return null;var o=null;if(n[\"min-fraction-digits\"]&&!(o=e.parse(n[\"min-fraction-digits\"],1,Bt)))return null;var s=null;return n[\"max-fraction-digits\"]&&!(s=e.parse(n[\"max-fraction-digits\"],1,Bt))?null:new Ar(r,i,a,o,s)},Ar.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))},Ar.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)},Ar.prototype.outputDefined=function(){return!1},Ar.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 Mr=function(t){this.type=Bt,this.input=t};Mr.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 \"+Xt(r.type)+\" instead.\"):new Mr(r):null},Mr.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 ue(\"Expected value to be of type string or array, but found \"+Xt(se(e))+\" instead.\")},Mr.prototype.eachChild=function(t){t(this.input)},Mr.prototype.outputDefined=function(){return!1},Mr.prototype.serialize=function(){var t=[\"length\"];return this.eachChild((function(e){t.push(e.serialize())})),t};var Sr={\"==\":xr,\"!=\":br,\">\":wr,\"<\":_r,\">=\":kr,\"<=\":Tr,array:he,at:ur,boolean:he,case:dr,coalesce:lr,collator:be,format:pe,image:de,in:fr,\"index-of\":hr,interpolate:or,\"interpolate-hcl\":or,\"interpolate-lab\":or,length:Mr,let:cr,literal:ce,match:pr,number:he,\"number-format\":Ar,object:he,slice:mr,step:He,string:he,\"to-boolean\":ge,\"to-color\":ge,\"to-number\":ge,\"to-string\":ge,var:je,within:Re};function Er(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=ae(r,n,i,o);if(s)throw new ue(s);return new te(r/255*o,n/255*o,i/255*o,o)}function Lr(t,e){return t in e}function Cr(t,e){var r=e[t];return void 0===r?null:r}function Pr(t){return{type:t}}function Ir(t){return{result:\"success\",value:t}}function Or(t){return{result:\"error\",value:t}}function zr(t){return\"data-driven\"===t[\"property-type\"]||\"cross-faded-data-driven\"===t[\"property-type\"]}function Dr(t){return!!t.expression&&t.expression.parameters.indexOf(\"zoom\")>-1}function Rr(t){return!!t.expression&&t.expression.interpolated}function Fr(t){return t instanceof Number?\"number\":t instanceof String?\"string\":t instanceof Boolean?\"boolean\":Array.isArray(t)?\"array\":null===t?\"null\":typeof t}function Br(t){return\"object\"==typeof t&&null!==t&&!Array.isArray(t)}function Nr(t){return t}function jr(t,e,r){return void 0!==t?t:void 0!==e?e:void 0!==r?r:void 0}function Ur(t,e,r,n,i){return jr(typeof r===i?n[r]:void 0,t.default,e.default)}function Vr(t,e,r){if(\"number\"!==Fr(r))return jr(t.default,e.default);var 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];var i=Ve(t.stops.map((function(t){return t[0]})),r);return t.stops[i][1]}function Hr(t,e,r){var n=void 0!==t.base?t.base:1;if(\"number\"!==Fr(r))return jr(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=Ve(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=Ge[e.type]||Nr;if(t.colorSpace&&\"rgb\"!==t.colorSpace){var u=ar[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 qr(t,e,r){return\"color\"===e.type?r=te.parse(r):\"formatted\"===e.type?r=ne.fromString(r.toString()):\"resolvedImage\"===e.type?r=ie.fromString(r.toString()):Fr(r)===e.type||\"enum\"===e.type&&e.values[r]||(r=void 0),jr(r,t.default,e.default)}xe.register(Sr,{error:[{kind:\"error\"},[Nt],function(t,e){var r=e[0];throw new ue(r.evaluate(t))}],typeof:[Nt,[Ht],function(t,e){return Xt(se(e[0].evaluate(t)))}],\"to-rgba\":[Wt(Bt,4),[Ut],function(t,e){return e[0].evaluate(t).toArray()}],rgb:[Ut,[Bt,Bt,Bt],Er],rgba:[Ut,[Bt,Bt,Bt,Bt],Er],has:{type:jt,overloads:[[[Nt],function(t,e){return Lr(e[0].evaluate(t),t.properties())}],[[Nt,Vt],function(t,e){var r=e[0],n=e[1];return Lr(r.evaluate(t),n.evaluate(t))}]]},get:{type:Ht,overloads:[[[Nt],function(t,e){return Cr(e[0].evaluate(t),t.properties())}],[[Nt,Vt],function(t,e){var r=e[0],n=e[1];return Cr(r.evaluate(t),n.evaluate(t))}]]},\"feature-state\":[Ht,[Nt],function(t,e){return Cr(e[0].evaluate(t),t.featureState||{})}],properties:[Vt,[],function(t){return t.properties()}],\"geometry-type\":[Nt,[],function(t){return t.geometryType()}],id:[Ht,[],function(t){return t.id()}],zoom:[Bt,[],function(t){return t.globals.zoom}],\"heatmap-density\":[Bt,[],function(t){return t.globals.heatmapDensity||0}],\"line-progress\":[Bt,[],function(t){return t.globals.lineProgress||0}],accumulated:[Ht,[],function(t){return void 0===t.globals.accumulated?null:t.globals.accumulated}],\"+\":[Bt,Pr(Bt),function(t,e){for(var r=0,n=0,i=e;n<i.length;n+=1){r+=i[n].evaluate(t)}return r}],\"*\":[Bt,Pr(Bt),function(t,e){for(var r=1,n=0,i=e;n<i.length;n+=1){r*=i[n].evaluate(t)}return r}],\"-\":{type:Bt,overloads:[[[Bt,Bt],function(t,e){var r=e[0],n=e[1];return r.evaluate(t)-n.evaluate(t)}],[[Bt],function(t,e){return-e[0].evaluate(t)}]]},\"/\":[Bt,[Bt,Bt],function(t,e){var r=e[0],n=e[1];return r.evaluate(t)/n.evaluate(t)}],\"%\":[Bt,[Bt,Bt],function(t,e){var r=e[0],n=e[1];return r.evaluate(t)%n.evaluate(t)}],ln2:[Bt,[],function(){return Math.LN2}],pi:[Bt,[],function(){return Math.PI}],e:[Bt,[],function(){return Math.E}],\"^\":[Bt,[Bt,Bt],function(t,e){var r=e[0],n=e[1];return Math.pow(r.evaluate(t),n.evaluate(t))}],sqrt:[Bt,[Bt],function(t,e){var r=e[0];return Math.sqrt(r.evaluate(t))}],log10:[Bt,[Bt],function(t,e){var r=e[0];return Math.log(r.evaluate(t))/Math.LN10}],ln:[Bt,[Bt],function(t,e){var r=e[0];return Math.log(r.evaluate(t))}],log2:[Bt,[Bt],function(t,e){var r=e[0];return Math.log(r.evaluate(t))/Math.LN2}],sin:[Bt,[Bt],function(t,e){var r=e[0];return Math.sin(r.evaluate(t))}],cos:[Bt,[Bt],function(t,e){var r=e[0];return Math.cos(r.evaluate(t))}],tan:[Bt,[Bt],function(t,e){var r=e[0];return Math.tan(r.evaluate(t))}],asin:[Bt,[Bt],function(t,e){var r=e[0];return Math.asin(r.evaluate(t))}],acos:[Bt,[Bt],function(t,e){var r=e[0];return Math.acos(r.evaluate(t))}],atan:[Bt,[Bt],function(t,e){var r=e[0];return Math.atan(r.evaluate(t))}],min:[Bt,Pr(Bt),function(t,e){return Math.min.apply(Math,e.map((function(e){return e.evaluate(t)})))}],max:[Bt,Pr(Bt),function(t,e){return Math.max.apply(Math,e.map((function(e){return e.evaluate(t)})))}],abs:[Bt,[Bt],function(t,e){var r=e[0];return Math.abs(r.evaluate(t))}],round:[Bt,[Bt],function(t,e){var r=e[0].evaluate(t);return r<0?-Math.round(-r):Math.round(r)}],floor:[Bt,[Bt],function(t,e){var r=e[0];return Math.floor(r.evaluate(t))}],ceil:[Bt,[Bt],function(t,e){var r=e[0];return Math.ceil(r.evaluate(t))}],\"filter-==\":[jt,[Nt,Ht],function(t,e){var r=e[0],n=e[1];return t.properties()[r.value]===n.value}],\"filter-id-==\":[jt,[Ht],function(t,e){var r=e[0];return t.id()===r.value}],\"filter-type-==\":[jt,[Nt],function(t,e){var r=e[0];return t.geometryType()===r.value}],\"filter-<\":[jt,[Nt,Ht],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-<\":[jt,[Ht],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n<i}],\"filter->\":[jt,[Nt,Ht],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->\":[jt,[Ht],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n>i}],\"filter-<=\":[jt,[Nt,Ht],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-<=\":[jt,[Ht],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n<=i}],\"filter->=\":[jt,[Nt,Ht],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->=\":[jt,[Ht],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n>=i}],\"filter-has\":[jt,[Ht],function(t,e){return e[0].value in t.properties()}],\"filter-has-id\":[jt,[],function(t){return null!==t.id()&&void 0!==t.id()}],\"filter-type-in\":[jt,[Wt(Nt)],function(t,e){return e[0].value.indexOf(t.geometryType())>=0}],\"filter-id-in\":[jt,[Wt(Ht)],function(t,e){return e[0].value.indexOf(t.id())>=0}],\"filter-in-small\":[jt,[Nt,Wt(Ht)],function(t,e){var r=e[0];return e[1].value.indexOf(t.properties()[r.value])>=0}],\"filter-in-large\":[jt,[Nt,Wt(Ht)],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:jt,overloads:[[[jt,jt],function(t,e){var r=e[0],n=e[1];return r.evaluate(t)&&n.evaluate(t)}],[Pr(jt),function(t,e){for(var r=0,n=e;r<n.length;r+=1){if(!n[r].evaluate(t))return!1}return!0}]]},any:{type:jt,overloads:[[[jt,jt],function(t,e){var r=e[0],n=e[1];return r.evaluate(t)||n.evaluate(t)}],[Pr(jt),function(t,e){for(var r=0,n=e;r<n.length;r+=1){if(n[r].evaluate(t))return!0}return!1}]]},\"!\":[jt,[jt],function(t,e){return!e[0].evaluate(t)}],\"is-supported-script\":[jt,[Nt],function(t,e){var r=e[0],n=t.globals&&t.globals.isSupportedScript;return!n||n(r.evaluate(t))}],upcase:[Nt,[Nt],function(t,e){return e[0].evaluate(t).toUpperCase()}],downcase:[Nt,[Nt],function(t,e){return e[0].evaluate(t).toLowerCase()}],concat:[Nt,Pr(Ht),function(t,e){return e.map((function(e){return le(e.evaluate(t))})).join(\"\")}],\"resolved-locale\":[Nt,[qt],function(t,e){return e[0].evaluate(t).resolvedLocale()}]});var Gr=function(t,e){this.expression=t,this._warningHistory={},this._evaluator=new ye,this._defaultValue=e?function(t){return\"color\"===t.type&&Br(t.default)?new te(0,0,0,0):\"color\"===t.type?te.parse(t.default)||null:void 0===t.default?null:t.default}(e):null,this._enumValues=e&&\"enum\"===e.type?e.values:null};function Yr(t){return Array.isArray(t)&&t.length>0&&\"string\"==typeof t[0]&&t[0]in Sr}function Wr(t,e){var r=new Ue(Sr,[],e?function(t){var e={color:Ut,string:Nt,number:Bt,enum:Nt,boolean:jt,formatted:Gt,resolvedImage:Yt};if(\"array\"===t.type)return Wt(e[t.value]||Ht,t.length);return 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?Ir(new Gr(n,e)):Or(r.errors)}Gr.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)},Gr.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 ue(\"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 Xr=function(t,e){this.kind=t,this._styleExpression=e,this.isStateDependent=\"constant\"!==t&&!Be(e.expression)};Xr.prototype.evaluateWithoutErrorHandling=function(t,e,r,n,i,a){return this._styleExpression.evaluateWithoutErrorHandling(t,e,r,n,i,a)},Xr.prototype.evaluate=function(t,e,r,n,i,a){return this._styleExpression.evaluate(t,e,r,n,i,a)};var Zr=function(t,e,r,n){this.kind=t,this.zoomStops=r,this._styleExpression=e,this.isStateDependent=\"camera\"!==t&&!Be(e.expression),this.interpolationType=n};function Jr(t,e){if(\"error\"===(t=Wr(t,e)).result)return t;var r=t.value.expression,n=Fe(r);if(!n&&!zr(e))return Or([new Dt(\"\",\"data expressions not supported\")]);var i=Ne(r,[\"zoom\"]);if(!i&&!Dr(e))return Or([new Dt(\"\",\"zoom expressions not supported\")]);var a=function t(e){var r=null;if(e instanceof cr)r=t(e.result);else if(e instanceof lr)for(var n=0,i=e.args;n<i.length;n+=1){var a=i[n];if(r=t(a))break}else(e instanceof He||e instanceof or)&&e.input instanceof xe&&\"zoom\"===e.input.name&&(r=e);if(r instanceof Dt)return r;return e.eachChild((function(e){var n=t(e);n instanceof Dt?r=n:!r&&n?r=new Dt(\"\",'\"zoom\" expression may only be used as input to a top-level \"step\" or \"interpolate\" expression.'):r&&n&&r!==n&&(r=new Dt(\"\",'Only one zoom-based \"step\" or \"interpolate\" subexpression may be used in an expression.'))})),r}(r);if(!a&&!i)return Or([new Dt(\"\",'\"zoom\" expression may only be used as input to a top-level \"step\" or \"interpolate\" expression.')]);if(a instanceof Dt)return Or([a]);if(a instanceof or&&!Rr(e))return Or([new Dt(\"\",'\"interpolate\" expressions cannot be used with this property')]);if(!a)return Ir(new Xr(n?\"constant\":\"source\",t.value));var o=a instanceof or?a.interpolation:void 0;return Ir(new Zr(n?\"camera\":\"composite\",t.value,a.labels,o))}Zr.prototype.evaluateWithoutErrorHandling=function(t,e,r,n,i,a){return this._styleExpression.evaluateWithoutErrorHandling(t,e,r,n,i,a)},Zr.prototype.evaluate=function(t,e,r,n,i,a){return this._styleExpression.evaluate(t,e,r,n,i,a)},Zr.prototype.interpolationFactor=function(t,e,r){return this.interpolationType?or.interpolationFactor(this.interpolationType,t,e,r):0};var Kr=function(t,e){this._parameters=t,this._specification=e,It(this,function t(e,r){var n,i,a,o=\"color\"===r.type,s=e.stops&&\"object\"==typeof e.stops[0][0],l=s||void 0!==e.property,c=s||!l,u=e.type||(Rr(r)?\"exponential\":\"interval\");if(o&&((e=It({},e)).stops&&(e.stops=e.stops.map((function(t){return[t[0],te.parse(t[1])]}))),e.default?e.default=te.parse(e.default):e.default=te.parse(r.default)),e.colorSpace&&\"rgb\"!==e.colorSpace&&!ar[e.colorSpace])throw new Error(\"Unknown color space: \"+e.colorSpace);if(\"exponential\"===u)n=Hr;else if(\"interval\"===u)n=Vr;else if(\"categorical\"===u){n=Ur,i=Object.create(null);for(var f=0,h=e.stops;f<h.length;f+=1){var p=h[f];i[p[0]]=p[1]}a=typeof e.stops[0][0]}else{if(\"identity\"!==u)throw new Error('Unknown function type \"'+u+'\"');n=qr}if(s){for(var d={},m=[],g=0;g<e.stops.length;g++){var v=e.stops[g],y=v[0].zoom;void 0===d[y]&&(d[y]={zoom:y,type:e.type,property:e.property,default:e.default,stops:[]},m.push(y)),d[y].stops.push([v[0].value,v[1]])}for(var x=[],b=0,_=m;b<_.length;b+=1){var w=_[b];x.push([d[w].zoom,t(d[w],r)])}var T={name:\"linear\"};return{kind:\"composite\",interpolationType:T,interpolationFactor:or.interpolationFactor.bind(void 0,T),zoomStops:x.map((function(t){return t[0]})),evaluate:function(t,n){var i=t.zoom;return Hr({stops:x,base:e.base},r,i).evaluate(i,n)}}}if(c){var k=\"exponential\"===u?{name:\"exponential\",base:void 0!==e.base?e.base:1}:null;return{kind:\"camera\",interpolationType:k,interpolationFactor:or.interpolationFactor.bind(void 0,k),zoomStops:e.stops.map((function(t){return t[0]})),evaluate:function(t){var o=t.zoom;return n(e,r,o,i,a)}}}return{kind:\"source\",evaluate:function(t,o){var s=o&&o.properties?o.properties[e.property]:void 0;return void 0===s?jr(e.default,r.default):n(e,r,s,i,a)}}}(this._parameters,this._specification))};function Qr(t){var e=t.key,r=t.value,n=t.valueSpec||{},i=t.objectElementValidators||{},a=t.style,o=t.styleSpec,s=[],l=Fr(r);if(\"object\"!==l)return[new Ct(e,r,\"object expected, \"+l+\" found\")];for(var c in r){var u=c.split(\".\")[0],f=n[u]||n[\"*\"],h=void 0;if(i[u])h=i[u];else if(n[u])h=kn;else if(i[\"*\"])h=i[\"*\"];else{if(!n[\"*\"]){s.push(new Ct(e,r[c],'unknown property \"'+c+'\"'));continue}h=kn}s=s.concat(h({key:(e?e+\".\":e)+c,value:r[c],valueSpec:f,style:a,styleSpec:o,object:r,objectKey:c},r))}for(var p in n)i[p]||n[p].required&&void 0===n[p].default&&void 0===r[p]&&s.push(new Ct(e,r,'missing required property \"'+p+'\"'));return s}function $r(t){var e=t.value,r=t.valueSpec,n=t.style,i=t.styleSpec,a=t.key,o=t.arrayElementValidator||kn;if(\"array\"!==Fr(e))return[new Ct(a,e,\"array expected, \"+Fr(e)+\" found\")];if(r.length&&e.length!==r.length)return[new Ct(a,e,\"array length \"+r.length+\" expected, length \"+e.length+\" found\")];if(r[\"min-length\"]&&e.length<r[\"min-length\"])return[new Ct(a,e,\"array length at least \"+r[\"min-length\"]+\" expected, length \"+e.length+\" found\")];var s={type:r.value,values:r.values};i.$version<7&&(s.function=r.function),\"object\"===Fr(r.value)&&(s=r.value);for(var l=[],c=0;c<e.length;c++)l=l.concat(o({array:e,arrayIndex:c,value:e[c],valueSpec:s,style:n,styleSpec:i,key:a+\"[\"+c+\"]\"}));return l}function tn(t){var e=t.key,r=t.value,n=t.valueSpec,i=Fr(r);return\"number\"===i&&r!=r&&(i=\"NaN\"),\"number\"!==i?[new Ct(e,r,\"number expected, \"+i+\" found\")]:\"minimum\"in n&&r<n.minimum?[new Ct(e,r,r+\" is less than the minimum value \"+n.minimum)]:\"maximum\"in n&&r>n.maximum?[new Ct(e,r,r+\" is greater than the maximum value \"+n.maximum)]:[]}function en(t){var e,r,n,i=t.valueSpec,a=Ot(t.value.type),o={},s=\"categorical\"!==a&&void 0===t.value.property,l=!s,c=\"array\"===Fr(t.value.stops)&&\"array\"===Fr(t.value.stops[0])&&\"object\"===Fr(t.value.stops[0][0]),u=Qr({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 Ct(t.key,t.value,'identity function may not have a \"stops\" property')];var e=[],r=t.value;e=e.concat($r({key:t.key,value:r,valueSpec:t.valueSpec,style:t.style,styleSpec:t.styleSpec,arrayElementValidator:f})),\"array\"===Fr(r)&&0===r.length&&e.push(new Ct(t.key,r,\"array must have at least one stop\"));return e},default:function(t){return kn({key:t.key,value:t.value,valueSpec:i,style:t.style,styleSpec:t.styleSpec})}}});return\"identity\"===a&&s&&u.push(new Ct(t.key,t.value,'missing required property \"property\"')),\"identity\"===a||t.value.stops||u.push(new Ct(t.key,t.value,'missing required property \"stops\"')),\"exponential\"===a&&t.valueSpec.expression&&!Rr(t.valueSpec)&&u.push(new Ct(t.key,t.value,\"exponential functions not supported\")),t.styleSpec.$version>=8&&(l&&!zr(t.valueSpec)?u.push(new Ct(t.key,t.value,\"property functions not supported\")):s&&!Dr(t.valueSpec)&&u.push(new Ct(t.key,t.value,\"zoom functions not supported\"))),\"categorical\"!==a&&!c||void 0!==t.value.property||u.push(new Ct(t.key,t.value,'\"property\" property is required')),u;function f(t){var e=[],a=t.value,s=t.key;if(\"array\"!==Fr(a))return[new Ct(s,a,\"array expected, \"+Fr(a)+\" found\")];if(2!==a.length)return[new Ct(s,a,\"array length 2 expected, length \"+a.length+\" found\")];if(c){if(\"object\"!==Fr(a[0]))return[new Ct(s,a,\"object expected, \"+Fr(a[0])+\" found\")];if(void 0===a[0].zoom)return[new Ct(s,a,\"object stop key must have zoom\")];if(void 0===a[0].value)return[new Ct(s,a,\"object stop key must have value\")];if(n&&n>Ot(a[0].zoom))return[new Ct(s,a[0].zoom,\"stop zoom values must appear in ascending order\")];Ot(a[0].zoom)!==n&&(n=Ot(a[0].zoom),r=void 0,o={}),e=e.concat(Qr({key:s+\"[0]\",value:a[0],valueSpec:{zoom:{}},style:t.style,styleSpec:t.styleSpec,objectElementValidators:{zoom:tn,value:h}}))}else e=e.concat(h({key:s+\"[0]\",value:a[0],valueSpec:{},style:t.style,styleSpec:t.styleSpec},a));return Yr(zt(a[1]))?e.concat([new Ct(s+\"[1]\",a[1],\"expressions are not allowed in function stops.\")]):e.concat(kn({key:s+\"[1]\",value:a[1],valueSpec:i,style:t.style,styleSpec:t.styleSpec}))}function h(t,n){var s=Fr(t.value),l=Ot(t.value),c=null!==t.value?t.value:n;if(e){if(s!==e)return[new Ct(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 Ct(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 zr(i)&&void 0===a&&(u+='\\nIf you intended to use a categorical function, specify `\"type\": \"categorical\"`.'),[new Ct(t.key,c,u)]}return\"categorical\"!==a||\"number\"!==s||isFinite(l)&&Math.floor(l)===l?\"categorical\"!==a&&\"number\"===s&&void 0!==r&&l<r?[new Ct(t.key,c,\"stop domain values must appear in ascending order\")]:(r=l,\"categorical\"===a&&l in o?[new Ct(t.key,c,\"stop domain values must be unique\")]:(o[l]=!0,[])):[new Ct(t.key,c,\"integer expected, found \"+l)]}}function rn(t){var e=(\"property\"===t.expressionContext?Jr:Wr)(zt(t.value),t.valueSpec);if(\"error\"===e.result)return e.value.map((function(e){return new Ct(\"\"+t.key+e.key,t.value,e.message)}));var r=e.value.expression||e.value._styleExpression.expression;if(\"property\"===t.expressionContext&&\"text-font\"===t.propertyKey&&!r.outputDefined())return[new Ct(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&&!Be(r))return[new Ct(t.key,t.value,'\"feature-state\" data expressions are not supported with layout properties.')];if(\"filter\"===t.expressionContext&&!Be(r))return[new Ct(t.key,t.value,'\"feature-state\" data expressions are not supported with filters.')];if(t.expressionContext&&0===t.expressionContext.indexOf(\"cluster\")){if(!Ne(r,[\"zoom\",\"feature-state\"]))return[new Ct(t.key,t.value,'\"zoom\" and \"feature-state\" expressions are not supported with cluster properties.')];if(\"cluster-initial\"===t.expressionContext&&!Fe(r))return[new Ct(t.key,t.value,\"Feature data expressions are not supported with initial expression part of cluster properties.\")]}return[]}function nn(t){var e=t.key,r=t.value,n=t.valueSpec,i=[];return Array.isArray(n.values)?-1===n.values.indexOf(Ot(r))&&i.push(new Ct(e,r,\"expected one of [\"+n.values.join(\", \")+\"], \"+JSON.stringify(r)+\" found\")):-1===Object.keys(n.values).indexOf(Ot(r))&&i.push(new Ct(e,r,\"expected one of [\"+Object.keys(n.values).join(\", \")+\"], \"+JSON.stringify(r)+\" found\")),i}function an(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(var e=0,r=t.slice(1);e<r.length;e+=1){var n=r[e];if(!an(n)&&\"boolean\"!=typeof n)return!1}return!0;default:return!0}}Kr.deserialize=function(t){return new Kr(t._parameters,t._specification)},Kr.serialize=function(t){return{_parameters:t._parameters,_specification:t._specification}};var on={type:\"boolean\",default:!1,transition:!1,\"property-type\":\"data-driven\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]}};function sn(t){if(null==t)return{filter:function(){return!0},needGeometry:!1};an(t)||(t=cn(t));var e=Wr(t,on);if(\"error\"===e.result)throw new Error(e.value.map((function(t){return t.key+\": \"+t.message})).join(\", \"));return{filter:function(t,r,n){return e.value.evaluate(t,r,{},n)},needGeometry:function t(e){if(!Array.isArray(e))return!1;if(\"within\"===e[0])return!0;for(var r=1;r<e.length;r++)if(t(e[r]))return!0;return!1}(t)}}function ln(t,e){return t<e?-1:t>e?1:0}function cn(t){if(!t)return!0;var e,r=t[0];return t.length<=1?\"any\"!==r:\"==\"===r?un(t[1],t[2],\"==\"):\"!=\"===r?pn(un(t[1],t[2],\"==\")):\"<\"===r||\">\"===r||\"<=\"===r||\">=\"===r?un(t[1],t[2],r):\"any\"===r?(e=t.slice(1),[\"any\"].concat(e.map(cn))):\"all\"===r?[\"all\"].concat(t.slice(1).map(cn)):\"none\"===r?[\"all\"].concat(t.slice(1).map(cn).map(pn)):\"in\"===r?fn(t[1],t.slice(2)):\"!in\"===r?pn(fn(t[1],t.slice(2))):\"has\"===r?hn(t[1]):\"!has\"===r?pn(hn(t[1])):\"within\"!==r||t}function un(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 fn(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(ln)]]:[\"filter-in-small\",t,[\"literal\",e]]}}function hn(t){switch(t){case\"$type\":return!0;case\"$id\":return[\"filter-has-id\"];default:return[\"filter-has\",t]}}function pn(t){return[\"!\",t]}function dn(t){return an(zt(t.value))?rn(It({},t,{expressionContext:\"filter\",valueSpec:{value:\"boolean\"}})):function t(e){var r=e.value,n=e.key;if(\"array\"!==Fr(r))return[new Ct(n,r,\"array expected, \"+Fr(r)+\" found\")];var i,a=e.styleSpec,o=[];if(r.length<1)return[new Ct(n,r,\"filter array must have at least 1 element\")];switch(o=o.concat(nn({key:n+\"[0]\",value:r[0],valueSpec:a.filter_operator,style:e.style,styleSpec:e.styleSpec})),Ot(r[0])){case\"<\":case\"<=\":case\">\":case\">=\":r.length>=2&&\"$type\"===Ot(r[1])&&o.push(new Ct(n,r,'\"$type\" cannot be use with operator \"'+r[0]+'\"'));case\"==\":case\"!=\":3!==r.length&&o.push(new Ct(n,r,'filter array for operator \"'+r[0]+'\" must have 3 elements'));case\"in\":case\"!in\":r.length>=2&&\"string\"!==(i=Fr(r[1]))&&o.push(new Ct(n+\"[1]\",r[1],\"string expected, \"+i+\" found\"));for(var s=2;s<r.length;s++)i=Fr(r[s]),\"$type\"===Ot(r[1])?o=o.concat(nn({key:n+\"[\"+s+\"]\",value:r[s],valueSpec:a.geometry_type,style:e.style,styleSpec:e.styleSpec})):\"string\"!==i&&\"number\"!==i&&\"boolean\"!==i&&o.push(new Ct(n+\"[\"+s+\"]\",r[s],\"string, number, or boolean expected, \"+i+\" found\"));break;case\"any\":case\"all\":case\"none\":for(var l=1;l<r.length;l++)o=o.concat(t({key:n+\"[\"+l+\"]\",value:r[l],style:e.style,styleSpec:e.styleSpec}));break;case\"has\":case\"!has\":i=Fr(r[1]),2!==r.length?o.push(new Ct(n,r,'filter array for \"'+r[0]+'\" operator must have 2 elements')):\"string\"!==i&&o.push(new Ct(n+\"[1]\",r[1],\"string expected, \"+i+\" found\"));break;case\"within\":i=Fr(r[1]),2!==r.length?o.push(new Ct(n,r,'filter array for \"'+r[0]+'\" operator must have 2 elements')):\"object\"!==i&&o.push(new Ct(n+\"[1]\",r[1],\"object expected, \"+i+\" found\"))}return o}(t)}function mn(t,e){var r=t.key,n=t.style,i=t.styleSpec,a=t.value,o=t.objectKey,s=i[e+\"_\"+t.layerType];if(!s)return[];var l=o.match(/^(.*)-transition$/);if(\"paint\"===e&&l&&s[l[1]]&&s[l[1]].transition)return kn({key:r,value:a,valueSpec:i.transition,style:n,styleSpec:i});var c,u=t.valueSpec||s[o];if(!u)return[new Ct(r,a,'unknown property \"'+o+'\"')];if(\"string\"===Fr(a)&&zr(u)&&!u.tokens&&(c=/^{([^}]+)}$/.exec(a)))return[new Ct(r,a,'\"'+o+'\" does not support interpolation syntax\\nUse an identity property function instead: `{ \"type\": \"identity\", \"property\": '+JSON.stringify(c[1])+\" }`.\")];var f=[];return\"symbol\"===t.layerType&&(\"text-field\"===o&&n&&!n.glyphs&&f.push(new Ct(r,a,'use of \"text-field\" requires a style \"glyphs\" property')),\"text-font\"===o&&Br(zt(a))&&\"identity\"===Ot(a.type)&&f.push(new Ct(r,a,'\"text-font\" does not support identity functions'))),f.concat(kn({key:t.key,value:a,valueSpec:u,style:n,styleSpec:i,expressionContext:\"property\",propertyType:e,propertyKey:o}))}function gn(t){return mn(t,\"paint\")}function vn(t){return mn(t,\"layout\")}function yn(t){var e=[],r=t.value,n=t.key,i=t.style,a=t.styleSpec;r.type||r.ref||e.push(new Ct(n,r,'either \"type\" or \"ref\" is required'));var o,s=Ot(r.type),l=Ot(r.ref);if(r.id)for(var c=Ot(r.id),u=0;u<t.arrayIndex;u++){var f=i.layers[u];Ot(f.id)===c&&e.push(new Ct(n,r.id,'duplicate layer id \"'+r.id+'\", previously used at line '+f.id.__line__))}if(\"ref\"in r)[\"type\",\"source\",\"source-layer\",\"filter\",\"layout\"].forEach((function(t){t in r&&e.push(new Ct(n,r[t],'\"'+t+'\" is prohibited for ref layers'))})),i.layers.forEach((function(t){Ot(t.id)===l&&(o=t)})),o?o.ref?e.push(new Ct(n,r.ref,\"ref cannot reference another ref layer\")):s=Ot(o.type):e.push(new Ct(n,r.ref,'ref layer \"'+l+'\" not found'));else if(\"background\"!==s)if(r.source){var h=i.sources&&i.sources[r.source],p=h&&Ot(h.type);h?\"vector\"===p&&\"raster\"===s?e.push(new Ct(n,r.source,'layer \"'+r.id+'\" requires a raster source')):\"raster\"===p&&\"raster\"!==s?e.push(new Ct(n,r.source,'layer \"'+r.id+'\" requires a vector source')):\"vector\"!==p||r[\"source-layer\"]?\"raster-dem\"===p&&\"hillshade\"!==s?e.push(new Ct(n,r.source,\"raster-dem source can only be used with layer type 'hillshade'.\")):\"line\"!==s||!r.paint||!r.paint[\"line-gradient\"]||\"geojson\"===p&&h.lineMetrics||e.push(new Ct(n,r,'layer \"'+r.id+'\" specifies a line-gradient, which requires a GeoJSON source with `lineMetrics` enabled.')):e.push(new Ct(n,r,'layer \"'+r.id+'\" must specify a \"source-layer\"')):e.push(new Ct(n,r.source,'source \"'+r.source+'\" not found'))}else e.push(new Ct(n,r,'missing required property \"source\"'));return e=e.concat(Qr({key:n,value:r,valueSpec:a.layer,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{\"*\":function(){return[]},type:function(){return kn({key:n+\".type\",value:r.type,valueSpec:a.layer.type,style:t.style,styleSpec:t.styleSpec,object:r,objectKey:\"type\"})},filter:dn,layout:function(t){return Qr({layer:r,key:t.key,value:t.value,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{\"*\":function(t){return vn(It({layerType:s},t))}}})},paint:function(t){return Qr({layer:r,key:t.key,value:t.value,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{\"*\":function(t){return gn(It({layerType:s},t))}}})}}}))}function xn(t){var e=t.value,r=t.key,n=Fr(e);return\"string\"!==n?[new Ct(r,e,\"string expected, \"+n+\" found\")]:[]}var bn={promoteId:function(t){var e=t.key,r=t.value;if(\"string\"===Fr(r))return xn({key:e,value:r});var n=[];for(var i in r)n.push.apply(n,xn({key:e+\".\"+i,value:r[i]}));return n}};function _n(t){var e=t.value,r=t.key,n=t.styleSpec,i=t.style;if(!e.type)return[new Ct(r,e,'\"type\" is required')];var a,o=Ot(e.type);switch(o){case\"vector\":case\"raster\":case\"raster-dem\":return a=Qr({key:r,value:e,valueSpec:n[\"source_\"+o.replace(\"-\",\"_\")],style:t.style,styleSpec:n,objectElementValidators:bn});case\"geojson\":if(a=Qr({key:r,value:e,valueSpec:n.source_geojson,style:i,styleSpec:n,objectElementValidators:bn}),e.cluster)for(var s in e.clusterProperties){var l=e.clusterProperties[s],c=l[0],u=l[1],f=\"string\"==typeof c?[c,[\"accumulated\"],[\"get\",s]]:c;a.push.apply(a,rn({key:r+\".\"+s+\".map\",value:u,expressionContext:\"cluster-map\"})),a.push.apply(a,rn({key:r+\".\"+s+\".reduce\",value:f,expressionContext:\"cluster-reduce\"}))}return a;case\"video\":return Qr({key:r,value:e,valueSpec:n.source_video,style:i,styleSpec:n});case\"image\":return Qr({key:r,value:e,valueSpec:n.source_image,style:i,styleSpec:n});case\"canvas\":return[new Ct(r,null,\"Please use runtime APIs to add canvas sources, rather than including them in stylesheets.\",\"source.canvas\")];default:return nn({key:r+\".type\",value:e.type,valueSpec:{values:[\"vector\",\"raster\",\"raster-dem\",\"geojson\",\"video\",\"image\"]},style:i,styleSpec:n})}}function wn(t){var e=t.value,r=t.styleSpec,n=r.light,i=t.style,a=[],o=Fr(e);if(void 0===e)return a;if(\"object\"!==o)return a=a.concat([new Ct(\"light\",e,\"object expected, \"+o+\" found\")]);for(var s in e){var l=s.match(/^(.*)-transition$/);a=l&&n[l[1]]&&n[l[1]].transition?a.concat(kn({key:s,value:e[s],valueSpec:r.transition,style:i,styleSpec:r})):n[s]?a.concat(kn({key:s,value:e[s],valueSpec:n[s],style:i,styleSpec:r})):a.concat([new Ct(s,e[s],'unknown property \"'+s+'\"')])}return a}var Tn={\"*\":function(){return[]},array:$r,boolean:function(t){var e=t.value,r=t.key,n=Fr(e);return\"boolean\"!==n?[new Ct(r,e,\"boolean expected, \"+n+\" found\")]:[]},number:tn,color:function(t){var e=t.key,r=t.value,n=Fr(r);return\"string\"!==n?[new Ct(e,r,\"color expected, \"+n+\" found\")]:null===$t(r)?[new Ct(e,r,'color expected, \"'+r+'\" found')]:[]},constants:Pt,enum:nn,filter:dn,function:en,layer:yn,object:Qr,source:_n,light:wn,string:xn,formatted:function(t){return 0===xn(t).length?[]:rn(t)},resolvedImage:function(t){return 0===xn(t).length?[]:rn(t)}};function kn(t){var e=t.value,r=t.valueSpec,n=t.styleSpec;return r.expression&&Br(Ot(e))?en(t):r.expression&&Yr(zt(e))?rn(t):r.type&&Tn[r.type]?Tn[r.type](t):Qr(It({},t,{valueSpec:r.type?n[r.type]:r}))}function An(t){var e=t.value,r=t.key,n=xn(t);return n.length||(-1===e.indexOf(\"{fontstack}\")&&n.push(new Ct(r,e,'\"glyphs\" url must include a \"{fontstack}\" token')),-1===e.indexOf(\"{range}\")&&n.push(new Ct(r,e,'\"glyphs\" url must include a \"{range}\" token'))),n}function Mn(t,e){void 0===e&&(e=Lt);var r=[];return r=r.concat(kn({key:\"\",value:t,valueSpec:e.$root,styleSpec:e,style:t,objectElementValidators:{glyphs:An,\"*\":function(){return[]}}})),t.constants&&(r=r.concat(Pt({key:\"constants\",value:t.constants,style:t,styleSpec:e}))),Sn(r)}function Sn(t){return[].concat(t).sort((function(t,e){return t.line-e.line}))}function En(t){return function(){for(var e=[],r=arguments.length;r--;)e[r]=arguments[r];return Sn(t.apply(this,e))}}Mn.source=En(_n),Mn.light=En(wn),Mn.layer=En(yn),Mn.filter=En(dn),Mn.paintProperty=En(gn),Mn.layoutProperty=En(vn);var Ln=Mn,Cn=Ln.light,Pn=Ln.paintProperty,In=Ln.layoutProperty;function On(t,e){var r=!1;if(e&&e.length)for(var n=0,i=e;n<i.length;n+=1){var a=i[n];t.fire(new St(new Error(a.message))),r=!0}return r}var zn=Dn;function Dn(t,e,r){var n=this.cells=[];if(t instanceof ArrayBuffer){this.arrayBuffer=t;var i=new Int32Array(this.arrayBuffer);t=i[0],e=i[1],r=i[2],this.d=e+2*r;for(var a=0;a<this.d*this.d;a++){var o=i[3+a],s=i[3+a+1];n.push(o===s?null:i.subarray(o,s))}var l=i[3+n.length],c=i[3+n.length+1];this.keys=i.subarray(l,c),this.bboxes=i.subarray(c),this.insert=this._insertReadonly}else{this.d=e+2*r;for(var u=0;u<this.d*this.d;u++)n.push([]);this.keys=[],this.bboxes=[]}this.n=e,this.extent=t,this.padding=r,this.scale=e/t,this.uid=0;var f=r/e*t;this.min=-f,this.max=t+f}Dn.prototype.insert=function(t,e,r,n,i){this._forEachCell(e,r,n,i,this._insertCell,this.uid++),this.keys.push(t),this.bboxes.push(e),this.bboxes.push(r),this.bboxes.push(n),this.bboxes.push(i)},Dn.prototype._insertReadonly=function(){throw\"Cannot insert into a GridIndex created from an ArrayBuffer.\"},Dn.prototype._insertCell=function(t,e,r,n,i,a){this.cells[i].push(a)},Dn.prototype.query=function(t,e,r,n,i){var a=this.min,o=this.max;if(t<=a&&e<=a&&o<=r&&o<=n&&!i)return Array.prototype.slice.call(this.keys);var s=[];return this._forEachCell(t,e,r,n,this._queryCell,s,{},i),s},Dn.prototype._queryCell=function(t,e,r,n,i,a,o,s){var l=this.cells[i];if(null!==l)for(var c=this.keys,u=this.bboxes,f=0;f<l.length;f++){var h=l[f];if(void 0===o[h]){var p=4*h;(s?s(u[p+0],u[p+1],u[p+2],u[p+3]):t<=u[p+2]&&e<=u[p+3]&&r>=u[p+0]&&n>=u[p+1])?(o[h]=!0,a.push(c[h])):o[h]=!1}}},Dn.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),f=this._convertToCellCoord(n),h=l;h<=u;h++)for(var p=c;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}},Dn.prototype._convertFromCellCoord=function(t){return(t-this.padding)/this.scale},Dn.prototype._convertToCellCoord=function(t){return Math.max(0,Math.min(this.d-1,Math.floor(t*this.scale)+this.padding))},Dn.prototype.toArrayBuffer=function(){if(this.arrayBuffer)return this.arrayBuffer;for(var t=this.cells,e=3+this.cells.length+1+1,r=0,n=0;n<this.cells.length;n++)r+=this.cells[n].length;var i=new Int32Array(e+r+this.keys.length+this.bboxes.length);i[0]=this.extent,i[1]=this.n,i[2]=this.padding;for(var a=e,o=0;o<t.length;o++){var s=t[o];i[3+o]=a,i.set(s,a),a+=s.length}return i[3+t.length]=a,i.set(this.keys,a),a+=this.keys.length,i[3+t.length+1]=a,i.set(this.bboxes,a),a+=this.bboxes.length,i.buffer};var Rn=self.ImageData,Fn=self.ImageBitmap,Bn={};function Nn(t,e,r){void 0===r&&(r={}),Object.defineProperty(e,\"_classRegistryKey\",{value:t,writeable:!1}),Bn[t]={klass:e,omit:r.omit||[],shallow:r.shallow||[]}}for(var jn in Nn(\"Object\",Object),zn.serialize=function(t,e){var r=t.toArrayBuffer();return e&&e.push(r),{buffer:r}},zn.deserialize=function(t){return new zn(t.buffer)},Nn(\"Grid\",zn),Nn(\"Color\",te),Nn(\"Error\",Error),Nn(\"ResolvedImage\",ie),Nn(\"StylePropertyFunction\",Kr),Nn(\"StyleExpression\",Gr,{omit:[\"_evaluator\"]}),Nn(\"ZoomDependentExpression\",Zr),Nn(\"ZoomConstantExpression\",Xr),Nn(\"CompoundExpression\",xe,{omit:[\"_evaluate\"]}),Sr)Sr[jn]._classRegistryKey||Nn(\"Expression_\"+jn,Sr[jn]);function Un(t){return t&&\"undefined\"!=typeof ArrayBuffer&&(t instanceof ArrayBuffer||t.constructor&&\"ArrayBuffer\"===t.constructor.name)}function Vn(t){return Fn&&t instanceof Fn}function Hn(t,e){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)return t;if(Un(t)||Vn(t))return e&&e.push(t),t;if(ArrayBuffer.isView(t)){var r=t;return e&&e.push(r.buffer),r}if(t instanceof Rn)return e&&e.push(t.data.buffer),t;if(Array.isArray(t)){for(var n=[],i=0,a=t;i<a.length;i+=1){var o=a[i];n.push(Hn(o,e))}return n}if(\"object\"==typeof t){var s=t.constructor,l=s._classRegistryKey;if(!l)throw new Error(\"can't serialize object of unregistered class\");var c=s.serialize?s.serialize(t,e):{};if(!s.serialize){for(var u in t)if(t.hasOwnProperty(u)&&!(Bn[l].omit.indexOf(u)>=0)){var f=t[u];c[u]=Bn[l].shallow.indexOf(u)>=0?f:Hn(f,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 qn(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||Un(t)||Vn(t)||ArrayBuffer.isView(t)||t instanceof Rn)return t;if(Array.isArray(t))return t.map(qn);if(\"object\"==typeof t){var e=t.$name||\"Object\",r=Bn[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<a.length;i+=1){var o=a[i];if(\"$name\"!==o){var s=t[o];n[o]=Bn[e].shallow.indexOf(o)>=0?s:qn(s)}}return n}throw new Error(\"can't deserialize object of type \"+typeof t)}var Gn=function(){this.first=!0};Gn.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<r&&(this.lastIntegerZoom=r,this.lastIntegerZoomTime=e),t!==this.lastZoom&&(this.lastZoom=t,this.lastFloorZoom=r,!0))};var Yn={\"Latin-1 Supplement\":function(t){return t>=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 Wn(t){for(var e=0,r=t;e<r.length;e+=1){if(Zn(r[e].charCodeAt(0)))return!0}return!1}function Xn(t){return!Yn.Arabic(t)&&(!Yn[\"Arabic Supplement\"](t)&&(!Yn[\"Arabic Extended-A\"](t)&&(!Yn[\"Arabic Presentation Forms-A\"](t)&&!Yn[\"Arabic Presentation Forms-B\"](t))))}function Zn(t){return 746===t||747===t||!(t<4352)&&(!!Yn[\"Bopomofo Extended\"](t)||(!!Yn.Bopomofo(t)||(!(!Yn[\"CJK Compatibility Forms\"](t)||t>=65097&&t<=65103)||(!!Yn[\"CJK Compatibility Ideographs\"](t)||(!!Yn[\"CJK Compatibility\"](t)||(!!Yn[\"CJK Radicals Supplement\"](t)||(!!Yn[\"CJK Strokes\"](t)||(!(!Yn[\"CJK Symbols and Punctuation\"](t)||t>=12296&&t<=12305||t>=12308&&t<=12319||12336===t)||(!!Yn[\"CJK Unified Ideographs Extension A\"](t)||(!!Yn[\"CJK Unified Ideographs\"](t)||(!!Yn[\"Enclosed CJK Letters and Months\"](t)||(!!Yn[\"Hangul Compatibility Jamo\"](t)||(!!Yn[\"Hangul Jamo Extended-A\"](t)||(!!Yn[\"Hangul Jamo Extended-B\"](t)||(!!Yn[\"Hangul Jamo\"](t)||(!!Yn[\"Hangul Syllables\"](t)||(!!Yn.Hiragana(t)||(!!Yn[\"Ideographic Description Characters\"](t)||(!!Yn.Kanbun(t)||(!!Yn[\"Kangxi Radicals\"](t)||(!!Yn[\"Katakana Phonetic Extensions\"](t)||(!(!Yn.Katakana(t)||12540===t)||(!(!Yn[\"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)||(!(!Yn[\"Small Form Variants\"](t)||t>=65112&&t<=65118||t>=65123&&t<=65126)||(!!Yn[\"Unified Canadian Aboriginal Syllabics\"](t)||(!!Yn[\"Unified Canadian Aboriginal Syllabics Extended\"](t)||(!!Yn[\"Vertical Forms\"](t)||(!!Yn[\"Yijing Hexagram Symbols\"](t)||(!!Yn[\"Yi Syllables\"](t)||!!Yn[\"Yi Radicals\"](t))))))))))))))))))))))))))))))}function Jn(t){return!(Zn(t)||function(t){return!(!Yn[\"Latin-1 Supplement\"](t)||167!==t&&169!==t&&174!==t&&177!==t&&188!==t&&189!==t&&190!==t&&215!==t&&247!==t)||(!(!Yn[\"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)||(!!Yn[\"Letterlike Symbols\"](t)||(!!Yn[\"Number Forms\"](t)||(!(!Yn[\"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))||(!(!Yn[\"Control Pictures\"](t)||9251===t)||(!!Yn[\"Optical Character Recognition\"](t)||(!!Yn[\"Enclosed Alphanumerics\"](t)||(!!Yn[\"Geometric Shapes\"](t)||(!(!Yn[\"Miscellaneous Symbols\"](t)||t>=9754&&t<=9759)||(!(!Yn[\"Miscellaneous Symbols and Arrows\"](t)||!(t>=11026&&t<=11055||t>=11088&&t<=11097||t>=11192&&t<=11243))||(!!Yn[\"CJK Symbols and Punctuation\"](t)||(!!Yn.Katakana(t)||(!!Yn[\"Private Use Area\"](t)||(!!Yn[\"CJK Compatibility Forms\"](t)||(!!Yn[\"Small Form Variants\"](t)||(!!Yn[\"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 Kn(t){return t>=1424&&t<=2303||Yn[\"Arabic Presentation Forms-A\"](t)||Yn[\"Arabic Presentation Forms-B\"](t)}function Qn(t,e){return!(!e&&Kn(t))&&!(t>=2304&&t<=3583||t>=3840&&t<=4255||Yn.Khmer(t))}function $n(t){for(var e=0,r=t;e<r.length;e+=1){if(Kn(r[e].charCodeAt(0)))return!0}return!1}var ti=\"deferred\",ei=\"loading\",ri=\"loaded\",ni=\"error\",ii=null,ai=\"unavailable\",oi=null,si=function(t){t&&\"string\"==typeof t&&t.indexOf(\"NetworkError\")>-1&&(ai=ni),ii&&ii(t)};function li(){ci.fire(new Mt(\"pluginStateChange\",{pluginStatus:ai,pluginURL:oi}))}var ci=new Et,ui=function(){return ai},fi=function(){if(ai!==ti||!oi)throw new Error(\"rtl-text-plugin cannot be downloaded unless a pluginURL is specified\");ai=ei,li(),oi&&xt({url:oi},(function(t){t?si(t):(ai=ri,li())}))},hi={applyArabicShaping:null,processBidirectionalText:null,processStyledBidirectionalText:null,isLoaded:function(){return ai===ri||null!=hi.applyArabicShaping},isLoading:function(){return ai===ei},setState:function(t){ai=t.pluginStatus,oi=t.pluginURL},isParsed:function(){return null!=hi.applyArabicShaping&&null!=hi.processBidirectionalText&&null!=hi.processStyledBidirectionalText},getPluginURL:function(){return oi}},pi=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 Gn,this.transition={})};pi.prototype.isSupportedScript=function(t){return function(t,e){for(var r=0,n=t;r<n.length;r+=1){if(!Qn(n[r].charCodeAt(0),e))return!1}return!0}(t,hi.isLoaded())},pi.prototype.crossFadingFactor=function(){return 0===this.fadeDuration?1:Math.min((this.now-this.zoomHistory.lastIntegerZoomTime)/this.fadeDuration,1)},pi.prototype.getCrossfadeParameters=function(){var 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}};var di=function(t,e){this.property=t,this.value=e,this.expression=function(t,e){if(Br(t))return new Kr(t,e);if(Yr(t)){var r=Jr(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=te.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 mi=function(t){this.property=t,this.value=new di(t,void 0)};mi.prototype.transitioned=function(t,e){return new vi(this.property,this.value,e,u({},t.transition,this.transition),t.now)},mi.prototype.untransitioned=function(){return new vi(this.property,this.value,null,{},0)};var gi=function(t){this._properties=t,this._values=Object.create(t.defaultTransitionablePropertyValues)};gi.prototype.getValue=function(t){return x(this._values[t].value.value)},gi.prototype.setValue=function(t,e){this._values.hasOwnProperty(t)||(this._values[t]=new mi(this._values[t].property)),this._values[t].value=new di(this._values[t].property,null===e?void 0:x(e))},gi.prototype.getTransition=function(t){return x(this._values[t].transition)},gi.prototype.setTransition=function(t,e){this._values.hasOwnProperty(t)||(this._values[t]=new mi(this._values[t].property)),this._values[t].transition=x(e)||void 0},gi.prototype.serialize=function(){for(var t={},e=0,r=Object.keys(this._values);e<r.length;e+=1){var n=r[e],i=this.getValue(n);void 0!==i&&(t[n]=i);var a=this.getTransition(n);void 0!==a&&(t[n+\"-transition\"]=a)}return t},gi.prototype.transitioned=function(t,e){for(var r=new yi(this._properties),n=0,i=Object.keys(this._values);n<i.length;n+=1){var a=i[n];r._values[a]=this._values[a].transitioned(t,e._values[a])}return r},gi.prototype.untransitioned=function(){for(var t=new yi(this._properties),e=0,r=Object.keys(this._values);e<r.length;e+=1){var n=r[e];t._values[n]=this._values[n].untransitioned()}return t};var vi=function(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)};vi.prototype.possiblyEvaluate=function(t,e,r){var 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<this.begin)return a.possiblyEvaluate(t,e,r);var o=(n-this.begin)/(this.end-this.begin);return this.property.interpolate(a.possiblyEvaluate(t,e,r),i,function(t){if(t<=0)return 0;if(t>=1)return 1;var e=t*t,r=e*t;return 4*(t<.5?r:3*(t-e)+r-.75)}(o))}return i};var yi=function(t){this._properties=t,this._values=Object.create(t.defaultTransitioningPropertyValues)};yi.prototype.possiblyEvaluate=function(t,e,r){for(var n=new _i(this._properties),i=0,a=Object.keys(this._values);i<a.length;i+=1){var o=a[i];n._values[o]=this._values[o].possiblyEvaluate(t,e,r)}return n},yi.prototype.hasTransition=function(){for(var t=0,e=Object.keys(this._values);t<e.length;t+=1){var r=e[t];if(this._values[r].prior)return!0}return!1};var xi=function(t){this._properties=t,this._values=Object.create(t.defaultPropertyValues)};xi.prototype.getValue=function(t){return x(this._values[t].value)},xi.prototype.setValue=function(t,e){this._values[t]=new di(this._values[t].property,null===e?void 0:x(e))},xi.prototype.serialize=function(){for(var t={},e=0,r=Object.keys(this._values);e<r.length;e+=1){var n=r[e],i=this.getValue(n);void 0!==i&&(t[n]=i)}return t},xi.prototype.possiblyEvaluate=function(t,e,r){for(var n=new _i(this._properties),i=0,a=Object.keys(this._values);i<a.length;i+=1){var o=a[i];n._values[o]=this._values[o].possiblyEvaluate(t,e,r)}return n};var bi=function(t,e,r){this.property=t,this.value=e,this.parameters=r};bi.prototype.isConstant=function(){return\"constant\"===this.value.kind},bi.prototype.constantOr=function(t){return\"constant\"===this.value.kind?this.value.value:t},bi.prototype.evaluate=function(t,e,r,n){return this.property.evaluate(this.value,this.parameters,t,e,r,n)};var _i=function(t){this._properties=t,this._values=Object.create(t.defaultPossiblyEvaluatedValues)};_i.prototype.get=function(t){return this._values[t]};var wi=function(t){this.specification=t};wi.prototype.possiblyEvaluate=function(t,e){return t.expression.evaluate(e)},wi.prototype.interpolate=function(t,e,r){var n=Ge[this.specification.type];return n?n(t,e,r):t};var Ti=function(t,e){this.specification=t,this.overrides=e};Ti.prototype.possiblyEvaluate=function(t,e,r,n){return\"constant\"===t.expression.kind||\"camera\"===t.expression.kind?new bi(this,{kind:\"constant\",value:t.expression.evaluate(e,null,{},r,n)},e):new bi(this,t.expression,e)},Ti.prototype.interpolate=function(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 bi(this,{kind:\"constant\",value:void 0},t.parameters);var n=Ge[this.specification.type];return n?new bi(this,{kind:\"constant\",value:n(t.value.value,e.value.value,r)},t.parameters):t},Ti.prototype.evaluate=function(t,e,r,n,i,a){return\"constant\"===t.kind?t.value:t.evaluate(e,r,n,i,a)};var 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.prototype.possiblyEvaluate=function(t,e,r,n){if(void 0===t.value)return new bi(this,{kind:\"constant\",value:void 0},e);if(\"constant\"===t.expression.kind){var 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 bi(this,{kind:\"constant\",value:o},e)}if(\"camera\"===t.expression.kind){var s=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 bi(this,{kind:\"constant\",value:s},e)}return new bi(this,t.expression,e)},e.prototype.evaluate=function(t,e,r,n,i,a){if(\"source\"===t.kind){var 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},e.prototype._calculate=function(t,e,r,n){return n.zoom>n.zoomHistory.lastIntegerZoom?{from:t,to:e}:{from:r,to:e}},e.prototype.interpolate=function(t){return t},e}(Ti),Ai=function(t){this.specification=t};Ai.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 pi(Math.floor(e.zoom-1),e)),t.expression.evaluate(new pi(Math.floor(e.zoom),e)),t.expression.evaluate(new pi(Math.floor(e.zoom+1),e)),e)}},Ai.prototype._calculate=function(t,e,r,n){return n.zoom>n.zoomHistory.lastIntegerZoom?{from:t,to:e}:{from:r,to:e}},Ai.prototype.interpolate=function(t){return t};var Mi=function(t){this.specification=t};Mi.prototype.possiblyEvaluate=function(t,e,r,n){return!!t.expression.evaluate(e,null,{},r,n)},Mi.prototype.interpolate=function(){return!1};var Si=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 mi(r);this.defaultTransitioningPropertyValues[e]=i.untransitioned(),this.defaultPossiblyEvaluatedValues[e]=n.possiblyEvaluate({})}};Nn(\"DataDrivenProperty\",Ti),Nn(\"DataConstantProperty\",wi),Nn(\"CrossFadedDataDrivenProperty\",ki),Nn(\"CrossFadedProperty\",Ai),Nn(\"ColorRampProperty\",Mi);var Ei=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&&(e=e,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 xi(r.layout)),r.paint)){for(var n in this._transitionablePaint=new gi(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 _i(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(In,n,t,e,r))return}\"visibility\"!==t?this._unevaluatedLayout.setValue(t,e):this.visibility=e},e.prototype.getPaintProperty=function(t){return g(t,\"-transition\")?this._transitionablePaint.getTransition(t.slice(0,-\"-transition\".length)):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(Pn,n,t,e,r))return!1}if(g(t,\"-transition\"))return this._transitionablePaint.setTransition(t.slice(0,-\"-transition\".length),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.minzoom)||(!!(this.maxzoom&&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),y(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)&&On(this,t.call(Ln,{key:e,layerType:this.type,objectKey:r,value:n,styleSpec:Lt,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 bi&&zr(e.property.specification)&&((\"source\"===e.value.kind||\"composite\"===e.value.kind)&&e.value.isStateDependent))return!0}return!1},e}(Et),Li={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array},Ci=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},Pi=function(){this.isTransferred=!1,this.capacity=-1,this.resize(0)};function Ii(t,e){void 0===e&&(e=1);var r=0,n=0;return{members:t.map((function(t){var i,a=(i=t.type,Li[i].BYTES_PER_ELEMENT),o=r=Oi(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:Oi(r,Math.max(n,e)),alignment:e}}function Oi(t,e){return Math.ceil(t/e)*e}Pi.serialize=function(t,e){return t._trim(),e&&(t.isTransferred=!0,e.push(t.arrayBuffer)),{length:t.length,arrayBuffer:t.arrayBuffer}},Pi.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},Pi.prototype._trim=function(){this.length!==this.capacity&&(this.capacity=this.length,this.arrayBuffer=this.arrayBuffer.slice(0,this.length*this.bytesPerElement),this._refreshViews())},Pi.prototype.clear=function(){this.length=0},Pi.prototype.resize=function(t){this.reserve(t),this.length=t},Pi.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)}},Pi.prototype._refreshViews=function(){throw new Error(\"_refreshViews() must be implemented by each concrete StructArray layout\")};var zi=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}(Pi);zi.prototype.bytesPerElement=4,Nn(\"StructArrayLayout2i4\",zi);var Di=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}(Pi);Di.prototype.bytesPerElement=8,Nn(\"StructArrayLayout4i8\",Di);var Ri=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}(Pi);Ri.prototype.bytesPerElement=12,Nn(\"StructArrayLayout2i4i12\",Ri);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._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}(Pi);Fi.prototype.bytesPerElement=8,Nn(\"StructArrayLayout2i4ub8\",Fi);var Bi=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 f=9*t,h=18*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.uint8[h+16]=c,this.uint8[h+17]=u,t},e}(Pi);Bi.prototype.bytesPerElement=18,Nn(\"StructArrayLayout8ui2ub18\",Bi);var Ni=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,f){var h=this.length;return this.resize(h+1),this.emplace(h,t,e,r,n,i,a,o,s,l,c,u,f)},e.prototype.emplace=function(t,e,r,n,i,a,o,s,l,c,u,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]=c,this.int16[p+9]=u,this.int16[p+10]=f,this.int16[p+11]=h,t},e}(Pi);Ni.prototype.bytesPerElement=24,Nn(\"StructArrayLayout4i4ui4i24\",Ni);var ji=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}(Pi);ji.prototype.bytesPerElement=12,Nn(\"StructArrayLayout3f12\",ji);var Ui=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}(Pi);Ui.prototype.bytesPerElement=4,Nn(\"StructArrayLayout1ul4\",Ui);var Vi=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,f=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[f+3]=s,this.uint16[u+8]=l,this.uint16[u+9]=c,t},e}(Pi);Vi.prototype.bytesPerElement=20,Nn(\"StructArrayLayout6i1ul2ui20\",Vi);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._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}(Pi);Hi.prototype.bytesPerElement=12,Nn(\"StructArrayLayout2i2i2i12\",Hi);var qi=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}(Pi);qi.prototype.bytesPerElement=16,Nn(\"StructArrayLayout2f1f2i16\",qi);var Gi=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}(Pi);Gi.prototype.bytesPerElement=12,Nn(\"StructArrayLayout2ub2f12\",Gi);var Yi=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}(Pi);Yi.prototype.bytesPerElement=6,Nn(\"StructArrayLayout3ui6\",Yi);var Wi=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,f,h,p,d,m,g){var v=this.length;return this.resize(v+1),this.emplace(v,t,e,r,n,i,a,o,s,l,c,u,f,h,p,d,m,g)},e.prototype.emplace=function(t,e,r,n,i,a,o,s,l,c,u,f,h,p,d,m,g,v){var y=24*t,x=12*t,b=48*t;return this.int16[y+0]=e,this.int16[y+1]=r,this.uint16[y+2]=n,this.uint16[y+3]=i,this.uint32[x+2]=a,this.uint32[x+3]=o,this.uint32[x+4]=s,this.uint16[y+10]=l,this.uint16[y+11]=c,this.uint16[y+12]=u,this.float32[x+7]=f,this.float32[x+8]=h,this.uint8[b+36]=p,this.uint8[b+37]=d,this.uint8[b+38]=m,this.uint32[x+10]=g,this.int16[y+22]=v,t},e}(Pi);Wi.prototype.bytesPerElement=48,Nn(\"StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48\",Wi);var Xi=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,f,h,p,d,m,g,v,y,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,f,h,p,d,m,g,v,y,x,b,_,w,T,k,A,M,S)},e.prototype.emplace=function(t,e,r,n,i,a,o,s,l,c,u,f,h,p,d,m,g,v,y,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]=c,this.uint16[L+9]=u,this.uint16[L+10]=f,this.uint16[L+11]=h,this.uint16[L+12]=p,this.uint16[L+13]=d,this.uint16[L+14]=m,this.uint16[L+15]=g,this.uint16[L+16]=v,this.uint16[L+17]=y,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}(Pi);Xi.prototype.bytesPerElement=68,Nn(\"StructArrayLayout8i15ui1ul4f68\",Xi);var Zi=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}(Pi);Zi.prototype.bytesPerElement=4,Nn(\"StructArrayLayout1f4\",Zi);var Ji=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}(Pi);Ji.prototype.bytesPerElement=6,Nn(\"StructArrayLayout3i6\",Ji);var 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.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}(Pi);Ki.prototype.bytesPerElement=8,Nn(\"StructArrayLayout1ul2ui8\",Ki);var Qi=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}(Pi);Qi.prototype.bytesPerElement=4,Nn(\"StructArrayLayout2ui4\",Qi);var $i=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}(Pi);$i.prototype.bytesPerElement=2,Nn(\"StructArrayLayout1ui2\",$i);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){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}(Pi);ta.prototype.bytesPerElement=8,Nn(\"StructArrayLayout2f8\",ta);var ea=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}(Pi);ea.prototype.bytesPerElement=16,Nn(\"StructArrayLayout4f16\",ea);var ra=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 i(this.anchorPointX,this.anchorPointY)},Object.defineProperties(e.prototype,r),e}(Ci);ra.prototype.size=20;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.get=function(t){return new ra(this,t)},e}(Vi);Nn(\"CollisionBoxArray\",na);var ia=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}(Ci);ia.prototype.size=48;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 ia(this,t)},e}(Wi);Nn(\"PlacedSymbolArray\",aa);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={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}(Ci);oa.prototype.size=68;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 oa(this,t)},e}(Xi);Nn(\"SymbolInstanceArray\",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.getoffsetX=function(t){return this.float32[1*t+0]},e}(Zi);Nn(\"GlyphOffsetArray\",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.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}(Ji);Nn(\"SymbolLineVertexArray\",ca);var ua=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}(Ci);ua.prototype.size=8;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.get=function(t){return new ua(this,t)},e}(Ki);Nn(\"FeatureIndexArray\",fa);var ha=Ii([{name:\"a_pos\",components:2,type:\"Int16\"}],4).members,pa=function(t){void 0===t&&(t=[]),this.segments=t};function da(t,e){return 256*(t=l(Math.floor(t),0,255))+(e=l(Math.floor(e),0,255))}pa.prototype.prepareSegment=function(t,e,r,n){var i=this.segments[this.segments.length-1];return t>pa.MAX_VERTEX_ARRAY_LENGTH&&_(\"Max vertices per segment is \"+pa.MAX_VERTEX_ARRAY_LENGTH+\": bucket requested \"+t),(!i||i.vertexLength+t>pa.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},pa.prototype.get=function(){return this.segments},pa.prototype.destroy=function(){for(var t=0,e=this.segments;t<e.length;t+=1){var r=e[t];for(var n in r.vaos)r.vaos[n].destroy()}},pa.simpleSegment=function(t,e,r,n){return new pa([{vertexOffset:t,primitiveOffset:e,vertexLength:r,primitiveLength:n,vaos:{},sortKey:0}])},pa.MAX_VERTEX_ARRAY_LENGTH=Math.pow(2,16)-1,Nn(\"SegmentVector\",pa);var ma=Ii([{name:\"a_pattern_from\",components:4,type:\"Uint16\"},{name:\"a_pattern_to\",components:4,type:\"Uint16\"},{name:\"a_pixel_ratio_from\",components:1,type:\"Uint8\"},{name:\"a_pixel_ratio_to\",components:1,type:\"Uint8\"}]),ga=e((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<n;)l=255&t.charCodeAt(c)|(255&t.charCodeAt(++c))<<8|(255&t.charCodeAt(++c))<<16|(255&t.charCodeAt(++c))<<24,++c,i=27492+(65535&(a=5*(65535&(i=(i^=l=(65535&(l=(l=(65535&l)*o+(((l>>>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}})),va=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}})),ya=ga,xa=ga,ba=va;ya.murmur3=xa,ya.murmur2=ba;var _a=function(){this.ids=[],this.positions=[],this.indexed=!1};_a.prototype.add=function(t,e,r,n){this.ids.push(Ta(t)),this.positions.push(e,r,n)},_a.prototype.getPositions=function(t){for(var e=Ta(t),r=0,n=this.ids.length-1;r<n;){var i=r+n>>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},_a.serialize=function(t,e){var r=new Float64Array(t.ids),n=new Uint32Array(t.positions);return function t(e,r,n,i){for(;n<i;){for(var a=e[n+i>>1],o=n-1,s=i+1;;){do{o++}while(e[o]<a);do{s--}while(e[s]>a);if(o>=s)break;ka(e,o,s),ka(r,3*o,3*s),ka(r,3*o+1,3*s+1),ka(r,3*o+2,3*s+2)}s-n<i-s?(t(e,r,n,s),n=s+1):(t(e,r,s+1,i),i=s)}}(r,n,0,r.length-1),e&&e.push(r.buffer,n.buffer),{ids:r,positions:n}},_a.deserialize=function(t){var e=new _a;return e.ids=t.ids,e.positions=t.positions,e.indexed=!0,e};var wa=Math.pow(2,53)-1;function Ta(t){var e=+t;return!isNaN(e)&&e<=wa?e:ya(String(t))}function ka(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}Nn(\"FeaturePositionMap\",_a);var Aa=function(t,e){this.gl=t.gl,this.location=e},Ma=function(t){function e(e,r){t.call(this,e,r),this.current=0}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.set=function(t){this.current!==t&&(this.current=t,this.gl.uniform1i(this.location,t))},e}(Aa),Sa=function(t){function e(e,r){t.call(this,e,r),this.current=0}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.set=function(t){this.current!==t&&(this.current=t,this.gl.uniform1f(this.location,t))},e}(Aa),Ea=function(t){function e(e,r){t.call(this,e,r),this.current=[0,0]}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.set=function(t){t[0]===this.current[0]&&t[1]===this.current[1]||(this.current=t,this.gl.uniform2f(this.location,t[0],t[1]))},e}(Aa),La=function(t){function e(e,r){t.call(this,e,r),this.current=[0,0,0]}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.set=function(t){t[0]===this.current[0]&&t[1]===this.current[1]&&t[2]===this.current[2]||(this.current=t,this.gl.uniform3f(this.location,t[0],t[1],t[2]))},e}(Aa),Ca=function(t){function e(e,r){t.call(this,e,r),this.current=[0,0,0,0]}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.set=function(t){t[0]===this.current[0]&&t[1]===this.current[1]&&t[2]===this.current[2]&&t[3]===this.current[3]||(this.current=t,this.gl.uniform4f(this.location,t[0],t[1],t[2],t[3]))},e}(Aa),Pa=function(t){function e(e,r){t.call(this,e,r),this.current=te.transparent}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.set=function(t){t.r===this.current.r&&t.g===this.current.g&&t.b===this.current.b&&t.a===this.current.a||(this.current=t,this.gl.uniform4f(this.location,t.r,t.g,t.b,t.a))},e}(Aa),Ia=new Float32Array(16),Oa=function(t){function e(e,r){t.call(this,e,r),this.current=Ia}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.set=function(t){if(t[12]!==this.current[12]||t[0]!==this.current[0])return this.current=t,void this.gl.uniformMatrix4fv(this.location,!1,t);for(var e=1;e<16;e++)if(t[e]!==this.current[e]){this.current=t,this.gl.uniformMatrix4fv(this.location,!1,t);break}},e}(Aa);function za(t){return[da(255*t.r,255*t.g),da(255*t.b,255*t.a)]}var Da=function(t,e,r){this.value=t,this.uniformNames=e.map((function(t){return\"u_\"+t})),this.type=r};Da.prototype.setUniform=function(t,e,r){t.set(r.constantOr(this.value))},Da.prototype.getBinding=function(t,e,r){return\"color\"===this.type?new Pa(t,e):new Sa(t,e)};var Ra=function(t,e){this.uniformNames=e.map((function(t){return\"u_\"+t})),this.patternFrom=null,this.patternTo=null,this.pixelRatioFrom=1,this.pixelRatioTo=1};Ra.prototype.setConstantPatternPositions=function(t,e){this.pixelRatioFrom=e.pixelRatio,this.pixelRatioTo=t.pixelRatio,this.patternFrom=e.tlbr,this.patternTo=t.tlbr},Ra.prototype.setUniform=function(t,e,r,n){var 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)},Ra.prototype.getBinding=function(t,e,r){return\"u_pattern\"===r.substr(0,9)?new Ca(t,e):new Sa(t,e)};var Fa=function(t,e,r,n){this.expression=t,this.type=r,this.maxValue=0,this.paintVertexAttributes=e.map((function(t){return{name:\"a_\"+t,type:\"Float32\",components:\"color\"===r?2:1,offset:0}})),this.paintVertexArray=new n};Fa.prototype.populatePaintArray=function(t,e,r,n,i){var a=this.paintVertexArray.length,o=this.expression.evaluate(new pi(0),e,{},n,[],i);this.paintVertexArray.resize(t),this._setPaintValue(a,t,o)},Fa.prototype.updatePaintArray=function(t,e,r,n){var i=this.expression.evaluate({zoom:0},r,n);this._setPaintValue(t,e,i)},Fa.prototype._setPaintValue=function(t,e,r){if(\"color\"===this.type)for(var n=za(r),i=t;i<e;i++)this.paintVertexArray.emplace(i,n[0],n[1]);else{for(var a=t;a<e;a++)this.paintVertexArray.emplace(a,r);this.maxValue=Math.max(this.maxValue,Math.abs(r))}},Fa.prototype.upload=function(t){this.paintVertexArray&&this.paintVertexArray.arrayBuffer&&(this.paintVertexBuffer&&this.paintVertexBuffer.buffer?this.paintVertexBuffer.updateData(this.paintVertexArray):this.paintVertexBuffer=t.createVertexBuffer(this.paintVertexArray,this.paintVertexAttributes,this.expression.isStateDependent))},Fa.prototype.destroy=function(){this.paintVertexBuffer&&this.paintVertexBuffer.destroy()};var Ba=function(t,e,r,n,i,a){this.expression=t,this.uniformNames=e.map((function(t){return\"u_\"+t+\"_t\"})),this.type=r,this.useIntegerZoom=n,this.zoom=i,this.maxValue=0,this.paintVertexAttributes=e.map((function(t){return{name:\"a_\"+t,type:\"Float32\",components:\"color\"===r?4:2,offset:0}})),this.paintVertexArray=new a};Ba.prototype.populatePaintArray=function(t,e,r,n,i){var a=this.expression.evaluate(new pi(this.zoom),e,{},n,[],i),o=this.expression.evaluate(new pi(this.zoom+1),e,{},n,[],i),s=this.paintVertexArray.length;this.paintVertexArray.resize(t),this._setPaintValue(s,t,a,o)},Ba.prototype.updatePaintArray=function(t,e,r,n){var 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)},Ba.prototype._setPaintValue=function(t,e,r,n){if(\"color\"===this.type)for(var i=za(r),a=za(n),o=t;o<e;o++)this.paintVertexArray.emplace(o,i[0],i[1],a[0],a[1]);else{for(var s=t;s<e;s++)this.paintVertexArray.emplace(s,r,n);this.maxValue=Math.max(this.maxValue,Math.abs(r),Math.abs(n))}},Ba.prototype.upload=function(t){this.paintVertexArray&&this.paintVertexArray.arrayBuffer&&(this.paintVertexBuffer&&this.paintVertexBuffer.buffer?this.paintVertexBuffer.updateData(this.paintVertexArray):this.paintVertexBuffer=t.createVertexBuffer(this.paintVertexArray,this.paintVertexAttributes,this.expression.isStateDependent))},Ba.prototype.destroy=function(){this.paintVertexBuffer&&this.paintVertexBuffer.destroy()},Ba.prototype.setUniform=function(t,e){var r=this.useIntegerZoom?Math.floor(e.zoom):e.zoom,n=l(this.expression.interpolationFactor(r,this.zoom,this.zoom+1),0,1);t.set(n)},Ba.prototype.getBinding=function(t,e,r){return new Sa(t,e)};var Na=function(t,e,r,n,i,a){this.expression=t,this.type=e,this.useIntegerZoom=r,this.zoom=n,this.layerId=a,this.zoomInPaintVertexArray=new i,this.zoomOutPaintVertexArray=new i};Na.prototype.populatePaintArray=function(t,e,r){var n=this.zoomInPaintVertexArray.length;this.zoomInPaintVertexArray.resize(t),this.zoomOutPaintVertexArray.resize(t),this._setPaintValues(n,t,e.patterns&&e.patterns[this.layerId],r)},Na.prototype.updatePaintArray=function(t,e,r,n,i){this._setPaintValues(t,e,r.patterns&&r.patterns[this.layerId],i)},Na.prototype._setPaintValues=function(t,e,r,n){if(n&&r){var i=r.min,a=r.mid,o=r.max,s=n[i],l=n[a],c=n[o];if(s&&l&&c)for(var u=t;u<e;u++)this.zoomInPaintVertexArray.emplace(u,l.tl[0],l.tl[1],l.br[0],l.br[1],s.tl[0],s.tl[1],s.br[0],s.br[1],l.pixelRatio,s.pixelRatio),this.zoomOutPaintVertexArray.emplace(u,l.tl[0],l.tl[1],l.br[0],l.br[1],c.tl[0],c.tl[1],c.br[0],c.br[1],l.pixelRatio,c.pixelRatio)}},Na.prototype.upload=function(t){this.zoomInPaintVertexArray&&this.zoomInPaintVertexArray.arrayBuffer&&this.zoomOutPaintVertexArray&&this.zoomOutPaintVertexArray.arrayBuffer&&(this.zoomInPaintVertexBuffer=t.createVertexBuffer(this.zoomInPaintVertexArray,ma.members,this.expression.isStateDependent),this.zoomOutPaintVertexBuffer=t.createVertexBuffer(this.zoomOutPaintVertexArray,ma.members,this.expression.isStateDependent))},Na.prototype.destroy=function(){this.zoomOutPaintVertexBuffer&&this.zoomOutPaintVertexBuffer.destroy(),this.zoomInPaintVertexBuffer&&this.zoomInPaintVertexBuffer.destroy()};var ja=function(t,e,r,n){this.binders={},this.layoutAttributes=n,this._buffers=[];var i=[];for(var a in t.paint._values)if(r(a)){var o=t.paint.get(a);if(o instanceof bi&&zr(o.property.specification)){var s=Va(a,t.type),l=o.value,c=o.property.specification.type,u=o.property.useIntegerZoom,f=o.property.specification[\"property-type\"],h=\"cross-faded\"===f||\"cross-faded-data-driven\"===f;if(\"constant\"===l.kind)this.binders[a]=h?new Ra(l.value,s):new Da(l.value,s,c),i.push(\"/u_\"+a);else if(\"source\"===l.kind||h){var p=Ha(a,c,\"source\");this.binders[a]=h?new Na(l,c,u,e,p,t.id):new Fa(l,s,c,p),i.push(\"/a_\"+a)}else{var d=Ha(a,c,\"composite\");this.binders[a]=new Ba(l,s,c,u,e,d),i.push(\"/z_\"+a)}}}this.cacheKey=i.sort().join(\"\")};ja.prototype.getMaxValue=function(t){var e=this.binders[t];return e instanceof Fa||e instanceof Ba?e.maxValue:0},ja.prototype.populatePaintArrays=function(t,e,r,n,i){for(var a in this.binders){var o=this.binders[a];(o instanceof Fa||o instanceof Ba||o instanceof Na)&&o.populatePaintArray(t,e,r,n,i)}},ja.prototype.setConstantPatternPositions=function(t,e){for(var r in this.binders){var n=this.binders[r];n instanceof Ra&&n.setConstantPatternPositions(t,e)}},ja.prototype.updatePaintArrays=function(t,e,r,n,i){var a=!1;for(var o in t)for(var s=0,l=e.getPositions(o);s<l.length;s+=1){var c=l[s],u=r.feature(c.index);for(var f in this.binders){var h=this.binders[f];if((h instanceof Fa||h instanceof Ba||h instanceof Na)&&!0===h.expression.isStateDependent){var p=n.paint.get(f);h.expression=p.value,h.updatePaintArray(c.start,c.end,u,t[o],i),a=!0}}}return a},ja.prototype.defines=function(){var t=[];for(var e in this.binders){var r=this.binders[e];(r instanceof Da||r instanceof Ra)&&t.push.apply(t,r.uniformNames.map((function(t){return\"#define HAS_UNIFORM_\"+t})))}return t},ja.prototype.getPaintVertexBuffers=function(){return this._buffers},ja.prototype.getUniforms=function(t,e){var r=[];for(var n in this.binders){var i=this.binders[n];if(i instanceof Da||i instanceof Ra||i instanceof Ba)for(var a=0,o=i.uniformNames;a<o.length;a+=1){var s=o[a];if(e[s]){var l=i.getBinding(t,e[s],s);r.push({name:s,property:n,binding:l})}}}return r},ja.prototype.setUniforms=function(t,e,r,n){for(var i=0,a=e;i<a.length;i+=1){var o=a[i],s=o.name,l=o.property,c=o.binding;this.binders[l].setUniform(c,n,r.get(l),s)}},ja.prototype.updatePaintBuffers=function(t){for(var e in this._buffers=[],this.binders){var r=this.binders[e];if(t&&r instanceof Na){var n=2===t.fromScale?r.zoomInPaintVertexBuffer:r.zoomOutPaintVertexBuffer;n&&this._buffers.push(n)}else(r instanceof Fa||r instanceof Ba)&&r.paintVertexBuffer&&this._buffers.push(r.paintVertexBuffer)}},ja.prototype.upload=function(t){for(var e in this.binders){var r=this.binders[e];(r instanceof Fa||r instanceof Ba||r instanceof Na)&&r.upload(t)}this.updatePaintBuffers()},ja.prototype.destroy=function(){for(var t in this.binders){var e=this.binders[t];(e instanceof Fa||e instanceof Ba||e instanceof Na)&&e.destroy()}};var Ua=function(t,e,r,n){void 0===n&&(n=function(){return!0}),this.programConfigurations={};for(var i=0,a=e;i<a.length;i+=1){var o=a[i];this.programConfigurations[o.id]=new ja(o,r,n,t)}this.needsUpload=!1,this._featureMap=new _a,this._bufferOffset=0};function Va(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 Ha(t,e,r){var n={color:{source:ta,composite:ea},number:{source:Zi,composite:ta}},i=function(t){return{\"line-pattern\":{source:Bi,composite:Bi},\"fill-pattern\":{source:Bi,composite:Bi},\"fill-extrusion-pattern\":{source:Bi,composite:Bi}}[t]}(t);return i&&i[r]||n[e][r]}Ua.prototype.populatePaintArrays=function(t,e,r,n,i,a){for(var o in this.programConfigurations)this.programConfigurations[o].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},Ua.prototype.updatePaintArrays=function(t,e,r,n){for(var i=0,a=r;i<a.length;i+=1){var o=a[i];this.needsUpload=this.programConfigurations[o.id].updatePaintArrays(t,this._featureMap,e,o,n)||this.needsUpload}},Ua.prototype.get=function(t){return this.programConfigurations[t]},Ua.prototype.upload=function(t){if(this.needsUpload){for(var e in this.programConfigurations)this.programConfigurations[e].upload(t);this.needsUpload=!1}},Ua.prototype.destroy=function(){for(var t in this.programConfigurations)this.programConfigurations[t].destroy()},Nn(\"ConstantBinder\",Da),Nn(\"CrossFadedConstantBinder\",Ra),Nn(\"SourceExpressionBinder\",Fa),Nn(\"CrossFadedCompositeBinder\",Na),Nn(\"CompositeExpressionBinder\",Ba),Nn(\"ProgramConfiguration\",ja,{omit:[\"_buffers\"]}),Nn(\"ProgramConfigurationSet\",Ua);var qa,Ga=(qa=15,{min:-1*Math.pow(2,qa-1),max:Math.pow(2,qa-1)-1});function Ya(t){for(var e=8192/t.extent,r=t.loadGeometry(),n=0;n<r.length;n++)for(var i=r[n],a=0;a<i.length;a++){var o=i[a];o.x=Math.round(o.x*e),o.y=Math.round(o.y*e),(o.x<Ga.min||o.x>Ga.max||o.y<Ga.min||o.y>Ga.max)&&(_(\"Geometry exceeds allowed extent, reduce your vector tile buffer size\"),o.x=l(o.x,Ga.min,Ga.max),o.y=l(o.y,Ga.min,Ga.max))}return r}function Wa(t,e,r,n,i){t.emplaceBack(2*e+(n+1)/2,2*r+(i+1)/2)}var Xa=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 zi,this.indexArray=new Yi,this.segments=new pa,this.programConfigurations=new Ua(ha,t.layers,t.zoom),this.stateDependentLayerIds=this.layers.filter((function(t){return t.isStateDependent()})).map((function(t){return t.id}))};function Za(t,e){for(var r=0;r<t.length;r++)if(io(e,t[r]))return!0;for(var n=0;n<e.length;n++)if(io(t,e[n]))return!0;return!!$a(t,e)}function Ja(t,e,r){return!!io(t,e)||!!eo(e,t,r)}function Ka(t,e){if(1===t.length)return no(e,t[0]);for(var r=0;r<e.length;r++)for(var n=e[r],i=0;i<n.length;i++)if(io(t,n[i]))return!0;for(var a=0;a<t.length;a++)if(no(e,t[a]))return!0;for(var o=0;o<e.length;o++)if($a(t,e[o]))return!0;return!1}function Qa(t,e,r){if(t.length>1){if($a(t,e))return!0;for(var n=0;n<e.length;n++)if(eo(e[n],t,r))return!0}for(var i=0;i<t.length;i++)if(eo(t[i],e,r))return!0;return!1}function $a(t,e){if(0===t.length||0===e.length)return!1;for(var r=0;r<t.length-1;r++)for(var n=t[r],i=t[r+1],a=0;a<e.length-1;a++){if(to(n,i,e[a],e[a+1]))return!0}return!1}function to(t,e,r,n){return w(t,r,n)!==w(e,r,n)&&w(t,e,r)!==w(t,e,n)}function eo(t,e,r){var n=r*r;if(1===e.length)return t.distSqr(e[0])<n;for(var i=1;i<e.length;i++){if(ro(t,e[i-1],e[i])<n)return!0}return!1}function ro(t,e,r){var n=e.distSqr(r);if(0===n)return t.distSqr(e);var i=((t.x-e.x)*(r.x-e.x)+(t.y-e.y)*(r.y-e.y))/n;return i<0?t.distSqr(e):i>1?t.distSqr(r):t.distSqr(r.sub(e)._mult(i)._add(e))}function no(t,e){for(var r,n,i,a=!1,o=0;o<t.length;o++)for(var s=0,l=(r=t[o]).length-1;s<r.length;l=s++)n=r[s],i=r[l],n.y>e.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 io(t,e){for(var r=!1,n=0,i=t.length-1;n<t.length;i=n++){var a=t[n],o=t[i];a.y>e.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 ao(t,e,r){var n=r[0],i=r[2];if(t.x<n.x&&e.x<n.x||t.x>i.x&&e.x>i.x||t.y<n.y&&e.y<n.y||t.y>i.y&&e.y>i.y)return!1;var a=w(t,e,r[0]);return a!==w(t,e,r[1])||a!==w(t,e,r[2])||a!==w(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 so(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1])}function lo(t,e,r,n,a){if(!e[0]&&!e[1])return t;var o=i.convert(e)._mult(a);\"viewport\"===r&&o._rotate(-n);for(var s=[],l=0;l<t.length;l++){var c=t[l];s.push(c.sub(o))}return s}Xa.prototype.populate=function(t,e,r){var n=this.layers[0],i=[],a=null;\"circle\"===n.type&&(a=n.layout.get(\"circle-sort-key\"));for(var o=0,s=t;o<s.length;o+=1){var l=s[o],c=l.feature,u=l.id,f=l.index,h=l.sourceLayerIndex,p=this.layers[0]._featureFilter.needGeometry,d={type:c.type,id:u,properties:c.properties,geometry:p?Ya(c):[]};if(this.layers[0]._featureFilter.filter(new pi(this.zoom),d,r)){p||(d.geometry=Ya(c));var m=a?a.evaluate(d,{},r):void 0,g={id:u,properties:c.properties,type:c.type,sourceLayerIndex:h,index:f,geometry:d.geometry,patterns:{},sortKey:m};i.push(g)}}a&&i.sort((function(t,e){return t.sortKey-e.sortKey}));for(var v=0,y=i;v<y.length;v+=1){var x=y[v],b=x,_=b.geometry,w=b.index,T=b.sourceLayerIndex,k=t[w].feature;this.addFeature(x,_,w,r),e.featureIndex.insert(k,_,w,T,this.index)}},Xa.prototype.update=function(t,e,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,r)},Xa.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length},Xa.prototype.uploadPending=function(){return!this.uploaded||this.programConfigurations.needsUpload},Xa.prototype.upload=function(t){this.uploaded||(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,ha),this.indexBuffer=t.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(t),this.uploaded=!0},Xa.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())},Xa.prototype.addFeature=function(t,e,r,n){for(var i=0,a=e;i<a.length;i+=1)for(var o=0,s=a[i];o<s.length;o+=1){var l=s[o],c=l.x,u=l.y;if(!(c<0||c>=8192||u<0||u>=8192)){var f=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray,t.sortKey),h=f.vertexLength;Wa(this.layoutVertexArray,c,u,-1,-1),Wa(this.layoutVertexArray,c,u,1,-1),Wa(this.layoutVertexArray,c,u,1,1),Wa(this.layoutVertexArray,c,u,-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)},Nn(\"CircleBucket\",Xa,{omit:[\"layers\"]});var co=new Si({\"circle-sort-key\":new Ti(Lt.layout_circle[\"circle-sort-key\"])}),uo={paint:new Si({\"circle-radius\":new Ti(Lt.paint_circle[\"circle-radius\"]),\"circle-color\":new Ti(Lt.paint_circle[\"circle-color\"]),\"circle-blur\":new Ti(Lt.paint_circle[\"circle-blur\"]),\"circle-opacity\":new Ti(Lt.paint_circle[\"circle-opacity\"]),\"circle-translate\":new wi(Lt.paint_circle[\"circle-translate\"]),\"circle-translate-anchor\":new wi(Lt.paint_circle[\"circle-translate-anchor\"]),\"circle-pitch-scale\":new wi(Lt.paint_circle[\"circle-pitch-scale\"]),\"circle-pitch-alignment\":new wi(Lt.paint_circle[\"circle-pitch-alignment\"]),\"circle-stroke-width\":new Ti(Lt.paint_circle[\"circle-stroke-width\"]),\"circle-stroke-color\":new Ti(Lt.paint_circle[\"circle-stroke-color\"]),\"circle-stroke-opacity\":new Ti(Lt.paint_circle[\"circle-stroke-opacity\"])}),layout:co},fo=\"undefined\"!=typeof Float32Array?Float32Array:Array;function ho(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 po(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],f=e[8],h=e[9],p=e[10],d=e[11],m=e[12],g=e[13],v=e[14],y=e[15],x=r[0],b=r[1],_=r[2],w=r[3];return t[0]=x*n+b*s+_*f+w*m,t[1]=x*i+b*l+_*h+w*g,t[2]=x*a+b*c+_*p+w*v,t[3]=x*o+b*u+_*d+w*y,x=r[4],b=r[5],_=r[6],w=r[7],t[4]=x*n+b*s+_*f+w*m,t[5]=x*i+b*l+_*h+w*g,t[6]=x*a+b*c+_*p+w*v,t[7]=x*o+b*u+_*d+w*y,x=r[8],b=r[9],_=r[10],w=r[11],t[8]=x*n+b*s+_*f+w*m,t[9]=x*i+b*l+_*h+w*g,t[10]=x*a+b*c+_*p+w*v,t[11]=x*o+b*u+_*d+w*y,x=r[12],b=r[13],_=r[14],w=r[15],t[12]=x*n+b*s+_*f+w*m,t[13]=x*i+b*l+_*h+w*g,t[14]=x*a+b*c+_*p+w*v,t[15]=x*o+b*u+_*d+w*y,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 mo=po;var go,vo,yo=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t};go=new fo(3),fo!=Float32Array&&(go[0]=0,go[1]=0,go[2]=0),vo=go;function xo(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}!function(){var t=function(){var t=new fo(4);return fo!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0,t[3]=0),t}()}();var bo=function(t){var e=t[0],r=t[1];return e*e+r*r},_o=(function(){var t=function(){var t=new fo(2);return fo!=Float32Array&&(t[0]=0,t[1]=0),t}()}(),function(t){function e(e){t.call(this,e,uo)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.createBucket=function(t){return new Xa(t)},e.prototype.queryRadius=function(t){var e=t;return oo(\"circle-radius\",this,e)+oo(\"circle-stroke-width\",this,e)+so(this.paint.get(\"circle-translate\"))},e.prototype.queryIntersectsFeature=function(t,e,r,n,i,a,o,s){for(var l=lo(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\"),f=u?l:function(t,e){return t.map((function(t){return wo(t,e)}))}(l,s),h=u?c*o:c,p=0,d=n;p<d.length;p+=1)for(var m=0,g=d[p];m<g.length;m+=1){var v=g[m],y=u?v:wo(v,s),x=h,b=xo([],[v.x,v.y,0,1],s);if(\"viewport\"===this.paint.get(\"circle-pitch-scale\")&&\"map\"===this.paint.get(\"circle-pitch-alignment\")?x*=b[3]/a.cameraToCenterDistance:\"map\"===this.paint.get(\"circle-pitch-scale\")&&\"viewport\"===this.paint.get(\"circle-pitch-alignment\")&&(x*=a.cameraToCenterDistance/b[3]),Ja(f,y,x))return!0}return!1},e}(Ei));function wo(t,e){var r=xo([],[t.x,t.y,0,1],e);return new i(r[0]/r[3],r[1]/r[3])}var To=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}(Xa);function ko(t,e,r,n){var i=e.width,a=e.height;if(n){if(n instanceof Uint8ClampedArray)n=new Uint8Array(n.buffer);else if(n.length!==i*a*r)throw new RangeError(\"mismatched image size\")}else n=new Uint8Array(i*a*r);return t.width=i,t.height=a,t.data=n,t}function Ao(t,e,r){var n=e.width,i=e.height;if(n!==t.width||i!==t.height){var a=ko({},{width:n,height:i},r);Mo(t,a,{x:0,y:0},{x:0,y:0},{width:Math.min(t.width,n),height:Math.min(t.height,i)},r),t.width=n,t.height=i,t.data=a.data}}function Mo(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\");for(var o=t.data,s=e.data,l=0;l<i.height;l++)for(var c=((r.y+l)*t.width+r.x)*a,u=((n.y+l)*e.width+n.x)*a,f=0;f<i.width*a;f++)s[u+f]=o[c+f];return e}Nn(\"HeatmapBucket\",To,{omit:[\"layers\"]});var So=function(t,e){ko(this,t,1,e)};So.prototype.resize=function(t){Ao(this,t,1)},So.prototype.clone=function(){return new So({width:this.width,height:this.height},new Uint8Array(this.data))},So.copy=function(t,e,r,n,i){Mo(t,e,r,n,i,1)};var Eo=function(t,e){ko(this,t,4,e)};Eo.prototype.resize=function(t){Ao(this,t,4)},Eo.prototype.replace=function(t,e){e?this.data.set(t):t instanceof Uint8ClampedArray?this.data=new Uint8Array(t.buffer):this.data=t},Eo.prototype.clone=function(){return new Eo({width:this.width,height:this.height},new Uint8Array(this.data))},Eo.copy=function(t,e,r,n,i){Mo(t,e,r,n,i,4)},Nn(\"AlphaImage\",So),Nn(\"RGBAImage\",Eo);var Lo={paint:new Si({\"heatmap-radius\":new Ti(Lt.paint_heatmap[\"heatmap-radius\"]),\"heatmap-weight\":new Ti(Lt.paint_heatmap[\"heatmap-weight\"]),\"heatmap-intensity\":new wi(Lt.paint_heatmap[\"heatmap-intensity\"]),\"heatmap-color\":new Mi(Lt.paint_heatmap[\"heatmap-color\"]),\"heatmap-opacity\":new wi(Lt.paint_heatmap[\"heatmap-opacity\"])})};function Co(t,e){for(var r=new Uint8Array(1024),n={},i=0,a=0;i<256;i++,a+=4){n[e]=i/255;var o=t.evaluate(n);r[a+0]=Math.floor(255*o.r/o.a),r[a+1]=Math.floor(255*o.g/o.a),r[a+2]=Math.floor(255*o.b/o.a),r[a+3]=Math.floor(255*o.a)}return new Eo({width:256,height:1},r)}var Po=function(t){function e(e){t.call(this,e,Lo),this._updateColorRamp()}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.createBucket=function(t){return new To(t)},e.prototype._handleSpecialPaintPropertyUpdate=function(t){\"heatmap-color\"===t&&this._updateColorRamp()},e.prototype._updateColorRamp=function(){var t=this._transitionablePaint._values[\"heatmap-color\"].value.expression;this.colorRamp=Co(t,\"heatmapDensity\"),this.colorRampTexture=null},e.prototype.resize=function(){this.heatmapFbo&&(this.heatmapFbo.destroy(),this.heatmapFbo=null)},e.prototype.queryRadius=function(){return 0},e.prototype.queryIntersectsFeature=function(){return!1},e.prototype.hasOffscreenPass=function(){return 0!==this.paint.get(\"heatmap-opacity\")&&\"none\"!==this.visibility},e}(Ei),Io={paint:new Si({\"hillshade-illumination-direction\":new wi(Lt.paint_hillshade[\"hillshade-illumination-direction\"]),\"hillshade-illumination-anchor\":new wi(Lt.paint_hillshade[\"hillshade-illumination-anchor\"]),\"hillshade-exaggeration\":new wi(Lt.paint_hillshade[\"hillshade-exaggeration\"]),\"hillshade-shadow-color\":new wi(Lt.paint_hillshade[\"hillshade-shadow-color\"]),\"hillshade-highlight-color\":new wi(Lt.paint_hillshade[\"hillshade-highlight-color\"]),\"hillshade-accent-color\":new wi(Lt.paint_hillshade[\"hillshade-accent-color\"])})},Oo=function(t){function e(e){t.call(this,e,Io)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.hasOffscreenPass=function(){return 0!==this.paint.get(\"hillshade-exaggeration\")&&\"none\"!==this.visibility},e}(Ei),zo=Ii([{name:\"a_pos\",components:2,type:\"Int16\"}],4).members,Do=Fo,Ro=Fo;function Fo(t,e,r){r=r||2;var n,i,a,o,s,l,c,u=e&&e.length,f=u?e[0]*r:t.length,h=Bo(t,0,f,r,!0),p=[];if(!h||h.next===h.prev)return p;if(u&&(h=function(t,e,r,n){var i,a,o,s,l,c=[];for(i=0,a=e.length;i<a;i++)o=e[i]*n,s=i<a-1?e[i+1]*n:t.length,(l=Bo(t,o,s,n,!1))===l.next&&(l.steiner=!0),c.push(Zo(l));for(c.sort(Go),i=0;i<c.length;i++)Yo(c[i],r),r=No(r,r.next);return r}(t,e,h,r)),t.length>80*r){n=a=t[0],i=o=t[1];for(var d=r;d<f;d+=r)(s=t[d])<n&&(n=s),(l=t[d+1])<i&&(i=l),s>a&&(a=s),l>o&&(o=l);c=0!==(c=Math.max(a-n,o-i))?1/c:0}return jo(h,p,r,n,i,c),p}function Bo(t,e,r,n,i){var a,o;if(i===ls(t,e,r,n)>0)for(a=e;a<r;a+=n)o=as(a,t[a],t[a+1],o);else for(a=r-n;a>=e;a-=n)o=as(a,t[a],t[a+1],o);return o&&$o(o,o.next)&&(os(o),o=o.next),o}function No(t,e){if(!t)return t;e||(e=t);var r,n=t;do{if(r=!1,n.steiner||!$o(n,n.next)&&0!==Qo(n.prev,n,n.next))n=n.next;else{if(os(n),(n=e=n.prev)===n.next)break;r=!0}}while(r||n!==e);return e}function jo(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=Xo(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;e<c&&(s++,n=n.nextZ);e++);for(l=c;s>0||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?Vo(t,n,i,a):Uo(t))e.push(s.i/r),e.push(t.i/r),e.push(l.i/r),os(t),t=l.next,c=l.next;else if((t=l)===c){o?1===o?jo(t=Ho(No(t),e,r),e,r,n,i,a,2):2===o&&qo(t,e,r,n,i,a):jo(No(t),e,r,n,i,a,1);break}}}function Uo(t){var e=t.prev,r=t,n=t.next;if(Qo(e,r,n)>=0)return!1;for(var i=t.next.next;i!==t.prev;){if(Jo(e.x,e.y,r.x,r.y,n.x,n.y,i.x,i.y)&&Qo(i.prev,i,i.next)>=0)return!1;i=i.next}return!0}function Vo(t,e,r,n){var i=t.prev,a=t,o=t.next;if(Qo(i,a,o)>=0)return!1;for(var s=i.x<a.x?i.x<o.x?i.x:o.x:a.x<o.x?a.x:o.x,l=i.y<a.y?i.y<o.y?i.y:o.y:a.y<o.y?a.y:o.y,c=i.x>a.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,f=Xo(s,l,e,r,n),h=Xo(c,u,e,r,n),p=t.prevZ,d=t.nextZ;p&&p.z>=f&&d&&d.z<=h;){if(p!==t.prev&&p!==t.next&&Jo(i.x,i.y,a.x,a.y,o.x,o.y,p.x,p.y)&&Qo(p.prev,p,p.next)>=0)return!1;if(p=p.prevZ,d!==t.prev&&d!==t.next&&Jo(i.x,i.y,a.x,a.y,o.x,o.y,d.x,d.y)&&Qo(d.prev,d,d.next)>=0)return!1;d=d.nextZ}for(;p&&p.z>=f;){if(p!==t.prev&&p!==t.next&&Jo(i.x,i.y,a.x,a.y,o.x,o.y,p.x,p.y)&&Qo(p.prev,p,p.next)>=0)return!1;p=p.prevZ}for(;d&&d.z<=h;){if(d!==t.prev&&d!==t.next&&Jo(i.x,i.y,a.x,a.y,o.x,o.y,d.x,d.y)&&Qo(d.prev,d,d.next)>=0)return!1;d=d.nextZ}return!0}function Ho(t,e,r){var n=t;do{var i=n.prev,a=n.next.next;!$o(i,a)&&ts(i,n,n.next,a)&&ns(i,a)&&ns(a,i)&&(e.push(i.i/r),e.push(n.i/r),e.push(a.i/r),os(n),os(n.next),n=t=a),n=n.next}while(n!==t);return No(n)}function qo(t,e,r,n,i,a){var o=t;do{for(var s=o.next.next;s!==o.prev;){if(o.i!==s.i&&Ko(o,s)){var l=is(o,s);return o=No(o,o.next),l=No(l,l.next),jo(o,e,r,n,i,a),void jo(l,e,r,n,i,a)}s=s.next}o=o.next}while(o!==t)}function Go(t,e){return t.x-e.x}function Yo(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.next.x?n:n.next}}n=n.next}while(n!==e);if(!r)return null;if(i===o)return r;var l,c=r,u=r.x,f=r.y,h=1/0;n=r;do{i>=n.x&&n.x>=u&&i!==n.x&&Jo(a<f?i:o,a,u,f,a<f?o:i,a,n.x,n.y)&&(l=Math.abs(a-n.y)/(i-n.x),ns(n,t)&&(l<h||l===h&&(n.x>r.x||n.x===r.x&&Wo(r,n)))&&(r=n,h=l)),n=n.next}while(n!==c);return r}(t,e)){var r=is(e,t);No(e,e.next),No(r,r.next)}}function Wo(t,e){return Qo(t.prev,t,e.prev)<0&&Qo(e.next,t,t.next)<0}function Xo(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 Zo(t){var e=t,r=t;do{(e.x<r.x||e.x===r.x&&e.y<r.y)&&(r=e),e=e.next}while(e!==t);return r}function Jo(t,e,r,n,i,a,o,s){return(i-o)*(e-s)-(t-o)*(a-s)>=0&&(t-o)*(n-s)-(r-o)*(e-s)>=0&&(r-o)*(a-s)-(i-o)*(n-s)>=0}function Ko(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&&ts(r,r.next,t,e))return!0;r=r.next}while(r!==t);return!1}(t,e)&&(ns(t,e)&&ns(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)&&(Qo(t.prev,t,e.prev)||Qo(t,e.prev,e))||$o(t,e)&&Qo(t.prev,t,t.next)>0&&Qo(e.prev,e,e.next)>0)}function Qo(t,e,r){return(e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y)}function $o(t,e){return t.x===e.x&&t.y===e.y}function ts(t,e,r,n){var i=rs(Qo(t,e,r)),a=rs(Qo(t,e,n)),o=rs(Qo(r,n,t)),s=rs(Qo(r,n,e));return i!==a&&o!==s||(!(0!==i||!es(t,r,e))||(!(0!==a||!es(t,n,e))||(!(0!==o||!es(r,t,n))||!(0!==s||!es(r,e,n)))))}function es(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 rs(t){return t>0?1:t<0?-1:0}function ns(t,e){return Qo(t.prev,t,t.next)<0?Qo(t,e,t.next)>=0&&Qo(t,t.prev,e)>=0:Qo(t,e,t.prev)<0||Qo(t,t.next,e)<0}function is(t,e){var r=new ss(t.i,t.x,t.y),n=new ss(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 as(t,e,r,n){var i=new ss(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 os(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 ss(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 ls(t,e,r,n){for(var i=0,a=e,o=r-n;a<r;a+=n)i+=(t[o]-t[a])*(t[a+1]+t[o+1]),o=a;return i}function cs(t,e,r,n,i){!function 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),f=Math.max(n,Math.floor(r-s*c/o+u)),h=Math.min(i,Math.floor(r+(o-s)*c/o+u));t(e,r,f,h,a)}var p=e[r],d=n,m=i;for(us(e,n,r),a(e[i],p)>0&&us(e,n,i);d<m;){for(us(e,d,m),d++,m--;a(e[d],p)<0;)d++;for(;a(e[m],p)>0;)m--}0===a(e[n],p)?us(e,n,m):(m++,us(e,m,i)),m<=r&&(n=m+1),r<=m&&(i=m-1)}}(t,e,r||0,n||t.length-1,i||fs)}function us(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function fs(t,e){return t<e?-1:t>e?1:0}function hs(t,e){var r=t.length;if(r<=1)return[t];for(var n,i,a=[],o=0;o<r;o++){var s=T(t[o]);0!==s&&(t[o].area=Math.abs(s),void 0===i&&(i=s<0),i===s<0?(n&&a.push(n),n=[t[o]]):n.push(t[o]))}if(n&&a.push(n),e>1)for(var l=0;l<a.length;l++)a[l].length<=e||(cs(a[l],e,1,a[l].length-1,ps),a[l]=a[l].slice(0,e));return a}function ps(t,e){return e.area-t.area}function ds(t,e,r){for(var n=r.patternDependencies,i=!1,a=0,o=e;a<o.length;a+=1){var s=o[a].paint.get(t+\"-pattern\");s.isConstant()||(i=!0);var l=s.constantOr(null);l&&(i=!0,n[l.to]=!0,n[l.from]=!0)}return i}function ms(t,e,r,n,i){for(var a=i.patternDependencies,o=0,s=e;o<s.length;o+=1){var l=s[o],c=l.paint.get(t+\"-pattern\").value;if(\"constant\"!==c.kind){var u=c.evaluate({zoom:n-1},r,{},i.availableImages),f=c.evaluate({zoom:n},r,{},i.availableImages),h=c.evaluate({zoom:n+1},r,{},i.availableImages);u=u&&u.name?u.name:u,f=f&&f.name?f.name:f,h=h&&h.name?h.name:h,a[u]=!0,a[f]=!0,a[h]=!0,r.patterns[l.id]={min:u,mid:f,max:h}}}return r}Fo.deviation=function(t,e,r,n){var i=e&&e.length,a=i?e[0]*r:t.length,o=Math.abs(ls(t,0,a,r));if(i)for(var s=0,l=e.length;s<l;s++){var c=e[s]*r,u=s<l-1?e[s+1]*r:t.length;o-=Math.abs(ls(t,c,u,r))}var f=0;for(s=0;s<n.length;s+=3){var h=n[s]*r,p=n[s+1]*r,d=n[s+2]*r;f+=Math.abs((t[h]-t[d])*(t[p+1]-t[h+1])-(t[h]-t[p])*(t[d+1]-t[h+1]))}return 0===o&&0===f?0:Math.abs((f-o)/o)},Fo.flatten=function(t){for(var e=t[0][0].length,r={vertices:[],holes:[],dimensions:e},n=0,i=0;i<t.length;i++){for(var a=0;a<t[i].length;a++)for(var o=0;o<e;o++)r.vertices.push(t[i][a][o]);i>0&&(n+=t[i-1].length,r.holes.push(n))}return r},Do.default=Ro;var gs=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 zi,this.indexArray=new Yi,this.indexArray2=new Qi,this.programConfigurations=new Ua(zo,t.layers,t.zoom),this.segments=new pa,this.segments2=new pa,this.stateDependentLayerIds=this.layers.filter((function(t){return t.isStateDependent()})).map((function(t){return t.id}))};gs.prototype.populate=function(t,e,r){this.hasPattern=ds(\"fill\",this.layers,e);for(var n=this.layers[0].layout.get(\"fill-sort-key\"),i=[],a=0,o=t;a<o.length;a+=1){var s=o[a],l=s.feature,c=s.id,u=s.index,f=s.sourceLayerIndex,h=this.layers[0]._featureFilter.needGeometry,p={type:l.type,id:c,properties:l.properties,geometry:h?Ya(l):[]};if(this.layers[0]._featureFilter.filter(new pi(this.zoom),p,r)){h||(p.geometry=Ya(l));var d=n?n.evaluate(p,{},r,e.availableImages):void 0,m={id:c,properties:l.properties,type:l.type,sourceLayerIndex:f,index:u,geometry:p.geometry,patterns:{},sortKey:d};i.push(m)}}n&&i.sort((function(t,e){return t.sortKey-e.sortKey}));for(var g=0,v=i;g<v.length;g+=1){var y=v[g],x=y,b=x.geometry,_=x.index,w=x.sourceLayerIndex;if(this.hasPattern){var T=ms(\"fill\",this.layers,y,this.zoom,e);this.patternFeatures.push(T)}else this.addFeature(y,b,_,r,{});var k=t[_].feature;e.featureIndex.insert(k,b,_,w,this.index)}},gs.prototype.update=function(t,e,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,r)},gs.prototype.addFeatures=function(t,e,r){for(var n=0,i=this.patternFeatures;n<i.length;n+=1){var a=i[n];this.addFeature(a,a.geometry,a.index,e,r)}},gs.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length},gs.prototype.uploadPending=function(){return!this.uploaded||this.programConfigurations.needsUpload},gs.prototype.upload=function(t){this.uploaded||(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,zo),this.indexBuffer=t.createIndexBuffer(this.indexArray),this.indexBuffer2=t.createIndexBuffer(this.indexArray2)),this.programConfigurations.upload(t),this.uploaded=!0},gs.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.indexBuffer2.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.segments2.destroy())},gs.prototype.addFeature=function(t,e,r,n,i){for(var a=0,o=hs(e,500);a<o.length;a+=1){for(var s=o[a],l=0,c=0,u=s;c<u.length;c+=1){l+=u[c].length}for(var f=this.segments.prepareSegment(l,this.layoutVertexArray,this.indexArray),h=f.vertexLength,p=[],d=[],m=0,g=s;m<g.length;m+=1){var v=g[m];if(0!==v.length){v!==s[0]&&d.push(p.length/2);var y=this.segments2.prepareSegment(v.length,this.layoutVertexArray,this.indexArray2),x=y.vertexLength;this.layoutVertexArray.emplaceBack(v[0].x,v[0].y),this.indexArray2.emplaceBack(x+v.length-1,x),p.push(v[0].x),p.push(v[0].y);for(var b=1;b<v.length;b++)this.layoutVertexArray.emplaceBack(v[b].x,v[b].y),this.indexArray2.emplaceBack(x+b-1,x+b),p.push(v[b].x),p.push(v[b].y);y.vertexLength+=v.length,y.primitiveLength+=v.length}}for(var _=Do(p,d),w=0;w<_.length;w+=3)this.indexArray.emplaceBack(h+_[w],h+_[w+1],h+_[w+2]);f.vertexLength+=l,f.primitiveLength+=_.length/3}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t,r,i,n)},Nn(\"FillBucket\",gs,{omit:[\"layers\",\"patternFeatures\"]});var vs=new Si({\"fill-sort-key\":new Ti(Lt.layout_fill[\"fill-sort-key\"])}),ys={paint:new Si({\"fill-antialias\":new wi(Lt.paint_fill[\"fill-antialias\"]),\"fill-opacity\":new Ti(Lt.paint_fill[\"fill-opacity\"]),\"fill-color\":new Ti(Lt.paint_fill[\"fill-color\"]),\"fill-outline-color\":new Ti(Lt.paint_fill[\"fill-outline-color\"]),\"fill-translate\":new wi(Lt.paint_fill[\"fill-translate\"]),\"fill-translate-anchor\":new wi(Lt.paint_fill[\"fill-translate-anchor\"]),\"fill-pattern\":new ki(Lt.paint_fill[\"fill-pattern\"])}),layout:vs},xs=function(t){function e(e){t.call(this,e,ys)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.recalculate=function(e,r){t.prototype.recalculate.call(this,e,r);var n=this.paint._values[\"fill-outline-color\"];\"constant\"===n.value.kind&&void 0===n.value.value&&(this.paint._values[\"fill-outline-color\"]=this.paint._values[\"fill-color\"])},e.prototype.createBucket=function(t){return new gs(t)},e.prototype.queryRadius=function(){return so(this.paint.get(\"fill-translate\"))},e.prototype.queryIntersectsFeature=function(t,e,r,n,i,a,o){return Ka(lo(t,this.paint.get(\"fill-translate\"),this.paint.get(\"fill-translate-anchor\"),a.angle,o),n)},e.prototype.isTileClipped=function(){return!0},e}(Ei),bs=Ii([{name:\"a_pos\",components:2,type:\"Int16\"},{name:\"a_normal_ed\",components:4,type:\"Int16\"}],4).members,_s=ws;function ws(t,e,r,n,i){this.properties={},this.extent=r,this.type=0,this._pbf=t,this._geometry=-1,this._keys=n,this._values=i,t.readFields(Ts,this,e)}function Ts(t,e,r){1==t?e.id=r.readVarint():2==t?function(t,e){var r=t.readVarint()+t.pos;for(;t.pos<r;){var n=e._keys[t.readVarint()],i=e._values[t.readVarint()];e.properties[n]=i}}(r,e):3==t?e.type=r.readVarint():4==t&&(e._geometry=r.pos)}function ks(t){for(var e,r,n=0,i=0,a=t.length,o=a-1;i<a;o=i++)e=t[i],n+=((r=t[o]).x-e.x)*(e.y+r.y);return n}ws.types=[\"Unknown\",\"Point\",\"LineString\",\"Polygon\"],ws.prototype.loadGeometry=function(){var t=this._pbf;t.pos=this._geometry;for(var e,r=t.readVarint()+t.pos,n=1,a=0,o=0,s=0,l=[];t.pos<r;){if(a<=0){var c=t.readVarint();n=7&c,a=c>>3}if(a--,1===n||2===n)o+=t.readSVarint(),s+=t.readSVarint(),1===n&&(e&&l.push(e),e=[]),e.push(new i(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<e;){if(n<=0){var u=t.readVarint();r=7&u,n=u>>3}if(n--,1===r||2===r)(i+=t.readSVarint())<o&&(o=i),i>s&&(s=i),(a+=t.readSVarint())<l&&(l=a),a>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<t.length;e++){var r=t[e],n=180-360*(r.y+s)/a;t[e]=[360*(r.x+o)/a-180,360/Math.PI*Math.atan(Math.exp(n*Math.PI/180))-90]}}switch(this.type){case 1:var f=[];for(n=0;n<l.length;n++)f[n]=l[n][0];u(l=f);break;case 2:for(n=0;n<l.length;n++)u(l[n]);break;case 3:for(l=function(t){var e=t.length;if(e<=1)return[t];for(var r,n,i=[],a=0;a<e;a++){var o=ks(t[a]);0!==o&&(void 0===n&&(n=o<0),n===o<0?(r&&i.push(r),r=[t[a]]):r.push(t[a]))}r&&i.push(r);return i}(l),n=0;n<l.length;n++)for(i=0;i<l[n].length;i++)u(l[n][i])}1===l.length?l=l[0]:c=\"Multi\"+c;var h={type:\"Feature\",geometry:{type:c,coordinates:l},properties:this.properties};return\"id\"in this&&(h.id=this.id),h};var As=Ms;function Ms(t,e){this.version=1,this.name=null,this.extent=4096,this.length=0,this._pbf=t,this._keys=[],this._values=[],this._features=[],t.readFields(Ss,this,e),this.length=this._features.length}function Ss(t,e,r){15===t?e.version=r.readVarint():1===t?e.name=r.readString():5===t?e.extent=r.readVarint():2===t?e._features.push(r.pos):3===t?e._keys.push(r.readString()):4===t&&e._values.push(function(t){var e=null,r=t.readVarint()+t.pos;for(;t.pos<r;){var n=t.readVarint()>>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 Es(t,e,r){if(3===t){var n=new As(r,r.readVarint()+r.pos);n.length&&(e[n.name]=n)}}Ms.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 _s(this._pbf,e,this.extent,this._keys,this._values)};var Ls={VectorTile:function(t,e){this.layers=t.readFields(Es,{},e)},VectorTileFeature:_s,VectorTileLayer:As},Cs=Ls.VectorTileFeature.types,Ps=Math.pow(2,13);function Is(t,e,r,n,i,a,o,s){t.emplaceBack(e,r,2*Math.floor(n*Ps)+o,i*Ps*2,a*Ps*2,Math.round(s))}var Os=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 Ri,this.indexArray=new Yi,this.programConfigurations=new Ua(bs,t.layers,t.zoom),this.segments=new pa,this.stateDependentLayerIds=this.layers.filter((function(t){return t.isStateDependent()})).map((function(t){return t.id}))};function zs(t,e){return t.x===e.x&&(t.x<0||t.x>8192)||t.y===e.y&&(t.y<0||t.y>8192)}function Ds(t){return t.every((function(t){return t.x<0}))||t.every((function(t){return t.x>8192}))||t.every((function(t){return t.y<0}))||t.every((function(t){return t.y>8192}))}Os.prototype.populate=function(t,e,r){this.features=[],this.hasPattern=ds(\"fill-extrusion\",this.layers,e);for(var n=0,i=t;n<i.length;n+=1){var a=i[n],o=a.feature,s=a.id,l=a.index,c=a.sourceLayerIndex,u=this.layers[0]._featureFilter.needGeometry,f={type:o.type,id:s,properties:o.properties,geometry:u?Ya(o):[]};if(this.layers[0]._featureFilter.filter(new pi(this.zoom),f,r)){var h={id:s,sourceLayerIndex:c,index:l,geometry:u?f.geometry:Ya(o),properties:o.properties,type:o.type,patterns:{}};void 0!==o.id&&(h.id=o.id),this.hasPattern?this.features.push(ms(\"fill-extrusion\",this.layers,h,this.zoom,e)):this.addFeature(h,h.geometry,l,r,{}),e.featureIndex.insert(o,h.geometry,l,c,this.index,!0)}}},Os.prototype.addFeatures=function(t,e,r){for(var n=0,i=this.features;n<i.length;n+=1){var a=i[n],o=a.geometry;this.addFeature(a,o,a.index,e,r)}},Os.prototype.update=function(t,e,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,r)},Os.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length},Os.prototype.uploadPending=function(){return!this.uploaded||this.programConfigurations.needsUpload},Os.prototype.upload=function(t){this.uploaded||(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,bs),this.indexBuffer=t.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(t),this.uploaded=!0},Os.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())},Os.prototype.addFeature=function(t,e,r,n,i){for(var a=0,o=hs(e,500);a<o.length;a+=1){for(var s=o[a],l=0,c=0,u=s;c<u.length;c+=1){l+=u[c].length}for(var f=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray),h=0,p=s;h<p.length;h+=1){var d=p[h];if(0!==d.length&&!Ds(d))for(var m=0,g=0;g<d.length;g++){var v=d[g];if(g>=1){var y=d[g-1];if(!zs(v,y)){f.vertexLength+4>pa.MAX_VERTEX_ARRAY_LENGTH&&(f=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));var x=v.sub(y)._perp()._unit(),b=y.dist(v);m+b>32768&&(m=0),Is(this.layoutVertexArray,v.x,v.y,x.x,x.y,0,0,m),Is(this.layoutVertexArray,v.x,v.y,x.x,x.y,0,1,m),m+=b,Is(this.layoutVertexArray,y.x,y.y,x.x,x.y,0,0,m),Is(this.layoutVertexArray,y.x,y.y,x.x,x.y,0,1,m);var _=f.vertexLength;this.indexArray.emplaceBack(_,_+2,_+1),this.indexArray.emplaceBack(_+1,_+2,_+3),f.vertexLength+=4,f.primitiveLength+=2}}}}if(f.vertexLength+l>pa.MAX_VERTEX_ARRAY_LENGTH&&(f=this.segments.prepareSegment(l,this.layoutVertexArray,this.indexArray)),\"Polygon\"===Cs[t.type]){for(var w=[],T=[],k=f.vertexLength,A=0,M=s;A<M.length;A+=1){var S=M[A];if(0!==S.length){S!==s[0]&&T.push(w.length/2);for(var E=0;E<S.length;E++){var L=S[E];Is(this.layoutVertexArray,L.x,L.y,0,0,1,1,0),w.push(L.x),w.push(L.y)}}}for(var C=Do(w,T),P=0;P<C.length;P+=3)this.indexArray.emplaceBack(k+C[P],k+C[P+2],k+C[P+1]);f.primitiveLength+=C.length/3,f.vertexLength+=l}}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t,r,i,n)},Nn(\"FillExtrusionBucket\",Os,{omit:[\"layers\",\"features\"]});var Rs={paint:new Si({\"fill-extrusion-opacity\":new wi(Lt[\"paint_fill-extrusion\"][\"fill-extrusion-opacity\"]),\"fill-extrusion-color\":new Ti(Lt[\"paint_fill-extrusion\"][\"fill-extrusion-color\"]),\"fill-extrusion-translate\":new wi(Lt[\"paint_fill-extrusion\"][\"fill-extrusion-translate\"]),\"fill-extrusion-translate-anchor\":new wi(Lt[\"paint_fill-extrusion\"][\"fill-extrusion-translate-anchor\"]),\"fill-extrusion-pattern\":new ki(Lt[\"paint_fill-extrusion\"][\"fill-extrusion-pattern\"]),\"fill-extrusion-height\":new Ti(Lt[\"paint_fill-extrusion\"][\"fill-extrusion-height\"]),\"fill-extrusion-base\":new Ti(Lt[\"paint_fill-extrusion\"][\"fill-extrusion-base\"]),\"fill-extrusion-vertical-gradient\":new wi(Lt[\"paint_fill-extrusion\"][\"fill-extrusion-vertical-gradient\"])})},Fs=function(t){function e(e){t.call(this,e,Rs)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.createBucket=function(t){return new Os(t)},e.prototype.queryRadius=function(){return so(this.paint.get(\"fill-extrusion-translate\"))},e.prototype.is3D=function(){return!0},e.prototype.queryIntersectsFeature=function(t,e,r,n,a,o,s,l){var c=lo(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),f=this.paint.get(\"fill-extrusion-base\").evaluate(e,r),h=function(t,e,r,n){for(var a=[],o=0,s=t;o<s.length;o+=1){var l=s[o],c=[l.x,l.y,n,1];xo(c,c,e),a.push(new i(c[0]/c[3],c[1]/c[3]))}return a}(c,l,0,0),p=function(t,e,r,n){for(var a=[],o=[],s=n[8]*e,l=n[9]*e,c=n[10]*e,u=n[11]*e,f=n[8]*r,h=n[9]*r,p=n[10]*r,d=n[11]*r,m=0,g=t;m<g.length;m+=1){for(var v=g[m],y=[],x=[],b=0,_=v;b<_.length;b+=1){var w=_[b],T=w.x,k=w.y,A=n[0]*T+n[4]*k+n[12],M=n[1]*T+n[5]*k+n[13],S=n[2]*T+n[6]*k+n[14],E=n[3]*T+n[7]*k+n[15],L=S+c,C=E+u,P=A+f,I=M+h,O=S+p,z=E+d,D=new i((A+s)/C,(M+l)/C);D.z=L/C,y.push(D);var R=new i(P/z,I/z);R.z=O/z,x.push(R)}a.push(y),o.push(x)}return[a,o]}(n,f,u,l);return function(t,e,r){var n=1/0;Ka(r,e)&&(n=Ns(r,e[0]));for(var i=0;i<e.length;i++)for(var a=e[i],o=t[i],s=0;s<a.length-1;s++){var l=a[s],c=a[s+1],u=o[s],f=o[s+1],h=[l,c,f,u,l];Za(r,h)&&(n=Math.min(n,Ns(r,h)))}return n!==1/0&&n}(p[0],p[1],h)},e}(Ei);function Bs(t,e){return t.x*e.x+t.y*e.y}function Ns(t,e){if(1===t.length){for(var r,n=0,i=e[n++];!r||i.equals(r);)if(!(r=e[n++]))return 1/0;for(;n<e.length;n++){var a=e[n],o=t[0],s=r.sub(i),l=a.sub(i),c=o.sub(i),u=Bs(s,s),f=Bs(s,l),h=Bs(l,l),p=Bs(c,s),d=Bs(c,l),m=u*h-f*f,g=(h*p-f*d)/m,v=(u*d-f*p)/m,y=1-g-v,x=i.z*y+r.z*g+a.z*v;if(isFinite(x))return x}return 1/0}for(var b=1/0,_=0,w=e;_<w.length;_+=1){var T=w[_];b=Math.min(b,T.z)}return b}var js=Ii([{name:\"a_pos_normal\",components:2,type:\"Int16\"},{name:\"a_data\",components:4,type:\"Uint8\"}],4).members,Us=Ls.VectorTileFeature.types,Vs=Math.cos(Math.PI/180*37.5),Hs=Math.pow(2,14)/.5,qs=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 Fi,this.indexArray=new Yi,this.programConfigurations=new Ua(js,t.layers,t.zoom),this.segments=new pa,this.stateDependentLayerIds=this.layers.filter((function(t){return t.isStateDependent()})).map((function(t){return t.id}))};qs.prototype.populate=function(t,e,r){this.hasPattern=ds(\"line\",this.layers,e);for(var n=this.layers[0].layout.get(\"line-sort-key\"),i=[],a=0,o=t;a<o.length;a+=1){var s=o[a],l=s.feature,c=s.id,u=s.index,f=s.sourceLayerIndex,h=this.layers[0]._featureFilter.needGeometry,p={type:l.type,id:c,properties:l.properties,geometry:h?Ya(l):[]};if(this.layers[0]._featureFilter.filter(new pi(this.zoom),p,r)){h||(p.geometry=Ya(l));var d=n?n.evaluate(p,{},r):void 0,m={id:c,properties:l.properties,type:l.type,sourceLayerIndex:f,index:u,geometry:p.geometry,patterns:{},sortKey:d};i.push(m)}}n&&i.sort((function(t,e){return t.sortKey-e.sortKey}));for(var g=0,v=i;g<v.length;g+=1){var y=v[g],x=y,b=x.geometry,_=x.index,w=x.sourceLayerIndex;if(this.hasPattern){var T=ms(\"line\",this.layers,y,this.zoom,e);this.patternFeatures.push(T)}else this.addFeature(y,b,_,r,{});var k=t[_].feature;e.featureIndex.insert(k,b,_,w,this.index)}},qs.prototype.update=function(t,e,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,r)},qs.prototype.addFeatures=function(t,e,r){for(var n=0,i=this.patternFeatures;n<i.length;n+=1){var a=i[n];this.addFeature(a,a.geometry,a.index,e,r)}},qs.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length},qs.prototype.uploadPending=function(){return!this.uploaded||this.programConfigurations.needsUpload},qs.prototype.upload=function(t){this.uploaded||(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,js),this.indexBuffer=t.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(t),this.uploaded=!0},qs.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())},qs.prototype.addFeature=function(t,e,r,n,i){for(var 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\"),u=0,f=e;u<f.length;u+=1){var h=f[u];this.addLine(h,t,o,s,l,c)}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t,r,i,n)},qs.prototype.addLine=function(t,e,r,n,i,a){if(this.distance=0,this.scaledDistance=0,this.totalDistance=0,e.properties&&e.properties.hasOwnProperty(\"mapbox_clip_start\")&&e.properties.hasOwnProperty(\"mapbox_clip_end\")){this.clipStart=+e.properties.mapbox_clip_start,this.clipEnd=+e.properties.mapbox_clip_end;for(var o=0;o<t.length-1;o++)this.totalDistance+=t[o].dist(t[o+1]);this.updateScaledDistance()}for(var s=\"Polygon\"===Us[e.type],l=t.length;l>=2&&t[l-1].equals(t[l-2]);)l--;for(var c=0;c<l-1&&t[c].equals(t[c+1]);)c++;if(!(l<(s?3:2))){\"bevel\"===r&&(i=1.05);var u,f=this.overscaling<=16?122880/(512*this.overscaling):0,h=this.segments.prepareSegment(10*l,this.layoutVertexArray,this.indexArray),p=void 0,d=void 0,m=void 0,g=void 0;this.e1=this.e2=-1,s&&(u=t[l-2],g=t[c].sub(u)._unit()._perp());for(var v=c;v<l;v++)if(!(d=v===l-1?s?t[c+1]:void 0:t[v+1])||!t[v].equals(d)){g&&(m=g),u&&(p=u),u=t[v],g=d?d.sub(u)._unit()._perp():m;var y=(m=m||g).add(g);0===y.x&&0===y.y||y._unit();var x=m.x*g.x+m.y*g.y,b=y.x*g.x+y.y*g.y,_=0!==b?1/b:1/0,w=2*Math.sqrt(2-2*b),T=b<Vs&&p&&d,k=m.x*g.y-m.y*g.x>0;if(T&&v>c){var A=u.dist(p);if(A>2*f){var M=u.sub(u.sub(p)._mult(f/A)._round());this.updateDistance(p,M),this.addCurrentVertex(M,m,0,0,h),p=M}}var S=p&&d,E=S?r:s?\"butt\":n;if(S&&\"round\"===E&&(_<a?E=\"miter\":_<=2&&(E=\"fakeround\")),\"miter\"===E&&_>i&&(E=\"bevel\"),\"bevel\"===E&&(_>2&&(E=\"flipbevel\"),_<i&&(E=\"miter\")),p&&this.updateDistance(p,u),\"miter\"===E)y._mult(_),this.addCurrentVertex(u,y,0,0,h);else if(\"flipbevel\"===E){if(_>100)y=g.mult(-1);else{var L=_*m.add(g).mag()/m.sub(g).mag();y._perp()._mult(L*(k?-1:1))}this.addCurrentVertex(u,y,0,0,h),this.addCurrentVertex(u,y.mult(-1),0,0,h)}else if(\"bevel\"===E||\"fakeround\"===E){var C=-Math.sqrt(_*_-1),P=k?C:0,I=k?0:C;if(p&&this.addCurrentVertex(u,m,P,I,h),\"fakeround\"===E)for(var O=Math.round(180*w/Math.PI/20),z=1;z<O;z++){var D=z/O;if(.5!==D){var R=D-.5;D+=D*R*(D-1)*((1.0904+x*(x*(3.55645-1.43519*x)-3.2452))*R*R+(.848013+x*(.215638*x-1.06021)))}var F=g.sub(m)._mult(D)._add(m)._unit()._mult(k?-1:1);this.addHalfVertex(u,F.x,F.y,!1,k,0,h)}d&&this.addCurrentVertex(u,g,-P,-I,h)}else if(\"butt\"===E)this.addCurrentVertex(u,y,0,0,h);else if(\"square\"===E){var B=p?1:-1;this.addCurrentVertex(u,y,B,B,h)}else\"round\"===E&&(p&&(this.addCurrentVertex(u,m,0,0,h),this.addCurrentVertex(u,m,1,1,h,!0)),d&&(this.addCurrentVertex(u,g,-1,-1,h,!0),this.addCurrentVertex(u,g,0,0,h)));if(T&&v<l-1){var N=u.dist(d);if(N>2*f){var j=u.add(d.sub(u)._mult(f/N)._round());this.updateDistance(u,j),this.addCurrentVertex(j,g,0,0,h),u=j}}}}},qs.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>Hs/2&&0===this.totalDistance&&(this.distance=0,this.addCurrentVertex(t,e,r,n,i,a))},qs.prototype.addHalfVertex=function(t,e,r,n,i,a,o){var s=t.x,l=t.y,c=.5*this.scaledDistance;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);var u=o.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,this.e2,u),o.primitiveLength++),i?this.e2=u:this.e1=u},qs.prototype.updateScaledDistance=function(){this.scaledDistance=this.totalDistance>0?(this.clipStart+(this.clipEnd-this.clipStart)*this.distance/this.totalDistance)*(Hs-1):this.distance},qs.prototype.updateDistance=function(t,e){this.distance+=t.dist(e),this.updateScaledDistance()},Nn(\"LineBucket\",qs,{omit:[\"layers\",\"patternFeatures\"]});var Gs=new Si({\"line-cap\":new wi(Lt.layout_line[\"line-cap\"]),\"line-join\":new Ti(Lt.layout_line[\"line-join\"]),\"line-miter-limit\":new wi(Lt.layout_line[\"line-miter-limit\"]),\"line-round-limit\":new wi(Lt.layout_line[\"line-round-limit\"]),\"line-sort-key\":new Ti(Lt.layout_line[\"line-sort-key\"])}),Ys={paint:new Si({\"line-opacity\":new Ti(Lt.paint_line[\"line-opacity\"]),\"line-color\":new Ti(Lt.paint_line[\"line-color\"]),\"line-translate\":new wi(Lt.paint_line[\"line-translate\"]),\"line-translate-anchor\":new wi(Lt.paint_line[\"line-translate-anchor\"]),\"line-width\":new Ti(Lt.paint_line[\"line-width\"]),\"line-gap-width\":new Ti(Lt.paint_line[\"line-gap-width\"]),\"line-offset\":new Ti(Lt.paint_line[\"line-offset\"]),\"line-blur\":new Ti(Lt.paint_line[\"line-blur\"]),\"line-dasharray\":new Ai(Lt.paint_line[\"line-dasharray\"]),\"line-pattern\":new ki(Lt.paint_line[\"line-pattern\"]),\"line-gradient\":new Mi(Lt.paint_line[\"line-gradient\"])}),layout:Gs},Ws=new(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 pi(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=u({},r,{zoom:Math.floor(r.zoom)}),t.prototype.evaluate.call(this,e,r,n,i)},e}(Ti))(Ys.paint.properties[\"line-width\"].specification);Ws.useIntegerZoom=!0;var Xs=function(t){function e(e){t.call(this,e,Ys)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._handleSpecialPaintPropertyUpdate=function(t){\"line-gradient\"===t&&this._updateGradient()},e.prototype._updateGradient=function(){var t=this._transitionablePaint._values[\"line-gradient\"].value.expression;this.gradient=Co(t,\"lineProgress\"),this.gradientTexture=null},e.prototype.recalculate=function(e,r){t.prototype.recalculate.call(this,e,r),this.paint._values[\"line-floorwidth\"]=Ws.possiblyEvaluate(this._transitioningPaint._values[\"line-width\"].value,e)},e.prototype.createBucket=function(t){return new qs(t)},e.prototype.queryRadius=function(t){var e=t,r=Zs(oo(\"line-width\",this,e),oo(\"line-gap-width\",this,e)),n=oo(\"line-offset\",this,e);return r/2+Math.abs(n)+so(this.paint.get(\"line-translate\"))},e.prototype.queryIntersectsFeature=function(t,e,r,n,a,o,s){var l=lo(t,this.paint.get(\"line-translate\"),this.paint.get(\"line-translate-anchor\"),o.angle,s),c=s/2*Zs(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 i(0,0),a=0;a<t.length;a++){for(var o=t[a],s=[],l=0;l<o.length;l++){var c=o[l-1],u=o[l],f=o[l+1],h=0===l?n:u.sub(c)._unit()._perp(),p=l===o.length-1?n:f.sub(u)._unit()._perp(),d=h._add(p)._unit(),m=d.x*p.x+d.y*p.y;d._mult(1/m),s.push(d._mult(e)._add(u))}r.push(s)}return r}(n,u*s)),function(t,e,r){for(var n=0;n<e.length;n++){var i=e[n];if(t.length>=3)for(var a=0;a<i.length;a++)if(io(t,i[a]))return!0;if(Qa(t,i,r))return!0}return!1}(l,n,c)},e.prototype.isTileClipped=function(){return!0},e}(Ei);function Zs(t,e){return e>0?e+2*t:t}var Js=Ii([{name:\"a_pos_offset\",components:4,type:\"Int16\"},{name:\"a_data\",components:4,type:\"Uint16\"},{name:\"a_pixeloffset\",components:4,type:\"Int16\"}],4),Ks=Ii([{name:\"a_projected_pos\",components:3,type:\"Float32\"}],4),Qs=(Ii([{name:\"a_fade_opacity\",components:1,type:\"Uint32\"}],4),Ii([{name:\"a_placed\",components:2,type:\"Uint8\"},{name:\"a_shift\",components:2,type:\"Float32\"}])),$s=(Ii([{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\"}]),Ii([{name:\"a_pos\",components:2,type:\"Int16\"},{name:\"a_anchor_pos\",components:2,type:\"Int16\"},{name:\"a_extrude\",components:2,type:\"Int16\"}],4)),tl=Ii([{name:\"a_pos\",components:2,type:\"Float32\"},{name:\"a_radius\",components:1,type:\"Float32\"},{name:\"a_flags\",components:2,type:\"Int16\"}],4);Ii([{name:\"triangle\",components:3,type:\"Uint16\"}]),Ii([{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\"}]),Ii([{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\"}]),Ii([{type:\"Float32\",name:\"offsetX\"}]),Ii([{type:\"Int16\",name:\"x\"},{type:\"Int16\",name:\"y\"},{type:\"Int16\",name:\"tileUnitDistanceFromAnchor\"}]);function el(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()),hi.applyArabicShaping&&(t=hi.applyArabicShaping(t)),t}(t.text,e,r)})),t}var rl={\"!\":\"\\ufe15\",\"#\":\"\\uff03\",$:\"\\uff04\",\"%\":\"\\uff05\",\"&\":\"\\uff06\",\"(\":\"\\ufe35\",\")\":\"\\ufe36\",\"*\":\"\\uff0a\",\"+\":\"\\uff0b\",\",\":\"\\ufe10\",\"-\":\"\\ufe32\",\".\":\"\\u30fb\",\"/\":\"\\uff0f\",\":\":\"\\ufe13\",\";\":\"\\ufe14\",\"<\":\"\\ufe3f\",\"=\":\"\\uff1d\",\">\":\"\\ufe40\",\"?\":\"\\ufe16\",\"@\":\"\\uff20\",\"[\":\"\\ufe47\",\"\\\\\":\"\\uff3c\",\"]\":\"\\ufe48\",\"^\":\"\\uff3e\",_:\"\\ufe33\",\"`\":\"\\uff40\",\"{\":\"\\ufe37\",\"|\":\"\\u2015\",\"}\":\"\\ufe38\",\"~\":\"\\uff5e\",\"\\xa2\":\"\\uffe0\",\"\\xa3\":\"\\uffe1\",\"\\xa5\":\"\\uffe5\",\"\\xa6\":\"\\uffe4\",\"\\xac\":\"\\uffe2\",\"\\xaf\":\"\\uffe3\",\"\\u2013\":\"\\ufe32\",\"\\u2014\":\"\\ufe31\",\"\\u2018\":\"\\ufe43\",\"\\u2019\":\"\\ufe44\",\"\\u201c\":\"\\ufe41\",\"\\u201d\":\"\\ufe42\",\"\\u2026\":\"\\ufe19\",\"\\u2027\":\"\\u30fb\",\"\\u20a9\":\"\\uffe6\",\"\\u3001\":\"\\ufe11\",\"\\u3002\":\"\\ufe12\",\"\\u3008\":\"\\ufe3f\",\"\\u3009\":\"\\ufe40\",\"\\u300a\":\"\\ufe3d\",\"\\u300b\":\"\\ufe3e\",\"\\u300c\":\"\\ufe41\",\"\\u300d\":\"\\ufe42\",\"\\u300e\":\"\\ufe43\",\"\\u300f\":\"\\ufe44\",\"\\u3010\":\"\\ufe3b\",\"\\u3011\":\"\\ufe3c\",\"\\u3014\":\"\\ufe39\",\"\\u3015\":\"\\ufe3a\",\"\\u3016\":\"\\ufe17\",\"\\u3017\":\"\\ufe18\",\"\\uff01\":\"\\ufe15\",\"\\uff08\":\"\\ufe35\",\"\\uff09\":\"\\ufe36\",\"\\uff0c\":\"\\ufe10\",\"\\uff0d\":\"\\ufe32\",\"\\uff0e\":\"\\u30fb\",\"\\uff1a\":\"\\ufe13\",\"\\uff1b\":\"\\ufe14\",\"\\uff1c\":\"\\ufe3f\",\"\\uff1e\":\"\\ufe40\",\"\\uff1f\":\"\\ufe16\",\"\\uff3b\":\"\\ufe47\",\"\\uff3d\":\"\\ufe48\",\"\\uff3f\":\"\\ufe33\",\"\\uff5b\":\"\\ufe37\",\"\\uff5c\":\"\\u2015\",\"\\uff5d\":\"\\ufe38\",\"\\uff5f\":\"\\ufe35\",\"\\uff60\":\"\\ufe36\",\"\\uff61\":\"\\ufe12\",\"\\uff62\":\"\\ufe41\",\"\\uff63\":\"\\ufe42\"};var nl=function(t,e,r,n,i){var a,o,s=8*i-n-1,l=(1<<s)-1,c=l>>1,u=-7,f=r?i-1:0,h=r?-1:1,p=t[e+f];for(f+=h,a=p&(1<<-u)-1,p>>=-u,u+=s;u>0;a=256*a+t[e+f],f+=h,u-=8);for(o=a&(1<<-u)-1,a>>=-u,u+=n;u>0;o=256*o+t[e+f],f+=h,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<<c)-1,f=u>>1,h=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+f>=1?h/l:h*Math.pow(2,1-f))*l>=2&&(o++,l/=2),o+f>=u?(s=0,o=u):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<<i|s,c+=i;c>0;t[r+p]=255&o,p+=d,o/=256,c-=8);t[r+p-d]|=128*m},al=ol;function ol(t){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(t)?t:new Uint8Array(t||0),this.pos=0,this.type=0,this.length=this.buf.length}ol.Varint=0,ol.Fixed64=1,ol.Bytes=2,ol.Fixed32=5;var sl=\"undefined\"==typeof TextDecoder?null:new TextDecoder(\"utf8\");function ll(t){return t.type===ol.Bytes?t.readVarint()+t.pos:t.pos+1}function cl(t,e,r){return r?4294967296*e+(t>>>0):4294967296*(e>>>0)+(t>>>0)}function ul(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 fl(t,e){for(var r=0;r<t.length;r++)e.writeVarint(t[r])}function hl(t,e){for(var r=0;r<t.length;r++)e.writeSVarint(t[r])}function pl(t,e){for(var r=0;r<t.length;r++)e.writeFloat(t[r])}function dl(t,e){for(var r=0;r<t.length;r++)e.writeDouble(t[r])}function ml(t,e){for(var r=0;r<t.length;r++)e.writeBoolean(t[r])}function gl(t,e){for(var r=0;r<t.length;r++)e.writeFixed32(t[r])}function vl(t,e){for(var r=0;r<t.length;r++)e.writeSFixed32(t[r])}function yl(t,e){for(var r=0;r<t.length;r++)e.writeFixed64(t[r])}function xl(t,e){for(var r=0;r<t.length;r++)e.writeSFixed64(t[r])}function bl(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16)+16777216*t[e+3]}function _l(t,e,r){t[r]=e,t[r+1]=e>>>8,t[r+2]=e>>>16,t[r+3]=e>>>24}function wl(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16)+(t[e+3]<<24)}ol.prototype={destroy:function(){this.buf=null},readFields:function(t,e,r){for(r=r||this.length;this.pos<r;){var n=this.readVarint(),i=n>>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=bl(this.buf,this.pos);return this.pos+=4,t},readSFixed32:function(){var t=wl(this.buf,this.pos);return this.pos+=4,t},readFixed64:function(){var t=bl(this.buf,this.pos)+4294967296*bl(this.buf,this.pos+4);return this.pos+=8,t},readSFixed64:function(){var t=bl(this.buf,this.pos)+4294967296*wl(this.buf,this.pos+4);return this.pos+=8,t},readFloat:function(){var t=nl(this.buf,this.pos,!0,23,4);return this.pos+=4,t},readDouble:function(){var t=nl(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(i=a[r.pos++],n=(112&i)>>4,i<128)return cl(t,n,e);if(i=a[r.pos++],n|=(127&i)<<3,i<128)return cl(t,n,e);if(i=a[r.pos++],n|=(127&i)<<10,i<128)return cl(t,n,e);if(i=a[r.pos++],n|=(127&i)<<17,i<128)return cl(t,n,e);if(i=a[r.pos++],n|=(127&i)<<24,i<128)return cl(t,n,e);if(i=a[r.pos++],n|=(1&i)<<31,i<128)return cl(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&&sl?function(t,e,r){return sl.decode(t.subarray(e,r))}(this.buf,e,t):function(t,e,r){var n=\"\",i=e;for(;i<r;){var a,o,s,l=t[i],c=null,u=l>239?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!==ol.Bytes)return t.push(this.readVarint(e));var r=ll(this);for(t=t||[];this.pos<r;)t.push(this.readVarint(e));return t},readPackedSVarint:function(t){if(this.type!==ol.Bytes)return t.push(this.readSVarint());var e=ll(this);for(t=t||[];this.pos<e;)t.push(this.readSVarint());return t},readPackedBoolean:function(t){if(this.type!==ol.Bytes)return t.push(this.readBoolean());var e=ll(this);for(t=t||[];this.pos<e;)t.push(this.readBoolean());return t},readPackedFloat:function(t){if(this.type!==ol.Bytes)return t.push(this.readFloat());var e=ll(this);for(t=t||[];this.pos<e;)t.push(this.readFloat());return t},readPackedDouble:function(t){if(this.type!==ol.Bytes)return t.push(this.readDouble());var e=ll(this);for(t=t||[];this.pos<e;)t.push(this.readDouble());return t},readPackedFixed32:function(t){if(this.type!==ol.Bytes)return t.push(this.readFixed32());var e=ll(this);for(t=t||[];this.pos<e;)t.push(this.readFixed32());return t},readPackedSFixed32:function(t){if(this.type!==ol.Bytes)return t.push(this.readSFixed32());var e=ll(this);for(t=t||[];this.pos<e;)t.push(this.readSFixed32());return t},readPackedFixed64:function(t){if(this.type!==ol.Bytes)return t.push(this.readFixed64());var e=ll(this);for(t=t||[];this.pos<e;)t.push(this.readFixed64());return t},readPackedSFixed64:function(t){if(this.type!==ol.Bytes)return t.push(this.readSFixed64());var e=ll(this);for(t=t||[];this.pos<e;)t.push(this.readSFixed64());return t},skip:function(t){var e=7&t;if(e===ol.Varint)for(;this.buf[this.pos++]>127;);else if(e===ol.Bytes)this.pos=this.readVarint()+this.pos;else if(e===ol.Fixed32)this.pos+=4;else{if(e!==ol.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;e<this.pos+t;)e*=2;if(e!==this.length){var r=new Uint8Array(e);r.set(this.buf),this.buf=r,this.length=e}},finish:function(){return this.length=this.pos,this.pos=0,this.buf.subarray(0,this.length)},writeFixed32:function(t){this.realloc(4),_l(this.buf,t,this.pos),this.pos+=4},writeSFixed32:function(t){this.realloc(4),_l(this.buf,t,this.pos),this.pos+=4},writeFixed64:function(t){this.realloc(8),_l(this.buf,-1&t,this.pos),_l(this.buf,Math.floor(t*(1/4294967296)),this.pos+4),this.pos+=8},writeSFixed64:function(t){this.realloc(8),_l(this.buf,-1&t,this.pos),_l(this.buf,Math.floor(t*(1/4294967296)),this.pos+4),this.pos+=8},writeVarint:function(t){(t=+t||0)>268435455||t<0?function(t,e){var r,n;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));if(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;if(e.buf[e.pos++]|=r|((t>>>=3)?128:0),!t)return;if(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),!t)return;if(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),!t)return;if(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),!t)return;if(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),!t)return;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;a<e.length;a++){if((n=e.charCodeAt(a))>55295&&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&&ul(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<e;r++)this.buf[this.pos++]=t[r]},writeRawMessage:function(t,e){this.pos++;var r=this.pos;t(e,this);var n=this.pos-r;n>=128&&ul(r,n,this),this.pos=r-1,this.writeVarint(n),this.pos+=n},writeMessage:function(t,e,r){this.writeTag(t,ol.Bytes),this.writeRawMessage(e,r)},writePackedVarint:function(t,e){e.length&&this.writeMessage(t,fl,e)},writePackedSVarint:function(t,e){e.length&&this.writeMessage(t,hl,e)},writePackedBoolean:function(t,e){e.length&&this.writeMessage(t,ml,e)},writePackedFloat:function(t,e){e.length&&this.writeMessage(t,pl,e)},writePackedDouble:function(t,e){e.length&&this.writeMessage(t,dl,e)},writePackedFixed32:function(t,e){e.length&&this.writeMessage(t,gl,e)},writePackedSFixed32:function(t,e){e.length&&this.writeMessage(t,vl,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,ol.Bytes),this.writeBytes(e)},writeFixed32Field:function(t,e){this.writeTag(t,ol.Fixed32),this.writeFixed32(e)},writeSFixed32Field:function(t,e){this.writeTag(t,ol.Fixed32),this.writeSFixed32(e)},writeFixed64Field:function(t,e){this.writeTag(t,ol.Fixed64),this.writeFixed64(e)},writeSFixed64Field:function(t,e){this.writeTag(t,ol.Fixed64),this.writeSFixed64(e)},writeVarintField:function(t,e){this.writeTag(t,ol.Varint),this.writeVarint(e)},writeSVarintField:function(t,e){this.writeTag(t,ol.Varint),this.writeSVarint(e)},writeStringField:function(t,e){this.writeTag(t,ol.Bytes),this.writeString(e)},writeFloatField:function(t,e){this.writeTag(t,ol.Fixed32),this.writeFloat(e)},writeDoubleField:function(t,e){this.writeTag(t,ol.Fixed64),this.writeDouble(e)},writeBooleanField:function(t,e){this.writeVarintField(t,Boolean(e))}};function Tl(t,e,r){1===t&&r.readMessage(kl,e)}function kl(t,e,r){if(3===t){var n=r.readMessage(Al,{}),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 So({width:o+6,height:s+6},a),metrics:{width:o,height:s,left:l,top:c,advance:u}})}}function Al(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())}function Ml(t){for(var e=0,r=0,n=0,i=t;n<i.length;n+=1){var a=i[n];e+=a.w*a.h,r=Math.max(r,a.w)}t.sort((function(t,e){return e.h-t.h}));for(var o=[{x:0,y:0,w:Math.max(Math.ceil(Math.sqrt(e/.95)),r),h:1/0}],s=0,l=0,c=0,u=t;c<u.length;c+=1)for(var f=u[c],h=o.length-1;h>=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();h<o.length&&(o[h]=d)}else f.h===p.h?(p.x+=f.w,p.w-=f.w):f.w===p.w?(p.y+=f.h,p.h-=f.h):(o.push({x:p.x+f.w,y:p.y,w:p.w-f.w,h:f.h}),p.y+=f.h,p.h-=f.h);break}}return{w:s,h:l,fill:e/(s*l)||0}}var Sl=function(t,e){var r=e.pixelRatio,n=e.version,i=e.stretchX,a=e.stretchY,o=e.content;this.paddedRect=t,this.pixelRatio=r,this.stretchX=i,this.stretchY=a,this.content=o,this.version=n},El={tl:{configurable:!0},br:{configurable:!0},tlbr:{configurable:!0},displaySize:{configurable:!0}};El.tl.get=function(){return[this.paddedRect.x+1,this.paddedRect.y+1]},El.br.get=function(){return[this.paddedRect.x+this.paddedRect.w-1,this.paddedRect.y+this.paddedRect.h-1]},El.tlbr.get=function(){return this.tl.concat(this.br)},El.displaySize.get=function(){return[(this.paddedRect.w-2)/this.pixelRatio,(this.paddedRect.h-2)/this.pixelRatio]},Object.defineProperties(Sl.prototype,El);var Ll=function(t,e){var r={},n={};this.haveRenderCallbacks=[];var i=[];this.addImages(t,r,i),this.addImages(e,n,i);var a=Ml(i),o=a.w,s=a.h,l=new Eo({width:o||1,height:s||1});for(var c in t){var u=t[c],f=r[c].paddedRect;Eo.copy(u.data,l,{x:0,y:0},{x:f.x+1,y:f.y+1},u.data)}for(var h in e){var p=e[h],d=n[h].paddedRect,m=d.x+1,g=d.y+1,v=p.data.width,y=p.data.height;Eo.copy(p.data,l,{x:0,y:0},{x:m,y:g},p.data),Eo.copy(p.data,l,{x:0,y:y-1},{x:m,y:g-1},{width:v,height:1}),Eo.copy(p.data,l,{x:0,y:0},{x:m,y:g+y},{width:v,height:1}),Eo.copy(p.data,l,{x:v-1,y:0},{x:m-1,y:g},{width:1,height:y}),Eo.copy(p.data,l,{x:0,y:0},{x:m+v,y:g},{width:1,height:y})}this.image=l,this.iconPositions=r,this.patternPositions=n};Ll.prototype.addImages=function(t,e,r){for(var n in t){var i=t[n],a={x:0,y:0,w:i.data.width+2,h:i.data.height+2};r.push(a),e[n]=new Sl(a,i),i.hasRenderCallback&&this.haveRenderCallbacks.push(n)}},Ll.prototype.patchUpdatedImages=function(t,e){for(var r in t.dispatchRenderCallbacks(this.haveRenderCallbacks),t.updatedImages)this.patchUpdatedImage(this.iconPositions[r],t.getImage(r),e),this.patchUpdatedImage(this.patternPositions[r],t.getImage(r),e)},Ll.prototype.patchUpdatedImage=function(t,e,r){if(t&&e&&t.version!==e.version){t.version=e.version;var n=t.tl,i=n[0],a=n[1];r.update(e.data,void 0,{x:i,y:a})}},Nn(\"ImagePosition\",Sl),Nn(\"ImageAtlas\",Ll);var Cl={horizontal:1,vertical:2,horizontalOnly:3};var Pl=function(){this.scale=1,this.fontStack=\"\",this.imageName=null};Pl.forText=function(t,e){var r=new Pl;return r.scale=t||1,r.fontStack=e,r},Pl.forImage=function(t){var e=new Pl;return e.imageName=t,e};var Il=function(){this.text=\"\",this.sectionIndex=[],this.sections=[],this.imageSectionID=null};function Ol(t,e,r,n,i,a,o,s,l,c,u,f,h,p,d,m){var g,v=Il.fromFeature(t,i);f===Cl.vertical&&v.verticalizePunctuation();var y=hi.processBidirectionalText,x=hi.processStyledBidirectionalText;if(y&&1===v.sections.length){g=[];for(var b=0,_=y(v.toString(),jl(v,c,a,e,n,p,d));b<_.length;b+=1){var w=_[b],T=new Il;T.text=w,T.sections=v.sections;for(var k=0;k<w.length;k++)T.sectionIndex.push(0);g.push(T)}}else if(x){g=[];for(var A=0,M=x(v.text,v.sectionIndex,jl(v,c,a,e,n,p,d));A<M.length;A+=1){var S=M[A],E=new Il;E.text=S[0],E.sectionIndex=S[1],E.sections=v.sections,g.push(E)}}else g=function(t,e){for(var r=[],n=t.text,i=0,a=0,o=e;a<o.length;a+=1){var s=o[a];r.push(t.substring(i,s)),i=s}return i<n.length&&r.push(t.substring(i,n.length)),r}(v,jl(v,c,a,e,n,p,d));var L=[],C={positionedLines:L,text:v.toString(),top:u[1],bottom:u[1],left:u[0],right:u[0],writingMode:f,iconsInText:!1,verticalizable:!1};return function(t,e,r,n,i,a,o,s,l,c,u,f){for(var h=0,p=-17,d=0,m=0,g=\"right\"===s?1:\"left\"===s?0:.5,v=0,y=0,x=i;y<x.length;y+=1){var b=x[y];b.trim();var _=b.getMaxScale(),w=24*(_-1),T={positionedGlyphs:[],lineOffset:0};t.positionedLines[v]=T;var k=T.positionedGlyphs,A=0;if(b.length()){for(var M=0;M<b.length();M++){var S=b.getSection(M),E=b.getSectionIndex(M),L=b.getCharCode(M),C=0,P=null,I=null,O=null,z=24,D=!(l===Cl.horizontal||!u&&!Zn(L)||u&&(zl[L]||(Y=L,Yn.Arabic(Y)||Yn[\"Arabic Supplement\"](Y)||Yn[\"Arabic Extended-A\"](Y)||Yn[\"Arabic Presentation Forms-A\"](Y)||Yn[\"Arabic Presentation Forms-B\"](Y))));if(S.imageName){var R=n[S.imageName];if(!R)continue;O=S.imageName,t.iconsInText=t.iconsInText||!0,I=R.paddedRect;var F=R.displaySize;S.scale=24*S.scale/f,P={width:F[0],height:F[1],left:1,top:-3,advance:D?F[1]:F[0]};var B=24-F[1]*S.scale;C=w+B,z=P.advance;var N=D?F[0]*S.scale-24*_:F[1]*S.scale-24*_;N>0&&N>A&&(A=N)}else{var j=r[S.fontStack],U=j&&j[L];if(U&&U.rect)I=U.rect,P=U.metrics;else{var V=e[S.fontStack],H=V&&V[L];if(!H)continue;P=H.metrics}C=24*(_-S.scale)}D?(t.verticalizable=!0,k.push({glyph:L,imageName:O,x:h,y:p+C,vertical:D,scale:S.scale,fontStack:S.fontStack,sectionIndex:E,metrics:P,rect:I}),h+=z*S.scale+c):(k.push({glyph:L,imageName:O,x:h,y:p+C,vertical:D,scale:S.scale,fontStack:S.fontStack,sectionIndex:E,metrics:P,rect:I}),h+=P.advance*S.scale+c)}if(0!==k.length){var q=h-c;d=Math.max(q,d),Vl(k,0,k.length-1,g,A)}h=0;var G=a*_+A;T.lineOffset=Math.max(A,w),p+=G,m=Math.max(G,m),++v}else p+=a,++v}var Y;var W=p- -17,X=Ul(o),Z=X.horizontalAlign,J=X.verticalAlign;(function(t,e,r,n,i,a,o,s,l){var c=(e-r)*i,u=0;u=a!==o?-s*n- -17:(-n*l+.5)*o;for(var f=0,h=t;f<h.length;f+=1)for(var p=h[f],d=0,m=p.positionedGlyphs;d<m.length;d+=1){var g=m[d];g.x+=c,g.y+=u}})(t.positionedLines,g,Z,J,d,m,a,W,i.length),t.top+=-J*W,t.bottom=t.top+W,t.left+=-Z*d,t.right=t.left+d}(C,e,r,n,g,o,s,l,f,c,h,m),!function(t){for(var e=0,r=t;e<r.length;e+=1){if(0!==r[e].positionedGlyphs.length)return!1}return!0}(L)&&C}Il.fromFeature=function(t,e){for(var r=new Il,n=0;n<t.sections.length;n++){var i=t.sections[n];i.image?r.addImageSection(i):r.addTextSection(i,e)}return r},Il.prototype.length=function(){return this.text.length},Il.prototype.getSection=function(t){return this.sections[this.sectionIndex[t]]},Il.prototype.getSectionIndex=function(t){return this.sectionIndex[t]},Il.prototype.getCharCode=function(t){return this.text.charCodeAt(t)},Il.prototype.verticalizePunctuation=function(){this.text=function(t){for(var e=\"\",r=0;r<t.length;r++){var n=t.charCodeAt(r+1)||null,i=t.charCodeAt(r-1)||null;(!n||!Jn(n)||rl[t[r+1]])&&(!i||!Jn(i)||rl[t[r-1]])&&rl[t[r]]?e+=rl[t[r]]:e+=t[r]}return e}(this.text)},Il.prototype.trim=function(){for(var t=0,e=0;e<this.text.length&&zl[this.text.charCodeAt(e)];e++)t++;for(var r=this.text.length,n=this.text.length-1;n>=0&&n>=t&&zl[this.text.charCodeAt(n)];n--)r--;this.text=this.text.substring(t,r),this.sectionIndex=this.sectionIndex.slice(t,r)},Il.prototype.substring=function(t,e){var r=new Il;return r.text=this.text.substring(t,e),r.sectionIndex=this.sectionIndex.slice(t,e),r.sections=this.sections,r},Il.prototype.toString=function(){return this.text},Il.prototype.getMaxScale=function(){var t=this;return this.sectionIndex.reduce((function(e,r){return Math.max(e,t.sections[r].scale)}),0)},Il.prototype.addTextSection=function(t,e){this.text+=t.text,this.sections.push(Pl.forText(t.scale,t.fontStack||e));for(var r=this.sections.length-1,n=0;n<t.text.length;++n)this.sectionIndex.push(r)},Il.prototype.addImageSection=function(t){var e=t.image?t.image.name:\"\";if(0!==e.length){var r=this.getNextImageSectionCharCode();r?(this.text+=String.fromCharCode(r),this.sections.push(Pl.forImage(e)),this.sectionIndex.push(this.sections.length-1)):_(\"Reached maximum number of images 6401\")}else _(\"Can't add FormattedSection with an empty image.\")},Il.prototype.getNextImageSectionCharCode=function(){return this.imageSectionID?this.imageSectionID>=63743?null:++this.imageSectionID:(this.imageSectionID=57344,this.imageSectionID)};var zl={9:!0,10:!0,11:!0,12:!0,13:!0,32:!0},Dl={};function Rl(t,e,r,n,i,a){if(e.imageName){var o=n[e.imageName];return o?o.displaySize[0]*e.scale*24/a+i:0}var s=r[e.fontStack],l=s&&s[t];return l?l.metrics.advance*e.scale+i:0}function Fl(t,e,r,n){var i=Math.pow(t-e,2);return n?t<e?i/2:2*i:i+Math.abs(r)*r}function Bl(t,e,r){var n=0;return 10===t&&(n-=1e4),r&&(n+=150),40!==t&&65288!==t||(n+=50),41!==e&&65289!==e||(n+=50),n}function Nl(t,e,r,n,i,a){for(var o=null,s=Fl(e,r,i,a),l=0,c=n;l<c.length;l+=1){var u=c[l],f=Fl(e-u.x,r,i,a)+u.badness;f<=s&&(o=u,s=f)}return{index:t,x:e,priorBreak:o,badness:s}}function jl(t,e,r,n,i,a,o){if(\"point\"!==a)return[];if(!t)return[];for(var s,l=[],c=function(t,e,r,n,i,a){for(var o=0,s=0;s<t.length();s++){var l=t.getSection(s);o+=Rl(t.getCharCode(s),l,n,i,e,a)}return o/Math.max(1,Math.ceil(o/r))}(t,e,r,n,i,o),u=t.text.indexOf(\"\\u200b\")>=0,f=0,h=0;h<t.length();h++){var p=t.getSection(h),d=t.getCharCode(h);if(zl[d]||(f+=Rl(d,p,n,i,e,o)),h<t.length()-1){var m=!!(!((s=d)<11904)&&(Yn[\"Bopomofo Extended\"](s)||Yn.Bopomofo(s)||Yn[\"CJK Compatibility Forms\"](s)||Yn[\"CJK Compatibility Ideographs\"](s)||Yn[\"CJK Compatibility\"](s)||Yn[\"CJK Radicals Supplement\"](s)||Yn[\"CJK Strokes\"](s)||Yn[\"CJK Symbols and Punctuation\"](s)||Yn[\"CJK Unified Ideographs Extension A\"](s)||Yn[\"CJK Unified Ideographs\"](s)||Yn[\"Enclosed CJK Letters and Months\"](s)||Yn[\"Halfwidth and Fullwidth Forms\"](s)||Yn.Hiragana(s)||Yn[\"Ideographic Description Characters\"](s)||Yn[\"Kangxi Radicals\"](s)||Yn[\"Katakana Phonetic Extensions\"](s)||Yn.Katakana(s)||Yn[\"Vertical Forms\"](s)||Yn[\"Yi Radicals\"](s)||Yn[\"Yi Syllables\"](s)));(Dl[d]||m||p.imageName)&&l.push(Nl(h+1,f,c,l,Bl(d,t.getCharCode(h+1),m&&u),!1))}}return function t(e){return e?t(e.priorBreak).concat(e.index):[]}(Nl(t.length(),f,c,l,0,!0))}function Ul(t){var e=.5,r=.5;switch(t){case\"right\":case\"top-right\":case\"bottom-right\":e=1;break;case\"left\":case\"top-left\":case\"bottom-left\":e=0}switch(t){case\"bottom\":case\"bottom-right\":case\"bottom-left\":r=1;break;case\"top\":case\"top-right\":case\"top-left\":r=0}return{horizontalAlign:e,verticalAlign:r}}function Vl(t,e,r,n,i){if(n||i)for(var a=t[r],o=a.metrics.advance*a.scale,s=(t[r].x+o)*n,l=e;l<=r;l++)t[l].x-=s,t[l].y+=i}function Hl(t,e,r,n,i,a){var o,s=t.image;if(s.content){var l=s.content,c=s.pixelRatio||1;o=[l[0]/c,l[1]/c,s.displaySize[0]-l[2]/c,s.displaySize[1]-l[3]/c]}var u,f,h,p,d=e.left*a,m=e.right*a;\"width\"===r||\"both\"===r?(p=i[0]+d-n[3],f=i[0]+m+n[1]):f=(p=i[0]+(d+m-s.displaySize[0])/2)+s.displaySize[0];var g=e.top*a,v=e.bottom*a;return\"height\"===r||\"both\"===r?(u=i[1]+g-n[0],h=i[1]+v+n[2]):h=(u=i[1]+(g+v-s.displaySize[1])/2)+s.displaySize[1],{image:s,top:u,right:f,bottom:h,left:p,collisionPadding:o}}Dl[10]=!0,Dl[32]=!0,Dl[38]=!0,Dl[40]=!0,Dl[41]=!0,Dl[43]=!0,Dl[45]=!0,Dl[47]=!0,Dl[173]=!0,Dl[183]=!0,Dl[8203]=!0,Dl[8208]=!0,Dl[8211]=!0,Dl[8231]=!0;var ql=function(t){function e(e,r,n,i){t.call(this,e,r),this.angle=n,void 0!==i&&(this.segment=i)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.clone=function(){return new e(this.x,this.y,this.angle,this.segment)},e}(i);Nn(\"Anchor\",ql);function Gl(t,e){var r=e.expression;if(\"constant\"===r.kind)return{kind:\"constant\",layoutSize:r.evaluate(new pi(t+1))};if(\"source\"===r.kind)return{kind:\"source\"};for(var n=r.zoomStops,i=r.interpolationType,a=0;a<n.length&&n[a]<=t;)a++;for(var o=a=Math.max(0,a-1);o<n.length&&n[o]<t+1;)o++;o=Math.min(n.length-1,o);var s=n[a],l=n[o];return\"composite\"===r.kind?{kind:\"composite\",minZoom:s,maxZoom:l,interpolationType:i}:{kind:\"camera\",minZoom:s,maxZoom:l,minSize:r.evaluate(new pi(s)),maxSize:r.evaluate(new pi(l)),interpolationType:i}}function Yl(t,e,r){var n=e.uSize,i=e.uSizeT,a=r.lowerSize,o=r.upperSize;return\"source\"===t.kind?a/128:\"composite\"===t.kind?qe(a/128,o/128,i):n}function Wl(t,e){var r=0,n=0;if(\"constant\"===t.kind)n=t.layoutSize;else if(\"source\"!==t.kind){var i=t.interpolationType,a=t.minZoom,o=t.maxZoom,s=i?l(or.interpolationFactor(i,e,a,o),0,1):0;\"camera\"===t.kind?n=qe(t.minSize,t.maxSize,s):r=s}return{uSizeT:r,uSize:n}}var Xl=Object.freeze({__proto__:null,getSizeData:Gl,evaluateSizeForFeature:Yl,evaluateSizeForZoom:Wl,SIZE_PACK_FACTOR:128});function Zl(t,e,r,n,i){if(void 0===e.segment)return!0;for(var a=e,o=e.segment+1,s=0;s>-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;s<r/2;){var u=t[o-1],f=t[o],h=t[o+1];if(!h)return!1;var p=u.angleTo(f)-f.angleTo(h);for(p=Math.abs((p+3*Math.PI)%(2*Math.PI)-Math.PI),l.push({distance:s,angleDelta:p}),c+=p;s-l[0].distance>n;)c-=l.shift().angleDelta;if(c>i)return!1;o++,s+=f.dist(h)}return!0}function Jl(t){for(var e=0,r=0;r<t.length-1;r++)e+=t[r].dist(t[r+1]);return e}function Kl(t,e,r){return t?.6*e*r:0}function Ql(t,e){return Math.max(t?t.right-t.left:0,e?e.right-e.left:0)}function $l(t,e,r,n,i,a){for(var o=Kl(r,i,a),s=Ql(r,n)*a,l=0,c=Jl(t)/2,u=0;u<t.length-1;u++){var f=t[u],h=t[u+1],p=f.dist(h);if(l+p>c){var d=(c-l)/p,m=qe(f.x,h.x,d),g=qe(f.y,h.y,d),v=new ql(m,g,h.angleTo(f),u);return v._round(),!o||Zl(t,v,s,o,e)?v:void 0}l+=p}}function tc(t,e,r,n,i,a,o,s,l){var c=Kl(n,a,o),u=Ql(n,i),f=u*o,h=0===t[0].x||t[0].x===l||0===t[0].y||t[0].y===l;return e-f<e/4&&(e=f+e/4),function t(e,r,n,i,a,o,s,l,c){for(var u=o/2,f=Jl(e),h=0,p=r-n,d=[],m=0;m<e.length-1;m++){for(var g=e[m],v=e[m+1],y=g.dist(v),x=v.angleTo(g);p+n<h+y;){var b=((p+=n)-h)/y,_=qe(g.x,v.x,b),w=qe(g.y,v.y,b);if(_>=0&&_<c&&w>=0&&w<c&&p-u>=0&&p+u<=f){var T=new ql(_,w,x,m);T._round(),i&&!Zl(e,T,o,i,a)||d.push(T)}}h+=y}l||d.length||s||(d=t(e,h/2,n,i,a,o,s,!0,c));return d}(t,h?e/2*s%e:(u/2+2*a)*o*s%e,e,c,r,f,h,!1,l)}function ec(t,e,r,n,a){for(var o=[],s=0;s<t.length;s++)for(var l=t[s],c=void 0,u=0;u<l.length-1;u++){var f=l[u],h=l[u+1];f.x<e&&h.x<e||(f.x<e?f=new i(e,f.y+(h.y-f.y)*((e-f.x)/(h.x-f.x)))._round():h.x<e&&(h=new i(e,f.y+(h.y-f.y)*((e-f.x)/(h.x-f.x)))._round()),f.y<r&&h.y<r||(f.y<r?f=new i(f.x+(h.x-f.x)*((r-f.y)/(h.y-f.y)),r)._round():h.y<r&&(h=new i(f.x+(h.x-f.x)*((r-f.y)/(h.y-f.y)),r)._round()),f.x>=n&&h.x>=n||(f.x>=n?f=new i(n,f.y+(h.y-f.y)*((n-f.x)/(h.x-f.x)))._round():h.x>=n&&(h=new i(n,f.y+(h.y-f.y)*((n-f.x)/(h.x-f.x)))._round()),f.y>=a&&h.y>=a||(f.y>=a?f=new i(f.x+(h.x-f.x)*((a-f.y)/(h.y-f.y)),a)._round():h.y>=a&&(h=new i(f.x+(h.x-f.x)*((a-f.y)/(h.y-f.y)),a)._round()),c&&f.equals(c[c.length-1])||(c=[f],o.push(c)),c.push(h)))))}return o}function rc(t,e,r,n){var a=[],o=t.image,s=o.pixelRatio,l=o.paddedRect.w-2,c=o.paddedRect.h-2,u=t.right-t.left,f=t.bottom-t.top,h=o.stretchX||[[0,l]],p=o.stretchY||[[0,c]],d=function(t,e){return t+e[1]-e[0]},m=h.reduce(d,0),g=p.reduce(d,0),v=l-m,y=c-g,x=0,b=m,_=0,w=g,T=0,k=v,A=0,M=y;if(o.content&&n){var S=o.content;x=nc(h,0,S[0]),_=nc(p,0,S[1]),b=nc(h,S[0],S[2]),w=nc(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,a,l,c){var h=ac(n.stretch-x,b,u,t.left),p=oc(n.fixed-T,k,n.stretch,m),d=ac(a.stretch-_,w,f,t.top),v=oc(a.fixed-A,M,a.stretch,g),y=ac(l.stretch-x,b,u,t.left),S=oc(l.fixed-T,k,l.stretch,m),E=ac(c.stretch-_,w,f,t.top),L=oc(c.fixed-A,M,c.stretch,g),C=new i(h,d),P=new i(y,d),I=new i(y,E),O=new i(h,E),z=new i(p/s,v/s),D=new i(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),O._matMult(N),I._matMult(N)}var j=n.stretch+n.fixed,U=l.stretch+l.fixed,V=a.stretch+a.fixed,H=c.stretch+c.fixed;return{tl:C,tr:P,bl:O,br:I,tex:{x:o.paddedRect.x+1+j,y:o.paddedRect.y+1+V,w:U-j,h:H-V},writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:z,pixelOffsetBR:D,minFontScaleX:k/s/u,minFontScaleY:M/s/f,isSDF:r}};if(n&&(o.stretchX||o.stretchY))for(var L=ic(h,v,m),C=ic(p,y,g),P=0;P<L.length-1;P++)for(var I=L[P],O=L[P+1],z=0;z<C.length-1;z++){var D=C[z],R=C[z+1];a.push(E(I,D,O,R))}else a.push(E({fixed:0,stretch:-1},{fixed:0,stretch:-1},{fixed:0,stretch:l+1},{fixed:0,stretch:c+1}));return a}function nc(t,e,r){for(var n=0,i=0,a=t;i<a.length;i+=1){var o=a[i];n+=Math.max(e,Math.min(r,o[1]))-Math.max(e,Math.min(r,o[0]))}return n}function ic(t,e,r){for(var n=[{fixed:-1,stretch:0}],i=0,a=t;i<a.length;i+=1){var o=a[i],s=o[0],l=o[1],c=n[n.length-1];n.push({fixed:s-c.stretch,stretch:c.stretch}),n.push({fixed:s-c.stretch,stretch:c.stretch+(l-s)})}return n.push({fixed:e+1,stretch:r}),n}function ac(t,e,r,n){return t/e*r+n}function oc(t,e,r,n){return t-e*r/n}var sc=function(t,e,r,n,a,o,s,l,c,u){if(this.boxStartIndex=t.length,c){var f=o.top,h=o.bottom,p=o.collisionPadding;p&&(f-=p[1],h+=p[3]);var d=h-f;d>0&&(d=Math.max(10,d),this.circleDiameter=d)}else{var m=o.top*s-l,g=o.bottom*s+l,v=o.left*s-l,y=o.right*s+l,x=o.collisionPadding;if(x&&(v-=x[0]*s,m-=x[1]*s,y+=x[2]*s,g+=x[3]*s),u){var b=new i(v,m),_=new i(y,m),w=new i(v,g),T=new i(y,g),k=u*Math.PI/180;b._rotate(k),_._rotate(k),w._rotate(k),T._rotate(k),v=Math.min(b.x,_.x,w.x,T.x),y=Math.max(b.x,_.x,w.x,T.x),m=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,v,m,y,g,r,n,a)}this.boxEndIndex=t.length},lc=function(t,e){if(void 0===t&&(t=[]),void 0===e&&(e=cc),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 cc(t,e){return t<e?-1:t>e?1:0}function uc(t,e,r){void 0===e&&(e=1),void 0===r&&(r=!1);for(var n=1/0,a=1/0,o=-1/0,s=-1/0,l=t[0],c=0;c<l.length;c++){var u=l[c];(!c||u.x<n)&&(n=u.x),(!c||u.y<a)&&(a=u.y),(!c||u.x>o)&&(o=u.x),(!c||u.y>s)&&(s=u.y)}var f=o-n,h=s-a,p=Math.min(f,h),d=p/2,m=new lc([],fc);if(0===p)return new i(n,a);for(var g=n;g<o;g+=p)for(var v=a;v<s;v+=p)m.push(new hc(g+d,v+d,d,t));for(var y=function(t){for(var e=0,r=0,n=0,i=t[0],a=0,o=i.length,s=o-1;a<o;s=a++){var l=i[a],c=i[s],u=l.x*c.y-c.x*l.y;r+=(l.x+c.x)*u,n+=(l.y+c.y)*u,e+=3*u}return new hc(r/e,n/e,0,t)}(t),x=m.length;m.length;){var b=m.pop();(b.d>y.d||!y.d)&&(y=b,r&&console.log(\"found best %d after %d probes\",Math.round(1e4*b.d)/1e4,x)),b.max-y.d<=e||(d=b.h/2,m.push(new hc(b.p.x-d,b.p.y-d,d,t)),m.push(new hc(b.p.x+d,b.p.y-d,d,t)),m.push(new hc(b.p.x-d,b.p.y+d,d,t)),m.push(new hc(b.p.x+d,b.p.y+d,d,t)),x+=4)}return r&&(console.log(\"num probes: \"+x),console.log(\"best distance: \"+y.d)),y.p}function fc(t,e){return e.max-t.max}function hc(t,e,r,n){this.p=new i(t,e),this.h=r,this.d=function(t,e){for(var r=!1,n=1/0,i=0;i<e.length;i++)for(var a=e[i],o=0,s=a.length,l=s-1;o<s;l=o++){var c=a[o],u=a[l];c.y>t.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,ro(t,c,u))}return(r?1:-1)*Math.sqrt(n)}(this.p,n),this.max=this.d+this.h*Math.SQRT2}lc.prototype.push=function(t){this.data.push(t),this.length++,this._up(this.length-1)},lc.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}},lc.prototype.peek=function(){return this.data[0]},lc.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},lc.prototype._down=function(t){for(var e=this.data,r=this.compare,n=this.length>>1,i=e[t];t<n;){var a=1+(t<<1),o=e[a],s=a+1;if(s<this.length&&r(e[s],o)<0&&(a=s,o=e[s]),r(o,i)>=0)break;e[t]=o,t=a}e[t]=i};var pc=Number.POSITIVE_INFINITY;function dc(t,e){return e[1]!==pc?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-7;break;case\"bottom-right\":case\"bottom-left\":case\"bottom\":i=7-r}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-7;break;case\"bottom-right\":case\"bottom-left\":n=7-i;break;case\"bottom\":n=7-e;break;case\"top\":n=e-7}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 mc(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 gc(t,e,r,n,a,o,s,l,c,u,f,h,p,d,m){var g=function(t,e,r,n,a,o,s,l){for(var c=n.layout.get(\"text-rotate\").evaluate(o,{})*Math.PI/180,u=[],f=0,h=e.positionedLines;f<h.length;f+=1)for(var p=h[f],d=0,m=p.positionedGlyphs;d<m.length;d+=1){var g=m[d];if(g.rect){var v=g.rect||{},y=4,x=!0,b=1,_=0,w=(a||l)&&g.vertical,T=g.metrics.advance*g.scale/2;if(l&&e.verticalizable){var k=24*(g.scale-1),A=(24-g.metrics.width*g.scale)/2;_=p.lineOffset/2-(g.imageName?-A:k)}if(g.imageName){var M=s[g.imageName];x=M.sdf,y=1/(b=M.pixelRatio)}var S=a?[g.x+T,g.y]:[0,0],E=a?[0,0]:[g.x+T+r[0],g.y+r[1]-_],L=[0,0];w&&(L=E,E=[0,0]);var C=(g.metrics.left-y)*g.scale-T+E[0],P=(-g.metrics.top-y)*g.scale+E[1],I=C+v.w*g.scale/b,O=P+v.h*g.scale/b,z=new i(C,P),D=new i(I,P),R=new i(C,O),F=new i(I,O);if(w){var B=new i(-T,T- -17),N=-Math.PI/2,j=12-T,U=g.imageName?j:0,V=new i(22-j,-U),H=new(Function.prototype.bind.apply(i,[null].concat(L)));z._rotateAround(N,B)._add(V)._add(H),D._rotateAround(N,B)._add(V)._add(H),R._rotateAround(N,B)._add(V)._add(H),F._rotateAround(N,B)._add(V)._add(H)}if(c){var q=Math.sin(c),G=Math.cos(c),Y=[G,-q,q,G];z._matMult(Y),D._matMult(Y),R._matMult(Y),F._matMult(Y)}var W=new i(0,0),X=new i(0,0);u.push({tl:z,tr:D,bl:R,br:F,tex:v,writingMode:e.writingMode,glyphOffset:S,sectionIndex:g.sectionIndex,isSDF:x,pixelOffsetTL:W,pixelOffsetBR:X,minFontScaleX:0,minFontScaleY:0})}}return u}(0,r,l,a,o,s,n,t.allowVerticalPlacement),v=t.textSizeData,y=null;\"source\"===v.kind?(y=[128*a.layout.get(\"text-size\").evaluate(s,{})])[0]>32640&&_(t.layerIds[0]+': Value for \"text-size\" is >= 255. Reduce your \"text-size\".'):\"composite\"===v.kind&&((y=[128*d.compositeTextSizes[0].evaluate(s,{},m),128*d.compositeTextSizes[1].evaluate(s,{},m)])[0]>32640||y[1]>32640)&&_(t.layerIds[0]+': Value for \"text-size\" is >= 255. Reduce your \"text-size\".'),t.addSymbols(t.text,g,y,l,o,s,u,e,c.lineStartIndex,c.lineLength,p,m);for(var x=0,b=f;x<b.length;x+=1){h[b[x]]=t.text.placedSymbolArray.length-1}return 4*g.length}function vc(t){for(var e in t)return t[e];return null}function yc(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])<r)return!0}else i[e]=[];return i[e].push(n),!1}var xc=Ls.VectorTileFeature.types,bc=[{name:\"a_fade_opacity\",components:1,type:\"Uint8\",offset:0}];function _c(t,e,r,n,i,a,o,s,l,c,u,f,h){var p=s?Math.min(32640,Math.round(s[0])):0,d=s?Math.min(32640,Math.round(s[1])):0;t.emplaceBack(e,r,Math.round(32*n),Math.round(32*i),a,o,(p<<1)+(l?1:0),d,16*c,16*u,256*f,256*h)}function wc(t,e,r){t.emplaceBack(e.x,e.y,r),t.emplaceBack(e.x,e.y,r),t.emplaceBack(e.x,e.y,r),t.emplaceBack(e.x,e.y,r)}function Tc(t){for(var e=0,r=t.sections;e<r.length;e+=1){if($n(r[e].text))return!0}return!1}var kc=function(t){this.layoutVertexArray=new Ni,this.indexArray=new Yi,this.programConfigurations=t,this.segments=new pa,this.dynamicLayoutVertexArray=new ji,this.opacityVertexArray=new Ui,this.placedSymbolArray=new aa};kc.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length&&0===this.indexArray.length&&0===this.dynamicLayoutVertexArray.length&&0===this.opacityVertexArray.length},kc.prototype.upload=function(t,e,r,n){this.isEmpty()||(r&&(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,Js.members),this.indexBuffer=t.createIndexBuffer(this.indexArray,e),this.dynamicLayoutVertexBuffer=t.createVertexBuffer(this.dynamicLayoutVertexArray,Ks.members,!0),this.opacityVertexBuffer=t.createVertexBuffer(this.opacityVertexArray,bc,!0),this.opacityVertexBuffer.itemSize=1),(r||n)&&this.programConfigurations.upload(t))},kc.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.dynamicLayoutVertexBuffer.destroy(),this.opacityVertexBuffer.destroy())},Nn(\"SymbolBuffers\",kc);var Ac=function(t,e,r){this.layoutVertexArray=new t,this.layoutAttributes=e,this.indexArray=new r,this.segments=new pa,this.collisionVertexArray=new Gi};Ac.prototype.upload=function(t){this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,this.layoutAttributes),this.indexBuffer=t.createIndexBuffer(this.indexArray),this.collisionVertexBuffer=t.createVertexBuffer(this.collisionVertexArray,Qs.members,!0)},Ac.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.segments.destroy(),this.collisionVertexBuffer.destroy())},Nn(\"CollisionBuffers\",Ac);var Mc=function(t){this.collisionBoxArray=t.collisionBoxArray,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.pixelRatio=t.pixelRatio,this.sourceLayerIndex=t.sourceLayerIndex,this.hasPattern=!1,this.hasRTLText=!1,this.sortKeyRanges=[],this.collisionCircleArray=[],this.placementInvProjMatrix=ho([]),this.placementViewportMatrix=ho([]);var e=this.layers[0]._unevaluatedLayout._values;this.textSizeData=Gl(this.zoom,e[\"text-size\"]),this.iconSizeData=Gl(this.zoom,e[\"icon-size\"]);var r=this.layers[0].layout,n=r.get(\"symbol-sort-key\"),i=r.get(\"symbol-z-order\");this.sortFeaturesByKey=\"viewport-y\"!==i&&void 0!==n.constantOr(1);var a=\"viewport-y\"===i||\"auto\"===i&&!this.sortFeaturesByKey;this.sortFeaturesByY=a&&(r.get(\"text-allow-overlap\")||r.get(\"icon-allow-overlap\")||r.get(\"text-ignore-placement\")||r.get(\"icon-ignore-placement\")),\"point\"===r.get(\"symbol-placement\")&&(this.writingModes=r.get(\"text-writing-mode\").map((function(t){return Cl[t]}))),this.stateDependentLayerIds=this.layers.filter((function(t){return t.isStateDependent()})).map((function(t){return t.id})),this.sourceID=t.sourceID};Mc.prototype.createArrays=function(){this.text=new kc(new Ua(Js.members,this.layers,this.zoom,(function(t){return/^text/.test(t)}))),this.icon=new kc(new Ua(Js.members,this.layers,this.zoom,(function(t){return/^icon/.test(t)}))),this.glyphOffsetArray=new la,this.lineVertexArray=new ca,this.symbolInstances=new sa},Mc.prototype.calculateGlyphDependencies=function(t,e,r,n,i){for(var a=0;a<t.length;a++)if(e[t.charCodeAt(a)]=!0,(r||n)&&i){var o=rl[t.charAt(a)];o&&(e[o.charCodeAt(0)]=!0)}},Mc.prototype.populate=function(t,e,r){var n=this.layers[0],i=n.layout,a=i.get(\"text-font\"),o=i.get(\"text-field\"),s=i.get(\"icon-image\"),l=(\"constant\"!==o.value.kind||o.value.value instanceof ne&&!o.value.value.isEmpty()||o.value.value.toString().length>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 f=e.iconDependencies,h=e.glyphDependencies,p=e.availableImages,d=new pi(this.zoom),m=0,g=t;m<g.length;m+=1){var v=g[m],y=v.feature,x=v.id,b=v.index,_=v.sourceLayerIndex,w=n._featureFilter.needGeometry,T={type:y.type,id:x,properties:y.properties,geometry:w?Ya(y):[]};if(n._featureFilter.filter(d,T,r)){w||(T.geometry=Ya(y));var k=void 0;if(l){var A=n.getValueAndResolveTokens(\"text-field\",T,r,p),M=ne.factory(A);Tc(M)&&(this.hasRTLText=!0),(!this.hasRTLText||\"unavailable\"===ui()||this.hasRTLText&&hi.isParsed())&&(k=el(M,n,T))}var S=void 0;if(c){var E=n.getValueAndResolveTokens(\"icon-image\",T,r,p);S=E instanceof ie?E:ie.fromString(E)}if(k||S){var L=this.sortFeaturesByKey?u.evaluate(T,{},r):void 0,C={id:x,text:k,icon:S,index:b,sourceLayerIndex:_,geometry:Ya(y),properties:y.properties,type:xc[y.type],sortKey:L};if(this.features.push(C),S&&(f[S.name]=!0),k){var P=a.evaluate(T,{},r).join(\",\"),I=\"map\"===i.get(\"text-rotation-alignment\")&&\"point\"!==i.get(\"symbol-placement\");this.allowVerticalPlacement=this.writingModes&&this.writingModes.indexOf(Cl.vertical)>=0;for(var O=0,z=k.sections;O<z.length;O+=1){var D=z[O];if(D.image)f[D.image.name]=!0;else{var R=Wn(k.toString()),F=D.fontStack||P,B=h[F]=h[F]||{};this.calculateGlyphDependencies(D.text,B,I,this.allowVerticalPlacement,R)}}}}}}\"line\"===i.get(\"symbol-placement\")&&(this.features=function(t){var e={},r={},n=[],i=0;function a(e){n.push(t[e]),i++}function o(t,e,i){var 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){var 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){var n=r?e[0][e[0].length-1]:e[0][0];return t+\":\"+n.x+\":\"+n.y}for(var c=0;c<t.length;c++){var u=t[c],f=u.geometry,h=u.text?u.text.toString():null;if(h){var p=l(h,f),d=l(h,f,!0);if(p in r&&d in e&&r[p]!==e[d]){var m=s(p,d,f),g=o(p,d,n[m].geometry);delete e[p],delete r[d],r[l(h,n[g].geometry,!0)]=g,n[m].geometry=null}else p in r?o(p,d,f):d in e?s(p,d,f):(a(c),e[p]=i-1,r[d]=i-1)}else a(c)}return n.filter((function(t){return t.geometry}))}(this.features)),this.sortFeaturesByKey&&this.features.sort((function(t,e){return t.sortKey-e.sortKey}))}},Mc.prototype.update=function(t,e,r){this.stateDependentLayers.length&&(this.text.programConfigurations.updatePaintArrays(t,e,this.layers,r),this.icon.programConfigurations.updatePaintArrays(t,e,this.layers,r))},Mc.prototype.isEmpty=function(){return 0===this.symbolInstances.length&&!this.hasRTLText},Mc.prototype.uploadPending=function(){return!this.uploaded||this.text.programConfigurations.needsUpload||this.icon.programConfigurations.needsUpload},Mc.prototype.upload=function(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},Mc.prototype.destroyDebugData=function(){this.textCollisionBox.destroy(),this.iconCollisionBox.destroy()},Mc.prototype.destroy=function(){this.text.destroy(),this.icon.destroy(),this.hasDebugData()&&this.destroyDebugData()},Mc.prototype.addToLineVertexArray=function(t,e){var r=this.lineVertexArray.length;if(void 0!==t.segment){for(var n=t.dist(e[t.segment+1]),i=t.dist(e[t.segment]),a={},o=t.segment+1;o<e.length;o++)a[o]={x:e[o].x,y:e[o].y,tileUnitDistanceFromAnchor:n},o<e.length-1&&(n+=e[o+1].dist(e[o]));for(var s=t.segment||0;s>=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;l<e.length;l++){var c=a[l];this.lineVertexArray.emplaceBack(c.x,c.y,c.tileUnitDistanceFromAnchor)}}return{lineStartIndex:r,lineLength:this.lineVertexArray.length-r}},Mc.prototype.addSymbols=function(t,e,r,n,i,a,o,s,l,c,u,f){for(var h=t.indexArray,p=t.layoutVertexArray,d=t.segments.prepareSegment(4*e.length,p,h,a.sortKey),m=this.glyphOffsetArray.length,g=d.vertexLength,v=this.allowVerticalPlacement&&o===Cl.vertical?Math.PI/2:0,y=a.text&&a.text.sections,x=0;x<e.length;x++){var b=e[x],_=b.tl,w=b.tr,T=b.bl,k=b.br,A=b.tex,M=b.pixelOffsetTL,S=b.pixelOffsetBR,E=b.minFontScaleX,L=b.minFontScaleY,C=b.glyphOffset,P=b.isSDF,I=b.sectionIndex,O=d.vertexLength,z=C[1];_c(p,s.x,s.y,_.x,z+_.y,A.x,A.y,r,P,M.x,M.y,E,L),_c(p,s.x,s.y,w.x,z+w.y,A.x+A.w,A.y,r,P,S.x,M.y,E,L),_c(p,s.x,s.y,T.x,z+T.y,A.x,A.y+A.h,r,P,M.x,S.y,E,L),_c(p,s.x,s.y,k.x,z+k.y,A.x+A.w,A.y+A.h,r,P,S.x,S.y,E,L),wc(t.dynamicLayoutVertexArray,s,v),h.emplaceBack(O,O+1,O+2),h.emplaceBack(O+1,O+2,O+3),d.vertexLength+=4,d.primitiveLength+=2,this.glyphOffsetArray.emplaceBack(C[0]),x!==e.length-1&&I===e[x+1].sectionIndex||t.programConfigurations.populatePaintArrays(p.length,a,a.index,{},f,y&&y[I])}t.placedSymbolArray.emplaceBack(s.x,s.y,m,this.glyphOffsetArray.length-m,g,l,c,s.segment,r?r[0]:0,r?r[1]:0,n[0],n[1],o,0,!1,0,u)},Mc.prototype._addCollisionDebugVertex=function(t,e,r,n,i,a){return e.emplaceBack(0,0),t.emplaceBack(r.x,r.y,n,i,Math.round(a.x),Math.round(a.y))},Mc.prototype.addCollisionDebugVertices=function(t,e,r,n,a,o,s){var l=a.segments.prepareSegment(4,a.layoutVertexArray,a.indexArray),c=l.vertexLength,u=a.layoutVertexArray,f=a.collisionVertexArray,h=s.anchorX,p=s.anchorY;this._addCollisionDebugVertex(u,f,o,h,p,new i(t,e)),this._addCollisionDebugVertex(u,f,o,h,p,new i(r,e)),this._addCollisionDebugVertex(u,f,o,h,p,new i(r,n)),this._addCollisionDebugVertex(u,f,o,h,p,new i(t,n)),l.vertexLength+=4;var d=a.indexArray;d.emplaceBack(c,c+1),d.emplaceBack(c+1,c+2),d.emplaceBack(c+2,c+3),d.emplaceBack(c+3,c),l.primitiveLength+=4},Mc.prototype.addDebugCollisionBoxes=function(t,e,r,n){for(var i=t;i<e;i++){var a=this.collisionBoxArray.get(i),o=a.x1,s=a.y1,l=a.x2,c=a.y2;this.addCollisionDebugVertices(o,s,l,c,n?this.textCollisionBox:this.iconCollisionBox,a.anchorPoint,r)}},Mc.prototype.generateCollisionDebugBuffers=function(){this.hasDebugData()&&this.destroyDebugData(),this.textCollisionBox=new Ac(Hi,$s.members,Qi),this.iconCollisionBox=new Ac(Hi,$s.members,Qi);for(var t=0;t<this.symbolInstances.length;t++){var e=this.symbolInstances.get(t);this.addDebugCollisionBoxes(e.textBoxStartIndex,e.textBoxEndIndex,e,!0),this.addDebugCollisionBoxes(e.verticalTextBoxStartIndex,e.verticalTextBoxEndIndex,e,!0),this.addDebugCollisionBoxes(e.iconBoxStartIndex,e.iconBoxEndIndex,e,!1),this.addDebugCollisionBoxes(e.verticalIconBoxStartIndex,e.verticalIconBoxEndIndex,e,!1)}},Mc.prototype._deserializeCollisionBoxesForSymbol=function(t,e,r,n,i,a,o,s,l){for(var c={},u=e;u<r;u++){var f=t.get(u);c.textBox={x1:f.x1,y1:f.y1,x2:f.x2,y2:f.y2,anchorPointX:f.anchorPointX,anchorPointY:f.anchorPointY},c.textFeatureIndex=f.featureIndex;break}for(var h=n;h<i;h++){var p=t.get(h);c.verticalTextBox={x1:p.x1,y1:p.y1,x2:p.x2,y2:p.y2,anchorPointX:p.anchorPointX,anchorPointY:p.anchorPointY},c.verticalTextFeatureIndex=p.featureIndex;break}for(var d=a;d<o;d++){var m=t.get(d);c.iconBox={x1:m.x1,y1:m.y1,x2:m.x2,y2:m.y2,anchorPointX:m.anchorPointX,anchorPointY:m.anchorPointY},c.iconFeatureIndex=m.featureIndex;break}for(var g=s;g<l;g++){var v=t.get(g);c.verticalIconBox={x1:v.x1,y1:v.y1,x2:v.x2,y2:v.y2,anchorPointX:v.anchorPointX,anchorPointY:v.anchorPointY},c.verticalIconFeatureIndex=v.featureIndex;break}return c},Mc.prototype.deserializeCollisionBoxes=function(t){this.collisionArrays=[];for(var e=0;e<this.symbolInstances.length;e++){var r=this.symbolInstances.get(e);this.collisionArrays.push(this._deserializeCollisionBoxesForSymbol(t,r.textBoxStartIndex,r.textBoxEndIndex,r.verticalTextBoxStartIndex,r.verticalTextBoxEndIndex,r.iconBoxStartIndex,r.iconBoxEndIndex,r.verticalIconBoxStartIndex,r.verticalIconBoxEndIndex))}},Mc.prototype.hasTextData=function(){return this.text.segments.get().length>0},Mc.prototype.hasIconData=function(){return this.icon.segments.get().length>0},Mc.prototype.hasDebugData=function(){return this.textCollisionBox&&this.iconCollisionBox},Mc.prototype.hasTextCollisionBoxData=function(){return this.hasDebugData()&&this.textCollisionBox.segments.get().length>0},Mc.prototype.hasIconCollisionBoxData=function(){return this.hasDebugData()&&this.iconCollisionBox.segments.get().length>0},Mc.prototype.addIndicesForPlacedSymbol=function(t,e){for(var r=t.placedSymbolArray.get(e),n=r.vertexStartIndex+4*r.numGlyphs,i=r.vertexStartIndex;i<n;i+=4)t.indexArray.emplaceBack(i,i+1,i+2),t.indexArray.emplaceBack(i+1,i+2,i+3)},Mc.prototype.getSortedSymbolIndexes=function(t){if(this.sortedAngle===t&&void 0!==this.symbolInstanceIndexes)return this.symbolInstanceIndexes;for(var e=Math.sin(t),r=Math.cos(t),n=[],i=[],a=[],o=0;o<this.symbolInstances.length;++o){a.push(o);var s=this.symbolInstances.get(o);n.push(0|Math.round(e*s.anchorX+r*s.anchorY)),i.push(s.featureIndex)}return a.sort((function(t,e){return n[t]-n[e]||i[e]-i[t]})),a},Mc.prototype.addToSortKeyRanges=function(t,e){var 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})},Mc.prototype.sortFeatures=function(t){var e=this;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(var r=0,n=this.symbolInstanceIndexes;r<n.length;r+=1){var i=n[r],a=this.symbolInstances.get(i);this.featureSortOrder.push(a.featureIndex),[a.rightJustifiedTextSymbolIndex,a.centerJustifiedTextSymbolIndex,a.leftJustifiedTextSymbolIndex].forEach((function(t,r,n){t>=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)}},Nn(\"SymbolBucket\",Mc,{omit:[\"layers\",\"collisionBoxArray\",\"features\",\"compareText\"]}),Mc.MAX_GLYPHS=65535,Mc.addDynamicAttributes=wc;var Sc=new Si({\"symbol-placement\":new wi(Lt.layout_symbol[\"symbol-placement\"]),\"symbol-spacing\":new wi(Lt.layout_symbol[\"symbol-spacing\"]),\"symbol-avoid-edges\":new wi(Lt.layout_symbol[\"symbol-avoid-edges\"]),\"symbol-sort-key\":new Ti(Lt.layout_symbol[\"symbol-sort-key\"]),\"symbol-z-order\":new wi(Lt.layout_symbol[\"symbol-z-order\"]),\"icon-allow-overlap\":new wi(Lt.layout_symbol[\"icon-allow-overlap\"]),\"icon-ignore-placement\":new wi(Lt.layout_symbol[\"icon-ignore-placement\"]),\"icon-optional\":new wi(Lt.layout_symbol[\"icon-optional\"]),\"icon-rotation-alignment\":new wi(Lt.layout_symbol[\"icon-rotation-alignment\"]),\"icon-size\":new Ti(Lt.layout_symbol[\"icon-size\"]),\"icon-text-fit\":new wi(Lt.layout_symbol[\"icon-text-fit\"]),\"icon-text-fit-padding\":new wi(Lt.layout_symbol[\"icon-text-fit-padding\"]),\"icon-image\":new Ti(Lt.layout_symbol[\"icon-image\"]),\"icon-rotate\":new Ti(Lt.layout_symbol[\"icon-rotate\"]),\"icon-padding\":new wi(Lt.layout_symbol[\"icon-padding\"]),\"icon-keep-upright\":new wi(Lt.layout_symbol[\"icon-keep-upright\"]),\"icon-offset\":new Ti(Lt.layout_symbol[\"icon-offset\"]),\"icon-anchor\":new Ti(Lt.layout_symbol[\"icon-anchor\"]),\"icon-pitch-alignment\":new wi(Lt.layout_symbol[\"icon-pitch-alignment\"]),\"text-pitch-alignment\":new wi(Lt.layout_symbol[\"text-pitch-alignment\"]),\"text-rotation-alignment\":new wi(Lt.layout_symbol[\"text-rotation-alignment\"]),\"text-field\":new Ti(Lt.layout_symbol[\"text-field\"]),\"text-font\":new Ti(Lt.layout_symbol[\"text-font\"]),\"text-size\":new Ti(Lt.layout_symbol[\"text-size\"]),\"text-max-width\":new Ti(Lt.layout_symbol[\"text-max-width\"]),\"text-line-height\":new wi(Lt.layout_symbol[\"text-line-height\"]),\"text-letter-spacing\":new Ti(Lt.layout_symbol[\"text-letter-spacing\"]),\"text-justify\":new Ti(Lt.layout_symbol[\"text-justify\"]),\"text-radial-offset\":new Ti(Lt.layout_symbol[\"text-radial-offset\"]),\"text-variable-anchor\":new wi(Lt.layout_symbol[\"text-variable-anchor\"]),\"text-anchor\":new Ti(Lt.layout_symbol[\"text-anchor\"]),\"text-max-angle\":new wi(Lt.layout_symbol[\"text-max-angle\"]),\"text-writing-mode\":new wi(Lt.layout_symbol[\"text-writing-mode\"]),\"text-rotate\":new Ti(Lt.layout_symbol[\"text-rotate\"]),\"text-padding\":new wi(Lt.layout_symbol[\"text-padding\"]),\"text-keep-upright\":new wi(Lt.layout_symbol[\"text-keep-upright\"]),\"text-transform\":new Ti(Lt.layout_symbol[\"text-transform\"]),\"text-offset\":new Ti(Lt.layout_symbol[\"text-offset\"]),\"text-allow-overlap\":new wi(Lt.layout_symbol[\"text-allow-overlap\"]),\"text-ignore-placement\":new wi(Lt.layout_symbol[\"text-ignore-placement\"]),\"text-optional\":new wi(Lt.layout_symbol[\"text-optional\"])}),Ec={paint:new Si({\"icon-opacity\":new Ti(Lt.paint_symbol[\"icon-opacity\"]),\"icon-color\":new Ti(Lt.paint_symbol[\"icon-color\"]),\"icon-halo-color\":new Ti(Lt.paint_symbol[\"icon-halo-color\"]),\"icon-halo-width\":new Ti(Lt.paint_symbol[\"icon-halo-width\"]),\"icon-halo-blur\":new Ti(Lt.paint_symbol[\"icon-halo-blur\"]),\"icon-translate\":new wi(Lt.paint_symbol[\"icon-translate\"]),\"icon-translate-anchor\":new wi(Lt.paint_symbol[\"icon-translate-anchor\"]),\"text-opacity\":new Ti(Lt.paint_symbol[\"text-opacity\"]),\"text-color\":new Ti(Lt.paint_symbol[\"text-color\"],{runtimeType:Ut,getOverride:function(t){return t.textColor},hasOverride:function(t){return!!t.textColor}}),\"text-halo-color\":new Ti(Lt.paint_symbol[\"text-halo-color\"]),\"text-halo-width\":new Ti(Lt.paint_symbol[\"text-halo-width\"]),\"text-halo-blur\":new Ti(Lt.paint_symbol[\"text-halo-blur\"]),\"text-translate\":new wi(Lt.paint_symbol[\"text-translate\"]),\"text-translate-anchor\":new wi(Lt.paint_symbol[\"text-translate-anchor\"])}),layout:Sc},Lc=function(t){this.type=t.property.overrides?t.property.overrides.runtimeType:Ft,this.defaultValue=t};Lc.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},Lc.prototype.eachChild=function(t){this.defaultValue.isConstant()||t(this.defaultValue.value._styleExpression.expression)},Lc.prototype.outputDefined=function(){return!1},Lc.prototype.serialize=function(){return null},Nn(\"FormatSectionOverride\",Lc,{omit:[\"defaultValue\"]});var Cc=function(t){function e(e){t.call(this,e,Ec)}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<o.length;a+=1){var s=o[a];i.indexOf(s)<0&&i.push(s)}this.layout._values[\"text-writing-mode\"]=i}else this.layout._values[\"text-writing-mode\"]=[\"horizontal\"]}this._setPaintOverrides()},e.prototype.getValueAndResolveTokens=function(t,e,r,n){var i=this.layout.get(t).evaluate(e,{},r,n),a=this._unevaluatedLayout._values[t];return a.isDataDriven()||Yr(a.value)||!i?i:function(t,e){return e.replace(/{([^{}]+)}/g,(function(e,r){return r in t?String(t[r]):\"\"}))}(e.properties,i)},e.prototype.createBucket=function(t){return new Mc(t)},e.prototype.queryRadius=function(){return 0},e.prototype.queryIntersectsFeature=function(){return!1},e.prototype._setPaintOverrides=function(){for(var t=0,r=Ec.paint.overridableProperties;t<r.length;t+=1){var n=r[t];if(e.hasPaintOverride(this.layout,n)){var i=this.paint.get(n),a=new Lc(i),o=new Gr(a,i.property.specification),s=null;s=\"constant\"===i.value.kind||\"source\"===i.value.kind?new Xr(\"source\",o):new Zr(\"composite\",o,i.value.zoomStops,i.value._interpolationType),this.paint._values[n]=new bi(i.property,s,i.parameters)}}},e.prototype._handleOverridablePaintPropertyUpdate=function(t,r,n){return!(!this.layout||r.isDataDriven()||n.isDataDriven())&&e.hasPaintOverride(this.layout,t)},e.hasPaintOverride=function(t,e){var r=t.get(\"text-field\"),n=Ec.paint.properties[e],i=!1,a=function(t){for(var e=0,r=t;e<r.length;e+=1){var a=r[e];if(n.overrides&&n.overrides.hasOverride(a))return void(i=!0)}};if(\"constant\"===r.value.kind&&r.value.value instanceof ne)a(r.value.value.sections);else if(\"source\"===r.value.kind){var o=function(t){if(!i)if(t instanceof ce&&se(t.value)===Gt){var e=t.value;a(e.sections)}else t instanceof pe?a(t.sections):t.eachChild(o)},s=r.value;s._styleExpression&&o(s._styleExpression.expression)}return i},e}(Ei),Pc={paint:new Si({\"background-color\":new wi(Lt.paint_background[\"background-color\"]),\"background-pattern\":new Ai(Lt.paint_background[\"background-pattern\"]),\"background-opacity\":new wi(Lt.paint_background[\"background-opacity\"])})},Ic=function(t){function e(e){t.call(this,e,Pc)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(Ei),Oc={paint:new Si({\"raster-opacity\":new wi(Lt.paint_raster[\"raster-opacity\"]),\"raster-hue-rotate\":new wi(Lt.paint_raster[\"raster-hue-rotate\"]),\"raster-brightness-min\":new wi(Lt.paint_raster[\"raster-brightness-min\"]),\"raster-brightness-max\":new wi(Lt.paint_raster[\"raster-brightness-max\"]),\"raster-saturation\":new wi(Lt.paint_raster[\"raster-saturation\"]),\"raster-contrast\":new wi(Lt.paint_raster[\"raster-contrast\"]),\"raster-resampling\":new wi(Lt.paint_raster[\"raster-resampling\"]),\"raster-fade-duration\":new wi(Lt.paint_raster[\"raster-fade-duration\"])})},zc=function(t){function e(e){t.call(this,e,Oc)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(Ei);var Dc=function(t){function e(e){t.call(this,e,{}),this.implementation=e}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.is3D=function(){return\"3d\"===this.implementation.renderingMode},e.prototype.hasOffscreenPass=function(){return void 0!==this.implementation.prerender},e.prototype.recalculate=function(){},e.prototype.updateTransitions=function(){},e.prototype.hasTransition=function(){},e.prototype.serialize=function(){},e.prototype.onAdd=function(t){this.implementation.onAdd&&this.implementation.onAdd(t,t.painter.context.gl)},e.prototype.onRemove=function(t){this.implementation.onRemove&&this.implementation.onRemove(t,t.painter.context.gl)},e}(Ei),Rc={circle:_o,heatmap:Po,hillshade:Oo,fill:xs,\"fill-extrusion\":Fs,line:Xs,symbol:Cc,background:Ic,raster:zc};var Fc=self.HTMLImageElement,Bc=self.HTMLCanvasElement,Nc=self.HTMLVideoElement,jc=self.ImageData,Uc=self.ImageBitmap,Vc=function(t,e,r,n){this.context=t,this.format=r,this.texture=t.gl.createTexture(),this.update(e,n)};Vc.prototype.update=function(t,e,r){var n=t.width,i=t.height,a=!(this.size&&this.size[0]===n&&this.size[1]===i||r),o=this.context,s=o.gl;if(this.useMipmap=Boolean(e&&e.useMipmap),s.bindTexture(s.TEXTURE_2D,this.texture),o.pixelStoreUnpackFlipY.set(!1),o.pixelStoreUnpack.set(1),o.pixelStoreUnpackPremultiplyAlpha.set(this.format===s.RGBA&&(!e||!1!==e.premultiply)),a)this.size=[n,i],t instanceof Fc||t instanceof Bc||t instanceof Nc||t instanceof jc||Uc&&t instanceof Uc?s.texImage2D(s.TEXTURE_2D,0,this.format,this.format,s.UNSIGNED_BYTE,t):s.texImage2D(s.TEXTURE_2D,0,this.format,n,i,0,this.format,s.UNSIGNED_BYTE,t.data);else{var l=r||{x:0,y:0},c=l.x,u=l.y;t instanceof Fc||t instanceof Bc||t instanceof Nc||t instanceof jc||Uc&&t instanceof Uc?s.texSubImage2D(s.TEXTURE_2D,0,c,u,s.RGBA,s.UNSIGNED_BYTE,t):s.texSubImage2D(s.TEXTURE_2D,0,c,u,n,i,s.RGBA,s.UNSIGNED_BYTE,t.data)}this.useMipmap&&this.isSizePowerOfTwo()&&s.generateMipmap(s.TEXTURE_2D)},Vc.prototype.bind=function(t,e,r){var n=this.context.gl;n.bindTexture(n.TEXTURE_2D,this.texture),r!==n.LINEAR_MIPMAP_NEAREST||this.isSizePowerOfTwo()||(r=n.LINEAR),t!==this.filter&&(n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MAG_FILTER,t),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MIN_FILTER,r||t),this.filter=t),e!==this.wrap&&(n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_S,e),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_T,e),this.wrap=e)},Vc.prototype.isSizePowerOfTwo=function(){return this.size[0]===this.size[1]&&Math.log(this.size[0])/Math.LN2%1==0},Vc.prototype.destroy=function(){this.context.gl.deleteTexture(this.texture),this.texture=null};var Hc=function(t){var e=this;this._callback=t,this._triggered=!1,\"undefined\"!=typeof MessageChannel&&(this._channel=new MessageChannel,this._channel.port2.onmessage=function(){e._triggered=!1,e._callback()})};Hc.prototype.trigger=function(){var t=this;this._triggered||(this._triggered=!0,this._channel?this._channel.port1.postMessage(!0):setTimeout((function(){t._triggered=!1,t._callback()}),0))},Hc.prototype.remove=function(){delete this._channel,this._callback=function(){}};var qc=function(t,e,r){this.target=t,this.parent=e,this.mapId=r,this.callbacks={},this.tasks={},this.taskQueue=[],this.cancelCallbacks={},m([\"receive\",\"process\"],this),this.invoker=new Hc(this.process),this.target.addEventListener(\"message\",this.receive,!1),this.globalScope=k()?t:self};function Gc(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]}qc.prototype.send=function(t,e,r,n,i){var a=this;void 0===i&&(i=!1);var o=Math.round(1e18*Math.random()).toString(36).substring(0,10);r&&(this.callbacks[o]=r);var s=S(this.globalScope)?void 0:[];return this.target.postMessage({id:o,type:t,hasCallback:!!r,targetMapId:n,mustQueue:i,sourceMapId:this.mapId,data:Hn(e,s)},s),{cancel:function(){r&&delete a.callbacks[o],a.target.postMessage({id:o,type:\"<cancel>\",targetMapId:n,sourceMapId:a.mapId})}}},qc.prototype.receive=function(t){var e=t.data,r=e.id;if(r&&(!e.targetMapId||this.mapId===e.targetMapId))if(\"<cancel>\"===e.type){delete this.tasks[r];var n=this.cancelCallbacks[r];delete this.cancelCallbacks[r],n&&n()}else k()||e.mustQueue?(this.tasks[r]=e,this.taskQueue.push(r),this.invoker.trigger()):this.processTask(r,e)},qc.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)}},qc.prototype.processTask=function(t,e){var r=this;if(\"<response>\"===e.type){var n=this.callbacks[t];delete this.callbacks[t],n&&(e.error?n(qn(e.error)):n(null,qn(e.data)))}else{var i=!1,a=S(this.globalScope)?void 0:[],o=e.hasCallback?function(e,n){i=!0,delete r.cancelCallbacks[t],r.target.postMessage({id:t,type:\"<response>\",sourceMapId:r.mapId,error:e?Hn(e):null,data:Hn(n,a)},a)}:function(t){i=!0},s=null,l=qn(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)}},qc.prototype.remove=function(){this.invoker.remove(),this.target.removeEventListener(\"message\",this.receive,!1)};var Yc=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]))};Yc.prototype.setNorthEast=function(t){return this._ne=t instanceof Wc?new Wc(t.lng,t.lat):Wc.convert(t),this},Yc.prototype.setSouthWest=function(t){return this._sw=t instanceof Wc?new Wc(t.lng,t.lat):Wc.convert(t),this},Yc.prototype.extend=function(t){var e,r,n=this._sw,i=this._ne;if(t instanceof Wc)e=t,r=t;else{if(!(t instanceof Yc)){if(Array.isArray(t)){if(4===t.length||t.every(Array.isArray)){var a=t;return this.extend(Yc.convert(a))}var o=t;return this.extend(Wc.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 Wc(e.lng,e.lat),this._ne=new Wc(r.lng,r.lat)),this},Yc.prototype.getCenter=function(){return new Wc((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)},Yc.prototype.getSouthWest=function(){return this._sw},Yc.prototype.getNorthEast=function(){return this._ne},Yc.prototype.getNorthWest=function(){return new Wc(this.getWest(),this.getNorth())},Yc.prototype.getSouthEast=function(){return new Wc(this.getEast(),this.getSouth())},Yc.prototype.getWest=function(){return this._sw.lng},Yc.prototype.getSouth=function(){return this._sw.lat},Yc.prototype.getEast=function(){return this._ne.lng},Yc.prototype.getNorth=function(){return this._ne.lat},Yc.prototype.toArray=function(){return[this._sw.toArray(),this._ne.toArray()]},Yc.prototype.toString=function(){return\"LngLatBounds(\"+this._sw.toString()+\", \"+this._ne.toString()+\")\"},Yc.prototype.isEmpty=function(){return!(this._sw&&this._ne)},Yc.prototype.contains=function(t){var e=Wc.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},Yc.convert=function(t){return!t||t instanceof Yc?t:new Yc(t)};var Wc=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\")};Wc.prototype.wrap=function(){return new Wc(c(this.lng,-180,180),this.lat)},Wc.prototype.toArray=function(){return[this.lng,this.lat]},Wc.prototype.toString=function(){return\"LngLat(\"+this.lng+\", \"+this.lat+\")\"},Wc.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 6371008.8*Math.acos(Math.min(i,1))},Wc.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 Yc(new Wc(this.lng-r,this.lat-e),new Wc(this.lng+r,this.lat+e))},Wc.convert=function(t){if(t instanceof Wc)return t;if(Array.isArray(t)&&(2===t.length||3===t.length))return new Wc(Number(t[0]),Number(t[1]));if(!Array.isArray(t)&&\"object\"==typeof t&&null!==t)return new Wc(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: <lng>, lat: <lat>}, an object {lon: <lng>, lat: <lat>}, or an array of [<lng>, <lat>]\")};var Xc=2*Math.PI*6371008.8;function Zc(t){return Xc*Math.cos(t*Math.PI/180)}function Jc(t){return(180+t)/360}function Kc(t){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+t*Math.PI/360)))/360}function Qc(t,e){return t/Zc(e)}function $c(t){var e=180-360*t;return 360/Math.PI*Math.atan(Math.exp(e*Math.PI/180))-90}var tu=function(t,e,r){void 0===r&&(r=0),this.x=+t,this.y=+e,this.z=+r};tu.fromLngLat=function(t,e){void 0===e&&(e=0);var r=Wc.convert(t);return new tu(Jc(r.lng),Kc(r.lat),Qc(e,r.lat))},tu.prototype.toLngLat=function(){return new Wc(360*this.x-180,$c(this.y))},tu.prototype.toAltitude=function(){return t=this.z,e=this.y,t*Zc($c(e));var t,e},tu.prototype.meterInMercatorCoordinateUnits=function(){return 1/Xc*(t=$c(this.y),1/Math.cos(t*Math.PI/180));var t};var eu=function(t,e,r){this.z=t,this.x=e,this.y=r,this.key=iu(0,t,t,e,r)};eu.prototype.equals=function(t){return this.z===t.z&&this.x===t.x&&this.y===t.y},eu.prototype.url=function(t,e){var r,n,i,a,o,s=(r=this.x,n=this.y,i=this.z,a=Gc(256*r,256*(n=Math.pow(2,i)-n-1),i),o=Gc(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<<a-1)?1:0)+(r&n?2:0);return i}(this.z,this.x,this.y);return t[(this.x+this.y)%t.length].replace(\"{prefix}\",(this.x%16).toString(16)+(this.y%16).toString(16)).replace(\"{z}\",String(this.z)).replace(\"{x}\",String(this.x)).replace(\"{y}\",String(\"tms\"===e?Math.pow(2,this.z)-this.y-1:this.y)).replace(\"{quadkey}\",l).replace(\"{bbox-epsg-3857}\",s)},eu.prototype.getTilePoint=function(t){var e=Math.pow(2,this.z);return new i(8192*(t.x*e-this.x),8192*(t.y*e-this.y))},eu.prototype.toString=function(){return this.z+\"/\"+this.x+\"/\"+this.y};var ru=function(t,e){this.wrap=t,this.canonical=e,this.key=iu(t,e.z,e.z,e.x,e.y)},nu=function(t,e,r,n,i){this.overscaledZ=t,this.wrap=e,this.canonical=new eu(r,+n,+i),this.key=iu(e,t,r,n,i)};function iu(t,e,r,n,i){(t*=2)<0&&(t=-1*t-1);var a=1<<r;return(a*a*t+a*i+n).toString(36)+r.toString(36)+e.toString(36)}nu.prototype.equals=function(t){return this.overscaledZ===t.overscaledZ&&this.wrap===t.wrap&&this.canonical.equals(t.canonical)},nu.prototype.scaledTo=function(t){var e=this.canonical.z-t;return t>this.canonical.z?new nu(t,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new nu(t,this.wrap,t,this.canonical.x>>e,this.canonical.y>>e)},nu.prototype.calculateScaledKey=function(t,e){var r=this.canonical.z-t;return t>this.canonical.z?iu(this.wrap*+e,t,this.canonical.z,this.canonical.x,this.canonical.y):iu(this.wrap*+e,t,t,this.canonical.x>>r,this.canonical.y>>r)},nu.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<this.overscaledZ&&t.canonical.x===this.canonical.x>>e&&t.canonical.y===this.canonical.y>>e},nu.prototype.children=function(t){if(this.overscaledZ>=t)return[new nu(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 nu(e,this.wrap,e,r,n),new nu(e,this.wrap,e,r+1,n),new nu(e,this.wrap,e,r,n+1),new nu(e,this.wrap,e,r+1,n+1)]},nu.prototype.isLessThan=function(t){return this.wrap<t.wrap||!(this.wrap>t.wrap)&&(this.overscaledZ<t.overscaledZ||!(this.overscaledZ>t.overscaledZ)&&(this.canonical.x<t.canonical.x||!(this.canonical.x>t.canonical.x)&&this.canonical.y<t.canonical.y))},nu.prototype.wrapped=function(){return new nu(this.overscaledZ,0,this.canonical.z,this.canonical.x,this.canonical.y)},nu.prototype.unwrapTo=function(t){return new nu(this.overscaledZ,t,this.canonical.z,this.canonical.x,this.canonical.y)},nu.prototype.overscaleFactor=function(){return Math.pow(2,this.overscaledZ-this.canonical.z)},nu.prototype.toUnwrapped=function(){return new ru(this.wrap,this.canonical)},nu.prototype.toString=function(){return this.overscaledZ+\"/\"+this.canonical.x+\"/\"+this.canonical.y},nu.prototype.getTilePoint=function(t){return this.canonical.getTilePoint(new tu(t.x-this.wrap,t.y))},Nn(\"CanonicalTileID\",eu),Nn(\"OverscaledTileID\",nu,{omit:[\"posMatrix\"]});var au=function(t,e,r){if(this.uid=t,e.height!==e.width)throw new RangeError(\"DEM tiles must be square\");if(r&&\"mapbox\"!==r&&\"terrarium\"!==r)return _('\"'+r+'\" is not a valid encoding type. Valid types include \"mapbox\" and \"terrarium\".');this.stride=e.height;var n=this.dim=e.height-2;this.data=new Uint32Array(e.data.buffer),this.encoding=r||\"mapbox\";for(var i=0;i<n;i++)this.data[this._idx(-1,i)]=this.data[this._idx(0,i)],this.data[this._idx(n,i)]=this.data[this._idx(n-1,i)],this.data[this._idx(i,-1)]=this.data[this._idx(i,0)],this.data[this._idx(i,n)]=this.data[this._idx(i,n-1)];this.data[this._idx(-1,-1)]=this.data[this._idx(0,0)],this.data[this._idx(n,-1)]=this.data[this._idx(n-1,0)],this.data[this._idx(-1,n)]=this.data[this._idx(0,n-1)],this.data[this._idx(n,n)]=this.data[this._idx(n-1,n-1)]};au.prototype.get=function(t,e){var r=new Uint8Array(this.data.buffer),n=4*this._idx(t,e);return(\"terrarium\"===this.encoding?this._unpackTerrarium:this._unpackMapbox)(r[n],r[n+1],r[n+2])},au.prototype.getUnpackVector=function(){return\"terrarium\"===this.encoding?[256,1,1/256,32768]:[6553.6,25.6,.1,1e4]},au.prototype._idx=function(t,e){if(t<-1||t>=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)},au.prototype._unpackMapbox=function(t,e,r){return(256*t*256+256*e+r)/10-1e4},au.prototype._unpackTerrarium=function(t,e,r){return 256*t+e+r/256-32768},au.prototype.getPixels=function(){return new Eo({width:this.stride,height:this.stride},new Uint8Array(this.data.buffer))},au.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<o;c++)for(var u=n;u<i;u++)this.data[this._idx(u,c)]=t.data[this._idx(u+s,c+l)]},Nn(\"DEMData\",au);var ou=function(t){this._stringToNumber={},this._numberToString=[];for(var e=0;e<t.length;e++){var r=t[e];this._stringToNumber[r]=e,this._numberToString[e]=r}};ou.prototype.encode=function(t){return this._stringToNumber[t]},ou.prototype.decode=function(t){return this._numberToString[t]};var su=function(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},lu={geometry:{configurable:!0}};lu.geometry.get=function(){return void 0===this._geometry&&(this._geometry=this._vectorTileFeature.toGeoJSON(this._vectorTileFeature._x,this._vectorTileFeature._y,this._vectorTileFeature._z).geometry),this._geometry},lu.geometry.set=function(t){this._geometry=t},su.prototype.toJSON=function(){var t={geometry:this.geometry};for(var e in this)\"_geometry\"!==e&&\"_vectorTileFeature\"!==e&&(t[e]=this[e]);return t},Object.defineProperties(su.prototype,lu);var cu=function(){this.state={},this.stateChanges={},this.deletedStates={}};cu.prototype.updateState=function(t,e,r){var n=String(e);if(this.stateChanges[t]=this.stateChanges[t]||{},this.stateChanges[t][n]=this.stateChanges[t][n]||{},u(this.stateChanges[t][n],r),null===this.deletedStates[t])for(var i in this.deletedStates[t]={},this.state[t])i!==n&&(this.deletedStates[t][i]=null);else if(this.deletedStates[t]&&null===this.deletedStates[t][n])for(var a in this.deletedStates[t][n]={},this.state[t][n])r[a]||(this.deletedStates[t][n][a]=null);else for(var o in r){this.deletedStates[t]&&this.deletedStates[t][n]&&null===this.deletedStates[t][n][o]&&delete this.deletedStates[t][n][o]}},cu.prototype.removeFeatureState=function(t,e,r){if(!(null===this.deletedStates[t])){var 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}},cu.prototype.getState=function(t,e){var r=String(e),n=this.state[t]||{},i=this.stateChanges[t]||{},a=u({},n[r],i[r]);if(null===this.deletedStates[t])return{};if(this.deletedStates[t]){var o=this.deletedStates[t][e];if(null===o)return{};for(var s in o)delete a[s]}return a},cu.prototype.initializeTileState=function(t,e){t.setFeatureState(this.state,e)},cu.prototype.coalesceChanges=function(t,e){var r={};for(var n in this.stateChanges){this.state[n]=this.state[n]||{};var i={};for(var a in this.stateChanges[n])this.state[n][a]||(this.state[n][a]={}),u(this.state[n][a],this.stateChanges[n][a]),i[a]=this.state[n][a];r[n]=i}for(var o in this.deletedStates){this.state[o]=this.state[o]||{};var s={};if(null===this.deletedStates[o])for(var l in this.state[o])s[l]={},this.state[o][l]={};else for(var c in this.deletedStates[o]){if(null===this.deletedStates[o][c])this.state[o][c]={};else for(var f=0,h=Object.keys(this.deletedStates[o][c]);f<h.length;f+=1){var p=h[f];delete this.state[o][c][p]}s[c]=this.state[o][c]}r[o]=r[o]||{},u(r[o],s)}if(this.stateChanges={},this.deletedStates={},0!==Object.keys(r).length)for(var d in t){t[d].setFeatureState(r,e)}};var uu=function(t,e){this.tileID=t,this.x=t.canonical.x,this.y=t.canonical.y,this.z=t.canonical.z,this.grid=new zn(8192,16,0),this.grid3D=new zn(8192,16,0),this.featureIndexArray=new fa,this.promoteId=e};function fu(t,e,r,n,i){return v(t,(function(t,a){var o=e instanceof _i?e.get(a):null;return o&&o.evaluate?o.evaluate(r,n,i):o}))}function hu(t){for(var e=1/0,r=1/0,n=-1/0,i=-1/0,a=0,o=t;a<o.length;a+=1){var s=o[a];e=Math.min(e,s.x),r=Math.min(r,s.y),n=Math.max(n,s.x),i=Math.max(i,s.y)}return{minX:e,minY:r,maxX:n,maxY:i}}function pu(t,e){return e-t}uu.prototype.insert=function(t,e,r,n,i,a){var o=this.featureIndexArray.length;this.featureIndexArray.emplaceBack(r,n,i);for(var s=a?this.grid3D:this.grid,l=0;l<e.length;l++){for(var c=e[l],u=[1/0,1/0,-1/0,-1/0],f=0;f<c.length;f++){var h=c[f];u[0]=Math.min(u[0],h.x),u[1]=Math.min(u[1],h.y),u[2]=Math.max(u[2],h.x),u[3]=Math.max(u[3],h.y)}u[0]<8192&&u[1]<8192&&u[2]>=0&&u[3]>=0&&s.insert(o,u[0],u[1],u[2],u[3])}},uu.prototype.loadVTLayers=function(){return this.vtLayers||(this.vtLayers=new Ls.VectorTile(new al(this.rawTileData)).layers,this.sourceLayerCoder=new ou(this.vtLayers?Object.keys(this.vtLayers).sort():[\"_geojsonTileLayer\"])),this.vtLayers},uu.prototype.query=function(t,e,r,n){var a=this;this.loadVTLayers();for(var o=t.params||{},s=8192/t.tileSize/t.scale,l=sn(o.filter),c=t.queryGeometry,u=t.queryPadding*s,f=hu(c),h=this.grid.query(f.minX-u,f.minY-u,f.maxX+u,f.maxY+u),p=hu(t.cameraQueryGeometry),d=this.grid3D.query(p.minX-u,p.minY-u,p.maxX+u,p.maxY+u,(function(e,r,n,a){return function(t,e,r,n,a){for(var o=0,s=t;o<s.length;o+=1){var l=s[o];if(e<=l.x&&r<=l.y&&n>=l.x&&a>=l.y)return!0}var c=[new i(e,r),new i(e,a),new i(n,a),new i(n,r)];if(t.length>2)for(var u=0,f=c;u<f.length;u+=1){if(io(t,f[u]))return!0}for(var h=0;h<t.length-1;h++){if(ao(t[h],t[h+1],c))return!0}return!1}(t.cameraQueryGeometry,e-u,r-u,n+u,a+u)})),m=0,g=d;m<g.length;m+=1){var v=g[m];h.push(v)}h.sort(pu);for(var y,x={},b=function(i){var u=h[i];if(u!==y){y=u;var f=a.featureIndexArray.get(u),p=null;a.loadMatchingFeature(x,f.bucketIndex,f.sourceLayerIndex,f.featureIndex,l,o.layers,o.availableImages,e,r,n,(function(e,r,n){return p||(p=Ya(e)),r.queryIntersectsFeature(c,e,n,p,a.z,t.transform,s,t.pixelPosMatrix)}))}},_=0;_<h.length;_++)b(_);return x},uu.prototype.loadMatchingFeature=function(t,e,r,n,i,a,o,s,l,c,u){var f=this.bucketLayerIDs[e];if(!a||function(t,e){for(var r=0;r<t.length;r++)if(e.indexOf(t[r])>=0)return!0;return!1}(a,f)){var h=this.sourceLayerCoder.decode(r),p=this.vtLayers[h].feature(n);if(i.filter(new pi(this.tileID.overscaledZ),p))for(var d=this.getId(p,h),m=0;m<f.length;m++){var g=f[m];if(!(a&&a.indexOf(g)<0)){var v=s[g];if(v){var y={};void 0!==d&&c&&(y=c.getState(v.sourceLayer||\"_geojsonTileLayer\",d));var x=l[g];x.paint=fu(x.paint,v.paint,p,y,o),x.layout=fu(x.layout,v.layout,p,y,o);var b=!u||u(p,v,y);if(b){var _=new su(p,this.z,this.x,this.y,d);_.layer=x;var w=t[g];void 0===w&&(w=t[g]=[]),w.push({featureIndex:n,feature:_,intersectionZ:b})}}}}}},uu.prototype.lookupSymbolFeatures=function(t,e,r,n,i,a,o,s){var l={};this.loadVTLayers();for(var c=sn(i),u=0,f=t;u<f.length;u+=1){var h=f[u];this.loadMatchingFeature(l,r,n,h,c,a,o,s,e)}return l},uu.prototype.hasLayer=function(t){for(var e=0,r=this.bucketLayerIDs;e<r.length;e+=1)for(var n=0,i=r[e];n<i.length;n+=1){if(t===i[n])return!0}return!1},uu.prototype.getId=function(t,e){var r=t.id;if(this.promoteId){var n=\"string\"==typeof this.promoteId?this.promoteId:this.promoteId[e];\"boolean\"==typeof(r=t.properties[n])&&(r=Number(r))}return r},Nn(\"FeatureIndex\",uu,{omit:[\"rawTileData\",\"sourceLayerCoder\"]});var du=function(t,e){this.tileID=t,this.uid=h(),this.uses=0,this.tileSize=e,this.buckets={},this.expirationTime=null,this.queryPadding=0,this.hasSymbolBuckets=!1,this.hasRTLText=!1,this.dependencies={},this.expiredRequestCount=0,this.state=\"loading\"};du.prototype.registerFadeDuration=function(t){var e=t+this.timeAdded;e<R.now()||this.fadeEndTime&&e<this.fadeEndTime||(this.fadeEndTime=e)},du.prototype.wasRequested=function(){return\"errored\"===this.state||\"loaded\"===this.state||\"reloading\"===this.state},du.prototype.loadVectorData=function(t,e,r){if(this.hasData()&&this.unloadVectorData(),this.state=\"loaded\",t){for(var n in t.featureIndex&&(this.latestFeatureIndex=t.featureIndex,t.rawTileData?(this.latestRawTileData=t.rawTileData,this.latestFeatureIndex.rawTileData=t.rawTileData):this.latestRawTileData&&(this.latestFeatureIndex.rawTileData=this.latestRawTileData)),this.collisionBoxArray=t.collisionBoxArray,this.buckets=function(t,e){var r={};if(!e)return r;for(var n=function(){var t=a[i],n=t.layerIds.map((function(t){return e.getLayer(t)})).filter(Boolean);if(0!==n.length){t.layers=n,t.stateDependentLayerIds&&(t.stateDependentLayers=t.stateDependentLayerIds.map((function(t){return n.filter((function(e){return e.id===t}))[0]})));for(var o=0,s=n;o<s.length;o+=1){var l=s[o];r[l.id]=t}}},i=0,a=t;i<a.length;i+=1)n();return r}(t.buckets,e.style),this.hasSymbolBuckets=!1,this.buckets){var i=this.buckets[n];if(i instanceof Mc){if(this.hasSymbolBuckets=!0,!r)break;i.justReloaded=!0}}if(this.hasRTLText=!1,this.hasSymbolBuckets)for(var a in this.buckets){var o=this.buckets[a];if(o instanceof Mc&&o.hasRTLText){this.hasRTLText=!0,hi.isLoading()||hi.isLoaded()||\"deferred\"!==ui()||fi();break}}for(var s in this.queryPadding=0,this.buckets){var l=this.buckets[s];this.queryPadding=Math.max(this.queryPadding,e.style.getLayer(s).queryRadius(l))}t.imageAtlas&&(this.imageAtlas=t.imageAtlas),t.glyphAtlasImage&&(this.glyphAtlasImage=t.glyphAtlasImage)}else this.collisionBoxArray=new na},du.prototype.unloadVectorData=function(){for(var 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\"},du.prototype.getBucket=function(t){return this.buckets[t.id]},du.prototype.upload=function(t){for(var e in this.buckets){var r=this.buckets[e];r.uploadPending()&&r.upload(t)}var n=t.gl;this.imageAtlas&&!this.imageAtlas.uploaded&&(this.imageAtlasTexture=new Vc(t,this.imageAtlas.image,n.RGBA),this.imageAtlas.uploaded=!0),this.glyphAtlasImage&&(this.glyphAtlasTexture=new Vc(t,this.glyphAtlasImage,n.ALPHA),this.glyphAtlasImage=null)},du.prototype.prepare=function(t){this.imageAtlas&&this.imageAtlas.patchUpdatedImages(t,this.imageAtlasTexture)},du.prototype.queryRenderedFeatures=function(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):{}},du.prototype.querySourceFeatures=function(t,e){var r=this.latestFeatureIndex;if(r&&r.rawTileData){var n=r.loadVTLayers(),i=e?e.sourceLayer:\"\",a=n._geojsonTileLayer||n[i];if(a)for(var o=sn(e&&e.filter),s=this.tileID.canonical,l=s.z,c=s.x,u=s.y,f={z:l,x:c,y:u},h=0;h<a.length;h++){var p=a.feature(h);if(o.filter(new pi(this.tileID.overscaledZ),p)){var d=r.getId(p,i),m=new su(p,l,c,u,d);m.tile=f,t.push(m)}}}},du.prototype.hasData=function(){return\"loaded\"===this.state||\"reloading\"===this.state||\"expired\"===this.state},du.prototype.patternsLoaded=function(){return this.imageAtlas&&!!Object.keys(this.imageAtlas.patternPositions).length},du.prototype.setExpiryData=function(t){var e=this.expirationTime;if(t.cacheControl){var r=A(t.cacheControl);r[\"max-age\"]&&(this.expirationTime=Date.now()+1e3*r[\"max-age\"])}else t.expires&&(this.expirationTime=new Date(t.expires).getTime());if(this.expirationTime){var n=Date.now(),i=!1;if(this.expirationTime>n)i=!1;else if(e)if(this.expirationTime<e)i=!0;else{var a=this.expirationTime-e;a?this.expirationTime=n+Math.max(a,3e4):i=!0}else i=!0;i?(this.expiredRequestCount++,this.state=\"expired\"):this.expiredRequestCount=0}},du.prototype.getExpiryTimeout=function(){if(this.expirationTime)return this.expiredRequestCount?1e3*(1<<Math.min(this.expiredRequestCount-1,31)):Math.min(this.expirationTime-(new Date).getTime(),Math.pow(2,31)-1)},du.prototype.setFeatureState=function(t,e){if(this.latestFeatureIndex&&this.latestFeatureIndex.rawTileData&&0!==Object.keys(t).length){var r=this.latestFeatureIndex.loadVTLayers();for(var n in this.buckets)if(e.style.hasLayer(n)){var i=this.buckets[n],a=i.layers[0].sourceLayer||\"_geojsonTileLayer\",o=r[a],s=t[a];if(o&&s&&0!==Object.keys(s).length){i.update(s,o,this.imageAtlas&&this.imageAtlas.patternPositions||{});var l=e&&e.style&&e.style.getLayer(n);l&&(this.queryPadding=Math.max(this.queryPadding,l.queryRadius(i)))}}}},du.prototype.holdingForFade=function(){return void 0!==this.symbolFadeHoldUntil},du.prototype.symbolFadeFinished=function(){return!this.symbolFadeHoldUntil||this.symbolFadeHoldUntil<R.now()},du.prototype.clearFadeHold=function(){this.symbolFadeHoldUntil=void 0},du.prototype.setHoldDuration=function(t){this.symbolFadeHoldUntil=R.now()+t},du.prototype.setDependencies=function(t,e){for(var r={},n=0,i=e;n<i.length;n+=1){r[i[n]]=!0}this.dependencies[t]=r},du.prototype.hasDependency=function(t,e){for(var r=0,n=t;r<n.length;r+=1){var i=n[r],a=this.dependencies[i];if(a)for(var o=0,s=e;o<s.length;o+=1){if(a[s[o]])return!0}}return!1};var mu=self.performance,gu=function(t){this._marks={start:[t.url,\"start\"].join(\"#\"),end:[t.url,\"end\"].join(\"#\"),measure:t.url.toString()},mu.mark(this._marks.start)};gu.prototype.finish=function(){mu.mark(this._marks.end);var t=mu.getEntriesByName(this._marks.measure);return 0===t.length&&(mu.measure(this._marks.measure,this._marks.start,this._marks.end),t=mu.getEntriesByName(this._marks.measure),mu.clearMarks(this._marks.start),mu.clearMarks(this._marks.end),mu.clearMeasures(this._marks.measure)),t},t.Actor=qc,t.AlphaImage=So,t.CanonicalTileID=eu,t.CollisionBoxArray=na,t.Color=te,t.DEMData=au,t.DataConstantProperty=wi,t.DictionaryCoder=ou,t.EXTENT=8192,t.ErrorEvent=St,t.EvaluationParameters=pi,t.Event=Mt,t.Evented=Et,t.FeatureIndex=uu,t.FillBucket=gs,t.FillExtrusionBucket=Os,t.ImageAtlas=Ll,t.ImagePosition=Sl,t.LineBucket=qs,t.LngLat=Wc,t.LngLatBounds=Yc,t.MercatorCoordinate=tu,t.ONE_EM=24,t.OverscaledTileID=nu,t.Point=i,t.Point$1=i,t.Properties=Si,t.Protobuf=al,t.RGBAImage=Eo,t.RequestManager=H,t.RequestPerformance=gu,t.ResourceType=dt,t.SegmentVector=pa,t.SourceFeatureState=cu,t.StructArrayLayout1ui2=$i,t.StructArrayLayout2f1f2i16=qi,t.StructArrayLayout2i4=zi,t.StructArrayLayout3ui6=Yi,t.StructArrayLayout4i8=Di,t.SymbolBucket=Mc,t.Texture=Vc,t.Tile=du,t.Transitionable=gi,t.Uniform1f=Sa,t.Uniform1i=Ma,t.Uniform2f=Ea,t.Uniform3f=La,t.Uniform4f=Ca,t.UniformColor=Pa,t.UniformMatrix4f=Oa,t.UnwrappedTileID=ru,t.ValidationError=Ct,t.WritingMode=Cl,t.ZoomHistory=Gn,t.add=function(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t},t.addDynamicAttributes=wc,t.asyncAll=function(t,e,r){if(!t.length)return r(null,[]);var n=t.length,i=new Array(t.length),a=null;t.forEach((function(t,o){e(t,(function(t,e){t&&(a=t),i[o]=e,0==--n&&r(a,i)}))}))},t.bezier=o,t.bindAll=m,t.browser=R,t.cacheEntryPossiblyAdded=function(t){++ht>ot&&(t.getActor().send(\"enforceCacheSizeLimit\",at),ht=0)},t.clamp=l,t.clearTileCache=function(t){var e=self.caches.delete(\"mapbox-tiles\");t&&e.catch(t).then((function(){return t()}))},t.clipLine=ec,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=x,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=tl,t.config=F,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=Wr,t.createLayout=Ii,t.createStyleLayer=function(t){return\"custom\"===t.type?new Dc(t):new Rc[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;n<e.length;n++)if(!t(e[n],r[n]))return!1;return!0}if(\"object\"==typeof e&&null!==e&&null!==r){if(\"object\"!=typeof r)return!1;if(Object.keys(e).length!==Object.keys(r).length)return!1;for(var i in e)if(!t(e[i],r[i]))return!1;return!0}return e===r},t.dot=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]},t.dot$1=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]},t.ease=s,t.emitValidationErrors=On,t.endsWith=g,t.enforceCacheSizeLimit=function(t){st(),Q&&Q.then((function(e){e.keys().then((function(r){for(var n=0;n<r.length-t;n++)e.delete(r[n])}))}))},t.evaluateSizeForFeature=Yl,t.evaluateSizeForZoom=Wl,t.evaluateVariableOffset=dc,t.evented=ci,t.extend=u,t.featureFilter=sn,t.filterObject=y,t.fromRotation=function(t,e){var r=Math.sin(e),n=Math.cos(e);return 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,t},t.getAnchorAlignment=Ul,t.getAnchorJustification=mc,t.getArrayBuffer=xt,t.getImage=Tt,t.getJSON=function(t,e){return yt(u(t,{type:\"json\"}),e)},t.getRTLTextPluginStatus=ui,t.getReferrer=gt,t.getVideo=function(t,e){var r,n,i=self.document.createElement(\"video\");i.muted=!0,i.onloadstart=function(){e(null,i)};for(var a=0;a<t.length;a++){var o=self.document.createElement(\"source\");r=t[a],n=void 0,(n=self.document.createElement(\"a\")).href=r,(n.protocol!==self.document.location.protocol||n.host!==self.document.location.host)&&(i.crossOrigin=\"Anonymous\"),o.src=t[a],i.appendChild(o)}return{cancel:function(){}}},t.identity=ho,t.invert=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],f=e[9],h=e[10],p=e[11],d=e[12],m=e[13],g=e[14],v=e[15],y=r*s-n*o,x=r*l-i*o,b=r*c-a*o,_=n*l-i*s,w=n*c-a*s,T=i*c-a*l,k=u*m-f*d,A=u*g-h*d,M=u*v-p*d,S=f*g-h*m,E=f*v-p*m,L=h*v-p*g,C=y*L-x*E+b*S+_*M-w*A+T*k;return C?(C=1/C,t[0]=(s*L-l*E+c*S)*C,t[1]=(i*E-n*L-a*S)*C,t[2]=(m*T-g*w+v*_)*C,t[3]=(h*w-f*T-p*_)*C,t[4]=(l*M-o*L-c*A)*C,t[5]=(r*L-i*M+a*A)*C,t[6]=(g*b-d*T-v*x)*C,t[7]=(u*T-h*b+p*x)*C,t[8]=(o*E-s*M+c*k)*C,t[9]=(n*M-r*E-a*k)*C,t[10]=(d*w-m*b+v*y)*C,t[11]=(f*b-u*w-p*y)*C,t[12]=(s*A-o*S-l*k)*C,t[13]=(r*S-n*A+i*k)*C,t[14]=(m*x-d*_-g*y)*C,t[15]=(u*_-f*x+h*y)*C,t):null},t.isChar=Yn,t.isMapboxURL=q,t.keysDifference=function(t,e){var r=[];for(var n in t)n in e||r.push(n);return r},t.makeRequest=yt,t.mapObject=v,t.mercatorXfromLng=Jc,t.mercatorYfromLat=Kc,t.mercatorZfromAltitude=Qc,t.mul=mo,t.multiply=po,t.mvt=Ls,t.normalize=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},t.number=qe,t.offscreenCanvasSupported=pt,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 al(t).readFields(Tl,[])},t.pbf=al,t.performSymbolLayout=function(t,e,r,n,i,a,o){t.createArrays();var s=512*t.overscaling;t.tilePixelRatio=8192/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 f=t.textSizeData,h=f.minZoom,p=f.maxZoom;u.compositeTextSizes=[c[\"text-size\"].possiblyEvaluate(new pi(h),o),c[\"text-size\"].possiblyEvaluate(new pi(p),o)]}if(\"composite\"===t.iconSizeData.kind){var d=t.iconSizeData,m=d.minZoom,g=d.maxZoom;u.compositeIconSizes=[c[\"icon-size\"].possiblyEvaluate(new pi(m),o),c[\"icon-size\"].possiblyEvaluate(new pi(g),o)]}u.layoutTextSize=c[\"text-size\"].possiblyEvaluate(new pi(t.zoom+1),o),u.layoutIconSize=c[\"icon-size\"].possiblyEvaluate(new pi(t.zoom+1),o),u.textMaxSize=c[\"text-size\"].possiblyEvaluate(new pi(18));for(var v=24*l.get(\"text-line-height\"),y=\"map\"===l.get(\"text-rotation-alignment\")&&\"point\"!==l.get(\"symbol-placement\"),x=l.get(\"text-keep-upright\"),b=l.get(\"text-size\"),w=function(){var a=k[T],s=l.get(\"text-font\").evaluate(a,{},o).join(\",\"),c=b.evaluate(a,{},o),f=u.layoutTextSize.evaluate(a,{},o),h=u.layoutIconSize.evaluate(a,{},o),p={horizontal:{},vertical:void 0},d=a.text,m=[0,0];if(d){var g=d.toString(),w=24*l.get(\"text-letter-spacing\").evaluate(a,{},o),A=function(t){for(var e=0,r=t;e<r.length;e+=1){if(!Xn(r[e].charCodeAt(0)))return!1}return!0}(g)?w:0,M=l.get(\"text-anchor\").evaluate(a,{},o),S=l.get(\"text-variable-anchor\");if(!S){var E=l.get(\"text-radial-offset\").evaluate(a,{},o);m=E?dc(M,[24*E,pc]):l.get(\"text-offset\").evaluate(a,{},o).map((function(t){return 24*t}))}var L=y?\"center\":l.get(\"text-justify\").evaluate(a,{},o),C=l.get(\"symbol-placement\"),P=\"point\"===C?24*l.get(\"text-max-width\").evaluate(a,{},o):0,I=function(){t.allowVerticalPlacement&&Wn(g)&&(p.vertical=Ol(d,e,r,i,s,P,v,M,\"left\",A,m,Cl.vertical,!0,C,f,c))};if(!y&&S){for(var O=\"auto\"===L?S.map((function(t){return mc(t)})):[L],z=!1,D=0;D<O.length;D++){var R=O[D];if(!p.horizontal[R])if(z)p.horizontal[R]=p.horizontal[0];else{var F=Ol(d,e,r,i,s,P,v,\"center\",R,A,m,Cl.horizontal,!1,C,f,c);F&&(p.horizontal[R]=F,z=1===F.positionedLines.length)}}I()}else{\"auto\"===L&&(L=mc(M));var B=Ol(d,e,r,i,s,P,v,M,L,A,m,Cl.horizontal,!1,C,f,c);B&&(p.horizontal[L]=B),I(),Wn(g)&&y&&x&&(p.vertical=Ol(d,e,r,i,s,P,v,M,L,A,m,Cl.vertical,!1,C,f,c))}}var N=void 0,j=!1;if(a.icon&&a.icon.name){var U=n[a.icon.name];U&&(N=function(t,e,r){var n=Ul(r),i=n.horizontalAlign,a=n.verticalAlign,o=e[0],s=e[1],l=o-t.displaySize[0]*i,c=l+t.displaySize[0],u=s-t.displaySize[1]*a;return{image:t,top:u,bottom:u+t.displaySize[1],left:l,right:c}}(i[a.icon.name],l.get(\"icon-offset\").evaluate(a,{},o),l.get(\"icon-anchor\").evaluate(a,{},o)),j=U.sdf,void 0===t.sdfIcons?t.sdfIcons=U.sdf:t.sdfIcons!==U.sdf&&_(\"Style sheet warning: Cannot mix SDF and non-SDF icons in one buffer\"),(U.pixelRatio!==t.pixelRatio||0!==l.get(\"icon-rotate\").constantOr(1))&&(t.iconsNeedLinear=!0))}var V=vc(p.horizontal)||p.vertical;t.iconsInText=!!V&&V.iconsInText,(V||N)&&function(t,e,r,n,i,a,o,s,l,c,u){var f=a.textMaxSize.evaluate(e,{});void 0===f&&(f=o);var h,p=t.layers[0].layout,d=p.get(\"icon-offset\").evaluate(e,{},u),m=vc(r.horizontal),g=o/24,v=t.tilePixelRatio*g,y=t.tilePixelRatio*f/24,x=t.tilePixelRatio*s,b=t.tilePixelRatio*p.get(\"symbol-spacing\"),w=p.get(\"text-padding\")*t.tilePixelRatio,T=p.get(\"icon-padding\")*t.tilePixelRatio,k=p.get(\"text-max-angle\")/180*Math.PI,A=\"map\"===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=b/2,L=p.get(\"icon-text-fit\");n&&\"none\"!==L&&(t.allowVerticalPlacement&&r.vertical&&(h=Hl(n,r.vertical,L,p.get(\"icon-text-fit-padding\"),d,g)),m&&(n=Hl(n,m,L,p.get(\"icon-text-fit-padding\"),d,g)));var C=function(s,f){f.x<0||f.x>=8192||f.y<0||f.y>=8192||function(t,e,r,n,i,a,o,s,l,c,u,f,h,p,d,m,g,v,y,x,b,w,T,k,A){var M,S,E,L,C,P=t.addToLineVertexArray(e,r),I=0,O=0,z=0,D=0,R=-1,F=-1,B={},N=ya(\"\"),j=0,U=0;void 0===s._unevaluatedLayout.getValue(\"text-radial-offset\")?(M=s.layout.get(\"text-offset\").evaluate(b,{},k).map((function(t){return 24*t})),j=M[0],U=M[1]):(j=24*s.layout.get(\"text-radial-offset\").evaluate(b,{},k),U=pc);if(t.allowVerticalPlacement&&n.vertical){var V=s.layout.get(\"text-rotate\").evaluate(b,{},k)+90,H=n.vertical;L=new sc(l,e,c,u,f,H,h,p,d,V),o&&(C=new sc(l,e,c,u,f,o,g,v,d,V))}if(i){var q=s.layout.get(\"icon-rotate\").evaluate(b,{}),G=\"none\"!==s.layout.get(\"icon-text-fit\"),Y=rc(i,q,T,G),W=o?rc(o,q,T,G):void 0;E=new sc(l,e,c,u,f,i,g,v,!1,q),I=4*Y.length;var X=t.iconSizeData,Z=null;\"source\"===X.kind?(Z=[128*s.layout.get(\"icon-size\").evaluate(b,{})])[0]>32640&&_(t.layerIds[0]+': Value for \"icon-size\" is >= 255. Reduce your \"icon-size\".'):\"composite\"===X.kind&&((Z=[128*w.compositeIconSizes[0].evaluate(b,{},k),128*w.compositeIconSizes[1].evaluate(b,{},k)])[0]>32640||Z[1]>32640)&&_(t.layerIds[0]+': Value for \"icon-size\" is >= 255. Reduce your \"icon-size\".'),t.addSymbols(t.icon,Y,Z,x,y,b,!1,e,P.lineStartIndex,P.lineLength,-1,k),R=t.icon.placedSymbolArray.length-1,W&&(O=4*W.length,t.addSymbols(t.icon,W,Z,x,y,b,Cl.vertical,e,P.lineStartIndex,P.lineLength,-1,k),F=t.icon.placedSymbolArray.length-1)}for(var J in n.horizontal){var K=n.horizontal[J];if(!S){N=ya(K.text);var Q=s.layout.get(\"text-rotate\").evaluate(b,{},k);S=new sc(l,e,c,u,f,K,h,p,d,Q)}var $=1===K.positionedLines.length;if(z+=gc(t,e,K,a,s,d,b,m,P,n.vertical?Cl.horizontal:Cl.horizontalOnly,$?Object.keys(n.horizontal):[J],B,R,w,k),$)break}n.vertical&&(D+=gc(t,e,n.vertical,a,s,d,b,m,P,Cl.vertical,[\"vertical\"],B,F,w,k));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,ct=function(t,e){return t&&t.circleDiameter?Math.max(t.circleDiameter,e):e};lt=ct(S,lt),lt=ct(L,lt),lt=ct(E,lt);var ut=(lt=ct(C,lt))>-1?1:0;ut&&(lt*=A/24);t.glyphOffsetArray.length>=Mc.MAX_GLYPHS&&_(\"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,c,z,D,I,O,ut,0,h,j,U,lt)}(t,f,s,r,n,i,h,t.layers[0],t.collisionBoxArray,e.index,e.sourceLayerIndex,t.index,v,w,A,l,x,T,M,d,e,a,c,u,o)};if(\"line\"===S)for(var P=0,I=ec(e.geometry,0,0,8192,8192);P<I.length;P+=1)for(var O=I[P],z=tc(O,b,k,r.vertical||m,n,24,y,t.overscaling,8192),D=0,R=z;D<R.length;D+=1){var F=R[D],B=m;B&&yc(t,B.text,E,F)||C(O,F)}else if(\"line-center\"===S)for(var N=0,j=e.geometry;N<j.length;N+=1){var U=j[N];if(U.length>1){var V=$l(U,k,r.vertical||m,n,24,y);V&&C(U,V)}}else if(\"Polygon\"===e.type)for(var H=0,q=hs(e.geometry,0);H<q.length;H+=1){var G=q[H],Y=uc(G,16);C(G[0],new ql(Y.x,Y.y,0))}else if(\"LineString\"===e.type)for(var W=0,X=e.geometry;W<X.length;W+=1){var Z=X[W];C(Z,new ql(Z[0].x,Z[0].y,0))}else if(\"Point\"===e.type)for(var J=0,K=e.geometry;J<K.length;J+=1)for(var Q=K[J],$=0,tt=Q;$<tt.length;$+=1){var et=tt[$];C([et],new ql(et.x,et.y,0))}}(t,a,p,N,n,u,f,h,m,j,o)},T=0,k=t.features;T<k.length;T+=1)w();a&&t.generateCollisionDebugBuffers()},t.perspective=function(t,e,r,n,i){var a,o=1/Math.tan(e/2);return t[0]=o/r,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=o,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=-1,t[12]=0,t[13]=0,t[15]=0,null!=i&&i!==1/0?(a=1/(n-i),t[10]=(i+n)*a,t[14]=2*i*n*a):(t[10]=-1,t[14]=-2*n),t},t.pick=function(t,e){for(var r={},n=0;n<e.length;n++){var i=e[n];i in t&&(r[i]=t[i])}return r},t.plugin=hi,t.polygonIntersectsPolygon=Za,t.postMapLoadEvent=it,t.postTurnstileEvent=rt,t.potpack=Ml,t.refProperties=[\"type\",\"source\",\"source-layer\",\"minzoom\",\"maxzoom\",\"filter\",\"layout\"],t.register=Nn,t.registerForPluginStateChange=function(t){return t({pluginStatus:ai,pluginURL:oi}),ci.on(\"pluginStateChange\",t),t},t.rotate=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);return t[0]=n*l+a*s,t[1]=i*l+o*s,t[2]=n*-s+a*l,t[3]=i*-s+o*l,t},t.rotateX=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],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+c*n,t[5]=o*i+u*n,t[6]=s*i+f*n,t[7]=l*i+h*n,t[8]=c*i-a*n,t[9]=u*i-o*n,t[10]=f*i-s*n,t[11]=h*i-l*n,t},t.rotateZ=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],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+c*n,t[1]=o*i+u*n,t[2]=s*i+f*n,t[3]=l*i+h*n,t[4]=c*i-a*n,t[5]=u*i-o*n,t[6]=f*i-s*n,t[7]=h*i-l*n,t},t.scale=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.scale$1=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},t.scale$2=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t},t.setCacheLimits=function(t,e){at=t,ot=e},t.setRTLTextPlugin=function(t,e,r){if(void 0===r&&(r=!1),ai===ti||ai===ei||ai===ri)throw new Error(\"setRTLTextPlugin cannot be called multiple times.\");oi=R.resolveURL(t),ai=ti,ii=e,li(),r||fi()},t.sphericalToCartesian=function(t){var e=t[0],r=t[1],n=t[2];return r+=90,r*=Math.PI/180,n*=Math.PI/180,{x:e*Math.cos(r)*Math.sin(n),y:e*Math.sin(r)*Math.sin(n),z:e*Math.cos(n)}},t.sqrLen=bo,t.styleSpec=Lt,t.sub=yo,t.symbolSize=Xl,t.transformMat3=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},t.transformMat4=xo,t.translate=function(t,e,r){var n,i,a,o,s,l,c,u,f,h,p,d,m=r[0],g=r[1],v=r[2];return e===t?(t[12]=e[0]*m+e[4]*g+e[8]*v+e[12],t[13]=e[1]*m+e[5]*g+e[9]*v+e[13],t[14]=e[2]*m+e[6]*g+e[10]*v+e[14],t[15]=e[3]*m+e[7]*g+e[11]*v+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],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]=c,t[7]=u,t[8]=f,t[9]=h,t[10]=p,t[11]=d,t[12]=n*m+s*g+f*v+e[12],t[13]=i*m+l*g+h*v+e[13],t[14]=a*m+c*g+p*v+e[14],t[15]=o*m+u*g+d*v+e[15]),t},t.triggerPluginCompletionEvent=si,t.uniqueId=h,t.validateCustomStyleLayer=function(t){var e=[],r=t.id;return void 0===r&&e.push({message:\"layers.\"+r+': missing required property \"id\"'}),void 0===t.render&&e.push({message:\"layers.\"+r+': missing required method \"render\"'}),t.renderingMode&&\"2d\"!==t.renderingMode&&\"3d\"!==t.renderingMode&&e.push({message:\"layers.\"+r+': property \"renderingMode\" must be either \"2d\" or \"3d\"'}),e},t.validateLight=Cn,t.validateStyle=Ln,t.values=function(t){var e=[];for(var r in t)e.push(t[r]);return e},t.vectorTile=Ls,t.version=\"1.10.1\",t.warnOnce=_,t.webpSupported=B,t.window=self,t.wrap=c})),n(0,(function(t){function e(t){var r=typeof t;if(\"number\"===r||\"boolean\"===r||\"string\"===r||null==t)return JSON.stringify(t);if(Array.isArray(t)){for(var n=\"[\",i=0,a=t;i<a.length;i+=1){n+=e(a[i])+\",\"}return n+\"]\"}for(var o=Object.keys(t).sort(),s=\"{\",l=0;l<o.length;l++)s+=JSON.stringify(o[l])+\":\"+e(t[o[l]])+\",\";return s+\"}\"}function r(r){for(var n=\"\",i=0,a=t.refProperties;i<a.length;i+=1){n+=\"/\"+e(r[a[i]])}return n}var n=function(t){this.keyCache={},t&&this.replace(t)};n.prototype.replace=function(t){this._layerConfigs={},this._layers={},this.update(t,[])},n.prototype.update=function(e,n){for(var i=this,a=0,o=e;a<o.length;a+=1){var s=o[a];this._layerConfigs[s.id]=s;var l=this._layers[s.id]=t.createStyleLayer(s);l._featureFilter=t.featureFilter(l.filter),this.keyCache[s.id]&&delete this.keyCache[s.id]}for(var c=0,u=n;c<u.length;c+=1){var f=u[c];delete this.keyCache[f],delete this._layerConfigs[f],delete this._layers[f]}this.familiesBySource={};for(var h=0,p=function(t,e){for(var n={},i=0;i<t.length;i++){var a=e&&e[t[i].id]||r(t[i]);e&&(e[t[i].id]=a);var o=n[a];o||(o=n[a]=[]),o.push(t[i])}var s=[];for(var l in n)s.push(n[l]);return s}(t.values(this._layerConfigs),this.keyCache);h<p.length;h+=1){var d=p[h].map((function(t){return i._layers[t.id]})),m=d[0];if(\"none\"!==m.visibility){var g=m.source||\"\",v=this.familiesBySource[g];v||(v=this.familiesBySource[g]={});var y=m.sourceLayer||\"_geojsonTileLayer\",x=v[y];x||(x=v[y]=[]),x.push(d)}}};var i=function(e){var r={},n=[];for(var i in e){var a=e[i],o=r[i]={};for(var s in a){var l=a[+s];if(l&&0!==l.bitmap.width&&0!==l.bitmap.height){var c={x:0,y:0,w:l.bitmap.width+2,h:l.bitmap.height+2};n.push(c),o[s]={rect:c,metrics:l.metrics}}}}var u=t.potpack(n),f=u.w,h=u.h,p=new t.AlphaImage({width:f||1,height:h||1});for(var d in e){var m=e[d];for(var g in m){var v=m[+g];if(v&&0!==v.bitmap.width&&0!==v.bitmap.height){var y=r[d][g].rect;t.AlphaImage.copy(v.bitmap,p,{x:0,y:0},{x:y.x+1,y:y.y+1},v.bitmap)}}}this.image=p,this.positions=r};t.register(\"GlyphAtlas\",i);var a=function(e){this.tileID=new t.OverscaledTileID(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};function o(e,r,n){for(var i=new t.EvaluationParameters(r),a=0,o=e;a<o.length;a+=1){o[a].recalculate(i,n)}}function s(e,r){var n=t.getArrayBuffer(e.request,(function(e,n,i,a){e?r(e):n&&r(null,{vectorTile:new t.vectorTile.VectorTile(new t.pbf(n)),rawData:n,cacheControl:i,expires:a})}));return function(){n.cancel(),r()}}a.prototype.parse=function(e,r,n,a,s){var l=this;this.status=\"parsing\",this.data=e,this.collisionBoxArray=new t.CollisionBoxArray;var c=new t.DictionaryCoder(Object.keys(e.layers).sort()),u=new t.FeatureIndex(this.tileID,this.promoteId);u.bucketLayerIDs=[];var f,h,p,d,m={},g={featureIndex:u,iconDependencies:{},patternDependencies:{},glyphDependencies:{},availableImages:n},v=r.familiesBySource[this.source];for(var y in v){var x=e.layers[y];if(x){1===x.version&&t.warnOnce('Vector tile source \"'+this.source+'\" layer \"'+y+'\" does not use vector tile spec v2 and therefore may have some rendering errors.');for(var b=c.encode(y),_=[],w=0;w<x.length;w++){var T=x.feature(w),k=u.getId(T,y);_.push({feature:T,id:k,index:w,sourceLayerIndex:b})}for(var A=0,M=v[y];A<M.length;A+=1){var S=M[A],E=S[0];if(!(E.minzoom&&this.zoom<Math.floor(E.minzoom)))if(!(E.maxzoom&&this.zoom>=E.maxzoom))if(\"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:b,sourceID:this.source})).populate(_,g,this.tileID.canonical),u.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,I.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,I.call(l))})):p={};var P=Object.keys(g.patternDependencies);function I(){if(f)return s(f);if(h&&p&&d){var e=new i(h),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,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(m).filter((function(t){return!t.isEmpty()})),featureIndex:u,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,I.call(l))})):d={},I.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 f=o.finish();f&&(u.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,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 f=function t(e,r){var n,i=e&&e.type;if(\"FeatureCollection\"===i)for(n=0;n<e.features.length;n++)t(e.features[n],r);else if(\"GeometryCollection\"===i)for(n=0;n<e.geometries.length;n++)t(e.geometries[n],r);else if(\"Feature\"===i)t(e.geometry,r);else if(\"Polygon\"===i)h(e.coordinates,r);else if(\"MultiPolygon\"===i)for(n=0;n<e.coordinates.length;n++)h(e.coordinates[n],r);return e};function h(t,e){if(0!==t.length){p(t[0],e);for(var r=1;r<t.length;r++)p(t[r],!e)}}function p(t,e){for(var r=0,n=0,i=t.length,a=i-1;n<i;a=n++)r+=(t[n][0]-t[a][0])*(t[a][1]+t[n][1]);r>=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<n.length;r+=1){var i=n[r];e.push([new t.Point$1(i[0],i[1])])}return e}for(var a=[],o=0,s=this._feature.geometry;o<s.length;o+=1){for(var l=[],c=0,u=s[o];c<u.length;c+=1){var f=u[c];l.push(new t.Point$1(f[0],f[1]))}a.push(l)}return a},m.prototype.toGeoJSON=function(t,e,r){return d.call(this,t,e,r)};var g=function(e){this.layers={_geojsonTileLayer:this},this.name=\"_geojsonTileLayer\",this.extent=t.EXTENT,this.length=e.length,this._features=e};g.prototype.feature=function(t){return new m(this._features[t])};var v=t.vectorTile.VectorTileFeature,y=x;function x(t,e){this.options=e||{},this.features=t,this.length=t.length}function b(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}x.prototype.feature=function(t){return new b(this.features[t],this.options.extent)},b.prototype.loadGeometry=function(){var e=this.rawGeometry;this.geometry=[];for(var r=0;r<e.length;r++){for(var n=e[r],i=[],a=0;a<n.length;a++)i.push(new t.Point$1(n[a][0],n[a][1]));this.geometry.push(i)}return this.geometry},b.prototype.bbox=function(){this.geometry||this.loadGeometry();for(var t=this.geometry,e=1/0,r=-1/0,n=1/0,i=-1/0,a=0;a<t.length;a++)for(var o=t[a],s=0;s<o.length;s++){var l=o[s];e=Math.min(e,l.x),r=Math.max(r,l.x),n=Math.min(n,l.y),i=Math.max(i,l.y)}return[e,n,r,i]},b.prototype.toGeoJSON=v.prototype.toGeoJSON;var _=A,w=A,T=function(t,e){e=e||{};var r={};for(var n in t)r[n]=new y(t[n].features,e),r[n].name=n,r[n].version=e.version,r[n].extent=e.extent;return A({layers:r})},k=y;function A(e){var r=new t.pbf;return function(t,e){for(var r in t.layers)e.writeMessage(3,M,t.layers[r])}(e,r),r.finish()}function M(t,e){var r;e.writeVarintField(15,t.version||1),e.writeStringField(1,t.name||\"\"),e.writeVarintField(5,t.extent||4096);var n={keys:[],values:[],keycache:{},valuecache:{}};for(r=0;r<t.length;r++)n.feature=t.feature(r),e.writeMessage(2,S,n);var i=n.keys;for(r=0;r<i.length;r++)e.writeStringField(3,i[r]);var a=n.values;for(r=0;r<a.length;r++)e.writeMessage(4,I,a[r])}function S(t,e){var r=t.feature;void 0!==r.id&&e.writeVarintField(1,r.id),e.writeMessage(2,E,t),e.writeVarintField(3,r.type),e.writeMessage(4,P,r)}function E(t,e){var r=t.feature,n=t.keys,i=t.values,a=t.keycache,o=t.valuecache;for(var s in r.properties){var l=a[s];void 0===l&&(n.push(s),l=n.length-1,a[s]=l),e.writeVarint(l);var c=r.properties[s],u=typeof c;\"string\"!==u&&\"boolean\"!==u&&\"number\"!==u&&(c=JSON.stringify(c));var f=u+\":\"+c,h=o[f];void 0===h&&(i.push(c),h=i.length-1,o[f]=h),e.writeVarint(h)}}function L(t,e){return(e<<3)+(7&t)}function C(t){return t<<1^t>>31}function P(t,e){for(var r=t.loadGeometry(),n=t.type,i=0,a=0,o=r.length,s=0;s<o;s++){var l=r[s],c=1;1===n&&(c=l.length),e.writeVarint(L(1,c));for(var u=3===n?l.length-1:l.length,f=0;f<u;f++){1===f&&1!==n&&e.writeVarint(L(2,u-1));var h=l[f].x-i,p=l[f].y-a;e.writeVarint(C(h)),e.writeVarint(C(p)),i+=h,a+=p}3===n&&e.writeVarint(L(7,1))}}function I(t,e){var r=typeof t;\"string\"===r?e.writeStringField(1,t):\"boolean\"===r?e.writeBooleanField(7,t):\"number\"===r&&(t%1!=0?e.writeDoubleField(3,t):t<0?e.writeSVarintField(6,t):e.writeVarintField(5,t))}function O(t,e,r,n,i,a){if(!(i-n<=r)){var o=n+i>>1;!function t(e,r,n,i,a,o){for(;a>i;){if(a-i>600){var s=a-i+1,l=n-i+1,c=Math.log(s),u=.5*Math.exp(2*c/3),f=.5*Math.sqrt(c*u*(s-u)/s)*(l-s/2<0?-1:1),h=Math.max(i,Math.floor(n-l*u/s+f)),p=Math.min(a,Math.floor(n+(s-l)*u/s+f));t(e,r,n,h,p,o)}var d=r[2*n+o],m=i,g=a;for(z(e,r,i,n),r[2*a+o]>d&&z(e,r,i,a);m<g;){for(z(e,r,m,g),m++,g--;r[2*m+o]<d;)m++;for(;r[2*g+o]>d;)g--}r[2*i+o]===d?z(e,r,i,g):(g++,z(e,r,g,a)),g<=n&&(i=g+1),n<=g&&(a=g-1)}}(t,e,o,n,i,a%2),O(t,e,r,n,o-1,a+1),O(t,e,r,o+1,i,a+1)}}function z(t,e,r,n){D(t,r,n),D(e,2*r,2*n),D(e,2*r+1,2*n+1)}function D(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function R(t,e,r,n){var i=t-r,a=e-n;return i*i+a*a}_.fromVectorTileJs=w,_.fromGeojsonVt=T,_.GeoJSONWrapper=k;var F=function(t){return t[0]},B=function(t){return t[1]},N=function(t,e,r,n,i){void 0===e&&(e=F),void 0===r&&(r=B),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<t.length;l++)o[l]=l,s[2*l]=e(t[l]),s[2*l+1]=r(t[l]);O(o,s,n,0,o.length-1,0)};N.prototype.range=function(t,e,r,n){return function(t,e,r,n,i,a,o){for(var s,l,c=[0,t.length-1,0],u=[];c.length;){var f=c.pop(),h=c.pop(),p=c.pop();if(h-p<=o)for(var d=p;d<=h;d++)s=e[2*d],l=e[2*d+1],s>=r&&s<=i&&l>=n&&l<=a&&u.push(t[d]);else{var m=Math.floor((p+h)/2);s=e[2*m],l=e[2*m+1],s>=r&&s<=i&&l>=n&&l<=a&&u.push(t[m]);var g=(f+1)%2;(0===f?r<=s:n<=l)&&(c.push(p),c.push(m-1),c.push(g)),(0===f?i>=s:a>=l)&&(c.push(m+1),c.push(h),c.push(g))}}return u}(this.ids,this.coords,t,e,r,n,this.nodeSize)},N.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(),f=o.pop();if(u-f<=a)for(var h=f;h<=u;h++)R(e[2*h],e[2*h+1],r,n)<=l&&s.push(t[h]);else{var p=Math.floor((f+u)/2),d=e[2*p],m=e[2*p+1];R(d,m,r,n)<=l&&s.push(t[p]);var g=(c+1)%2;(0===c?r-i<=d:n-i<=m)&&(o.push(f),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 j={minZoom:0,maxZoom:16,radius:40,extent:512,nodeSize:64,log:!1,generateId:!1,reduce:null,map:function(t){return t}},U=function(t){this.options=X(Object.create(j),t),this.trees=new Array(this.options.maxZoom+1)};function V(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:W(i),zoom:1/0,index:e,parentId:-1}}function q(t){return{type:\"Feature\",id:t.id,properties:G(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 G(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 Y(t){return t/360+.5}function W(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 Z(t){return t.x}function J(t){return t.y}function K(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 Q(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)$(t,e);else if(\"Polygon\"===r||\"MultiLineString\"===r)for(var n=0;n<e.length;n++)$(t,e[n]);else if(\"MultiPolygon\"===r)for(n=0;n<e.length;n++)for(var i=0;i<e[n].length;i++)$(t,e[n][i])}(i),i}function $(t,e){for(var r=0;r<e.length;r+=3)t.minX=Math.min(t.minX,e[r]),t.minY=Math.min(t.minY,e[r+1]),t.maxX=Math.max(t.maxX,e[r]),t.maxY=Math.max(t.maxY,e[r+1])}function tt(t,e,r,n){if(e.geometry){var i=e.geometry.coordinates,a=e.geometry.type,o=Math.pow(r.tolerance/((1<<r.maxZoom)*r.extent),2),s=[],l=e.id;if(r.promoteId?l=e.properties[r.promoteId]:r.generateId&&(l=n||0),\"Point\"===a)et(i,s);else if(\"MultiPoint\"===a)for(var c=0;c<i.length;c++)et(i[c],s);else if(\"LineString\"===a)rt(i,s,o,!1);else if(\"MultiLineString\"===a){if(r.lineMetrics){for(c=0;c<i.length;c++)s=[],rt(i[c],s,o,!1),t.push(Q(l,\"LineString\",s,e.properties));return}nt(i,s,o,!1)}else if(\"Polygon\"===a)nt(i,s,o,!0);else{if(\"MultiPolygon\"!==a){if(\"GeometryCollection\"===a){for(c=0;c<e.geometry.geometries.length;c++)tt(t,{id:l,geometry:e.geometry.geometries[c],properties:e.properties},r,n);return}throw new Error(\"Input data is not a valid GeoJSON object.\")}for(c=0;c<i.length;c++){var u=[];nt(i[c],u,o,!0),s.push(u)}}t.push(Q(l,a,s,e.properties))}}function et(t,e){e.push(it(t[0])),e.push(at(t[1])),e.push(0)}function rt(t,e,r,n){for(var i,a,o=0,s=0;s<t.length;s++){var l=it(t[s][0]),c=at(t[s][1]);e.push(l),e.push(c),e.push(0),s>0&&(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,function t(e,r,n,i){for(var a,o=i,s=n-r>>1,l=n-r,c=e[r],u=e[r+1],f=e[n],h=e[n+1],p=r+3;p<n;p+=3){var d=K(e[p],e[p+1],c,u,f,h);if(d>o)a=p,o=d;else if(d===o){var m=Math.abs(p-s);m<l&&(a=p,l=m)}}o>i&&(a-r>3&&t(e,r,a,i),e[a+2]=o,n-a>3&&t(e,a,n,i))}(e,0,u,r),e[u+2]=1,e.size=Math.abs(o),e.start=0,e.end=e.size}function nt(t,e,r,n){for(var i=0;i<t.length;i++){var a=[];rt(t[i],a,r,n),e.push(a)}}function it(t){return t/360+.5}function at(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 ot(t,e,r,n,i,a,o,s){if(n/=e,a>=(r/=e)&&o<n)return t;if(o<r||a>=n)return null;for(var l=[],c=0;c<t.length;c++){var u=t[c],f=u.geometry,h=u.type,p=0===i?u.minX:u.minY,d=0===i?u.maxX:u.maxY;if(p>=r&&d<n)l.push(u);else if(!(d<r||p>=n)){var m=[];if(\"Point\"===h||\"MultiPoint\"===h)st(f,m,r,n,i);else if(\"LineString\"===h)lt(f,m,r,n,i,!1,s.lineMetrics);else if(\"MultiLineString\"===h)ut(f,m,r,n,i,!1);else if(\"Polygon\"===h)ut(f,m,r,n,i,!0);else if(\"MultiPolygon\"===h)for(var g=0;g<f.length;g++){var v=[];ut(f[g],v,r,n,i,!0),v.length&&m.push(v)}if(m.length){if(s.lineMetrics&&\"LineString\"===h){for(g=0;g<m.length;g++)l.push(Q(u.id,h,m[g],u.tags));continue}\"LineString\"!==h&&\"MultiLineString\"!==h||(1===m.length?(h=\"LineString\",m=m[0]):h=\"MultiLineString\"),\"Point\"!==h&&\"MultiPoint\"!==h||(h=3===m.length?\"Point\":\"MultiPoint\"),l.push(Q(u.id,h,m,u.tags))}}}return l.length?l:null}function st(t,e,r,n,i){for(var a=0;a<t.length;a+=3){var o=t[a+i];o>=r&&o<=n&&(e.push(t[a]),e.push(t[a+1]),e.push(t[a+2]))}}function lt(t,e,r,n,i,a,o){for(var s,l,c=ct(t),u=0===i?ht:pt,f=t.start,h=0;h<t.length-3;h+=3){var p=t[h],d=t[h+1],m=t[h+2],g=t[h+3],v=t[h+4],y=0===i?p:d,x=0===i?g:v,b=!1;o&&(s=Math.sqrt(Math.pow(p-g,2)+Math.pow(d-v,2))),y<r?x>r&&(l=u(c,p,d,g,v,r),o&&(c.start=f+s*l)):y>n?x<n&&(l=u(c,p,d,g,v,n),o&&(c.start=f+s*l)):ft(c,p,d,m),x<r&&y>=r&&(l=u(c,p,d,g,v,r),b=!0),x>n&&y<=n&&(l=u(c,p,d,g,v,n),b=!0),!a&&b&&(o&&(c.end=f+s*l),e.push(c),c=ct(t)),o&&(f+=s)}var _=t.length-3;p=t[_],d=t[_+1],m=t[_+2],(y=0===i?p:d)>=r&&y<=n&&ft(c,p,d,m),_=c.length-3,a&&_>=3&&(c[_]!==c[0]||c[_+1]!==c[1])&&ft(c,c[0],c[1],c[2]),c.length&&e.push(c)}function ct(t){var e=[];return e.size=t.size,e.start=t.start,e.end=t.end,e}function ut(t,e,r,n,i,a){for(var o=0;o<t.length;o++)lt(t[o],e,r,n,i,a,!1)}function ft(t,e,r,n){t.push(e),t.push(r),t.push(n)}function ht(t,e,r,n,i,a){var o=(a-e)/(n-e);return t.push(a),t.push(r+(i-r)*o),t.push(1),o}function pt(t,e,r,n,i,a){var o=(a-r)/(i-r);return t.push(e+(n-e)*o),t.push(a),t.push(1),o}function dt(t,e){for(var r=[],n=0;n<t.length;n++){var i,a=t[n],o=a.type;if(\"Point\"===o||\"MultiPoint\"===o||\"LineString\"===o)i=mt(a.geometry,e);else if(\"MultiLineString\"===o||\"Polygon\"===o){i=[];for(var s=0;s<a.geometry.length;s++)i.push(mt(a.geometry[s],e))}else if(\"MultiPolygon\"===o)for(i=[],s=0;s<a.geometry.length;s++){for(var l=[],c=0;c<a.geometry[s].length;c++)l.push(mt(a.geometry[s][c],e));i.push(l)}r.push(Q(a.id,o,i,a.tags))}return r}function mt(t,e){var r=[];r.size=t.size,void 0!==t.start&&(r.start=t.start,r.end=t.end);for(var n=0;n<t.length;n+=3)r.push(t[n]+e,t[n+1],t[n+2]);return r}function gt(t,e){if(t.transformed)return t;var r,n,i,a=1<<t.z,o=t.x,s=t.y;for(r=0;r<t.features.length;r++){var l=t.features[r],c=l.geometry,u=l.type;if(l.geometry=[],1===u)for(n=0;n<c.length;n+=2)l.geometry.push(vt(c[n],c[n+1],e,a,o,s));else for(n=0;n<c.length;n++){var f=[];for(i=0;i<c[n].length;i+=2)f.push(vt(c[n][i],c[n][i+1],e,a,o,s));l.geometry.push(f)}}return t.transformed=!0,t}function vt(t,e,r,n,i,a){return[Math.round(r*(t*n-i)),Math.round(r*(e*n-a))]}function yt(t,e,r,n,i){for(var a=e===i.maxZoom?0:i.tolerance/((1<<e)*i.extent),o={features:[],numPoints:0,numSimplified:0,numFeatures:0,source:null,x:r,y:n,z:e,transformed:!1,minX:2,minY:1,maxX:-1,maxY:0},s=0;s<t.length;s++){o.numFeatures++,xt(o,t[s],a,i);var l=t[s].minX,c=t[s].minY,u=t[s].maxX,f=t[s].maxY;l<o.minX&&(o.minX=l),c<o.minY&&(o.minY=c),u>o.maxX&&(o.maxX=u),f>o.maxY&&(o.maxY=f)}return o}function xt(t,e,r,n){var i=e.geometry,a=e.type,o=[];if(\"Point\"===a||\"MultiPoint\"===a)for(var s=0;s<i.length;s+=3)o.push(i[s]),o.push(i[s+1]),t.numPoints++,t.numSimplified++;else if(\"LineString\"===a)bt(o,i,t,r,!1,!1);else if(\"MultiLineString\"===a||\"Polygon\"===a)for(s=0;s<i.length;s++)bt(o,i[s],t,r,\"Polygon\"===a,0===s);else if(\"MultiPolygon\"===a)for(var l=0;l<i.length;l++){var c=i[l];for(s=0;s<c.length;s++)bt(o,c[s],t,r,!0,0===s)}if(o.length){var u=e.tags||null;if(\"LineString\"===a&&n.lineMetrics){for(var f in u={},e.tags)u[f]=e.tags[f];u.mapbox_clip_start=i.start/i.size,u.mapbox_clip_end=i.end/i.size}var h={geometry:o,type:\"Polygon\"===a||\"MultiPolygon\"===a?3:\"LineString\"===a||\"MultiLineString\"===a?2:1,tags:u};null!==e.id&&(h.id=e.id),t.features.push(h)}}function bt(t,e,r,n,i,a){var o=n*n;if(n>0&&e.size<(i?o:n))r.numPoints+=e.length/3;else{for(var s=[],l=0;l<e.length;l+=3)(0===n||e[l+2]>o)&&(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;n<i;a=n,n+=2)r+=(t[n]-t[a])*(t[n+1]+t[a+1]);if(r>0===e)for(n=0,i=t.length;n<i/2;n+=2){var o=t[n],s=t[n+1];t[n]=t[i-2-n],t[n+1]=t[i-1-n],t[i-2-n]=o,t[i-1-n]=s}}(s,a),t.push(s)}}function _t(t,e){var r=(e=this.options=function(t,e){for(var r in e)t[r]=e[r];return t}(Object.create(this.options),e)).debug;if(r&&console.time(\"preprocess data\"),e.maxZoom<0||e.maxZoom>24)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<t.features.length;n++)tt(r,t.features[n],e,n);else\"Feature\"===t.type?tt(r,t,e):tt(r,{geometry:t},e);return r}(t,e);this.tiles={},this.tileCoords=[],r&&(console.timeEnd(\"preprocess data\"),console.log(\"index: maxZoom: %d, maxPoints: %d\",e.indexMaxZoom,e.indexMaxPoints),console.time(\"generate tiles\"),this.stats={},this.total=0),(n=function(t,e){var r=e.buffer/e.extent,n=t,i=ot(t,1,-1-r,r,0,-1,2,e),a=ot(t,1,1-r,2+r,0,-1,2,e);return(i||a)&&(n=ot(t,1,-r,1+r,0,-1,2,e)||[],i&&(n=dt(i,1).concat(n)),a&&(n=n.concat(dt(a,-1)))),n}(n,e)).length&&this.splitTile(n,0,0,0),r&&(n.length&&console.log(\"features: %d, points: %d\",this.tiles[0].numFeatures,this.tiles[0].numPoints),console.timeEnd(\"generate tiles\"),console.log(\"tiles generated:\",this.total,JSON.stringify(this.stats)))}function wt(t,e,r){return 32*((1<<t)*r+e)+t}function Tt(t,e){var r=t.tileID.canonical;if(!this._geoJSONIndex)return e(null,null);var n=this._geoJSONIndex.getTile(r.z,r.x,r.y);if(!n)return e(null,null);var i=new g(n.features),a=_(i);0===a.byteOffset&&a.byteLength===a.buffer.byteLength||(a=new Uint8Array(a)),e(null,{vectorTile:i,rawData:a.buffer})}U.prototype.load=function(t){var e=this.options,r=e.log,n=e.minZoom,i=e.maxZoom,a=e.nodeSize;r&&console.time(\"total time\");var o=\"prepare \"+t.length+\" points\";r&&console.time(o),this.points=t;for(var s=[],l=0;l<t.length;l++)t[l].geometry&&s.push(H(t[l],l));this.trees[i+1]=new N(s,Z,J,a,Float32Array),r&&console.timeEnd(o);for(var c=i;c>=n;c--){var u=+Date.now();s=this._cluster(s,c),this.trees[c]=new N(s,Z,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},U.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,f=l.range(Y(r),W(a),Y(i),W(n));u<f.length;u+=1){var h=f[u],p=l.points[h];c.push(p.numPoints?q(p):this.points[p.index])}return c},U.prototype.getChildren=function(t){var 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);var a=i.points[e];if(!a)throw new Error(n);for(var o=this.options.radius/(this.options.extent*Math.pow(2,r-1)),s=[],l=0,c=i.within(a.x,a.y,o);l<c.length;l+=1){var u=c[l],f=i.points[u];f.parentId===t&&s.push(f.numPoints?q(f):this.points[f.index])}if(0===s.length)throw new Error(n);return s},U.prototype.getLeaves=function(t,e,r){e=e||10,r=r||0;var n=[];return this._appendLeaves(n,t,e,r,0),n},U.prototype.getTile=function(t,e,r){var n=this.trees[this._limitZoom(t)],i=Math.pow(2,t),a=this.options,o=a.extent,s=a.radius/o,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.points,e,r,i,u),0===e&&this._addTileFeatures(n.range(1-s/i,l,1,c),n.points,i,r,i,u),e===i-1&&this._addTileFeatures(n.range(0,l,s/i,c),n.points,-1,r,i,u),u.features.length?u:null},U.prototype.getClusterExpansionZoom=function(t){for(var e=this._getOriginZoom(t)-1;e<=this.options.maxZoom;){var r=this.getChildren(t);if(e++,1!==r.length)break;t=r[0].properties.cluster_id}return e},U.prototype._appendLeaves=function(t,e,r,n,i){for(var a=0,o=this.getChildren(e);a<o.length;a+=1){var s=o[a],l=s.properties;if(l&&l.cluster?i+l.point_count<=n?i+=l.point_count:i=this._appendLeaves(t,l.cluster_id,r,n,i):i<n?i++:t.push(s),t.length===r)break}return i},U.prototype._addTileFeatures=function(t,e,r,n,i,a){for(var o=0,s=t;o<s.length;o+=1){var l=e[s[o]],c=l.numPoints,u={type:1,geometry:[[Math.round(this.options.extent*(l.x*i-r)),Math.round(this.options.extent*(l.y*i-n))]],tags:c?G(l):this.points[l.index].properties},f=void 0;c?f=l.id:this.options.generateId?f=l.index:this.points[l.index].id&&(f=this.points[l.index].id),void 0!==f&&(u.id=f),a.features.push(u)}},U.prototype._limitZoom=function(t){return Math.max(this.options.minZoom,Math.min(t,this.options.maxZoom+1))},U.prototype._cluster=function(t,e){for(var r=[],n=this.options,i=n.radius,a=n.extent,o=n.reduce,s=i/(a*Math.pow(2,e)),l=0;l<t.length;l++){var c=t[l];if(!(c.zoom<=e)){c.zoom=e;for(var u=this.trees[e+1],f=u.within(c.x,c.y,s),h=c.numPoints||1,p=c.x*h,d=c.y*h,m=o&&h>1?this._map(c,!0):null,g=(l<<5)+(e+1)+this.points.length,v=0,y=f;v<y.length;v+=1){var x=y[v],b=u.points[x];if(!(b.zoom<=e)){b.zoom=e;var _=b.numPoints||1;p+=b.x*_,d+=b.y*_,h+=_,b.parentId=g,o&&(m||(m=this._map(c,!0)),o(m,this._map(b)))}}1===h?r.push(c):(c.parentId=g,r.push(V(p/h,d/h,g,h,m)))}}return r},U.prototype._getOriginId=function(t){return t-this.points.length>>5},U.prototype._getOriginZoom=function(t){return(t-this.points.length)%32},U.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},_t.prototype.options={maxZoom:14,indexMaxZoom:5,indexMaxPoints:1e5,tolerance:3,extent:4096,buffer:64,lineMetrics:!1,promoteId:null,generateId:!1,debug:0},_t.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<<e,f=wt(e,r,n),h=this.tiles[f];if(!h&&(c>1&&console.time(\"creation\"),h=this.tiles[f]=yt(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,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<<i-e;if(r!==Math.floor(a/d)||n!==Math.floor(o/d))continue}else if(e===l.indexMaxZoom||h.numPoints<=l.indexMaxPoints)continue;if(h.source=null,0!==t.length){c>1&&console.time(\"clipping\");var m,g,v,y,x,b,_=.5*l.buffer/l.extent,w=.5-_,T=.5+_,k=1+_;m=g=v=y=null,x=ot(t,u,r-_,r+T,0,h.minX,h.maxX,l),b=ot(t,u,r+w,r+k,0,h.minX,h.maxX,l),t=null,x&&(m=ot(x,u,n-_,n+T,1,h.minY,h.maxY,l),g=ot(x,u,n+w,n+k,1,h.minY,h.maxY,l),x=null),b&&(v=ot(b,u,n-_,n+T,1,h.minY,h.maxY,l),y=ot(b,u,n+w,n+k,1,h.minY,h.maxY,l),b=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(v||[],e+1,2*r+1,2*n),s.push(y||[],e+1,2*r+1,2*n+1)}}},_t.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<<t,s=wt(t,e=(e%o+o)%o,r);if(this.tiles[s])return gt(this.tiles[s],i);a>1&&console.log(\"drilling down to z%d-%d-%d\",t,e,r);for(var l,c=t,u=e,f=r;!l&&c>0;)c--,u=Math.floor(u/2),f=Math.floor(f/2),l=this.tiles[wt(c,u,f)];return l&&l.source?(a>1&&console.log(\"found parent tile z%d-%d-%d\",c,u,f),a>1&&console.time(\"drilling down\"),this.splitTile(l.source,c,u,f,t,e,r),a>1&&console.timeEnd(\"drilling down\"),this.tiles[s]?gt(this.tiles[s],i):null):null};var kt=function(e){function r(t,r,n,i){e.call(this,t,r,n,Tt),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{e._geoJSONIndex=n.cluster?new U(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<u.length;c+=1){var f=u[c],h=n[f],p=h[0],d=h[1],m=t.createExpression(d),g=t.createExpression(\"string\"==typeof p?[p,[\"accumulated\"],[\"get\",f]]:p);i[f]=m.value,a[f]=g.value}return r.map=function(t){s.properties=t;for(var e={},r=0,n=l;r<n.length;r+=1){var a=n[r];e[a]=i[a].evaluate(o,s)}return e},r.reduce=function(t,e){s.properties=e;for(var r=0,n=l;r<n.length;r+=1){var i=n[r];o.accumulated=t[i],t[i]=a[i].evaluate(o,s)}},r}(n)).load(o.features):function(t,e){return new _t(t,e)}(o,n.geojsonVtOptions)}catch(a){return r(a)}e.loaded={};var s={};if(i){var l=i.finish();l&&(s.resourceTiming={},s.resourceTiming[n.source]=JSON.parse(JSON.stringify(l)))}r(null,s)}))}},r.prototype.coalesce=function(){\"Coalescing\"===this._state?this._state=\"Idle\":\"NeedsLoadData\"===this._state&&(this._state=\"Coalescing\",this._loadData())},r.prototype.reloadTile=function(t,r){var n=this.loaded,i=t.uid;return n&&n[i]?e.prototype.reloadTile.call(this,t,r):this.loadTile(t,r)},r.prototype.loadGeoJSON=function(e,r){if(e.request)t.getJSON(e.request,r);else{if(\"string\"!=typeof e.data)return r(new Error(\"Input data given to '\"+e.source+\"' is not a valid GeoJSON object.\"));try{return r(null,JSON.parse(e.data))}catch(t){return r(new Error(\"Input data given to '\"+e.source+\"' is not a valid GeoJSON object.\"))}}},r.prototype.removeSource=function(t,e){this._pendingCallback&&this._pendingCallback(null,{abandoned:!0}),e()},r.prototype.getClusterExpansionZoom=function(t,e){try{e(null,this._geoJSONIndex.getClusterExpansionZoom(t.clusterId))}catch(t){e(t)}},r.prototype.getClusterChildren=function(t,e){try{e(null,this._geoJSONIndex.getChildren(t.clusterId))}catch(t){e(t)}},r.prototype.getClusterLeaves=function(t,e){try{e(null,this._geoJSONIndex.getLeaves(t.clusterId,t.limit,t.offset))}catch(t){e(t)}},r}(l);var At=function(e){var r=this;this.self=e,this.actor=new t.Actor(e,this),this.layerIndexes={},this.availableImages={},this.workerSourceTypes={vector:l,geojson:kt},this.workerSources={},this.demWorkerSources={},this.self.registerWorkerSource=function(t,e){if(r.workerSourceTypes[t])throw new Error('Worker source with name \"'+t+'\" already registered.');r.workerSourceTypes[t]=e},this.self.registerRTLTextPlugin=function(e){if(t.plugin.isParsed())throw new Error(\"RTL text plugin already registered.\");t.plugin.applyArabicShaping=e.applyArabicShaping,t.plugin.processBidirectionalText=e.processBidirectionalText,t.plugin.processStyledBidirectionalText=e.processStyledBidirectionalText}};return At.prototype.setReferrer=function(t,e){this.referrer=e},At.prototype.setImages=function(t,e,r){for(var n in this.availableImages[t]=e,this.workerSources[t]){var i=this.workerSources[t][n];for(var a in i)i[a].availableImages=e}r()},At.prototype.setLayers=function(t,e,r){this.getLayerIndex(t).replace(e),r()},At.prototype.updateLayers=function(t,e,r){this.getLayerIndex(t).update(e.layers,e.removedIds),r()},At.prototype.loadTile=function(t,e,r){this.getWorkerSource(t,e.type,e.source).loadTile(e,r)},At.prototype.loadDEMTile=function(t,e,r){this.getDEMWorkerSource(t,e.source).loadTile(e,r)},At.prototype.reloadTile=function(t,e,r){this.getWorkerSource(t,e.type,e.source).reloadTile(e,r)},At.prototype.abortTile=function(t,e,r){this.getWorkerSource(t,e.type,e.source).abortTile(e,r)},At.prototype.removeTile=function(t,e,r){this.getWorkerSource(t,e.type,e.source).removeTile(e,r)},At.prototype.removeDEMTile=function(t,e){this.getDEMWorkerSource(t,e.source).removeTile(e)},At.prototype.removeSource=function(t,e,r){if(this.workerSources[t]&&this.workerSources[t][e.type]&&this.workerSources[t][e.type][e.source]){var n=this.workerSources[t][e.type][e.source];delete this.workerSources[t][e.type][e.source],void 0!==n.removeSource?n.removeSource(e,r):r()}},At.prototype.loadWorkerSource=function(t,e,r){try{this.self.importScripts(e.url),r()}catch(t){r(t.toString())}},At.prototype.syncRTLPluginState=function(e,r,n){try{t.plugin.setState(r);var i=t.plugin.getPluginURL();if(t.plugin.isLoaded()&&!t.plugin.isParsed()&&null!=i){this.self.importScripts(i);var a=t.plugin.isParsed();n(a?void 0:new Error(\"RTL Text Plugin failed to import scripts from \"+i),a)}}catch(t){n(t.toString())}},At.prototype.getAvailableImages=function(t){var e=this.availableImages[t];return e||(e=[]),e},At.prototype.getLayerIndex=function(t){var e=this.layerIndexes[t];return e||(e=this.layerIndexes[t]=new n),e},At.prototype.getWorkerSource=function(t,e,r){var n=this;if(this.workerSources[t]||(this.workerSources[t]={}),this.workerSources[t][e]||(this.workerSources[t][e]={}),!this.workerSources[t][e][r]){var i={send:function(e,r,i){n.actor.send(e,r,i,t)}};this.workerSources[t][e][r]=new this.workerSourceTypes[e](i,this.getLayerIndex(t),this.getAvailableImages(t))}return this.workerSources[t][e][r]},At.prototype.getDEMWorkerSource=function(t,e){return this.demWorkerSources[t]||(this.demWorkerSources[t]={}),this.demWorkerSources[t][e]||(this.demWorkerSources[t][e]=new u),this.demWorkerSources[t][e]},At.prototype.enforceCacheSizeLimit=function(e,r){t.enforceCacheSizeLimit(r)},\"undefined\"!=typeof WorkerGlobalScope&&void 0!==t.window&&t.window instanceof WorkerGlobalScope&&(t.window.worker=new At(t.window)),At})),n(0,(function(t){var e=t.createCommonjsModule((function(t){function e(t){return!r(t)}function r(t){return\"undefined\"==typeof window||\"undefined\"==typeof document?\"not a browser\":Array.prototype&&Array.prototype.every&&Array.prototype.filter&&Array.prototype.forEach&&Array.prototype.indexOf&&Array.prototype.lastIndexOf&&Array.prototype.map&&Array.prototype.some&&Array.prototype.reduce&&Array.prototype.reduceRight&&Array.isArray?Function.prototype&&Function.prototype.bind?Object.keys&&Object.create&&Object.getPrototypeOf&&Object.getOwnPropertyNames&&Object.isSealed&&Object.isFrozen&&Object.isExtensible&&Object.getOwnPropertyDescriptor&&Object.defineProperty&&Object.defineProperties&&Object.seal&&Object.freeze&&Object.preventExtensions?\"JSON\"in window&&\"parse\"in JSON&&\"stringify\"in JSON?function(){if(!(\"Worker\"in window&&\"Blob\"in window&&\"URL\"in window))return!1;var t,e,r=new Blob([\"\"],{type:\"text/javascript\"}),n=URL.createObjectURL(r);try{e=new Worker(n),t=!0}catch(e){t=!1}e&&e.terminate();return URL.revokeObjectURL(n),t}()?\"Uint8ClampedArray\"in window?ArrayBuffer.isView?function(){var t=document.createElement(\"canvas\");t.width=t.height=1;var e=t.getContext(\"2d\");if(!e)return!1;var r=e.getImageData(0,0,1,1);return r&&r.width===t.width}()?function(t){void 0===n[t]&&(n[t]=function(t){var r=function(t){var r=document.createElement(\"canvas\"),n=Object.create(e.webGLContextAttributes);return n.failIfMajorPerformanceCaveat=t,r.probablySupportsContext?r.probablySupportsContext(\"webgl\",n)||r.probablySupportsContext(\"experimental-webgl\",n):r.supportsContext?r.supportsContext(\"webgl\",n)||r.supportsContext(\"experimental-webgl\",n):r.getContext(\"webgl\",n)||r.getContext(\"experimental-webgl\",n)}(t);if(!r)return!1;var n=r.createShader(r.VERTEX_SHADER);if(!n||r.isContextLost())return!1;return r.shaderSource(n,\"void main() {}\"),r.compileShader(n),!0===r.getShaderParameter(n,r.COMPILE_STATUS)}(t));return n[t]}(t&&t.failIfMajorPerformanceCaveat)?void 0:\"insufficient WebGL support\":\"insufficient Canvas/getImageData support\":\"insufficient ArrayBuffer support\":\"insufficient Uint8ClampedArray support\":\"insufficient worker support\":\"insufficient JSON support\":\"insufficient Object support\":\"insufficient Function support\":\"insufficent Array support\"}t.exports?t.exports=e:window&&(window.mapboxgl=window.mapboxgl||{},window.mapboxgl.supported=e,window.mapboxgl.notSupportedReason=r);var n={};e.webGLContextAttributes={antialias:!1,alpha:!0,stencil:!0,depth:!0}})),r={create:function(e,r,n){var i=t.window.document.createElement(e);return void 0!==r&&(i.className=r),n&&n.appendChild(i),i},createNS:function(e,r){return t.window.document.createElementNS(e,r)}},n=t.window.document.documentElement.style;function i(t){if(!n)return t[0];for(var e=0;e<t.length;e++)if(t[e]in n)return t[e];return t[0]}var a,o=i([\"userSelect\",\"MozUserSelect\",\"WebkitUserSelect\",\"msUserSelect\"]);r.disableDrag=function(){n&&o&&(a=n[o],n[o]=\"none\")},r.enableDrag=function(){n&&o&&(n[o]=a)};var s=i([\"transform\",\"WebkitTransform\"]);r.setTransform=function(t,e){t.style[s]=e};var l=!1;try{var c=Object.defineProperty({},\"passive\",{get:function(){l=!0}});t.window.addEventListener(\"test\",c,c),t.window.removeEventListener(\"test\",c,c)}catch(t){l=!1}r.addEventListener=function(t,e,r,n){void 0===n&&(n={}),\"passive\"in n&&l?t.addEventListener(e,r,n):t.addEventListener(e,r,n.capture)},r.removeEventListener=function(t,e,r,n){void 0===n&&(n={}),\"passive\"in n&&l?t.removeEventListener(e,r,n):t.removeEventListener(e,r,n.capture)};var u=function(e){e.preventDefault(),e.stopPropagation(),t.window.removeEventListener(\"click\",u,!0)};function f(t){var e=t.userImage;if(e&&e.render&&e.render())return t.data.replace(new Uint8Array(e.data.buffer)),!0;return!1}r.suppressClick=function(){t.window.addEventListener(\"click\",u,!0),t.window.setTimeout((function(){t.window.removeEventListener(\"click\",u,!0)}),0)},r.mousePos=function(e,r){var n=e.getBoundingClientRect();return new t.Point(r.clientX-n.left-e.clientLeft,r.clientY-n.top-e.clientTop)},r.touchPos=function(e,r){for(var n=e.getBoundingClientRect(),i=[],a=0;a<r.length;a++)i.push(new t.Point(r[a].clientX-n.left-e.clientLeft,r[a].clientY-n.top-e.clientTop));return i},r.mouseButton=function(e){return void 0!==t.window.InstallTrigger&&2===e.button&&e.ctrlKey&&t.window.navigator.platform.toUpperCase().indexOf(\"MAC\")>=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<r.length;e+=1){var n=r[e],i=n.ids,a=n.callback;this._notify(i,a)}this.requestors=[]}},r.prototype.getImage=function(t){return this.images[t]},r.prototype.addImage=function(t,e){this._validate(t,e)&&(this.images[t]=e)},r.prototype._validate=function(e,r){var n=!0;return this._validateStretch(r.stretchX,r.data&&r.data.width)||(this.fire(new t.ErrorEvent(new Error('Image \"'+e+'\" has invalid \"stretchX\" value'))),n=!1),this._validateStretch(r.stretchY,r.data&&r.data.height)||(this.fire(new t.ErrorEvent(new Error('Image \"'+e+'\" has invalid \"stretchY\" value'))),n=!1),this._validateContent(r.content,r)||(this.fire(new t.ErrorEvent(new Error('Image \"'+e+'\" has invalid \"content\" value'))),n=!1),n},r.prototype._validateStretch=function(t,e){if(!t)return!0;for(var r=0,n=0,i=t;n<i.length;n+=1){var a=i[n];if(a[0]<r||a[1]<a[0]||e<a[1])return!1;r=a[1]}return!0},r.prototype._validateContent=function(t,e){return!t||4===t.length&&(!(t[0]<0||e.data.width<t[0])&&(!(t[1]<0||e.data.height<t[1])&&(!(t[2]<0||e.data.width<t[2])&&(!(t[3]<0||e.data.height<t[3])&&(!(t[2]<t[0])&&!(t[3]<t[1]))))))},r.prototype.updateImage=function(t,e){var r=this.images[t];e.version=r.version+1,this.images[t]=e,this.updatedImages[t]=!0},r.prototype.removeImage=function(t){var e=this.images[t];delete this.images[t],delete this.patterns[t],e.userImage&&e.userImage.onRemove&&e.userImage.onRemove()},r.prototype.listImages=function(){return Object.keys(this.images)},r.prototype.getImages=function(t,e){var r=!0;if(!this.isLoaded())for(var n=0,i=t;n<i.length;n+=1){var a=i[n];this.images[a]||(r=!1)}this.isLoaded()||r?this._notify(t,e):this.requestors.push({ids:t,callback:e})},r.prototype._notify=function(e,r){for(var n={},i=0,a=e;i<a.length;i+=1){var o=a[i];this.images[o]||this.fire(new t.Event(\"styleimagemissing\",{id:o}));var s=this.images[o];s?n[o]={data:s.data.clone(),pixelRatio:s.pixelRatio,sdf:s.sdf,version:s.version,stretchX:s.stretchX,stretchY:s.stretchY,content:s.content,hasRenderCallback:Boolean(s.userImage&&s.userImage.render)}:t.warnOnce('Image \"'+o+'\" 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.')}r(null,n)},r.prototype.getPixelSize=function(){var t=this.atlasImage;return{width:t.width,height:t.height}},r.prototype.getPattern=function(e){var r=this.patterns[e],n=this.getImage(e);if(!n)return null;if(r&&r.position.version===n.version)return r.position;if(r)r.position.version=n.version;else{var i={w:n.data.width+2,h:n.data.height+2,x:0,y:0},a=new t.ImagePosition(i,n);this.patterns[e]={bin:i,position:a}}return this._updatePatternAtlas(),this.patterns[e].position},r.prototype.bind=function(e){var r=e.gl;this.atlasTexture?this.dirty&&(this.atlasTexture.update(this.atlasImage),this.dirty=!1):this.atlasTexture=new t.Texture(e,this.atlasImage,r.RGBA),this.atlasTexture.bind(r.LINEAR,r.CLAMP_TO_EDGE)},r.prototype._updatePatternAtlas=function(){var e=[];for(var r in this.patterns)e.push(this.patterns[r].bin);var n=t.potpack(e),i=n.w,a=n.h,o=this.atlasImage;for(var s in o.resize({width:i||1,height:a||1}),this.patterns){var l=this.patterns[s].bin,c=l.x+1,u=l.y+1,f=this.images[s].data,h=f.width,p=f.height;t.RGBAImage.copy(f,o,{x:0,y:0},{x:c,y:u},{width:h,height:p}),t.RGBAImage.copy(f,o,{x:0,y:p-1},{x:c,y:u-1},{width:h,height:1}),t.RGBAImage.copy(f,o,{x:0,y:0},{x:c,y:u+p},{width:h,height:1}),t.RGBAImage.copy(f,o,{x:h-1,y:0},{x:c-1,y:u},{width:1,height:p}),t.RGBAImage.copy(f,o,{x:0,y:0},{x:c+h,y:u},{width:1,height:p})}this.dirty=!0},r.prototype.beginFrame=function(){this.callbackDispatchedThisFrame={}},r.prototype.dispatchRenderCallbacks=function(t){for(var e=0,r=t;e<r.length;e+=1){var n=r[e];if(!this.callbackDispatchedThisFrame[n]){this.callbackDispatchedThisFrame[n]=!0;var i=this.images[n];f(i)&&this.updateImage(n,i)}}},r}(t.Evented);var p=g,d=g,m=1e20;function g(t,e,r,n,i,a){this.fontSize=t||24,this.buffer=void 0===e?3:e,this.cutoff=n||.25,this.fontFamily=i||\"sans-serif\",this.fontWeight=a||\"normal\",this.radius=r||8;var o=this.size=this.fontSize+2*this.buffer;this.canvas=document.createElement(\"canvas\"),this.canvas.width=this.canvas.height=o,this.ctx=this.canvas.getContext(\"2d\"),this.ctx.font=this.fontWeight+\" \"+this.fontSize+\"px \"+this.fontFamily,this.ctx.textBaseline=\"middle\",this.ctx.fillStyle=\"black\",this.gridOuter=new Float64Array(o*o),this.gridInner=new Float64Array(o*o),this.f=new Float64Array(o),this.d=new Float64Array(o),this.z=new Float64Array(o+1),this.v=new Int16Array(o),this.middle=Math.round(o/2*(navigator.userAgent.indexOf(\"Gecko/\")>=0?1.2:1))}function v(t,e,r,n,i,a,o){for(var s=0;s<e;s++){for(var l=0;l<r;l++)n[l]=t[l*e+s];for(y(n,i,a,o,r),l=0;l<r;l++)t[l*e+s]=i[l]}for(l=0;l<r;l++){for(s=0;s<e;s++)n[s]=t[l*e+s];for(y(n,i,a,o,e),s=0;s<e;s++)t[l*e+s]=Math.sqrt(i[s])}}function y(t,e,r,n,i){r[0]=0,n[0]=-m,n[1]=+m;for(var a=1,o=0;a<i;a++){for(var s=(t[a]+a*a-(t[r[o]]+r[o]*r[o]))/(2*a-2*r[o]);s<=n[o];)o--,s=(t[a]+a*a-(t[r[o]]+r[o]*r[o]))/(2*a-2*r[o]);r[++o]=a,n[o]=s,n[o+1]=+m}for(a=0,o=0;a<i;a++){for(;n[o+1]<a;)o++;e[a]=(a-r[o])*(a-r[o])+t[r[o]]}}g.prototype.draw=function(t){this.ctx.clearRect(0,0,this.size,this.size),this.ctx.fillText(t,this.buffer,this.middle);for(var e=this.ctx.getImageData(0,0,this.size,this.size),r=new Uint8ClampedArray(this.size*this.size),n=0;n<this.size*this.size;n++){var i=e.data[4*n+3]/255;this.gridOuter[n]=1===i?0:0===i?m:Math.pow(Math.max(0,.5-i),2),this.gridInner[n]=1===i?m:0===i?0:Math.pow(Math.max(0,i-.5),2)}for(v(this.gridOuter,this.size,this.size,this.f,this.d,this.v,this.z),v(this.gridInner,this.size,this.size,this.f,this.d,this.v,this.z),n=0;n<this.size*this.size;n++){var a=this.gridOuter[n]-this.gridInner[n];r[n]=Math.max(0,Math.min(255,Math.round(255-255*(a/this.radius+this.cutoff))))}return r},p.default=d;var x=function(t,e){this.requestManager=t,this.localIdeographFontFamily=e,this.entries={}};x.prototype.setURL=function(t){this.url=t},x.prototype.getGlyphs=function(e,r){var n=this,i=[];for(var a in e)for(var o=0,s=e[a];o<s.length;o+=1){var l=s[o];i.push({stack:a,id:l})}t.asyncAll(i,(function(t,e){var r=t.stack,i=t.id,a=n.entries[r];a||(a=n.entries[r]={glyphs:{},requests:{},ranges:{}});var o=a.glyphs[i];if(void 0===o){if(o=n._tinySDF(a,r,i))return a.glyphs[i]=o,void e(null,{stack:r,id:i,glyph:o});var s=Math.floor(i/256);if(256*s>65535)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;i<o.length;i+=1){(0,o[i])(t,e)}delete a.requests[s]}))),l.push((function(t,n){t?e(t):n&&e(null,{stack:r,id:i,glyph:n[i]||null})}))}}else e(null,{stack:r,id:i,glyph:o})}),(function(t,e){if(t)r(t);else if(e){for(var n={},i=0,a=e;i<a.length;i+=1){var o=a[i],s=o.stack,l=o.id,c=o.glyph;(n[s]||(n[s]={}))[l]=c&&{id:c.id,bitmap:c.bitmap.clone(),metrics:c.metrics}}r(null,n)}}))},x.prototype._doesCharSupportLocalGlyph=function(e){return!!this.localIdeographFontFamily&&(t.isChar[\"CJK Unified Ideographs\"](e)||t.isChar[\"Hangul Syllables\"](e)||t.isChar.Hiragana(e)||t.isChar.Katakana(e))},x.prototype._tinySDF=function(e,r,n){var i=this.localIdeographFontFamily;if(i&&this._doesCharSupportLocalGlyph(n)){var a=e.tinySDF;if(!a){var o=\"400\";/bold/i.test(r)?o=\"900\":/medium/i.test(r)?o=\"500\":/light/i.test(r)&&(o=\"200\"),a=e.tinySDF=new x.TinySDF(24,3,8,.25,i,o)}return{id:n,bitmap:new t.AlphaImage({width:30,height:30},a.draw(String.fromCharCode(n))),metrics:{width:24,height:24,left:0,top:-8,advance:24}}}},x.loadGlyphRange=function(e,r,n,i,a){var o=256*r,s=o+255,l=i.transformRequest(i.normalizeGlyphsURL(n).replace(\"{fontstack}\",e).replace(\"{range}\",o+\"-\"+s),t.ResourceType.Glyphs);t.getArrayBuffer(l,(function(e,r){if(e)a(e);else if(r){for(var n={},i=0,o=t.parseGlyphPBF(r);i<o.length;i+=1){var s=o[i];n[s.id]=s}a(null,n)}}))},x.TinySDF=p;var b=function(){this.specification=t.styleSpec.light.position};b.prototype.possiblyEvaluate=function(e,r){return t.sphericalToCartesian(e.expression.evaluate(r))},b.prototype.interpolate=function(e,r,n){return{x:t.number(e.x,r.x,n),y:t.number(e.y,r.y,n),z:t.number(e.z,r.z,n)}};var _=new t.Properties({anchor:new t.DataConstantProperty(t.styleSpec.light.anchor),position:new b,color:new t.DataConstantProperty(t.styleSpec.light.color),intensity:new t.DataConstantProperty(t.styleSpec.light.intensity)}),w=function(e){function r(r){e.call(this),this._transitionable=new t.Transitionable(_),this.setLight(r),this._transitioning=this._transitionable.untransitioned()}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.getLight=function(){return this._transitionable.serialize()},r.prototype.setLight=function(e,r){if(void 0===r&&(r={}),!this._validate(t.validateLight,e,r))for(var n in e){var i=e[n];t.endsWith(n,\"-transition\")?this._transitionable.setTransition(n.slice(0,-\"-transition\".length),i):this._transitionable.setValue(n,i)}},r.prototype.updateTransitions=function(t){this._transitioning=this._transitionable.transitioned(t,this._transitioning)},r.prototype.hasTransition=function(){return this._transitioning.hasTransition()},r.prototype.recalculate=function(t){this.properties=this._transitioning.possiblyEvaluate(t)},r.prototype._validate=function(e,r,n){return(!n||!1!==n.validate)&&t.emitValidationErrors(this,e.call(t.validateStyle,t.extend({value:r,style:{glyphs:!0,sprite:!0},styleSpec:t.styleSpec})))},r}(t.Evented),T=function(t,e){this.width=t,this.height=e,this.nextRow=0,this.data=new Uint8Array(this.width*this.height),this.dashEntry={}};T.prototype.getDash=function(t,e){var r=t.join(\",\")+String(e);return this.dashEntry[r]||(this.dashEntry[r]=this.addDash(t,e)),this.dashEntry[r]},T.prototype.getDashRanges=function(t,e,r){var n=[],i=t.length%2==1?-t[t.length-1]*r:0,a=t[0]*r,o=!0;n.push({left:i,right:a,isDash:o,zeroLength:0===t[0]});for(var s=t[0],l=1;l<t.length;l++){o=!o;var c=t[l];i=s*r,a=(s+=c)*r,n.push({left:i,right:a,isDash:o,zeroLength:0===c})}return n},T.prototype.addRoundDash=function(t,e,r){for(var n=e/2,i=-r;i<=r;i++)for(var a=this.nextRow+r+i,o=this.width*a,s=0,l=t[s],c=0;c<this.width;c++){c/l.right>1&&(l=t[++s]);var u=Math.abs(c-l.left),f=Math.abs(c-l.right),h=Math.min(u,f),p=void 0,d=i/r*(n+1);if(l.isDash){var m=n-Math.abs(d);p=Math.sqrt(h*h+m*m)}else p=n-Math.sqrt(h*h+d*d);this.data[o+c]=Math.max(0,Math.min(255,p+128))}},T.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;c<this.width;c++){c/l.right>1&&(l=t[++s]);var u=Math.abs(c-l.left),f=Math.abs(c-l.right),h=Math.min(u,f),p=l.isDash?h:-h;this.data[o+c]=Math.max(0,Math.min(255,p+128))}},T.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<e.length;o++)a+=e[o];if(0!==a){var s=this.width/a,l=this.getDashRanges(e,this.width,s);r?this.addRoundDash(l,s,n):this.addRegularDash(l)}var c={y:(this.nextRow+n+.5)/this.height,height:2*n/this.height,width:a};return this.nextRow+=i,this.dirty=!0,c},T.prototype.bind=function(t){var e=t.gl;this.texture?(e.bindTexture(e.TEXTURE_2D,this.texture),this.dirty&&(this.dirty=!1,e.texSubImage2D(e.TEXTURE_2D,0,0,0,this.width,this.height,e.ALPHA,e.UNSIGNED_BYTE,this.data))):(this.texture=e.createTexture(),e.bindTexture(e.TEXTURE_2D,this.texture),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.REPEAT),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.REPEAT),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.LINEAR),e.texImage2D(e.TEXTURE_2D,0,e.ALPHA,this.width,this.height,0,e.ALPHA,e.UNSIGNED_BYTE,this.data))};var k=function e(r,n){this.workerPool=r,this.actors=[],this.currentActor=0,this.id=t.uniqueId();for(var i=this.workerPool.acquire(this.id),a=0;a<i.length;a++){var o=i[a],s=new e.Actor(o,n,this.id);s.name=\"Worker \"+a,this.actors.push(s)}};function A(e,r,n){var i=function(i,a){if(i)return n(i);if(a){var o=t.pick(t.extend(a,e),[\"tiles\",\"minzoom\",\"maxzoom\",\"attribution\",\"mapbox_logo\",\"bounds\",\"scheme\",\"tileSize\",\"encoding\"]);a.vector_layers&&(o.vectorLayers=a.vector_layers,o.vectorLayerIds=o.vectorLayers.map((function(t){return t.id}))),o.tiles=r.canonicalizeTileset(o,e.url),n(null,o)}};return e.url?t.getJSON(r.transformRequest(r.normalizeSourceURL(e.url),t.ResourceType.Source),i):t.browser.frame((function(){return i(null,e)}))}k.prototype.broadcast=function(e,r,n){n=n||function(){},t.asyncAll(this.actors,(function(t,n){t.send(e,r,n)}),n)},k.prototype.getActor=function(){return this.currentActor=(this.currentActor+1)%this.actors.length,this.actors[this.currentActor]},k.prototype.remove=function(){this.actors.forEach((function(t){t.remove()})),this.actors=[],this.workerPool.release(this.id)},k.Actor=t.Actor;var M=function(e,r,n){this.bounds=t.LngLatBounds.convert(this.validateBounds(e)),this.minzoom=r||0,this.maxzoom=n||24};M.prototype.validateBounds=function(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]},M.prototype.contains=function(e){var r=Math.pow(2,e.z),n=Math.floor(t.mercatorXfromLng(this.bounds.getWest())*r),i=Math.floor(t.mercatorYfromLat(this.bounds.getNorth())*r),a=Math.ceil(t.mercatorXfromLng(this.bounds.getEast())*r),o=Math.ceil(t.mercatorYfromLat(this.bounds.getSouth())*r);return e.x>=n&&e.x<a&&e.y>=i&&e.y<o};var S=function(e){function r(r,n,i,a){if(e.call(this),this.id=r,this.dispatcher=i,this.type=\"vector\",this.minzoom=0,this.maxzoom=22,this.scheme=\"xyz\",this.tileSize=512,this.reparseOverscaled=!0,this.isTileClipped=!0,this._loaded=!1,t.extend(this,t.pick(n,[\"url\",\"scheme\",\"tileSize\",\"promoteId\"])),this._options=t.extend({type:\"vector\"},n),this._collectResourceTiming=n.collectResourceTiming,512!==this.tileSize)throw new Error(\"vector tile sources must have a tileSize of 512\");this.setEventedParent(a)}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.load=function(){var e=this;this._loaded=!1,this.fire(new t.Event(\"dataloading\",{dataType:\"source\"})),this._tileJSONRequest=A(this._options,this.map._requestManager,(function(r,n){e._tileJSONRequest=null,e._loaded=!0,r?e.fire(new t.ErrorEvent(r)):n&&(t.extend(e,n),n.bounds&&(e.tileBounds=new M(n.bounds,e.minzoom,e.maxzoom)),t.postTurnstileEvent(n.tiles,e.map._requestManager._customAccessToken),t.postMapLoadEvent(n.tiles,e.map._getMapId(),e.map._requestManager._skuToken,e.map._requestManager._customAccessToken),e.fire(new t.Event(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"})),e.fire(new t.Event(\"data\",{dataType:\"source\",sourceDataType:\"content\"})))}))},r.prototype.loaded=function(){return this._loaded},r.prototype.hasTile=function(t){return!this.tileBounds||this.tileBounds.contains(t.canonical)},r.prototype.onAdd=function(t){this.map=t,this.load()},r.prototype.onRemove=function(){this._tileJSONRequest&&(this._tileJSONRequest.cancel(),this._tileJSONRequest=null)},r.prototype.serialize=function(){return t.extend({},this._options)},r.prototype.loadTile=function(e,r){var n=this.map._requestManager.normalizeTileURL(e.tileID.canonical.url(this.tiles,this.scheme)),i={request:this.map._requestManager.transformRequest(n,t.ResourceType.Tile),uid:e.uid,tileID:e.tileID,zoom:e.tileID.overscaledZ,tileSize:this.tileSize*e.tileID.overscaleFactor(),type:this.type,source:this.id,pixelRatio:t.browser.devicePixelRatio,showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};function a(n,i){return delete e.request,e.aborted?r(null):n&&404!==n.status?r(n):(i&&i.resourceTiming&&(e.resourceTiming=i.resourceTiming),this.map._refreshExpiredTiles&&i&&e.setExpiryData(i),e.loadVectorData(i,this.map.painter),t.cacheEntryPossiblyAdded(this.dispatcher),r(null),void(e.reloadCallback&&(this.loadTile(e,e.reloadCallback),e.reloadCallback=null)))}i.request.collectResourceTiming=this._collectResourceTiming,e.actor&&\"expired\"!==e.state?\"loading\"===e.state?e.reloadCallback=r:e.request=e.actor.send(\"reloadTile\",i,a.bind(this)):(e.actor=this.dispatcher.getActor(),e.request=e.actor.send(\"loadTile\",i,a.bind(this)))},r.prototype.abortTile=function(t){t.request&&(t.request.cancel(),delete t.request),t.actor&&t.actor.send(\"abortTile\",{uid:t.uid,type:this.type,source:this.id},void 0)},r.prototype.unloadTile=function(t){t.unloadVectorData(),t.actor&&t.actor.send(\"removeTile\",{uid:t.uid,type:this.type,source:this.id},void 0)},r.prototype.hasTransition=function(){return!1},r}(t.Evented),E=function(e){function r(r,n,i,a){e.call(this),this.id=r,this.dispatcher=i,this.setEventedParent(a),this.type=\"raster\",this.minzoom=0,this.maxzoom=22,this.roundZoom=!0,this.scheme=\"xyz\",this.tileSize=512,this._loaded=!1,this._options=t.extend({type:\"raster\"},n),t.extend(this,t.pick(n,[\"url\",\"scheme\",\"tileSize\"]))}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.load=function(){var e=this;this._loaded=!1,this.fire(new t.Event(\"dataloading\",{dataType:\"source\"})),this._tileJSONRequest=A(this._options,this.map._requestManager,(function(r,n){e._tileJSONRequest=null,e._loaded=!0,r?e.fire(new t.ErrorEvent(r)):n&&(t.extend(e,n),n.bounds&&(e.tileBounds=new M(n.bounds,e.minzoom,e.maxzoom)),t.postTurnstileEvent(n.tiles),t.postMapLoadEvent(n.tiles,e.map._getMapId(),e.map._requestManager._skuToken),e.fire(new t.Event(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"})),e.fire(new t.Event(\"data\",{dataType:\"source\",sourceDataType:\"content\"})))}))},r.prototype.loaded=function(){return this._loaded},r.prototype.onAdd=function(t){this.map=t,this.load()},r.prototype.onRemove=function(){this._tileJSONRequest&&(this._tileJSONRequest.cancel(),this._tileJSONRequest=null)},r.prototype.serialize=function(){return t.extend({},this._options)},r.prototype.hasTile=function(t){return!this.tileBounds||this.tileBounds.contains(t.canonical)},r.prototype.loadTile=function(e,r){var n=this,i=this.map._requestManager.normalizeTileURL(e.tileID.canonical.url(this.tiles,this.scheme),this.tileSize);e.request=t.getImage(this.map._requestManager.transformRequest(i,t.ResourceType.Tile),(function(i,a){if(delete e.request,e.aborted)e.state=\"unloaded\",r(null);else if(i)e.state=\"errored\",r(i);else if(a){n.map._refreshExpiredTiles&&e.setExpiryData(a),delete a.cacheControl,delete a.expires;var o=n.map.painter.context,s=o.gl;e.texture=n.map.painter.getTileTexture(a.width),e.texture?e.texture.update(a,{useMipmap:!0}):(e.texture=new t.Texture(o,a,s.RGBA,{useMipmap:!0}),e.texture.bind(s.LINEAR,s.CLAMP_TO_EDGE,s.LINEAR_MIPMAP_NEAREST),o.extTextureFilterAnisotropic&&s.texParameterf(s.TEXTURE_2D,o.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,o.extTextureFilterAnisotropicMax)),e.state=\"loaded\",t.cacheEntryPossiblyAdded(n.dispatcher),r(null)}}))},r.prototype.abortTile=function(t,e){t.request&&(t.request.cancel(),delete t.request),e()},r.prototype.unloadTile=function(t,e){t.texture&&this.map.painter.saveTileTexture(t.texture),e()},r.prototype.hasTransition=function(){return!1},r}(t.Evented),L=function(e){function r(r,n,i,a){e.call(this,r,n,i,a),this.type=\"raster-dem\",this.maxzoom=22,this._options=t.extend({type:\"raster-dem\"},n),this.encoding=n.encoding||\"mapbox\"}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.serialize=function(){return{type:\"raster-dem\",url:this.url,tileSize:this.tileSize,tiles:this.tiles,bounds:this.bounds,encoding:this.encoding}},r.prototype.loadTile=function(e,r){var n=this.map._requestManager.normalizeTileURL(e.tileID.canonical.url(this.tiles,this.scheme),this.tileSize);function i(t,n){t&&(e.state=\"errored\",r(t)),n&&(e.dem=n,e.needsHillshadePrepare=!0,e.state=\"loaded\",r(null))}e.request=t.getImage(this.map._requestManager.transformRequest(n,t.ResourceType.Tile),function(n,a){if(delete e.request,e.aborted)e.state=\"unloaded\",r(null);else if(n)e.state=\"errored\",r(n);else if(a){this.map._refreshExpiredTiles&&e.setExpiryData(a),delete a.cacheControl,delete a.expires;var o=t.window.ImageBitmap&&a instanceof t.window.ImageBitmap&&t.offscreenCanvasSupported()?a:t.browser.getImageData(a,1),s={uid:e.uid,coord:e.tileID,source:this.id,rawImageData:o,encoding:this.encoding};e.actor&&\"expired\"!==e.state||(e.actor=this.dispatcher.getActor(),e.actor.send(\"loadDEMTile\",s,i.bind(this)))}}.bind(this)),e.neighboringTiles=this._getNeighboringTiles(e.tileID)},r.prototype._getNeighboringTiles=function(e){var r=e.canonical,n=Math.pow(2,r.z),i=(r.x-1+n)%n,a=0===r.x?e.wrap-1:e.wrap,o=(r.x+1+n)%n,s=r.x+1===n?e.wrap+1:e.wrap,l={};return l[new t.OverscaledTileID(e.overscaledZ,a,r.z,i,r.y).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,s,r.z,o,r.y).key]={backfilled:!1},r.y>0&&(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+1<n&&(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}),l},r.prototype.unloadTile=function(t){t.demTexture&&this.map.painter.saveTileTexture(t.demTexture),t.fbo&&(t.fbo.destroy(),delete t.fbo),t.dem&&delete t.dem,delete t.neighboringTiles,t.state=\"unloaded\",t.actor&&t.actor.send(\"removeDEMTile\",{uid:t.uid,source:this.id})},r}(E),C=function(e){function r(r,n,i,a){e.call(this),this.id=r,this.type=\"geojson\",this.minzoom=0,this.maxzoom=18,this.tileSize=512,this.isTileClipped=!0,this.reparseOverscaled=!0,this._removed=!1,this._loaded=!1,this.actor=i.getActor(),this.setEventedParent(a),this._data=n.data,this._options=t.extend({},n),this._collectResourceTiming=n.collectResourceTiming,this._resourceTiming=[],void 0!==n.maxzoom&&(this.maxzoom=n.maxzoom),n.type&&(this.type=n.type),n.attribution&&(this.attribution=n.attribution),this.promoteId=n.promoteId;var o=t.EXTENT/this.tileSize;this.workerOptions=t.extend({source:this.id,cluster:n.cluster||!1,geojsonVtOptions:{buffer:(void 0!==n.buffer?n.buffer:128)*o,tolerance:(void 0!==n.tolerance?n.tolerance:.375)*o,extent:t.EXTENT,maxZoom:this.maxzoom,lineMetrics:n.lineMetrics||!1,generateId:n.generateId||!1},superclusterOptions:{maxZoom:void 0!==n.clusterMaxZoom?Math.min(n.clusterMaxZoom,this.maxzoom-1):this.maxzoom-1,extent:t.EXTENT,radius:(n.clusterRadius||50)*o,log:!1,generateId:n.generateId||!1},clusterProperties:n.clusterProperties},n.workerOptions)}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.load=function(){var e=this;this.fire(new t.Event(\"dataloading\",{dataType:\"source\"})),this._updateWorkerData((function(r){if(r)e.fire(new t.ErrorEvent(r));else{var n={dataType:\"source\",sourceDataType:\"metadata\"};e._collectResourceTiming&&e._resourceTiming&&e._resourceTiming.length>0&&(n.resourceTiming=e._resourceTiming,e._resourceTiming=[]),e.fire(new t.Event(\"data\",n))}}))},r.prototype.onAdd=function(t){this.map=t,this.load()},r.prototype.setData=function(e){var r=this;return this._data=e,this.fire(new t.Event(\"dataloading\",{dataType:\"source\"})),this._updateWorkerData((function(e){if(e)r.fire(new t.ErrorEvent(e));else{var n={dataType:\"source\",sourceDataType:\"content\"};r._collectResourceTiming&&r._resourceTiming&&r._resourceTiming.length>0&&(n.resourceTiming=r._resourceTiming,r._resourceTiming=[]),r.fire(new t.Event(\"data\",n))}})),this},r.prototype.getClusterExpansionZoom=function(t,e){return this.actor.send(\"geojson.getClusterExpansionZoom\",{clusterId:t,source:this.id},e),this},r.prototype.getClusterChildren=function(t,e){return this.actor.send(\"geojson.getClusterChildren\",{clusterId:t,source:this.id},e),this},r.prototype.getClusterLeaves=function(t,e,r,n){return this.actor.send(\"geojson.getClusterLeaves\",{source:this.id,clusterId:t,limit:e,offset:r},n),this},r.prototype._updateWorkerData=function(e){var r=this;this._loaded=!1;var n=t.extend({},this.workerOptions),i=this._data;\"string\"==typeof i?(n.request=this.map._requestManager.transformRequest(t.browser.resolveURL(i),t.ResourceType.Source),n.request.collectResourceTiming=this._collectResourceTiming):n.data=JSON.stringify(i),this.actor.send(this.type+\".loadData\",n,(function(t,i){r._removed||i&&i.abandoned||(r._loaded=!0,i&&i.resourceTiming&&i.resourceTiming[r.id]&&(r._resourceTiming=i.resourceTiming[r.id].slice(0)),r.actor.send(r.type+\".coalesce\",{source:n.source},null),e(t))}))},r.prototype.loaded=function(){return this._loaded},r.prototype.loadTile=function(e,r){var n=this,i=e.actor?\"reloadTile\":\"loadTile\";e.actor=this.actor;var a={type:this.type,uid:e.uid,tileID:e.tileID,zoom:e.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:t.browser.devicePixelRatio,showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};e.request=this.actor.send(i,a,(function(t,a){return delete e.request,e.unloadVectorData(),e.aborted?r(null):t?r(t):(e.loadVectorData(a,n.map.painter,\"reloadTile\"===i),r(null))}))},r.prototype.abortTile=function(t){t.request&&(t.request.cancel(),delete t.request),t.aborted=!0},r.prototype.unloadTile=function(t){t.unloadVectorData(),this.actor.send(\"removeTile\",{uid:t.uid,type:this.type,source:this.id})},r.prototype.onRemove=function(){this._removed=!0,this.actor.send(\"removeSource\",{type:this.type,source:this.id})},r.prototype.serialize=function(){return t.extend({},this._options,{type:this.type,data:this._data})},r.prototype.hasTransition=function(){return!1},r}(t.Evented),P=t.createLayout([{name:\"a_pos\",type:\"Int16\",components:2},{name:\"a_texture_pos\",type:\"Int16\",components:2}]),I=function(e){function r(t,r,n,i){e.call(this),this.id=t,this.dispatcher=n,this.coordinates=r.coordinates,this.type=\"image\",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this._loaded=!1,this.setEventedParent(i),this.options=r}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.load=function(e,r){var n=this;this._loaded=!1,this.fire(new t.Event(\"dataloading\",{dataType:\"source\"})),this.url=this.options.url,t.getImage(this.map._requestManager.transformRequest(this.url,t.ResourceType.Image),(function(i,a){n._loaded=!0,i?n.fire(new t.ErrorEvent(i)):a&&(n.image=a,e&&(n.coordinates=e),r&&r(),n._finishLoading())}))},r.prototype.loaded=function(){return this._loaded},r.prototype.updateImage=function(t){var e=this;return this.image&&t.url?(this.options.url=t.url,this.load(t.coordinates,(function(){e.texture=null})),this):this},r.prototype._finishLoading=function(){this.map&&(this.setCoordinates(this.coordinates),this.fire(new t.Event(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"})))},r.prototype.onAdd=function(t){this.map=t,this.load()},r.prototype.setCoordinates=function(e){var r=this;this.coordinates=e;var n=e.map(t.MercatorCoordinate.fromLngLat);this.tileID=function(e){for(var r=1/0,n=1/0,i=-1/0,a=-1/0,o=0,s=e;o<s.length;o+=1){var l=s[o];r=Math.min(r,l.x),n=Math.min(n,l.y),i=Math.max(i,l.x),a=Math.max(a,l.y)}var c=i-r,u=a-n,f=Math.max(c,u),h=Math.max(0,Math.floor(-Math.log(f)/Math.LN2)),p=Math.pow(2,h);return new t.CanonicalTileID(h,Math.floor((r+i)/2*p),Math.floor((n+a)/2*p))}(n),this.minzoom=this.maxzoom=this.tileID.z;var i=n.map((function(t){return r.tileID.getTilePoint(t)._round()}));return this._boundsArray=new t.StructArrayLayout4i8,this._boundsArray.emplaceBack(i[0].x,i[0].y,0,0),this._boundsArray.emplaceBack(i[1].x,i[1].y,t.EXTENT,0),this._boundsArray.emplaceBack(i[3].x,i[3].y,0,t.EXTENT),this._boundsArray.emplaceBack(i[2].x,i[2].y,t.EXTENT,t.EXTENT),this.boundsBuffer&&(this.boundsBuffer.destroy(),delete this.boundsBuffer),this.fire(new t.Event(\"data\",{dataType:\"source\",sourceDataType:\"content\"})),this},r.prototype.prepare=function(){if(0!==Object.keys(this.tiles).length&&this.image){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.texture=new t.Texture(e,this.image,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.loadTile=function(t,e){this.tileID&&this.tileID.equals(t.tileID.canonical)?(this.tiles[String(t.tileID.wrap)]=t,t.buckets={},e(null)):(t.state=\"errored\",e(null))},r.prototype.serialize=function(){return{type:\"image\",url:this.options.url,coordinates:this.coordinates}},r.prototype.hasTransition=function(){return!1},r}(t.Evented);var O=function(e){function r(t,r,n,i){e.call(this,t,r,n,i),this.roundZoom=!0,this.type=\"video\",this.options=r}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.load=function(){var e=this;this._loaded=!1;var r=this.options;this.urls=[];for(var n=0,i=r.urls;n<i.length;n+=1){var a=i[n];this.urls.push(this.map._requestManager.transformRequest(a,t.ResourceType.Source).url)}t.getVideo(this.urls,(function(r,n){e._loaded=!0,r?e.fire(new t.ErrorEvent(r)):n&&(e.video=n,e.video.loop=!0,e.video.addEventListener(\"playing\",(function(){e.map.triggerRepaint()})),e.map&&e.video.play(),e._finishLoading())}))},r.prototype.pause=function(){this.video&&this.video.pause()},r.prototype.play=function(){this.video&&this.video.play()},r.prototype.seek=function(e){if(this.video){var r=this.video.seekable;e<r.start(0)||e>r.end(0)?this.fire(new t.ErrorEvent(new t.ValidationError(\"sources.\"+this.id,null,\"Playback for this video can be set only between the \"+r.start(0)+\" and \"+r.end(0)+\"-second mark.\"))):this.video.currentTime=e}},r.prototype.getVideo=function(){return this.video},r.prototype.onAdd=function(t){this.map||(this.map=t,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))},r.prototype.prepare=function(){if(!(0===Object.keys(this.tiles).length||this.video.readyState<2)){var e=this.map.painter.context,r=e.gl;for(var n in this.boundsBuffer||(this.boundsBuffer=e.createVertexBuffer(this._boundsArray,P.members)),this.boundsSegments||(this.boundsSegments=t.SegmentVector.simpleSegment(0,0,4,2)),this.texture?this.video.paused||(this.texture.bind(r.LINEAR,r.CLAMP_TO_EDGE),r.texSubImage2D(r.TEXTURE_2D,0,0,0,r.RGBA,r.UNSIGNED_BYTE,this.video)):(this.texture=new t.Texture(e,this.video,r.RGBA),this.texture.bind(r.LINEAR,r.CLAMP_TO_EDGE)),this.tiles){var i=this.tiles[n];\"loaded\"!==i.state&&(i.state=\"loaded\",i.texture=this.texture)}}},r.prototype.serialize=function(){return{type:\"video\",urls:this.urls,coordinates:this.coordinates}},r.prototype.hasTransition=function(){return this.video&&!this.video.paused},r}(I),z=function(e){function r(r,n,i,a){e.call(this,r,n,i,a),n.coordinates?Array.isArray(n.coordinates)&&4===n.coordinates.length&&!n.coordinates.some((function(t){return!Array.isArray(t)||2!==t.length||t.some((function(t){return\"number\"!=typeof t}))}))||this.fire(new t.ErrorEvent(new t.ValidationError(\"sources.\"+r,null,'\"coordinates\" property must be an array of 4 longitude/latitude array pairs'))):this.fire(new t.ErrorEvent(new t.ValidationError(\"sources.\"+r,null,'missing required property \"coordinates\"'))),n.animate&&\"boolean\"!=typeof n.animate&&this.fire(new t.ErrorEvent(new t.ValidationError(\"sources.\"+r,null,'optional \"animate\" property must be a boolean value'))),n.canvas?\"string\"==typeof n.canvas||n.canvas instanceof t.window.HTMLCanvasElement||this.fire(new t.ErrorEvent(new t.ValidationError(\"sources.\"+r,null,'\"canvas\" must be either a string representing the ID of the canvas element from which to read, or an HTMLCanvasElement instance'))):this.fire(new t.ErrorEvent(new t.ValidationError(\"sources.\"+r,null,'missing required property \"canvas\"'))),this.options=n,this.animate=void 0===n.animate||n.animate}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.load=function(){this._loaded=!0,this.canvas||(this.canvas=this.options.canvas instanceof t.window.HTMLCanvasElement?this.options.canvas:t.window.document.getElementById(this.options.canvas)),this.width=this.canvas.width,this.height=this.canvas.height,this._hasInvalidDimensions()?this.fire(new t.ErrorEvent(new Error(\"Canvas dimensions cannot be less than or equal to zero.\"))):(this.play=function(){this._playing=!0,this.map.triggerRepaint()},this.pause=function(){this._playing&&(this.prepare(),this._playing=!1)},this._finishLoading())},r.prototype.getCanvas=function(){return this.canvas},r.prototype.onAdd=function(t){this.map=t,this.load(),this.canvas&&this.animate&&this.play()},r.prototype.onRemove=function(){this.pause()},r.prototype.prepare=function(){var e=!1;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,e=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,e=!0),!this._hasInvalidDimensions()&&0!==Object.keys(this.tiles).length){var r=this.map.painter.context,n=r.gl;for(var i in this.boundsBuffer||(this.boundsBuffer=r.createVertexBuffer(this._boundsArray,P.members)),this.boundsSegments||(this.boundsSegments=t.SegmentVector.simpleSegment(0,0,4,2)),this.texture?(e||this._playing)&&this.texture.update(this.canvas,{premultiply:!0}):this.texture=new t.Texture(r,this.canvas,n.RGBA,{premultiply:!0}),this.tiles){var a=this.tiles[i];\"loaded\"!==a.state&&(a.state=\"loaded\",a.texture=this.texture)}}},r.prototype.serialize=function(){return{type:\"canvas\",coordinates:this.coordinates}},r.prototype.hasTransition=function(){return this._playing},r.prototype._hasInvalidDimensions=function(){for(var t=0,e=[this.canvas.width,this.canvas.height];t<e.length;t+=1){var r=e[t];if(isNaN(r)||r<=0)return!0}return!1},r}(I),D={vector:S,raster:E,\"raster-dem\":L,geojson:C,video:O,image:I,canvas:z};function R(e,r){var n=t.identity([]);return t.translate(n,n,[1,1,0]),t.scale(n,n,[.5*e.width,.5*e.height,1]),t.multiply(n,n,e.calculatePosMatrix(r.toUnwrapped()))}function F(t,e,r,n,i,a){var o=function(t,e,r){if(t)for(var n=0,i=t;n<i.length;n+=1){var a=e[i[n]];if(a&&a.source===r&&\"fill-extrusion\"===a.type)return!0}else for(var o in e){var s=e[o];if(s.source===r&&\"fill-extrusion\"===s.type)return!0}return!1}(i&&i.layers,e,t.id),s=a.maxPitchScaleFactor(),l=t.tilesIn(n,s,o);l.sort(B);for(var c=[],u=0,f=l;u<f.length;u+=1){var h=f[u];c.push({wrappedTileID:h.tileID.wrapped().key,queryResults:h.tile.queryRenderedFeatures(e,r,t._state,h.queryGeometry,h.cameraQueryGeometry,h.scale,i,a,s,R(t.transform,h.tileID))})}var p=function(t){for(var e={},r={},n=0,i=t;n<i.length;n+=1){var a=i[n],o=a.queryResults,s=a.wrappedTileID,l=r[s]=r[s]||{};for(var c in o)for(var u=o[c],f=l[c]=l[c]||{},h=e[c]=e[c]||[],p=0,d=u;p<d.length;p+=1){var m=d[p];f[m.featureIndex]||(f[m.featureIndex]=!0,h.push(m))}}return e}(c);for(var d in p)p[d].forEach((function(e){var 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 p}function B(t,e){var 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}var N=function(t,e){this.max=t,this.onRemove=e,this.reset()};N.prototype.reset=function(){for(var t in this.data)for(var e=0,r=this.data[t];e<r.length;e+=1){var n=r[e];n.timeout&&clearTimeout(n.timeout),this.onRemove(n.value)}return this.data={},this.order=[],this},N.prototype.add=function(t,e,r){var n=this,i=t.wrapped().key;void 0===this.data[i]&&(this.data[i]=[]);var a={value:e,timeout:void 0};if(void 0!==r&&(a.timeout=setTimeout((function(){n.remove(t,a)}),r)),this.data[i].push(a),this.order.push(i),this.order.length>this.max){var o=this._getAndRemoveByKey(this.order[0]);o&&this.onRemove(o)}return this},N.prototype.has=function(t){return t.wrapped().key in this.data},N.prototype.getAndRemove=function(t){return this.has(t)?this._getAndRemoveByKey(t.wrapped().key):null},N.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},N.prototype.getByKey=function(t){var e=this.data[t];return e?e[0].value:null},N.prototype.get=function(t){return this.has(t)?this.data[t.wrapped().key][0].value:null},N.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},N.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},N.prototype.filter=function(t){var e=[];for(var r in this.data)for(var n=0,i=this.data[r];n<i.length;n+=1){var a=i[n];t(a.value)||e.push(a)}for(var o=0,s=e;o<s.length;o+=1){var l=s[o];this.remove(l.value.tileID,l)}};var j=function(t,e,r){this.context=t;var 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};j.prototype.bind=function(){this.context.bindElementBuffer.set(this.buffer)},j.prototype.updateData=function(t){var e=this.context.gl;this.context.unbindVAO(),this.bind(),e.bufferSubData(e.ELEMENT_ARRAY_BUFFER,0,t.arrayBuffer)},j.prototype.destroy=function(){var t=this.context.gl;this.buffer&&(t.deleteBuffer(this.buffer),delete this.buffer)};var U={Int8:\"BYTE\",Uint8:\"UNSIGNED_BYTE\",Int16:\"SHORT\",Uint16:\"UNSIGNED_SHORT\",Int32:\"INT\",Uint32:\"UNSIGNED_INT\",Float32:\"FLOAT\"},V=function(t,e,r,n){this.length=e.length,this.attributes=r,this.itemSize=e.bytesPerElement,this.dynamicDraw=n,this.context=t;var 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};V.prototype.bind=function(){this.context.bindVertexBuffer.set(this.buffer)},V.prototype.updateData=function(t){var e=this.context.gl;this.bind(),e.bufferSubData(e.ARRAY_BUFFER,0,t.arrayBuffer)},V.prototype.enableAttributes=function(t,e){for(var r=0;r<this.attributes.length;r++){var n=this.attributes[r],i=e.attributes[n.name];void 0!==i&&t.enableVertexAttribArray(i)}},V.prototype.setVertexAttribPointers=function(t,e,r){for(var n=0;n<this.attributes.length;n++){var i=this.attributes[n],a=e.attributes[i.name];void 0!==a&&t.vertexAttribPointer(a,i.components,t[U[i.type]],!1,this.itemSize,i.offset+this.itemSize*(r||0))}},V.prototype.destroy=function(){var t=this.context.gl;this.buffer&&(t.deleteBuffer(this.buffer),delete this.buffer)};var H=function(t){this.gl=t.gl,this.default=this.getDefault(),this.current=this.default,this.dirty=!1};H.prototype.get=function(){return this.current},H.prototype.set=function(t){},H.prototype.getDefault=function(){return this.default},H.prototype.setDefault=function(){this.set(this.default)};var q=function(e){function r(){e.apply(this,arguments)}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.getDefault=function(){return t.Color.transparent},r.prototype.set=function(t){var e=this.current;(t.r!==e.r||t.g!==e.g||t.b!==e.b||t.a!==e.a||this.dirty)&&(this.gl.clearColor(t.r,t.g,t.b,t.a),this.current=t,this.dirty=!1)},r}(H),G=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.getDefault=function(){return 1},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.clearDepth(t),this.current=t,this.dirty=!1)},e}(H),Y=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.getDefault=function(){return 0},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.clearStencil(t),this.current=t,this.dirty=!1)},e}(H),W=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.getDefault=function(){return[!0,!0,!0,!0]},e.prototype.set=function(t){var e=this.current;(t[0]!==e[0]||t[1]!==e[1]||t[2]!==e[2]||t[3]!==e[3]||this.dirty)&&(this.gl.colorMask(t[0],t[1],t[2],t[3]),this.current=t,this.dirty=!1)},e}(H),X=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.getDefault=function(){return!0},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.depthMask(t),this.current=t,this.dirty=!1)},e}(H),Z=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.getDefault=function(){return 255},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.stencilMask(t),this.current=t,this.dirty=!1)},e}(H),J=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.getDefault=function(){return{func:this.gl.ALWAYS,ref:0,mask:255}},e.prototype.set=function(t){var e=this.current;(t.func!==e.func||t.ref!==e.ref||t.mask!==e.mask||this.dirty)&&(this.gl.stencilFunc(t.func,t.ref,t.mask),this.current=t,this.dirty=!1)},e}(H),K=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.getDefault=function(){var t=this.gl;return[t.KEEP,t.KEEP,t.KEEP]},e.prototype.set=function(t){var e=this.current;(t[0]!==e[0]||t[1]!==e[1]||t[2]!==e[2]||this.dirty)&&(this.gl.stencilOp(t[0],t[1],t[2]),this.current=t,this.dirty=!1)},e}(H),Q=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.getDefault=function(){return!1},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;t?e.enable(e.STENCIL_TEST):e.disable(e.STENCIL_TEST),this.current=t,this.dirty=!1}},e}(H),$=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.getDefault=function(){return[0,1]},e.prototype.set=function(t){var e=this.current;(t[0]!==e[0]||t[1]!==e[1]||this.dirty)&&(this.gl.depthRange(t[0],t[1]),this.current=t,this.dirty=!1)},e}(H),tt=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.getDefault=function(){return!1},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;t?e.enable(e.DEPTH_TEST):e.disable(e.DEPTH_TEST),this.current=t,this.dirty=!1}},e}(H),et=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.getDefault=function(){return this.gl.LESS},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.depthFunc(t),this.current=t,this.dirty=!1)},e}(H),rt=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.getDefault=function(){return!1},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;t?e.enable(e.BLEND):e.disable(e.BLEND),this.current=t,this.dirty=!1}},e}(H),nt=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.getDefault=function(){var t=this.gl;return[t.ONE,t.ZERO]},e.prototype.set=function(t){var e=this.current;(t[0]!==e[0]||t[1]!==e[1]||this.dirty)&&(this.gl.blendFunc(t[0],t[1]),this.current=t,this.dirty=!1)},e}(H),it=function(e){function r(){e.apply(this,arguments)}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.getDefault=function(){return t.Color.transparent},r.prototype.set=function(t){var e=this.current;(t.r!==e.r||t.g!==e.g||t.b!==e.b||t.a!==e.a||this.dirty)&&(this.gl.blendColor(t.r,t.g,t.b,t.a),this.current=t,this.dirty=!1)},r}(H),at=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.getDefault=function(){return this.gl.FUNC_ADD},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.blendEquation(t),this.current=t,this.dirty=!1)},e}(H),ot=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.getDefault=function(){return!1},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;t?e.enable(e.CULL_FACE):e.disable(e.CULL_FACE),this.current=t,this.dirty=!1}},e}(H),st=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.getDefault=function(){return this.gl.BACK},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.cullFace(t),this.current=t,this.dirty=!1)},e}(H),lt=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.getDefault=function(){return this.gl.CCW},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.frontFace(t),this.current=t,this.dirty=!1)},e}(H),ct=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.getDefault=function(){return null},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.useProgram(t),this.current=t,this.dirty=!1)},e}(H),ut=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.getDefault=function(){return this.gl.TEXTURE0},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.activeTexture(t),this.current=t,this.dirty=!1)},e}(H),ft=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.getDefault=function(){var t=this.gl;return[0,0,t.drawingBufferWidth,t.drawingBufferHeight]},e.prototype.set=function(t){var e=this.current;(t[0]!==e[0]||t[1]!==e[1]||t[2]!==e[2]||t[3]!==e[3]||this.dirty)&&(this.gl.viewport(t[0],t[1],t[2],t[3]),this.current=t,this.dirty=!1)},e}(H),ht=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.getDefault=function(){return null},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;e.bindFramebuffer(e.FRAMEBUFFER,t),this.current=t,this.dirty=!1}},e}(H),pt=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.getDefault=function(){return null},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;e.bindRenderbuffer(e.RENDERBUFFER,t),this.current=t,this.dirty=!1}},e}(H),dt=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.getDefault=function(){return null},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;e.bindTexture(e.TEXTURE_2D,t),this.current=t,this.dirty=!1}},e}(H),mt=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.getDefault=function(){return null},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;e.bindBuffer(e.ARRAY_BUFFER,t),this.current=t,this.dirty=!1}},e}(H),gt=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.getDefault=function(){return null},e.prototype.set=function(t){var e=this.gl;e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,t),this.current=t,this.dirty=!1},e}(H),vt=function(t){function e(e){t.call(this,e),this.vao=e.extVertexArrayObject}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){return null},e.prototype.set=function(t){this.vao&&(t!==this.current||this.dirty)&&(this.vao.bindVertexArrayOES(t),this.current=t,this.dirty=!1)},e}(H),yt=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.getDefault=function(){return 4},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;e.pixelStorei(e.UNPACK_ALIGNMENT,t),this.current=t,this.dirty=!1}},e}(H),xt=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.getDefault=function(){return!1},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;e.pixelStorei(e.UNPACK_PREMULTIPLY_ALPHA_WEBGL,t),this.current=t,this.dirty=!1}},e}(H),bt=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.getDefault=function(){return!1},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;e.pixelStorei(e.UNPACK_FLIP_Y_WEBGL,t),this.current=t,this.dirty=!1}},e}(H),_t=function(t){function e(e,r){t.call(this,e),this.context=e,this.parent=r}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){return null},e}(H),wt=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.setDirty=function(){this.dirty=!0},e.prototype.set=function(t){if(t!==this.current||this.dirty){this.context.bindFramebuffer.set(this.parent);var e=this.gl;e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,t,0),this.current=t,this.dirty=!1}},e}(_t),Tt=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.set=function(t){if(t!==this.current||this.dirty){this.context.bindFramebuffer.set(this.parent);var e=this.gl;e.framebufferRenderbuffer(e.FRAMEBUFFER,e.DEPTH_ATTACHMENT,e.RENDERBUFFER,t),this.current=t,this.dirty=!1}},e}(_t),kt=function(t,e,r,n){this.context=t,this.width=e,this.height=r;var i=t.gl,a=this.framebuffer=i.createFramebuffer();this.colorAttachment=new wt(t,a),n&&(this.depthAttachment=new Tt(t,a))};kt.prototype.destroy=function(){var t=this.context.gl,e=this.colorAttachment.get();if(e&&t.deleteTexture(e),this.depthAttachment){var r=this.depthAttachment.get();r&&t.deleteRenderbuffer(r)}t.deleteFramebuffer(this.framebuffer)};var At=function(t,e,r){this.func=t,this.mask=e,this.range=r};At.ReadOnly=!1,At.ReadWrite=!0,At.disabled=new At(519,At.ReadOnly,[0,1]);var Mt=function(t,e,r,n,i,a){this.test=t,this.ref=e,this.mask=r,this.fail=n,this.depthFail=i,this.pass=a};Mt.disabled=new Mt({func:519,mask:0},0,0,7680,7680,7680);var St=function(t,e,r){this.blendFunction=t,this.blendColor=e,this.mask=r};St.disabled=new St(St.Replace=[1,0],t.Color.transparent,[!1,!1,!1,!1]),St.unblended=new St(St.Replace,t.Color.transparent,[!0,!0,!0,!0]),St.alphaBlended=new St([1,771],t.Color.transparent,[!0,!0,!0,!0]);var Et=function(t,e,r){this.enable=t,this.mode=e,this.frontFace=r};Et.disabled=new Et(!1,1029,2305),Et.backCCW=new Et(!0,1029,2305);var Lt=function(t){this.gl=t,this.extVertexArrayObject=this.gl.getExtension(\"OES_vertex_array_object\"),this.clearColor=new q(this),this.clearDepth=new G(this),this.clearStencil=new Y(this),this.colorMask=new W(this),this.depthMask=new X(this),this.stencilMask=new Z(this),this.stencilFunc=new J(this),this.stencilOp=new K(this),this.stencilTest=new Q(this),this.depthRange=new $(this),this.depthTest=new tt(this),this.depthFunc=new et(this),this.blend=new rt(this),this.blendFunc=new nt(this),this.blendColor=new it(this),this.blendEquation=new at(this),this.cullFace=new ot(this),this.cullFaceSide=new st(this),this.frontFace=new lt(this),this.program=new ct(this),this.activeTexture=new ut(this),this.viewport=new ft(this),this.bindFramebuffer=new ht(this),this.bindRenderbuffer=new pt(this),this.bindTexture=new dt(this),this.bindVertexBuffer=new mt(this),this.bindElementBuffer=new gt(this),this.bindVertexArrayOES=this.extVertexArrayObject&&new vt(this),this.pixelStoreUnpack=new yt(this),this.pixelStoreUnpackPremultiplyAlpha=new xt(this),this.pixelStoreUnpackFlipY=new bt(this),this.extTextureFilterAnisotropic=t.getExtension(\"EXT_texture_filter_anisotropic\")||t.getExtension(\"MOZ_EXT_texture_filter_anisotropic\")||t.getExtension(\"WEBKIT_EXT_texture_filter_anisotropic\"),this.extTextureFilterAnisotropic&&(this.extTextureFilterAnisotropicMax=t.getParameter(this.extTextureFilterAnisotropic.MAX_TEXTURE_MAX_ANISOTROPY_EXT)),this.extTextureHalfFloat=t.getExtension(\"OES_texture_half_float\"),this.extTextureHalfFloat&&(t.getExtension(\"OES_texture_half_float_linear\"),this.extRenderToTextureHalfFloat=t.getExtension(\"EXT_color_buffer_half_float\")),this.extTimerQuery=t.getExtension(\"EXT_disjoint_timer_query\")};Lt.prototype.setDefault=function(){this.unbindVAO(),this.clearColor.setDefault(),this.clearDepth.setDefault(),this.clearStencil.setDefault(),this.colorMask.setDefault(),this.depthMask.setDefault(),this.stencilMask.setDefault(),this.stencilFunc.setDefault(),this.stencilOp.setDefault(),this.stencilTest.setDefault(),this.depthRange.setDefault(),this.depthTest.setDefault(),this.depthFunc.setDefault(),this.blend.setDefault(),this.blendFunc.setDefault(),this.blendColor.setDefault(),this.blendEquation.setDefault(),this.cullFace.setDefault(),this.cullFaceSide.setDefault(),this.frontFace.setDefault(),this.program.setDefault(),this.activeTexture.setDefault(),this.bindFramebuffer.setDefault(),this.pixelStoreUnpack.setDefault(),this.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.pixelStoreUnpackFlipY.setDefault()},Lt.prototype.setDirty=function(){this.clearColor.dirty=!0,this.clearDepth.dirty=!0,this.clearStencil.dirty=!0,this.colorMask.dirty=!0,this.depthMask.dirty=!0,this.stencilMask.dirty=!0,this.stencilFunc.dirty=!0,this.stencilOp.dirty=!0,this.stencilTest.dirty=!0,this.depthRange.dirty=!0,this.depthTest.dirty=!0,this.depthFunc.dirty=!0,this.blend.dirty=!0,this.blendFunc.dirty=!0,this.blendColor.dirty=!0,this.blendEquation.dirty=!0,this.cullFace.dirty=!0,this.cullFaceSide.dirty=!0,this.frontFace.dirty=!0,this.program.dirty=!0,this.activeTexture.dirty=!0,this.viewport.dirty=!0,this.bindFramebuffer.dirty=!0,this.bindRenderbuffer.dirty=!0,this.bindTexture.dirty=!0,this.bindVertexBuffer.dirty=!0,this.bindElementBuffer.dirty=!0,this.extVertexArrayObject&&(this.bindVertexArrayOES.dirty=!0),this.pixelStoreUnpack.dirty=!0,this.pixelStoreUnpackPremultiplyAlpha.dirty=!0,this.pixelStoreUnpackFlipY.dirty=!0},Lt.prototype.createIndexBuffer=function(t,e){return new j(this,t,e)},Lt.prototype.createVertexBuffer=function(t,e,r){return new V(this,t,e,r)},Lt.prototype.createRenderbuffer=function(t,e,r){var n=this.gl,i=n.createRenderbuffer();return this.bindRenderbuffer.set(i),n.renderbufferStorage(n.RENDERBUFFER,t,e,r),this.bindRenderbuffer.set(null),i},Lt.prototype.createFramebuffer=function(t,e,r){return new kt(this,t,e,r)},Lt.prototype.clear=function(t){var e=t.color,r=t.depth,n=this.gl,i=0;e&&(i|=n.COLOR_BUFFER_BIT,this.clearColor.set(e),this.colorMask.set([!0,!0,!0,!0])),void 0!==r&&(i|=n.DEPTH_BUFFER_BIT,this.depthRange.set([0,1]),this.clearDepth.set(r),this.depthMask.set(!0)),n.clear(i)},Lt.prototype.setCullFace=function(t){!1===t.enable?this.cullFace.set(!1):(this.cullFace.set(!0),this.cullFaceSide.set(t.mode),this.frontFace.set(t.frontFace))},Lt.prototype.setDepthMode=function(t){t.func!==this.gl.ALWAYS||t.mask?(this.depthTest.set(!0),this.depthFunc.set(t.func),this.depthMask.set(t.mask),this.depthRange.set(t.range)):this.depthTest.set(!1)},Lt.prototype.setStencilMode=function(t){t.test.func!==this.gl.ALWAYS||t.mask?(this.stencilTest.set(!0),this.stencilMask.set(t.mask),this.stencilOp.set([t.fail,t.depthFail,t.pass]),this.stencilFunc.set({func:t.test.func,ref:t.ref,mask:t.test.mask})):this.stencilTest.set(!1)},Lt.prototype.setColorMode=function(e){t.deepEqual(e.blendFunction,St.Replace)?this.blend.set(!1):(this.blend.set(!0),this.blendFunc.set(e.blendFunction),this.blendColor.set(e.blendColor)),this.colorMask.set(e.mask)},Lt.prototype.unbindVAO=function(){this.extVertexArrayObject&&this.bindVertexArrayOES.set(null)};var Ct=function(e){function r(r,n,i){var a=this;e.call(this),this.id=r,this.dispatcher=i,this.on(\"data\",(function(t){\"source\"===t.dataType&&\"metadata\"===t.sourceDataType&&(a._sourceLoaded=!0),a._sourceLoaded&&!a._paused&&\"source\"===t.dataType&&\"content\"===t.sourceDataType&&(a.reload(),a.transform&&a.update(a.transform))})),this.on(\"error\",(function(){a._sourceErrored=!0})),this._source=function(e,r,n,i){var a=new D[r.type](e,r,n,i);if(a.id!==e)throw new Error(\"Expected Source id to be \"+e+\" instead of \"+a.id);return t.bindAll([\"load\",\"abort\",\"unload\",\"serialize\",\"prepare\"],a),a}(r,n,i,this),this._tiles={},this._cache=new N(0,this._unloadTile.bind(this)),this._timers={},this._cacheTimers={},this._maxTileCacheSize=null,this._loadedParentTiles={},this._coveredTiles={},this._state=new t.SourceFeatureState}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.onAdd=function(t){this.map=t,this._maxTileCacheSize=t?t._maxTileCacheSize:null,this._source&&this._source.onAdd&&this._source.onAdd(t)},r.prototype.onRemove=function(t){this._source&&this._source.onRemove&&this._source.onRemove(t)},r.prototype.loaded=function(){if(this._sourceErrored)return!0;if(!this._sourceLoaded)return!1;if(!this._source.loaded())return!1;for(var t in this._tiles){var e=this._tiles[t];if(\"loaded\"!==e.state&&\"errored\"!==e.state)return!1}return!0},r.prototype.getSource=function(){return this._source},r.prototype.pause=function(){this._paused=!0},r.prototype.resume=function(){if(this._paused){var t=this._shouldReloadOnResume;this._paused=!1,this._shouldReloadOnResume=!1,t&&this.reload(),this.transform&&this.update(this.transform)}},r.prototype._loadTile=function(t,e){return this._source.loadTile(t,e)},r.prototype._unloadTile=function(t){if(this._source.unloadTile)return this._source.unloadTile(t,(function(){}))},r.prototype._abortTile=function(t){if(this._source.abortTile)return this._source.abortTile(t,(function(){}))},r.prototype.serialize=function(){return this._source.serialize()},r.prototype.prepare=function(t){for(var e in this._source.prepare&&this._source.prepare(),this._state.coalesceChanges(this._tiles,this.map?this.map.painter:null),this._tiles){var r=this._tiles[e];r.upload(t),r.prepare(this.map.style.imageManager)}},r.prototype.getIds=function(){return t.values(this._tiles).map((function(t){return t.tileID})).sort(Pt).map((function(t){return t.key}))},r.prototype.getRenderableIds=function(e){var r=this,n=[];for(var i in this._tiles)this._isIdRenderable(i,e)&&n.push(this._tiles[i]);return e?n.sort((function(e,n){var i=e.tileID,a=n.tileID,o=new t.Point(i.canonical.x,i.canonical.y)._rotate(r.transform.angle),s=new t.Point(a.canonical.x,a.canonical.y)._rotate(r.transform.angle);return i.overscaledZ-a.overscaledZ||s.y-o.y||s.x-o.x})).map((function(t){return t.tileID.key})):n.map((function(t){return t.tileID})).sort(Pt).map((function(t){return t.key}))},r.prototype.hasRenderableParent=function(t){var e=this.findLoadedParent(t,0);return!!e&&this._isIdRenderable(e.tileID.key)},r.prototype._isIdRenderable=function(t,e){return this._tiles[t]&&this._tiles[t].hasData()&&!this._coveredTiles[t]&&(e||!this._tiles[t].holdingForFade())},r.prototype.reload=function(){if(this._paused)this._shouldReloadOnResume=!0;else for(var t in this._cache.reset(),this._tiles)\"errored\"!==this._tiles[t].state&&this._reloadTile(t,\"reloading\")},r.prototype._reloadTile=function(t,e){var r=this._tiles[t];r&&(\"loading\"!==r.state&&(r.state=e),this._loadTile(r,this._tileLoaded.bind(this,r,t,e)))},r.prototype._tileLoaded=function(e,r,n,i){if(i)return e.state=\"errored\",void(404!==i.status?this._source.fire(new t.ErrorEvent(i,{tile:e})):this.update(this.transform));e.timeAdded=t.browser.now(),\"expired\"===n&&(e.refreshedUponExpiration=!0),this._setTileReloadTimer(r,e),\"raster-dem\"===this.getSource().type&&e.dem&&this._backfillDEM(e),this._state.initializeTileState(e,this.map?this.map.painter:null),this._source.fire(new t.Event(\"data\",{dataType:\"source\",tile:e,coord:e.tileID}))},r.prototype._backfillDEM=function(t){for(var e=this.getRenderableIds(),r=0;r<e.length;r++){var n=e[r];if(t.neighboringTiles&&t.neighboringTiles[n]){var i=this.getTileByID(n);a(t,i),a(i,t)}}function a(t,e){t.needsHillshadePrepare=!0;var r=e.tileID.canonical.x-t.tileID.canonical.x,n=e.tileID.canonical.y-t.tileID.canonical.y,i=Math.pow(2,t.tileID.canonical.z),a=e.tileID.key;0===r&&0===n||Math.abs(n)>1||(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(It(this._source.type)){for(var c={},u={},f=0,h=Object.keys(l);f<h.length;f+=1){var p=h[f],d=l[p],m=this._tiles[p];if(m&&!(m.fadeEndTime&&m.fadeEndTime<=t.browser.now())){var g=this.findLoadedParent(d,o);g&&(this._addTile(g.tileID),c[g.tileID.key]=g.tileID),u[p]=d}}for(var v in this._retainLoadedChildren(u,a,s,l),c)l[v]||(this._coveredTiles[v]=!0,l[v]=c[v])}for(var y in l)this._tiles[y].clearFadeHold();for(var x=0,b=t.keysDifference(this._tiles,l);x<b.length;x+=1){var _=b[x],w=this._tiles[_];w.hasSymbolBuckets&&!w.holdingForFade()?w.setHoldDuration(this.map._fadeDuration):w.hasSymbolBuckets&&!w.symbolFadeFinished()||this._removeTile(_)}this._updateLoadedParentTileCache()}},r.prototype.releaseSymbolFadeTiles=function(){for(var t in this._tiles)this._tiles[t].holdingForFade()&&this._removeTile(t)},r.prototype._updateRetainedTiles=function(t,e){for(var n={},i={},a=Math.max(e-r.maxOverzooming,this._source.minzoom),o=Math.max(e+r.maxUnderzooming,this._source.minzoom),s={},l=0,c=t;l<c.length;l+=1){var u=c[l],f=this._addTile(u);n[u.key]=u,f.hasData()||e<this._source.maxzoom&&(s[u.key]=u)}this._retainLoadedChildren(s,e,o,n);for(var h=0,p=t;h<p.length;h+=1){var d=p[h],m=this._tiles[d.key];if(!m.hasData()){if(e+1>this._source.maxzoom){var g=d.children(this._source.maxzoom)[0],v=this.getTile(g);if(v&&v.hasData()){n[g.key]=g;continue}}else{var y=d.children(this._source.maxzoom);if(n[y[0].key]&&n[y[1].key]&&n[y[2].key]&&n[y[3].key])continue}for(var x=m.wasRequested(),b=d.overscaledZ-1;b>=a;--b){var _=d.scaledTo(b);if(i[_.key])break;if(i[_.key]=!0,!(m=this.getTile(_))&&x&&(m=this._addTile(_)),m&&(n[_.key]=_,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;a<o.length;a+=1){var s=o[a];this._loadedParentTiles[s]=r}}},r.prototype._addTile=function(e){var r=this._tiles[e.key];if(r)return r;(r=this._cache.getAndRemove(e))&&(this._setTileReloadTimer(e.key,r),r.tileID=e,this._state.initializeTileState(r,this.map?this.map.painter:null),this._cacheTimers[e.key]&&(clearTimeout(this._cacheTimers[e.key]),delete this._cacheTimers[e.key],this._setTileReloadTimer(e.key,r)));var n=Boolean(r);return n||(r=new t.Tile(e,this._source.tileSize*e.overscaleFactor()),this._loadTile(r,this._tileLoaded.bind(this,r,e.key,r.state))),r?(r.uses++,this._tiles[e.key]=r,n||this._source.fire(new t.Event(\"dataloading\",{tile:r,coord:r.tileID,dataType:\"source\"})),r):null},r.prototype._setTileReloadTimer=function(t,e){var r=this;t in this._timers&&(clearTimeout(this._timers[t]),delete this._timers[t]);var n=e.getExpiryTimeout();n&&(this._timers[t]=setTimeout((function(){r._reloadTile(t,\"expired\"),delete r._timers[t]}),n))},r.prototype._removeTile=function(t){var 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))))},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(),f=1/0,h=1/0,p=-1/0,d=-1/0,m=0,g=c;m<g.length;m+=1){var v=g[m];f=Math.min(f,v.x),h=Math.min(h,v.y),p=Math.max(p,v.x),d=Math.max(d,v.y)}for(var y=function(e){var n=i._tiles[u[e]];if(!n.holdingForFade()){var s=n.tileID,m=Math.pow(2,o.zoom-n.tileID.overscaledZ),g=r*n.queryPadding*t.EXTENT/n.tileSize/m,v=[s.getTilePoint(new t.MercatorCoordinate(f,h)),s.getTilePoint(new t.MercatorCoordinate(p,d))];if(v[0].x-g<t.EXTENT&&v[0].y-g<t.EXTENT&&v[1].x+g>=0&&v[1].y+g>=0){var y=l.map((function(t){return s.getTilePoint(t)})),x=c.map((function(t){return s.getTilePoint(t)}));a.push({tile:n,tileID:s,queryGeometry:y,cameraQueryGeometry:x,scale:m})}}},x=0;x<u.length;x++)y(x);return a},r.prototype.getVisibleCoordinates=function(t){for(var e=this,r=this.getRenderableIds(t).map((function(t){return e._tiles[t].tileID})),n=0,i=r;n<i.length;n+=1){var a=i[n];a.posMatrix=this.transform.calculatePosMatrix(a.toUnwrapped())}return r},r.prototype.hasTransition=function(){if(this._source.hasTransition())return!0;if(It(this._source.type))for(var e in this._tiles){var r=this._tiles[e];if(void 0!==r.fadeEndTime&&r.fadeEndTime>=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 Pt(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 It(t){return\"raster\"===t||\"image\"===t||\"video\"===t}function Ot(){return new t.window.Worker(Zi.workerUrl)}Ct.maxOverzooming=10,Ct.maxUnderzooming=3;var zt=\"mapboxgl_preloaded_worker_pool\",Dt=function(){this.active={}};Dt.prototype.acquire=function(t){if(!this.workers)for(this.workers=[];this.workers.length<Dt.workerCount;)this.workers.push(new Ot);return this.active[t]=!0,this.workers.slice()},Dt.prototype.release=function(t){delete this.active[t],0===this.numActive()&&(this.workers.forEach((function(t){t.terminate()})),this.workers=null)},Dt.prototype.isPreloaded=function(){return!!this.active[zt]},Dt.prototype.numActive=function(){return Object.keys(this.active).length};var Rt,Ft=Math.floor(t.browser.hardwareConcurrency/2);function Bt(){return Rt||(Rt=new Dt),Rt}function Nt(e,r){var n={};for(var i in e)\"ref\"!==i&&(n[i]=e[i]);return t.refProperties.forEach((function(t){t in r&&(n[t]=r[t])})),n}function jt(t){t=t.slice();for(var e=Object.create(null),r=0;r<t.length;r++)e[t[r].id]=t[r];for(var n=0;n<t.length;n++)\"ref\"in t[n]&&(t[n]=Nt(t[n],e[t[n].ref]));return t}Dt.workerCount=Math.max(Math.min(Ft,6),1);var Ut={setStyle:\"setStyle\",addLayer:\"addLayer\",removeLayer:\"removeLayer\",setPaintProperty:\"setPaintProperty\",setLayoutProperty:\"setLayoutProperty\",setFilter:\"setFilter\",addSource:\"addSource\",removeSource:\"removeSource\",setGeoJSONSourceData:\"setGeoJSONSourceData\",setLayerZoomRange:\"setLayerZoomRange\",setLayerProperty:\"setLayerProperty\",setCenter:\"setCenter\",setZoom:\"setZoom\",setBearing:\"setBearing\",setPitch:\"setPitch\",setSprite:\"setSprite\",setGlyphs:\"setGlyphs\",setTransition:\"setTransition\",setLight:\"setLight\"};function Vt(t,e,r){r.push({command:Ut.addSource,args:[t,e[t]]})}function Ht(t,e,r){e.push({command:Ut.removeSource,args:[t]}),r[t]=!0}function qt(t,e,r,n){Ht(t,r,n),Vt(t,e,r)}function Gt(e,r,n){var i;for(i in e[n])if(e[n].hasOwnProperty(i)&&\"data\"!==i&&!t.deepEqual(e[n][i],r[n][i]))return!1;for(i in r[n])if(r[n].hasOwnProperty(i)&&\"data\"!==i&&!t.deepEqual(e[n][i],r[n][i]))return!1;return!0}function Yt(e,r,n,i,a,o){var s;for(s in r=r||{},e=e||{})e.hasOwnProperty(s)&&(t.deepEqual(e[s],r[s])||n.push({command:o,args:[i,s,r[s],a]}));for(s in r)r.hasOwnProperty(s)&&!e.hasOwnProperty(s)&&(t.deepEqual(e[s],r[s])||n.push({command:o,args:[i,s,r[s],a]}))}function Wt(t){return t.id}function Xt(t,e){return t[e.id]=e,t}function Zt(e,r){if(!e)return[{command:Ut.setStyle,args:[r]}];var n=[];try{if(!t.deepEqual(e.version,r.version))return[{command:Ut.setStyle,args:[r]}];t.deepEqual(e.center,r.center)||n.push({command:Ut.setCenter,args:[r.center]}),t.deepEqual(e.zoom,r.zoom)||n.push({command:Ut.setZoom,args:[r.zoom]}),t.deepEqual(e.bearing,r.bearing)||n.push({command:Ut.setBearing,args:[r.bearing]}),t.deepEqual(e.pitch,r.pitch)||n.push({command:Ut.setPitch,args:[r.pitch]}),t.deepEqual(e.sprite,r.sprite)||n.push({command:Ut.setSprite,args:[r.sprite]}),t.deepEqual(e.glyphs,r.glyphs)||n.push({command:Ut.setGlyphs,args:[r.glyphs]}),t.deepEqual(e.transition,r.transition)||n.push({command:Ut.setTransition,args:[r.transition]}),t.deepEqual(e.light,r.light)||n.push({command:Ut.setLight,args:[r.light]});var i={},a=[];!function(e,r,n,i){var a;for(a in r=r||{},e=e||{})e.hasOwnProperty(a)&&(r.hasOwnProperty(a)||Ht(a,n,i));for(a in r)r.hasOwnProperty(a)&&(e.hasOwnProperty(a)?t.deepEqual(e[a],r[a])||(\"geojson\"===e[a].type&&\"geojson\"===r[a].type&&Gt(e,r,a)?n.push({command:Ut.setGeoJSONSourceData,args:[a,r[a].data]}):qt(a,r,n,i)):Vt(a,r,n))}(e.sources,r.sources,a,i);var o=[];e.layers&&e.layers.forEach((function(t){i[t.source]?n.push({command:Ut.removeLayer,args:[t.id]}):o.push(t)})),n=n.concat(a),function(e,r,n){r=r||[];var i,a,o,s,l,c,u,f=(e=e||[]).map(Wt),h=r.map(Wt),p=e.reduce(Xt,{}),d=r.reduce(Xt,{}),m=f.slice(),g=Object.create(null);for(i=0,a=0;i<f.length;i++)o=f[i],d.hasOwnProperty(o)?a++:(n.push({command:Ut.removeLayer,args:[o]}),m.splice(m.indexOf(o,a),1));for(i=0,a=0;i<h.length;i++)o=h[h.length-1-i],m[m.length-1-i]!==o&&(p.hasOwnProperty(o)?(n.push({command:Ut.removeLayer,args:[o]}),m.splice(m.lastIndexOf(o,m.length-a),1)):a++,c=m[m.length-i],n.push({command:Ut.addLayer,args:[d[o],c]}),m.splice(m.length-i,0,o),g[o]=!0);for(i=0;i<h.length;i++)if(s=p[o=h[i]],l=d[o],!g[o]&&!t.deepEqual(s,l))if(t.deepEqual(s.source,l.source)&&t.deepEqual(s[\"source-layer\"],l[\"source-layer\"])&&t.deepEqual(s.type,l.type)){for(u in Yt(s.layout,l.layout,n,o,null,Ut.setLayoutProperty),Yt(s.paint,l.paint,n,o,null,Ut.setPaintProperty),t.deepEqual(s.filter,l.filter)||n.push({command:Ut.setFilter,args:[o,l.filter]}),t.deepEqual(s.minzoom,l.minzoom)&&t.deepEqual(s.maxzoom,l.maxzoom)||n.push({command:Ut.setLayerZoomRange,args:[o,l.minzoom,l.maxzoom]}),s)s.hasOwnProperty(u)&&\"layout\"!==u&&\"paint\"!==u&&\"filter\"!==u&&\"metadata\"!==u&&\"minzoom\"!==u&&\"maxzoom\"!==u&&(0===u.indexOf(\"paint.\")?Yt(s[u],l[u],n,o,u.slice(6),Ut.setPaintProperty):t.deepEqual(s[u],l[u])||n.push({command:Ut.setLayerProperty,args:[o,u,l[u]]}));for(u in l)l.hasOwnProperty(u)&&!s.hasOwnProperty(u)&&\"layout\"!==u&&\"paint\"!==u&&\"filter\"!==u&&\"metadata\"!==u&&\"minzoom\"!==u&&\"maxzoom\"!==u&&(0===u.indexOf(\"paint.\")?Yt(s[u],l[u],n,o,u.slice(6),Ut.setPaintProperty):t.deepEqual(s[u],l[u])||n.push({command:Ut.setLayerProperty,args:[o,u,l[u]]}))}else n.push({command:Ut.removeLayer,args:[o]}),c=m[m.lastIndexOf(o)+1],n.push({command:Ut.addLayer,args:[l,c]})}(o,r.layers,n)}catch(t){console.warn(\"Unable to compute style diff:\",t),n=[{command:Ut.setStyle,args:[r]}]}return n}var Jt=function(t,e){this.reset(t,e)};Jt.prototype.reset=function(t,e){this.points=t||[],this._distances=[0];for(var r=1;r<this.points.length;r++)this._distances[r]=this._distances[r-1]+this.points[r].dist(this.points[r-1]);this.length=this._distances[this._distances.length-1],this.padding=Math.min(e||0,.5*this.length),this.paddedLength=this.length-2*this.padding},Jt.prototype.lerp=function(e){if(1===this.points.length)return this.points[0];e=t.clamp(e,0,1);for(var r=1,n=this._distances[r],i=e*this.paddedLength+this.padding;n<i&&r<this._distances.length;)n=this._distances[++r];var a=r-1,o=this._distances[a],s=n-o,l=s>0?(i-o)/s:0;return this.points[a].mult(1-l).add(this.points[r].mult(l))};var Kt=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<this.xCellCount*this.yCellCount;a++)n.push([]),i.push([]);this.circleKeys=[],this.boxKeys=[],this.bboxes=[],this.circles=[],this.width=t,this.height=e,this.xScale=this.xCellCount/t,this.yScale=this.yCellCount/e,this.boxUid=0,this.circleUid=0};function Qt(e,r,n,i,a){var o=t.create();return r?(t.scale(o,o,[1/a,1/a,1]),n||t.rotateZ(o,o,i.angle)):t.multiply(o,i.labelPlaneMatrix,e),o}function $t(e,r,n,i,a){if(r){var o=t.clone(e);return t.scale(o,o,[a,a,1]),n||t.rotateZ(o,o,-i.angle),o}return i.glCoordMatrix}function te(e,r){var n=[e.x,e.y,0,1];fe(n,n,r);var i=n[3];return{point:new t.Point(n[0]/i,n[1]/i),signedDistanceFromCamera:i}}function ee(t,e){return.5+t/e*.5}function re(t,e){var r=t[0]/t[3],n=t[1]/t[3];return r>=-e[0]&&r<=e[0]&&n>=-e[1]&&n<=e[1]}function ne(e,r,n,i,a,o,s,l){var c=i?e.textSizeData:e.iconSizeData,u=t.evaluateSizeForZoom(c,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,m=n.transform.width/n.transform.height,g=!1,v=0;v<d.length;v++){var y=d.get(v);if(y.hidden||y.writingMode===t.WritingMode.vertical&&!g)ue(y.numGlyphs,h);else{g=!1;var x=[y.anchorX,y.anchorY,0,1];if(t.transformMat4(x,x,r),re(x,f)){var b=x[3],_=ee(n.transform.cameraToCenterDistance,b),w=t.evaluateSizeForFeature(c,u,y),T=s?w/_:w*_,k=new t.Point(y.anchorX,y.anchorY),A=te(k,a).point,M={},S=oe(y,T,!1,l,r,a,o,e.glyphOffsetArray,p,h,A,k,M,m);g=S.useVertical,(S.notEnoughRoom||g||S.needsFlipping&&oe(y,T,!0,l,r,a,o,e.glyphOffsetArray,p,h,A,k,M,m).notEnoughRoom)&&ue(y.numGlyphs,h)}else ue(y.numGlyphs,h)}}i?e.text.dynamicLayoutVertexBuffer.updateData(h):e.icon.dynamicLayoutVertexBuffer.updateData(h)}function ie(t,e,r,n,i,a,o,s,l,c,u){var f=s.glyphStartIndex+s.numGlyphs,h=s.lineStartIndex,p=s.lineStartIndex+s.lineLength,d=e.getoffsetX(s.glyphStartIndex),m=e.getoffsetX(f-1),g=le(t*d,r,n,i,a,o,s.segment,h,p,l,c,u);if(!g)return null;var v=le(t*m,r,n,i,a,o,s.segment,h,p,l,c,u);return v?{first:g,last:v}:null}function ae(e,r,n,i){if(e===t.WritingMode.horizontal&&Math.abs(n.y-r.y)>Math.abs(n.x-r.x)*i)return{useVertical:!0};return(e===t.WritingMode.vertical?r.y<n.y:r.x>n.x)?{needsFlipping:!0}:null}function oe(e,r,n,i,a,o,s,l,c,u,f,h,p,d){var m,g=r/24,v=e.lineOffsetX*g,y=e.lineOffsetY*g;if(e.numGlyphs>1){var x=e.glyphStartIndex+e.numGlyphs,b=e.lineStartIndex,_=e.lineStartIndex+e.lineLength,w=ie(g,l,v,y,n,f,h,e,c,o,p);if(!w)return{notEnoughRoom:!0};var T=te(w.first.point,s).point,k=te(w.last.point,s).point;if(i&&!n){var A=ae(e.writingMode,T,k,d);if(A)return A}m=[w.first];for(var M=e.glyphStartIndex+1;M<x-1;M++)m.push(le(g*l.getoffsetX(M),v,y,n,f,h,e.segment,b,_,c,o,p));m.push(w.last)}else{if(i&&!n){var S=te(h,a).point,E=e.lineStartIndex+e.segment+1,L=new t.Point(c.getx(E),c.gety(E)),C=te(L,a),P=C.signedDistanceFromCamera>0?C.point:se(h,L,S,1,a),I=ae(e.writingMode,S,P,d);if(I)return I}var O=le(g*l.getoffsetX(e.glyphStartIndex),v,y,n,f,h,e.segment,e.lineStartIndex,e.lineStartIndex+e.lineLength,c,o,p);if(!O)return{notEnoughRoom:!0};m=[O]}for(var z=0,D=m;z<D.length;z+=1){var R=D[z];t.addDynamicAttributes(u,R.point,R.angle)}return{}}function se(t,e,r,n,i){var a=te(t.add(t.sub(e)._unit()),i).point,o=r.sub(a);return r.add(o._mult(n/o.mag()))}function le(e,r,n,i,a,o,s,l,c,u,f,h){var p=i?e-r:e+r,d=p>0?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,v=a,y=a,x=0,b=0,_=Math.abs(p),w=[];x+b<=_;){if((g+=d)<l||g>=c)return null;if(y=v,w.push(v),void 0===(v=h[g])){var T=new t.Point(u.getx(g),u.gety(g)),k=te(T,f);if(k.signedDistanceFromCamera>0)v=h[g]=k.point;else{var A=g-d;v=se(0===x?o:new t.Point(u.getx(A),u.gety(A)),T,y,_-x+1,f)}}x+=b,b=y.dist(v)}var M=(_-x)/b,S=v.sub(y),E=S.mult(M)._add(y);E._add(S._unit()._perp()._mult(n*d));var L=m+Math.atan2(v.y-y.y,v.x-y.x);return w.push(E),{point:E,angle:L,path:w}}Kt.prototype.keysLength=function(){return this.boxKeys.length+this.circleKeys.length},Kt.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)},Kt.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)},Kt.prototype._insertBoxCell=function(t,e,r,n,i,a){this.boxCells[i].push(a)},Kt.prototype._insertCircleCell=function(t,e,r,n,i,a){this.circleCells[i].push(a)},Kt.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;s<this.boxKeys.length;s++)o.push({key:this.boxKeys[s],x1:this.bboxes[4*s],y1:this.bboxes[4*s+1],x2:this.bboxes[4*s+2],y2:this.bboxes[4*s+3]});for(var l=0;l<this.circleKeys.length;l++){var c=this.circles[3*l],u=this.circles[3*l+1],f=this.circles[3*l+2];o.push({key:this.circleKeys[l],x1:c-f,y1:u-f,x2:c+f,y2:u+f})}return a?o.filter(a):o}var h={hitTest:i,seenUids:{box:{},circle:{}}};return this._forEachCell(t,e,r,n,this._queryCell,o,h,a),i?o.length>0:o},Kt.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},Kt.prototype.query=function(t,e,r,n,i){return this._query(t,e,r,n,!1,i)},Kt.prototype.hitTest=function(t,e,r,n,i){return this._query(t,e,r,n,!0,i)},Kt.prototype.hitTestCircle=function(t,e,r,n){return this._queryCircle(t,e,r,!0,n)},Kt.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,f=0,h=c;f<h.length;f+=1){var p=h[f];if(!l.box[p]){l.box[p]=!0;var d=4*p;if(t<=u[d+2]&&e<=u[d+3]&&r>=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,v=0,y=m;v<y.length;v+=1){var x=y[v];if(!l.circle[x]){l.circle[x]=!0;var b=3*x;if(this._circleAndRectCollide(g[b],g[b+1],g[b+2],t,e,r,n)&&(!s||s(this.circleKeys[x]))){if(o.hitTest)return a.push(!0),!0;var _=g[b],w=g[b+1],T=g[b+2];a.push({key:this.circleKeys[x],x1:_-T,y1:w-T,x2:_+T,y2:w+T})}}}},Kt.prototype._queryCellCircle=function(t,e,r,n,i,a,o,s){var l=o.circle,c=o.seenUids,u=this.boxCells[i];if(null!==u)for(var f=this.bboxes,h=0,p=u;h<p.length;h+=1){var d=p[h];if(!c.box[d]){c.box[d]=!0;var m=4*d;if(this._circleAndRectCollide(l.x,l.y,l.radius,f[m+0],f[m+1],f[m+2],f[m+3])&&(!s||s(this.boxKeys[d])))return a.push(!0),!0}}var g=this.circleCells[i];if(null!==g)for(var v=this.circles,y=0,x=g;y<x.length;y+=1){var b=x[y];if(!c.circle[b]){c.circle[b]=!0;var _=3*b;if(this._circlesCollide(v[_],v[_+1],v[_+2],l.x,l.y,l.radius)&&(!s||s(this.circleKeys[b])))return a.push(!0),!0}}},Kt.prototype._forEachCell=function(t,e,r,n,i,a,o,s){for(var l=this._convertToXCellCoord(t),c=this._convertToYCellCoord(e),u=this._convertToXCellCoord(r),f=this._convertToYCellCoord(n),h=l;h<=u;h++)for(var p=c;p<=f;p++){var d=this.xCellCount*p+h;if(i.call(this,t,e,r,n,d,a,o,s))return}},Kt.prototype._convertToXCellCoord=function(t){return Math.max(0,Math.min(this.xCellCount-1,Math.floor(t*this.xScale)))},Kt.prototype._convertToYCellCoord=function(t){return Math.max(0,Math.min(this.yCellCount-1,Math.floor(t*this.yScale)))},Kt.prototype._circlesCollide=function(t,e,r,n,i,a){var o=n-t,s=i-e,l=r+a;return l*l>o*o+s*s},Kt.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 f=l-s,h=u-c;return f*f+h*h<=r*r};var ce=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0]);function ue(t,e){for(var r=0;r<t;r++){var n=e.length;e.resize(n+4),e.float32.set(ce,3*n)}}function fe(t,e,r){var n=e[0],i=e[1];return 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],t}var he=function(t,e,r){void 0===e&&(e=new Kt(t.width+200,t.height+200,25)),void 0===r&&(r=new Kt(t.width+200,t.height+200,25)),this.transform=t,this.grid=e,this.ignoredGrid=r,this.pitchfactor=Math.cos(t._pitch)*t.cameraToCenterDistance,this.screenRightBoundary=t.width+100,this.screenBottomBoundary=t.height+100,this.gridRightBoundary=t.width+200,this.gridBottomBoundary=t.height+200};function pe(e,r,n){return r*(t.EXTENT/(e.tileSize*Math.pow(2,n-e.tileID.overscaledZ)))}he.prototype.placeCollisionBox=function(t,e,r,n,i){var a=this.projectAndGetPerspectiveRatio(n,t.anchorPointX,t.anchorPointY),o=r*a.perspectiveRatio,s=t.x1*o+a.point.x,l=t.y1*o+a.point.y,c=t.x2*o+a.point.x,u=t.y2*o+a.point.y;return!this.isInsideGrid(s,l,c,u)||!e&&this.grid.hitTest(s,l,c,u,i)?{box:[],offscreen:!1}:{box:[s,l,c,u],offscreen:this.isOffscreen(s,l,c,u)}},he.prototype.placeCollisionCircles=function(e,r,n,i,a,o,s,l,c,u,f,h,p){var d=[],m=new t.Point(r.anchorX,r.anchorY),g=te(m,o),v=ee(this.transform.cameraToCenterDistance,g.signedDistanceFromCamera),y=(u?a/v:a*v)/t.ONE_EM,x=te(m,s).point,b=ie(y,i,r.lineOffsetX*y,r.lineOffsetY*y,!1,x,m,r,n,s,{}),_=!1,w=!1,T=!0;if(b){for(var k=.5*h*v+p,A=new t.Point(-100,-100),M=new t.Point(this.screenRightBoundary,this.screenBottomBoundary),S=new Jt,E=b.first,L=b.last,C=[],P=E.path.length-1;P>=1;P--)C.push(E.path[P]);for(var I=1;I<L.path.length;I++)C.push(L.path[I]);var O=2.5*k;if(l){var z=C.map((function(t){return te(t,l)}));C=z.some((function(t){return t.signedDistanceFromCamera<=0}))?[]:z.map((function(t){return t.point}))}var D=[];if(C.length>0){for(var R=C[0].clone(),F=C[0].clone(),B=1;B<C.length;B++)R.x=Math.min(R.x,C[B].x),R.y=Math.min(R.y,C[B].y),F.x=Math.max(F.x,C[B].x),F.y=Math.max(F.y,C[B].y);D=R.x>=A.x&&F.x<=M.x&&R.y>=A.y&&F.y<=M.y?[C]:F.x<A.x||R.x>M.x||F.y<A.y||R.y>M.y?[]:t.clipLine([C],A.x,A.y,M.x,M.y)}for(var N=0,j=D;N<j.length;N+=1){var U=j[N];S.reset(U,.25*k);var V=0;V=S.length<=.5*k?1:Math.ceil(S.paddedLength/O)+1;for(var H=0;H<V;H++){var q=H/Math.max(V-1,1),G=S.lerp(q),Y=G.x+100,W=G.y+100;d.push(Y,W,k,0);var X=Y-k,Z=W-k,J=Y+k,K=W+k;if(T=T&&this.isOffscreen(X,Z,J,K),w=w||this.isInsideGrid(X,Z,J,K),!e&&this.grid.hitTestCircle(Y,W,k,f)&&(_=!0,!c))return{circles:[],offscreen:!1,collisionDetected:_}}}}return{circles:!c&&_||!w?[]:d,offscreen:T,collisionDetected:_}},he.prototype.queryRenderedSymbols=function(e){if(0===e.length||0===this.grid.keysLength()&&0===this.ignoredGrid.keysLength())return{};for(var r=[],n=1/0,i=1/0,a=-1/0,o=-1/0,s=0,l=e;s<l.length;s+=1){var c=l[s],u=new t.Point(c.x+100,c.y+100);n=Math.min(n,u.x),i=Math.min(i,u.y),a=Math.max(a,u.x),o=Math.max(o,u.y),r.push(u)}for(var f={},h={},p=0,d=this.grid.query(n,i,a,o).concat(this.ignoredGrid.query(n,i,a,o));p<d.length;p+=1){var m=d[p],g=m.key;if(void 0===f[g.bucketInstanceId]&&(f[g.bucketInstanceId]={}),!f[g.bucketInstanceId][g.featureIndex]){var v=[new t.Point(m.x1,m.y1),new t.Point(m.x2,m.y1),new t.Point(m.x2,m.y2),new t.Point(m.x1,m.y2)];t.polygonIntersectsPolygon(r,v)&&(f[g.bucketInstanceId][g.featureIndex]=!0,void 0===h[g.bucketInstanceId]&&(h[g.bucketInstanceId]=[]),h[g.bucketInstanceId].push(g.featureIndex))}}return h},he.prototype.insertCollisionBox=function(t,e,r,n,i){var a={bucketInstanceId:r,featureIndex:n,collisionGroupID:i};(e?this.ignoredGrid:this.grid).insert(a,t[0],t[1],t[2],t[3])},he.prototype.insertCollisionCircles=function(t,e,r,n,i){for(var a=e?this.ignoredGrid:this.grid,o={bucketInstanceId:r,featureIndex:n,collisionGroupID:i},s=0;s<t.length;s+=4)a.insertCircle(o,t[s],t[s+1],t[s+2])},he.prototype.projectAndGetPerspectiveRatio=function(e,r,n){var i=[r,n,0,1];return fe(i,i,e),{point:new t.Point((i[0]/i[3]+1)/2*this.transform.width+100,(-i[1]/i[3]+1)/2*this.transform.height+100),perspectiveRatio:.5+this.transform.cameraToCenterDistance/i[3]*.5}},he.prototype.isOffscreen=function(t,e,r,n){return r<100||t>=this.screenRightBoundary||n<100||e>this.screenBottomBoundary},he.prototype.isInsideGrid=function(t,e,r,n){return r>=0&&t<this.gridRightBoundary&&n>=0&&e<this.gridBottomBoundary},he.prototype.getViewportMatrix=function(){var e=t.identity([]);return t.translate(e,e,[-100,-100,0]),e};var de=function(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};de.prototype.isHidden=function(){return 0===this.opacity&&!this.placed};var me=function(t,e,r,n,i){this.text=new de(t?t.text:null,e,r,i),this.icon=new de(t?t.icon:null,e,n,i)};me.prototype.isHidden=function(){return this.text.isHidden()&&this.icon.isHidden()};var ge=function(t,e,r){this.text=t,this.icon=e,this.skipFade=r},ve=function(){this.invProjMatrix=t.create(),this.viewportMatrix=t.create(),this.circles=[]},ye=function(t,e,r,n,i){this.bucketInstanceId=t,this.featureIndex=e,this.sourceLayerIndex=r,this.bucketIndex=n,this.tileID=i},xe=function(t){this.crossSourceCollisions=t,this.maxGroupID=0,this.collisionGroups={}};function be(e,r,n,i,a){var o=t.getAnchorAlignment(e),s=-(o.horizontalAlign-.5)*r,l=-(o.verticalAlign-.5)*n,c=t.evaluateVariableOffset(e,i);return new t.Point(s+c[0]*a,l+c[1]*a)}function _e(e,r,n,i,a,o){var s=e.x1,l=e.x2,c=e.y1,u=e.y2,f=e.anchorPointX,h=e.anchorPointY,p=new t.Point(r,n);return i&&p._rotate(a?o:-o),{x1:s+p.x,y1:c+p.y,x2:l+p.x,y2:u+p.y,anchorPointX:f,anchorPointY:h}}xe.prototype.get=function(t){if(this.crossSourceCollisions)return{ID:0,predicate:null};if(!this.collisionGroups[t]){var e=++this.maxGroupID;this.collisionGroups[t]={ID:e,predicate:function(t){return t.collisionGroupID===e}}}return this.collisionGroups[t]};var we=function(t,e,r,n){this.transform=t.clone(),this.collisionIndex=new he(this.transform),this.placements={},this.opacities={},this.variableOffsets={},this.stale=!1,this.commitTime=0,this.fadeDuration=e,this.retainedQueryData={},this.collisionGroups=new xe(r),this.collisionCircleArrays={},this.prevPlacement=n,n&&(n.prevPlacement=void 0),this.placedOrientations={}};function Te(t,e,r,n,i){t.emplaceBack(e?1:0,r?1:0,n||0,i||0),t.emplaceBack(e?1:0,r?1:0,n||0,i||0),t.emplaceBack(e?1:0,r?1:0,n||0,i||0),t.emplaceBack(e?1:0,r?1:0,n||0,i||0)}we.prototype.getBucketParts=function(e,r,n,i){var a=n.getBucket(r),o=n.latestFeatureIndex;if(a&&o&&r.id===a.layerIds[0]){var s=n.collisionBoxArray,l=a.layers[0].layout,c=Math.pow(2,this.transform.zoom-n.tileID.overscaledZ),u=n.tileSize/t.EXTENT,f=this.transform.calculatePosMatrix(n.tileID.toUnwrapped()),h=\"map\"===l.get(\"text-pitch-alignment\"),p=\"map\"===l.get(\"text-rotation-alignment\"),d=pe(n,1,this.transform.zoom),m=Qt(f,h,p,this.transform,d),g=null;if(h){var v=$t(f,h,p,this.transform,d);g=t.multiply([],this.transform.labelPlaneMatrix,v)}this.retainedQueryData[a.bucketInstanceId]=new ye(a.bucketInstanceId,o,a.sourceLayerIndex,a.index,n.tileID);var y={bucket:a,layout:l,posMatrix:f,textLabelPlaneMatrix:m,labelToScreenMatrix:g,scale:c,textPixelRatio:u,holdingForFade:n.holdingForFade(),collisionBoxArray:s,partiallyEvaluatedTextSize:t.evaluateSizeForZoom(a.textSizeData,this.transform.zoom),collisionGroup:this.collisionGroups.get(a.sourceID)};if(i)for(var x=0,b=a.sortKeyRanges;x<b.length;x+=1){var _=b[x],w=_.sortKey,T=_.symbolInstanceStart,k=_.symbolInstanceEnd;e.push({sortKey:w,symbolInstanceStart:T,symbolInstanceEnd:k,parameters:y})}else e.push({symbolInstanceStart:0,symbolInstanceEnd:a.symbolInstances.length,parameters:y})}},we.prototype.attemptAnchorPlacement=function(t,e,r,n,i,a,o,s,l,c,u,f,h,p,d){var m,g=[f.textOffset0,f.textOffset1],v=be(t,r,n,g,i),y=this.collisionIndex.placeCollisionBox(_e(e,v.x,v.y,a,o,this.transform.angle),u,s,l,c.predicate);if(d&&0===this.collisionIndex.placeCollisionBox(_e(d,v.x,v.y,a,o,this.transform.angle),u,s,l,c.predicate).box.length)return;if(y.box.length>0)return this.prevPlacement&&this.prevPlacement.variableOffsets[f.crossTileID]&&this.prevPlacement.placements[f.crossTileID]&&this.prevPlacement.placements[f.crossTileID].text&&(m=this.prevPlacement.variableOffsets[f.crossTileID].anchor),this.variableOffsets[f.crossTileID]={textOffset:g,width:r,height:n,anchor:t,textBoxScale:i,prevAnchor:m},this.markUsedJustification(h,t,f,p),h.allowVerticalPlacement&&(this.markUsedOrientation(h,p,f),this.placedOrientations[f.crossTileID]=p),{shift:v,placedGlyphBoxes:y}},we.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,f=a.textPixelRatio,h=a.holdingForFade,p=a.collisionBoxArray,d=a.partiallyEvaluatedTextSize,m=a.collisionGroup,g=s.get(\"text-optional\"),v=s.get(\"icon-optional\"),y=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=y&&(x||!o.hasIconData()||v),A=x&&(y||!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 ge(!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,I=null,O=0,z=0,D=0;a.textFeatureIndex?O=a.textFeatureIndex:e.useRuntimeCollisionCircles&&(O=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;i<s.length;i+=1){if(s[i]===t.WritingMode.vertical?(L=n(),C=L):L=r(),L&&L.box&&L.box.length)break}else L=r()};if(s.get(\"text-variable-anchor\")){var N=s.get(\"text-variable-anchor\");if(i.prevPlacement&&i.prevPlacement.variableOffsets[e.crossTileID]){var j=i.prevPlacement.variableOffsets[e.crossTileID];N.indexOf(j.anchor)>0&&(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,h={box:[],offscreen:!1},p=y?2*N.length:N.length,d=0;d<p;++d){var g=N[d%N.length],v=d>=N.length,k=i.attemptAnchorPlacement(g,t,a,s,c,b,_,f,l,m,v,e,o,n,u);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 H=i.prevPlacement.variableOffsets[e.crossTileID];H&&(i.variableOffsets[e.crossTileID]=H,i.markUsedJustification(o,H.anchor,e,V))}}else{var q=function(t,r){var n=i.collisionIndex.placeCollisionBox(t,y,f,l,m.predicate);return n&&n.box&&n.box.length&&(i.markUsedOrientation(o,r,e),i.placedOrientations[e.crossTileID]=r),n};B((function(){return q(R,t.WritingMode.horizontal)}),(function(){var r=a.verticalTextBox;return o.allowVerticalPlacement&&e.numVerticalGlyphVertices>0&&r?q(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),Y=t.evaluateSizeForFeature(o.textSizeData,d,G),W=s.get(\"text-padding\"),X=e.collisionCircleDiameter;P=i.collisionIndex.placeCollisionCircles(y,G,o.lineVertexArray,o.glyphOffsetArray,Y,l,c,u,n,_,m.predicate,X,W),T=y||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?_e(t,E.x,E.y,b,_,i.transform.angle):t;return i.collisionIndex.placeCollisionBox(e,x,f,l,m.predicate)};M=C&&C.box&&C.box.length&&a.verticalIconBox?(I=Z(a.verticalIconBox)).box.length>0:(I=Z(a.iconBox)).box.length>0,S=S&&I.offscreen}var J=g||0===e.numHorizontalGlyphVertices&&0===e.numVerticalGlyphVertices,K=v||0===e.numIconVertices;if(J||K?K?J||(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,m.ID):i.collisionIndex.insertCollisionBox(p.box,s.get(\"text-ignore-placement\"),o.bucketInstanceId,O,m.ID)),M&&I&&i.collisionIndex.insertCollisionBox(I.box,s.get(\"icon-ignore-placement\"),o.bucketInstanceId,D,m.ID),P&&(T&&i.collisionIndex.insertCollisionCircles(P.circles,s.get(\"text-ignore-placement\"),o.bucketInstanceId,O,m.ID),n)){var Q=o.bucketInstanceId,$=i.collisionCircleArrays[Q];void 0===$&&($=i.collisionCircleArrays[Q]=new ve);for(var tt=0;tt<P.circles.length;tt+=4)$.circles.push(P.circles[tt+0]),$.circles.push(P.circles[tt+1]),$.circles.push(P.circles[tt+2]),$.circles.push(P.collisionDetected?1:0)}i.placements[e.crossTileID]=new ge(T||k,M||A,S||o.justReloaded),r[e.crossTileID]=!0}};if(T)for(var S=o.getSortedSymbolIndexes(this.transform.angle),E=S.length-1;E>=0;--E){var L=S[E];M(o.symbolInstances.get(L),o.collisionArrays[L])}else for(var C=e.symbolInstanceStart;C<e.symbolInstanceEnd;C++)M(o.symbolInstances.get(C),o.collisionArrays[C]);if(n&&o.bucketInstanceId in this.collisionCircleArrays){var P=this.collisionCircleArrays[o.bucketInstanceId];t.invert(P.invProjMatrix,l),P.viewportMatrix=this.collisionIndex.getViewportMatrix()}o.justReloaded=!1},we.prototype.markUsedJustification=function(e,r,n,i){var a,o={left:n.leftJustifiedTextSymbolIndex,center:n.centerJustifiedTextSymbolIndex,right:n.rightJustifiedTextSymbolIndex};a=i===t.WritingMode.vertical?n.verticalPlacedTextSymbolIndex:o[t.getAnchorJustification(r)];for(var s=0,l=[n.leftJustifiedTextSymbolIndex,n.centerJustifiedTextSymbolIndex,n.rightJustifiedTextSymbolIndex,n.verticalPlacedTextSymbolIndex];s<l.length;s+=1){var c=l[s];c>=0&&(e.text.placedSymbolArray.get(c).crossTileID=a>=0&&c!==a?0:n.crossTileID)}},we.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];o<s.length;o+=1){var l=s[o];e.text.placedSymbolArray.get(l).placedOrientation=i}n.verticalPlacedTextSymbolIndex&&(e.text.placedSymbolArray.get(n.verticalPlacedTextSymbolIndex).placedOrientation=a)},we.prototype.commit=function(t){this.commitTime=t,this.zoomAtLastRecencyCheck=this.transform.zoom;var e=this.prevPlacement,r=!1;this.prevZoomAdjustment=e?e.zoomAdjustment(this.transform.zoom):0;var n=e?e.symbolFadeChange(t):1,i=e?e.opacities:{},a=e?e.variableOffsets:{},o=e?e.placedOrientations:{};for(var s in this.placements){var l=this.placements[s],c=i[s];c?(this.opacities[s]=new me(c,n,l.text,l.icon),r=r||l.text!==c.text.placed||l.icon!==c.icon.placed):(this.opacities[s]=new me(null,n,l.text,l.icon,l.skipFade),r=r||l.text||l.icon)}for(var u in i){var f=i[u];if(!this.opacities[u]){var h=new me(f,n,!1,!1);h.isHidden()||(this.opacities[u]=h,r=r||f.text.placed||f.icon.placed)}}for(var p in a)this.variableOffsets[p]||!this.opacities[p]||this.opacities[p].isHidden()||(this.variableOffsets[p]=a[p]);for(var d in o)this.placedOrientations[d]||!this.opacities[d]||this.opacities[d].isHidden()||(this.placedOrientations[d]=o[d]);r?this.lastPlacementChangeTime=t:\"number\"!=typeof this.lastPlacementChangeTime&&(this.lastPlacementChangeTime=e?e.lastPlacementChangeTime:t)},we.prototype.updateLayerOpacities=function(t,e){for(var r={},n=0,i=e;n<i.length;n+=1){var a=i[n],o=a.getBucket(t);o&&a.latestFeatureIndex&&t.id===o.layerIds[0]&&this.updateBucketOpacities(o,r,a.collisionBoxArray)}},we.prototype.updateBucketOpacities=function(e,r,n){var i=this;e.hasTextData()&&e.text.opacityVertexArray.clear(),e.hasIconData()&&e.icon.opacityVertexArray.clear(),e.hasIconCollisionBoxData()&&e.iconCollisionBox.collisionVertexArray.clear(),e.hasTextCollisionBoxData()&&e.textCollisionBox.collisionVertexArray.clear();var a=e.layers[0].layout,o=new me(null,0,!1,!1,!0),s=a.get(\"text-allow-overlap\"),l=a.get(\"icon-allow-overlap\"),c=a.get(\"text-variable-anchor\"),u=\"map\"===a.get(\"text-rotation-alignment\"),f=\"map\"===a.get(\"text-pitch-alignment\"),h=\"none\"!==a.get(\"icon-text-fit\"),p=new me(null,0,s&&(l||!e.hasIconData()||a.get(\"icon-optional\")),l&&(s||!e.hasTextData()||a.get(\"text-optional\")),!0);!e.collisionArrays&&n&&(e.hasIconCollisionBoxData()||e.hasTextCollisionBoxData())&&e.deserializeCollisionBoxes(n);for(var d=function(t,e,r){for(var n=0;n<e/4;n++)t.opacityVertexArray.emplaceBack(r)},m=function(n){var a=e.symbolInstances.get(n),s=a.numHorizontalGlyphVertices,l=a.numVerticalGlyphVertices,m=a.crossTileID,g=r[m],v=i.opacities[m];g?v=o:v||(v=p,i.opacities[m]=v),r[m]=!0;var y=s>0||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(y){var T=Pe(v.text),k=_?Ie:T;d(e.text,s,k);var A=w?Ie:T;d(e.text,l,A);var M=v.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=Pe(v.icon),C=!(h&&a.verticalPlacedIconSymbolIndex&&_);if(a.placedIconSymbolIndex>=0){var P=C?L:Ie;d(e.icon,a.numIconVertices,P),e.icon.placedSymbolArray.get(a.placedIconSymbolIndex).hidden=v.icon.isHidden()}if(a.verticalPlacedIconSymbolIndex>=0){var I=C?Ie:L;d(e.icon,a.numVerticalIconVertices,I),e.icon.placedSymbolArray.get(a.verticalPlacedIconSymbolIndex).hidden=v.icon.isHidden()}}if(e.hasIconCollisionBoxData()||e.hasTextCollisionBoxData()){var O=e.collisionArrays[n];if(O){var z=new t.Point(0,0);if(O.textBox||O.verticalTextBox){var D=!0;if(c){var R=i.variableOffsets[m];R?(z=be(R.anchor,R.width,R.height,R.textOffset,R.textBoxScale),u&&z._rotate(f?i.transform.angle:-i.transform.angle)):D=!1}O.textBox&&Te(e.textCollisionBox.collisionVertexArray,v.text.placed,!D||_,z.x,z.y),O.verticalTextBox&&Te(e.textCollisionBox.collisionVertexArray,v.text.placed,!D||w,z.x,z.y)}var F=Boolean(!w&&O.verticalIconBox);O.iconBox&&Te(e.iconCollisionBox.collisionVertexArray,v.icon.placed,F,h?z.x:0,h?z.y:0),O.verticalIconBox&&Te(e.iconCollisionBox.collisionVertexArray,v.icon.placed,!F,h?z.x:0,h?z.y:0)}}},g=0;g<e.symbolInstances.length;g++)m(g);if(e.sortFeatures(this.transform.angle),this.retainedQueryData[e.bucketInstanceId]&&(this.retainedQueryData[e.bucketInstanceId].featureSortOrder=e.featureSortOrder),e.hasTextData()&&e.text.opacityVertexBuffer&&e.text.opacityVertexBuffer.updateData(e.text.opacityVertexArray),e.hasIconData()&&e.icon.opacityVertexBuffer&&e.icon.opacityVertexBuffer.updateData(e.icon.opacityVertexArray),e.hasIconCollisionBoxData()&&e.iconCollisionBox.collisionVertexBuffer&&e.iconCollisionBox.collisionVertexBuffer.updateData(e.iconCollisionBox.collisionVertexArray),e.hasTextCollisionBoxData()&&e.textCollisionBox.collisionVertexBuffer&&e.textCollisionBox.collisionVertexBuffer.updateData(e.textCollisionBox.collisionVertexArray),e.bucketInstanceId in this.collisionCircleArrays){var v=this.collisionCircleArrays[e.bucketInstanceId];e.placementInvProjMatrix=v.invProjMatrix,e.placementViewportMatrix=v.viewportMatrix,e.collisionCircleArray=v.circles,delete this.collisionCircleArrays[e.bucketInstanceId]}},we.prototype.symbolFadeChange=function(t){return 0===this.fadeDuration?1:(t-this.commitTime)/this.fadeDuration+this.prevZoomAdjustment},we.prototype.zoomAdjustment=function(t){return Math.max(0,(this.transform.zoom-t)/1.5)},we.prototype.hasTransitions=function(t){return this.stale||t-this.lastPlacementChangeTime<this.fadeDuration},we.prototype.stillRecent=function(t,e){var r=this.zoomAtLastRecencyCheck===e?1-this.zoomAdjustment(e):1;return this.zoomAtLastRecencyCheck=e,this.commitTime+this.fadeDuration*r>t},we.prototype.setStale=function(){this.stale=!0};var ke=Math.pow(2,25),Ae=Math.pow(2,24),Me=Math.pow(2,17),Se=Math.pow(2,16),Ee=Math.pow(2,9),Le=Math.pow(2,8),Ce=Math.pow(2,1);function Pe(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*ke+e*Ae+r*Me+e*Se+r*Ee+e*Le+r*Ce+e}var Ie=0,Oe=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=[]};Oe.prototype.continuePlacement=function(t,e,r,n,i){for(var a=this._bucketParts;this._currentTileIndex<t.length;){var o=t[this._currentTileIndex];if(e.getBucketParts(a,n,o,this._sortAcrossTiles),this._currentTileIndex++,i())return!0}for(this._sortAcrossTiles&&(this._sortAcrossTiles=!1,a.sort((function(t,e){return t.sortKey-e.sortKey})));this._currentPartIndex<a.length;){var s=a[this._currentPartIndex];if(e.placeLayerBucketPart(s,this._seenCrossTileIDs,r),this._currentPartIndex++,i())return!0}return!1};var ze=function(t,e,r,n,i,a,o){this.placement=new we(t,i,a,o),this._currentPlacementIndex=e.length-1,this._forceFullPlacement=r,this._showCollisionBoxes=n,this._done=!1};ze.prototype.isDone=function(){return this._done},ze.prototype.continuePlacement=function(e,r,n){for(var i=this,a=t.browser.now(),o=function(){var e=t.browser.now()-a;return!i._forceFullPlacement&&e>2};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 Oe(s)),this._inProgressLayer.continuePlacement(n[s.source],this.placement,this._showCollisionBoxes,s,o))return;delete this._inProgressLayer}this._currentPlacementIndex--}this._done=!0},ze.prototype.commit=function(t){return this.placement.commit(t),this.placement};var De=512/t.EXTENT/2,Re=function(t,e,r){this.tileID=t,this.indexedSymbolInstances={},this.bucketInstanceId=r;for(var n=0;n<e.length;n++){var i=e.get(n),a=i.key;this.indexedSymbolInstances[a]||(this.indexedSymbolInstances[a]=[]),this.indexedSymbolInstances[a].push({crossTileID:i.crossTileID,coord:this.getScaledCoordinates(i,t)})}};Re.prototype.getScaledCoordinates=function(e,r){var n=r.canonical.z-this.tileID.canonical.z,i=De/Math.pow(2,n);return{x:Math.floor((r.canonical.x*t.EXTENT+e.anchorX)*i),y:Math.floor((r.canonical.y*t.EXTENT+e.anchorY)*i)}},Re.prototype.findMatches=function(t,e,r){for(var n=this.tileID.canonical.z<e.canonical.z?1:Math.pow(2,this.tileID.canonical.z-e.canonical.z),i=0;i<t.length;i++){var a=t.get(i);if(!a.crossTileID){var o=this.indexedSymbolInstances[a.key];if(o)for(var s=this.getScaledCoordinates(a,e),l=0,c=o;l<c.length;l+=1){var u=c[l];if(Math.abs(u.coord.x-s.x)<=n&&Math.abs(u.coord.y-s.y)<=n&&!r[u.crossTileID]){r[u.crossTileID]=!0,a.crossTileID=u.crossTileID;break}}}}};var Fe=function(){this.maxCrossTileID=0};Fe.prototype.generate=function(){return++this.maxCrossTileID};var Be=function(){this.indexes={},this.usedCrossTileIDs={},this.lng=0};Be.prototype.handleWrapJump=function(t){var e=Math.round((t-this.lng)/360);if(0!==e)for(var r in this.indexes){var n=this.indexes[r],i={};for(var a in n){var o=n[a];o.tileID=o.tileID.unwrapTo(o.tileID.wrap+e),i[o.tileID.key]=o}this.indexes[r]=i}this.lng=t},Be.prototype.addBucket=function(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(var n=0;n<e.symbolInstances.length;n++){e.symbolInstances.get(n).crossTileID=0}this.usedCrossTileIDs[t.overscaledZ]||(this.usedCrossTileIDs[t.overscaledZ]={});var i=this.usedCrossTileIDs[t.overscaledZ];for(var a in this.indexes){var o=this.indexes[a];if(Number(a)>t.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;u<e.symbolInstances.length;u++){var f=e.symbolInstances.get(u);f.crossTileID||(f.crossTileID=r.generate(),i[f.crossTileID]=!0)}return void 0===this.indexes[t.overscaledZ]&&(this.indexes[t.overscaledZ]={}),this.indexes[t.overscaledZ][t.key]=new Re(t,e.symbolInstances,e.bucketInstanceId),!0},Be.prototype.removeBucketCrossTileIDs=function(t,e){for(var r in e.indexedSymbolInstances)for(var n=0,i=e.indexedSymbolInstances[r];n<i.length;n+=1){var a=i[n];delete this.usedCrossTileIDs[t][a.crossTileID]}},Be.prototype.removeStaleBuckets=function(t){var e=!1;for(var r in this.indexes){var n=this.indexes[r];for(var i in n)t[n[i].bucketInstanceId]||(this.removeBucketCrossTileIDs(r,n[i]),delete n[i],e=!0)}return e};var Ne=function(){this.layerIndexes={},this.crossTileIDs=new Fe,this.maxBucketInstanceId=0,this.bucketsInCurrentPlacement={}};Ne.prototype.addLayer=function(t,e,r){var n=this.layerIndexes[t.id];void 0===n&&(n=this.layerIndexes[t.id]=new Be);var i=!1,a={};n.handleWrapJump(r);for(var o=0,s=e;o<s.length;o+=1){var l=s[o],c=l.getBucket(t);c&&t.id===c.layerIds[0]&&(c.bucketInstanceId||(c.bucketInstanceId=++this.maxBucketInstanceId),n.addBucket(l.tileID,c,this.crossTileIDs)&&(i=!0),a[c.bucketInstanceId]=!0)}return n.removeStaleBuckets(a)&&(i=!0),i},Ne.prototype.pruneUnusedLayers=function(t){var e={};for(var r in t.forEach((function(t){e[t]=!0})),this.layerIndexes)e[r]||delete this.layerIndexes[r]};var je=function(e,r){return t.emitValidationErrors(e,r&&r.filter((function(t){return\"source.canvas\"!==t.identifier})))},Ue=t.pick(Ut,[\"addLayer\",\"removeLayer\",\"setPaintProperty\",\"setLayoutProperty\",\"setFilter\",\"addSource\",\"removeSource\",\"setLayerZoomRange\",\"setLight\",\"setTransition\",\"setGeoJSONSourceData\"]),Ve=t.pick(Ut,[\"setCenter\",\"setZoom\",\"setBearing\",\"setPitch\"]),He=function(){var e={},r=t.styleSpec.$version;for(var n in t.styleSpec.$root){var i=t.styleSpec.$root[n];if(i.required){var a=null;null!=(a=\"version\"===n?r:\"array\"===i.type?[]:{})&&(e[n]=a)}}return e}(),qe=function(e){function r(n,i){var a=this;void 0===i&&(i={}),e.call(this),this.map=n,this.dispatcher=new k(Bt(),this),this.imageManager=new h,this.imageManager.setEventedParent(this),this.glyphManager=new x(n._requestManager,i.localIdeographFontFamily),this.lineAtlas=new T(256,512),this.crossTileSymbolIndex=new Ne,this._layers={},this._serializedLayers={},this._order=[],this.sourceCaches={},this.zoomHistory=new t.ZoomHistory,this._loaded=!1,this._availableImages=[],this._resetUpdates(),this.dispatcher.broadcast(\"setReferrer\",t.getReferrer());var o=this;this._rtlTextPluginCallback=r.registerForPluginStateChange((function(e){var r={pluginStatus:e.pluginStatus,pluginURL:e.pluginURL};o.dispatcher.broadcast(\"syncRTLPluginState\",r,(function(e,r){if((t.triggerPluginCompletionEvent(e),r)&&r.every((function(t){return t})))for(var n in o.sourceCaches)o.sourceCaches[n].reload()}))})),this.on(\"data\",(function(t){if(\"source\"===t.dataType&&\"metadata\"===t.sourceDataType){var e=a.sourceCaches[t.sourceId];if(e){var r=e.getSource();if(r&&r.vectorLayerIds)for(var n in a._layers){var i=a._layers[n];i.source===r.id&&a._validateLayer(i)}}}}))}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.loadURL=function(e,r){var n=this;void 0===r&&(r={}),this.fire(new t.Event(\"dataloading\",{dataType:\"style\"}));var i=\"boolean\"==typeof r.validate?r.validate:!t.isMapboxURL(e);e=this.map._requestManager.normalizeStyleURL(e,r.accessToken);var a=this.map._requestManager.transformRequest(e,t.ResourceType.Style);this._request=t.getJSON(a,(function(e,r){n._request=null,e?n.fire(new t.ErrorEvent(e)):r&&n._load(r,i)}))},r.prototype.loadJSON=function(e,r){var n=this;void 0===r&&(r={}),this.fire(new t.Event(\"dataloading\",{dataType:\"style\"})),this._request=t.browser.frame((function(){n._request=null,n._load(e,!1!==r.validate)}))},r.prototype.loadEmpty=function(){this.fire(new t.Event(\"dataloading\",{dataType:\"style\"})),this._load(He,!1)},r.prototype._load=function(e,r){if(!r||!je(this,t.validateStyle(e))){for(var n in this._loaded=!0,this.stylesheet=e,e.sources)this.addSource(n,e.sources[n],{validate:!1});e.sprite?this._loadSprite(e.sprite):this.imageManager.setLoaded(!0),this.glyphManager.setURL(e.glyphs);var i=jt(this.stylesheet.layers);this._order=i.map((function(t){return t.id})),this._layers={},this._serializedLayers={};for(var a=0,o=i;a<o.length;a+=1){var s=o[a];(s=t.createStyleLayer(s)).setEventedParent(this,{layer:{id:s.id}}),this._layers[s.id]=s,this._serializedLayers[s.id]=s.serialize()}this.dispatcher.broadcast(\"setLayers\",this._serializeLayers(this._order)),this.light=new w(this.stylesheet.light),this.fire(new t.Event(\"data\",{dataType:\"style\"})),this.fire(new t.Event(\"style.load\"))}},r.prototype._loadSprite=function(e){var r=this;this._spriteRequest=function(e,r,n){var i,a,o,s=t.browser.devicePixelRatio>1?\"@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,f=l.x,h=l.y,p=l.sdf,d=l.pixelRatio,m=l.stretchX,g=l.stretchY,v=l.content,y=new t.RGBAImage({width:c,height:u});t.RGBAImage.copy(e,y,{x:f,y:h},{x:0,y:0},{width:c,height:u}),r[s]={data:y,pixelRatio:d,sdf:p,stretchX:m,stretchY:g,content:v}}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;r<n.length;r+=1){var i=n[r],a=this._layers[i];\"custom\"!==a.type&&e.push(a.serialize())}return e},r.prototype.hasTransitions=function(){if(this.light&&this.light.hasTransition())return!0;for(var t in this.sourceCaches)if(this.sourceCaches[t].hasTransition())return!0;for(var e in this._layers)if(this._layers[e].hasTransition())return!0;return!1},r.prototype._checkLoaded=function(){if(!this._loaded)throw new Error(\"Style is not done loading\")},r.prototype.update=function(e){if(this._loaded){var r=this._changed;if(this._changed){var n=Object.keys(this._updatedLayers),i=Object.keys(this._removedLayers);for(var a in(n.length||i.length)&&this._updateWorkerLayers(n,i),this._updatedSources){var o=this._updatedSources[a];\"reload\"===o?this._reloadSource(a):\"clear\"===o&&this._clearSource(a)}for(var s in this._updateTilesForChangedImages(),this._updatedPaintProps)this._layers[s].updateTransitions(e);this.light.updateTransitions(e),this._resetUpdates()}for(var l in this.sourceCaches)this.sourceCaches[l].used=!1;for(var c=0,u=this._order;c<u.length;c+=1){var f=u[c],h=this._layers[f];h.recalculate(e,this._availableImages),!h.isHidden(e.zoom)&&h.source&&(this.sourceCaches[h.source].used=!0)}this.light.recalculate(e),this.z=e.zoom,r&&this.fire(new t.Event(\"data\",{dataType:\"style\"}))}},r.prototype._updateTilesForChangedImages=function(){var t=Object.keys(this._changedImages);if(t.length){for(var e in this.sourceCaches)this.sourceCaches[e].reloadTilesForDependencies([\"icons\",\"patterns\"],t);this._changedImages={}}},r.prototype._updateWorkerLayers=function(t,e){this.dispatcher.broadcast(\"updateLayers\",{layers:this._serializeLayers(t),removedIds:e})},r.prototype._resetUpdates=function(){this._changed=!1,this._updatedLayers={},this._removedLayers={},this._updatedSources={},this._updatedPaintProps={},this._changedImages={}},r.prototype.setState=function(e){var r=this;if(this._checkLoaded(),je(this,t.validateStyle(e)))return!1;(e=t.clone$1(e)).layers=jt(e.layers);var n=Zt(this.serialize(),e).filter((function(t){return!(t.command in Ve)}));if(0===n.length)return!1;var i=n.filter((function(t){return!(t.command in Ue)}));if(i.length>0)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._availableImages=this.imageManager.listImages(),this._changedImages[e]=!0,this._changed=!0,this.fire(new t.Event(\"data\",{dataType:\"style\"}))},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._availableImages=this.imageManager.listImages(),this._changedImages[e]=!0,this._changed=!0,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 the 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 Ct(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(je(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 requred 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<l.length;s+=1){var c=l[s][o];if(c)for(var u=0,f=c;u<f.length;u+=1){var h=f[u];i.push(h)}}}}i.sort((function(t,e){return e.intersectionZ-t.intersectionZ}));for(var p=[],d=this._order.length-1;d>=0;d--){var m=this._order[d];if(r(m))for(var g=i.length-1;g>=0;g--){var v=i[g].feature;if(n[v.layer.id]<d)break;p.push(v),i.pop()}else for(var y=0,x=t;y<x.length;y+=1){var b=x[y][m];if(b)for(var _=0,w=b;_<w.length;_+=1){var T=w[_];p.push(T.feature)}}}return p},r.prototype.queryRenderedFeatures=function(e,r,n){r&&r.filter&&this._validate(t.validateStyle.filter,\"queryRenderedFeatures.filter\",r.filter,null,r);var i={};if(r&&r.layers){if(!Array.isArray(r.layers))return this.fire(new t.ErrorEvent(new Error(\"parameters.layers must be an Array.\"))),[];for(var a=0,o=r.layers;a<o.length;a+=1){var s=o[a],l=this._layers[s];if(!l)return this.fire(new t.ErrorEvent(new Error(\"The layer '\"+s+\"' does not exist in the map's style and cannot be queried for features.\"))),[];i[l.source]=!0}}var c=[];for(var u in r.availableImages=this._availableImages,this.sourceCaches)r.layers&&!i[u]||c.push(F(this.sourceCaches[u],this._layers,this._serializedLayers,e,r,n));return this.placement&&c.push(function(t,e,r,n,i,a,o){for(var s={},l=a.queryRenderedSymbols(n),c=[],u=0,f=Object.keys(l).map(Number);u<f.length;u+=1){var h=f[u];c.push(o[h])}c.sort(B);for(var p=function(){var r=m[d],n=r.featureIndex.lookupSymbolFeatures(l[r.bucketInstanceId],e,r.bucketIndex,r.sourceLayerIndex,i.filter,i.layers,i.availableImages,t);for(var a in n){var o=s[a]=s[a]||[],c=n[a];c.sort((function(t,e){var n=r.featureSortOrder;if(n){var i=n.indexOf(t.featureIndex);return n.indexOf(e.featureIndex)-i}return e.featureIndex-t.featureIndex}));for(var u=0,f=c;u<f.length;u+=1){var h=f[u];o.push(h)}}},d=0,m=c;d<m.length;d+=1)p();var g=function(e){s[e].forEach((function(n){var 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}))};for(var v in s)g(v);return s}(this._layers,this._serializedLayers,this.sourceCaches,e,r,this.placement.collisionIndex,this.placement.retainedQueryData)),this._flattenAndSortRenderedFeatures(c)},r.prototype.querySourceFeatures=function(e,r){r&&r.filter&&this._validate(t.validateStyle.filter,\"querySourceFeatures.filter\",r.filter,null,r);var n=this.sourceCaches[e];return n?function(t,e){for(var r=t.getRenderableIds().map((function(e){return t.getTileByID(e)})),n=[],i={},a=0;a<r.length;a++){var o=r[a],s=o.tileID.canonical.key;i[s]||(i[s]=!0,o.querySourceFeatures(n,e))}return n}(n,r):[]},r.prototype.addSourceType=function(t,e,n){return r.getSourceType(t)?n(new Error('A source type called \"'+t+'\" already exists.')):(r.setSourceType(t,e),e.workerSourceURL?void this.dispatcher.broadcast(\"loadWorkerSource\",{name:t,url:e.workerSourceURL},n):n(null,null))},r.prototype.getLight=function(){return this.light.getLight()},r.prototype.setLight=function(e,r){void 0===r&&(r={}),this._checkLoaded();var n=this.light.getLight(),i=!1;for(var a in e)if(!t.deepEqual(e[a],n[a])){i=!0;break}if(i){var o={now:t.browser.now(),transition:t.extend({duration:300,delay:0},this.stylesheet.transition)};this.light.setLight(e,r),this.light.updateTransitions(o)}},r.prototype._validate=function(e,r,n,i,a){return void 0===a&&(a={}),(!a||!1!==a.validate)&&je(this,e.call(t.validateStyle,t.extend({key:r,style:this.serialize(),value:n,styleSpec:t.styleSpec},i)))},r.prototype._remove=function(){for(var e in this._request&&(this._request.cancel(),this._request=null),this._spriteRequest&&(this._spriteRequest.cancel(),this._spriteRequest=null),t.evented.off(\"pluginStateChange\",this._rtlTextPluginCallback),this._layers){this._layers[e].setEventedParent(null)}for(var r in this.sourceCaches)this.sourceCaches[r].clearTiles(),this.sourceCaches[r].setEventedParent(null);this.imageManager.setEventedParent(null),this.setEventedParent(null),this.dispatcher.remove()},r.prototype._clearSource=function(t){this.sourceCaches[t].clearTiles()},r.prototype._reloadSource=function(t){this.sourceCaches[t].resume(),this.sourceCaches[t].reload()},r.prototype._updateSources=function(t){for(var e in this.sourceCaches)this.sourceCaches[e].update(t)},r.prototype._generateCollisionBoxes=function(){for(var t in this.sourceCaches)this._reloadSource(t)},r.prototype._updatePlacement=function(e,r,n,i,a){void 0===a&&(a=!1);for(var o=!1,s=!1,l={},c=0,u=this._order;c<u.length;c+=1){var f=u[c],h=this._layers[f];if(\"symbol\"===h.type){if(!l[h.source]){var p=this.sourceCaches[h.source];l[h.source]=p.getRenderableIds(!0).map((function(t){return p.getTileByID(t)})).sort((function(t,e){return e.tileID.overscaledZ-t.tileID.overscaledZ||(t.tileID.isLessThan(e.tileID)?-1:1)}))}var d=this.crossTileSymbolIndex.addLayer(h,l[h.source],e.center.lng);o=o||d}}if(this.crossTileSymbolIndex.pruneUnusedLayers(this._order),((a=a||this._layerOrderChanged||0===n)||!this.pauseablePlacement||this.pauseablePlacement.isDone()&&!this.placement.stillRecent(t.browser.now(),e.zoom))&&(this.pauseablePlacement=new ze(e,this._order,a,r,n,i,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(t.browser.now()),s=!0),o&&this.pauseablePlacement.placement.setStale()),s||o)for(var m=0,g=this._order;m<g.length;m+=1){var v=g[m],y=this._layers[v];\"symbol\"===y.type&&this.placement.updateLayerOpacities(y,l[y.source])}return!this.pauseablePlacement.isDone()||this.placement.hasTransitions(t.browser.now())},r.prototype._releaseSymbolFadeTiles=function(){for(var t in this.sourceCaches)this.sourceCaches[t].releaseSymbolFadeTiles()},r.prototype.getImages=function(t,e,r){this.imageManager.getImages(e.icons,r),this._updateTilesForChangedImages();var n=this.sourceCaches[e.source];n&&n.setDependencies(e.tileID.key,e.type,e.icons)},r.prototype.getGlyphs=function(t,e,r){this.glyphManager.getGlyphs(e.stacks,r)},r.prototype.getResource=function(e,r,n){return t.makeRequest(r,n)},r}(t.Evented);qe.getSourceType=function(t){return D[t]},qe.setSourceType=function(t,e){D[t]=e},qe.registerForPluginStateChange=t.registerForPluginStateChange;var Ge=t.createLayout([{name:\"a_pos\",type:\"Int16\",components:2}]),Ye=yr(\"#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\",\"#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;}\"),We=yr(\"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);}\"),Xe=yr(\"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);}\"),Ze=yr(\"varying vec3 v_data;\\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=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;\\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);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,0,1);} else {gl_Position=u_matrix*vec4(circle_center,0,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);}\"),Je=yr(\"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);}\"),Ke=yr(\"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;}\"),Qe=yr(\"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;}\"),$e=yr(\"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_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;}\"),tr=yr(\"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);}\"),er=yr(\"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);}\"),rr=yr(\"#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);}\"),nr=yr(\"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;}\"),ir=yr(\"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;}\"),ar=yr(\"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);}\"),or=yr(\"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;}\"),sr=yr(\"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;}\"),lr=yr(\"#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 float u_maxzoom;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 exaggeration=u_zoom < 2.0 ? 0.4 : u_zoom < 4.5 ? 0.35 : 0.3;vec2 deriv=vec2((c+f+f+i)-(a+d+d+g),(g+h+h+i)-(a+b+b+c))/ pow(2.0,(u_zoom-u_maxzoom)*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;}\"),cr=yr(\"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;}\"),ur=yr(\"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);}\"),fr=yr(\"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 float v_lineprogress;\\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,vec2(v_lineprogress,0.5));gl_FragColor=color*(alpha*opacity);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"\\n#define MAX_LINE_DISTANCE 32767.0\\n#define scale 0.015873016\\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_units_to_pixels;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp float v_lineprogress;\\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;v_lineprogress=(floor(a_data.z/4.0)+a_data.w*64.0)*2.0/MAX_LINE_DISTANCE;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);}\"),hr=yr(\"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;}\"),pr=yr(\"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);}\"),dr=yr(\"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=yr(\"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));}\"),gr=yr(\"#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);}\"),vr=yr(\"#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 yr(t,e){var r=/#pragma mapbox: ([\\w]+) ([\\w]+) ([\\w]+) ([\\w]+)/g,n={};return{fragmentSource:t=t.replace(r,(function(t,e,r,i,a){return n[a]=!0,\"define\"===e?\"\\n#ifndef HAS_UNIFORM_u_\"+a+\"\\nvarying \"+r+\" \"+i+\" \"+a+\";\\n#else\\nuniform \"+r+\" \"+i+\" u_\"+a+\";\\n#endif\\n\":\"\\n#ifdef HAS_UNIFORM_u_\"+a+\"\\n    \"+r+\" \"+i+\" \"+a+\" = u_\"+a+\";\\n#endif\\n\"})),vertexSource:e=e.replace(r,(function(t,e,r,i,a){var o=\"float\"===i?\"vec2\":\"vec4\",s=a.match(/color/)?\"color\":o;return n[a]?\"define\"===e?\"\\n#ifndef HAS_UNIFORM_u_\"+a+\"\\nuniform lowp float u_\"+a+\"_t;\\nattribute \"+r+\" \"+o+\" a_\"+a+\";\\nvarying \"+r+\" \"+i+\" \"+a+\";\\n#else\\nuniform \"+r+\" \"+i+\" u_\"+a+\";\\n#endif\\n\":\"vec4\"===s?\"\\n#ifndef HAS_UNIFORM_u_\"+a+\"\\n    \"+a+\" = a_\"+a+\";\\n#else\\n    \"+r+\" \"+i+\" \"+a+\" = u_\"+a+\";\\n#endif\\n\":\"\\n#ifndef HAS_UNIFORM_u_\"+a+\"\\n    \"+a+\" = unpack_mix_\"+s+\"(a_\"+a+\", u_\"+a+\"_t);\\n#else\\n    \"+r+\" \"+i+\" \"+a+\" = u_\"+a+\";\\n#endif\\n\":\"define\"===e?\"\\n#ifndef HAS_UNIFORM_u_\"+a+\"\\nuniform lowp float u_\"+a+\"_t;\\nattribute \"+r+\" \"+o+\" a_\"+a+\";\\n#else\\nuniform \"+r+\" \"+i+\" u_\"+a+\";\\n#endif\\n\":\"vec4\"===s?\"\\n#ifndef HAS_UNIFORM_u_\"+a+\"\\n    \"+r+\" \"+i+\" \"+a+\" = a_\"+a+\";\\n#else\\n    \"+r+\" \"+i+\" \"+a+\" = u_\"+a+\";\\n#endif\\n\":\"\\n#ifndef HAS_UNIFORM_u_\"+a+\"\\n    \"+r+\" \"+i+\" \"+a+\" = unpack_mix_\"+s+\"(a_\"+a+\", u_\"+a+\"_t);\\n#else\\n    \"+r+\" \"+i+\" \"+a+\" = u_\"+a+\";\\n#endif\\n\"}))}}var xr=Object.freeze({__proto__:null,prelude:Ye,background:We,backgroundPattern:Xe,circle:Ze,clippingMask:Je,heatmap:Ke,heatmapTexture:Qe,collisionBox:$e,collisionCircle:tr,debug:er,fill:rr,fillOutline:nr,fillOutlinePattern:ir,fillPattern:ar,fillExtrusion:or,fillExtrusionPattern:sr,hillshadePrepare:lr,hillshade:cr,line:ur,lineGradient:fr,linePattern:hr,lineSDF:pr,raster:dr,symbolIcon:mr,symbolSDF:gr,symbolTextAndIcon:vr}),br=function(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffer=null,this.vao=null};br.prototype.bind=function(t,e,r,n,i,a,o,s){this.context=t;for(var l=this.boundPaintVertexBuffers.length!==n.length,c=0;!l&&c<n.length;c++)this.boundPaintVertexBuffers[c]!==n[c]&&(l=!0);var u=!this.vao||this.boundProgram!==e||this.boundLayoutVertexBuffer!==r||l||this.boundIndexBuffer!==i||this.boundVertexOffset!==a||this.boundDynamicVertexBuffer!==o||this.boundDynamicVertexBuffer2!==s;!t.extVertexArrayObject||u?this.freshBind(e,r,n,i,a,o,s):(t.bindVertexArrayOES.set(this.vao),o&&o.bind(),i&&i.dynamicDraw&&i.bind(),s&&s.bind())},br.prototype.freshBind=function(t,e,r,n,i,a,o){var s,l=t.numAttributes,c=this.context,u=c.gl;if(c.extVertexArrayObject)this.vao&&this.destroy(),this.vao=c.extVertexArrayObject.createVertexArrayOES(),c.bindVertexArrayOES.set(this.vao),s=0,this.boundProgram=t,this.boundLayoutVertexBuffer=e,this.boundPaintVertexBuffers=r,this.boundIndexBuffer=n,this.boundVertexOffset=i,this.boundDynamicVertexBuffer=a,this.boundDynamicVertexBuffer2=o;else{s=c.currentNumAttributes||0;for(var f=l;f<s;f++)u.disableVertexAttribArray(f)}e.enableAttributes(u,t);for(var h=0,p=r;h<p.length;h+=1){p[h].enableAttributes(u,t)}a&&a.enableAttributes(u,t),o&&o.enableAttributes(u,t),e.bind(),e.setVertexAttribPointers(u,t,i);for(var d=0,m=r;d<m.length;d+=1){var g=m[d];g.bind(),g.setVertexAttribPointers(u,t,i)}a&&(a.bind(),a.setVertexAttribPointers(u,t,i)),n&&n.bind(),o&&(o.bind(),o.setVertexAttribPointers(u,t,i)),c.currentNumAttributes=l},br.prototype.destroy=function(){this.vao&&(this.context.extVertexArrayObject.deleteVertexArrayOES(this.vao),this.vao=null)};var _r=function(t,e,r,n,i){var a=t.gl;this.program=a.createProgram();var o=r?r.defines():[];i&&o.push(\"#define OVERDRAW_INSPECTOR;\");var s=o.concat(Ye.fragmentSource,e.fragmentSource).join(\"\\n\"),l=o.concat(Ye.vertexSource,e.vertexSource).join(\"\\n\"),c=a.createShader(a.FRAGMENT_SHADER);if(a.isContextLost())this.failedToCreate=!0;else{a.shaderSource(c,s),a.compileShader(c),a.attachShader(this.program,c);var u=a.createShader(a.VERTEX_SHADER);if(a.isContextLost())this.failedToCreate=!0;else{a.shaderSource(u,l),a.compileShader(u),a.attachShader(this.program,u);for(var f=r?r.layoutAttributes:[],h=0;h<f.length;h++)a.bindAttribLocation(this.program,h,f[h].name);a.linkProgram(this.program),a.deleteShader(u),a.deleteShader(c),this.numAttributes=a.getProgramParameter(this.program,a.ACTIVE_ATTRIBUTES),this.attributes={};for(var p={},d=0;d<this.numAttributes;d++){var m=a.getActiveAttrib(this.program,d);m&&(this.attributes[m.name]=a.getAttribLocation(this.program,m.name))}for(var g=a.getProgramParameter(this.program,a.ACTIVE_UNIFORMS),v=0;v<g;v++){var y=a.getActiveUniform(this.program,v);y&&(p[y.name]=a.getUniformLocation(this.program,y.name))}this.fixedUniforms=n(t,p),this.binderUniforms=r?r.getUniforms(t,p):[]}}};function wr(t,e,r){var n=1/pe(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]}}_r.prototype.draw=function(t,e,r,n,i,a,o,s,l,c,u,f,h,p,d,m){var g,v=t.gl;if(!this.failedToCreate){for(var y in t.program.set(this.program),t.setDepthMode(r),t.setStencilMode(n),t.setColorMode(i),t.setCullFace(a),this.fixedUniforms)this.fixedUniforms[y].set(o[y]);p&&p.setUniforms(t,this.binderUniforms,f,{zoom:h});for(var x=(g={},g[v.LINES]=2,g[v.TRIANGLES]=3,g[v.LINE_STRIP]=1,g)[e],b=0,_=u.get();b<_.length;b+=1){var w=_[b],T=w.vaos||(w.vaos={});(T[s]||(T[s]=new br)).bind(t,this,l,p?p.getPaintVertexBuffers():[],c,w.vertexOffset,d,m),v.drawElements(e,w.primitiveLength*x,v.UNSIGNED_SHORT,w.primitiveOffset*x*2)}}};var Tr=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 c=a.properties.get(\"color\");return{u_matrix:e,u_lightpos:s,u_lightintensity:a.properties.get(\"intensity\"),u_lightcolor:[c.r,c.g,c.b],u_vertical_gradient:+n,u_opacity:i}},kr=function(e,r,n,i,a,o,s){return t.extend(Tr(e,r,n,i),wr(o,r,s),{u_height_factor:-Math.pow(2,a.overscaledZ)/s.tileSize/8})},Ar=function(t){return{u_matrix:t}},Mr=function(e,r,n,i){return t.extend(Ar(e),wr(n,r,i))},Sr=function(t,e){return{u_matrix:t,u_world:e}},Er=function(e,r,n,i,a){return t.extend(Mr(e,r,n,i),{u_world:a})},Lr=function(e,r,n,i){var a,o,s=e.transform;if(\"map\"===i.paint.get(\"circle-pitch-alignment\")){var l=pe(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}},Cr=function(t,e,r){var n=pe(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}},Pr=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]}},Ir=function(t,e,r){return void 0===r&&(r=1),{u_matrix:t,u_color:e,u_overlay:0,u_overlay_scale:r}},Or=function(t){return{u_matrix:t}},zr=function(t,e,r,n){return{u_matrix:t,u_extrude_scale:pe(e,1,r),u_intensity:n}};function Dr(e,r){var n=Math.pow(2,r.canonical.z),i=r.canonical.y;return[new t.MercatorCoordinate(0,i/n).toLngLat().lat,new t.MercatorCoordinate(0,(i+1)/n).toLngLat().lat]}var Rr=function(e,r,n){var i=e.transform;return{u_matrix:Ur(e,r,n),u_ratio:1/pe(r,1,i.zoom),u_device_pixel_ratio:t.browser.devicePixelRatio,u_units_to_pixels:[1/i.pixelsToGLUnits[0],1/i.pixelsToGLUnits[1]]}},Fr=function(e,r,n){return t.extend(Rr(e,r,n),{u_image:0})},Br=function(e,r,n,i){var a=e.transform,o=jr(r,a);return{u_matrix:Ur(e,r,n),u_texsize:r.imageAtlasTexture.size,u_ratio:1/pe(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]]}},Nr=function(e,r,n,i,a){var o=e.transform,s=e.lineAtlas,l=jr(r,o),c=\"round\"===n.layout.get(\"line-cap\"),u=s.getDash(i.from,c),f=s.getDash(i.to,c),h=u.width*a.fromScale,p=f.width*a.toScale;return t.extend(Rr(e,r,n),{u_patternscale_a:[l/h,-u.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:u.y,u_tex_y_b:f.y,u_mix:a.t})};function jr(t,e){return 1/pe(t,1,e.tileZoom)}function Ur(t,e,r){return t.translatePosMatrix(e.tileID.posMatrix,e,r.paint.get(\"line-translate\"),r.paint.get(\"line-translate-anchor\"))}var Vr=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:Hr(i.paint.get(\"raster-hue-rotate\"))};var a,o};function Hr(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 qr,Gr=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}},Yr=function(e,r,n,i,a,o,s,l,c,u,f){var h=a.transform;return t.extend(Gr(e,r,n,i,a,o,s,l,c,u),{u_gamma_scale:i?Math.cos(h._pitch)*h.cameraToCenterDistance:1,u_device_pixel_ratio:t.browser.devicePixelRatio,u_is_halo:+f})},Wr=function(e,r,n,i,a,o,s,l,c,u){return t.extend(Yr(e,r,n,i,a,o,s,l,!0,c,!0),{u_texsize_icon:u,u_texture_icon:1})},Xr=function(t,e,r){return{u_matrix:t,u_opacity:e,u_color:r}},Zr=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,f=u*(n.tileID.canonical.x+n.tileID.wrap*c),h=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/pe(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})},Jr={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_maxzoom:new t.Uniform1f(e,r.u_maxzoom),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)}},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 Kr(e,r,n,i,a,o,s){for(var l=e.context,c=l.gl,u=e.useProgram(\"collisionBox\"),f=[],h=0,p=0,d=0;d<i.length;d++){var m=i[d],g=r.getTile(m),v=g.getBucket(n);if(v){var y=m.posMatrix;0===a[0]&&0===a[1]||(y=e.translatePosMatrix(m.posMatrix,g,a,o));var x=s?v.textCollisionBox:v.iconCollisionBox,b=v.collisionCircleArray;if(b.length>0){var _=t.create(),w=y;t.mul(_,v.placementInvProjMatrix,e.transform.glCoordMatrix),t.mul(_,_,v.placementViewportMatrix),f.push({circleArray:b,circleOffset:p,transform:w,invTransform:_}),p=h+=b.length/4}x&&u.draw(l,c.LINES,At.disabled,Mt.disabled,e.colorModeForRenderPass(),Et.disabled,Cr(y,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<S.length;M+=1)for(var E=S[M],L=0;L<E.circleArray.length/4;L++){var C=4*L,P=E.circleArray[C+0],I=E.circleArray[C+1],O=E.circleArray[C+2],z=E.circleArray[C+3];k.emplace(A++,P,I,O,z,0),k.emplace(A++,P,I,O,z,1),k.emplace(A++,P,I,O,z,2),k.emplace(A++,P,I,O,z,3)}(!qr||qr.length<2*h)&&(qr=function(e){var r=2*e,n=new t.StructArrayLayout3ui6;n.resize(r),n._trim();for(var i=0;i<r;i++){var a=6*i;n.uint16[a+0]=4*i+0,n.uint16[a+1]=4*i+1,n.uint16[a+2]=4*i+2,n.uint16[a+3]=4*i+2,n.uint16[a+4]=4*i+3,n.uint16[a+5]=4*i+0}return n}(h));for(var D=l.createIndexBuffer(qr,!0),R=l.createVertexBuffer(k,t.collisionCircleLayout.members,!0),F=0,B=f;F<B.length;F+=1){var N=B[F],j=Pr(N.transform,N.invTransform,e.transform);T.draw(l,c.TRIANGLES,At.disabled,Mt.disabled,e.colorModeForRenderPass(),Et.disabled,j,n.id,R,D,t.SegmentVector.simpleSegment(0,2*N.circleOffset,N.circleArray.length,N.circleArray.length/2),null,e.transform.zoom,null,null,null)}R.destroy(),D.destroy()}}var Qr=t.identity(new Float32Array(16));function $r(e,r,n,i,a,o){var s=t.getAnchorAlignment(e),l=-(s.horizontalAlign-.5)*r,c=-(s.verticalAlign-.5)*n,u=t.evaluateVariableOffset(e,i);return new t.Point((l/a+u[0])*o,(c/a+u[1])*o)}function tn(e,r,n,i,a,o,s,l,c,u,f){var h=e.text.placedSymbolArray,p=e.text.dynamicLayoutVertexArray,d=e.icon.dynamicLayoutVertexArray,m={};p.clear();for(var g=0;g<h.length;g++){var v=h.get(g),y=e.allowVerticalPlacement&&!v.placedOrientation,x=v.hidden||!v.crossTileID||y?null:i[v.crossTileID];if(x){var b=new t.Point(v.anchorX,v.anchorY),_=te(b,n?l:s),w=ee(o.cameraToCenterDistance,_.signedDistanceFromCamera),T=a.evaluateSizeForFeature(e.textSizeData,u,v)*w/t.ONE_EM;n&&(T*=e.tilePixelRatio/c);for(var k=x.width,A=x.height,M=$r(x.anchor,k,A,x.textOffset,x.textBoxScale,T),S=n?te(b.add(M),s).point:_.point.add(r?M.rotate(-o.angle):M),E=e.allowVerticalPlacement&&v.placedOrientation===t.WritingMode.vertical?Math.PI/2:0,L=0;L<v.numGlyphs;L++)t.addDynamicAttributes(p,S,E);f&&v.associatedIconIndex>=0&&(m[v.associatedIconIndex]={shiftedAnchor:S,angle:E})}else ue(v.numGlyphs,p)}if(f){d.clear();for(var C=e.icon.placedSymbolArray,P=0;P<C.length;P++){var I=C.get(P);if(I.hidden)ue(I.numGlyphs,d);else{var O=m[P];if(O)for(var z=0;z<I.numGlyphs;z++)t.addDynamicAttributes(d,O.shiftedAnchor,O.angle);else ue(I.numGlyphs,d)}}e.icon.dynamicLayoutVertexBuffer.updateData(d)}e.text.dynamicLayoutVertexBuffer.updateData(p)}function en(t,e,r){return r.iconsInText&&e?\"symbolTextAndIcon\":t?\"symbolSDF\":\"symbolIcon\"}function rn(e,r,n,i,a,o,s,l,c,u,f,h){for(var p=e.context,d=p.gl,m=e.transform,g=\"map\"===l,v=\"map\"===c,y=g&&\"point\"!==n.layout.get(\"symbol-placement\"),x=g&&!v&&!y,b=void 0!==n.layout.get(\"symbol-sort-key\").constantOr(1),_=e.depthModeForSublayer(0,At.ReadOnly),w=n.layout.get(\"text-variable-anchor\"),T=[],k=0,A=i;k<A.length;k+=1){var M=A[k],S=r.getTile(M),E=S.getBucket(n);if(E){var L=a?E.text:E.icon;if(L&&L.segments.get().length){var C=L.programConfigurations.get(n.id),P=a||E.sdfIcons,I=a?E.textSizeData:E.iconSizeData,O=v||0!==m.pitch,z=e.useProgram(en(P,a,E),C),D=t.evaluateSizeForZoom(I,m.zoom),R=void 0,F=[0,0],B=void 0,N=void 0,j=null,U=void 0;if(a){if(B=S.glyphAtlasTexture,N=d.LINEAR,R=S.glyphAtlasTexture.size,E.iconsInText){F=S.imageAtlasTexture.size,j=S.imageAtlasTexture;var V=\"composite\"===I.kind||\"camera\"===I.kind;U=O||e.options.rotating||e.options.zooming||V?d.LINEAR:d.NEAREST}}else{var H=1!==n.layout.get(\"icon-size\").constantOr(0)||E.iconsNeedLinear;B=S.imageAtlasTexture,N=P||e.options.rotating||e.options.zooming||H||O?d.LINEAR:d.NEAREST,R=S.imageAtlasTexture.size}var q=pe(S,1,e.transform.zoom),G=Qt(M.posMatrix,v,g,e.transform,q),Y=$t(M.posMatrix,v,g,e.transform,q),W=w&&E.hasTextData(),X=\"none\"!==n.layout.get(\"icon-text-fit\")&&W&&E.hasIconData();y&&ne(E,M.posMatrix,e,a,G,Y,v,u);var Z=e.translatePosMatrix(M.posMatrix,S,o,s),J=y||a&&w||X?Qr:G,K=e.translatePosMatrix(Y,S,o,s,!0),Q=P&&0!==n.paint.get(a?\"text-halo-width\":\"icon-halo-width\").constantOr(1),$={program:z,buffers:L,uniformValues:P?E.iconsInText?Wr(I.kind,D,x,v,e,Z,J,K,R,F):Yr(I.kind,D,x,v,e,Z,J,K,a,R,!0):Gr(I.kind,D,x,v,e,Z,J,K,a,R),atlasTexture:B,atlasTextureIcon:j,atlasInterpolation:N,atlasInterpolationIcon:U,isSDF:P,hasHalo:Q};if(b)for(var tt=0,et=L.segments.get();tt<et.length;tt+=1){var rt=et[tt];T.push({segments:new t.SegmentVector([rt]),sortKey:rt.sortKey,state:$})}else T.push({segments:L.segments,sortKey:0,state:$})}}}b&&T.sort((function(t,e){return t.sortKey-e.sortKey}));for(var nt=0,it=T;nt<it.length;nt+=1){var at=it[nt],ot=at.state;if(p.activeTexture.set(d.TEXTURE0),ot.atlasTexture.bind(ot.atlasInterpolation,d.CLAMP_TO_EDGE),ot.atlasTextureIcon&&(p.activeTexture.set(d.TEXTURE1),ot.atlasTextureIcon&&ot.atlasTextureIcon.bind(ot.atlasInterpolationIcon,d.CLAMP_TO_EDGE)),ot.isSDF){var st=ot.uniformValues;ot.hasHalo&&(st.u_is_halo=1,nn(ot.buffers,at.segments,n,e,ot.program,_,f,h,st)),st.u_is_halo=0}nn(ot.buffers,at.segments,n,e,ot.program,_,f,h,ot.uniformValues)}}function nn(t,e,r,n,i,a,o,s,l){var c=n.context,u=c.gl;i.draw(c,u.TRIANGLES,a,o,s,Et.disabled,l,r.id,t.layoutVertexBuffer,t.indexBuffer,e,r.paint,n.transform.zoom,t.programConfigurations.get(r.id),t.dynamicLayoutVertexBuffer,t.opacityVertexBuffer)}function an(t,e,r,n,i,a,o){var s,l,c,u,f,h=t.context.gl,p=r.paint.get(\"fill-pattern\"),d=p&&p.constantOr(1),m=r.getCrossfadeParameters();o?(l=d&&!r.getPaintProperty(\"fill-outline-color\")?\"fillOutlinePattern\":\"fillOutline\",s=h.LINES):(l=d?\"fillPattern\":\"fill\",s=h.TRIANGLES);for(var g=0,v=n;g<v.length;g+=1){var y=v[g],x=e.getTile(y);if(!d||x.patternsLoaded()){var b=x.getBucket(r);if(b){var _=b.programConfigurations.get(r.id),w=t.useProgram(l,_);d&&(t.context.activeTexture.set(h.TEXTURE0),x.imageAtlasTexture.bind(h.LINEAR,h.CLAMP_TO_EDGE),_.updatePaintBuffers(m));var T=p.constantOr(null);if(T&&x.imageAtlas){var k=x.imageAtlas,A=k.patternPositions[T.to.toString()],M=k.patternPositions[T.from.toString()];A&&M&&_.setConstantPatternPositions(A,M)}var S=t.translatePosMatrix(y.posMatrix,x,r.paint.get(\"fill-translate\"),r.paint.get(\"fill-translate-anchor\"));if(o){u=b.indexBuffer2,f=b.segments2;var E=[h.drawingBufferWidth,h.drawingBufferHeight];c=\"fillOutlinePattern\"===l&&d?Er(S,t,m,x,E):Sr(S,E)}else u=b.indexBuffer,f=b.segments,c=d?Mr(S,t,m,x):Ar(S);w.draw(t.context,s,i,t.stencilModeForClipping(y),a,Et.disabled,c,r.id,b.layoutVertexBuffer,u,f,r.paint,t.transform.zoom,_)}}}}function on(t,e,r,n,i,a,o){for(var s=t.context,l=s.gl,c=r.paint.get(\"fill-extrusion-pattern\"),u=c.constantOr(1),f=r.getCrossfadeParameters(),h=r.paint.get(\"fill-extrusion-opacity\"),p=0,d=n;p<d.length;p+=1){var m=d[p],g=e.getTile(m),v=g.getBucket(r);if(v){var y=v.programConfigurations.get(r.id),x=t.useProgram(u?\"fillExtrusionPattern\":\"fillExtrusion\",y);u&&(t.context.activeTexture.set(l.TEXTURE0),g.imageAtlasTexture.bind(l.LINEAR,l.CLAMP_TO_EDGE),y.updatePaintBuffers(f));var b=c.constantOr(null);if(b&&g.imageAtlas){var _=g.imageAtlas,w=_.patternPositions[b.to.toString()],T=_.patternPositions[b.from.toString()];w&&T&&y.setConstantPatternPositions(w,T)}var k=t.translatePosMatrix(m.posMatrix,g,r.paint.get(\"fill-extrusion-translate\"),r.paint.get(\"fill-extrusion-translate-anchor\")),A=r.paint.get(\"fill-extrusion-vertical-gradient\"),M=u?kr(k,t,A,h,m,f,g):Tr(k,t,A,h);x.draw(s,s.gl.TRIANGLES,i,a,o,Et.backCCW,M,r.id,v.layoutVertexBuffer,v.indexBuffer,v.segments,r.paint,t.transform.zoom,y)}}}function sn(t,e,r,n,i,a){var o=t.context,s=o.gl,l=e.fbo;if(l){var c=t.useProgram(\"hillshade\");o.activeTexture.set(s.TEXTURE0),s.bindTexture(s.TEXTURE_2D,l.colorAttachment.get());var u=function(t,e,r){var n=r.paint.get(\"hillshade-shadow-color\"),i=r.paint.get(\"hillshade-highlight-color\"),a=r.paint.get(\"hillshade-accent-color\"),o=r.paint.get(\"hillshade-illumination-direction\")*(Math.PI/180);\"viewport\"===r.paint.get(\"hillshade-illumination-anchor\")&&(o-=t.transform.angle);var s=!t.options.moving;return{u_matrix:t.transform.calculatePosMatrix(e.tileID.toUnwrapped(),s),u_image:0,u_latrange:Dr(t,e.tileID),u_light:[r.paint.get(\"hillshade-exaggeration\"),o],u_shadow:n,u_highlight:i,u_accent:a}}(t,e,r);c.draw(o,s.TRIANGLES,n,i,a,Et.disabled,u,r.id,t.rasterBoundsBuffer,t.quadTriangleIndexBuffer,t.rasterBoundsSegments)}}function ln(e,r,n,i,a,o,s){var l=e.context,c=l.gl,u=r.dem;if(u&&u.data){var f=u.dim,h=u.stride,p=u.getPixels();if(l.activeTexture.set(c.TEXTURE1),l.pixelStoreUnpackPremultiplyAlpha.set(!1),r.demTexture=r.demTexture||e.getTileTexture(h),r.demTexture){var d=r.demTexture;d.update(p,{premultiply:!1}),d.bind(c.NEAREST,c.CLAMP_TO_EDGE)}else r.demTexture=new t.Texture(l,p,c.RGBA,{premultiply:!1}),r.demTexture.bind(c.NEAREST,c.CLAMP_TO_EDGE);l.activeTexture.set(c.TEXTURE0);var m=r.fbo;if(!m){var g=new t.Texture(l,{width:f,height:f,data:null},c.RGBA);g.bind(c.LINEAR,c.CLAMP_TO_EDGE),(m=r.fbo=l.createFramebuffer(f,f,!0)).colorAttachment.set(g.texture)}l.bindFramebuffer.set(m.framebuffer),l.viewport.set([0,0,f,f]),e.useProgram(\"hillshadePrepare\").draw(l,c.TRIANGLES,a,o,s,Et.disabled,function(e,r,n){var i=r.stride,a=t.create();return t.ortho(a,0,t.EXTENT,-t.EXTENT,0,0,1),t.translate(a,a,[0,-t.EXTENT,0]),{u_matrix:a,u_image:1,u_dimension:[i,i],u_zoom:e.overscaledZ,u_maxzoom:n,u_unpack:r.getUnpackVector()}}(r.tileID,u,i),n.id,e.rasterBoundsBuffer,e.quadTriangleIndexBuffer,e.rasterBoundsSegments),r.needsHillshadePrepare=!1}}function cn(e,r,n,i,a){var o=i.paint.get(\"raster-fade-duration\");if(o>0){var s=t.browser.now(),l=(s-e.timeAdded)/o,c=r?(s-r.timeAdded)/o:-1,u=n.getSource(),f=a.coveringZoomLevel({tileSize:u.tileSize,roundZoom:u.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-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 un=new t.Color(1,0,0,1),fn=new t.Color(0,1,0,1),hn=new t.Color(0,0,1,1),pn=new t.Color(1,0,1,1),dn=new t.Color(0,1,1,1);function mn(t){var e=t.transform.padding;gn(t,t.transform.height-(e.top||0),3,un),gn(t,e.bottom||0,3,fn),vn(t,e.left||0,3,hn),vn(t,t.transform.width-(e.right||0),3,pn);var r=t.transform.centerPoint;!function(t,e,r,n){yn(t,e-1,r-10,2,20,n),yn(t,e-10,r-1,20,2,n)}(t,r.x,t.transform.height-r.y,dn)}function gn(t,e,r,n){yn(t,0,e+r/2,t.transform.width,r,n)}function vn(t,e,r,n){yn(t,e-r/2,0,r,t.transform.height,n)}function yn(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 xn(e,r,n){var i=e.context,a=i.gl,o=n.posMatrix,s=e.useProgram(\"debug\"),l=At.disabled,c=Mt.disabled,u=e.colorModeForRenderPass();i.activeTexture.set(a.TEXTURE0),e.emptyTexture.bind(a.LINEAR,a.CLAMP_TO_EDGE),s.draw(i,a.LINE_STRIP,l,c,u,Et.disabled,Ir(o,t.Color.red),\"$debug\",e.debugBuffer,e.tileBorderIndexBuffer,e.debugSegments);var f=r.getTileByID(n.key).latestRawTileData,h=f&&f.byteLength||0,p=Math.floor(h/1024),d=r.getTile(n).tileSize,m=512/Math.min(d,512)*(n.overscaledZ/e.transform.zoom)*.5,g=n.canonical.toString();n.overscaledZ!==n.canonical.z&&(g+=\" => \"+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,g+\" \"+p+\"kb\"),s.draw(i,a.TRIANGLES,l,c,St.alphaBlended,Et.disabled,Ir(o,t.Color.transparent,m),\"$debug\",e.debugBuffer,e.quadTriangleIndexBuffer,e.debugSegments)}var bn={symbol:function(e,r,n,i,a){if(\"translucent\"===e.renderPass){var o=Mt.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,f=0,h=e;f<h.length;f+=1){var p=h[f],d=i.getTile(p),m=d.getBucket(n);if(m&&m.text&&m.text.segments.get().length){var g=m.textSizeData,v=t.evaluateSizeForZoom(g,l.zoom),y=pe(d,1,r.transform.zoom),x=Qt(p.posMatrix,u,c,r.transform,y),b=\"none\"!==n.layout.get(\"icon-text-fit\")&&m.hasIconData();if(v){var _=Math.pow(2,l.zoom-d.tileID.overscaledZ);tn(m,c,u,s,t.symbolSize,l,x,p.posMatrix,_,v,b)}}}}(i,e,n,r,n.layout.get(\"text-rotation-alignment\"),n.layout.get(\"text-pitch-alignment\"),a),0!==n.paint.get(\"icon-opacity\").constantOr(1)&&rn(e,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)&&rn(e,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&&(Kr(e,r,n,i,n.paint.get(\"text-translate\"),n.paint.get(\"text-translate-anchor\"),!0),Kr(e,r,n,i,n.paint.get(\"icon-translate\"),n.paint.get(\"icon-translate-anchor\"),!1))}},circle:function(e,r,n,i){if(\"translucent\"===e.renderPass){var a=n.paint.get(\"circle-opacity\"),o=n.paint.get(\"circle-stroke-width\"),s=n.paint.get(\"circle-stroke-opacity\"),l=void 0!==n.layout.get(\"circle-sort-key\").constantOr(1);if(0!==a.constantOr(1)||0!==o.constantOr(1)&&0!==s.constantOr(1)){for(var c=e.context,u=c.gl,f=e.depthModeForSublayer(0,At.ReadOnly),h=Mt.disabled,p=e.colorModeForRenderPass(),d=[],m=0;m<i.length;m++){var g=i[m],v=r.getTile(g),y=v.getBucket(n);if(y){var x=y.programConfigurations.get(n.id),b={programConfiguration:x,program:e.useProgram(\"circle\",x),layoutVertexBuffer:y.layoutVertexBuffer,indexBuffer:y.indexBuffer,uniformValues:Lr(e,g,v,n)};if(l)for(var _=0,w=y.segments.get();_<w.length;_+=1){var T=w[_];d.push({segments:new t.SegmentVector([T]),sortKey:T.sortKey,state:b})}else d.push({segments:y.segments,sortKey:0,state:b})}}l&&d.sort((function(t,e){return t.sortKey-e.sortKey}));for(var k=0,A=d;k<A.length;k+=1){var M=A[k],S=M.state,E=S.programConfiguration,L=S.program,C=S.layoutVertexBuffer,P=S.indexBuffer,I=S.uniformValues,O=M.segments;L.draw(c,u.TRIANGLES,f,h,p,Et.disabled,I,n.id,C,P,O,n.paint,e.transform.zoom,E)}}}},heatmap:function(e,r,n,i){if(0!==n.paint.get(\"heatmap-opacity\"))if(\"offscreen\"===e.renderPass){var a=e.context,o=a.gl,s=Mt.disabled,l=new St([o.ONE,o.ONE],t.Color.transparent,[!0,!0,!0,!0]);!function(t,e,r){var n=t.gl;t.activeTexture.set(n.TEXTURE1),t.viewport.set([0,0,e.width/4,e.height/4]);var i=r.heatmapFbo;if(i)n.bindTexture(n.TEXTURE_2D,i.colorAttachment.get()),t.bindFramebuffer.set(i.framebuffer);else{var 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),function(t,e,r,n){var i=t.gl,a=t.extRenderToTextureHalfFloat?t.extTextureHalfFloat.HALF_FLOAT_OES:i.UNSIGNED_BYTE;i.texImage2D(i.TEXTURE_2D,0,i.RGBA,e.width/4,e.height/4,0,i.RGBA,a,null),n.colorAttachment.set(r)}(t,e,a,i)}}(a,e,n),a.clear({color:t.Color.transparent});for(var c=0;c<i.length;c++){var u=i[c];if(!r.hasRenderableParent(u)){var f=r.getTile(u),h=f.getBucket(n);if(h){var p=h.programConfigurations.get(n.id),d=e.useProgram(\"heatmap\",p),m=e.transform.zoom;d.draw(a,o.TRIANGLES,At.disabled,s,l,Et.disabled,zr(u.posMatrix,f,m,n.paint.get(\"heatmap-intensity\")),n.id,h.layoutVertexBuffer,h.indexBuffer,h.segments,n.paint,e.transform.zoom,p)}}}a.viewport.set([0,0,e.width,e.height])}else\"translucent\"===e.renderPass&&(e.context.setColorMode(e.colorModeForRenderPass()),function(e,r){var n=e.context,i=n.gl,a=r.heatmapFbo;if(!a)return;n.activeTexture.set(i.TEXTURE0),i.bindTexture(i.TEXTURE_2D,a.colorAttachment.get()),n.activeTexture.set(i.TEXTURE1);var o=r.colorRampTexture;o||(o=r.colorRampTexture=new t.Texture(n,r.colorRamp,i.RGBA));o.bind(i.LINEAR,i.CLAMP_TO_EDGE),e.useProgram(\"heatmapTexture\").draw(n,i.TRIANGLES,At.disabled,Mt.disabled,e.colorModeForRenderPass(),Et.disabled,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\")}}(e,r,0,1),r.id,e.viewportBuffer,e.quadTriangleIndexBuffer,e.viewportSegments,r.paint,e.transform.zoom)}(e,n))},line:function(e,r,n,i){if(\"translucent\"===e.renderPass){var a=n.paint.get(\"line-opacity\"),o=n.paint.get(\"line-width\");if(0!==a.constantOr(1)&&0!==o.constantOr(1)){var s=e.depthModeForSublayer(0,At.ReadOnly),l=e.colorModeForRenderPass(),c=n.paint.get(\"line-dasharray\"),u=n.paint.get(\"line-pattern\"),f=u.constantOr(1),h=n.paint.get(\"line-gradient\"),p=n.getCrossfadeParameters(),d=f?\"linePattern\":c?\"lineSDF\":h?\"lineGradient\":\"line\",m=e.context,g=m.gl,v=!0;if(h){m.activeTexture.set(g.TEXTURE0);var y=n.gradientTexture;if(!n.gradient)return;y||(y=n.gradientTexture=new t.Texture(m,n.gradient,g.RGBA)),y.bind(g.LINEAR,g.CLAMP_TO_EDGE)}for(var x=0,b=i;x<b.length;x+=1){var _=b[x],w=r.getTile(_);if(!f||w.patternsLoaded()){var T=w.getBucket(n);if(T){var k=T.programConfigurations.get(n.id),A=e.context.program.get(),M=e.useProgram(d,k),S=v||M.program!==A,E=u.constantOr(null);if(E&&w.imageAtlas){var L=w.imageAtlas,C=L.patternPositions[E.to.toString()],P=L.patternPositions[E.from.toString()];C&&P&&k.setConstantPatternPositions(C,P)}var I=f?Br(e,w,n,p):c?Nr(e,w,n,c,p):h?Fr(e,w,n):Rr(e,w,n);f?(m.activeTexture.set(g.TEXTURE0),w.imageAtlasTexture.bind(g.LINEAR,g.CLAMP_TO_EDGE),k.updatePaintBuffers(p)):c&&(S||e.lineAtlas.dirty)&&(m.activeTexture.set(g.TEXTURE0),e.lineAtlas.bind(m)),M.draw(m,g.TRIANGLES,s,e.stencilModeForClipping(_),l,Et.disabled,I,n.id,T.layoutVertexBuffer,T.indexBuffer,T.segments,n.paint,e.transform.zoom,k),v=!1}}}}}},fill:function(e,r,n,i){var a=n.paint.get(\"fill-color\"),o=n.paint.get(\"fill-opacity\");if(0!==o.constantOr(1)){var s=e.colorModeForRenderPass(),l=n.paint.get(\"fill-pattern\"),c=e.opaquePassEnabledForLayer()&&!l.constantOr(1)&&1===a.constantOr(t.Color.transparent).a&&1===o.constantOr(0)?\"opaque\":\"translucent\";if(e.renderPass===c){var u=e.depthModeForSublayer(1,\"opaque\"===e.renderPass?At.ReadWrite:At.ReadOnly);an(e,r,n,i,u,s,!1)}if(\"translucent\"===e.renderPass&&n.paint.get(\"fill-antialias\")){var f=e.depthModeForSublayer(n.getPaintProperty(\"fill-outline-color\")?2:0,At.ReadOnly);an(e,r,n,i,f,s,!0)}}},\"fill-extrusion\":function(t,e,r,n){var i=r.paint.get(\"fill-extrusion-opacity\");if(0!==i&&\"translucent\"===t.renderPass){var a=new At(t.context.gl.LEQUAL,At.ReadWrite,t.depthRangeFor3D);if(1!==i||r.paint.get(\"fill-extrusion-pattern\").constantOr(1))on(t,e,r,n,a,Mt.disabled,St.disabled),on(t,e,r,n,a,t.stencilModeFor3D(),t.colorModeForRenderPass());else{var o=t.colorModeForRenderPass();on(t,e,r,n,a,Mt.disabled,o)}}},hillshade:function(t,e,r,n){if(\"offscreen\"===t.renderPass||\"translucent\"===t.renderPass){for(var i=t.context,a=e.getSource().maxzoom,o=t.depthModeForSublayer(0,At.ReadOnly),s=t.colorModeForRenderPass(),l=\"translucent\"===t.renderPass?t.stencilConfigForOverlap(n):[{},n],c=l[0],u=0,f=l[1];u<f.length;u+=1){var h=f[u],p=e.getTile(h);p.needsHillshadePrepare&&\"offscreen\"===t.renderPass?ln(t,p,r,a,o,Mt.disabled,s):\"translucent\"===t.renderPass&&sn(t,p,r,o,c[h.overscaledZ],s)}i.viewport.set([0,0,t.width,t.height])}},raster:function(t,e,r,n){if(\"translucent\"===t.renderPass&&0!==r.paint.get(\"raster-opacity\")&&n.length)for(var i=t.context,a=i.gl,o=e.getSource(),s=t.useProgram(\"raster\"),l=t.colorModeForRenderPass(),c=o instanceof I?[{},n]:t.stencilConfigForOverlap(n),u=c[0],f=c[1],h=f[f.length-1].overscaledZ,p=!t.options.moving,d=0,m=f;d<m.length;d+=1){var g=m[d],v=t.depthModeForSublayer(g.overscaledZ-h,1===r.paint.get(\"raster-opacity\")?At.ReadWrite:At.ReadOnly,a.LESS),y=e.getTile(g),x=t.transform.calculatePosMatrix(g.toUnwrapped(),p);y.registerFadeDuration(r.paint.get(\"raster-fade-duration\"));var b=e.findLoadedParent(g,0),_=cn(y,b,e,r,t.transform),w=void 0,T=void 0,k=\"nearest\"===r.paint.get(\"raster-resampling\")?a.NEAREST:a.LINEAR;i.activeTexture.set(a.TEXTURE0),y.texture.bind(k,a.CLAMP_TO_EDGE,a.LINEAR_MIPMAP_NEAREST),i.activeTexture.set(a.TEXTURE1),b?(b.texture.bind(k,a.CLAMP_TO_EDGE,a.LINEAR_MIPMAP_NEAREST),w=Math.pow(2,b.tileID.overscaledZ-y.tileID.overscaledZ),T=[y.tileID.canonical.x*w%1,y.tileID.canonical.y*w%1]):y.texture.bind(k,a.CLAMP_TO_EDGE,a.LINEAR_MIPMAP_NEAREST);var A=Vr(x,T||[0,0],w||1,_,r);o instanceof I?s.draw(i,a.TRIANGLES,v,Mt.disabled,l,Et.disabled,A,r.id,o.boundsBuffer,t.quadTriangleIndexBuffer,o.boundsSegments):s.draw(i,a.TRIANGLES,v,u[g.overscaledZ],l,Et.disabled,A,r.id,t.rasterBoundsBuffer,t.quadTriangleIndexBuffer,t.rasterBoundsSegments)}},background:function(t,e,r){var n=r.paint.get(\"background-color\"),i=r.paint.get(\"background-opacity\");if(0!==i){var a=t.context,o=a.gl,s=t.transform,l=s.tileSize,c=r.paint.get(\"background-pattern\");if(!t.isPatternMissing(c)){var u=!c&&1===n.a&&1===i&&t.opaquePassEnabledForLayer()?\"opaque\":\"translucent\";if(t.renderPass===u){var f=Mt.disabled,h=t.depthModeForSublayer(0,\"opaque\"===u?At.ReadWrite:At.ReadOnly),p=t.colorModeForRenderPass(),d=t.useProgram(c?\"backgroundPattern\":\"background\"),m=s.coveringTiles({tileSize:l});c&&(a.activeTexture.set(o.TEXTURE0),t.imageManager.bind(t.context));for(var g=r.getCrossfadeParameters(),v=0,y=m;v<y.length;v+=1){var x=y[v],b=t.transform.calculatePosMatrix(x.toUnwrapped()),_=c?Zr(b,i,t,c,{tileID:x,tileSize:l},g):Xr(b,i,n);d.draw(a,o.TRIANGLES,h,f,p,Et.disabled,_,r.id,t.tileExtentBuffer,t.quadTriangleIndexBuffer,t.tileExtentSegments)}}}}},debug:function(t,e,r){for(var n=0;n<r.length;n++)xn(t,e,r[n])},custom:function(t,e,r){var n=t.context,i=r.implementation;if(\"offscreen\"===t.renderPass){var a=i.prerender;a&&(t.setCustomLayerDefaults(),n.setColorMode(t.colorModeForRenderPass()),a.call(i,n.gl,t.transform.customLayerMatrix()),n.setDirty(),t.setBaseState())}else if(\"translucent\"===t.renderPass){t.setCustomLayerDefaults(),n.setColorMode(t.colorModeForRenderPass()),n.setStencilMode(Mt.disabled);var o=\"3d\"===i.renderingMode?new At(t.context.gl.LEQUAL,At.ReadWrite,t.depthRangeFor3D):t.depthModeForSublayer(0,At.ReadOnly);n.setDepthMode(o),i.render(n.gl,t.transform.customLayerMatrix()),n.setDirty(),t.setBaseState(),n.bindFramebuffer.set(null)}}},_n=function(t,e){this.context=new Lt(t),this.transform=e,this._tileTextures={},this.setup(),this.numSublayers=Ct.maxUnderzooming+Ct.maxOverzooming+1,this.depthEpsilon=1/Math.pow(2,16),this.crossTileSymbolIndex=new Ne,this.gpuTimers={}};_n.prototype.resize=function(e,r){if(this.width=e*t.browser.devicePixelRatio,this.height=r*t.browser.devicePixelRatio,this.context.viewport.set([0,0,this.width,this.height]),this.style)for(var n=0,i=this.style._order;n<i.length;n+=1){var a=i[n];this.style._layers[a].resize()}},_n.prototype.setup=function(){var e=this.context,r=new t.StructArrayLayout2i4;r.emplaceBack(0,0),r.emplaceBack(t.EXTENT,0),r.emplaceBack(0,t.EXTENT),r.emplaceBack(t.EXTENT,t.EXTENT),this.tileExtentBuffer=e.createVertexBuffer(r,Ge.members),this.tileExtentSegments=t.SegmentVector.simpleSegment(0,0,4,2);var n=new t.StructArrayLayout2i4;n.emplaceBack(0,0),n.emplaceBack(t.EXTENT,0),n.emplaceBack(0,t.EXTENT),n.emplaceBack(t.EXTENT,t.EXTENT),this.debugBuffer=e.createVertexBuffer(n,Ge.members),this.debugSegments=t.SegmentVector.simpleSegment(0,0,4,5);var i=new t.StructArrayLayout4i8;i.emplaceBack(0,0,0,0),i.emplaceBack(t.EXTENT,0,t.EXTENT,0),i.emplaceBack(0,t.EXTENT,0,t.EXTENT),i.emplaceBack(t.EXTENT,t.EXTENT,t.EXTENT,t.EXTENT),this.rasterBoundsBuffer=e.createVertexBuffer(i,P.members),this.rasterBoundsSegments=t.SegmentVector.simpleSegment(0,0,4,2);var a=new t.StructArrayLayout2i4;a.emplaceBack(0,0),a.emplaceBack(1,0),a.emplaceBack(0,1),a.emplaceBack(1,1),this.viewportBuffer=e.createVertexBuffer(a,Ge.members),this.viewportSegments=t.SegmentVector.simpleSegment(0,0,4,2);var o=new t.StructArrayLayout1ui2;o.emplaceBack(0),o.emplaceBack(1),o.emplaceBack(3),o.emplaceBack(2),o.emplaceBack(0),this.tileBorderIndexBuffer=e.createIndexBuffer(o);var s=new t.StructArrayLayout3ui6;s.emplaceBack(0,1,2),s.emplaceBack(2,1,3),this.quadTriangleIndexBuffer=e.createIndexBuffer(s),this.emptyTexture=new t.Texture(e,{width:1,height:1,data:new Uint8Array([0,0,0,0])},e.gl.RGBA);var l=this.context.gl;this.stencilClearMode=new Mt({func:l.ALWAYS,mask:0},0,255,l.ZERO,l.ZERO,l.ZERO)},_n.prototype.clearStencil=function(){var e=this.context,r=e.gl;this.nextStencilID=1,this.currentStencilSource=void 0;var n=t.create();t.ortho(n,0,this.width,this.height,0,0,1),t.scale(n,n,[r.drawingBufferWidth,r.drawingBufferHeight,0]),this.useProgram(\"clippingMask\").draw(e,r.TRIANGLES,At.disabled,this.stencilClearMode,St.disabled,Et.disabled,Or(n),\"$clipping\",this.viewportBuffer,this.quadTriangleIndexBuffer,this.viewportSegments)},_n.prototype._renderTileClippingMasks=function(t,e){if(this.currentStencilSource!==t.source&&t.isTileClipped()&&e&&e.length){this.currentStencilSource=t.source;var r=this.context,n=r.gl;this.nextStencilID+e.length>256&&this.clearStencil(),r.setColorMode(St.disabled),r.setDepthMode(At.disabled);var i=this.useProgram(\"clippingMask\");this._tileClippingMaskIDs={};for(var a=0,o=e;a<o.length;a+=1){var s=o[a],l=this._tileClippingMaskIDs[s.key]=this.nextStencilID++;i.draw(r,n.TRIANGLES,At.disabled,new Mt({func:n.ALWAYS,mask:0},l,255,n.KEEP,n.KEEP,n.REPLACE),St.disabled,Et.disabled,Or(s.posMatrix),\"$clipping\",this.tileExtentBuffer,this.quadTriangleIndexBuffer,this.tileExtentSegments)}}},_n.prototype.stencilModeFor3D=function(){this.currentStencilSource=void 0,this.nextStencilID+1>256&&this.clearStencil();var t=this.nextStencilID++,e=this.context.gl;return new Mt({func:e.NOTEQUAL,mask:255},t,255,e.KEEP,e.KEEP,e.REPLACE)},_n.prototype.stencilModeForClipping=function(t){var e=this.context.gl;return new Mt({func:e.EQUAL,mask:255},this._tileClippingMaskIDs[t.key],0,e.KEEP,e.KEEP,e.REPLACE)},_n.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<a;s++)o[s+i]=new Mt({func:r.GEQUAL,mask:255},s+this.nextStencilID,255,r.KEEP,r.KEEP,r.REPLACE);return this.nextStencilID+=a,[o,n]}return[(e={},e[i]=Mt.disabled,e),n]},_n.prototype.colorModeForRenderPass=function(){var e=this.context.gl;if(this._showOverdrawInspector){return new St([e.CONSTANT_COLOR,e.ONE],new t.Color(1/8,1/8,1/8,0),[!0,!0,!0,!0])}return\"opaque\"===this.renderPass?St.unblended:St.alphaBlended},_n.prototype.depthModeForSublayer=function(t,e,r){if(!this.opaquePassEnabledForLayer())return At.disabled;var n=1-((1+this.currentLayer)*this.numSublayers+t)*this.depthEpsilon;return new At(r||this.context.gl.LEQUAL,e,[n,n])},_n.prototype.opaquePassEnabledForLayer=function(){return this.currentLayer<this.opaquePassCutoff},_n.prototype.render=function(e,r){var n=this;this.style=e,this.options=r,this.lineAtlas=e.lineAtlas,this.imageManager=e.imageManager,this.glyphManager=e.glyphManager,this.symbolFadeChange=e.placement.symbolFadeChange(t.browser.now()),this.imageManager.beginFrame();var i=this.style._order,a=this.style.sourceCaches;for(var o in a){var s=a[o];s.used&&s.prepare(this.context)}var l,c,u={},f={},h={};for(var p in a){var d=a[p];u[p]=d.getVisibleCoordinates(),f[p]=u[p].slice().reverse(),h[p]=d.getVisibleCoordinates(!0).reverse()}this.opaquePassCutoff=1/0;for(var m=0;m<i.length;m++){var g=i[m];if(this.style._layers[g].is3D()){this.opaquePassCutoff=m;break}}this.renderPass=\"offscreen\";for(var v=0,y=i;v<y.length;v+=1){var x=y[v],b=this.style._layers[x];if(b.hasOffscreenPass()&&!b.isHidden(this.transform.zoom)){var _=f[b.source];(\"custom\"===b.type||_.length)&&this.renderLayer(this,a[b.source],b,_)}}for(this.context.bindFramebuffer.set(null),this.context.clear({color:r.showOverdrawInspector?t.Color.black:t.Color.transparent,depth:1}),this.clearStencil(),this._showOverdrawInspector=r.showOverdrawInspector,this.depthRangeFor3D=[0,1-(e._order.length+2)*this.numSublayers*this.depthEpsilon],this.renderPass=\"opaque\",this.currentLayer=i.length-1;this.currentLayer>=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.currentLayer<i.length;this.currentLayer++){var A=this.style._layers[i[this.currentLayer]],M=a[A.source],S=(\"symbol\"===A.type?h:f)[A.source];this._renderTileClippingMasks(A,u[A.source]),this.renderLayer(this,M,A,S)}this.options.showTileBoundaries&&(t.values(this.style._layers).forEach((function(t){t.source&&!t.isHidden(n.transform.zoom)&&(t.source!==(c&&c.id)&&(c=n.style.sourceCaches[t.source]),(!l||l.getSource().maxzoom<c.getSource().maxzoom)&&(l=c))})),l&&bn.debug(this,l,l.getVisibleCoordinates()));this.options.showPadding&&mn(this),this.context.setDefault()},_n.prototype.renderLayer=function(t,e,r,n){r.isHidden(this.transform.zoom)||(\"background\"===r.type||\"custom\"===r.type||n.length)&&(this.id=r.id,this.gpuTimingStart(r),bn[r.type](t,e,r,n,this.style.placement.variableOffsets),this.gpuTimingEnd())},_n.prototype.gpuTimingStart=function(t){if(this.options.gpuTiming){var e=this.context.extTimerQuery,r=this.gpuTimers[t.id];r||(r=this.gpuTimers[t.id]={calls:0,cpuTime:0,query:e.createQueryEXT()}),r.calls++,e.beginQueryEXT(e.TIME_ELAPSED_EXT,r.query)}},_n.prototype.gpuTimingEnd=function(){if(this.options.gpuTiming){var t=this.context.extTimerQuery;t.endQueryEXT(t.TIME_ELAPSED_EXT)}},_n.prototype.collectGpuTimers=function(){var t=this.gpuTimers;return this.gpuTimers={},t},_n.prototype.queryGpuTimers=function(t){var e={};for(var r in t){var n=t[r],i=this.context.extTimerQuery,a=i.getQueryObjectEXT(n.query,i.QUERY_RESULT_EXT)/1e6;i.deleteQueryEXT(n.query),e[r]=a}return e},_n.prototype.translatePosMatrix=function(e,r,n,i,a){if(!n[0]&&!n[1])return e;var o=a?\"map\"===i?this.transform.angle:0:\"viewport\"===i?-this.transform.angle:0;if(o){var s=Math.sin(o),l=Math.cos(o);n=[n[0]*l-n[1]*s,n[0]*s+n[1]*l]}var c=[a?n[0]:pe(r,n[0],this.transform.zoom),a?n[1]:pe(r,n[1],this.transform.zoom),0],u=new Float32Array(16);return t.translate(u,e,c),u},_n.prototype.saveTileTexture=function(t){var e=this._tileTextures[t.size[0]];e?e.push(t):this._tileTextures[t.size[0]]=[t]},_n.prototype.getTileTexture=function(t){var e=this._tileTextures[t];return e&&e.length>0?e.pop():null},_n.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},_n.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 _r(this.context,xr[t],e,Jr[t],this._showOverdrawInspector)),this.cache[r]},_n.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()},_n.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)},_n.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)}},_n.prototype.destroy=function(){this.emptyTexture.destroy(),this.debugOverlayTexture&&this.debugOverlayTexture.destroy()};var wn=function(t,e){this.points=t,this.planes=e};wn.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 wn(a,o)};var Tn=function(e,r){this.min=e,this.max=r,this.center=t.scale$2([],t.add([],this.min,this.max),.5)};Tn.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<r.length;a++)n[a]=r[a]?this.min[a]:this.center[a],i[a]=r[a]?this.center[a]:this.max[a];return i[2]=this.max[2],new Tn(n,i)},Tn.prototype.distanceX=function(t){return Math.max(Math.min(this.max[0],t[0]),this.min[0])-t[0]},Tn.prototype.distanceY=function(t){return Math.max(Math.min(this.max[1],t[1]),this.min[1])-t[1]},Tn.prototype.intersects=function(e){for(var r=[[this.min[0],this.min[1],0,1],[this.max[0],this.min[1],0,1],[this.max[0],this.max[1],0,1],[this.min[0],this.max[1],0,1]],n=!0,i=0;i<e.planes.length;i++){for(var a=e.planes[i],o=0,s=0;s<r.length;s++)o+=t.dot$1(a,r[s])>=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,f=0;f<e.points.length;f++){var h=e.points[f][l]-this.min[l];c=Math.min(c,h),u=Math.max(u,h)}if(u<0||c>this.max[l]-this.min[l])return 0}return 1};var kn=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};kn.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},kn.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)},kn.prototype.equals=function(t){return this.top===t.top&&this.bottom===t.bottom&&this.left===t.left&&this.right===t.right},kn.prototype.clone=function(){return new kn(this.top,this.bottom,this.left,this.right)},kn.prototype.toJSON=function(){return{top:this.top,bottom:this.bottom,left:this.left,right:this.right}};var An=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 kn,this._posMatrixCache={},this._alignedPosMatrixCache={}},Mn={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}};An.prototype.clone=function(){var t=new An(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},Mn.minZoom.get=function(){return this._minZoom},Mn.minZoom.set=function(t){this._minZoom!==t&&(this._minZoom=t,this.zoom=Math.max(this.zoom,t))},Mn.maxZoom.get=function(){return this._maxZoom},Mn.maxZoom.set=function(t){this._maxZoom!==t&&(this._maxZoom=t,this.zoom=Math.min(this.zoom,t))},Mn.minPitch.get=function(){return this._minPitch},Mn.minPitch.set=function(t){this._minPitch!==t&&(this._minPitch=t,this.pitch=Math.max(this.pitch,t))},Mn.maxPitch.get=function(){return this._maxPitch},Mn.maxPitch.set=function(t){this._maxPitch!==t&&(this._maxPitch=t,this.pitch=Math.min(this.pitch,t))},Mn.renderWorldCopies.get=function(){return this._renderWorldCopies},Mn.renderWorldCopies.set=function(t){void 0===t?t=!0:null===t&&(t=!1),this._renderWorldCopies=t},Mn.worldSize.get=function(){return this.tileSize*this.scale},Mn.centerOffset.get=function(){return this.centerPoint._sub(this.size._div(2))},Mn.size.get=function(){return new t.Point(this.width,this.height)},Mn.bearing.get=function(){return-this.angle/Math.PI*180},Mn.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))},Mn.pitch.get=function(){return this._pitch/Math.PI*180},Mn.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())},Mn.fov.get=function(){return this._fov/Math.PI*180},Mn.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())},Mn.zoom.get=function(){return this._zoom},Mn.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())},Mn.center.get=function(){return this._center},Mn.center.set=function(t){t.lat===this._center.lat&&t.lng===this._center.lng||(this._unmodified=!1,this._center=t,this._constrain(),this._calcMatrices())},Mn.padding.get=function(){return this._edgeInsets.toJSON()},Mn.padding.set=function(t){this._edgeInsets.equals(t)||(this._unmodified=!1,this._edgeInsets.interpolate(this._edgeInsets,t,1),this._calcMatrices())},Mn.centerPoint.get=function(){return this._edgeInsets.getCenter(this.width,this.height)},An.prototype.isPaddingEqual=function(t){return this._edgeInsets.equals(t)},An.prototype.interpolatePadding=function(t,e,r){this._unmodified=!1,this._edgeInsets.interpolate(t,e,r),this._constrain(),this._calcMatrices()},An.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)},An.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},An.prototype.coveringTiles=function(e){var r=this.coveringZoomLevel(e),n=r;if(void 0!==e.minzoom&&r<e.minzoom)return[];void 0!==e.maxzoom&&r>e.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=wn.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 Tn([t*a,0,0],[(t+1)*a,a,0]),zoom:0,x:0,y:0,wrap:t,fullyVisible:!1}},u=[],f=[],h=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,v=m.y,y=m.fullyVisible;if(!y){var x=m.aabb.intersects(s);if(0===x)continue;y=2===x}var b=m.aabb.distanceX(o),_=m.aabb.distanceY(o),w=Math.max(Math.abs(b),Math.abs(_)),T=3+(1<<h-m.zoom)-2;if(m.zoom===h||w>T&&m.zoom>=l)f.push({tileID:new t.OverscaledTileID(m.zoom===h?p:m.zoom,m.wrap,m.zoom,g,v),distanceSq:t.sqrLen([o[0]-.5-g,o[1]-.5-v])});else for(var k=0;k<4;k++){var A=(g<<1)+k%2,M=(v<<1)+(k>>1);u.push({aabb:m.aabb.quadrant(k),zoom:m.zoom+1,x:A,y:M,wrap:m.wrap,fullyVisible:y})}}return f.sort((function(t,e){return t.distanceSq-e.distanceSq})).map((function(t){return t.tileID}))},An.prototype.resize=function(t,e){this.width=t,this.height=e,this.pixelsToGLUnits=[2/t,-2/e],this._constrain(),this._calcMatrices()},Mn.unmodified.get=function(){return this._unmodified},An.prototype.zoomScale=function(t){return Math.pow(2,t)},An.prototype.scaleZoom=function(t){return Math.log(t)/Math.LN2},An.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)},An.prototype.unproject=function(e){return new t.MercatorCoordinate(e.x/this.worldSize,e.y/this.worldSize).toLngLat()},Mn.point.get=function(){return this.project(this.center)},An.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())},An.prototype.locationPoint=function(t){return this.coordinatePoint(this.locationCoordinate(t))},An.prototype.pointLocation=function(t){return this.coordinateLocation(this.pointCoordinate(t))},An.prototype.locationCoordinate=function(e){return t.MercatorCoordinate.fromLngLat(e)},An.prototype.coordinateLocation=function(t){return t.toLngLat()},An.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,f=n[2]/a,h=u===f?0:(0-u)/(f-u);return new t.MercatorCoordinate(t.number(o,s,h)/this.worldSize,t.number(l,c,h)/this.worldSize)},An.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])},An.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)))},An.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},An.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])},An.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]},An.prototype.customLayerMatrix=function(){return this.mercatorMatrix.slice()},An.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 f=this.latRange;a=t.mercatorYfromLat(f[1])*this.worldSize,e=(o=t.mercatorYfromLat(f[0])*this.worldSize)-a<c.y?c.y/(o-a):0}if(this.lngRange){var h=this.lngRange;s=t.mercatorXfromLng(h[0])*this.worldSize,r=(l=t.mercatorXfromLng(h[1])*this.worldSize)-s<c.x?c.x/(l-s):0}var p=this.point,d=Math.max(r||0,e||0);if(d)return this.center=this.unproject(new t.Point(r?(l+s)/2:p.x,e?(o+a)/2:p.y)),this.zoom+=this.scaleZoom(d),this._unmodified=u,void(this._constraining=!1);if(this.latRange){var m=p.y,g=c.y/2;m-g<a&&(i=a+g),m+g>o&&(i=o-g)}if(this.lngRange){var v=p.x,y=c.x/2;v-y<s&&(n=s+y),v+y>l&&(n=l-y)}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}},An.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,f=new Float64Array(16);t.perspective(f,this._fov,this.width/this.height,u,c),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),m=Math.sin(this.angle),g=s-Math.round(s)+d*h+m*p,v=l-Math.round(l)+d*p+m*h,y=new Float64Array(f);if(t.translate(y,y,[g>.5?g-1:g,v>.5?v-1:v,0]),this.alignedProjMatrix=y,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={}}},An.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},An.prototype.getCameraPoint=function(){var e=this._pitch,r=Math.tan(e)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new t.Point(0,r))},An.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<l.length;s+=1){var c=l[s];n=Math.min(n,c.x),i=Math.min(i,c.y),a=Math.max(a,c.x),o=Math.max(o,c.y)}return[new t.Point(n,i),new t.Point(a,i),new t.Point(a,o),new t.Point(n,o),new t.Point(n,i)]},Object.defineProperties(An.prototype,Mn);var Sn=function(e){var r,n,i,a,o;this._hashName=e&&encodeURIComponent(e),t.bindAll([\"_getCurrentHash\",\"_onHashChange\",\"_updateHash\"],this),this._updateHash=(r=this._updateHashUnthrottled.bind(this),n=300,i=!1,a=null,o=function(){a=null,i&&(r(),a=setTimeout(o,n),i=!1)},function(){return i=!0,a||o(),a})};Sn.prototype.addTo=function(e){return this._map=e,t.window.addEventListener(\"hashchange\",this._onHashChange,!1),this._map.on(\"moveend\",this._updateHash),this},Sn.prototype.remove=function(){return t.window.removeEventListener(\"hashchange\",this._onHashChange,!1),this._map.off(\"moveend\",this._updateHash),clearTimeout(this._updateHash()),delete this._map,this},Sn.prototype.getHashString=function(e){var r=this._map.getCenter(),n=Math.round(100*this._map.getZoom())/100,i=Math.ceil((n*Math.LN2+Math.log(512/360/.5))/Math.LN10),a=Math.pow(10,i),o=Math.round(r.lng*a)/a,s=Math.round(r.lat*a)/a,l=this._map.getBearing(),c=this._map.getPitch(),u=\"\";if(u+=e?\"/\"+o+\"/\"+s+\"/\"+n:n+\"/\"+s+\"/\"+o,(l||c)&&(u+=\"/\"+Math.round(10*l)/10),c&&(u+=\"/\"+Math.round(c)),this._hashName){var f=this._hashName,h=!1,p=t.window.location.hash.slice(1).split(\"&\").map((function(t){var e=t.split(\"=\")[0];return e===f?(h=!0,e+\"=\"+u):t})).filter((function(t){return t}));return h||p.push(f+\"=\"+u),\"#\"+p.join(\"&\")}return\"#\"+u},Sn.prototype._getCurrentHash=function(){var e,r=this,n=t.window.location.hash.replace(\"#\",\"\");return this._hashName?(n.split(\"&\").map((function(t){return t.split(\"=\")})).forEach((function(t){t[0]===r._hashName&&(e=t)})),(e&&e[1]||\"\").split(\"/\")):n.split(\"/\")},Sn.prototype._onHashChange=function(){var t=this._getCurrentHash();if(t.length>=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},Sn.prototype._updateHashUnthrottled=function(){var e=this.getHashString();try{t.window.history.replaceState(t.window.history.state,\"\",e)}catch(t){}};var En={linearity:.3,easing:t.bezier(0,0,.3,1)},Ln=t.extend({deceleration:2500,maxSpeed:1400},En),Cn=t.extend({deceleration:20,maxSpeed:1400},En),Pn=t.extend({deceleration:1e3,maxSpeed:360},En),In=t.extend({deceleration:1e3,maxSpeed:90},En),On=function(t){this._map=t,this.clear()};function zn(t,e){(!t.duration||t.duration<e.duration)&&(t.duration=e.duration,t.easing=e.easing)}function Dn(e,r,n){var i=n.maxSpeed,a=n.linearity,o=n.deceleration,s=t.clamp(e*a/(r/1e3),-i,i),l=Math.abs(s)/(o*a);return{easing:n.easing,duration:1e3*l,amount:s*(l/2)}}On.prototype.clear=function(){this._inertiaBuffer=[]},On.prototype.record=function(e){this._drainInertiaBuffer(),this._inertiaBuffer.push({time:t.browser.now(),settings:e})},On.prototype._drainInertiaBuffer=function(){for(var e=this._inertiaBuffer,r=t.browser.now();e.length>0&&r-e[0].time>160;)e.shift()},On.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<i.length;n+=1){var a=i[n].settings;r.zoom+=a.zoomDelta||0,r.bearing+=a.bearingDelta||0,r.pitch+=a.pitchDelta||0,a.panDelta&&r.pan._add(a.panDelta),a.around&&(r.around=a.around),a.pinchAround&&(r.pinchAround=a.pinchAround)}var o=this._inertiaBuffer[this._inertiaBuffer.length-1].time-this._inertiaBuffer[0].time,s={};if(r.pan.mag()){var l=Dn(r.pan.mag(),o,t.extend({},Ln,e||{}));s.offset=r.pan.mult(l.amount/r.pan.mag()),s.center=this._map.transform.center,zn(s,l)}if(r.zoom){var c=Dn(r.zoom,o,Cn);s.zoom=this._map.transform.zoom+c.amount,zn(s,c)}if(r.bearing){var u=Dn(r.bearing,o,Pn);s.bearing=this._map.transform.bearing+t.clamp(u.amount,-179,179),zn(s,u)}if(r.pitch){var f=Dn(r.pitch,o,In);s.pitch=this._map.transform.pitch+f.amount,zn(s,f)}if(s.zoom||s.bearing){var h=void 0===r.pinchAround?r.around:r.pinchAround;s.around=h?this._map.unproject(h):this._map.getCenter()}return this.clear(),t.extend(s,{noMoveStart:!0})}};var Rn=function(e){function n(n,i,a,o){void 0===o&&(o={});var s=r.mousePos(i.getCanvasContainer(),a),l=i.unproject(s);e.call(this,n,t.extend({point:s,lngLat:l,originalEvent:a},o)),this._defaultPrevented=!1,this.target=i}e&&(n.__proto__=e),n.prototype=Object.create(e&&e.prototype),n.prototype.constructor=n;var i={defaultPrevented:{configurable:!0}};return n.prototype.preventDefault=function(){this._defaultPrevented=!0},i.defaultPrevented.get=function(){return this._defaultPrevented},Object.defineProperties(n.prototype,i),n}(t.Event),Fn=function(e){function n(n,i,a){var o=\"touchend\"===n?a.changedTouches:a.touches,s=r.touchPos(i.getCanvasContainer(),o),l=s.map((function(t){return i.unproject(t)})),c=s.reduce((function(t,e,r,n){return t.add(e.div(n.length))}),new t.Point(0,0)),u=i.unproject(c);e.call(this,n,{points:s,point:c,lngLats:l,lngLat:u,originalEvent:a}),this._defaultPrevented=!1}e&&(n.__proto__=e),n.prototype=Object.create(e&&e.prototype),n.prototype.constructor=n;var i={defaultPrevented:{configurable:!0}};return n.prototype.preventDefault=function(){this._defaultPrevented=!0},i.defaultPrevented.get=function(){return this._defaultPrevented},Object.defineProperties(n.prototype,i),n}(t.Event),Bn=function(t){function e(e,r,n){t.call(this,e,{originalEvent:n}),this._defaultPrevented=!1}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={defaultPrevented:{configurable:!0}};return e.prototype.preventDefault=function(){this._defaultPrevented=!0},r.defaultPrevented.get=function(){return this._defaultPrevented},Object.defineProperties(e.prototype,r),e}(t.Event),Nn=function(t,e){this._map=t,this._clickTolerance=e.clickTolerance};Nn.prototype.reset=function(){delete this._mousedownPos},Nn.prototype.wheel=function(t){return this._firePreventable(new Bn(t.type,this._map,t))},Nn.prototype.mousedown=function(t,e){return this._mousedownPos=e,this._firePreventable(new Rn(t.type,this._map,t))},Nn.prototype.mouseup=function(t){this._map.fire(new Rn(t.type,this._map,t))},Nn.prototype.click=function(t,e){this._mousedownPos&&this._mousedownPos.dist(e)>=this._clickTolerance||this._map.fire(new Rn(t.type,this._map,t))},Nn.prototype.dblclick=function(t){return this._firePreventable(new Rn(t.type,this._map,t))},Nn.prototype.mouseover=function(t){this._map.fire(new Rn(t.type,this._map,t))},Nn.prototype.mouseout=function(t){this._map.fire(new Rn(t.type,this._map,t))},Nn.prototype.touchstart=function(t){return this._firePreventable(new Fn(t.type,this._map,t))},Nn.prototype.touchmove=function(t){this._map.fire(new Fn(t.type,this._map,t))},Nn.prototype.touchend=function(t){this._map.fire(new Fn(t.type,this._map,t))},Nn.prototype.touchcancel=function(t){this._map.fire(new Fn(t.type,this._map,t))},Nn.prototype._firePreventable=function(t){if(this._map.fire(t),t.defaultPrevented)return{}},Nn.prototype.isEnabled=function(){return!0},Nn.prototype.isActive=function(){return!1},Nn.prototype.enable=function(){},Nn.prototype.disable=function(){};var jn=function(t){this._map=t};jn.prototype.reset=function(){this._delayContextMenu=!1,delete this._contextMenuEvent},jn.prototype.mousemove=function(t){this._map.fire(new Rn(t.type,this._map,t))},jn.prototype.mousedown=function(){this._delayContextMenu=!0},jn.prototype.mouseup=function(){this._delayContextMenu=!1,this._contextMenuEvent&&(this._map.fire(new Rn(\"contextmenu\",this._map,this._contextMenuEvent)),delete this._contextMenuEvent)},jn.prototype.contextmenu=function(t){this._delayContextMenu?this._contextMenuEvent=t:this._map.fire(new Rn(t.type,this._map,t)),this._map.listens(\"contextmenu\")&&t.preventDefault()},jn.prototype.isEnabled=function(){return!0},jn.prototype.isActive=function(){return!1},jn.prototype.enable=function(){},jn.prototype.disable=function(){};var Un=function(t,e){this._map=t,this._el=t.getCanvasContainer(),this._container=t.getContainer(),this._clickTolerance=e.clickTolerance||1};function Vn(t,e){for(var r={},n=0;n<t.length;n++)r[t[n].identifier]=e[n];return r}Un.prototype.isEnabled=function(){return!!this._enabled},Un.prototype.isActive=function(){return!!this._active},Un.prototype.enable=function(){this.isEnabled()||(this._enabled=!0)},Un.prototype.disable=function(){this.isEnabled()&&(this._enabled=!1)},Un.prototype.mousedown=function(t,e){this.isEnabled()&&t.shiftKey&&0===t.button&&(r.disableDrag(),this._startPos=this._lastPos=e,this._active=!0)},Un.prototype.mousemoveWindow=function(t,e){if(this._active){var n=e;if(!(this._lastPos.equals(n)||!this._box&&n.dist(this._startPos)<this._clickTolerance)){var i=this._startPos;this._lastPos=n,this._box||(this._box=r.create(\"div\",\"mapboxgl-boxzoom\",this._container),this._container.classList.add(\"mapboxgl-crosshair\"),this._fireEvent(\"boxzoomstart\",t));var a=Math.min(i.x,n.x),o=Math.max(i.x,n.x),s=Math.min(i.y,n.y),l=Math.max(i.y,n.y);r.setTransform(this._box,\"translate(\"+a+\"px,\"+s+\"px)\"),this._box.style.width=o-a+\"px\",this._box.style.height=l-s+\"px\"}}},Un.prototype.mouseupWindow=function(e,n){var i=this;if(this._active&&0===e.button){var a=this._startPos,o=n;if(this.reset(),r.suppressClick(),a.x!==o.x||a.y!==o.y)return this._map.fire(new t.Event(\"boxzoomend\",{originalEvent:e})),{cameraAnimation:function(t){return t.fitScreenCoordinates(a,o,i._map.getBearing(),{linear:!0})}};this._fireEvent(\"boxzoomcancel\",e)}},Un.prototype.keydown=function(t){this._active&&27===t.keyCode&&(this.reset(),this._fireEvent(\"boxzoomcancel\",t))},Un.prototype.reset=function(){this._active=!1,this._container.classList.remove(\"mapboxgl-crosshair\"),this._box&&(r.remove(this._box),this._box=null),r.enableDrag(),delete this._startPos,delete this._lastPos},Un.prototype._fireEvent=function(e,r){return this._map.fire(new t.Event(e,{originalEvent:r}))};var Hn=function(t){this.reset(),this.numTouches=t.numTouches};Hn.prototype.reset=function(){delete this.centroid,delete this.startTime,delete this.touches,this.aborted=!1},Hn.prototype.touchstart=function(e,r,n){(this.centroid||n.length>this.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;n<i.length;n+=1){var a=i[n];r._add(a)}return r.div(e.length)}(r),this.touches=Vn(n,r)))},Hn.prototype.touchmove=function(t,e,r){if(!this.aborted&&this.centroid){var n=Vn(r,e);for(var i in this.touches){var a=this.touches[i],o=n[i];(!o||o.dist(a)>30)&&(this.aborted=!0)}}},Hn.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 qn=function(t){this.singleTap=new Hn(t),this.numTaps=t.numTaps,this.reset()};qn.prototype.reset=function(){this.lastTime=1/0,delete this.lastTap,this.count=0,this.singleTap.reset()},qn.prototype.touchstart=function(t,e,r){this.singleTap.touchstart(t,e,r)},qn.prototype.touchmove=function(t,e,r){this.singleTap.touchmove(t,e,r)},qn.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 Gn=function(){this._zoomIn=new qn({numTouches:1,numTaps:2}),this._zoomOut=new qn({numTouches:2,numTaps:1}),this.reset()};Gn.prototype.reset=function(){this._active=!1,this._zoomIn.reset(),this._zoomOut.reset()},Gn.prototype.touchstart=function(t,e,r){this._zoomIn.touchstart(t,e,r),this._zoomOut.touchstart(t,e,r)},Gn.prototype.touchmove=function(t,e,r){this._zoomIn.touchmove(t,e,r),this._zoomOut.touchmove(t,e,r)},Gn.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},Gn.prototype.touchcancel=function(){this.reset()},Gn.prototype.enable=function(){this._enabled=!0},Gn.prototype.disable=function(){this._enabled=!1,this.reset()},Gn.prototype.isEnabled=function(){return this._enabled},Gn.prototype.isActive=function(){return this._active};var Yn=function(t){this.reset(),this._clickTolerance=t.clickTolerance||1};Yn.prototype.reset=function(){this._active=!1,this._moved=!1,delete this._lastPoint,delete this._eventButton},Yn.prototype._correctButton=function(t,e){return!1},Yn.prototype._move=function(t,e){return{}},Yn.prototype.mousedown=function(t,e){if(!this._lastPoint){var n=r.mouseButton(t);this._correctButton(t,n)&&(this._lastPoint=e,this._eventButton=n)}},Yn.prototype.mousemoveWindow=function(t,e){var r=this._lastPoint;if(r&&(t.preventDefault(),this._moved||!(e.dist(r)<this._clickTolerance)))return this._moved=!0,this._lastPoint=e,this._move(r,e)},Yn.prototype.mouseupWindow=function(t){r.mouseButton(t)===this._eventButton&&(this._moved&&r.suppressClick(),this.reset())},Yn.prototype.enable=function(){this._enabled=!0},Yn.prototype.disable=function(){this._enabled=!1,this.reset()},Yn.prototype.isEnabled=function(){return this._enabled},Yn.prototype.isActive=function(){return this._active};var Wn=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.mousedown=function(e,r){t.prototype.mousedown.call(this,e,r),this._lastPoint&&(this._active=!0)},e.prototype._correctButton=function(t,e){return 0===e&&!t.ctrlKey},e.prototype._move=function(t,e){return{around:e,panDelta:e.sub(t)}},e}(Yn),Xn=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._correctButton=function(t,e){return 0===e&&t.ctrlKey||2===e},e.prototype._move=function(t,e){var r=.8*(e.x-t.x);if(r)return this._active=!0,{bearingDelta:r}},e.prototype.contextmenu=function(t){t.preventDefault()},e}(Yn),Zn=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._correctButton=function(t,e){return 0===e&&t.ctrlKey||2===e},e.prototype._move=function(t,e){var r=-.5*(e.y-t.y);if(r)return this._active=!0,{pitchDelta:r}},e.prototype.contextmenu=function(t){t.preventDefault()},e}(Yn),Jn=function(t){this._minTouches=1,this._clickTolerance=t.clickTolerance||1,this.reset()};Jn.prototype.reset=function(){this._active=!1,this._touches={},this._sum=new t.Point(0,0)},Jn.prototype.touchstart=function(t,e,r){return this._calculateTransform(t,e,r)},Jn.prototype.touchmove=function(t,e,r){if(this._active)return t.preventDefault(),this._calculateTransform(t,e,r)},Jn.prototype.touchend=function(t,e,r){this._calculateTransform(t,e,r),this._active&&r.length<this._minTouches&&this.reset()},Jn.prototype.touchcancel=function(){this.reset()},Jn.prototype._calculateTransform=function(e,r,n){n.length>0&&(this._active=!0);var i=Vn(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,!(s<this._minTouches)&&o.mag()){var f=o.div(s);if(this._sum._add(f),!(this._sum.mag()<this._clickTolerance))return{around:a.div(s),panDelta:f}}},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=function(){this.reset()};function Qn(t,e,r){for(var n=0;n<t.length;n++)if(t[n].identifier===r)return e[n]}Kn.prototype.reset=function(){this._active=!1,delete this._firstTwoTouches},Kn.prototype._start=function(t){},Kn.prototype._move=function(t,e,r){return{}},Kn.prototype.touchstart=function(t,e,r){this._firstTwoTouches||r.length<2||(this._firstTwoTouches=[r[0].identifier,r[1].identifier],this._start([e[0],e[1]]))},Kn.prototype.touchmove=function(t,e,r){if(this._firstTwoTouches){t.preventDefault();var n=this._firstTwoTouches,i=n[0],a=n[1],o=Qn(r,e,i),s=Qn(r,e,a);if(o&&s){var l=this._aroundCenter?null:o.add(s).div(2);return this._move([o,s],l,t)}}},Kn.prototype.touchend=function(t,e,n){if(this._firstTwoTouches){var i=this._firstTwoTouches,a=i[0],o=i[1],s=Qn(n,e,a),l=Qn(n,e,o);s&&l||(this._active&&r.suppressClick(),this.reset())}},Kn.prototype.touchcancel=function(){this.reset()},Kn.prototype.enable=function(t){this._enabled=!0,this._aroundCenter=!!t&&\"center\"===t.around},Kn.prototype.disable=function(){this._enabled=!1,this.reset()},Kn.prototype.isEnabled=function(){return this._enabled},Kn.prototype.isActive=function(){return this._active};function $n(t,e){return Math.log(t/e)/Math.LN2}var ti=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),delete this._distance,delete this._startDistance},e.prototype._start=function(t){this._startDistance=this._distance=t[0].dist(t[1])},e.prototype._move=function(t,e){var r=this._distance;if(this._distance=t[0].dist(t[1]),this._active||!(Math.abs($n(this._distance,this._startDistance))<.1))return this._active=!0,{zoomDelta:$n(this._distance,r),pinchAround:e}},e}(Kn);function ei(t,e){return 180*t.angleWith(e)/Math.PI}var ri=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),delete this._minDiameter,delete this._startVector,delete this._vector},e.prototype._start=function(t){this._startVector=this._vector=t[0].sub(t[1]),this._minDiameter=t[0].dist(t[1])},e.prototype._move=function(t,e){var r=this._vector;if(this._vector=t[0].sub(t[1]),this._active||!this._isBelowThreshold(this._vector))return this._active=!0,{bearingDelta:ei(this._vector,r),pinchAround:e}},e.prototype._isBelowThreshold=function(t){this._minDiameter=Math.min(this._minDiameter,t.mag());var e=25/(Math.PI*this._minDiameter)*360,r=ei(t,this._startVector);return Math.abs(r)<e},e}(Kn);function ni(t){return Math.abs(t.y)>Math.abs(t.x)}var ii=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,ni(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){this._lastPoints=t,this._active=!0;return{pitchDelta:-.5*((n.y+i.y)/2)}}},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 ni(t)&&ni(e)&&a}},e}(Kn),ai={panStep:100,bearingStep:15,pitchStep:10},oi=function(){var t=ai;this._panStep=t.panStep,this._bearingStep=t.bearingStep,this._pitchStep=t.pitchStep};function si(t){return t*(2-t)}oi.prototype.reset=function(){this._active=!1},oi.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{cameraAnimation:function(s){var l=s.getZoom();s.easeTo({duration:300,easeId:\"keyboardHandler\",easing:si,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})}}}},oi.prototype.enable=function(){this._enabled=!0},oi.prototype.disable=function(){this._enabled=!1,this.reset()},oi.prototype.isEnabled=function(){return this._enabled},oi.prototype.isActive=function(){return this._active};var li=function(e,r){this._map=e,this._el=e.getCanvasContainer(),this._handler=r,this._delta=0,this._defaultZoomRate=.01,this._wheelZoomRate=1/450,t.bindAll([\"_onWheel\",\"_onTimeout\",\"_onScrollFrame\",\"_onScrollFinished\"],this)};li.prototype.setZoomRate=function(t){this._defaultZoomRate=t},li.prototype.setWheelZoomRate=function(t){this._wheelZoomRate=t},li.prototype.isEnabled=function(){return!!this._enabled},li.prototype.isActive=function(){return!!this._active||void 0!==this._finishTimeout},li.prototype.isZooming=function(){return!!this._zooming},li.prototype.enable=function(t){this.isEnabled()||(this._enabled=!0,this._aroundCenter=t&&\"center\"===t.around)},li.prototype.disable=function(){this.isEnabled()&&(this._enabled=!1)},li.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%4.000244140625==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()}},li.prototype._onTimeout=function(t){this._type=\"wheel\",this._delta-=this._lastValue,this._active||this._start(t)},li.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())}},li.prototype.renderFrame=function(){return this._onScrollFrame()},li.prototype._onScrollFrame=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)>4.000244140625?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 f=Math.min((t.browser.now()-this._lastWheelEventTime)/200,1),h=c(f);o=t.number(l,s,h),f<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}}},li.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},li.prototype.reset=function(){this._active=!1};var ci=function(t,e){this._clickZoom=t,this._tapZoom=e};ci.prototype.enable=function(){this._clickZoom.enable(),this._tapZoom.enable()},ci.prototype.disable=function(){this._clickZoom.disable(),this._tapZoom.disable()},ci.prototype.isEnabled=function(){return this._clickZoom.isEnabled()&&this._tapZoom.isEnabled()},ci.prototype.isActive=function(){return this._clickZoom.isActive()||this._tapZoom.isActive()};var ui=function(){this.reset()};ui.prototype.reset=function(){this._active=!1},ui.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})}}},ui.prototype.enable=function(){this._enabled=!0},ui.prototype.disable=function(){this._enabled=!1,this.reset()},ui.prototype.isEnabled=function(){return this._enabled},ui.prototype.isActive=function(){return this._active};var fi=function(){this._tap=new qn({numTouches:1,numTaps:1}),this.reset()};fi.prototype.reset=function(){this._active=!1,delete this._swipePoint,delete this._swipeTouch,delete this._tapTime,this._tap.reset()},fi.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))},fi.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)},fi.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)},fi.prototype.touchcancel=function(){this.reset()},fi.prototype.enable=function(){this._enabled=!0},fi.prototype.disable=function(){this._enabled=!1,this.reset()},fi.prototype.isEnabled=function(){return this._enabled},fi.prototype.isActive=function(){return this._active};var hi=function(t,e,r){this._el=t,this._mousePan=e,this._touchPan=r};hi.prototype.enable=function(t){this._inertiaOptions=t||{},this._mousePan.enable(),this._touchPan.enable(),this._el.classList.add(\"mapboxgl-touch-drag-pan\")},hi.prototype.disable=function(){this._mousePan.disable(),this._touchPan.disable(),this._el.classList.remove(\"mapboxgl-touch-drag-pan\")},hi.prototype.isEnabled=function(){return this._mousePan.isEnabled()&&this._touchPan.isEnabled()},hi.prototype.isActive=function(){return this._mousePan.isActive()||this._touchPan.isActive()};var pi=function(t,e,r){this._pitchWithRotate=t.pitchWithRotate,this._mouseRotate=e,this._mousePitch=r};pi.prototype.enable=function(){this._mouseRotate.enable(),this._pitchWithRotate&&this._mousePitch.enable()},pi.prototype.disable=function(){this._mouseRotate.disable(),this._mousePitch.disable()},pi.prototype.isEnabled=function(){return this._mouseRotate.isEnabled()&&(!this._pitchWithRotate||this._mousePitch.isEnabled())},pi.prototype.isActive=function(){return this._mouseRotate.isActive()||this._mousePitch.isActive()};var di=function(t,e,r,n){this._el=t,this._touchZoom=e,this._touchRotate=r,this._tapDragZoom=n,this._rotationDisabled=!1,this._enabled=!0};di.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\")},di.prototype.disable=function(){this._touchZoom.disable(),this._touchRotate.disable(),this._tapDragZoom.disable(),this._el.classList.remove(\"mapboxgl-touch-zoom-rotate\")},di.prototype.isEnabled=function(){return this._touchZoom.isEnabled()&&(this._rotationDisabled||this._touchRotate.isEnabled())&&this._tapDragZoom.isEnabled()},di.prototype.isActive=function(){return this._touchZoom.isActive()||this._touchRotate.isActive()||this._tapDragZoom.isActive()},di.prototype.disableRotation=function(){this._rotationDisabled=!0,this._touchRotate.disable()},di.prototype.enableRotation=function(){this._rotationDisabled=!1,this._touchZoom.isEnabled()&&this._touchRotate.enable()};var mi=function(t){return t.zoom||t.drag||t.pitch||t.rotate},gi=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 vi(t){return t.panDelta&&t.panDelta.mag()||t.zoomDelta||t.bearingDelta||t.pitchDelta}var yi=function(e,n){this._map=e,this._el=this._map.getCanvasContainer(),this._handlers=[],this._handlersById={},this._changes=[],this._inertia=new On(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:!1}],[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;a<o.length;a+=1){var s=o[a],l=s[0],c=s[1],u=s[2];r.addEventListener(l,c,l===t.window.document?this.handleWindowEvent:this.handleEvent,u)}};yi.prototype.destroy=function(){for(var e=0,n=this._listeners;e<n.length;e+=1){var i=n[e],a=i[0],o=i[1],s=i[2];r.removeEventListener(a,o,a===t.window.document?this.handleWindowEvent:this.handleEvent,s)}},yi.prototype._addDefaultHandlers=function(t){var e=this._map,r=e.getCanvasContainer();this._add(\"mapEvent\",new Nn(e,t));var n=e.boxZoom=new Un(e,t);this._add(\"boxZoom\",n);var i=new Gn,a=new ui;e.doubleClickZoom=new ci(a,i),this._add(\"tapZoom\",i),this._add(\"clickZoom\",a);var o=new fi;this._add(\"tapDragZoom\",o);var s=e.touchPitch=new ii;this._add(\"touchPitch\",s);var l=new Xn(t),c=new Zn(t);e.dragRotate=new pi(t,l,c),this._add(\"mouseRotate\",l,[\"mousePitch\"]),this._add(\"mousePitch\",c,[\"mouseRotate\"]);var u=new Wn(t),f=new Jn(t);e.dragPan=new hi(r,u,f),this._add(\"mousePan\",u),this._add(\"touchPan\",f,[\"touchZoom\",\"touchRotate\"]);var h=new ri,p=new ti;e.touchZoomRotate=new di(r,p,h,o),this._add(\"touchRotate\",h,[\"touchPan\",\"touchZoom\"]),this._add(\"touchZoom\",p,[\"touchPan\",\"touchRotate\"]);var d=e.scrollZoom=new li(e,this);this._add(\"scrollZoom\",d,[\"mousePan\"]);var m=e.keyboard=new oi;this._add(\"keyboard\",m),this._add(\"blockableMapEvent\",new jn(e));for(var g=0,v=[\"boxZoom\",\"doubleClickZoom\",\"tapDragZoom\",\"touchPitch\",\"dragRotate\",\"dragPan\",\"touchZoomRotate\",\"scrollZoom\",\"keyboard\"];g<v.length;g+=1){var y=v[g];t.interactive&&t[y]&&e[y].enable(t[y])}},yi.prototype._add=function(t,e,r){this._handlers.push({handlerName:t,handler:e,allowed:r}),this._handlersById[t]=e},yi.prototype.stop=function(){if(!this._updatingCamera){for(var t=0,e=this._handlers;t<e.length;t+=1){e[t].handler.reset()}this._inertia.clear(),this._fireEvents({},{}),this._changes=[]}},yi.prototype.isActive=function(){for(var t=0,e=this._handlers;t<e.length;t+=1){if(e[t].handler.isActive())return!0}return!1},yi.prototype.isZooming=function(){return!!this._eventsInProgress.zoom||this._map.scrollZoom.isZooming()},yi.prototype.isRotating=function(){return!!this._eventsInProgress.rotate},yi.prototype.isMoving=function(){return Boolean(mi(this._eventsInProgress))||this.isZooming()},yi.prototype._blockedByActive=function(t,e,r){for(var n in t)if(n!==r&&(!e||e.indexOf(n)<0))return!0;return!1},yi.prototype.handleWindowEvent=function(t){this.handleEvent(t,t.type+\"Window\")},yi.prototype._getMapTouches=function(t){for(var e=[],r=0,n=t;r<n.length;r+=1){var i=n[r],a=i.target;this._el.contains(a)&&e.push(i)}return e},yi.prototype.handleEvent=function(t,e){if(\"blur\"!==t.type){this._updatingCamera=!0;for(var n=\"renderFrame\"===t.type?void 0:t,i={needsRenderFrame:!1},a={},o={},s=t.touches?this._getMapTouches(t.touches):void 0,l=s?r.touchPos(this._el,s):r.mousePos(this._el,t),c=0,u=this._handlers;c<u.length;c+=1){var f=u[c],h=f.handlerName,p=f.handler,d=f.allowed;if(p.isEnabled()){var m=void 0;this._blockedByActive(o,d,h)?p.reset():p[e||t.type]&&(m=p[e||t.type](t,l,s),this.mergeHandlerResult(i,a,m,h,n),m&&m.needsRenderFrame&&this._triggerRenderFrame()),(m||p.isActive())&&(o[h]=p)}}var g={};for(var v in this._previousActiveHandlers)o[v]||(g[v]=n);this._previousActiveHandlers=o,(Object.keys(g).length||vi(i))&&(this._changes.push([i,a,g]),this._triggerRenderFrame()),(Object.keys(o).length||vi(i))&&this._map._stop(!0),this._updatingCamera=!1;var y=i.cameraAnimation;y&&(this._inertia.clear(),this._fireEvents({},{}),this._changes=[],y(this._map))}else this.stop()},yi.prototype.mergeHandlerResult=function(e,r,n,i,a){if(n){t.extend(e,n);var 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)}},yi.prototype._applyChanges=function(){for(var e={},r={},n={},i=0,a=this._changes;i<a.length;i+=1){var o=a[i],s=o[0],l=o[1],c=o[2];s.panDelta&&(e.panDelta=(e.panDelta||new t.Point(0,0))._add(s.panDelta)),s.zoomDelta&&(e.zoomDelta=(e.zoomDelta||0)+s.zoomDelta),s.bearingDelta&&(e.bearingDelta=(e.bearingDelta||0)+s.bearingDelta),s.pitchDelta&&(e.pitchDelta=(e.pitchDelta||0)+s.pitchDelta),void 0!==s.around&&(e.around=s.around),void 0!==s.pinchAround&&(e.pinchAround=s.pinchAround),s.noInertia&&(e.noInertia=s.noInertia),t.extend(r,l),t.extend(n,c)}this._updateMapTransform(e,r,n),this._changes=[]},yi.prototype._updateMapTransform=function(t,e,r){var n=this._map,i=n.transform;if(!vi(t))return this._fireEvents(e,r);var a=t.panDelta,o=t.zoomDelta,s=t.bearingDelta,l=t.pitchDelta,c=t.around,u=t.pinchAround;void 0!==u&&(c=u),n._stop(!0),c=c||n.transform.centerPoint;var f=i.pointLocation(a?c.sub(a):c);s&&(i.bearing+=s),l&&(i.pitch+=l),o&&(i.zoom+=o),i.setLocationAtPoint(f,c),this._map._update(),t.noInertia||this._inertia.record(t),this._fireEvents(e,r)},yi.prototype._fireEvents=function(e,r){var n=this,i=mi(this._eventsInProgress),a=mi(e),o={};for(var s in e){var l=e[s].originalEvent;this._eventsInProgress[s]||(o[s+\"start\"]=l),this._eventsInProgress[s]=e[s]}for(var c in!i&&a&&this._fireEvent(\"movestart\",a.originalEvent),o)this._fireEvent(c,o[c]);for(var u in e.rotate&&(this._bearingChanged=!0),a&&this._fireEvent(\"move\",a.originalEvent),e){var f=e[u].originalEvent;this._fireEvent(u,f)}var h,p={};for(var d in this._eventsInProgress){var m=this._eventsInProgress[d],g=m.handlerName,v=m.originalEvent;this._handlersById[g].isActive()||(delete this._eventsInProgress[d],h=r[g]||v,p[d+\"end\"]=h)}for(var y in p)this._fireEvent(y,p[y]);var x=mi(this._eventsInProgress);if((i||a)&&!x){this._updatingCamera=!0;var b=this._inertia._onMoveEnd(this._map.dragPan._inertiaOptions),_=function(t){return 0!==t&&-n._bearingSnap<t&&t<n._bearingSnap};b?(_(b.bearing||this._map.getBearing())&&(b.bearing=0),this._map.easeTo(b,{originalEvent:h})):(this._map.fire(new t.Event(\"moveend\",{originalEvent:h})),_(this._map.getBearing())&&this._map.resetNorth()),this._bearingChanged=!1,this._updatingCamera=!1}},yi.prototype._fireEvent=function(e,r){this._map.fire(new t.Event(e,r?{originalEvent:r}:{}))},yi.prototype._triggerRenderFrame=function(){var t=this;void 0===this._frameId&&(this._frameId=this._map._requestRenderFrame((function(e){delete t._frameId,t.handleEvent(new gi(\"renderFrame\",{timeStamp:e})),t._applyChanges()})))};var xi=function(e){function r(r,n){e.call(this),this._moving=!1,this._zooming=!1,this.transform=r,this._bearingSnap=n.bearingSnap,t.bindAll([\"_renderFrameCallback\"],this)}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.getCenter=function(){return new t.LngLat(this.transform.center.lng,this.transform.center.lat)},r.prototype.setCenter=function(t,e){return this.jumpTo({center:t},e)},r.prototype.panBy=function(e,r,n){return e=t.Point.convert(e).mult(-1),this.panTo(this.transform.center,t.extend({offset:e},r),n)},r.prototype.panTo=function(e,r,n){return this.easeTo(t.extend({center:e},r),n)},r.prototype.getZoom=function(){return this.transform.zoom},r.prototype.setZoom=function(t,e){return this.jumpTo({zoom:t},e),this},r.prototype.zoomTo=function(e,r,n){return this.easeTo(t.extend({zoom:e},r),n)},r.prototype.zoomIn=function(t,e){return this.zoomTo(this.getZoom()+1,t,e),this},r.prototype.zoomOut=function(t,e){return this.zoomTo(this.getZoom()-1,t,e),this},r.prototype.getBearing=function(){return this.transform.bearing},r.prototype.setBearing=function(t,e){return this.jumpTo({bearing:t},e),this},r.prototype.getPadding=function(){return this.transform.padding},r.prototype.setPadding=function(t,e){return this.jumpTo({padding:t},e),this},r.prototype.rotateTo=function(e,r,n){return this.easeTo(t.extend({bearing:e},r),n)},r.prototype.resetNorth=function(e,r){return this.rotateTo(0,t.extend({duration:1e3},e),r),this},r.prototype.resetNorthPitch=function(e,r){return this.easeTo(t.extend({bearing:0,pitch:0,duration:1e3},e),r),this},r.prototype.snapToNorth=function(t,e){return Math.abs(this.getBearing())<this._bearingSnap?this.resetNorth(t,e):this},r.prototype.getPitch=function(){return this.transform.pitch},r.prototype.setPitch=function(t,e){return this.jumpTo({pitch:t},e),this},r.prototype.cameraForBounds=function(e,r){return e=t.LngLatBounds.convert(e),this._cameraForBoxAndBearing(e.getNorthWest(),e.getSouthEast(),0,r)},r.prototype._cameraForBoxAndBearing=function(e,r,n,i){var a={top:0,bottom:0,right:0,left:0};if(\"number\"==typeof(i=t.extend({padding:a,offset:[0,0],maxZoom:this.transform.maxZoom},i)).padding){var o=i.padding;i.padding={top:o,bottom:o,right:o,left:o}}i.padding=t.extend(a,i.padding);var s=this.transform,l=s.padding,c=s.project(t.LngLat.convert(e)),u=s.project(t.LngLat.convert(r)),f=c.rotate(-n*Math.PI/180),h=u.rotate(-n*Math.PI/180),p=new t.Point(Math.max(f.x,h.x),Math.max(f.y,h.y)),d=new t.Point(Math.min(f.x,h.x),Math.min(f.y,h.y)),m=p.sub(d),g=(s.width-(l.left+l.right+i.padding.left+i.padding.right))/m.x,v=(s.height-(l.top+l.bottom+i.padding.top+i.padding.bottom))/m.y;if(!(v<0||g<0)){var y=Math.min(s.scaleZoom(s.scale*Math.min(g,v)),i.maxZoom),x=t.Point.convert(i.offset),b=(i.padding.left-i.padding.right)/2,_=(i.padding.top-i.padding.bottom)/2,w=new t.Point(x.x+b,x.y+_).mult(s.scale/s.zoomScale(y));return{center:s.unproject(c.add(u).div(2).sub(w)),zoom:y,bearing:n}}t.warnOnce(\"Map cannot fit within canvas with the given bounds, padding, and/or offset.\")},r.prototype.fitBounds=function(t,e,r){return this._fitInternal(this.cameraForBounds(t,e),e,r)},r.prototype.fitScreenCoordinates=function(e,r,n,i,a){return this._fitInternal(this._cameraForBoxAndBearing(this.transform.pointLocation(t.Point.convert(e)),this.transform.pointLocation(t.Point.convert(r)),n,i),i,a)},r.prototype._fitInternal=function(e,r,n){return e?(delete(r=t.extend(e,r)).padding,r.linear?this.easeTo(r,n):this.flyTo(r,n)):this},r.prototype.jumpTo=function(e,r){this.stop();var n=this.transform,i=!1,a=!1,o=!1;return\"zoom\"in e&&n.zoom!==+e.zoom&&(i=!0,n.zoom=+e.zoom),void 0!==e.center&&(n.center=t.LngLat.convert(e.center)),\"bearing\"in e&&n.bearing!==+e.bearing&&(a=!0,n.bearing=+e.bearing),\"pitch\"in e&&n.pitch!==+e.pitch&&(o=!0,n.pitch=+e.pitch),null==e.padding||n.isPaddingEqual(e.padding)||(n.padding=e.padding),this.fire(new t.Event(\"movestart\",r)).fire(new t.Event(\"move\",r)),i&&this.fire(new t.Event(\"zoomstart\",r)).fire(new t.Event(\"zoom\",r)).fire(new t.Event(\"zoomend\",r)),a&&this.fire(new t.Event(\"rotatestart\",r)).fire(new t.Event(\"rotate\",r)).fire(new t.Event(\"rotateend\",r)),o&&this.fire(new t.Event(\"pitchstart\",r)).fire(new t.Event(\"pitch\",r)).fire(new t.Event(\"pitchend\",r)),this.fire(new t.Event(\"moveend\",r))},r.prototype.easeTo=function(e,r){var n=this;this._stop(!1,e.easeId),(!1===(e=t.extend({offset:[0,0],duration:500,easing:t.ease},e)).animate||!e.essential&&t.browser.prefersReducedMotion)&&(e.duration=0);var i=this.transform,a=this.getZoom(),o=this.getBearing(),s=this.getPitch(),l=this.getPadding(),c=\"zoom\"in e?+e.zoom:a,u=\"bearing\"in e?this._normalizeBearing(e.bearing,o):o,f=\"pitch\"in e?+e.pitch:s,h=\"padding\"in e?e.padding:i.padding,p=t.Point.convert(e.offset),d=i.centerPoint.add(p),m=i.pointLocation(d),g=t.LngLat.convert(e.center||m);this._normalizeCenter(g);var v,y,x=i.project(m),b=i.project(g).sub(x),_=i.zoomScale(c-a);e.around&&(v=t.LngLat.convert(e.around),y=i.locationPoint(v));var w={moving:this._moving,zooming:this._zooming,rotating:this._rotating,pitching:this._pitching};return this._zooming=this._zooming||c!==a,this._rotating=this._rotating||o!==u,this._pitching=this._pitching||f!==s,this._padding=!i.isPaddingEqual(h),this._easeId=e.easeId,this._prepareEase(r,e.noMoveStart,w),clearTimeout(this._easeEndTimeoutID),this._ease((function(e){if(n._zooming&&(i.zoom=t.number(a,c,e)),n._rotating&&(i.bearing=t.number(o,u,e)),n._pitching&&(i.pitch=t.number(s,f,e)),n._padding&&(i.interpolatePadding(l,h,e),d=i.centerPoint.add(p)),v)i.setLocationAtPoint(v,y);else{var m=i.zoomScale(i.zoom-a),g=c>a?Math.min(2,_):Math.max(.5,_),w=Math.pow(g,1-e),T=i.unproject(x.add(b.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,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(u-o),m=t.Point.convert(e.offset),g=a.centerPoint.add(m),v=a.pointLocation(g),y=t.LngLat.convert(e.center||v);this._normalizeCenter(y);var x=a.project(v),b=a.project(y).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,u),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),I=function(t){return C(P)/C(P+_*t)},O=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=T<w?-1:1;z=Math.abs(Math.log(T/w))/_,O=function(){return 0},I=function(t){return Math.exp(D*_*t)}}if(\"duration\"in e)e.duration=+e.duration;else{var R=\"screenSpeed\"in e?+e.screenSpeed/_:+e.speed;e.duration=1e3*z/R}return e.maxDuration&&e.duration>e.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/I(i);a.zoom=1===e?u: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(c,p,e),g=a.centerPoint.add(m));var v=1===e?y:a.unproject(x.add(b.mult(O(i))).mult(d));a.setLocationAtPoint(a.renderWorldCopies?v.wrap():v,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()}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)<n&&(e-=360),Math.abs(e+360-r)<n&&(e+=360),e},r.prototype._normalizeCenter=function(t){var e=this.transform;if(e.renderWorldCopies&&!e.lngRange){var r=t.lng-e.center.lng;t.lng+=r>180?-360:r<-180?360:0}},r}(t.Evented),bi=function(e){void 0===e&&(e={}),this.options=e,t.bindAll([\"_updateEditLink\",\"_updateData\",\"_updateCompact\"],this)};bi.prototype.getDefaultPosition=function(){return\"bottom-right\"},bi.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._innerContainer=r.create(\"div\",\"mapboxgl-ctrl-attrib-inner\",this._container),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},bi.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},bi.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<r.length-1?\"&\":\"\")),t}),\"?\");e.href=t.config.FEEDBACK_URL+\"/\"+n+(this._map._hash?this._map._hash.getHashString(!0):\"\"),e.rel=\"noopener nofollow\"}},bi.prototype._updateData=function(t){!t||\"metadata\"!==t.sourceDataType&&\"style\"!==t.dataType||(this._updateAttributions(),this._updateEditLink())},bi.prototype._updateAttributions=function(){if(this._map.style){var t=[];if(this.options.customAttribution&&(Array.isArray(this.options.customAttribution)?t=t.concat(this.options.customAttribution.map((function(t){return\"string\"!=typeof t?\"\":t}))):\"string\"==typeof this.options.customAttribution&&t.push(this.options.customAttribution)),this._map.style.stylesheet){var e=this._map.style.stylesheet;this.styleOwner=e.owner,this.styleId=e.id}var r=this._map.style.sourceCaches;for(var n in r){var i=r[n];if(i.used){var a=i.getSource();a.attribution&&t.indexOf(a.attribution)<0&&t.push(a.attribution)}}t.sort((function(t,e){return t.length-e.length}));var o=(t=t.filter((function(e,r){for(var n=r+1;n<t.length;n++)if(t[n].indexOf(e)>=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)}},bi.prototype._updateCompact=function(){this._map.getCanvasContainer().offsetWidth<=640?this._container.classList.add(\"mapboxgl-compact\"):this._container.classList.remove(\"mapboxgl-compact\")};var _i=function(){t.bindAll([\"_updateLogo\"],this),t.bindAll([\"_updateCompact\"],this)};_i.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},_i.prototype.onRemove=function(){r.remove(this._container),this._map.off(\"sourcedata\",this._updateLogo),this._map.off(\"resize\",this._updateCompact)},_i.prototype.getDefaultPosition=function(){return\"bottom-left\"},_i.prototype._updateLogo=function(t){t&&\"metadata\"!==t.sourceDataType||(this._container.style.display=this._logoRequired()?\"block\":\"none\")},_i.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}},_i.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 wi=function(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1};wi.prototype.add=function(t){var e=++this._id;return this._queue.push({callback:t,id:e,cancelled:!1}),e},wi.prototype.remove=function(t){for(var e=this._currentlyRunning,r=0,n=e?this._queue.concat(e):this._queue;r<n.length;r+=1){var i=n[r];if(i.id===t)return void(i.cancelled=!0)}},wi.prototype.run=function(t){void 0===t&&(t=0);var e=this._currentlyRunning=this._queue;this._queue=[];for(var r=0,n=e;r<n.length;r+=1){var i=n[r];if(!i.cancelled&&(i.callback(t),this._cleared))break}this._cleared=!1,this._currentlyRunning=!1},wi.prototype.clear=function(){this._currentlyRunning&&(this._cleared=!0),this._queue=[]};var Ti={\"FullscreenControl.Enter\":\"Enter fullscreen\",\"FullscreenControl.Exit\":\"Exit fullscreen\",\"GeolocateControl.FindMyLocation\":\"Find my location\",\"GeolocateControl.LocationNotAvailable\":\"Location not available\",\"LogoControl.Title\":\"Mapbox logo\",\"NavigationControl.ResetBearing\":\"Reset bearing to north\",\"NavigationControl.ZoomIn\":\"Zoom in\",\"NavigationControl.ZoomOut\":\"Zoom out\",\"ScaleControl.Feet\":\"ft\",\"ScaleControl.Meters\":\"m\",\"ScaleControl.Kilometers\":\"km\",\"ScaleControl.Miles\":\"mi\",\"ScaleControl.NauticalMiles\":\"nm\"},ki=t.window.HTMLImageElement,Ai=t.window.HTMLElement,Mi=t.window.ImageBitmap,Si={center:[0,0],zoom:0,bearing:0,pitch:0,minZoom:-2,maxZoom:22,minPitch:0,maxPitch:60,interactive:!0,scrollZoom:!0,boxZoom:!0,dragRotate:!0,dragPan:!0,keyboard:!0,doubleClickZoom:!0,touchZoomRotate:!0,touchPitch:!0,bearingSnap:7,clickTolerance:3,pitchWithRotate:!0,hash:!1,attributionControl:!0,failIfMajorPerformanceCaveat:!1,preserveDrawingBuffer:!1,trackResize:!0,renderWorldCopies:!0,refreshExpiredTiles:!0,maxTileCacheSize:null,localIdeographFontFamily:\"sans-serif\",transformRequest:null,accessToken:null,fadeDuration:300,crossSourceCollisions:!0},Ei=function(n){function i(e){var r=this;if(null!=(e=t.extend({},Si,e)).minZoom&&null!=e.maxZoom&&e.minZoom>e.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>60)throw new Error(\"maxPitch must be less than or equal to 60\");var i=new An(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 wi,this._controls=[],this._mapId=t.uniqueId(),this._locale=t.extend({},Ti,e.locale),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 Ai))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\",\"_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)),this.handlers=new yi(this,e);var a=\"string\"==typeof e.hash&&e.hash||void 0;this._hash=e.hash&&new Sn(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 bi({customAttribution:e.customAttribution})),this.addControl(new _i,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&&e.getDefaultPosition&&(r=e.getDefaultPosition()),void 0===r&&(r=\"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.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()<t&&this.setZoom(t),this;throw new Error(\"minZoom must be between -2 and the current maxZoom, inclusive\")},i.prototype.getMinZoom=function(){return this.transform.minZoom},i.prototype.setMaxZoom=function(t){if((t=null==t?22:t)>=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()<t&&this.setPitch(t),this;throw new Error(\"minPitch must be between 0 and the current maxPitch, inclusive\")},i.prototype.getMinPitch=function(){return this.transform.minPitch},i.prototype.setMaxPitch=function(t){if((t=null==t?60:t)>60)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 Rn(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 Rn(t,i,n.originalEvent)))},mouseout:function(e){o&&(o=!1,r.call(i,new Rn(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;o<a.length;o++){var s=a[o];if(s.layer===e&&s.listener===r){for(var l in s.delegates)i.off(l,s.delegates[l]);return a.splice(o,1),i}}}(this._delegatedListeners),this},i.prototype.queryRenderedFeatures=function(e,r){if(!this.style)return[];var n;if(void 0!==r||void 0===e||e instanceof t.Point||Array.isArray(e)||(r=e,e=void 0),r=r||{},(e=e||[[0,0],[this.transform.width,this.transform.height]])instanceof t.Point||\"number\"==typeof e[0])n=[t.Point.convert(e)];else{var i=t.Point.convert(e[0]),a=t.Point.convert(e[1]);n=[i,new t.Point(a.x,i.y),a,new t.Point(i.x,a.y),i]}return this.style.queryRenderedFeatures(n,r,this.transform)},i.prototype.querySourceFeatures=function(t,e){return this.style.querySourceFeatures(t,e)},i.prototype.setStyle=function(e,r){return!1!==(r=t.extend({},{localIdeographFontFamily:this._localIdeographFontFamily},r)).diff&&r.localIdeographFontFamily===this._localIdeographFontFamily&&this.style&&e?(this._diffStyle(e,r),this):(this._localIdeographFontFamily=r.localIdeographFontFamily,this._updateStyle(e,r))},i.prototype._getUIString=function(t){var e=this._locale[t];if(null==e)throw new Error(\"Missing UI string '\"+t+\"'\");return e},i.prototype._updateStyle=function(t,e){return this.style&&(this.style.setEventedParent(null),this.style._remove()),t?(this.style=new qe(this,e||{}),this.style.setEventedParent(this,{style:this.style}),\"string\"==typeof t?this.style.loadURL(t):this.style.loadJSON(t),this):(delete this.style,this)},i.prototype._lazyInitEmptyStyle=function(){this.style||(this.style=new qe(this,{}),this.style.setEventedParent(this,{style:this.style}),this.style.loadEmpty())},i.prototype._diffStyle=function(e,r){var n=this;if(\"string\"==typeof e){var i=this._requestManager.normalizeStyleURL(e),a=this._requestManager.transformRequest(i,t.ResourceType.Style);t.getJSON(a,(function(e,i){e?n.fire(new t.ErrorEvent(e)):i&&n._updateDiff(i,r)}))}else\"object\"==typeof e&&this._updateDiff(e,r)},i.prototype._updateDiff=function(e,r){try{this.style.setState(e)&&this._update(!0)}catch(n){t.warnOnce(\"Unable to perform style diff: \"+(n.message||n.error||n)+\".  Rebuilding the style from scratch.\"),this._updateStyle(e,r)}},i.prototype.getStyle=function(){if(this.style)return this.style.serialize()},i.prototype.isStyleLoaded=function(){return this.style?this.style.loaded():t.warnOnce(\"There is no style added to the map.\")},i.prototype.addSource=function(t,e){return this._lazyInitEmptyStyle(),this.style.addSource(t,e),this._update(!0)},i.prototype.isSourceLoaded=function(e){var r=this.style&&this.style.sourceCaches[e];if(void 0!==r)return r.loaded();this.fire(new t.ErrorEvent(new Error(\"There is no source with ID '\"+e+\"'\")))},i.prototype.areTilesLoaded=function(){var t=this.style&&this.style.sourceCaches;for(var e in t){var r=t[e]._tiles;for(var n in r){var i=r[n];if(\"loaded\"!==i.state&&\"errored\"!==i.state)return!1}}return!0},i.prototype.addSourceType=function(t,e,r){return this._lazyInitEmptyStyle(),this.style.addSourceType(t,e,r)},i.prototype.removeSource=function(t){return this.style.removeSource(t),this._update(!0)},i.prototype.getSource=function(t){return this.style.getSource(t)},i.prototype.addImage=function(e,r,n){void 0===n&&(n={});var i=n.pixelRatio;void 0===i&&(i=1);var a=n.sdf;void 0===a&&(a=!1);var o=n.stretchX,s=n.stretchY,l=n.content;this._lazyInitEmptyStyle();if(r instanceof ki||Mi&&r instanceof Mi){var c=t.browser.getImageData(r),u=c.width,f=c.height,h=c.data;this.style.addImage(e,{data:new t.RGBAImage({width:u,height:f},h),pixelRatio:i,stretchX:o,stretchY:s,content:l,sdf:a,version:0})}else{if(void 0===r.width||void 0===r.height)return this.fire(new t.ErrorEvent(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`\")));var p=r.width,d=r.height,m=r.data,g=r;this.style.addImage(e,{data:new t.RGBAImage({width:p,height:d},new Uint8Array(m)),pixelRatio:i,stretchX:o,stretchY:s,content:l,sdf:a,version:0,userImage:g}),g.onAdd&&g.onAdd(this,e)}},i.prototype.updateImage=function(e,r){var n=this.style.getImage(e);if(!n)return this.fire(new t.ErrorEvent(new Error(\"The map has no image with that id. If you are adding a new image use `map.addImage(...)` instead.\")));var i=r instanceof ki||Mi&&r instanceof Mi?t.browser.getImageData(r):r,a=i.width,o=i.height,s=i.data;if(void 0===a||void 0===o)return this.fire(new t.ErrorEvent(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(a!==n.data.width||o!==n.data.height)return this.fire(new t.ErrorEvent(new Error(\"The width and height of the updated image must be that same as the previous version of the image\")));var l=!(r instanceof ki||Mi&&r instanceof Mi);n.data.replace(s,l),this.style.updateImage(e,n)},i.prototype.hasImage=function(e){return e?!!this.style.getImage(e):(this.fire(new t.ErrorEvent(new Error(\"Missing required image id\"))),!1)},i.prototype.removeImage=function(t){this.style.removeImage(t)},i.prototype.loadImage=function(e,r){t.getImage(this._requestManager.transformRequest(e,t.ResourceType.Image),r)},i.prototype.listImages=function(){return this.style.listImages()},i.prototype.addLayer=function(t,e){return this._lazyInitEmptyStyle(),this.style.addLayer(t,e),this._update(!0)},i.prototype.moveLayer=function(t,e){return this.style.moveLayer(t,e),this._update(!0)},i.prototype.removeLayer=function(t){return this.style.removeLayer(t),this._update(!0)},i.prototype.getLayer=function(t){return this.style.getLayer(t)},i.prototype.setLayerZoomRange=function(t,e,r){return this.style.setLayerZoomRange(t,e,r),this._update(!0)},i.prototype.setFilter=function(t,e,r){return void 0===r&&(r={}),this.style.setFilter(t,e,r),this._update(!0)},i.prototype.getFilter=function(t){return this.style.getFilter(t)},i.prototype.setPaintProperty=function(t,e,r,n){return void 0===n&&(n={}),this.style.setPaintProperty(t,e,r,n),this._update(!0)},i.prototype.getPaintProperty=function(t,e){return this.style.getPaintProperty(t,e)},i.prototype.setLayoutProperty=function(t,e,r,n){return void 0===n&&(n={}),this.style.setLayoutProperty(t,e,r,n),this._update(!0)},i.prototype.getLayoutProperty=function(t,e){return this.style.getLayoutProperty(t,e)},i.prototype.setLight=function(t,e){return void 0===e&&(e={}),this._lazyInitEmptyStyle(),this.style.setLight(t,e),this._update(!0)},i.prototype.getLight=function(){return this.style.getLight()},i.prototype.setFeatureState=function(t,e){return this.style.setFeatureState(t,e),this._update()},i.prototype.removeFeatureState=function(t,e){return this.style.removeFeatureState(t,e),this._update()},i.prototype.getFeatureState=function(t){return this.style.getFeatureState(t)},i.prototype.getContainer=function(){return this._container},i.prototype.getCanvasContainer=function(){return this._canvasContainer},i.prototype.getCanvas=function(){return this._canvas},i.prototype._containerDimensions=function(){var t=0,e=0;return this._container&&(t=this._container.clientWidth||400,e=this._container.clientHeight||300),[t,e]},i.prototype._detectMissingCSS=function(){\"rgb(250, 128, 114)\"!==t.window.getComputedStyle(this._missingCSSCanary).getPropertyValue(\"background-color\")&&t.warnOnce(\"This page appears to be missing CSS declarations for Mapbox GL JS, which may cause the map to display incorrectly. Please ensure your page includes mapbox-gl.css, as described in https://www.mapbox.com/mapbox-gl-js/api/.\")},i.prototype._setupContainer=function(){var t=this._container;t.classList.add(\"mapboxgl-map\"),(this._missingCSSCanary=r.create(\"div\",\"mapboxgl-canary\",t)).style.visibility=\"hidden\",this._detectMissingCSS();var e=this._canvasContainer=r.create(\"div\",\"mapboxgl-canvas-container\",t);this._interactive&&e.classList.add(\"mapboxgl-interactive\"),this._canvas=r.create(\"canvas\",\"mapboxgl-canvas\",e),this._canvas.addEventListener(\"webglcontextlost\",this._contextLost,!1),this._canvas.addEventListener(\"webglcontextrestored\",this._contextRestored,!1),this._canvas.setAttribute(\"tabindex\",\"0\"),this._canvas.setAttribute(\"aria-label\",\"Map\");var n=this._containerDimensions();this._resizeCanvas(n[0],n[1]);var i=this._controlContainer=r.create(\"div\",\"mapboxgl-control-container\",t),a=this._controlPositions={};[\"top-left\",\"top-right\",\"bottom-left\",\"bottom-right\"].forEach((function(t){a[t]=r.create(\"div\",\"mapboxgl-ctrl-\"+t,i)}))},i.prototype._resizeCanvas=function(e,r){var n=t.browser.devicePixelRatio||1;this._canvas.width=n*e,this._canvas.height=n*r,this._canvas.style.width=e+\"px\",this._canvas.style.height=r+\"px\"},i.prototype._setupPainter=function(){var r=t.extend({},e.webGLContextAttributes,{failIfMajorPerformanceCaveat:this._failIfMajorPerformanceCaveat,preserveDrawingBuffer:this._preserveDrawingBuffer,antialias:this._antialias||!1}),n=this._canvas.getContext(\"webgl\",r)||this._canvas.getContext(\"experimental-webgl\",r);n?(this.painter=new _n(n,this.transform),t.webpSupported.testSupport(n)):this.fire(new t.ErrorEvent(new Error(\"Failed to initialize WebGL\")))},i.prototype._contextLost=function(e){e.preventDefault(),this._frame&&(this._frame.cancel(),this._frame=null),this.fire(new t.Event(\"webglcontextlost\",{originalEvent:e}))},i.prototype._contextRestored=function(e){this._setupPainter(),this.resize(),this._update(),this.fire(new t.Event(\"webglcontextrestored\",{originalEvent:e}))},i.prototype.loaded=function(){return!this._styleDirty&&!this._sourcesDirty&&!!this.style&&this.style.loaded()},i.prototype._update=function(t){return this.style?(this._styleDirty=this._styleDirty||t,this._sourcesDirty=!0,this.triggerRepaint(),this):this},i.prototype._requestRenderFrame=function(t){return this._update(),this._renderTaskQueue.add(t)},i.prototype._cancelRenderFrame=function(t){this._renderTaskQueue.remove(t)},i.prototype._render=function(e){var r,n=this,i=0,a=this.painter.context.extTimerQuery;if(this.listens(\"gpu-timing-frame\")&&(r=a.createQueryEXT(),a.beginQueryEXT(a.TIME_ELAPSED_EXT,r),i=t.browser.now()),this.painter.context.setDirty(),this.painter.setBaseState(),this._renderTaskQueue.run(e),!this._removed){var o=!1;if(this.style&&this._styleDirty){this._styleDirty=!1;var s=this.transform.zoom,l=t.browser.now();this.style.zoomHistory.update(s,l);var c=new t.EvaluationParameters(s,{now:l,fadeDuration:this._fadeDuration,zoomHistory:this.style.zoomHistory,transition:this.style.getTransition()}),u=c.crossFadingFactor();1===u&&u===this._crossFadingFactor||(o=!0,this._crossFadingFactor=u),this.style.update(c)}if(this.style&&this._sourcesDirty&&(this._sourcesDirty=!1,this.style._updateSources(this.transform)),this._placementDirty=this.style&&this.style._updatePlacement(this.painter.transform,this.showCollisionBoxes,this._fadeDuration,this._crossSourceCollisions),this.painter.render(this.style,{showTileBoundaries:this.showTileBoundaries,showOverdrawInspector:this._showOverdrawInspector,rotating:this.isRotating(),zooming:this.isZooming(),moving:this.isMoving(),fadeDuration:this._fadeDuration,showPadding:this.showPadding,gpuTiming:!!this.listens(\"gpu-timing-layer\")}),this.fire(new t.Event(\"render\")),this.loaded()&&!this._loaded&&(this._loaded=!0,this.fire(new t.Event(\"load\"))),this.style&&(this.style.hasTransitions()||o)&&(this._styleDirty=!0),this.style&&!this._placementDirty&&this.style._releaseSymbolFadeTiles(),this.listens(\"gpu-timing-frame\")){var f=t.browser.now()-i;a.endQueryEXT(a.TIME_ELAPSED_EXT,r),setTimeout((function(){var e=a.getQueryObjectEXT(r,a.QUERY_RESULT_EXT)/1e6;a.deleteQueryEXT(r),n.fire(new t.Event(\"gpu-timing-frame\",{cpuTime:f,gpuTime:e}))}),50)}if(this.listens(\"gpu-timing-layer\")){var h=this.painter.collectGpuTimers();setTimeout((function(){var e=n.painter.queryGpuTimers(h);n.fire(new t.Event(\"gpu-timing-layer\",{layerTimes:e}))}),50)}return this._sourcesDirty||this._styleDirty||this._placementDirty||this._repaint?this.triggerRepaint():!this.isMoving()&&this.loaded()&&(this._fullyLoaded||(this._fullyLoaded=!0),this.fire(new t.Event(\"idle\"))),this}},i.prototype.remove=function(){this._hash&&this._hash.remove();for(var e=0,r=this._controls;e<r.length;e+=1){r[e].onRemove(this)}this._controls=[],this._frame&&(this._frame.cancel(),this._frame=null),this._renderTaskQueue.clear(),this.painter.destroy(),this.handlers.destroy(),delete this.handlers,this.setStyle(null),void 0!==t.window&&(t.window.removeEventListener(\"resize\",this._onWindowResize,!1),t.window.removeEventListener(\"online\",this._onWindowOnline,!1));var n=this.painter.context.gl.getExtension(\"WEBGL_lose_context\");n&&n.loseContext(),Li(this._canvasContainer),Li(this._controlContainer),Li(this._missingCSSCanary),this._container.classList.remove(\"mapboxgl-map\"),this._removed=!0,this.fire(new t.Event(\"remove\"))},i.prototype.triggerRepaint=function(){var e=this;this.style&&!this._frame&&(this._frame=t.browser.frame((function(t){e._frame=null,e._render(t)})))},i.prototype._onWindowOnline=function(){this._update()},i.prototype._onWindowResize=function(t){this._trackResize&&this.resize({originalEvent:t})._update()},a.showTileBoundaries.get=function(){return!!this._showTileBoundaries},a.showTileBoundaries.set=function(t){this._showTileBoundaries!==t&&(this._showTileBoundaries=t,this._update())},a.showPadding.get=function(){return!!this._showPadding},a.showPadding.set=function(t){this._showPadding!==t&&(this._showPadding=t,this._update())},a.showCollisionBoxes.get=function(){return!!this._showCollisionBoxes},a.showCollisionBoxes.set=function(t){this._showCollisionBoxes!==t&&(this._showCollisionBoxes=t,t?this.style._generateCollisionBoxes():this._update())},a.showOverdrawInspector.get=function(){return!!this._showOverdrawInspector},a.showOverdrawInspector.set=function(t){this._showOverdrawInspector!==t&&(this._showOverdrawInspector=t,this._update())},a.repaint.get=function(){return!!this._repaint},a.repaint.set=function(t){this._repaint!==t&&(this._repaint=t,this.triggerRepaint())},a.vertices.get=function(){return!!this._vertices},a.vertices.set=function(t){this._vertices=t,this._update()},i.prototype._setCacheLimits=function(e,r){t.setCacheLimits(e,r)},a.version.get=function(){return t.version},Object.defineProperties(i.prototype,a),i}(xi);function Li(t){t.parentNode&&t.parentNode.removeChild(t)}var Ci={showCompass:!0,showZoom:!0,visualizePitch:!1},Pi=function(e){var n=this;this.options=t.extend({},Ci,e),this._container=r.create(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-group\"),this._container.addEventListener(\"contextmenu\",(function(t){return t.preventDefault()})),this.options.showZoom&&(t.bindAll([\"_setButtonTitle\",\"_updateZoomButtons\"],this),this._zoomInButton=this._createButton(\"mapboxgl-ctrl-zoom-in\",(function(t){return n._map.zoomIn({},{originalEvent:t})})),r.create(\"span\",\"mapboxgl-ctrl-icon\",this._zoomInButton).setAttribute(\"aria-hidden\",!0),this._zoomOutButton=this._createButton(\"mapboxgl-ctrl-zoom-out\",(function(t){return n._map.zoomOut({},{originalEvent:t})})),r.create(\"span\",\"mapboxgl-ctrl-icon\",this._zoomOutButton).setAttribute(\"aria-hidden\",!0)),this.options.showCompass&&(t.bindAll([\"_rotateCompassArrow\"],this),this._compass=this._createButton(\"mapboxgl-ctrl-compass\",(function(t){n.options.visualizePitch?n._map.resetNorthPitch({},{originalEvent:t}):n._map.resetNorth({},{originalEvent:t})})),this._compassIcon=r.create(\"span\",\"mapboxgl-ctrl-icon\",this._compass),this._compassIcon.setAttribute(\"aria-hidden\",!0))};Pi.prototype._updateZoomButtons=function(){var t=this._map.getZoom();this._zoomInButton.disabled=t===this._map.getMaxZoom(),this._zoomOutButton.disabled=t===this._map.getMinZoom()},Pi.prototype._rotateCompassArrow=function(){var 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},Pi.prototype.onAdd=function(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 Ii(this._map,this._compass,this.options.visualizePitch)),this._container},Pi.prototype.onRemove=function(){r.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},Pi.prototype._createButton=function(t,e){var n=r.create(\"button\",t,this._container);return n.type=\"button\",n.addEventListener(\"click\",e),n},Pi.prototype._setButtonTitle=function(t,e){var r=this._map._getUIString(\"NavigationControl.\"+e);t.title=r,t.setAttribute(\"aria-label\",r)};var Ii=function(e,n,i){void 0===i&&(i=!1),this._clickTolerance=10,this.element=n,this.mouseRotate=new Xn({clickTolerance:e.dragRotate._mouseRotate._clickTolerance}),this.map=e,i&&(this.mousePitch=new Zn({clickTolerance:e.dragRotate._mousePitch._clickTolerance})),t.bindAll([\"mousedown\",\"mousemove\",\"mouseup\",\"touchstart\",\"touchmove\",\"touchend\",\"reset\"],this),r.addEventListener(n,\"mousedown\",this.mousedown),r.addEventListener(n,\"touchstart\",this.touchstart,{passive:!1}),r.addEventListener(n,\"touchmove\",this.touchmove),r.addEventListener(n,\"touchend\",this.touchend),r.addEventListener(n,\"touchcancel\",this.reset)};function Oi(e,r,n){if(e=new t.LngLat(e.lng,e.lat),r){var i=new t.LngLat(e.lng-360,e.lat),a=new t.LngLat(e.lng+360,e.lat),o=n.locationPoint(e).distSqr(r);n.locationPoint(i).distSqr(r)<o?e=i:n.locationPoint(a).distSqr(r)<o&&(e=a)}for(;Math.abs(e.lng-n.center.lng)>180;){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}Ii.prototype.down=function(t,e){this.mouseRotate.mousedown(t,e),this.mousePitch&&this.mousePitch.mousedown(t,e),r.disableDrag()},Ii.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)}},Ii.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()},Ii.prototype.offTemp=function(){r.enableDrag(),r.removeEventListener(t.window,\"mousemove\",this.mousemove),r.removeEventListener(t.window,\"mouseup\",this.mouseup)},Ii.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)},Ii.prototype.mousemove=function(t){this.move(t,r.mousePos(this.element,t))},Ii.prototype.mouseup=function(t){this.mouseRotate.mouseupWindow(t),this.mousePitch&&this.mousePitch.mouseupWindow(t),this.offTemp()},Ii.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))},Ii.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))},Ii.prototype.touchend=function(t){0===t.targetTouches.length&&this._startPos&&this._lastPos&&this._startPos.dist(this._lastPos)<this._clickTolerance&&this.element.click(),this.reset()},Ii.prototype.reset=function(){this.mouseRotate.reset(),this.mousePitch&&this.mousePitch.reset(),delete this._startPos,delete this._lastPos,this.offTemp()};var zi={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 Di(t,e,r){var n=t.classList;for(var i in zi)n.remove(\"mapboxgl-\"+r+\"-anchor-\"+i);n.add(\"mapboxgl-\"+r+\"-anchor-\"+e)}var Ri,Fi=function(e){function n(n,i){var a=this;if(e.call(this),(n instanceof t.window.HTMLElement||i)&&(n=t.extend({element:n},i)),t.bindAll([\"_update\",\"_onMove\",\"_onUp\",\"_addDragHandler\",\"_onMapClick\",\"_onKeyPress\"],this),this._anchor=n&&n.anchor||\"center\",this._color=n&&n.color||\"#3FB1CE\",this._draggable=n&&n.draggable||!1,this._state=\"inactive\",this._rotation=n&&n.rotation||0,this._rotationAlignment=n&&n.rotationAlignment||\"auto\",this._pitchAlignment=n&&n.pitchAlignment&&\"auto\"!==n.pitchAlignment?n.pitchAlignment:this._rotationAlignment,n&&n.element)this._element=n.element,this._offset=t.Point.convert(n&&n.offset||[0,0]);else{this._defaultMarker=!0,this._element=r.create(\"div\"),this._element.setAttribute(\"aria-label\",\"Map marker\");var o=r.createNS(\"http://www.w3.org/2000/svg\",\"svg\");o.setAttributeNS(null,\"display\",\"block\"),o.setAttributeNS(null,\"height\",\"41px\"),o.setAttributeNS(null,\"width\",\"27px\"),o.setAttributeNS(null,\"viewBox\",\"0 0 27 41\");var s=r.createNS(\"http://www.w3.org/2000/svg\",\"g\");s.setAttributeNS(null,\"stroke\",\"none\"),s.setAttributeNS(null,\"stroke-width\",\"1\"),s.setAttributeNS(null,\"fill\",\"none\"),s.setAttributeNS(null,\"fill-rule\",\"evenodd\");var l=r.createNS(\"http://www.w3.org/2000/svg\",\"g\");l.setAttributeNS(null,\"fill-rule\",\"nonzero\");var c=r.createNS(\"http://www.w3.org/2000/svg\",\"g\");c.setAttributeNS(null,\"transform\",\"translate(3.0, 29.0)\"),c.setAttributeNS(null,\"fill\",\"#000000\");for(var u=0,f=[{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\"}];u<f.length;u+=1){var h=f[u],p=r.createNS(\"http://www.w3.org/2000/svg\",\"ellipse\");p.setAttributeNS(null,\"opacity\",\"0.04\"),p.setAttributeNS(null,\"cx\",\"10.5\"),p.setAttributeNS(null,\"cy\",\"5.80029008\"),p.setAttributeNS(null,\"rx\",h.rx),p.setAttributeNS(null,\"ry\",h.ry),c.appendChild(p)}var d=r.createNS(\"http://www.w3.org/2000/svg\",\"g\");d.setAttributeNS(null,\"fill\",this._color);var m=r.createNS(\"http://www.w3.org/2000/svg\",\"path\");m.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\"),d.appendChild(m);var g=r.createNS(\"http://www.w3.org/2000/svg\",\"g\");g.setAttributeNS(null,\"opacity\",\"0.25\"),g.setAttributeNS(null,\"fill\",\"#000000\");var v=r.createNS(\"http://www.w3.org/2000/svg\",\"path\");v.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\"),g.appendChild(v);var y=r.createNS(\"http://www.w3.org/2000/svg\",\"g\");y.setAttributeNS(null,\"transform\",\"translate(6.0, 7.0)\"),y.setAttributeNS(null,\"fill\",\"#FFFFFF\");var x=r.createNS(\"http://www.w3.org/2000/svg\",\"g\");x.setAttributeNS(null,\"transform\",\"translate(8.0, 8.0)\");var b=r.createNS(\"http://www.w3.org/2000/svg\",\"circle\");b.setAttributeNS(null,\"fill\",\"#000000\"),b.setAttributeNS(null,\"opacity\",\"0.25\"),b.setAttributeNS(null,\"cx\",\"5.5\"),b.setAttributeNS(null,\"cy\",\"5.5\"),b.setAttributeNS(null,\"r\",\"5.4999962\");var _=r.createNS(\"http://www.w3.org/2000/svg\",\"circle\");_.setAttributeNS(null,\"fill\",\"#FFFFFF\"),_.setAttributeNS(null,\"cx\",\"5.5\"),_.setAttributeNS(null,\"cy\",\"5.5\"),_.setAttributeNS(null,\"r\",\"5.4999962\"),x.appendChild(b),x.appendChild(_),l.appendChild(c),l.appendChild(d),l.appendChild(g),l.appendChild(y),l.appendChild(x),o.appendChild(l),this._element.appendChild(o),this._offset=t.Point.convert(n&&n.offset||[0,-14])}this._element.classList.add(\"mapboxgl-marker\"),this._element.addEventListener(\"dragstart\",(function(t){t.preventDefault()})),this._element.addEventListener(\"mousedown\",(function(t){t.preventDefault()})),this._element.addEventListener(\"focus\",(function(){var t=a._map.getContainer();t.scrollTop=0,t.scrollLeft=0})),Di(this._element,this._anchor,\"marker\"),this._popup=null}return e&&(n.__proto__=e),n.prototype=Object.create(e&&e.prototype),n.prototype.constructor=n,n.prototype.addTo=function(t){return this.remove(),this._map=t,t.getCanvasContainer().appendChild(this._element),t.on(\"move\",this._update),t.on(\"moveend\",this._update),this.setDraggable(this._draggable),this._update(),this._map.on(\"click\",this._onMapClick),this},n.prototype.remove=function(){return this._map&&(this._map.off(\"click\",this._onMapClick),this._map.off(\"move\",this._update),this._map.off(\"moveend\",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),r.remove(this._element),this._popup&&this._popup.remove(),this},n.prototype.getLngLat=function(){return this._lngLat},n.prototype.setLngLat=function(e){return this._lngLat=t.LngLat.convert(e),this._pos=null,this._popup&&this._popup.setLngLat(this._lngLat),this._update(),this},n.prototype.getElement=function(){return this._element},n.prototype.setPopup=function(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)){var e=Math.sqrt(Math.pow(13.5,2)/2);t.options.offset=this._defaultMarker?{top:[0,0],\"top-left\":[0,0],\"top-right\":[0,0],bottom:[0,-38.1],\"bottom-left\":[e,-1*(24.6+e)],\"bottom-right\":[-e,-1*(24.6+e)],left:[13.5,-24.6],right:[-13.5,-24.6]}:this._offset}this._popup=t,this._lngLat&&this._popup.setLngLat(this._lngLat),this._originalTabIndex=this._element.getAttribute(\"tabindex\"),this._originalTabIndex||this._element.setAttribute(\"tabindex\",\"0\"),this._element.addEventListener(\"keypress\",this._onKeyPress)}return this},n.prototype._onKeyPress=function(t){var e=t.code,r=t.charCode||t.keyCode;\"Space\"!==e&&\"Enter\"!==e&&32!==r&&13!==r||this.togglePopup()},n.prototype._onMapClick=function(t){var e=t.originalEvent.target,r=this._element;this._popup&&(e===r||r.contains(e))&&this.togglePopup()},n.prototype.getPopup=function(){return this._popup},n.prototype.togglePopup=function(){var t=this._popup;return t?(t.isOpen()?t.remove():t.addTo(this._map),this):this},n.prototype._update=function(t){if(this._map){this._map.transform.renderWorldCopies&&(this._lngLat=Oi(this._lngLat,this._pos,this._map.transform)),this._pos=this._map.project(this._lngLat)._add(this._offset);var e=\"\";\"viewport\"===this._rotationAlignment||\"auto\"===this._rotationAlignment?e=\"rotateZ(\"+this._rotation+\"deg)\":\"map\"===this._rotationAlignment&&(e=\"rotateZ(\"+(this._rotation-this._map.getBearing())+\"deg)\");var n=\"\";\"viewport\"===this._pitchAlignment||\"auto\"===this._pitchAlignment?n=\"rotateX(0deg)\":\"map\"===this._pitchAlignment&&(n=\"rotateX(\"+this._map.getPitch()+\"deg)\"),t&&\"moveend\"!==t.type||(this._pos=this._pos.round()),r.setTransform(this._element,zi[this._anchor]+\" translate(\"+this._pos.x+\"px, \"+this._pos.y+\"px) \"+n+\" \"+e)}},n.prototype.getOffset=function(){return this._offset},n.prototype.setOffset=function(e){return this._offset=t.Point.convert(e),this._update(),this},n.prototype._onMove=function(e){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._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._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),Bi={positionOptions:{enableHighAccuracy:!1,maximumAge:0,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showAccuracyCircle:!0,showUserLocation:!0};var Ni=0,ji=!1,Ui=function(e){function n(r){e.call(this),this.options=t.extend({},Bi,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){var n;return this._map=e,this._container=r.create(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-group\"),n=this._setupUI,void 0!==Ri?n(Ri):void 0!==t.window.navigator.permissions?t.window.navigator.permissions.query({name:\"geolocation\"}).then((function(t){Ri=\"denied\"!==t.state,n(Ri)})):(Ri=!!t.window.navigator.geolocation,n(Ri)),this._container},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,Ni=0,ji=!1},n.prototype._isOutOfMapMaxBounds=function(t){var e=this._map.getMaxBounds(),r=t.coords;return e&&(r.longitude<e.getWest()||r.longitude>e.getEast()||r.latitude<e.getSouth()||r.latitude>e.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&&ji)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 Fi(this._dotElement),this._circleElement=r.create(\"div\",\"mapboxgl-user-location-accuracy-circle\"),this._accuracyCircleMarker=new Fi({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\":Ni--,ji=!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\"),++Ni>1?(e={maximumAge:6e5,timeout:0},ji=!0):(e=this.options.positionOptions,ji=!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),Vi={maxWidth:100,unit:\"metric\"},Hi=function(e){this.options=t.extend({},Vi,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;if(l>5280)Gi(e,n,l/5280,t._getUIString(\"ScaleControl.Miles\"));else Gi(e,n,l,t._getUIString(\"ScaleControl.Feet\"))}else if(r&&\"nautical\"===r.unit){Gi(e,n,s/1852,t._getUIString(\"ScaleControl.NauticalMiles\"))}else s>=1e3?Gi(e,n,s/1e3,t._getUIString(\"ScaleControl.Kilometers\")):Gi(e,n,s,t._getUIString(\"ScaleControl.Meters\"))}function Gi(t,e,r,n){var i,a,o,s=(i=r,a=Math.pow(10,(\"\"+Math.floor(i)).length-1),o=(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),a*o),l=s/r;t.style.width=e*l+\"px\",t.innerHTML=s+\"&nbsp;\"+n}Hi.prototype.getDefaultPosition=function(){return\"bottom-left\"},Hi.prototype._onMove=function(){qi(this._map,this._container,this.options)},Hi.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},Hi.prototype.onRemove=function(){r.remove(this._container),this._map.off(\"move\",this._onMove),this._map=void 0},Hi.prototype.setUnit=function(t){this.options.unit=t,qi(this._map,this._container,this.options)};var Yi=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\")};Yi.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},Yi.prototype.onRemove=function(){r.remove(this._controlContainer),this._map=null,t.window.document.removeEventListener(this._fullscreenchange,this._changeIcon)},Yi.prototype._checkFullscreenSupport=function(){return!!(t.window.document.fullscreenEnabled||t.window.document.mozFullScreenEnabled||t.window.document.msFullscreenEnabled||t.window.document.webkitFullscreenEnabled)},Yi.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)},Yi.prototype._updateTitle=function(){var t=this._getTitle();this._fullscreenButton.setAttribute(\"aria-label\",t),this._fullscreenButton.title=t},Yi.prototype._getTitle=function(){return this._map._getUIString(this._isFullscreen()?\"FullscreenControl.Exit\":\"FullscreenControl.Enter\")},Yi.prototype._isFullscreen=function(){return this._fullscreen},Yi.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())},Yi.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 Wi={closeButton:!0,closeOnClick:!0,className:\"\",maxWidth:\"240px\"},Xi=function(e){function n(r){e.call(this),this.options=t.extend(Object.create(Wi),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._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){return this._createContent(),this._content.appendChild(t),this._update(),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.toggleClassName=function(t){if(this._container)return this._container.classList.toggle(t)},n.prototype._createContent=function(){this._content&&r.remove(this._content),this._content=r.create(\"div\",\"mapboxgl-popup-content\",this._container),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=\"&#215;\",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(e){var n=this,i=this._lngLat||this._trackPointer;if(this._map&&i&&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 n._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=Oi(this._lngLat,this._pos,this._map.transform)),!this._trackPointer||e)){var a=this._pos=this._trackPointer&&e?e:this._map.project(this._lngLat),o=this.options.anchor,s=function e(r){if(r){if(\"number\"==typeof r){var n=Math.round(Math.sqrt(.5*Math.pow(r,2)));return{center:new t.Point(0,0),top:new t.Point(0,r),\"top-left\":new t.Point(n,n),\"top-right\":new t.Point(-n,n),bottom:new t.Point(0,-r),\"bottom-left\":new t.Point(n,-n),\"bottom-right\":new t.Point(-n,-n),left:new t.Point(r,0),right:new t.Point(-r,0)}}if(r instanceof t.Point||Array.isArray(r)){var i=t.Point.convert(r);return{center:i,top:i,\"top-left\":i,\"top-right\":i,bottom:i,\"bottom-left\":i,\"bottom-right\":i,left:i,right:i}}return{center:t.Point.convert(r.center||[0,0]),top:t.Point.convert(r.top||[0,0]),\"top-left\":t.Point.convert(r[\"top-left\"]||[0,0]),\"top-right\":t.Point.convert(r[\"top-right\"]||[0,0]),bottom:t.Point.convert(r.bottom||[0,0]),\"bottom-left\":t.Point.convert(r[\"bottom-left\"]||[0,0]),\"bottom-right\":t.Point.convert(r[\"bottom-right\"]||[0,0]),left:t.Point.convert(r.left||[0,0]),right:t.Point.convert(r.right||[0,0])}}return e(new t.Point(0,0))}(this.options.offset);if(!o){var l,c=this._container.offsetWidth,u=this._container.offsetHeight;l=a.y+s.bottom.y<u?[\"top\"]:a.y>this._map.transform.height-u?[\"bottom\"]:[],a.x<c/2?l.push(\"left\"):a.x>this._map.transform.width-c/2&&l.push(\"right\"),o=0===l.length?\"bottom\":l.join(\"-\")}var f=a.add(s[o]).round();r.setTransform(this._container,zi[o]+\" translate(\"+f.x+\"px,\"+f.y+\"px)\"),Di(this._container,o,\"popup\")}},n.prototype._onClose=function(){this.remove()},n}(t.Evented);var Zi={version:t.version,supported:e,setRTLTextPlugin:t.setRTLTextPlugin,getRTLTextPluginStatus:t.getRTLTextPluginStatus,Map:Ei,NavigationControl:Pi,GeolocateControl:Ui,AttributionControl:bi,ScaleControl:Hi,FullscreenControl:Yi,Popup:Xi,Marker:Fi,Style:qe,LngLat:t.LngLat,LngLatBounds:t.LngLatBounds,Point:t.Point,MercatorCoordinate:t.MercatorCoordinate,Evented:t.Evented,config:t.config,prewarm:function(){Bt().acquire(zt)},clearPrewarmedResources:function(){var t=Rt;t&&(t.isPreloaded()&&1===t.numActive()?(t.release(zt),Rt=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 Dt.workerCount},set workerCount(t){Dt.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 Zi})),r}))},{}],240:[function(t,e,r){\"use strict\";e.exports=Math.log2||function(t){return Math.log(t)*Math.LOG2E}},{}],241:[function(t,e,r){\"use strict\";e.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 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)?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\",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 v={element:t};return Object.defineProperties(v,{enabled:{get:function(){return s},set:function(e){e?g():function(){if(!s)return;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\",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}}),v};var n=t(\"mouse-event\")},{\"mouse-event\":243}],242:[function(t,e,r){var n={left:0,top:0};e.exports=function(t,e,r){e=e||t.currentTarget||t.srcElement,Array.isArray(r)||(r=[0,0]);var i=t.clientX||0,a=t.clientY||0,o=(s=e,s===window||s===document||s===document.body?n:s.getBoundingClientRect());var s;return r[0]=i-o.left,r[1]=a-o.top,r}},{}],243:[function(t,e,r){\"use strict\";function n(t){return t.target||t.srcElement||window}r.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<<e-1}else if(\"button\"in t){var e;if(1===(e=t.button))return 4;if(2===e)return 2;if(e>=0)return 1<<e}}return 0},r.element=n,r.x=function(t){if(\"object\"==typeof t){if(\"offsetX\"in t)return t.offsetX;var e=n(t).getBoundingClientRect();return t.clientX-e.left}return 0},r.y=function(t){if(\"object\"==typeof t){if(\"offsetY\"in t)return t.offsetY;var e=n(t).getBoundingClientRect();return t.clientY-e.top}return 0}},{}],244:[function(t,e,r){\"use strict\";var n=t(\"to-px\");e.exports=function(t,e,r){\"function\"==typeof t&&(r=!!e,e=t,t=window);var i=n(\"ex\",t),a=function(t){r&&t.preventDefault();var n=t.deltaX||0,a=t.deltaY||0,o=t.deltaZ||0,s=1;switch(t.deltaMode){case 1:s=i;break;case 2:s=window.innerHeight}if(a*=s,o*=s,(n*=s)||a||o)return e(n,a,o,t)};return t.addEventListener(\"wheel\",a),a}},{\"to-px\":314}],245:[function(t,e,r){(function(t,r){(function(){\n",
       "/*! Native Promise Only\n",
       "    v0.8.1 (c) Kyle Simpson\n",
       "    MIT License: http://getify.mit-license.org\n",
       "*/\n",
       "!function(t,r,n){r[t]=r[t]||n(),void 0!==e&&e.exports&&(e.exports=r[t])}(\"Promise\",void 0!==t?t:this,(function(){\"use strict\";var t,e,n,i=Object.prototype.toString,a=void 0!==r?function(t){return r(t)}:setTimeout;try{Object.defineProperty({},\"x\",{}),t=function(t,e,r,n){return Object.defineProperty(t,e,{value:r,writable:!0,configurable:!1!==n})}}catch(e){t=function(t,e,r){return t[e]=r,t}}function o(t,r){n.add(t,r),e||(e=a(n.drain))}function s(t){var e,r=typeof t;return null==t||\"object\"!=r&&\"function\"!=r||(e=t.then),\"function\"==typeof e&&e}function l(){for(var t=0;t<this.chain.length;t++)c(this,1===this.state?this.chain[t].success:this.chain[t].failure,this.chain[t]);this.chain.length=0}function c(t,e,r){var n,i;try{!1===e?r.reject(t.msg):(n=!0===e?t.msg:e.call(void 0,t.msg))===r.promise?r.reject(TypeError(\"Promise-chain cycle\")):(i=s(n))?i.call(n,r.resolve,r.reject):r.resolve(n)}catch(t){r.reject(t)}}function u(t){var e,r=this;if(!r.triggered){r.triggered=!0,r.def&&(r=r.def);try{(e=s(t))?o((function(){var n=new p(r);try{e.call(t,(function(){u.apply(n,arguments)}),(function(){f.apply(n,arguments)}))}catch(t){f.call(n,t)}})):(r.msg=t,r.state=1,r.chain.length>0&&o(l,r))}catch(t){f.call(new p(r),t)}}}function f(t){var e=this;e.triggered||(e.triggered=!0,e.def&&(e=e.def),e.msg=t,e.state=2,e.chain.length>0&&o(l,e))}function h(t,e,r,n){for(var i=0;i<e.length;i++)!function(i){t.resolve(e[i]).then((function(t){r(i,t)}),n)}(i)}function p(t){this.def=t,this.triggered=!1}function d(t){this.promise=t,this.state=0,this.triggered=!1,this.chain=[],this.msg=void 0}function m(t){if(\"function\"!=typeof t)throw TypeError(\"Not a function\");if(0!==this.__NPO__)throw TypeError(\"Not a promise\");this.__NPO__=1;var e=new d(this);this.then=function(t,r){var n={success:\"function\"!=typeof t||t,failure:\"function\"==typeof r&&r};return n.promise=new this.constructor((function(t,e){if(\"function\"!=typeof t||\"function\"!=typeof e)throw TypeError(\"Not a function\");n.resolve=t,n.reject=e})),e.chain.push(n),0!==e.state&&o(l,e),n.promise},this.catch=function(t){return this.then(void 0,t)};try{t.call(void 0,(function(t){u.call(e,t)}),(function(t){f.call(e,t)}))}catch(t){f.call(e,t)}}n=function(){var t,r,n;function i(t,e){this.fn=t,this.self=e,this.next=void 0}return{add:function(e,a){n=new i(e,a),r?r.next=n:t=n,r=n,n=void 0},drain:function(){var n=t;for(t=r=e=void 0;n;)n.fn.call(n.self),n=n.next}}}();var g=t({},\"constructor\",m,!1);return m.prototype=g,t(g,\"__NPO__\",0,!1),t(m,\"resolve\",(function(t){return t&&\"object\"==typeof t&&1===t.__NPO__?t:new this((function(e,r){if(\"function\"!=typeof e||\"function\"!=typeof r)throw TypeError(\"Not a function\");e(t)}))})),t(m,\"reject\",(function(t){return new this((function(e,r){if(\"function\"!=typeof e||\"function\"!=typeof r)throw TypeError(\"Not a function\");r(t)}))})),t(m,\"all\",(function(t){var e=this;return\"[object Array]\"!=i.call(t)?e.reject(TypeError(\"Not an array\")):0===t.length?e.resolve([]):new e((function(r,n){if(\"function\"!=typeof r||\"function\"!=typeof n)throw TypeError(\"Not a function\");var i=t.length,a=Array(i),o=0;h(e,t,(function(t,e){a[t]=e,++o===i&&r(a)}),n)}))})),t(m,\"race\",(function(t){var e=this;return\"[object Array]\"!=i.call(t)?e.reject(TypeError(\"Not an array\")):new e((function(r,n){if(\"function\"!=typeof r||\"function\"!=typeof n)throw TypeError(\"Not a function\");h(e,t,(function(t,e){r(e)}),n)}))})),m}))}).call(this)}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{},t(\"timers\").setImmediate)},{timers:311}],246:[function(t,e,r){var n=Math.PI,i=c(120);function a(t,e,r,n){return[\"C\",t,e,r,n,r,n]}function o(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]}function s(t,e,r,a,o,c,u,f,h,p){if(p)T=p[0],k=p[1],_=p[2],w=p[3];else{var d=l(t,e,-o);t=d.x,e=d.y;var m=(t-(f=(d=l(f,h,-o)).x))/2,g=(e-(h=d.y))/2,v=m*m/(r*r)+g*g/(a*a);v>1&&(r*=v=Math.sqrt(v),a*=v);var y=r*r,x=a*a,b=(c==u?-1:1)*Math.sqrt(Math.abs((y*x-y*g*g-x*m*m)/(y*g*g+x*m*m)));b==1/0&&(b=1);var _=b*r*g/a+(t+f)/2,w=b*-a*m/r+(e+h)/2,T=Math.asin(((e-w)/a).toFixed(9)),k=Math.asin(((h-w)/a).toFixed(9));(T=t<_?n-T:T)<0&&(T=2*n+T),(k=f<_?n-k:k)<0&&(k=2*n+k),u&&T>k&&(T-=2*n),!u&&k>T&&(k-=2*n)}if(Math.abs(k-T)>i){var A=k,M=f,S=h;k=T+i*(u&&k>T?1:-1);var E=s(f=_+r*Math.cos(k),h=w+a*Math.sin(k),r,a,o,0,u,M,S,[k,A,_,w])}var L=Math.tan((k-T)/4),C=4/3*r*L,P=4/3*a*L,I=[2*t-(t+C*Math.sin(T)),2*e-(e-P*Math.cos(T)),f+C*Math.sin(k),h-P*Math.cos(k),f,h];if(p)return I;E&&(I=I.concat(E));for(var O=0;O<I.length;){var z=l(I[O],I[O+1],o);I[O++]=z.x,I[O++]=z.y}return I}function l(t,e,r){return{x:t*Math.cos(r)-e*Math.sin(r),y:t*Math.sin(r)+e*Math.cos(r)}}function c(t){return t*(n/180)}e.exports=function(t){for(var e,r=[],n=0,i=0,l=0,u=0,f=null,h=null,p=0,d=0,m=0,g=t.length;m<g;m++){var v=t[m],y=v[0];switch(y){case\"M\":l=v[1],u=v[2];break;case\"A\":(v=s(p,d,v[1],v[2],c(v[3]),v[4],v[5],v[6],v[7])).unshift(\"C\"),v.length>7&&(r.push(v.splice(0,7)),v.unshift(\"C\"));break;case\"S\":var x=p,b=d;\"C\"!=e&&\"S\"!=e||(x+=x-n,b+=b-i),v=[\"C\",x,b,v[1],v[2],v[3],v[4]];break;case\"T\":\"Q\"==e||\"T\"==e?(f=2*p-f,h=2*d-h):(f=p,h=d),v=o(p,d,f,h,v[1],v[2]);break;case\"Q\":f=v[1],h=v[2],v=o(p,d,v[1],v[2],v[3],v[4]);break;case\"L\":v=a(p,d,v[1],v[2]);break;case\"H\":v=a(p,d,v[1],d);break;case\"V\":v=a(p,d,p,v[1]);break;case\"Z\":v=a(p,d,l,u)}e=y,p=v[v.length-2],d=v[v.length-1],v.length>4?(n=v[v.length-4],i=v[v.length-3]):(n=p,i=d),r.push(v)}return r}},{}],247:[function(t,e,r){\n",
       "/*\n",
       "object-assign\n",
       "(c) Sindre Sorhus\n",
       "@license MIT\n",
       "*/\n",
       "\"use strict\";var n=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;function o(t){if(null==t)throw new TypeError(\"Object.assign cannot be called with null or undefined\");return Object(t)}e.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,e){for(var r,s,l=o(t),c=1;c<arguments.length;c++){for(var u in r=Object(arguments[c]))i.call(r,u)&&(l[u]=r[u]);if(n){s=n(r);for(var f=0;f<s.length;f++)a.call(r,s[f])&&(l[s[f]]=r[s[f]])}}return l}},{}],248:[function(t,e,r){\"use strict\";function n(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 i(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 a(t,e){return Array.isArray(t)?i(t,e):n(t,e)}a.parse=n,a.stringify=i,e.exports=a},{}],249:[function(t,e,r){\"use strict\";var n=t(\"pick-by-alias\");e.exports=function(t){var e;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&&(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\"}),e={x:t.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);return e}},{\"pick-by-alias\":253}],250:[function(t,e,r){e.exports=function(t){var e=[];return t.replace(i,(function(t,r,i){var o=r.toLowerCase();for(i=function(t){var e=t.match(a);return e?e.map(Number):[]}(i),\"m\"==o&&i.length>2&&(e.push([r].concat(i.splice(0,2))),o=\"l\",r=\"m\"==r?\"l\":\"L\");;){if(i.length==n[o])return i.unshift(r),e.push(i);if(i.length<n[o])throw new Error(\"malformed path data\");e.push([r].concat(i.splice(0,n[o])))}})),e};var n={a:7,c:6,h:1,l:2,m:2,q:4,s:4,t:2,v:1,z:0},i=/([astvzqmhlc])([^astvzqmhlc]*)/gi;var a=/-?[0-9]*\\.?[0-9]+(?:e[-+]?\\d+)?/gi},{}],251:[function(t,e,r){e.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}},{}],252:[function(t,e,r){(function(t){(function(){(function(){var r,n,i,a,o,s;\"undefined\"!=typeof performance&&null!==performance&&performance.now?e.exports=function(){return performance.now()}:null!=t&&t.hrtime?(e.exports=function(){return(r()-o)/1e6},n=t.hrtime,a=(r=function(){var t;return 1e9*(t=n())[0]+t[1]})(),s=1e9*t.uptime(),o=a-s):Date.now?(e.exports=function(){return Date.now()-i},i=Date.now()):(e.exports=function(){return(new Date).getTime()-i},i=(new Date).getTime())}).call(this)}).call(this)}).call(this,t(\"_process\"))},{_process:277}],253:[function(t,e,r){\"use strict\";e.exports=function(t,e,r){var n,a,o={};if(\"string\"==typeof e&&(e=i(e)),Array.isArray(e)){var s={};for(a=0;a<e.length;a++)s[e[a]]=!0;e=s}for(n in e)e[n]=i(e[n]);var l={};for(n in e){var c=e[n];if(Array.isArray(c))for(a=0;a<c.length;a++){var u=c[a];if(r&&(l[u]=!0),u in t){if(o[n]=t[u],r)for(var f=a;f<c.length;f++)l[c[f]]=!0;break}}else n in t&&(e[n]&&(o[n]=t[n]),r&&(l[n]=!0))}if(r)for(n in t)l[n]||(o[n]=t[n]);return o};var n={};function i(t){return n[t]?n[t]:(\"string\"==typeof t&&(t=n[t]=t.split(/\\s*,\\s*|\\s+/)),t)}},{}],254:[function(t,e,r){\n",
       "/*\n",
       " * @copyright 2016 Sean Connelly (@voidqk), http://syntheti.cc\n",
       " * @license MIT\n",
       " * @preserve Project Home: https://github.com/voidqk/polybooljs\n",
       " */\n",
       "var n,i=t(\"./lib/build-log\"),a=t(\"./lib/epsilon\"),o=t(\"./lib/intersecter\"),s=t(\"./lib/segment-chainer\"),l=t(\"./lib/segment-selector\"),c=t(\"./lib/geojson\"),u=!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?u=i():!1===t&&(u=!1),!1!==u&&u.list},epsilon:function(t){return f.epsilon(t)},segments:function(t){var e=o(!0,f,u);return t.regions.forEach(e.addRegion),{segments:e.calculate(t.inverted),inverted:t.inverted}},combine:function(t,e){return{combined:o(!1,f,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,f,u),inverted:t.inverted}},polygonFromGeoJSON:function(t){return c.toPolygon(n,t)},polygonToGeoJSON:function(t){return c.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),e.exports=n},{\"./lib/build-log\":255,\"./lib/epsilon\":256,\"./lib/geojson\":257,\"./lib/intersecter\":258,\"./lib/segment-chainer\":260,\"./lib/segment-selector\":261}],255:[function(t,e,r){e.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\")}}}},{}],256:[function(t,e,r){e.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)&&!(l-(a*a+s*s)>-t)},pointsSameX:function(e,r){return Math.abs(e[0]-r[0])<t},pointsSameY:function(e,r){return Math.abs(e[1]-r[1])<t},pointsSame:function(t,r){return e.pointsSameX(t,r)&&e.pointsSameY(t,r)},pointsCompare:function(t,r){return e.pointsSameX(t,r)?e.pointsSameY(t,r)?0:t[1]<r[1]?-1:1:t[0]<r[0]?-1:1},pointsCollinear:function(e,r,n){var i=e[0]-r[0],a=e[1]-r[1],o=r[0]-n[0],s=r[1]-n[1];return Math.abs(i*s-o*a)<t},linesIntersect:function(e,r,n,i){var a=r[0]-e[0],o=r[1]-e[1],s=i[0]-n[0],l=i[1]-n[1],c=a*l-o*s;if(Math.abs(c)<t)return!1;var u=e[0]-n[0],f=e[1]-n[1],h=(s*f-l*u)/c,p=(a*f-o*u)/c,d={alongA:0,alongB:0,pt:[e[0]+h*a,e[1]+h*o]};return d.alongA=h<=-t?-2:h<t?-1:h-1<=-t?0:h-1<t?1:2,d.alongB=p<=-t?-2:p<t?-1:p-1<=-t?0:p-1<t?1:2,d},pointInsideRegion:function(e,r){for(var n=e[0],i=e[1],a=r[r.length-1][0],o=r[r.length-1][1],s=!1,l=0;l<r.length;l++){var c=r[l][0],u=r[l][1];u-i>t!=o-i>t&&(a-c)*(i-u)/(o-u)+c-n>t&&(s=!s),a=c,o=u}return s}};return e}},{}],257:[function(t,e,r){var n={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;i<e.length;i++)n=t.selectDifference(t.combine(n,r(e[i])));return n}if(\"Polygon\"===e.type)return t.polygon(r(e.coordinates));if(\"MultiPolygon\"===e.type){for(var n=t.segments({inverted:!1,regions:[]}),i=0;i<e.coordinates.length;i++)n=t.selectUnion(t.combine(n,r(e.coordinates[i])));return t.polygon(n)}throw new Error(\"PolyBool: Cannot convert GeoJSON object to PolyBool polygon\")},fromPolygon:function(t,e,r){function n(t,r){return e.pointInsideRegion([.5*(t[0][0]+t[1][0]),.5*(t[0][1]+t[1][1])],r)}function i(t){return{region:t,children:[]}}r=t.polygon(t.segments(r));var a=i(null);function o(t,e){for(var r=0;r<t.children.length;r++){if(n(e,(s=t.children[r]).region))return void o(s,e)}var a=i(e);for(r=0;r<t.children.length;r++){var s;n((s=t.children[r]).region,e)&&(a.children.push(s),t.children.splice(r,1),r--)}t.children.push(a)}for(var s=0;s<r.regions.length;s++){var l=r.regions[s];l.length<3||o(a,l)}function c(t,e){for(var r=0,n=t[t.length-1][0],i=t[t.length-1][1],a=[],o=0;o<t.length;o++){var s=t[o][0],l=t[o][1];a.push([s,l]),r+=l*n-s*i,n=s,i=l}return r<0!==e&&a.reverse(),a.push([a[0][0],a[0][1]]),a}var u=[];function f(t){var e=[c(t.region,!1)];u.push(e);for(var r=0;r<t.children.length;r++)e.push(h(t.children[r]))}function h(t){for(var e=0;e<t.children.length;e++)f(t.children[e]);return c(t.region,!0)}for(s=0;s<a.children.length;s++)f(a.children[s]);return u.length<=0?{type:\"Polygon\",coordinates:[]}:1==u.length?{type:\"Polygon\",coordinates:u[0]}:{type:\"MultiPolygon\",coordinates:u}}};e.exports=n},{}],258:[function(t,e,r){var n=t(\"./linked-list\");e.exports=function(t,e,r){function i(t,e,n){return{id:r?r.segmentId():-1,start:t,end:e,myFill:{above:n.myFill.above,below:n.myFill.below},otherFill:null}}var a=n.create();function o(t,r){a.insertBefore(t,(function(n){return function(t,r,n,i,a,o){var s=e.pointsCompare(r,a);return 0!==s?s:e.pointsSame(n,o)?0:t!==i?t?1:-1:e.pointAboveOrOnLine(n,i?a:o,i?o:a)?1:-1}(t.isStart,t.pt,r,n.isStart,n.pt,n.other.pt)<0}))}function s(t,e){var r=function(t,e){var r=n.node({isStart:!0,pt:t.start,seg:t,primary:e,other:null,status:null});return o(r,t.end),r}(t,e);return function(t,e,r){var i=n.node({isStart:!1,pt:e.end,seg:e,primary:r,other:t,status:null});t.other=i,o(i,t.pt)}(r,t,e),r}function l(t,e){var n=i(e,t.seg.end,t.seg);return function(t,e){r&&r.segmentChop(t.seg,e),t.other.remove(),t.seg.end=e,t.other.pt=e,o(t.other,t.pt)}(t,e),s(n,t.primary)}function c(i,o){var s=n.create();function c(t){return s.findTransition((function(r){var n,i,a,o,s,l;return(n=t,i=r.ev,a=n.seg.start,o=n.seg.end,s=i.seg.start,l=i.seg.end,e.pointsCollinear(a,s,l)?e.pointsCollinear(o,s,l)||e.pointAboveOrOnLine(o,s,l)?1:-1:e.pointAboveOrOnLine(a,s,l)?1:-1)>0}))}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 f=e.linesIntersect(o,s,c,u);if(!1===f){if(!e.pointsCollinear(o,s,c))return!1;if(e.pointsSame(o,u)||e.pointsSame(s,c))return!1;var h=e.pointsSame(o,c),p=e.pointsSame(s,u);if(h&&p)return n;var d=!h&&e.pointBetween(o,c,u),m=!p&&e.pointBetween(s,c,u);if(h)return m?l(n,s):l(t,u),n;d&&(p||(m?l(n,s):l(t,u)),l(n,o))}else 0===f.alongA&&(-1===f.alongB?l(t,c):0===f.alongB?l(t,f.pt):1===f.alongB&&l(t,u)),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=c(h),d=p.before?p.before.ev:null,m=p.after?p.after.ev:null;function g(){if(d){var t=u(h,d);if(t)return t}return!!m&&u(h,m)}r&&r.tempStatus(h.seg,!!d&&d.seg,!!m&&m.seg);var v,y=g();if(y){var x;if(t)(x=null===h.seg.myFill.below||h.seg.myFill.above!==h.seg.myFill.below)&&(y.seg.myFill.above=!y.seg.myFill.above);else y.seg.otherFill=h.seg.myFill;r&&r.segmentUpdate(y.seg),h.other.remove(),h.remove()}if(a.getHead()!==h){r&&r.rewind(h.seg);continue}if(t)x=null===h.seg.myFill.below||h.seg.myFill.above!==h.seg.myFill.below,h.seg.myFill.below=m?m.seg.myFill.above:i,h.seg.myFill.above=x?!h.seg.myFill.below:h.seg.myFill.below;else if(null===h.seg.otherFill)v=m?h.primary===m.primary?m.seg.otherFill.above:m.seg.myFill.above:h.primary?o:i,h.seg.otherFill={above:v,below:v};r&&r.status(h.seg,!!d&&d.seg,!!m&&m.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)&&u(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;l<t.length;l++){n=o,o=t[l];var c=e.pointsCompare(n,o);0!==c&&s((i=c<0?n:o,a=c<0?o:n,{id:r?r.segmentId():-1,start:i,end:a,myFill:{above:null,below:null},otherFill:null}),!0)}},calculate:function(t){return c(t,!1)}}:{calculate:function(t,e,r,n){return t.forEach((function(t){s(i(t.start,t.end,t),!0)})),r.forEach((function(t){s(i(t.start,t.end,t),!1)})),c(e,n)}}}},{\"./linked-list\":259}],259:[function(t,e,r){e.exports={create:function(){var t={root:{root:!0,next:null},exists:function(e){return null!==e&&e!==t.root},isEmpty:function(){return null===t.root.next},getHead:function(){return t.root.next},insertBefore:function(e,r){for(var n=t.root,i=t.root.next;null!==i;){if(r(i))return e.prev=i.prev,e.next=i,i.prev.next=e,void(i.prev=e);n=i,i=i.next}n.next=e,e.prev=n,e.next=null},findTransition:function(e){for(var r=t.root,n=t.root.next;null!==n&&!e(n);)r=n,n=n.next;return{before:r===t.root?null:r,after:n,insert:function(t){return t.prev=r,t.next=n,r.next=t,null!==n&&(n.prev=t),t}}}};return t},node:function(t){return t.prev=null,t.next=null,t.remove=function(){t.prev.next=t.next,t.next&&(t.next.prev=t.prev),t.prev=null,t.next=null},t}}},{}],260:[function(t,e,r){e.exports=function(t,e,r){var n=[],i=[];return t.forEach((function(t){var a=t.start,o=t.end;if(e.pointsSame(a,o))console.warn(\"PolyBool: Warning: Zero-length segment detected; your epsilon is probably too small or too large\");else{r&&r.chainStart(t);for(var s={index:0,matches_head:!1,matches_pt1:!1},l={index:0,matches_head:!1,matches_pt1:!1},c=s,u=0;u<n.length;u++){var f=(g=n[u])[0],h=(g[1],g[g.length-1]);g[g.length-2];if(e.pointsSame(f,a)){if(k(u,!0,!0))break}else if(e.pointsSame(f,o)){if(k(u,!0,!1))break}else if(e.pointsSame(h,a)){if(k(u,!1,!0))break}else if(e.pointsSame(h,o)&&k(u,!1,!1))break}if(c===s)return n.push([a,o]),void(r&&r.chainNew(a,o));if(c===l){r&&r.chainMatch(s.index);var p=s.index,d=s.matches_pt1?o:a,m=s.matches_head,g=n[p],v=m?g[0]:g[g.length-1],y=m?g[1]:g[g.length-2],x=m?g[g.length-1]:g[0],b=m?g[g.length-2]:g[1];return e.pointsCollinear(y,v,d)&&(m?(r&&r.chainRemoveHead(s.index,d),g.shift()):(r&&r.chainRemoveTail(s.index,d),g.pop()),v=y),e.pointsSame(x,d)?(n.splice(p,1),e.pointsCollinear(b,x,v)&&(m?(r&&r.chainRemoveTail(s.index,v),g.pop()):(r&&r.chainRemoveHead(s.index,v),g.shift())),r&&r.chainClose(s.index),void i.push(g)):void(m?(r&&r.chainAddHead(s.index,d),g.unshift(d)):(r&&r.chainAddTail(s.index,d),g.push(d)))}var _=s.index,w=l.index;r&&r.chainConnect(_,w);var T=n[_].length<n[w].length;s.matches_head?l.matches_head?T?(A(_),M(_,w)):(A(w),M(w,_)):M(w,_):l.matches_head?M(_,w):T?(A(_),M(w,_)):(A(w),M(_,w))}function k(t,e,r){return c.index=t,c.matches_head=e,c.matches_pt1=r,c===s?(c=l,!1):(c=null,!0)}function A(t){r&&r.chainReverse(t),n[t].reverse()}function M(t,i){var a=n[t],o=n[i],s=a[a.length-1],l=a[a.length-2],c=o[0],u=o[1];e.pointsCollinear(l,s,c)&&(r&&r.chainRemoveTail(t,s),a.pop(),s=l),e.pointsCollinear(s,c,u)&&(r&&r.chainRemoveHead(i,c),o.shift()),r&&r.chainJoin(t,i),n[t]=a.concat(o),n.splice(i,1)}})),i}},{}],261:[function(t,e,r){function n(t,e,r){var n=[];return t.forEach((function(t){var i=(t.myFill.above?8:0)+(t.myFill.below?4:0)+(t.otherFill&&t.otherFill.above?2:0)+(t.otherFill&&t.otherFill.below?1:0);0!==e[i]&&n.push({id:r?r.segmentId():-1,start:t.start,end:t.end,myFill:{above:1===e[i],below:2===e[i]},otherFill:null})})),r&&r.selected(n),n}var i={union:function(t,e){return n(t,[0,2,1,0,2,2,0,0,1,0,1,0,0,0,0,0],e)},intersect:function(t,e){return n(t,[0,0,0,0,0,2,0,2,0,0,1,1,0,2,1,0],e)},difference:function(t,e){return n(t,[0,0,0,0,2,0,2,0,1,1,0,0,0,1,2,0],e)},differenceRev:function(t,e){return n(t,[0,2,1,0,0,0,1,1,0,2,0,2,0,0,0,0],e)},xor:function(t,e){return n(t,[0,2,1,0,2,0,0,1,1,0,0,2,0,1,2,0],e)}};e.exports=i},{}],262:[function(t,e,r){\"use strict\";var n=t(\"stream\").Transform,i=t(\"stream-parser\");function a(){n.call(this,{readableObjectMode:!0})}function o(t,e,r){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack||\"\",this.name=this.constructor.name,this.message=t,e&&(this.code=e),r&&(this.statusCode=r)}a.prototype=Object.create(n.prototype),a.prototype.constructor=a,i(a.prototype),r.ParserStream=a,r.sliceEq=function(t,e,r){for(var n=e,i=0;i<r.length;)if(t[n++]!==r[i++])return!1;return!0},r.str2arr=function(t,e){var r=[],n=0;if(e&&\"hex\"===e)for(;n<t.length;)r.push(parseInt(t.slice(n,n+2),16)),n+=2;else for(;n<t.length;n++)r.push(255&t.charCodeAt(n));return r},r.readUInt16LE=function(t,e){return t[e]|t[e+1]<<8},r.readUInt16BE=function(t,e){return t[e+1]|t[e]<<8},r.readUInt32LE=function(t,e){return t[e]|t[e+1]<<8|t[e+2]<<16|16777216*t[e+3]},r.readUInt32BE=function(t,e){return t[e+3]|t[e+2]<<8|t[e+1]<<16|16777216*t[e]},o.prototype=Object.create(Error.prototype),o.prototype.constructor=o,r.ProbeError=o},{stream:285,\"stream-parser\":301}],263:[function(t,e,r){\"use strict\";function n(t,e){var r=new Error(t);return r.code=e,r}function i(t){try{return decodeURIComponent(escape(t))}catch(e){return t}}function a(t,e,r){this.input=t.subarray(e,r),this.start=e;var i=String.fromCharCode.apply(null,this.input.subarray(0,4));if(\"II*\\0\"!==i&&\"MM\\0*\"!==i)throw n(\"invalid TIFF signature\",\"EBADDATA\");this.big_endian=\"M\"===i[0]}a.prototype.each=function(t){this.aborted=!1;var e=this.read_uint32(4);for(this.ifds_to_read=[{id:0,offset:e}];this.ifds_to_read.length>0&&!this.aborted;){var r=this.ifds_to_read.shift();r.offset&&this.scan_ifd(r.id,r.offset,t)}},a.prototype.read_uint16=function(t){var e=this.input;if(t+2>e.length)throw n(\"unexpected EOF\",\"EBADDATA\");return this.big_endian?256*e[t]+e[t+1]:e[t]+256*e[t+1]},a.prototype.read_uint32=function(t){var e=this.input;if(t+4>e.length)throw n(\"unexpected EOF\",\"EBADDATA\");return this.big_endian?16777216*e[t]+65536*e[t+1]+256*e[t+2]+e[t+3]:e[t]+256*e[t+1]+65536*e[t+2]+16777216*e[t+3]},a.prototype.is_subifd_link=function(t,e){return 0===t&&34665===e||0===t&&34853===e||34665===t&&40965===e},a.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}},a.prototype.exif_format_read=function(t,e){var r;switch(t){case 1:case 2:return r=this.input[e];case 6:return(r=this.input[e])|33554430*(128&r);case 3:return r=this.read_uint16(e);case 8:return(r=this.read_uint16(e))|131070*(32768&r);case 4:return r=this.read_uint32(e);case 9:return 0|(r=this.read_uint32(e));case 5:case 10:case 11:case 12:case 7:default:return null}},a.prototype.scan_ifd=function(t,e,r){var a=this.read_uint16(e);e+=2;for(var o=0;o<a;o++){var s=this.read_uint16(e),l=this.read_uint16(e+2),c=this.read_uint32(e+4),u=this.exif_format_length(l),f=c*u,h=f<=4?e+8:this.read_uint32(e+8),p=!1;if(h+f>this.input.length)throw n(\"unexpected EOF\",\"EBADDATA\");for(var d=[],m=h,g=0;g<c;g++,m+=u){var v=this.exif_format_read(l,m);if(null===v){d=null;break}d.push(v)}if(Array.isArray(d)&&2===l&&(d=i(String.fromCharCode.apply(null,d)))&&\"\\0\"===d[d.length-1]&&(d=d.slice(0,-1)),this.is_subifd_link(t,s)&&Array.isArray(d)&&Number.isInteger(d[0])&&d[0]>0&&(this.ifds_to_read.push({id:s,offset:d[0]}),p=!0),!1===r({is_big_endian:this.big_endian,ifd:t,tag:s,format:l,count:c,entry_offset:e+this.start,data_length:f,data_offset:h+this.start,value:d,is_subifd_link:p}))return void(this.aborted=!0);e+=12}0===t&&this.ifds_to_read.push({id:1,offset:this.read_uint32(e)})},e.exports.ExifParser=a,e.exports.get_orientation=function(t){var e=0;try{return new a(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}}},{}],264:[function(t,e,r){\"use strict\";var n=t(\"./common\").readUInt16BE,i=t(\"./common\").readUInt32BE;function a(t,e){if(t.length<4+e)return null;var r=i(t,e);return t.length<r+e||r<8?null:{boxtype:String.fromCharCode.apply(null,t.slice(e+4,e+8)),data:t.slice(e+8,e+r),end:e+r}}function o(t,e){for(var r=0;;){var n=a(t,r);if(!n)break;switch(n.boxtype){case\"ispe\":e.sizes.push({width:i(n.data,4),height:i(n.data,8)});break;case\"irot\":e.transforms.push({type:\"irot\",value:3&n.data[0]});break;case\"imir\":e.transforms.push({type:\"imir\",value:1&n.data[0]})}r=n.end}}function s(t,e,r){for(var n=0,i=0;i<r;i++)n=256*n+(t[e+i]||0);return n}function l(t,e){for(var r=t[4]>>4&15,i=15&t[4],a=t[5]>>4&15,o=n(t,6),l=8,c=0;c<o;c++){var u=n(t,l),f=n(t,l+=2),h=s(t,l+=2,a),p=n(t,l+=a);if(l+=2,0===f&&1===p){var d=s(t,l,r),m=s(t,l+r,i);e.item_loc[u]={length:m,offset:d+h}}l+=p*(r+i)}}function c(t,e){for(var r=n(t,4),i=6,o=0;o<r;o++){var s=a(t,i);if(!s)break;if(\"infe\"===s.boxtype){for(var l=n(s.data,4),c=\"\",u=8;u<s.data.length&&s.data[u];u++)c+=String.fromCharCode(s.data[u]);e.item_inf[c]=l}i=s.end}}function u(t,e){for(var r=0;;){var n=a(t,r);if(!n)break;\"ipco\"===n.boxtype&&o(n.data,e),r=n.end}}e.exports.unbox=a,e.exports.readSizeFromMeta=function(t){var e={sizes:[],transforms:[],item_inf:{},item_loc:{}};if(function(t,e){for(var r=4;;){var n=a(t,r);if(!n)break;\"iprp\"===n.boxtype&&u(n.data,e),\"iloc\"===n.boxtype&&l(n.data,e),\"iinf\"===n.boxtype&&c(n.data,e),r=n.end}}(t,e),e.sizes.length){var r,n,i,o=(r=e.sizes,n=r.reduce((function(t,e){return t.width>e.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;n<t.value;n++)s=e[s]}));var f=null;return e.item_inf.Exif&&(f=e.item_loc[e.item_inf.Exif]),{width:o.width,height:o.height,orientation:e.transforms.length?s:null,variants:e.sizes,exif_location:f}}},e.exports.getMimeType=function(t){var e=String.fromCharCode.apply(null,t.slice(0,4)),r={};r[e]=!0;for(var n=8;n<t.length;n+=4)r[String.fromCharCode.apply(null,t.slice(n,n+4))]=!0;if(r.mif1||r.msf1||r.miaf)return\"avif\"===e||\"avis\"===e||\"avio\"===e?{type:\"avif\",mime:\"image/avif\"}:\"heic\"===e||\"heix\"===e?{type:\"heic\",mime:\"image/heic\"}:\"hevc\"===e||\"hevx\"===e?{type:\"heic\",mime:\"image/heic-sequence\"}:r.avif||r.avis?{type:\"avif\",mime:\"image/avif\"}:r.heic||r.heix||r.hevc||r.hevx||r.heis?r.msf1?{type:\"heif\",mime:\"image/heif-sequence\"}:{type:\"heif\",mime:\"image/heif\"}:{type:\"avif\",mime:\"image/avif\"}}},{\"./common\":262}],265:[function(t,e,r){\"use strict\";var n=t(\"../common\").str2arr,i=t(\"../common\").sliceEq,a=t(\"../common\").readUInt32BE,o=t(\"../miaf_utils\"),s=t(\"../exif_utils\"),l=n(\"ftyp\");e.exports=function(t){if(i(t,4,l)){var e=o.unbox(t,0);if(e){var r=o.getMimeType(e.data);if(r){for(var n,c=e.end;;){var u=o.unbox(t,c);if(!u)break;if(c=u.end,\"mdat\"===u.boxtype)return;if(\"meta\"===u.boxtype){n=u.data;break}}if(n){var f=o.readSizeFromMeta(n);if(f){var h={width:f.width,height:f.height,type:r.type,mime:r.mime,wUnits:\"px\",hUnits:\"px\"};if(f.variants.length>1&&(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),m=s.get_orientation(d);m>0&&(h.orientation=m)}return h}}}}}}},{\"../common\":262,\"../exif_utils\":263,\"../miaf_utils\":264}],266:[function(t,e,r){\"use strict\";var n=t(\"../common\").str2arr,i=t(\"../common\").sliceEq,a=t(\"../common\").readUInt16LE,o=n(\"BM\");e.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\"}}},{\"../common\":262}],267:[function(t,e,r){\"use strict\";var n=t(\"../common\").str2arr,i=t(\"../common\").sliceEq,a=t(\"../common\").readUInt16LE,o=n(\"GIF87a\"),s=n(\"GIF89a\");e.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\"}}},{\"../common\":262}],268:[function(t,e,r){\"use strict\";var n=t(\"../common\").readUInt16LE;e.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;s<i;s++){var l=t[6+16*s]||256,c=t[6+16*s+1]||256,u={width:l,height:c};a.push(u),(l>o.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\"}}}},{\"../common\":262}],269:[function(t,e,r){\"use strict\";var n=t(\"../common\").readUInt16BE,i=t(\"../common\").str2arr,a=t(\"../common\").sliceEq,o=t(\"../exif_utils\"),s=i(\"Exif\\0\\0\");e.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-e<r)return;var c={width:n(t,e+3),height:n(t,e+1),type:\"jpg\",mime:\"image/jpeg\",wUnits:\"px\",hUnits:\"px\"};return i>0&&(c.orientation=i),c}e+=r}}},{\"../common\":262,\"../exif_utils\":263}],270:[function(t,e,r){\"use strict\";var n=t(\"../common\").str2arr,i=t(\"../common\").sliceEq,a=t(\"../common\").readUInt32BE,o=n(\"\\x89PNG\\r\\n\\x1a\\n\"),s=n(\"IHDR\");e.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\"}}},{\"../common\":262}],271:[function(t,e,r){\"use strict\";var n=t(\"../common\").str2arr,i=t(\"../common\").sliceEq,a=t(\"../common\").readUInt32BE,o=n(\"8BPS\\0\\x01\");e.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\"}}},{\"../common\":262}],272:[function(t,e,r){\"use strict\";function n(t){return\"number\"==typeof t&&isFinite(t)&&t>0}var i=/<[-_.:a-zA-Z0-9][^>]*>/,a=/^<([-_.:a-zA-Z0-9]+:)?svg\\s/,o=/[^-]\\bwidth=\"([^%]+?)\"|[^-]\\bwidth='([^%]+?)'/,s=/\\bheight=\"([^%]+?)\"|\\bheight='([^%]+?)'/,l=/\\bview[bB]ox=\"(.+?)\"|\\bview[bB]ox='(.+?)'/,c=/in$|mm$|cm$|pt$|pc$|px$|em$|ex$/;function u(t){return c.test(t)?t.match(c)[0]:\"px\"}e.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<n&&(32===(e=t[r])||9===e||13===e||10===e);)r++;return r!==n&&60===t[r]}(t)){for(var e=\"\",r=0;r<t.length;r++)e+=String.fromCharCode(t[r]);var c=(e.match(i)||[\"\"])[0];if(a.test(c)){var f=function(t){var e=t.match(o),r=t.match(s),n=t.match(l);return{width:e&&(e[1]||e[2]),height:r&&(r[1]||r[2]),viewbox:n&&(n[1]||n[2])}}(c),h=parseFloat(f.width),p=parseFloat(f.height);if(f.width&&f.height){if(!n(h)||!n(p))return;return{width:h,height:p,type:\"svg\",mime:\"image/svg+xml\",wUnits:u(f.width),hUnits:u(f.height)}}var d=(f.viewbox||\"\").split(\" \"),m={width:d[2],height:d[3]},g=parseFloat(m.width),v=parseFloat(m.height);if(n(g)&&n(v)&&u(m.width)===u(m.height)){var y=g/v;if(f.width){if(!n(h))return;return{width:h,height:h/y,type:\"svg\",mime:\"image/svg+xml\",wUnits:u(f.width),hUnits:u(f.width)}}if(f.height){if(!n(p))return;return{width:p*y,height:p,type:\"svg\",mime:\"image/svg+xml\",wUnits:u(f.height),hUnits:u(f.height)}}return{width:g,height:v,type:\"svg\",mime:\"image/svg+xml\",wUnits:u(m.width),hUnits:u(m.height)}}}}}},{}],273:[function(t,e,r){\"use strict\";var n=t(\"../common\").str2arr,i=t(\"../common\").sliceEq,a=t(\"../common\").readUInt16LE,o=t(\"../common\").readUInt16BE,s=t(\"../common\").readUInt32LE,l=t(\"../common\").readUInt32BE,c=n(\"II*\\0\"),u=n(\"MM\\0*\");function f(t,e,r){return r?o(t,e):a(t,e)}function h(t,e,r){return r?l(t,e):s(t,e)}function p(t,e,r){var n=f(t,e+2,r);return 1!==h(t,e+4,r)||3!==n&&4!==n?null:3===n?f(t,e+8,r):h(t,e+8,r)}e.exports=function(t){if(!(t.length<8)&&(i(t,0,c)||i(t,0,u))){var e=77===t[0],r=h(t,4,e)-8;if(!(r<0)){var n=r+8;if(!(t.length-n<2)){var a=12*f(t,n+0,e);if(!(a<=0||(n+=2,t.length-n<a))){var o,s,l,d;for(o=0;o<a;o+=12)256===(d=f(t,n+o,e))?s=p(t,n+o,e):257===d&&(l=p(t,n+o,e));return s&&l?{width:s,height:l,type:\"tiff\",mime:\"image/tiff\",wUnits:\"px\",hUnits:\"px\"}:void 0}}}}}},{\"../common\":262}],274:[function(t,e,r){\"use strict\";var n=t(\"../common\").str2arr,i=t(\"../common\").sliceEq,a=t(\"../common\").readUInt16LE,o=t(\"../common\").readUInt32LE,s=t(\"../exif_utils\"),l=n(\"RIFF\"),c=n(\"WEBP\");function u(t,e){if(157===t[e+3]&&1===t[e+4]&&42===t[e+5])return{width:16383&a(t,e+6),height:16383&a(t,e+8),type:\"webp\",mime:\"image/webp\",wUnits:\"px\",hUnits:\"px\"}}function f(t,e){if(47===t[e]){var r=o(t,e+1);return{width:1+(16383&r),height:1+(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]<<e|t[e+8]<<8|t[e+7]),type:\"webp\",mime:\"image/webp\",wUnits:\"px\",hUnits:\"px\"}}e.exports=function(t){if(!(t.length<16)&&(i(t,0,l)||i(t,8,c))){var e=12,r=null,n=0,a=o(t,4)+8;if(!(a>t.length)){for(;e+8<a;)if(0!==t[e]){var p=String.fromCharCode.apply(null,t.slice(e,e+4)),d=o(t,e+4);\"VP8 \"===p&&d>=10?r=r||u(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}}}},{\"../common\":262,\"../exif_utils\":263}],275:[function(t,e,r){\"use strict\";e.exports={avif:t(\"./parse_sync/avif\"),bmp:t(\"./parse_sync/bmp\"),gif:t(\"./parse_sync/gif\"),ico:t(\"./parse_sync/ico\"),jpeg:t(\"./parse_sync/jpeg\"),png:t(\"./parse_sync/png\"),psd:t(\"./parse_sync/psd\"),svg:t(\"./parse_sync/svg\"),tiff:t(\"./parse_sync/tiff\"),webp:t(\"./parse_sync/webp\")}},{\"./parse_sync/avif\":265,\"./parse_sync/bmp\":266,\"./parse_sync/gif\":267,\"./parse_sync/ico\":268,\"./parse_sync/jpeg\":269,\"./parse_sync/png\":270,\"./parse_sync/psd\":271,\"./parse_sync/svg\":272,\"./parse_sync/tiff\":273,\"./parse_sync/webp\":274}],276:[function(t,e,r){\"use strict\";var n=t(\"./lib/parsers_sync\");e.exports=function(t){return function(t){for(var e=Object.keys(n),r=0;r<e.length;r++){var i=n[e[r]](t);if(i)return i}return null}(t)},e.exports.parsers=n},{\"./lib/parsers_sync\":275}],277:[function(t,e,r){var n,i,a=e.exports={};function o(){throw new Error(\"setTimeout has not been defined\")}function s(){throw new Error(\"clearTimeout has not been defined\")}function l(t){if(n===setTimeout)return setTimeout(t,0);if((n===o||!n)&&setTimeout)return n=setTimeout,setTimeout(t,0);try{return n(t,0)}catch(e){try{return n.call(null,t,0)}catch(e){return n.call(this,t,0)}}}!function(){try{n=\"function\"==typeof setTimeout?setTimeout:o}catch(t){n=o}try{i=\"function\"==typeof clearTimeout?clearTimeout:s}catch(t){i=s}}();var c,u=[],f=!1,h=-1;function p(){f&&c&&(f=!1,c.length?u=c.concat(u):h=-1,u.length&&d())}function d(){if(!f){var t=l(p);f=!0;for(var e=u.length;e;){for(c=u,u=[];++h<e;)c&&c[h].run();h=-1,e=u.length}c=null,f=!1,function(t){if(i===clearTimeout)return clearTimeout(t);if((i===s||!i)&&clearTimeout)return i=clearTimeout,clearTimeout(t);try{i(t)}catch(e){try{return i.call(null,t)}catch(e){return i.call(this,t)}}}(t)}}function m(t,e){this.fun=t,this.array=e}function g(){}a.nextTick=function(t){var e=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)e[r-1]=arguments[r];u.push(new m(t,e)),1!==u.length||f||l(d)},m.prototype.run=function(){this.fun.apply(null,this.array)},a.title=\"browser\",a.browser=!0,a.env={},a.argv=[],a.version=\"\",a.versions={},a.on=g,a.addListener=g,a.once=g,a.off=g,a.removeListener=g,a.removeAllListeners=g,a.emit=g,a.prependListener=g,a.prependOnceListener=g,a.listeners=function(t){return[]},a.binding=function(t){throw new Error(\"process.binding is not supported\")},a.cwd=function(){return\"/\"},a.chdir=function(t){throw new Error(\"process.chdir is not supported\")},a.umask=function(){return 0}},{}],278:[function(t,e,r){(function(r){(function(){for(var n=t(\"performance-now\"),i=\"undefined\"==typeof window?r:window,a=[\"moz\",\"webkit\"],o=\"AnimationFrame\",s=i[\"request\"+o],l=i[\"cancel\"+o]||i[\"cancelRequest\"+o],c=0;!s&&c<a.length;c++)s=i[a[c]+\"Request\"+o],l=i[a[c]+\"Cancel\"+o]||i[a[c]+\"CancelRequest\"+o];if(!s||!l){var u=0,f=0,h=[];s=function(t){if(0===h.length){var e=n(),r=Math.max(0,1e3/60-(e-u));u=r+e,setTimeout((function(){var t=h.slice(0);h.length=0;for(var e=0;e<t.length;e++)if(!t[e].cancelled)try{t[e].callback(u)}catch(t){setTimeout((function(){throw t}),0)}}),Math.round(r))}return h.push({handle:++f,callback:t,cancelled:!1}),f},l=function(t){for(var e=0;e<h.length;e++)h[e].handle===t&&(h[e].cancelled=!0)}}e.exports=function(t){return s.call(i,t)},e.exports.cancel=function(){l.apply(i,arguments)},e.exports.polyfill=function(t){t||(t=i),t.requestAnimationFrame=s,t.cancelAnimationFrame=l}}).call(this)}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{\"performance-now\":252}],279:[function(t,e,r){\"use strict\";var n=t(\"array-bounds\"),i=t(\"color-normalize\"),a=t(\"update-diff\"),o=t(\"pick-by-alias\"),s=t(\"object-assign\"),l=t(\"flatten-vertex-data\"),c=t(\"to-float32\"),u=c.float32,f=c.fract32;e.exports=function(t,e){\"function\"==typeof t?(e||(e={}),e.regl=t):e=t;e.length&&(e.positions=e);if(!(t=e.regl).hasExtension(\"ANGLE_instanced_arrays\"))throw Error(\"regl-error2d: `ANGLE_instanced_arrays` extension should be enabled\");var r,c,p,d,m,g,v=t._gl,y={color:\"black\",capSize:5,lineWidth:1,opacity:1,viewport:null,range:null,offset:0,count:0,bounds:null,positions:[],errors:[]},x=[];return d=t.buffer({usage:\"dynamic\",type:\"uint8\",data:new Uint8Array(0)}),c=t.buffer({usage:\"dynamic\",type:\"float\",data:new Uint8Array(0)}),p=t.buffer({usage:\"dynamic\",type:\"float\",data:new Uint8Array(0)}),m=t.buffer({usage:\"dynamic\",type:\"float\",data:new Uint8Array(0)}),g=t.buffer({usage:\"static\",type:\"float\",data:h}),T(e),r=t({vert:\"\\n\\t\\tprecision highp float;\\n\\n\\t\\tattribute vec2 position, positionFract;\\n\\t\\tattribute vec4 error;\\n\\t\\tattribute vec4 color;\\n\\n\\t\\tattribute vec2 direction, lineOffset, capOffset;\\n\\n\\t\\tuniform vec4 viewport;\\n\\t\\tuniform float lineWidth, capSize;\\n\\t\\tuniform vec2 scale, scaleFract, translate, translateFract;\\n\\n\\t\\tvarying vec4 fragColor;\\n\\n\\t\\tvoid main() {\\n\\t\\t\\tfragColor = color / 255.;\\n\\n\\t\\t\\tvec2 pixelOffset = lineWidth * lineOffset + (capSize + lineWidth) * capOffset;\\n\\n\\t\\t\\tvec2 dxy = -step(.5, direction.xy) * error.xz + step(direction.xy, vec2(-.5)) * error.yw;\\n\\n\\t\\t\\tvec2 position = position + dxy;\\n\\n\\t\\t\\tvec2 pos = (position + translate) * scale\\n\\t\\t\\t\\t+ (positionFract + translateFract) * scale\\n\\t\\t\\t\\t+ (position + translate) * scaleFract\\n\\t\\t\\t\\t+ (positionFract + translateFract) * scaleFract;\\n\\n\\t\\t\\tpos += pixelOffset / viewport.zw;\\n\\n\\t\\t\\tgl_Position = vec4(pos * 2. - 1., 0, 1);\\n\\t\\t}\\n\\t\\t\",frag:\"\\n\\t\\tprecision highp float;\\n\\n\\t\\tvarying vec4 fragColor;\\n\\n\\t\\tuniform float opacity;\\n\\n\\t\\tvoid main() {\\n\\t\\t\\tgl_FragColor = fragColor;\\n\\t\\t\\tgl_FragColor.a *= opacity;\\n\\t\\t}\\n\\t\\t\",uniforms:{range:t.prop(\"range\"),lineWidth:t.prop(\"lineWidth\"),capSize:t.prop(\"capSize\"),opacity:t.prop(\"opacity\"),scale:t.prop(\"scale\"),translate:t.prop(\"translate\"),scaleFract:t.prop(\"scaleFract\"),translateFract:t.prop(\"translateFract\"),viewport:function(t,e){return[e.viewport.x,e.viewport.y,t.viewportWidth,t.viewportHeight]}},attributes:{color:{buffer:d,offset:function(t,e){return 4*e.offset},divisor:1},position:{buffer:c,offset:function(t,e){return 8*e.offset},divisor:1},positionFract:{buffer:p,offset:function(t,e){return 8*e.offset},divisor:1},error:{buffer:m,offset:function(t,e){return 16*e.offset},divisor:1},direction:{buffer:g,stride:24,offset:0},lineOffset:{buffer:g,stride:24,offset:8},capOffset:{buffer:g,stride:24,offset:16}},primitive:\"triangles\",blend:{enable:!0,color:[0,0,0,0],equation:{rgb:\"add\",alpha:\"add\"},func:{srcRGB:\"src alpha\",dstRGB:\"one minus src alpha\",srcAlpha:\"one minus dst alpha\",dstAlpha:\"one\"}},depth:{enable:!1},scissor:{enable:!0,box:t.prop(\"viewport\")},viewport:t.prop(\"viewport\"),stencil:!1,instances:t.prop(\"count\"),count:h.length}),s(b,{update:T,draw:_,destroy:k,regl:t,gl:v,canvas:v.canvas,groups:x}),b;function b(t){t?T(t):null===t&&k(),_()}function _(e){if(\"number\"==typeof e)return w(e);e&&!Array.isArray(e)&&(e=[e]),t._refresh(),x.forEach((function(t,r){t&&(e&&(e[r]?t.draw=!0:t.draw=!1),t.draw?w(r):t.draw=!0)}))}function w(t){\"number\"==typeof t&&(t=x[t]),null!=t&&t&&t.count&&t.color&&t.opacity&&t.positions&&t.positions.length>1&&(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,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({},y,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<r;a++)t[a]=n}if(t.length<r)throw Error(\"Not enough colors\");for(var o=new Uint8Array(4*r),s=0;s<r;s++){var l=i(t[s],\"uint8\");o.set(l,4*s)}return o},range:function(t,e,r){var n=e.bounds;return t||(t=n),e.scale=[1/(t[2]-t[0]),1/(t[3]-t[1])],e.translate=[-t[0],-t[1]],e.scaleFract=f(e.scale),e.translateFract=f(e.translate),t},viewport:function(t){var e;return Array.isArray(t)?e={x:t[0],y:t[1],width:t[2]-t[0],height:t[3]-t[1]}:t?(e={x:t.x||t.left||0,y:t.y||t.top||0},t.right?e.width=t.right-e.x:e.width=t.w||t.width||0,t.bottom?e.height=t.bottom-e.y:e.height=t.h||t.height||0):e={x:0,y:0,width:v.drawingBufferWidth,height:v.drawingBufferHeight},e}}]),u):u})),e||r){var h=x.reduce((function(t,e,r){return t+(e?e.count:0)}),0),g=new Float64Array(2*h),_=new Uint8Array(4*h),w=new Float32Array(4*h);x.forEach((function(t,e){if(t){var r=t.positions,n=t.count,i=t.offset,a=t.color,o=t.errors;n&&(_.set(a,4*i),w.set(o,4*i),g.set(r,2*i))}}));var T=u(g);c(T);var k=f(g,T);p(k),d(_),m(w)}}}function k(){c.destroy(),p.destroy(),d.destroy(),m.destroy(),g.destroy()}};var h=[[1,0,0,1,0,0],[1,0,0,-1,0,0],[-1,0,0,-1,0,0],[-1,0,0,-1,0,0],[-1,0,0,1,0,0],[1,0,0,1,0,0],[1,0,-1,0,0,1],[1,0,-1,0,0,-1],[1,0,1,0,0,-1],[1,0,1,0,0,-1],[1,0,1,0,0,1],[1,0,-1,0,0,1],[-1,0,-1,0,0,1],[-1,0,-1,0,0,-1],[-1,0,1,0,0,-1],[-1,0,1,0,0,-1],[-1,0,1,0,0,1],[-1,0,-1,0,0,1],[0,1,1,0,0,0],[0,1,-1,0,0,0],[0,-1,-1,0,0,0],[0,-1,-1,0,0,0],[0,1,1,0,0,0],[0,-1,1,0,0,0],[0,1,0,-1,1,0],[0,1,0,-1,-1,0],[0,1,0,1,-1,0],[0,1,0,1,1,0],[0,1,0,-1,1,0],[0,1,0,1,-1,0],[0,-1,0,-1,1,0],[0,-1,0,-1,-1,0],[0,-1,0,1,-1,0],[0,-1,0,1,1,0],[0,-1,0,-1,1,0],[0,-1,0,1,-1,0]]},{\"array-bounds\":71,\"color-normalize\":89,\"flatten-vertex-data\":191,\"object-assign\":247,\"pick-by-alias\":253,\"to-float32\":313,\"update-diff\":329}],280:[function(t,e,r){\"use strict\";var n=t(\"color-normalize\"),i=t(\"array-bounds\"),a=t(\"object-assign\"),o=t(\"glslify\"),s=t(\"pick-by-alias\"),l=t(\"flatten-vertex-data\"),c=t(\"earcut\"),u=t(\"array-normalize\"),f=t(\"to-float32\"),h=f.float32,p=f.fract32,d=t(\"es6-weak-map\"),m=t(\"parse-rect\"),g=t(\"array-find-index\");function v(t,e){if(!(this instanceof v))return new v(t,e);if(\"function\"==typeof t?(e||(e={}),e.regl=t):e=t,e.length&&(e.positions=e),!(t=e.regl).hasExtension(\"ANGLE_instanced_arrays\"))throw Error(\"regl-error2d: `ANGLE_instanced_arrays` extension should be enabled\");this.gl=t._gl,this.regl=t,this.passes=[],this.shaders=v.shaders.has(t)?v.shaders.get(t):v.shaders.set(t,v.createShaders(t)).get(t),this.update(e)}e.exports=v,v.dashMult=2,v.maxPatternLength=256,v.precisionThreshold=3e6,v.maxPoints=1e4,v.maxLines=2048,v.shaders=new d,v.createShaders=function(t){var e,r=t.buffer({usage:\"static\",type:\"float\",data:[0,1,0,0,1,1,1,0]}),n={primitive:\"triangle strip\",instances:t.prop(\"count\"),count:4,offset:0,uniforms:{miterMode:function(t,e){return\"round\"===e.join?2:1},miterLimit:t.prop(\"miterLimit\"),scale:t.prop(\"scale\"),scaleFract:t.prop(\"scaleFract\"),translateFract:t.prop(\"translateFract\"),translate:t.prop(\"translate\"),thickness:t.prop(\"thickness\"),dashTexture:t.prop(\"dashTexture\"),opacity:t.prop(\"opacity\"),pixelRatio:t.context(\"pixelRatio\"),id:t.prop(\"id\"),dashLength:t.prop(\"dashLength\"),viewport:function(t,e){return[e.viewport.x,e.viewport.y,t.viewportWidth,t.viewportHeight]},depth:t.prop(\"depth\")},blend:{enable:!0,color:[0,0,0,0],equation:{rgb:\"add\",alpha:\"add\"},func:{srcRGB:\"src alpha\",dstRGB:\"one minus src alpha\",srcAlpha:\"one minus dst alpha\",dstAlpha:\"one\"}},depth:{enable:function(t,e){return!e.overlay}},stencil:{enable:!1},scissor:{enable:!0,box:t.prop(\"viewport\")},viewport:t.prop(\"viewport\")},i=t(a({vert:o([\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec2 aCoord, bCoord, aCoordFract, bCoordFract;\\nattribute vec4 color;\\nattribute float lineEnd, lineTop;\\n\\nuniform vec2 scale, scaleFract, translate, translateFract;\\nuniform float thickness, pixelRatio, id, depth;\\nuniform vec4 viewport;\\n\\nvarying vec4 fragColor;\\nvarying vec2 tangent;\\n\\nvec2 project(vec2 position, vec2 positionFract, vec2 scale, vec2 scaleFract, vec2 translate, vec2 translateFract) {\\n\\t// the order is important\\n\\treturn position * scale + translate\\n       + positionFract * scale + translateFract\\n       + position * scaleFract\\n       + positionFract * scaleFract;\\n}\\n\\nvoid main() {\\n\\tfloat lineStart = 1. - lineEnd;\\n\\tfloat lineOffset = lineTop * 2. - 1.;\\n\\n\\tvec2 diff = (bCoord + bCoordFract - aCoord - aCoordFract);\\n\\ttangent = normalize(diff * scale * viewport.zw);\\n\\tvec2 normal = vec2(-tangent.y, tangent.x);\\n\\n\\tvec2 position = project(aCoord, aCoordFract, scale, scaleFract, translate, translateFract) * lineStart\\n\\t\\t+ project(bCoord, bCoordFract, scale, scaleFract, translate, translateFract) * lineEnd\\n\\n\\t\\t+ thickness * normal * .5 * lineOffset / viewport.zw;\\n\\n\\tgl_Position = vec4(position * 2.0 - 1.0, depth, 1);\\n\\n\\tfragColor = color / 255.;\\n}\\n\"]),frag:o([\"precision highp float;\\n#define GLSLIFY 1\\n\\nuniform float dashLength, pixelRatio, thickness, opacity, id;\\nuniform sampler2D dashTexture;\\n\\nvarying vec4 fragColor;\\nvarying vec2 tangent;\\n\\nvoid main() {\\n\\tfloat alpha = 1.;\\n\\n\\tfloat t = fract(dot(tangent, gl_FragCoord.xy) / dashLength) * .5 + .25;\\n\\tfloat dash = texture2D(dashTexture, vec2(t, .5)).r;\\n\\n\\tgl_FragColor = fragColor;\\n\\tgl_FragColor.a *= alpha * opacity * dash;\\n}\\n\"]),attributes:{lineEnd:{buffer:r,divisor:0,stride:8,offset:0},lineTop:{buffer:r,divisor:0,stride:8,offset:4},aCoord:{buffer:t.prop(\"positionBuffer\"),stride:8,offset:8,divisor:1},bCoord:{buffer:t.prop(\"positionBuffer\"),stride:8,offset:16,divisor:1},aCoordFract:{buffer:t.prop(\"positionFractBuffer\"),stride:8,offset:8,divisor:1},bCoordFract:{buffer:t.prop(\"positionFractBuffer\"),stride:8,offset:16,divisor:1},color:{buffer:t.prop(\"colorBuffer\"),stride:4,offset:0,divisor:1}}},n));try{e=t(a({cull:{enable:!0,face:\"back\"},vert:o([\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec2 aCoord, bCoord, nextCoord, prevCoord;\\nattribute vec4 aColor, bColor;\\nattribute float lineEnd, lineTop;\\n\\nuniform vec2 scale, translate;\\nuniform float thickness, pixelRatio, id, depth;\\nuniform vec4 viewport;\\nuniform float miterLimit, miterMode;\\n\\nvarying vec4 fragColor;\\nvarying vec4 startCutoff, endCutoff;\\nvarying vec2 tangent;\\nvarying vec2 startCoord, endCoord;\\nvarying float enableStartMiter, enableEndMiter;\\n\\nconst float REVERSE_THRESHOLD = -.875;\\nconst float MIN_DIFF = 1e-6;\\n\\n// TODO: possible optimizations: avoid overcalculating all for vertices and calc just one instead\\n// TODO: precalculate dot products, normalize things beforehead etc.\\n// TODO: refactor to rectangular algorithm\\n\\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\\nbool isNaN( float val ){\\n  return ( val < 0.0 || 0.0 < val || val == 0.0 ) ? false : true;\\n}\\n\\nvoid main() {\\n\\tvec2 aCoord = aCoord, bCoord = bCoord, prevCoord = prevCoord, nextCoord = nextCoord;\\n\\n  vec2 adjustedScale;\\n  adjustedScale.x = (abs(scale.x) < MIN_DIFF) ? MIN_DIFF : scale.x;\\n  adjustedScale.y = (abs(scale.y) < MIN_DIFF) ? MIN_DIFF : scale.y;\\n\\n  vec2 scaleRatio = adjustedScale * viewport.zw;\\n\\tvec2 normalWidth = thickness / scaleRatio;\\n\\n\\tfloat lineStart = 1. - lineEnd;\\n\\tfloat lineBot = 1. - lineTop;\\n\\n\\tfragColor = (lineStart * aColor + lineEnd * bColor) / 255.;\\n\\n\\tif (isNaN(aCoord.x) || isNaN(aCoord.y) || isNaN(bCoord.x) || isNaN(bCoord.y)) return;\\n\\n\\tif (aCoord == prevCoord) prevCoord = aCoord + normalize(bCoord - aCoord);\\n\\tif (bCoord == nextCoord) nextCoord = bCoord - normalize(bCoord - aCoord);\\n\\n\\tvec2 prevDiff = aCoord - prevCoord;\\n\\tvec2 currDiff = bCoord - aCoord;\\n\\tvec2 nextDiff = nextCoord - bCoord;\\n\\n\\tvec2 prevTangent = normalize(prevDiff * scaleRatio);\\n\\tvec2 currTangent = normalize(currDiff * scaleRatio);\\n\\tvec2 nextTangent = normalize(nextDiff * scaleRatio);\\n\\n\\tvec2 prevNormal = vec2(-prevTangent.y, prevTangent.x);\\n\\tvec2 currNormal = vec2(-currTangent.y, currTangent.x);\\n\\tvec2 nextNormal = vec2(-nextTangent.y, nextTangent.x);\\n\\n\\tvec2 startJoinDirection = normalize(prevTangent - currTangent);\\n\\tvec2 endJoinDirection = normalize(currTangent - nextTangent);\\n\\n\\t// collapsed/unidirectional segment cases\\n\\t// FIXME: there should be more elegant solution\\n\\tvec2 prevTanDiff = abs(prevTangent - currTangent);\\n\\tvec2 nextTanDiff = abs(nextTangent - currTangent);\\n\\tif (max(prevTanDiff.x, prevTanDiff.y) < MIN_DIFF) {\\n\\t\\tstartJoinDirection = currNormal;\\n\\t}\\n\\tif (max(nextTanDiff.x, nextTanDiff.y) < MIN_DIFF) {\\n\\t\\tendJoinDirection = currNormal;\\n\\t}\\n\\tif (aCoord == bCoord) {\\n\\t\\tendJoinDirection = startJoinDirection;\\n\\t\\tcurrNormal = prevNormal;\\n\\t\\tcurrTangent = prevTangent;\\n\\t}\\n\\n\\ttangent = currTangent;\\n\\n\\t//calculate join shifts relative to normals\\n\\tfloat startJoinShift = dot(currNormal, startJoinDirection);\\n\\tfloat endJoinShift = dot(currNormal, endJoinDirection);\\n\\n\\tfloat startMiterRatio = abs(1. / startJoinShift);\\n\\tfloat endMiterRatio = abs(1. / endJoinShift);\\n\\n\\tvec2 startJoin = startJoinDirection * startMiterRatio;\\n\\tvec2 endJoin = endJoinDirection * endMiterRatio;\\n\\n\\tvec2 startTopJoin, startBotJoin, endTopJoin, endBotJoin;\\n\\tstartTopJoin = sign(startJoinShift) * startJoin * .5;\\n\\tstartBotJoin = -startTopJoin;\\n\\n\\tendTopJoin = sign(endJoinShift) * endJoin * .5;\\n\\tendBotJoin = -endTopJoin;\\n\\n\\tvec2 aTopCoord = aCoord + normalWidth * startTopJoin;\\n\\tvec2 bTopCoord = bCoord + normalWidth * endTopJoin;\\n\\tvec2 aBotCoord = aCoord + normalWidth * startBotJoin;\\n\\tvec2 bBotCoord = bCoord + normalWidth * endBotJoin;\\n\\n\\t//miter anti-clipping\\n\\tfloat baClipping = distToLine(bCoord, aCoord, aBotCoord) / dot(normalize(normalWidth * endBotJoin), normalize(normalWidth.yx * vec2(-startBotJoin.y, startBotJoin.x)));\\n\\tfloat abClipping = distToLine(aCoord, bCoord, bTopCoord) / dot(normalize(normalWidth * startBotJoin), normalize(normalWidth.yx * vec2(-endBotJoin.y, endBotJoin.x)));\\n\\n\\t//prevent close to reverse direction switch\\n\\tbool prevReverse = dot(currTangent, prevTangent) <= REVERSE_THRESHOLD && abs(dot(currTangent, prevNormal)) * min(length(prevDiff), length(currDiff)) <  length(normalWidth * currNormal);\\n\\tbool nextReverse = dot(currTangent, nextTangent) <= REVERSE_THRESHOLD && abs(dot(currTangent, nextNormal)) * min(length(nextDiff), length(currDiff)) <  length(normalWidth * currNormal);\\n\\n\\tif (prevReverse) {\\n\\t\\t//make join rectangular\\n\\t\\tvec2 miterShift = normalWidth * startJoinDirection * miterLimit * .5;\\n\\t\\tfloat normalAdjust = 1. - min(miterLimit / startMiterRatio, 1.);\\n\\t\\taBotCoord = aCoord + miterShift - normalAdjust * normalWidth * currNormal * .5;\\n\\t\\taTopCoord = aCoord + miterShift + normalAdjust * normalWidth * currNormal * .5;\\n\\t}\\n\\telse if (!nextReverse && baClipping > 0. && baClipping < length(normalWidth * endBotJoin)) {\\n\\t\\t//handle miter clipping\\n\\t\\tbTopCoord -= normalWidth * endTopJoin;\\n\\t\\tbTopCoord += normalize(endTopJoin * normalWidth) * baClipping;\\n\\t}\\n\\n\\tif (nextReverse) {\\n\\t\\t//make join rectangular\\n\\t\\tvec2 miterShift = normalWidth * endJoinDirection * miterLimit * .5;\\n\\t\\tfloat normalAdjust = 1. - min(miterLimit / endMiterRatio, 1.);\\n\\t\\tbBotCoord = bCoord + miterShift - normalAdjust * normalWidth * currNormal * .5;\\n\\t\\tbTopCoord = bCoord + miterShift + normalAdjust * normalWidth * currNormal * .5;\\n\\t}\\n\\telse if (!prevReverse && abClipping > 0. && abClipping < length(normalWidth * startBotJoin)) {\\n\\t\\t//handle miter clipping\\n\\t\\taBotCoord -= normalWidth * startBotJoin;\\n\\t\\taBotCoord += normalize(startBotJoin * normalWidth) * abClipping;\\n\\t}\\n\\n\\tvec2 aTopPosition = (aTopCoord) * adjustedScale + translate;\\n\\tvec2 aBotPosition = (aBotCoord) * adjustedScale + translate;\\n\\n\\tvec2 bTopPosition = (bTopCoord) * adjustedScale + translate;\\n\\tvec2 bBotPosition = (bBotCoord) * adjustedScale + translate;\\n\\n\\t//position is normalized 0..1 coord on the screen\\n\\tvec2 position = (aTopPosition * lineTop + aBotPosition * lineBot) * lineStart + (bTopPosition * lineTop + bBotPosition * lineBot) * lineEnd;\\n\\n\\tstartCoord = aCoord * scaleRatio + translate * viewport.zw + viewport.xy;\\n\\tendCoord = bCoord * scaleRatio + translate * viewport.zw + viewport.xy;\\n\\n\\tgl_Position = vec4(position  * 2.0 - 1.0, depth, 1);\\n\\n\\tenableStartMiter = step(dot(currTangent, prevTangent), .5);\\n\\tenableEndMiter = step(dot(currTangent, nextTangent), .5);\\n\\n\\t//bevel miter cutoffs\\n\\tif (miterMode == 1.) {\\n\\t\\tif (enableStartMiter == 1.) {\\n\\t\\t\\tvec2 startMiterWidth = vec2(startJoinDirection) * thickness * miterLimit * .5;\\n\\t\\t\\tstartCutoff = vec4(aCoord, aCoord);\\n\\t\\t\\tstartCutoff.zw += vec2(-startJoinDirection.y, startJoinDirection.x) / scaleRatio;\\n\\t\\t\\tstartCutoff = startCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\\n\\t\\t\\tstartCutoff += viewport.xyxy;\\n\\t\\t\\tstartCutoff += startMiterWidth.xyxy;\\n\\t\\t}\\n\\n\\t\\tif (enableEndMiter == 1.) {\\n\\t\\t\\tvec2 endMiterWidth = vec2(endJoinDirection) * thickness * miterLimit * .5;\\n\\t\\t\\tendCutoff = vec4(bCoord, bCoord);\\n\\t\\t\\tendCutoff.zw += vec2(-endJoinDirection.y, endJoinDirection.x)  / scaleRatio;\\n\\t\\t\\tendCutoff = endCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\\n\\t\\t\\tendCutoff += viewport.xyxy;\\n\\t\\t\\tendCutoff += endMiterWidth.xyxy;\\n\\t\\t}\\n\\t}\\n\\n\\t//round miter cutoffs\\n\\telse if (miterMode == 2.) {\\n\\t\\tif (enableStartMiter == 1.) {\\n\\t\\t\\tvec2 startMiterWidth = vec2(startJoinDirection) * thickness * abs(dot(startJoinDirection, currNormal)) * .5;\\n\\t\\t\\tstartCutoff = vec4(aCoord, aCoord);\\n\\t\\t\\tstartCutoff.zw += vec2(-startJoinDirection.y, startJoinDirection.x) / scaleRatio;\\n\\t\\t\\tstartCutoff = startCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\\n\\t\\t\\tstartCutoff += viewport.xyxy;\\n\\t\\t\\tstartCutoff += startMiterWidth.xyxy;\\n\\t\\t}\\n\\n\\t\\tif (enableEndMiter == 1.) {\\n\\t\\t\\tvec2 endMiterWidth = vec2(endJoinDirection) * thickness * abs(dot(endJoinDirection, currNormal)) * .5;\\n\\t\\t\\tendCutoff = vec4(bCoord, bCoord);\\n\\t\\t\\tendCutoff.zw += vec2(-endJoinDirection.y, endJoinDirection.x)  / scaleRatio;\\n\\t\\t\\tendCutoff = endCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\\n\\t\\t\\tendCutoff += viewport.xyxy;\\n\\t\\t\\tendCutoff += endMiterWidth.xyxy;\\n\\t\\t}\\n\\t}\\n}\\n\"]),frag:o([\"precision highp float;\\n#define GLSLIFY 1\\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:o([\"precision highp float;\\n#define GLSLIFY 1\\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:o([\"precision highp float;\\n#define GLSLIFY 1\\n\\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}},v.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},v.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()},v.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>v.precisionThreshold||e.scale[1]*e.viewport.height>v.precisionThreshold||\"rect\"===e.join||!e.join&&(e.thickness<=2||e.count>=v.maxPoints)?t.shaders.rect(e):t.shaders.miter(e)))})),this},v.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,o=this.gl;if(t.forEach((function(t,f){var d=e.passes[f];if(void 0!==t)if(null!==t){if(\"number\"==typeof t[0]&&(t={positions:t}),t=s(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\"}),d||(e.passes[f]=d={id:f,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({},v.defaults,t)),null!=t.thickness&&(d.thickness=parseFloat(t.thickness)),null!=t.opacity&&(d.opacity=parseFloat(t.opacity)),null!=t.miterLimit&&(d.miterLimit=parseFloat(t.miterLimit)),null!=t.overlay&&(d.overlay=!!t.overlay,f<v.maxLines&&(d.depth=2*(v.maxLines-1-f%v.maxLines)/v.maxLines-1)),null!=t.join&&(d.join=t.join),null!=t.hole&&(d.hole=t.hole),null!=t.fill&&(d.fill=t.fill?n(t.fill,\"uint8\"):null),null!=t.viewport&&(d.viewport=m(t.viewport)),d.viewport||(d.viewport=m([o.drawingBufferWidth,o.drawingBufferHeight])),null!=t.close&&(d.close=t.close),null===t.positions&&(t.positions=[]),t.positions){var y,x;if(t.positions.x&&t.positions.y){var b=t.positions.x,_=t.positions.y;x=d.count=Math.max(b.length,_.length),y=new Float64Array(2*x);for(var w=0;w<x;w++)y[2*w]=b[w],y[2*w+1]=_[w]}else y=l(t.positions,\"float64\"),x=d.count=Math.floor(y.length/2);var T=d.bounds=i(y,2);if(d.fill){for(var k=[],A={},M=0,S=0,E=0,L=d.count;S<L;S++){var C=y[2*S],P=y[2*S+1];isNaN(C)||isNaN(P)||null==C||null==P?(C=y[2*M],P=y[2*M+1],A[S]=M):M=S,k[E++]=C,k[E++]=P}if(t.splitNull){d.count-1 in A||(A[d.count]=d.count-1);var I=Object.keys(A).map(Number).sort((function(t,e){return t-e})),O=[],z=0,D=null!=d.hole?d.hole[0]:null;if(null!=D){var R=g(I,(function(t){return t>=D}));(I=I.slice(0,R)).push(D)}for(var F=function(t){var e=k.slice(2*z,2*I[t]).concat(D?k.slice(2*D):[]),r=(d.hole||[]).map((function(e){return e-D+(I[t]-z)})),n=c(e,r);n=n.map((function(e){return e+z+(e+z<I[t]?0:D-I[t])})),O.push.apply(O,n),z=I[t]+1},B=0;B<I.length;B++)F(B);for(var N=0,j=O.length;N<j;N++)null!=A[O[N]]&&(O[N]=A[O[N]]);d.triangles=O}else{for(var U=c(k,d.hole||[]),V=0,H=U.length;V<H;V++)null!=A[U[V]]&&(U[V]=A[U[V]]);d.triangles=U}}var q=new Float64Array(y);u(q,2,T);var G=new Float64Array(2*x+6);d.close?y[0]===y[2*x-2]&&y[1]===y[2*x-1]?(G[0]=q[2*x-4],G[1]=q[2*x-3]):(G[0]=q[2*x-2],G[1]=q[2*x-1]):(G[0]=q[0],G[1]=q[1]),G.set(q,2),d.close?y[0]===y[2*x-2]&&y[1]===y[2*x-1]?(G[2*x+2]=q[2],G[2*x+3]=q[3],d.count-=1):(G[2*x+2]=q[0],G[2*x+3]=q[1],G[2*x+4]=q[2],G[2*x+5]=q[3]):(G[2*x+2]=q[2*x-2],G[2*x+3]=q[2*x-1],G[2*x+4]=q[2*x-2],G[2*x+5]=q[2*x-1]);var Y=h(G);d.positionBuffer(Y);var W=p(G,Y);d.positionFractBuffer(W)}if(t.range?d.range=t.range:d.range||(d.range=d.bounds),(t.range||t.positions)&&d.count){var X=d.bounds,Z=X[2]-X[0],J=X[3]-X[1],K=d.range[2]-d.range[0],Q=d.range[3]-d.range[1];d.scale=[Z/K,J/Q],d.translate=[-d.range[0]/K+X[0]/K||0,-d.range[1]/Q+X[1]/Q||0],d.scaleFract=p(d.scale),d.translateFract=p(d.translate)}if(t.dashes){var $,tt=0;if(!t.dashes||t.dashes.length<2)tt=1,$=new Uint8Array([255,255,255,255,255,255,255,255]);else{tt=0;for(var et=0;et<t.dashes.length;++et)tt+=t.dashes[et];$=new Uint8Array(tt*v.dashMult);for(var rt=0,nt=255,it=0;it<2;it++)for(var at=0;at<t.dashes.length;++at){for(var ot=0,st=t.dashes[at]*v.dashMult*.5;ot<st;++ot)$[rt++]=nt;nt^=255}}d.dashLength=tt,d.dashTexture({channels:1,data:$,width:$.length,height:1,mag:\"linear\",min:\"linear\"},0,0)}if(t.color){var lt=d.count,ct=t.color;ct||(ct=\"transparent\");var ut=new Uint8Array(4*lt+4);if(Array.isArray(ct)&&\"number\"!=typeof ct[0]){for(var ft=0;ft<lt;ft++){var ht=n(ct[ft],\"uint8\");ut.set(ht,4*ft)}ut.set(n(ct[0],\"uint8\"),4*lt)}else for(var pt=n(ct,\"uint8\"),dt=0;dt<lt+1;dt++)ut.set(pt,4*dt);d.colorBuffer({usage:\"dynamic\",type:\"uint8\",data:ut})}}else e.passes[f]=null})),t.length<this.passes.length){for(var f=t.length;f<this.passes.length;f++){var d=this.passes[f];d&&(d.colorBuffer.destroy(),d.positionBuffer.destroy(),d.dashTexture.destroy())}this.passes.length=t.length}for(var y=[],x=0;x<this.passes.length;x++)null!==this.passes[x]&&y.push(this.passes[x]);return this.passes=y,this}},v.prototype.destroy=function(){return this.passes.forEach((function(t){t.colorBuffer.destroy(),t.positionBuffer.destroy(),t.dashTexture.destroy()})),this.passes.length=0,this}},{\"array-bounds\":71,\"array-find-index\":72,\"array-normalize\":73,\"color-normalize\":89,earcut:129,\"es6-weak-map\":183,\"flatten-vertex-data\":191,glslify:227,\"object-assign\":247,\"parse-rect\":249,\"pick-by-alias\":253,\"to-float32\":313}],281:[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)return;var n,i,a=[],o=!0,s=!1;try{for(r=r.call(t);!(o=(n=r.next()).done)&&(a.push(n.value),!e||a.length!==e);o=!0);}catch(t){s=!0,i=t}finally{try{o||null==r.return||r.return()}finally{if(s)throw i}}return a}(t,e)||a(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){return function(t){if(Array.isArray(t))return o(t)}(t)||function(t){if(\"undefined\"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t[\"@@iterator\"])return Array.from(t)}(t)||a(t)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function a(t,e){if(t){if(\"string\"==typeof t)return o(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)?o(t,e):void 0}}function o(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}var s=t(\"color-normalize\"),l=t(\"array-bounds\"),c=t(\"color-id\"),u=t(\"@plotly/point-cluster\"),f=t(\"object-assign\"),h=t(\"glslify\"),p=t(\"pick-by-alias\"),d=t(\"update-diff\"),m=t(\"flatten-vertex-data\"),g=t(\"is-iexplorer\"),v=t(\"to-float32\"),y=t(\"parse-rect\"),x=b;function b(t,e){var r=this;if(!(this instanceof b))return new b(t,e);\"function\"==typeof t?(e||(e={}),e.regl=t):(e=t,t=null),e&&e.length&&(e.positions=e);var n,i=(t=e.regl)._gl,a=[];this.tooManyColors=g,n=t.texture({data:new Uint8Array(1020),width:255,height:1,type:\"uint8\",format:\"rgba\",wrapS:\"clamp\",wrapT:\"clamp\",mag:\"nearest\",min:\"nearest\"}),f(this,{regl:t,gl:i,groups:[],markerCache:[null],markerTextures:[null],palette:a,paletteIds:{},paletteTexture:n,maxColors:255,maxSize:100,canvas:i.canvas}),this.update(e);var o={uniforms:{constPointSize:!!e.constPointSize,opacity:t.prop(\"opacity\"),paletteSize:function(t,e){return[r.tooManyColors?0:255,n.height]},pixelRatio:t.context(\"pixelRatio\"),scale:t.prop(\"scale\"),scaleFract:t.prop(\"scaleFract\"),translate:t.prop(\"translate\"),translateFract:t.prop(\"translateFract\"),markerTexture:t.prop(\"markerTexture\"),paletteTexture:n},attributes:{x:function(t,e){return e.xAttr||{buffer:e.positionBuffer,stride:8,offset:0}},y:function(t,e){return e.yAttr||{buffer:e.positionBuffer,stride:8,offset:4}},xFract:function(t,e){return e.xAttr?{constant:[0,0]}:{buffer:e.positionFractBuffer,stride:8,offset:0}},yFract:function(t,e){return e.yAttr?{constant:[0,0]}:{buffer:e.positionFractBuffer,stride:8,offset:4}},size:function(t,e){return e.size.length?{buffer:e.sizeBuffer,stride:2,offset:0}:{constant:[Math.round(255*e.size/r.maxSize)]}},borderSize:function(t,e){return e.borderSize.length?{buffer:e.sizeBuffer,stride:2,offset:1}:{constant:[Math.round(255*e.borderSize/r.maxSize)]}},colorId:function(t,e){return e.color.length?{buffer:e.colorBuffer,stride:r.tooManyColors?8:4,offset:0}:{constant:r.tooManyColors?a.slice(4*e.color,4*e.color+4):[e.color]}},borderColorId:function(t,e){return e.borderColor.length?{buffer:e.colorBuffer,stride:r.tooManyColors?8:4,offset:r.tooManyColors?4:2}:{constant:r.tooManyColors?a.slice(4*e.borderColor,4*e.borderColor+4):[e.borderColor]}},isActive:function(t,e){return!0===e.activation?{constant:[1]}:e.activation?e.activation:{constant:[0]}}},blend:{enable:!0,color:[0,0,0,1],func:{srcRGB:\"src alpha\",dstRGB:\"one minus src alpha\",srcAlpha:\"one minus dst alpha\",dstAlpha:\"one\"}},scissor:{enable:!0,box:t.prop(\"viewport\")},viewport:t.prop(\"viewport\"),stencil:{enable:!1},depth:{enable:!1},elements:t.prop(\"elements\"),count:t.prop(\"count\"),offset:t.prop(\"offset\"),primitive:\"points\"},s=f({},o);s.frag=h([\"precision highp float;\\n#define GLSLIFY 1\\n\\nuniform float opacity;\\nuniform sampler2D markerTexture;\\n\\nvarying vec4 fragColor, fragBorderColor;\\nvarying float fragWidth, fragBorderColorLevel, fragColorLevel;\\n\\nfloat smoothStep(float x, float y) {\\n  return 1.0 / (1.0 + exp(50.0*(x - y)));\\n}\\n\\nvoid main() {\\n  float dist = texture2D(markerTexture, gl_PointCoord).r, delta = fragWidth;\\n\\n  // max-distance alpha\\n  if (dist < 0.003) discard;\\n\\n  // null-border case\\n  if (fragBorderColorLevel == fragColorLevel || fragBorderColor.a == 0.) {\\n    float colorAmt = smoothstep(.5 - delta, .5 + delta, dist);\\n    gl_FragColor = vec4(fragColor.rgb, colorAmt * fragColor.a * opacity);\\n  }\\n  else {\\n    float borderColorAmt = smoothstep(fragBorderColorLevel - delta, fragBorderColorLevel + delta, dist);\\n    float colorAmt = smoothstep(fragColorLevel - delta, fragColorLevel + delta, dist);\\n\\n    vec4 color = fragBorderColor;\\n    color.a *= borderColorAmt;\\n    color = mix(color, fragColor, colorAmt);\\n    color.a *= opacity;\\n\\n    gl_FragColor = color;\\n  }\\n\\n}\\n\"]),s.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\\nuniform bool constPointSize;\\nuniform float pixelRatio;\\nuniform vec2 scale, scaleFract, translate, translateFract, paletteSize;\\nuniform sampler2D paletteTexture;\\n\\nconst float maxSize = 100.;\\nconst float borderLevel = .5;\\n\\nvarying vec4 fragColor, fragBorderColor;\\nvarying float fragPointSize, fragBorderRadius, fragWidth, fragBorderColorLevel, fragColorLevel;\\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 = 2. * size * pointSizeScale;\\n  fragPointSize = size * pixelRatio;\\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  fragColor = color;\\n  fragBorderColor = borderColor;\\n  fragWidth = 1. / gl_PointSize;\\n\\n  fragBorderColorLevel = clamp(borderLevel - borderLevel * borderSize / size, 0., 1.);\\n  fragColorLevel = clamp(borderLevel + (1. - borderLevel) * borderSize / size, 0., 1.);\\n}\"]),this.drawMarker=t(s);var l=f({},o);l.frag=h([\"precision highp float;\\n#define GLSLIFY 1\\n\\nvarying vec4 fragColor, fragBorderColor;\\nvarying float fragBorderRadius, fragWidth;\\n\\nuniform float opacity;\\n\\nfloat smoothStep(float edge0, float edge1, float x) {\\n\\tfloat t;\\n\\tt = clamp((x - edge0) / (edge1 - edge0), 0.0, 1.0);\\n\\treturn t * t * (3.0 - 2.0 * t);\\n}\\n\\nvoid main() {\\n\\tfloat radius, alpha = 1.0, delta = fragWidth;\\n\\n\\tradius = length(2.0 * gl_PointCoord.xy - 1.0);\\n\\n\\tif (radius > 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\\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\"]),g&&(l.frag=l.frag.replace(\"smoothstep\",\"smoothStep\"),s.frag=s.frag.replace(\"smoothstep\",\"smoothStep\")),this.drawCircle=t(l)}b.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},b.prototype.render=function(){return arguments.length&&this.update.apply(this,arguments),this.draw(),this},b.prototype.draw=function(){for(var t=this,e=arguments.length,r=new Array(e),n=0;n<e;n++)r[n]=arguments[n];var i=this.groups;if(1===r.length&&Array.isArray(r[0])&&(null===r[0][0]||Array.isArray(r[0][0]))&&(r=r[0]),this.regl._refresh(),r.length)for(var a=0;a<r.length;a++)this.drawItem(a,r[a]);else i.forEach((function(e,r){t.drawItem(r)}));return this},b.prototype.drawItem=function(t,e){var r=this.groups,n=r[t];if(\"number\"==typeof e&&(t=e,n=r[e],e=null),n&&n.count&&n.opacity){n.activation[0]&&this.drawCircle(this.getMarkerDrawOptions(0,n,e));for(var a=[],o=1;o<n.activation.length;o++)n.activation[o]&&(!0===n.activation[o]||n.activation[o].data.length)&&a.push.apply(a,i(this.getMarkerDrawOptions(o,n,e)));a.length&&this.drawMarker(a)}},b.prototype.getMarkerDrawOptions=function(t,e,r){var i=e.range,a=e.tree,o=e.viewport,s=e.activation,l=e.selectionBuffer,c=e.count;this.regl;if(!a)return r?[f({},e,{markerTexture:this.markerTextures[t],activation:s[t],count:r.length,elements:r,offset:0})]:[f({},e,{markerTexture:this.markerTextures[t],activation:s[t],offset:0})];var u=[],h=a.range(i,{lod:!0,px:[(i[2]-i[0])/o.width,(i[3]-i[1])/o.height]});if(r){for(var p=s[t].data,d=new Uint8Array(c),m=0;m<r.length;m++){var g=r[m];d[g]=p?p[g]:1}l.subdata(d)}for(var v=h.length;v--;){var y=n(h[v],2),x=y[0],b=y[1];u.push(f({},e,{markerTexture:this.markerTextures[t],activation:r?l:s[t],offset:x,count:b-x}))}return u},b.prototype.update=function(){for(var t=this,e=arguments.length,r=new Array(e),n=0;n<e;n++)r[n]=arguments[n];if(r.length){1===r.length&&Array.isArray(r[0])&&(r=r[0]);var i=this.groups,a=this.gl,o=this.regl,s=this.maxSize,c=this.maxColors,h=this.palette;this.groups=i=r.map((function(e,r){var n=i[r];if(void 0===e)return n;null===e?e={positions:null}:\"function\"==typeof e?e={ondraw:e}:\"number\"==typeof e[0]&&(e={positions:e}),null===(e=p(e,{positions:\"positions data points\",snap:\"snap cluster lod tree\",size:\"sizes size radius\",borderSize:\"borderSizes borderSize border-size bordersize borderWidth borderWidths border-width borderwidth stroke-width strokeWidth strokewidth outline\",color:\"colors color fill fill-color fillColor\",borderColor:\"borderColors borderColor stroke stroke-color strokeColor\",marker:\"markers marker shape\",range:\"range dataBox databox\",viewport:\"viewport viewPort viewBox viewbox\",opacity:\"opacity alpha transparency\",bounds:\"bound bounds boundaries limits\",tooManyColors:\"tooManyColors palette paletteMode optimizePalette enablePalette\"})).positions&&(e.positions=[]),null!=e.tooManyColors&&(t.tooManyColors=e.tooManyColors),n||(i[r]=n={id:r,scale:null,translate:null,scaleFract:null,translateFract:null,activation:[],selectionBuffer:o.buffer({data:new Uint8Array(0),usage:\"stream\",type:\"uint8\"}),sizeBuffer:o.buffer({data:new Uint8Array(0),usage:\"dynamic\",type:\"uint8\"}),colorBuffer:o.buffer({data:new Uint8Array(0),usage:\"dynamic\",type:\"uint8\"}),positionBuffer:o.buffer({data:new Uint8Array(0),usage:\"dynamic\",type:\"float\"}),positionFractBuffer:o.buffer({data:new Uint8Array(0),usage:\"dynamic\",type:\"float\"})},e=f({},b.defaults,e)),e.positions&&!(\"marker\"in e)&&(e.marker=n.marker,delete n.marker),e.marker&&!(\"positions\"in e)&&(e.positions=n.positions,delete n.positions);var g=0,x=0;if(d(n,e,[{snap:!0,size:function(t,e){return null==t&&(t=b.defaults.size),g+=t&&t.length?1:0,t},borderSize:function(t,e){return null==t&&(t=b.defaults.borderSize),g+=t&&t.length?1:0,t},opacity:parseFloat,color:function(e,r){return null==e&&(e=b.defaults.color),e=t.updateColor(e),x++,e},borderColor:function(e,r){return null==e&&(e=b.defaults.borderColor),e=t.updateColor(e),x++,e},bounds:function(t,e,r){return\"range\"in r||(r.range=null),t},positions:function(t,e,r){var n=e.snap,i=e.positionBuffer,a=e.positionFractBuffer,s=e.selectionBuffer;if(t.x||t.y)return t.x.length?e.xAttr={buffer:o.buffer(t.x),offset:0,stride:4,count:t.x.length}:e.xAttr={buffer:t.x.buffer,offset:4*t.x.offset||0,stride:4*(t.x.stride||1),count:t.x.count},t.y.length?e.yAttr={buffer:o.buffer(t.y),offset:0,stride:4,count:t.y.length}:e.yAttr={buffer:t.y.buffer,offset:4*t.y.offset||0,stride:4*(t.y.stride||1),count:t.y.count},e.count=Math.max(e.xAttr.count,e.yAttr.count),t;t=m(t,\"float64\");var c=e.count=Math.floor(t.length/2),f=e.bounds=c?l(t,2):null;if(r.range||e.range||(delete e.range,r.range=f),r.marker||e.marker||(delete e.marker,r.marker=null),n&&(!0===n||c>n)?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=v.float32(t);return i({data:p,usage:\"dynamic\"}),a({data:v.fract32(t,p),usage:\"dynamic\"}),s({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<l;s++){var c=t.addMarker(e[s]);a[c]||(a[c]=new Uint8Array(r.count)),a[c][s]=1}for(var u=0;u<a.length;u++)if(a[u]){var f={data:a[u],type:\"uint8\",usage:\"static\"};i[u]?i[u](f):i[u]=o.buffer(f),i[u].data=a[u]}}else{i[t.addMarker(e)]=!0}return e},range:function(t,e,r){var n=e.bounds;if(n)return t||(t=n),e.scale=[1/(t[2]-t[0]),1/(t[3]-t[1])],e.translate=[-t[0],-t[1]],e.scaleFract=v.fract(e.scale),e.translateFract=v.fract(e.translate),t},viewport:function(t){return y(t||[a.drawingBufferWidth,a.drawingBufferHeight])}}]),g){var _=n,w=_.count,T=_.size,k=_.borderSize,A=_.sizeBuffer,M=new Uint8Array(2*w);if(T.length||k.length)for(var S=0;S<w;S++)M[2*S]=Math.round(255*(null==T[S]?T:T[S])/s),M[2*S+1]=Math.round(255*(null==k[S]?k:k[S])/s);A({data:M,usage:\"dynamic\"})}if(x){var E,L=n,C=L.count,P=L.color,I=L.borderColor,O=L.colorBuffer;if(t.tooManyColors){if(P.length||I.length){E=new Uint8Array(8*C);for(var z=0;z<C;z++){var D=P[z];E[8*z]=h[4*D],E[8*z+1]=h[4*D+1],E[8*z+2]=h[4*D+2],E[8*z+3]=h[4*D+3];var R=I[z];E[8*z+4]=h[4*R],E[8*z+5]=h[4*R+1],E[8*z+6]=h[4*R+2],E[8*z+7]=h[4*R+3]}}}else if(P.length||I.length){E=new Uint8Array(4*C+2);for(var F=0;F<C;F++)null!=P[F]&&(E[4*F]=P[F]%c,E[4*F+1]=Math.floor(P[F]/c)),null!=I[F]&&(E[4*F+2]=I[F]%c,E[4*F+3]=Math.floor(I[F]/c))}O({data:E||new Uint8Array(0),type:\"uint8\",usage:\"dynamic\"})}return n}))}},b.prototype.addMarker=function(t){var e,r=this.markerTextures,n=this.regl,i=this.markerCache,a=null==t?0:i.indexOf(t);if(a>=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;o<s;o++)e[o]=255*t[o]}var l=Math.floor(Math.sqrt(e.length));return a=r.length,i.push(t),r.push(n.texture({channels:1,data:e,radius:l,mag:\"linear\",min:\"linear\"})),a},b.prototype.updateColor=function(t){var e=this.paletteIds,r=this.palette,n=this.maxColors;Array.isArray(t)||(t=[t]);var i=[];if(\"number\"==typeof t[0]){var a=[];if(Array.isArray(t))for(var o=0;o<t.length;o+=4)a.push(t.slice(o,o+4));else for(var l=0;l<t.length;l+=4)a.push(t.subarray(l,l+4));t=a}for(var u=0;u<t.length;u++){var f=t[u];f=s(f,\"uint8\");var h=c(f,!1);if(null==e[h]){var p=r.length;e[h]=Math.floor(p/4),r[p]=f[0],r[p+1]=f[1],r[p+2]=f[2],r[p+3]=f[3]}i[u]=e[h]}return!this.tooManyColors&&r.length>4*n&&(this.tooManyColors=!0),this.updatePalette(r),1===i.length?i[0]:i},b.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;i<n*e;i++)t.push(0,0,0,0);r.height<n&&r.resize(e,n),r.subimage({width:Math.min(.25*t.length,e),height:n,data:t},0,0)}},b.prototype.destroy=function(){return this.groups.forEach((function(t){t.sizeBuffer.destroy(),t.positionBuffer.destroy(),t.positionFractBuffer.destroy(),t.colorBuffer.destroy(),t.activation.forEach((function(t){return t&&t.destroy&&t.destroy()})),t.selectionBuffer.destroy(),t.elements&&t.elements.destroy()})),this.groups.length=0,this.paletteTexture.destroy(),this.markerTextures.forEach((function(t){return t&&t.destroy&&t.destroy()})),this};var _=t(\"object-assign\");e.exports=function(t,e){var r=new x(t,e),n=r.render.bind(r);return _(n,{render:n,update:r.update.bind(r),draw:r.draw.bind(r),destroy:r.destroy.bind(r),regl:r.regl,gl:r.gl,canvas:r.gl.canvas,groups:r.groups,markers:r.markerCache,palette:r.palette}),n}},{\"@plotly/point-cluster\":59,\"array-bounds\":71,\"color-id\":87,\"color-normalize\":89,\"flatten-vertex-data\":191,glslify:227,\"is-iexplorer\":233,\"object-assign\":247,\"parse-rect\":249,\"pick-by-alias\":253,\"to-float32\":313,\"update-diff\":329}],282:[function(t,e,r){\"use strict\";var n=t(\"regl-scatter2d\"),i=t(\"pick-by-alias\"),a=t(\"array-bounds\"),o=t(\"raf\"),s=t(\"array-range\"),l=t(\"parse-rect\"),c=t(\"flatten-vertex-data\");function u(t,e){if(!(this instanceof u))return new u(t,e);this.traces=[],this.passes={},this.regl=t,this.scatter=n(t),this.canvas=this.scatter.canvas}function f(t,e,r){return(null!=t.id?t.id:t)<<16|(255&e)<<8|255&r}function h(t,e,r){var n,i,a,o,s=t[e],l=t[r];return s.length>2?(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]}e.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;n<e.length;n++)this.updateItem(n,e[n]);this.traces=this.traces.filter(Boolean);for(var i=[],a=0,o=0;o<this.traces.length;o++){for(var s=this.traces[o],l=this.traces[o].passes,c=0;c<l.length;c++)i.push(this.passes[l[c]]);s.passOffset=a,a+=s.passes.length}return(t=this.scatter).update.apply(t,i),this}},u.prototype.updateItem=function(t,e){var r=this.regl;if(null===e)return this.traces[t]=null,this;if(!e)return this;var n,o=i(e,{data:\"data items columns rows values dimensions samples x\",snap:\"snap cluster\",size:\"sizes size radius\",color:\"colors color fill fill-color fillColor\",opacity:\"opacity alpha transparency opaque\",borderSize:\"borderSizes borderSize border-size bordersize borderWidth borderWidths border-width borderwidth stroke-width strokeWidth strokewidth outline\",borderColor:\"borderColors borderColor bordercolor stroke stroke-color strokeColor\",marker:\"markers marker shape\",range:\"range ranges databox dataBox\",viewport:\"viewport viewBox viewbox\",domain:\"domain domains area areas\",padding:\"pad padding paddings pads margin margins\",transpose:\"transpose transposed\",diagonal:\"diagonal diag showDiagonal\",upper:\"upper up top upperhalf upperHalf showupperhalf showUpper showUpperHalf\",lower:\"lower low bottom lowerhalf lowerHalf showlowerhalf showLowerHalf showLower\"}),s=this.traces[t]||(this.traces[t]={id:t,buffer:r.buffer({usage:\"dynamic\",type:\"float\",data:new Uint8Array}),color:\"black\",marker:null,size:12,borderColor:\"transparent\",borderSize:1,viewport:l([r._gl.drawingBufferWidth,r._gl.drawingBufferHeight]),padding:[0,0,0,0],opacity:1,diagonal:!0,upper:!0,lower:!0});if(null!=o.color&&(s.color=o.color),null!=o.size&&(s.size=o.size),null!=o.marker&&(s.marker=o.marker),null!=o.borderColor&&(s.borderColor=o.borderColor),null!=o.borderSize&&(s.borderSize=o.borderSize),null!=o.opacity&&(s.opacity=o.opacity),o.viewport&&(s.viewport=l(o.viewport)),null!=o.diagonal&&(s.diagonal=o.diagonal),null!=o.upper&&(s.upper=o.upper),null!=o.lower&&(s.lower=o.lower),o.data){s.buffer(c(o.data)),s.columns=o.data.length,s.count=o.data[0].length,s.bounds=[];for(var u=0;u<s.columns;u++)s.bounds[u]=a(o.data[u],1)}o.range&&(s.range=o.range,n=s.range&&\"number\"!=typeof s.range[0]),o.domain&&(s.domain=o.domain);var d=!1;null!=o.padding&&(Array.isArray(o.padding)&&o.padding.length===s.columns&&\"number\"==typeof o.padding[o.padding.length-1]?(s.padding=o.padding.map(p),d=!0):s.padding=p(o.padding));var m=s.columns,g=s.count,v=s.viewport.width,y=s.viewport.height,x=s.viewport.x,b=s.viewport.y,_=v/m,w=y/m;s.passes=[];for(var T=0;T<m;T++)for(var k=0;k<m;k++)if((s.diagonal||k!==T)&&(s.upper||!(T>k))&&(s.lower||!(T<k))){var A=f(s.id,T,k),M=this.passes[A]||(this.passes[A]={});if(o.data&&(o.transpose?M.positions={x:{buffer:s.buffer,offset:k,count:g,stride:m},y:{buffer:s.buffer,offset:T,count:g,stride:m}}:M.positions={x:{buffer:s.buffer,offset:k*g,count:g},y:{buffer:s.buffer,offset:T*g,count:g}},M.bounds=h(s.bounds,T,k)),o.domain||o.viewport||o.data){var S=d?h(s.padding,T,k):s.padding;if(s.domain){var E=h(s.domain,T,k),L=E[0],C=E[1],P=E[2],I=E[3];M.viewport=[x+L*v+S[0],b+C*y+S[1],x+P*v-S[2],b+I*y-S[3]]}else M.viewport=[x+k*_+_*S[0],b+T*w+w*S[1],x+(k+1)*_-_*S[2],b+(T+1)*w-w*S[3]]}o.color&&(M.color=s.color),o.size&&(M.size=s.size),o.marker&&(M.marker=s.marker),o.borderSize&&(M.borderSize=s.borderSize),o.borderColor&&(M.borderColor=s.borderColor),o.opacity&&(M.opacity=s.opacity),o.range&&(M.range=n?h(s.range,T,k):s.range||M.bounds),s.passes.push(A)}return this},u.prototype.draw=function(){for(var t,e=[],r=arguments.length;r--;)e[r]=arguments[r];if(e.length){for(var n=[],i=0;i<e.length;i++)if(\"number\"==typeof e[i]){var a=this.traces[e[i]],o=a.passes,l=a.passOffset;n.push.apply(n,s(l,l+o.length))}else if(e[i].length){var c=e[i],u=this.traces[i],f=u.passes,h=u.passOffset;f=f.map((function(t,e){n[h+e]=c}))}(t=this.scatter).draw.apply(t,n)}else this.scatter.draw();return this},u.prototype.destroy=function(){return this.traces.forEach((function(t){t.buffer&&t.buffer.destroy&&t.buffer.destroy()})),this.traces=null,this.passes=null,this.scatter.destroy(),this}},{\"array-bounds\":71,\"array-range\":74,\"flatten-vertex-data\":191,\"parse-rect\":249,\"pick-by-alias\":253,raf:278,\"regl-scatter2d\":281}],283:[function(t,e,r){!function(t,n){\"object\"==typeof r&&void 0!==e?e.exports=n():t.createREGL=n()}(this,(function(){function t(t,e){this.id=q++,this.type=t,this.data=e}function e(t){return\"[\"+function t(e){if(0===e.length)return[];var r=e.charAt(0),n=e.charAt(e.length-1);if(1<e.length&&r===n&&('\"'===r||\"'\"===r))return['\"'+e.substr(1,e.length-2).replace(/\\\\/g,\"\\\\\\\\\").replace(/\"/g,'\\\\\"')+'\"'];if(r=/\\[(false|true|null|\\d+|'[^']*'|\"[^\"]*\")\\]/.exec(e))return t(e.substr(0,r.index)).concat(t(r[1])).concat(t(e.substr(r.index+r[0].length)));if(1===(r=e.split(\".\")).length)return['\"'+e.replace(/\\\\/g,\"\\\\\\\\\").replace(/\"/g,'\\\\\"')+'\"'];for(e=[],n=0;n<r.length;++n)e=e.concat(t(r[n]));return e}(t).join(\"][\")+\"]\"}function r(t){return\"string\"==typeof t?t.split():t}function n(t){return\"string\"==typeof t?document.querySelector(t):t}function i(t){var e,i,a,o,s=t||{};t={};var l=[],c=[],u=\"undefined\"==typeof window?1:window.devicePixelRatio,f=!1,h={},p=function(t){},d=function(){};if(\"string\"==typeof s?e=document.querySelector(s):\"object\"==typeof s&&(\"string\"==typeof s.nodeName&&\"function\"==typeof s.appendChild&&\"function\"==typeof s.getBoundingClientRect?e=s:\"function\"==typeof s.drawArrays||\"function\"==typeof s.drawElements?a=(o=s).canvas:(\"gl\"in s?o=s.gl:\"canvas\"in s?a=n(s.canvas):\"container\"in s&&(i=n(s.container)),\"attributes\"in s&&(t=s.attributes),\"extensions\"in s&&(l=r(s.extensions)),\"optionalExtensions\"in s&&(c=r(s.optionalExtensions)),\"onDone\"in s&&(p=s.onDone),\"profile\"in s&&(f=!!s.profile),\"pixelRatio\"in s&&(u=+s.pixelRatio),\"cachedCode\"in s&&(h=s.cachedCode))),e&&(\"canvas\"===e.nodeName.toLowerCase()?a=e:i=e),!o){if(!a){if(!(e=function(t,e,r){function n(){var e=window.innerWidth,n=window.innerHeight;t!==document.body&&(e=(n=a.getBoundingClientRect()).right-n.left,n=n.bottom-n.top),a.width=r*e,a.height=r*n}var i,a=document.createElement(\"canvas\");return H(a.style,{border:0,margin:0,padding:0,top:0,left:0,width:\"100%\",height:\"100%\"}),t.appendChild(a),t===document.body&&(a.style.position=\"absolute\",H(t.style,{margin:0,padding:0})),t!==document.body&&\"function\"==typeof ResizeObserver?(i=new ResizeObserver((function(){setTimeout(n)}))).observe(t):window.addEventListener(\"resize\",n,!1),n(),{canvas:a,onDestroy:function(){i?i.disconnect():window.removeEventListener(\"resize\",n),t.removeChild(a)}}}(i||document.body,0,u)))return null;a=e.canvas,d=e.onDestroy}void 0===t.premultipliedAlpha&&(t.premultipliedAlpha=!0),o=function(t,e){function r(r){try{return t.getContext(r,e)}catch(t){return null}}return r(\"webgl\")||r(\"experimental-webgl\")||r(\"webgl-experimental\")}(a,t)}return o?{gl:o,canvas:a,container:i,extensions:l,optionalExtensions:c,pixelRatio:u,profile:f,cachedCode:h,onDone:p,onDestroy:d}:(d(),p(\"webgl not supported, try upgrading your browser or graphics drivers http://get.webgl.org\"),null)}function a(t,e){for(var r=Array(t),n=0;n<t;++n)r[n]=e(n);return r}function o(t){var e,r;return e=(65535<t)<<4,e|=r=(255<(t>>>=e))<<3,(e|=r=(15<(t>>>=r))<<2)|(r=(3<(t>>>=r))<<1)|t>>>r>>1}function s(){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[o(t)>>2]).length?e.pop():new ArrayBuffer(t)}function e(t){r[o(t.byteLength)>>2].push(t)}var r=a(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 l(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)||J(t.data))}function c(t,e,r,n,i,a){for(var o=0;o<e;++o)for(var s=t[o],l=0;l<r;++l)for(var c=s[l],u=0;u<n;++u)i[a++]=c[u]}function u(t){return 0|$[Object.prototype.toString.call(t)]}function f(t,e){for(var r=0;r<e.length;++r)t[r]=e[r]}function h(t,e,r,n,i,a,o){for(var s=0,l=0;l<r;++l)for(var c=0;c<n;++c)t[s++]=e[i*l+a*c+o]}function p(t,e,r,n){function i(e){this.id=c++,this.buffer=t.createBuffer(),this.type=e,this.usage=35044,this.byteLength=0,this.dimension=1,this.dtype=5121,this.persistentData=null,r.profile&&(this.stats={size:0})}function a(e,r,n){e.byteLength=r.byteLength,t.bufferData(e.type,r,n)}function o(t,e,r,n,i,o){if(t.usage=r,Array.isArray(e)){if(t.dtype=n||5126,0<e.length)if(Array.isArray(e[0])){i=nt(e);for(var s=n=1;s<i.length;++s)n*=i[s];t.dimension=n,a(t,e=rt(e,i,t.dtype),r),o?t.persistentData=e:X.freeType(e)}else\"number\"==typeof e[0]?(t.dimension=i,f(i=X.allocType(t.dtype,e.length),e),a(t,i,r),o?t.persistentData=i:X.freeType(i)):J(e[0])&&(t.dimension=e[0].length,t.dtype=n||u(e[0])||5126,a(t,e=rt(e,[e.length,e[0].length],t.dtype),r),o?t.persistentData=e:X.freeType(e))}else if(J(e))t.dtype=n||u(e),t.dimension=i,a(t,e,r),o&&(t.persistentData=new Uint8Array(new Uint8Array(e.buffer)));else if(l(e)){i=e.shape;var c=e.stride,p=(s=e.offset,0),d=0,m=0,g=0;1===i.length?(p=i[0],d=1,m=c[0],g=0):2===i.length&&(p=i[0],d=i[1],m=c[0],g=c[1]),t.dtype=n||u(e.data)||5126,t.dimension=d,h(i=X.allocType(t.dtype,p*d),e.data,p,d,m,g,s),a(t,i,r),o?t.persistentData=i:X.freeType(i)}else e instanceof ArrayBuffer&&(t.dtype=5121,t.dimension=i,a(t,e,r),o&&(t.persistentData=new Uint8Array(new Uint8Array(e))))}function s(r){e.bufferCount--,n(r),t.deleteBuffer(r.buffer),r.buffer=null,delete p[r.id]}var c=0,p={};i.prototype.bind=function(){t.bindBuffer(this.type,this.buffer)},i.prototype.destroy=function(){s(this)};var d=[];return r.profile&&(e.getTotalBufferSize=function(){var t=0;return Object.keys(p).forEach((function(e){t+=p[e].stats.size})),t}),{create:function(n,a,c,d){function m(e){var n=35044,i=null,a=0,s=0,c=1;return Array.isArray(e)||J(e)||l(e)||e instanceof ArrayBuffer?i=e:\"number\"==typeof e?a=0|e:e&&(\"data\"in e&&(i=e.data),\"usage\"in e&&(n=et[e.usage]),\"type\"in e&&(s=tt[e.type]),\"dimension\"in e&&(c=0|e.dimension),\"length\"in e&&(a=0|e.length)),g.bind(),i?o(g,i,n,s,c,d):(a&&t.bufferData(g.type,a,n),g.dtype=s||5121,g.usage=n,g.dimension=c,g.byteLength=a),r.profile&&(g.stats.size=g.byteLength*it[g.dtype]),m}e.bufferCount++;var g=new i(a);return p[g.id]=g,c||m(n),m._reglType=\"buffer\",m._buffer=g,m.subdata=function(e,r){var n,i=0|(r||0);if(g.bind(),J(e)||e instanceof ArrayBuffer)t.bufferSubData(g.type,i,e);else if(Array.isArray(e)){if(0<e.length)if(\"number\"==typeof e[0]){var a=X.allocType(g.dtype,e.length);f(a,e),t.bufferSubData(g.type,i,a),X.freeType(a)}else(Array.isArray(e[0])||J(e[0]))&&(n=nt(e),a=rt(e,n,g.dtype),t.bufferSubData(g.type,i,a),X.freeType(a))}else if(l(e)){n=e.shape;var o=e.stride,s=a=0,c=0,p=0;1===n.length?(a=n[0],s=1,c=o[0],p=0):2===n.length&&(a=n[0],s=n[1],c=o[0],p=o[1]),n=Array.isArray(e.data)?g.dtype:u(e.data),h(n=X.allocType(n,a*s),e.data,a,s,c,p,e.offset),t.bufferSubData(g.type,i,n),X.freeType(n)}return m},r.profile&&(m.stats=g.stats),m.destroy=function(){s(g)},m},createStream:function(t,e){var r=d.pop();return r||(r=new i(t)),r.bind(),o(r,e,35040,0,1,!1),r},destroyStream:function(t){d.push(t)},clear:function(){K(p).forEach(s),d.forEach(s)},getBuffer:function(t){return t&&t._buffer instanceof i?t._buffer:null},restore:function(){K(p).forEach((function(e){e.buffer=t.createBuffer(),t.bindBuffer(e.type,e.buffer),t.bufferData(e.type,e.persistentData||e.byteLength,e.usage)}))},_initBuffer:o}}function d(t,e,r,n){function i(t){this.id=c++,s[this.id]=this,this.buffer=t,this.primType=4,this.type=this.vertCount=0}function a(n,i,a,o,s,c,u){var f;if(n.buffer.bind(),i?((f=u)||J(i)&&(!l(i)||J(i.data))||(f=e.oes_element_index_uint?5125:5123),r._initBuffer(n.buffer,i,a,f,3)):(t.bufferData(34963,c,a),n.buffer.dtype=f||5121,n.buffer.usage=a,n.buffer.dimension=3,n.buffer.byteLength=c),f=u,!u){switch(n.buffer.dtype){case 5121:case 5120:f=5121;break;case 5123:case 5122:f=5123;break;case 5125:case 5124:f=5125}n.buffer.dtype=f}n.type=f,0>(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={},c=0,u={uint8:5121,uint16:5123};e.oes_element_index_uint&&(u.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)c(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)||J(t)||l(t)?e=t:(\"data\"in t&&(e=t.data),\"usage\"in t&&(r=et[t.usage]),\"primitive\"in t&&(n=at[t.primitive]),\"count\"in t&&(i=0|t.count),\"type\"in t&&(h=u[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 c(),f.primType=4,f.vertCount=0,f.type=5121;return s}var c=r.create(null,34963,!0),f=new i(c._buffer);return n.elementsCount++,s(t),s._reglType=\"elements\",s._elements=f,s.subdata=function(t,e){return c.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(){K(s).forEach(o)}}}function m(t){for(var e=X.allocType(5123,t.length),r=0;r<t.length;++r)if(isNaN(t[r]))e[r]=65535;else if(1/0===t[r])e[r]=31744;else if(-1/0===t[r])e[r]=64512;else{ot[0]=t[r];var n=(a=st[0])>>>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?n+31744:n+(i+15<<10)+a}return e}function g(t){return Array.isArray(t)||J(t)}function v(t){return\"[object \"+t+\"]\"}function y(t){return Array.isArray(t)&&(0===t.length||\"number\"==typeof t[0])}function x(t){return!(!Array.isArray(t)||0===t.length||!g(t[0]))}function b(t){return Object.prototype.toString.call(t)}function _(t){if(!t)return!1;var e=b(t);return 0<=vt.indexOf(e)||(y(t)||x(t)||l(t))}function w(t,e){36193===t.type?(t.data=m(e),X.freeType(e)):t.data=e}function T(t,e,r,n,i,a){if(t=void 0!==xt[t]?xt[t]:ut[t]*yt[e],a&&(t*=6),i){for(n=0;1<=r;)n+=t*r*r,r/=2;return n}return t*r*n}function k(t,e,r,n,i,a,o){function s(){this.format=this.internalformat=6408,this.type=5121,this.flipY=this.premultiplyAlpha=this.compressed=!1,this.unpackAlignment=1,this.colorSpace=37444,this.channels=this.height=this.width=0}function c(t,e){t.internalformat=e.internalformat,t.format=e.format,t.type=e.type,t.compressed=e.compressed,t.premultiplyAlpha=e.premultiplyAlpha,t.flipY=e.flipY,t.unpackAlignment=e.unpackAlignment,t.colorSpace=e.colorSpace,t.width=e.width,t.height=e.height,t.channels=e.channels}function u(t,e){if(\"object\"==typeof e&&e){\"premultiplyAlpha\"in e&&(t.premultiplyAlpha=e.premultiplyAlpha),\"flipY\"in e&&(t.flipY=e.flipY),\"alignment\"in e&&(t.unpackAlignment=e.alignment),\"colorSpace\"in e&&(t.colorSpace=V[e.colorSpace]),\"type\"in e&&(t.type=q[e.type]);var r=t.width,n=t.height,i=t.channels,a=!1;\"shape\"in e?(r=e.shape[0],n=e.shape[1],3===e.shape.length&&(i=e.shape[2],a=!0)):(\"radius\"in e&&(r=n=e.radius),\"width\"in e&&(r=e.width),\"height\"in e&&(n=e.height),\"channels\"in e&&(i=e.channels,a=!0)),t.width=0|r,t.height=0|n,t.channels=0|i,r=!1,\"format\"in e&&(r=e.format,n=t.internalformat=G[r],t.format=at[n],r in q&&!(\"type\"in e)&&(t.type=q[r]),r in Y&&(t.compressed=!0),r=!0),!a&&r?t.channels=ut[t.format]:a&&!r&&t.channels!==ct[t.format]&&(t.format=t.internalformat=ct[t.channels])}}function f(e){t.pixelStorei(37440,e.flipY),t.pixelStorei(37441,e.premultiplyAlpha),t.pixelStorei(37443,e.colorSpace),t.pixelStorei(3317,e.unpackAlignment)}function h(){s.call(this),this.yOffset=this.xOffset=0,this.data=null,this.needsFree=!1,this.element=null,this.needsCopy=!1}function p(t,e){var r=null;if(_(e)?r=e:e&&(u(t,e),\"x\"in e&&(t.xOffset=0|e.x),\"y\"in e&&(t.yOffset=0|e.y),_(e.data)&&(r=e.data)),e.copy){var n=i.viewportWidth,a=i.viewportHeight;t.width=t.width||n-t.xOffset,t.height=t.height||a-t.yOffset,t.needsCopy=!0}else if(r){if(J(r))t.channels=t.channels||4,t.data=r,\"type\"in e||5121!==t.type||(t.type=0|$[Object.prototype.toString.call(r)]);else if(y(r)){switch(t.channels=t.channels||4,a=(n=r).length,t.type){case 5121:case 5123:case 5125:case 5126:(a=X.allocType(t.type,a)).set(n),t.data=a;break;case 36193:t.data=m(n)}t.alignment=1,t.needsFree=!0}else if(l(r)){n=r.data,Array.isArray(n)||5121!==t.type||(t.type=0|$[Object.prototype.toString.call(n)]);a=r.shape;var o,s,c,f,h=r.stride;3===a.length?(c=a[2],f=h[2]):f=c=1,o=a[0],s=a[1],a=h[0],h=h[1],t.alignment=1,t.width=o,t.height=s,t.channels=c,t.format=t.internalformat=ct[c],t.needsFree=!0,o=f,r=r.offset,c=t.width,f=t.height,s=t.channels;for(var p=X.allocType(36193===t.type?5126:t.type,c*f*s),d=0,v=0;v<f;++v)for(var T=0;T<c;++T)for(var k=0;k<s;++k)p[d++]=n[a*T+h*v+o*k+r];w(t,p)}else if(b(r)===ft||b(r)===ht||b(r)===pt)b(r)===ft||b(r)===ht?t.element=r:t.element=r.canvas,t.width=t.element.width,t.height=t.element.height,t.channels=4;else if(b(r)===dt)t.element=r,t.width=r.width,t.height=r.height,t.channels=4;else if(b(r)===mt)t.element=r,t.width=r.naturalWidth,t.height=r.naturalHeight,t.channels=4;else if(b(r)===gt)t.element=r,t.width=r.videoWidth,t.height=r.videoHeight,t.channels=4;else if(x(r)){for(n=t.width||r[0].length,a=t.height||r.length,h=t.channels,h=g(r[0][0])?h||r[0][0].length:h||1,o=Q.shape(r),c=1,f=0;f<o.length;++f)c*=o[f];c=X.allocType(36193===t.type?5126:t.type,c),Q.flatten(r,o,\"\",c),w(t,c),t.alignment=1,t.width=n,t.height=a,t.channels=h,t.format=t.internalformat=ct[h],t.needsFree=!0}}else t.width=t.width||1,t.height=t.height||1,t.channels=t.channels||4}function d(e,r,i,a,o){var s=e.element,l=e.data,c=e.internalformat,u=e.format,h=e.type,p=e.width,d=e.height;f(e),s?t.texSubImage2D(r,o,i,a,u,h,s):e.compressed?t.compressedTexSubImage2D(r,o,i,a,c,p,d,l):e.needsCopy?(n(),t.copyTexSubImage2D(r,o,i,a,e.xOffset,e.yOffset,p,d)):t.texSubImage2D(r,o,i,a,p,d,u,h,l)}function v(){return ot.pop()||new h}function k(t){t.needsFree&&X.freeType(t.data),h.call(t),ot.push(t)}function A(){s.call(this),this.genMipmaps=!1,this.mipmapHint=4352,this.mipmask=0,this.images=Array(16)}function M(t,e,r){var n=t.images[0]=v();t.mipmask=1,n.width=t.width=e,n.height=t.height=r,n.channels=t.channels=4}function S(t,e){var r=null;if(_(e))c(r=t.images[0]=v(),t),p(r,e),t.mipmask=1;else if(u(t,e),Array.isArray(e.mipmap))for(var n=e.mipmap,i=0;i<n.length;++i)c(r=t.images[i]=v(),t),r.width>>=i,r.height>>=i,p(r,n[i]),t.mipmask|=1<<i;else c(r=t.images[0]=v(),t),p(r,e),t.mipmask=1;c(t,t.images[0])}function E(e,r){for(var i=e.images,a=0;a<i.length&&i[a];++a){var o=i[a],s=r,l=a,c=o.element,u=o.data,h=o.internalformat,p=o.format,d=o.type,m=o.width,g=o.height;f(o),c?t.texImage2D(s,l,p,p,d,c):o.compressed?t.compressedTexImage2D(s,l,h,m,g,0,u):o.needsCopy?(n(),t.copyTexImage2D(s,l,p,o.xOffset,o.yOffset,m,g,0)):t.texImage2D(s,l,p,m,g,0,p,d,u||null)}}function L(){var t=st.pop()||new A;s.call(t);for(var e=t.mipmask=0;16>e;++e)t.images[e]=null;return t}function C(t){for(var e=t.images,r=0;r<e.length;++r)e[r]&&k(e[r]),e[r]=null;st.push(t)}function P(){this.magFilter=this.minFilter=9728,this.wrapT=this.wrapS=33071,this.anisotropic=1,this.genMipmaps=!1,this.mipmapHint=4352}function I(t,e){\"min\"in e&&(t.minFilter=U[e.min],0<=lt.indexOf(t.minFilter)&&!(\"faces\"in e)&&(t.genMipmaps=!0)),\"mag\"in e&&(t.magFilter=j[e.mag]);var r=t.wrapS,n=t.wrapT;if(\"wrap\"in e){var i=e.wrap;\"string\"==typeof i?r=n=N[i]:Array.isArray(i)&&(r=N[i[0]],n=N[i[1]])}else\"wrapS\"in e&&(r=N[e.wrapS]),\"wrapT\"in e&&(n=N[e.wrapT]);if(t.wrapS=r,t.wrapT=n,\"anisotropic\"in e&&(t.anisotropic=e.anisotropic),\"mipmap\"in e){switch(r=!1,typeof e.mipmap){case\"string\":t.mipmapHint=B[e.mipmap],r=t.genMipmaps=!0;break;case\"boolean\":r=t.genMipmaps=e.mipmap;break;case\"object\":t.genMipmaps=!1,r=!0}!r||\"min\"in e||(t.minFilter=9984)}}function O(r,n){t.texParameteri(n,10241,r.minFilter),t.texParameteri(n,10240,r.magFilter),t.texParameteri(n,10242,r.wrapS),t.texParameteri(n,10243,r.wrapT),e.ext_texture_filter_anisotropic&&t.texParameteri(n,34046,r.anisotropic),r.genMipmaps&&(t.hint(33170,r.mipmapHint),t.generateMipmap(n))}function z(e){s.call(this),this.mipmask=0,this.internalformat=6408,this.id=vt++,this.refCount=1,this.target=e,this.texture=t.createTexture(),this.unit=-1,this.bindCount=0,this.texInfo=new P,o.profile&&(this.stats={size:0})}function D(e){t.activeTexture(33984),t.bindTexture(e.target,e.texture)}function R(){var e=bt[0];e?t.bindTexture(e.target,e.texture):t.bindTexture(3553,null)}function F(e){var r=e.texture,n=e.unit,i=e.target;0<=n&&(t.activeTexture(33984+n),t.bindTexture(i,null),bt[n]=null),t.deleteTexture(r),e.texture=null,e.params=null,e.pixels=null,e.refCount=0,delete yt[e.id],a.textureCount--}var B={\"don't care\":4352,\"dont care\":4352,nice:4354,fast:4353},N={repeat:10497,clamp:33071,mirror:33648},j={nearest:9728,linear:9729},U=H({mipmap:9987,\"nearest mipmap nearest\":9984,\"linear mipmap nearest\":9985,\"nearest mipmap linear\":9986,\"linear mipmap linear\":9987},j),V={none:0,browser:37444},q={uint8:5121,rgba4:32819,rgb565:33635,\"rgb5 a1\":32820},G={alpha:6406,luminance:6409,\"luminance alpha\":6410,rgb:6407,rgba:6408,rgba4:32854,\"rgb5 a1\":32855,rgb565:36194},Y={};e.ext_srgb&&(G.srgb=35904,G.srgba=35906),e.oes_texture_float&&(q.float32=q.float=5126),e.oes_texture_half_float&&(q.float16=q[\"half float\"]=36193),e.webgl_depth_texture&&(H(G,{depth:6402,\"depth stencil\":34041}),H(q,{uint16:5123,uint32:5125,\"depth stencil\":34042})),e.webgl_compressed_texture_s3tc&&H(Y,{\"rgb s3tc dxt1\":33776,\"rgba s3tc dxt1\":33777,\"rgba s3tc dxt3\":33778,\"rgba s3tc dxt5\":33779}),e.webgl_compressed_texture_atc&&H(Y,{\"rgb atc\":35986,\"rgba atc explicit alpha\":35987,\"rgba atc interpolated alpha\":34798}),e.webgl_compressed_texture_pvrtc&&H(Y,{\"rgb pvrtc 4bppv1\":35840,\"rgb pvrtc 2bppv1\":35841,\"rgba pvrtc 4bppv1\":35842,\"rgba pvrtc 2bppv1\":35843}),e.webgl_compressed_texture_etc1&&(Y[\"rgb etc1\"]=36196);var W=Array.prototype.slice.call(t.getParameter(34467));Object.keys(Y).forEach((function(t){var e=Y[t];0<=W.indexOf(e)&&(G[t]=e)}));var Z=Object.keys(G);r.textureFormats=Z;var tt=[];Object.keys(G).forEach((function(t){tt[G[t]]=t}));var et=[];Object.keys(q).forEach((function(t){et[q[t]]=t}));var rt=[];Object.keys(j).forEach((function(t){rt[j[t]]=t}));var nt=[];Object.keys(U).forEach((function(t){nt[U[t]]=t}));var it=[];Object.keys(N).forEach((function(t){it[N[t]]=t}));var at=Z.reduce((function(t,r){var n=G[r];return 6409===n||6406===n||6409===n||6410===n||6402===n||34041===n||e.ext_srgb&&(35904===n||35906===n)?t[n]=n:32855===n||0<=r.indexOf(\"rgba\")?t[n]=6408:t[n]=6407,t}),{}),ot=[],st=[],vt=0,yt={},xt=r.maxTextureUnits,bt=Array(xt).map((function(){return null}));return H(z.prototype,{bind:function(){this.bindCount+=1;var e=this.unit;if(0>e){for(var r=0;r<xt;++r){var n=bt[r];if(n){if(0<n.bindCount)continue;n.unit=-1}bt[r]=this,e=r;break}o.profile&&a.maxTextureUnits<e+1&&(a.maxTextureUnits=e+1),this.unit=e,t.activeTexture(33984+e),t.bindTexture(this.target,this.texture)}return e},unbind:function(){--this.bindCount},decRef:function(){0>=--this.refCount&&F(this)}}),o.profile&&(a.getTotalTextureSize=function(){var t=0;return Object.keys(yt).forEach((function(e){t+=yt[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?(I(r,t),S(a,t)):M(a,1,1),r.genMipmaps&&(a.mipmask=(a.width<<1)-1),i.mipmask=a.mipmask,c(i,a),i.internalformat=a.internalformat,n.width=a.width,n.height=a.height,D(i),E(a,3553),O(r,3553),R(),C(a),o.profile&&(i.stats.size=T(i.internalformat,i.type,a.width,a.height,r.genMipmaps,!1)),n.format=tt[i.internalformat],n.type=et[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 yt[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 c(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(),k(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=T(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,l){function f(t,e,r,n,i,a){var s,l=h.texInfo;for(P.call(l),s=0;6>s;++s)m[s]=L();if(\"number\"!=typeof t&&t){if(\"object\"==typeof t)if(e)S(m[0],t),S(m[1],e),S(m[2],r),S(m[3],n),S(m[4],i),S(m[5],a);else if(I(l,t),u(h,t),\"faces\"in t)for(t=t.faces,s=0;6>s;++s)c(m[s],h),S(m[s],t[s]);else for(s=0;6>s;++s)S(m[s],t)}else for(t=0|t||1,s=0;6>s;++s)M(m[s],t,t);for(c(h,m[0]),h.mipmask=l.genMipmaps?(m[0].width<<1)-1:m[0].mipmask,h.internalformat=m[0].internalformat,f.width=m[0].width,f.height=m[0].height,D(h),s=0;6>s;++s)E(m[s],34069+s);for(O(l,34067),R(),o.profile&&(h.stats.size=T(h.internalformat,h.type,f.width,f.height,l.genMipmaps,!0)),f.format=tt[h.internalformat],f.type=et[h.type],f.mag=rt[l.magFilter],f.min=nt[l.minFilter],f.wrapS=it[l.wrapS],f.wrapT=it[l.wrapT],s=0;6>s;++s)C(m[s]);return f}var h=new z(34067);yt[h.id]=h,a.cubeCount++;var m=Array(6);return f(e,r,n,i,s,l),f.subimage=function(t,e,r,n,i){r|=0,n|=0,i|=0;var a=v();return c(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(),k(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=T(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;e<xt;++e)t.activeTexture(33984+e),t.bindTexture(3553,null),bt[e]=null;K(yt).forEach(F),a.cubeCount=0,a.textureCount=0},getTexture:function(t){return null},restore:function(){for(var e=0;e<xt;++e){var r=bt[e];r&&(r.bindCount=0,r.unit=-1,bt[e]=null)}K(yt).forEach((function(e){e.texture=t.createTexture(),t.bindTexture(e.target,e.texture);for(var r=0;32>r;++r)if(0!=(e.mipmask&1<<r))if(3553===e.target)t.texImage2D(3553,r,e.internalformat,e.width>>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);O(e.texInfo,e.target)}))},refresh:function(){for(var e=0;e<xt;++e){var r=bt[e];r&&(r.bindCount=0,r.unit=-1,bt[e]=null),t.activeTexture(33984+e),t.bindTexture(3553,null),t.bindTexture(34067,null)}}}}function A(t,e,r,n,i,a){function o(t,e,r){this.target=t,this.texture=e,this.renderbuffer=r;var n=t=0;e?(t=e.width,n=e.height):r&&(t=r.width,n=r.height),this.width=t,this.height=n}function s(t){t&&(t.texture&&t.texture._texture.decRef(),t.renderbuffer&&t.renderbuffer._renderbuffer.decRef())}function l(t,e,r){t&&(t.texture?t.texture._texture.refCount+=1:t.renderbuffer._renderbuffer.refCount+=1)}function c(e,r){r&&(r.texture?t.framebufferTexture2D(36160,e,r.target,r.texture._texture.texture,0):t.framebufferRenderbuffer(36160,e,36161,r.renderbuffer._renderbuffer.renderbuffer))}function u(t){var e=3553,r=null,n=null,i=t;return\"object\"==typeof t&&(i=t.data,\"target\"in t&&(e=0|t.target)),\"texture2d\"===(t=i._reglType)||\"textureCube\"===t?r=i:\"renderbuffer\"===t&&(n=i,e=36161),new o(e,r,n)}function f(t,e,r,a,s){return r?((t=n.create2D({width:t,height:e,format:a,type:s}))._texture.refCount=0,new o(3553,t,null)):((t=i.create({width:t,height:e,format:a}))._renderbuffer.refCount=0,new o(36161,null,t))}function h(t){return t&&(t.texture||t.renderbuffer)}function p(t,e,r){t&&(t.texture?t.texture.resize(e,r):t.renderbuffer&&t.renderbuffer.resize(e,r),t.width=e,t.height=r)}function d(){this.id=T++,k[this.id]=this,this.framebuffer=t.createFramebuffer(),this.height=this.width=0,this.colorAttachments=[],this.depthStencilAttachment=this.stencilAttachment=this.depthAttachment=null}function m(t){t.colorAttachments.forEach(s),s(t.depthAttachment),s(t.stencilAttachment),s(t.depthStencilAttachment)}function g(e){t.deleteFramebuffer(e.framebuffer),e.framebuffer=null,a.framebufferCount--,delete k[e.id]}function v(e){var n;t.bindFramebuffer(36160,e.framebuffer);var i=e.colorAttachments;for(n=0;n<i.length;++n)c(36064+n,i[n]);for(n=i.length;n<r.maxColorAttachments;++n)t.framebufferTexture2D(36160,36064+n,3553,null,0);t.framebufferTexture2D(36160,33306,3553,null,0),t.framebufferTexture2D(36160,36096,3553,null,0),t.framebufferTexture2D(36160,36128,3553,null,0),c(36096,e.depthAttachment),c(36128,e.stencilAttachment),c(33306,e.depthStencilAttachment),t.checkFramebufferStatus(36160),t.isContextLost(),t.bindFramebuffer(36160,x.next?x.next.framebuffer:null),x.cur=x.next,t.getError()}function y(t,e){function r(t,e){var i,a=0,o=0,s=!0,c=!0;i=null;var p=!0,d=\"rgba\",g=\"uint8\",y=1,x=null,w=null,T=null,k=!1;\"number\"==typeof t?(a=0|t,o=0|e||a):t?(\"shape\"in t?(a=(o=t.shape)[0],o=o[1]):(\"radius\"in t&&(a=o=t.radius),\"width\"in t&&(a=t.width),\"height\"in t&&(o=t.height)),(\"color\"in t||\"colors\"in t)&&(i=t.color||t.colors,Array.isArray(i)),i||(\"colorCount\"in t&&(y=0|t.colorCount),\"colorTexture\"in t&&(p=!!t.colorTexture,d=\"rgba4\"),\"colorType\"in t&&(g=t.colorType,!p)&&(\"half float\"===g||\"float16\"===g?d=\"rgba16f\":\"float\"!==g&&\"float32\"!==g||(d=\"rgba32f\")),\"colorFormat\"in t&&(d=t.colorFormat,0<=b.indexOf(d)?p=!0:0<=_.indexOf(d)&&(p=!1))),(\"depthTexture\"in t||\"depthStencilTexture\"in t)&&(k=!(!t.depthTexture&&!t.depthStencilTexture)),\"depth\"in t&&(\"boolean\"==typeof t.depth?s=t.depth:(x=t.depth,c=!1)),\"stencil\"in t&&(\"boolean\"==typeof t.stencil?c=t.stencil:(w=t.stencil,s=!1)),\"depthStencil\"in t&&(\"boolean\"==typeof t.depthStencil?s=c=t.depthStencil:(T=t.depthStencil,c=s=!1))):a=o=1;var A=null,M=null,S=null,E=null;if(Array.isArray(i))A=i.map(u);else if(i)A=[u(i)];else for(A=Array(y),i=0;i<y;++i)A[i]=f(a,o,p,d,g);for(a=a||A[0].width,o=o||A[0].height,x?M=u(x):s&&!c&&(M=f(a,o,k,\"depth\",\"uint32\")),w?S=u(w):c&&!s&&(S=f(a,o,!1,\"stencil\",\"uint8\")),T?E=u(T):!x&&!w&&c&&s&&(E=f(a,o,k,\"depth stencil\",\"depth stencil\")),s=null,i=0;i<A.length;++i)l(A[i]),A[i]&&A[i].texture&&(c=wt[A[i].texture._texture.format]*Tt[A[i].texture._texture.type],null===s&&(s=c));return l(M),l(S),l(E),m(n),n.width=a,n.height=o,n.colorAttachments=A,n.depthAttachment=M,n.stencilAttachment=S,n.depthStencilAttachment=E,r.color=A.map(h),r.depth=h(M),r.stencil=h(S),r.depthStencil=h(E),r.width=n.width,r.height=n.height,v(n),r}var n=new d;return a.framebufferCount++,r(t,e),H(r,{resize:function(t,e){var i=Math.max(0|t,1),a=Math.max(0|e||i,1);if(i===n.width&&a===n.height)return r;for(var o=n.colorAttachments,s=0;s<o.length;++s)p(o[s],i,a);return p(n.depthAttachment,i,a),p(n.stencilAttachment,i,a),p(n.depthStencilAttachment,i,a),n.width=r.width=i,n.height=r.height=a,v(n),r},_reglType:\"framebuffer\",_framebuffer:n,destroy:function(){g(n),m(n)},use:function(t){x.setFBO({framebuffer:r},t)}})}var x={cur:null,next:null,dirty:!1,setFBO:null},b=[\"rgba\"],_=[\"rgba4\",\"rgb565\",\"rgb5 a1\"];e.ext_srgb&&_.push(\"srgba\"),e.ext_color_buffer_half_float&&_.push(\"rgba16f\",\"rgb16f\"),e.webgl_color_buffer_float&&_.push(\"rgba32f\");var w=[\"uint8\"];e.oes_texture_half_float&&w.push(\"half float\",\"float16\"),e.oes_texture_float&&w.push(\"float\",\"float32\");var T=0,k={};return H(x,{getFramebuffer:function(t){return\"function\"==typeof t&&\"framebuffer\"===t._reglType&&(t=t._framebuffer)instanceof d?t:null},create:y,createCube:function(t){function e(t){var i,a={color:null},o=0,s=null;i=\"rgba\";var l=\"uint8\",c=1;if(\"number\"==typeof t?o=0|t:t?(\"shape\"in t?o=t.shape[0]:(\"radius\"in t&&(o=0|t.radius),\"width\"in t?o=0|t.width:\"height\"in t&&(o=0|t.height)),(\"color\"in t||\"colors\"in t)&&(s=t.color||t.colors,Array.isArray(s)),s||(\"colorCount\"in t&&(c=0|t.colorCount),\"colorType\"in t&&(l=t.colorType),\"colorFormat\"in t&&(i=t.colorFormat)),\"depth\"in t&&(a.depth=t.depth),\"stencil\"in t&&(a.stencil=t.stencil),\"depthStencil\"in t&&(a.depthStencil=t.depthStencil)):o=1,s)if(Array.isArray(s))for(t=[],i=0;i<s.length;++i)t[i]=s[i];else t=[s];else for(t=Array(c),s={radius:o,format:i,type:l},i=0;i<c;++i)t[i]=n.createCube(s);for(a.color=Array(t.length),i=0;i<t.length;++i)c=t[i],o=o||c.width,a.color[i]={target:34069,data:t[i]};for(i=0;6>i;++i){for(c=0;c<t.length;++c)a.color[c].target=34069+i;0<i&&(a.depth=r[0].depth,a.stencil=r[0].stencil,a.depthStencil=r[0].depthStencil),r[i]?r[i](a):r[i]=y(a)}return H(e,{width:o,height:o,color:t})}var r=Array(6);return e(t),H(e,{faces:r,resize:function(t){var n=0|t;if(n===e.width)return e;var i=e.color;for(t=0;t<i.length;++t)i[t].resize(n);for(t=0;6>t;++t)r[t].resize(n);return e.width=e.height=n,e},_reglType:\"framebufferCube\",destroy:function(){r.forEach((function(t){t.destroy()}))}})},clear:function(){K(k).forEach(g)},restore:function(){x.cur=null,x.next=null,x.dirty=!0,K(k).forEach((function(e){e.framebuffer=t.createFramebuffer(),v(e)}))}})}function M(){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 S(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 c=r.maxAttributes,u=Array(c);for(r=0;r<c;++r)u[r]=new M;var f=0,h={},p={Record:M,scope:{},state:u,currentVAO:null,targetVAO:null,restore:e.oes_vertex_array_object?function(){e.oes_vertex_array_object&&K(h).forEach((function(t){t.refresh()}))}:function(){},createVAO:function(t){function e(t){var n;Array.isArray(t)?(n=t,r.elements&&r.ownsElements&&r.elements.destroy(),r.elements=null,r.ownsElements=!1,r.offset=0,r.count=0,r.instances=-1,r.primitive=4):(t.elements?(n=t.elements,r.ownsElements?(\"function\"==typeof n&&\"elements\"===n._reglType?r.elements.destroy():r.elements(n),r.ownsElements=!1):a.getElements(t.elements)?(r.elements=t.elements,r.ownsElements=!1):(r.elements=a.create(t.elements),r.ownsElements=!0)):(r.elements=null,r.ownsElements=!1),n=t.attributes,r.offset=0,r.count=-1,r.instances=-1,r.primitive=4,r.elements&&(r.count=r.elements._elements.vertCount,r.primitive=r.elements._elements.primType),\"offset\"in t&&(r.offset=0|t.offset),\"count\"in t&&(r.count=0|t.count),\"instances\"in t&&(r.instances=0|t.instances),\"primitive\"in t&&(r.primitive=at[t.primitive])),t={};var o=r.attributes;o.length=n.length;for(var s=0;s<n.length;++s){var c,u=n[s],f=o[s]=new M,h=u.data||u;if(Array.isArray(h)||J(h)||l(h))r.buffers[s]&&(c=r.buffers[s],J(h)&&c._buffer.byteLength>=h.byteLength?c.subdata(h):(c.destroy(),r.buffers[s]=null)),r.buffers[s]||(c=r.buffers[s]=i.create(u,34962,!1,!0)),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,t[s]=1;else i.getBuffer(u)?(f.buffer=i.getBuffer(u),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(u.buffer)?(f.buffer=i.getBuffer(u.buffer),f.size=0|(+u.size||f.buffer.dimension),f.normalized=!!u.normalized||!1,f.type=\"type\"in u?tt[u.type]:f.buffer.dtype,f.offset=0|(u.offset||0),f.stride=0|(u.stride||0),f.divisor=0|(u.divisor||0),f.state=1):\"x\"in u&&(f.x=+u.x||0,f.y=+u.y||0,f.z=+u.z||0,f.w=+u.w||0,f.state=2)}for(c=0;c<r.buffers.length;++c)!t[c]&&r.buffers[c]&&(r.buffers[c].destroy(),r.buffers[c]=null);return r.refresh(),e}var r=new s;return n.vaoCount+=1,e.destroy=function(){for(var t=0;t<r.buffers.length;++t)r.buffers[t]&&r.buffers[t].destroy();r.buffers.length=0,r.ownsElements&&(r.elements.destroy(),r.elements=null,r.ownsElements=!1),r.destroy()},e._vao=r,e._reglType=\"vao\",e(t)},getVAO:function(t){return\"function\"==typeof t&&t._vao?t._vao:null},destroyBuffer:function(e){for(var r=0;r<u.length;++r){var n=u[r];n.buffer===e&&(t.disableVertexAttribArray(r),n.buffer=null)}},setVAO:e.oes_vertex_array_object?function(t){if(t!==p.currentVAO){var r=e.oes_vertex_array_object;t?r.bindVertexArrayOES(t.vao):r.bindVertexArrayOES(null),p.currentVAO=t}}:function(r){if(r!==p.currentVAO){if(r)r.bindAttrs();else{for(var n=e.angle_instanced_arrays,i=0;i<u.length;++i){var a=u[i];a.buffer?(t.enableVertexAttribArray(i),a.buffer.bind(),t.vertexAttribPointer(i,a.size,a.type,a.normalized,a.stride,a.offfset),n&&a.divisor&&n.vertexAttribDivisorANGLE(i,a.divisor)):(t.disableVertexAttribArray(i),t.vertexAttrib4f(i,a.x,a.y,a.z,a.w))}o.elements?t.bindBuffer(34963,o.elements.buffer.buffer):t.bindBuffer(34963,null)}p.currentVAO=r}},clear:e.oes_vertex_array_object?function(){K(h).forEach((function(t){t.destroy()}))}:function(){}};return s.prototype.bindAttrs=function(){for(var r=e.angle_instanced_arrays,n=this.attributes,i=0;i<n.length;++i){var o=n[i];o.buffer?(t.enableVertexAttribArray(i),t.bindBuffer(34962,o.buffer.buffer),t.vertexAttribPointer(i,o.size,o.type,o.normalized,o.stride,o.offset),r&&o.divisor&&r.vertexAttribDivisorANGLE(i,o.divisor)):(t.disableVertexAttribArray(i),t.vertexAttrib4f(i,o.x,o.y,o.z,o.w))}for(r=n.length;r<c;++r)t.disableVertexAttribArray(r);(r=a.getElements(this.elements))?t.bindBuffer(34963,r.buffer.buffer):t.bindBuffer(34963,null)},s.prototype.refresh=function(){var t=e.oes_vertex_array_object;t&&(t.bindVertexArrayOES(this.vao),this.bindAttrs(),p.currentVAO=null,t.bindVertexArrayOES(null))},s.prototype.destroy=function(){if(this.vao){var t=e.oes_vertex_array_object;this===p.currentVAO&&(p.currentVAO=null,t.bindVertexArrayOES(null)),t.deleteVertexArrayOES(this.vao),this.vao=null}this.ownsElements&&(this.elements.destroy(),this.elements=null,this.ownsElements=!1),h[this.id]&&(delete h[this.id],--n.vaoCount)},p}function E(t,e,r,n){function i(t,e,r,n){this.name=t,this.id=e,this.location=r,this.info=n}function a(t,e){for(var r=0;r<t.length;++r)if(t[r].id===e.id)return void(t[r].location=e.location);t.push(e)}function o(r,n,i){if(!(o=(i=35632===r?c:u)[n])){var a=e.str(n),o=t.createShader(r);t.shaderSource(o,a),t.compileShader(o),i[n]=o}return o}function s(t,e){this.id=p++,this.fragId=t,this.vertId=e,this.program=null,this.uniforms=[],this.attributes=[],this.refCount=1,n.profile&&(this.stats={uniformsCount:0,attributesCount:0})}function l(r,s,l){var c;c=o(35632,r.fragId);var u=o(35633,r.vertId);if(s=r.program=t.createProgram(),t.attachShader(s,c),t.attachShader(s,u),l)for(c=0;c<l.length;++c)u=l[c],t.bindAttribLocation(s,u[0],u[1]);t.linkProgram(s),u=t.getProgramParameter(s,35718),n.profile&&(r.stats.uniformsCount=u);var f=r.uniforms;for(c=0;c<u;++c)if(l=t.getActiveUniform(s,c))if(1<l.size)for(var h=0;h<l.size;++h){var p=l.name.replace(\"[0]\",\"[\"+h+\"]\");a(f,new i(p,e.id(p),t.getUniformLocation(s,p),l))}else a(f,new i(l.name,e.id(l.name),t.getUniformLocation(s,l.name),l));for(u=t.getProgramParameter(s,35721),n.profile&&(r.stats.attributesCount=u),r=r.attributes,c=0;c<u;++c)(l=t.getActiveAttrib(s,c))&&a(r,new i(l.name,e.id(l.name),t.getAttribLocation(s,l.name),l))}var c={},u={},f={},h=[],p=0;return n.profile&&(r.getMaxUniformsCount=function(){var t=0;return h.forEach((function(e){e.stats.uniformsCount>t&&(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);K(c).forEach(e),c={},K(u).forEach(e),u={},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),H(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(u[d.vertId]),delete u[d.vertId],delete f[d.fragId][d.vertId]),Object.keys(f[d.fragId]).length||(t.deleteShader(c[d.fragId]),delete c[d.fragId],delete f[d.fragId])}})},restore:function(){c={},u={};for(var t=0;t<h.length;++t)l(h[t],null,h[t].attributes.map((function(t){return[t.location,t.name]})))},shader:o,frag:-1,vert:-1}}function L(t,e,r,n,i,a,o){function s(i){var a;a=null===e.next?5121:e.next.colorAttachments[0].texture._texture.type;var o=0,s=0,l=n.framebufferWidth,c=n.framebufferHeight,u=null;return J(i)?u=i:i&&(o=0|i.x,s=0|i.y,l=0|(i.width||n.framebufferWidth-o),c=0|(i.height||n.framebufferHeight-s),u=i.data||null),r(),i=l*c*4,u||(5121===a?u=new Uint8Array(i):5126===a&&(u=u||new Float32Array(i))),t.pixelStorei(3333,4),t.readPixels(o,s,l,c,6408,a,u),u}return function(t){return t&&\"framebuffer\"in t?function(t){var r;return e.setFBO({framebuffer:t.framebuffer},(function(){r=s(t)})),r}(t):s(t)}}function C(t,e){return t>>>e|t<<32-e}function P(t,e){var r=(65535&t)+(65535&e);return(t>>16)+(e>>16)+(r>>16)<<16|65535&r}function I(t){return Array.prototype.slice.call(t)}function O(t){return I(t).join(\"\")}function z(t){function e(){var t=[],e=[];return H((function(){t.push.apply(t,I(arguments))}),{def:function(){var r=\"v\"+i++;return e.push(r),0<arguments.length&&(t.push(r,\"=\"),t.push.apply(t,I(arguments)),t.push(\";\")),r},toString:function(){return O([0<e.length?\"var \"+e.join(\",\")+\";\":\"\",O(t)])}})}function r(){function t(t,e){n(t,e,\"=\",r.def(t,e),\";\")}var r=e(),n=e(),i=r.toString,a=n.toString;return H((function(){r.apply(r,I(arguments))}),{def:r.def,entry:r,exit:n,save:t,set:function(e,n,i){t(e,n),r(e,n,\"=\",i,\";\")},toString:function(){return i()+a()}})}var n=t&&t.cache,i=0,a=[],o=[],s=[],l=e(),c={};return{global:l,link:function(t,e){var r=e&&e.stable;if(!r)for(var n=0;n<o.length;++n)if(o[n]===t&&!s[n])return a[n];return n=\"g\"+i++,a.push(n),o.push(t),s.push(r),n},block:e,proc:function(t,e){function n(){var t=\"a\"+i.length;return i.push(t),t}var i=[];e=e||0;for(var a=0;a<e;++a)n();var o=(a=r()).toString;return c[t]=H(a,{arg:n,toString:function(){return O([\"function(\",i.join(),\"){\",o(),\"}\"])}})},scope:r,cond:function(){var t=O(arguments),e=r(),n=r(),i=e.toString,a=n.toString;return H(e,{then:function(){return e.apply(e,I(arguments)),this},else:function(){return n.apply(n,I(arguments)),this},toString:function(){var e=a();return e&&(e=\"else{\"+e+\"}\"),O([\"if(\",t,\"){\",i(),\"}\",e])}})},compile:function(){var t=['\"use strict\";',l,\"return {\"];Object.keys(c).forEach((function(e){t.push('\"',e,'\":',c[e].toString(),\",\")})),t.push(\"}\");var e,r=O(t).replace(/;/g,\";\\n\").replace(/}/g,\"}\\n\").replace(/{/g,\"{\\n\");return n&&(e=function(t){for(var e,r=\"\",n=0;n<t.length;n++)e=t.charCodeAt(n),r+=\"0123456789abcdef\".charAt(e>>>4&15)+\"0123456789abcdef\".charAt(15&e);return r}(function(t){for(var e=Array(t.length>>2),r=0;r<e.length;r++)e[r]=0;for(r=0;r<8*t.length;r+=8)e[r>>5]|=(255&t.charCodeAt(r/8))<<24-r%32;var n,i,a,o,s,l,c,u,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,u=0;u<e.length;u+=16){for(d=t[0],n=t[1],i=t[2],a=t[3],o=t[4],s=t[5],l=t[6],c=t[7],f=0;64>f;f++){var m;if(16>f)r[f]=e[f+u];else h=f,p=P(p=C(p=r[f-2],17)^C(p,19)^p>>>10,r[f-7]),m=C(m=r[f-15],7)^C(m,18)^m>>>3,r[h]=P(P(p,m),r[f-16]);h=P(P(P(P(c,h=C(h=o,6)^C(h,11)^C(h,25)),o&s^~o&l),kt[f]),r[f]),p=P(c=C(c=d,2)^C(c,13)^C(c,22),d&n^d&i^n&i),c=l,l=s,s=o,o=P(a,h),a=i,i=n,n=d,d=P(h,p)}t[0]=P(d,t[0]),t[1]=P(n,t[1]),t[2]=P(i,t[2]),t[3]=P(a,t[3]),t[4]=P(o,t[4]),t[5]=P(s,t[5]),t[6]=P(l,t[6]),t[7]=P(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<t.length;)e=t.charCodeAt(i),r=i+1<t.length?t.charCodeAt(i+1):0,55296<=e&&56319>=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 D(t){return Array.isArray(t)||J(t)||l(t)}function R(t){return t.sort((function(t,e){return\"viewport\"===t?-1:\"viewport\"===e?1:t<e?-1:1}))}function F(t,e,r,n){this.thisDep=t,this.contextDep=e,this.propDep=r,this.append=n}function B(t){return t&&!(t.thisDep||t.contextDep||t.propDep)}function N(t){return new F(!1,!1,!1,t)}function j(t,e){var r=t.type;if(0===r)return new F(!0,1<=(r=t.data.length),2<=r,e);if(4===r)return new F((r=t.data).thisDep,r.contextDep,r.propDep,e);if(5===r)return new F(!1,!1,!1,e);if(6===r){for(var n=r=!1,i=!1,a=0;a<t.data.length;++a){var o=t.data[a];1===o.type?i=!0:2===o.type?n=!0:3===o.type?r=!0:0===o.type?(r=!0,1<=(o=o.data)&&(n=!0),2<=o&&(i=!0)):4===o.type&&(r=r||o.data.thisDep,n=n||o.data.contextDep,i=i||o.data.propDep)}return new F(r,n,i,e)}return new F(3===r,2===r,1===r,e)}function U(t,e,r,n,i,o,s,l,c,u,f,h,p,d,m,v){function y(t){return t.replace(\".\",\"_\")}function x(t,e,r){var n=y(t);ot.push(t),it[n]=nt[n]=!!r,st[n]=e}function b(t,e,r){var n=y(t);ot.push(t),Array.isArray(r)?(nt[n]=r.slice(),it[n]=r.slice()):nt[n]=it[n]=r,lt[n]=e}function _(){var t=z({cache:m}),r=t.link,n=t.global;t.id=ft++,t.batchId=\"0\";var i=r(ct),a=t.shared={props:\"a0\"};Object.keys(ct).forEach((function(t){a[t]=n.def(i,\".\",t)}));var o=t.next={},s=t.current={};Object.keys(lt).forEach((function(t){Array.isArray(nt[t])&&(o[t]=n.def(a.next,\".\",t),s[t]=n.def(a.current,\".\",t))}));var l=t.constants={};Object.keys(ut).forEach((function(t){l[t]=n.def(JSON.stringify(ut[t]))})),t.invoke=function(e,n){switch(n.type){case 0:var i=[\"this\",a.context,a.props,t.batchId];return e.def(r(n.data),\".call(\",i.slice(0,Math.max(n.data.length+1,4)),\")\");case 1:return e.def(a.props,n.data);case 2:return e.def(a.context,n.data);case 3:return e.def(\"this\",n.data);case 4:return n.data.append(t,e),n.data.ref;case 5:return n.data.toString();case 6:return n.data.map((function(r){return t.invoke(e,r)}))}},t.attribCache={};var c={};return t.scopeAttrib=function(t){if((t=e.id(t))in c)return c[t];var n=u.scope[t];return n||(n=u.scope[t]=new K),c[t]=r(n)},t}function w(t,e){var r=t.static,n=t.dynamic;if(\"framebuffer\"in r){var i=r.framebuffer;return i?(i=l.getFramebuffer(i),N((function(t,e){var r=t.link(i),n=t.shared;return e.set(n.framebuffer,\".next\",r),n=n.context,e.set(n,\".framebufferWidth\",r+\".width\"),e.set(n,\".framebufferHeight\",r+\".height\"),r}))):N((function(t,e){var r=t.shared;return e.set(r.framebuffer,\".next\",\"null\"),r=r.context,e.set(r,\".framebufferWidth\",r+\".drawingBufferWidth\"),e.set(r,\".framebufferHeight\",r+\".drawingBufferHeight\"),\"null\"}))}if(\"framebuffer\"in n){var a=n.framebuffer;return j(a,(function(t,e){var r=t.invoke(e,a),n=t.shared,i=n.framebuffer;r=e.def(i,\".getFramebuffer(\",r,\")\");return e.set(i,\".next\",r),n=n.context,e.set(n,\".framebufferWidth\",r+\"?\"+r+\".width:\"+n+\".drawingBufferWidth\"),e.set(n,\".framebufferHeight\",r+\"?\"+r+\".height:\"+n+\".drawingBufferHeight\"),r}))}return null}function T(t,r,n){function i(t){if(t in a){var r=e.id(a[t]);return(t=N((function(){return r}))).id=r,t}if(t in o){var n=o[t];return j(n,(function(t,e){var r=t.invoke(e,n);return e.def(t.shared.strings,\".id(\",r,\")\")}))}return null}var a=t.static,o=t.dynamic,s=i(\"frag\"),l=i(\"vert\"),c=null;return B(s)&&B(l)?(c=f.program(l.id,s.id,null,n),t=N((function(t,e){return t.link(c)}))):t=new F(s&&s.thisDep||l&&l.thisDep,s&&s.contextDep||l&&l.contextDep,s&&s.propDep||l&&l.propDep,(function(t,e){var r,n,i=t.shared.shader;return r=s?s.append(t,e):e.def(i,\".\",\"frag\"),n=l?l.append(t,e):e.def(i,\".\",\"vert\"),e.def(i+\".program(\"+n+\",\"+r+\")\")})),{frag:s,vert:l,progVar:t,program:c}}function k(t,e){function r(t,e){if(t in n){var r=0|n[t];return e?a.offset=r:a.instances=r,N((function(t,n){return e&&(t.OFFSET=r),r}))}if(t in i){var o=i[t];return j(o,(function(t,r){var n=t.invoke(r,o);return e&&(t.OFFSET=n),n}))}if(e){if(c)return N((function(t,e){return t.OFFSET=0}));if(s)return new F(l.thisDep,l.contextDep,l.propDep,(function(t,e){return e.def(t.shared.vao+\".currentVAO?\"+t.shared.vao+\".currentVAO.offset:0\")}))}else if(s)return new F(l.thisDep,l.contextDep,l.propDep,(function(t,e){return e.def(t.shared.vao+\".currentVAO?\"+t.shared.vao+\".currentVAO.instances:-1\")}));return null}var n=t.static,i=t.dynamic,a={},s=!1,l=function(){if(\"vao\"in n){var t=n.vao;return null!==t&&null===u.getVAO(t)&&(t=u.createVAO(t)),s=!0,a.vao=t,N((function(e){var r=u.getVAO(t);return r?e.link(r):\"null\"}))}if(\"vao\"in i){s=!0;var e=i.vao;return j(e,(function(t,r){var n=t.invoke(r,e);return r.def(t.shared.vao+\".getVAO(\"+n+\")\")}))}return null}(),c=!1,f=function(){if(\"elements\"in n){var t=n.elements;if(a.elements=t,D(t)){var e=a.elements=o.create(t,!0);t=o.getElements(e);c=!0}else t&&(t=o.getElements(t),c=!0);return(e=N((function(e,r){if(t){var n=e.link(t);return e.ELEMENTS=n}return e.ELEMENTS=null}))).value=t,e}if(\"elements\"in i){c=!0;var r=i.elements;return j(r,(function(t,e){var n=(i=t.shared).isBufferArgs,i=i.elements,a=t.invoke(e,r),o=e.def(\"null\");n=e.def(n,\"(\",a,\")\"),a=t.cond(n).then(o,\"=\",i,\".createStream(\",a,\");\").else(o,\"=\",i,\".getElements(\",a,\");\");return e.entry(a),e.exit(t.cond(n).then(i,\".destroyStream(\",o,\");\")),t.ELEMENTS=o}))}return s?new F(l.thisDep,l.contextDep,l.propDep,(function(t,e){return e.def(t.shared.vao+\".currentVAO?\"+t.shared.elements+\".getElements(\"+t.shared.vao+\".currentVAO.elements):null\")})):null}(),h=r(\"offset\",!0),p=function(){if(\"primitive\"in n){var t=n.primitive;return a.primitive=t,N((function(e,r){return at[t]}))}if(\"primitive\"in i){var e=i.primitive;return j(e,(function(t,r){var n=t.constants.primTypes,i=t.invoke(r,e);return r.def(n,\"[\",i,\"]\")}))}return c?B(f)?f.value?N((function(t,e){return e.def(t.ELEMENTS,\".primType\")})):N((function(){return 4})):new F(f.thisDep,f.contextDep,f.propDep,(function(t,e){var r=t.ELEMENTS;return e.def(r,\"?\",r,\".primType:\",4)})):s?new F(l.thisDep,l.contextDep,l.propDep,(function(t,e){return e.def(t.shared.vao+\".currentVAO?\"+t.shared.vao+\".currentVAO.primitive:4\")})):null}(),d=function(){if(\"count\"in n){var t=0|n.count;return a.count=t,N((function(){return t}))}if(\"count\"in i){var e=i.count;return j(e,(function(t,r){return t.invoke(r,e)}))}return c?B(f)?f?h?new F(h.thisDep,h.contextDep,h.propDep,(function(t,e){return e.def(t.ELEMENTS,\".vertCount-\",t.OFFSET)})):N((function(t,e){return e.def(t.ELEMENTS,\".vertCount\")})):N((function(){return-1})):new F(f.thisDep||h.thisDep,f.contextDep||h.contextDep,f.propDep||h.propDep,(function(t,e){var r=t.ELEMENTS;return t.OFFSET?e.def(r,\"?\",r,\".vertCount-\",t.OFFSET,\":-1\"):e.def(r,\"?\",r,\".vertCount:-1\")})):s?new F(l.thisDep,l.contextDep,l.propDep,(function(t,e){return e.def(t.shared.vao,\".currentVAO?\",t.shared.vao,\".currentVAO.count:-1\")})):null}(),m=r(\"instances\",!1);return{elements:f,primitive:p,count:d,instances:m,offset:h,vao:l,vaoActive:s,elementsActive:c,static:a}}function A(t,r){var n=t.static,a=t.dynamic,o={};return Object.keys(n).forEach((function(t){var r=n[t],a=e.id(t),s=new K;if(D(r))s.state=1,s.buffer=i.getBuffer(i.create(r,34962,!1,!0)),s.type=0;else if(c=i.getBuffer(r))s.state=1,s.buffer=c,s.type=0;else if(\"constant\"in r){var l=r.constant;s.buffer=\"null\",s.state=2,\"number\"==typeof l?s.x=l:At.forEach((function(t,e){e<l.length&&(s[t]=l[e])}))}else{var c=D(r.buffer)?i.getBuffer(i.create(r.buffer,34962,!1,!0)):i.getBuffer(r.buffer),u=0|r.offset,f=0|r.stride,h=0|r.size,p=!!r.normalized,d=0;\"type\"in r&&(d=tt[r.type]),r=0|r.divisor,s.buffer=c,s.state=1,s.size=h,s.normalized=p,s.type=d||c.dtype,s.offset=u,s.stride=f,s.divisor=r}o[t]=N((function(t,e){var r=t.attribCache;if(a in r)return r[a];var n={isStream:!1};return Object.keys(s).forEach((function(t){n[t]=s[t]})),s.buffer&&(n.buffer=t.link(s.buffer),n.type=n.type||n.buffer+\".dtype\"),r[a]=n}))})),Object.keys(a).forEach((function(t){var e=a[t];o[t]=j(e,(function(t,r){function n(t){r(l[t],\"=\",i,\".\",t,\"|0;\")}var i=t.invoke(r,e),a=t.shared,o=t.constants,s=a.isBufferArgs,l=(a=a.buffer,{isStream:r.def(!1)}),c=new K;c.state=1,Object.keys(c).forEach((function(t){l[t]=r.def(\"\"+c[t])}));var u=l.buffer,f=l.type;return r(\"if(\",s,\"(\",i,\")){\",l.isStream,\"=true;\",u,\"=\",a,\".createStream(\",34962,\",\",i,\");\",f,\"=\",u,\".dtype;\",\"}else{\",u,\"=\",a,\".getBuffer(\",i,\");\",\"if(\",u,\"){\",f,\"=\",u,\".dtype;\",'}else if(\"constant\" in ',i,\"){\",l.state,\"=\",2,\";\",\"if(typeof \"+i+'.constant === \"number\"){',l[At[0]],\"=\",i,\".constant;\",At.slice(1).map((function(t){return l[t]})).join(\"=\"),\"=0;\",\"}else{\",At.map((function(t,e){return l[t]+\"=\"+i+\".constant.length>\"+e+\"?\"+i+\".constant[\"+e+\"]:0;\"})).join(\"\"),\"}}else{\",\"if(\",s,\"(\",i,\".buffer)){\",u,\"=\",a,\".createStream(\",34962,\",\",i,\".buffer);\",\"}else{\",u,\"=\",a,\".getBuffer(\",i,\".buffer);\",\"}\",f,'=\"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,o){function s(t){var e=c[t];e&&(h[t]=e)}var l=function(t,e){if(\"string\"==typeof(r=t.static).frag&&\"string\"==typeof r.vert){if(0<Object.keys(e.dynamic).length)return null;var r=e.static,n=Object.keys(r);if(0<n.length&&\"number\"==typeof r[n[0]]){for(var i=[],a=0;a<n.length;++a)i.push([0|r[n[a]],n[a]]);return i}}return null}(t,e),c=function(t,e,r){function n(t){if(t in i){var r=i[t];t=!0;var n,o,s=0|r.x,l=0|r.y;return\"width\"in r?n=0|r.width:t=!1,\"height\"in r?o=0|r.height:t=!1,new F(!t&&e&&e.thisDep,!t&&e&&e.contextDep,!t&&e&&e.propDep,(function(t,e){var i=t.shared.context,a=n;\"width\"in r||(a=e.def(i,\".\",\"framebufferWidth\",\"-\",s));var c=o;return\"height\"in r||(c=e.def(i,\".\",\"framebufferHeight\",\"-\",l)),[s,l,a,c]}))}if(t in a){var c=a[t];return t=j(c,(function(t,e){var r=t.invoke(e,c),n=t.shared.context,i=e.def(r,\".x|0\"),a=e.def(r,\".y|0\");return[i,a,e.def('\"width\" in ',r,\"?\",r,\".width|0:\",\"(\",n,\".\",\"framebufferWidth\",\"-\",i,\")\"),r=e.def('\"height\" in ',r,\"?\",r,\".height|0:\",\"(\",n,\".\",\"framebufferHeight\",\"-\",a,\")\")]})),e&&(t.thisDep=t.thisDep||e.thisDep,t.contextDep=t.contextDep||e.contextDep,t.propDep=t.propDep||e.propDep),t}return e?new F(e.thisDep,e.contextDep,e.propDep,(function(t,e){var r=t.shared.context;return[0,0,e.def(r,\".\",\"framebufferWidth\"),e.def(r,\".\",\"framebufferHeight\")]})):null}var i=t.static,a=t.dynamic;if(t=n(\"viewport\")){var o=t;t=new F(t.thisDep,t.contextDep,t.propDep,(function(t,e){var r=o.append(t,e),n=t.shared.context;return e.set(n,\".viewportWidth\",r[2]),e.set(n,\".viewportHeight\",r[3]),r}))}return{viewport:t,scissor_box:n(\"scissor.box\")}}(t,d=w(t)),f=k(t),h=function(t,e){var r=t.static,n=t.dynamic,i={};return ot.forEach((function(t){function e(e,a){if(t in r){var s=e(r[t]);i[o]=N((function(){return s}))}else if(t in n){var l=n[t];i[o]=j(l,(function(t,e){return a(t,e,t.invoke(e,l))}))}}var o=y(t);switch(t){case\"cull.enable\":case\"blend.enable\":case\"dither\":case\"stencil.enable\":case\"depth.enable\":case\"scissor.enable\":case\"polygonOffset.enable\":case\"sample.alpha\":case\"sample.enable\":case\"depth.mask\":return e((function(t){return t}),(function(t,e,r){return r}));case\"depth.func\":return e((function(t){return Et[t]}),(function(t,e,r){return e.def(t.constants.compareFuncs,\"[\",r,\"]\")}));case\"depth.range\":return e((function(t){return t}),(function(t,e,r){return[e.def(\"+\",r,\"[0]\"),e=e.def(\"+\",r,\"[1]\")]}));case\"blend.func\":return e((function(t){return[St[\"srcRGB\"in t?t.srcRGB:t.src],St[\"dstRGB\"in t?t.dstRGB:t.dst],St[\"srcAlpha\"in t?t.srcAlpha:t.src],St[\"dstAlpha\"in t?t.dstAlpha:t.dst]]}),(function(t,e,r){function n(t,n){return e.def('\"',t,n,'\" in ',r,\"?\",r,\".\",t,n,\":\",r,\".\",t)}t=t.constants.blendFuncs;var i=n(\"src\",\"RGB\"),a=n(\"dst\",\"RGB\"),o=(i=e.def(t,\"[\",i,\"]\"),e.def(t,\"[\",n(\"src\",\"Alpha\"),\"]\"));return[i,a=e.def(t,\"[\",a,\"]\"),o,t=e.def(t,\"[\",n(\"dst\",\"Alpha\"),\"]\")]}));case\"blend.equation\":return e((function(t){return\"string\"==typeof t?[Q[t],Q[t]]:\"object\"==typeof t?[Q[t.rgb],Q[t.alpha]]:void 0}),(function(t,e,r){var n=t.constants.blendEquations,i=e.def(),a=e.def();return(t=t.cond(\"typeof \",r,'===\"string\"')).then(i,\"=\",a,\"=\",n,\"[\",r,\"];\"),t.else(i,\"=\",n,\"[\",r,\".rgb];\",a,\"=\",n,\"[\",r,\".alpha];\"),e(t),[i,a]}));case\"blend.color\":return e((function(t){return a(4,(function(e){return+t[e]}))}),(function(t,e,r){return a(4,(function(t){return e.def(\"+\",r,\"[\",t,\"]\")}))}));case\"stencil.mask\":return e((function(t){return 0|t}),(function(t,e,r){return e.def(r,\"|0\")}));case\"stencil.func\":return e((function(t){return[Et[t.cmp||\"keep\"],t.ref||0,\"mask\"in t?t.mask:-1]}),(function(t,e,r){return[t=e.def('\"cmp\" in ',r,\"?\",t.constants.compareFuncs,\"[\",r,\".cmp]\",\":\",7680),e.def(r,\".ref|0\"),e=e.def('\"mask\" in ',r,\"?\",r,\".mask|0:-1\")]}));case\"stencil.opFront\":case\"stencil.opBack\":return e((function(e){return[\"stencil.opBack\"===t?1029:1028,Lt[e.fail||\"keep\"],Lt[e.zfail||\"keep\"],Lt[e.zpass||\"keep\"]]}),(function(e,r,n){function i(t){return r.def('\"',t,'\" in ',n,\"?\",a,\"[\",n,\".\",t,\"]:\",7680)}var a=e.constants.stencilOps;return[\"stencil.opBack\"===t?1029:1028,i(\"fail\"),i(\"zfail\"),i(\"zpass\")]}));case\"polygonOffset.offset\":return e((function(t){return[0|t.factor,0|t.units]}),(function(t,e,r){return[e.def(r,\".factor|0\"),e=e.def(r,\".units|0\")]}));case\"cull.face\":return e((function(t){var e=0;return\"front\"===t?e=1028:\"back\"===t&&(e=1029),e}),(function(t,e,r){return e.def(r,'===\"front\"?',1028,\":\",1029)}));case\"lineWidth\":return e((function(t){return t}),(function(t,e,r){return r}));case\"frontFace\":return e((function(t){return Ct[t]}),(function(t,e,r){return e.def(r+'===\"cw\"?2304:2305')}));case\"colorMask\":return e((function(t){return t.map((function(t){return!!t}))}),(function(t,e,r){return a(4,(function(t){return\"!!\"+r+\"[\"+t+\"]\"}))}));case\"sample.coverage\":return e((function(t){return[\"value\"in t?t.value:1,!!t.invert]}),(function(t,e,r){return[e.def('\"value\" in ',r,\"?+\",r,\".value:1\"),e=e.def(\"!!\",r,\".invert\")]}))}})),i}(t),p=T(t,0,l);s(\"viewport\"),s(y(\"scissor.box\"));var d,m=0<Object.keys(h).length;if((d={framebuffer:d,draw:f,shader:p,state:h,dirty:m,scopeVAO:null,drawVAO:null,useVAO:!1,attributes:{}}).profile=function(t){var e,r=t.static;if(t=t.dynamic,\"profile\"in r){var n=!!r.profile;(e=N((function(t,e){return n}))).enable=n}else if(\"profile\"in t){var i=t.profile;e=j(i,(function(t,e){return t.invoke(e,i)}))}return e}(t),d.uniforms=function(t,e){var r=t.static,n=t.dynamic,i={};return Object.keys(r).forEach((function(t){var e,n=r[t];if(\"number\"==typeof n||\"boolean\"==typeof n)e=N((function(){return n}));else if(\"function\"==typeof n){var o=n._reglType;\"texture2d\"===o||\"textureCube\"===o?e=N((function(t){return t.link(n)})):\"framebuffer\"!==o&&\"framebufferCube\"!==o||(e=N((function(t){return t.link(n.color[0])})))}else g(n)&&(e=N((function(t){return t.global.def(\"[\",a(n.length,(function(t){return n[t]})),\"]\")})));e.value=n,i[t]=e})),Object.keys(n).forEach((function(t){var e=n[t];i[t]=j(e,(function(t,r){return t.invoke(r,e)}))})),i}(n),d.drawVAO=d.scopeVAO=f.vao,!d.drawVAO&&p.program&&!l&&r.angle_instanced_arrays&&f.static.elements){var v=!0;if(t=p.program.attributes.map((function(t){return t=e.static[t],v=v&&!!t,t})),v&&0<t.length){var x=u.getVAO(u.createVAO({attributes:t,elements:f.static.elements}));d.drawVAO=new F(null,null,null,(function(t,e){return t.link(x)})),d.useVAO=!0}}return l?d.useVAO=!0:d.attributes=A(e),d.context=function(t){var e=t.static,r=t.dynamic,n={};return Object.keys(e).forEach((function(t){var r=e[t];n[t]=N((function(t,e){return\"number\"==typeof r||\"boolean\"==typeof r?\"\"+r:t.link(r)}))})),Object.keys(r).forEach((function(t){var e=r[t];n[t]=j(e,(function(t,r){return t.invoke(r,e)}))})),n}(i),d}function S(t,e,r){var n=t.shared.context,i=t.scope();Object.keys(r).forEach((function(a){e.save(n,\".\"+a);var o=r[a].append(t,e);Array.isArray(o)?i(n,\".\",a,\"=[\",o.join(),\"];\"):i(n,\".\",a,\"=\",o,\";\")})),e(i)}function E(t,e,r,n){var i,a=(s=t.shared).gl,o=s.framebuffer;et&&(i=e.def(s.extensions,\".webgl_draw_buffers\"));var s=(l=t.constants).drawBuffer,l=l.backBuffer;t=r?r.append(t,e):e.def(o,\".next\"),n||e(\"if(\",t,\"!==\",o,\".cur){\"),e(\"if(\",t,\"){\",a,\".bindFramebuffer(\",36160,\",\",t,\".framebuffer);\"),et&&e(i,\".drawBuffersWEBGL(\",s,\"[\",t,\".colorAttachments.length]);\"),e(\"}else{\",a,\".bindFramebuffer(\",36160,\",null);\"),et&&e(i,\".drawBuffersWEBGL(\",l,\");\"),e(\"}\",o,\".cur=\",t,\";\"),n||e(\"}\")}function L(t,e,r){var n=t.shared,i=n.gl,o=t.current,s=t.next,l=n.current,c=n.next,u=t.cond(l,\".dirty\");ot.forEach((function(e){var n,f;if(!((e=y(e))in r.state))if(e in s){n=s[e],f=o[e];var h=a(nt[e].length,(function(t){return u.def(n,\"[\",t,\"]\")}));u(t.cond(h.map((function(t,e){return t+\"!==\"+f+\"[\"+e+\"]\"})).join(\"||\")).then(i,\".\",lt[e],\"(\",h,\");\",h.map((function(t,e){return f+\"[\"+e+\"]=\"+t})).join(\";\"),\";\"))}else n=u.def(c,\".\",e),h=t.cond(n,\"!==\",l,\".\",e),u(h),e in st?h(t.cond(n).then(i,\".enable(\",st[e],\");\").else(i,\".disable(\",st[e],\");\"),l,\".\",e,\"=\",n,\";\"):h(i,\".\",lt[e],\"(\",n,\");\",l,\".\",e,\"=\",n,\";\")})),0===Object.keys(r.state).length&&u(l,\".dirty=false;\"),e(u)}function C(t,e,r,n){var i,a=t.shared,o=t.current,s=a.current,l=a.gl;R(Object.keys(r)).forEach((function(a){var c=r[a];if(!n||n(c)){var u=c.append(t,e);if(st[a]){var f=st[a];B(c)?(i=t.link(u,{stable:!0}),e(t.cond(i).then(l,\".enable(\",f,\");\").else(l,\".disable(\",f,\");\")),e(s,\".\",a,\"=\",i,\";\")):(e(t.cond(u).then(l,\".enable(\",f,\");\").else(l,\".disable(\",f,\");\")),e(s,\".\",a,\"=\",u,\";\"))}else if(g(u)){var h=o[a];e(l,\".\",lt[a],\"(\",u,\");\",u.map((function(t,e){return h+\"[\"+e+\"]=\"+t})).join(\";\"),\";\")}else B(c)?(i=t.link(u,{stable:!0}),e(l,\".\",lt[a],\"(\",i,\");\",s,\".\",a,\"=\",i,\";\")):e(l,\".\",lt[a],\"(\",u,\");\",s,\".\",a,\"=\",u,\";\")}}))}function P(t,e){$&&(t.instancing=e.def(t.shared.extensions,\".angle_instanced_arrays\"))}function I(t,e,r,n,i){function a(){return\"undefined\"==typeof performance?\"Date.now()\":\"performance.now()\"}function o(t){t(c=e.def(),\"=\",a(),\";\"),\"string\"==typeof i?t(h,\".count+=\",i,\";\"):t(h,\".count++;\"),d&&(n?t(u=e.def(),\"=\",m,\".getNumPendingQueries();\"):t(m,\".beginQuery(\",h,\");\"))}function s(t){t(h,\".cpuTime+=\",a(),\"-\",c,\";\"),d&&(n?t(m,\".pushScopeStats(\",u,\",\",m,\".getNumPendingQueries(),\",h,\");\"):t(m,\".endQuery();\"))}function l(t){var r=e.def(p,\".profile\");e(p,\".profile=\",t,\";\"),e.exit(p,\".profile=\",r,\";\")}var c,u,f=t.shared,h=t.stats,p=f.current,m=f.timer;if(r=r.profile){if(B(r))return void(r.enable?(o(e),s(e.exit),l(\"true\")):l(\"false\"));l(r=r.append(t,e))}else r=e.def(p,\".profile\");o(f=t.block()),e(\"if(\",r,\"){\",f,\"}\"),s(t=t.block()),e.exit(\"if(\",r,\"){\",t,\"}\")}function O(t,e,r,n,i){function a(r,n,i){function a(){e(\"if(!\",u,\".buffer){\",l,\".enableVertexAttribArray(\",c,\");}\");var r,a=i.type;r=i.size?e.def(i.size,\"||\",n):n,e(\"if(\",u,\".type!==\",a,\"||\",u,\".size!==\",r,\"||\",p.map((function(t){return u+\".\"+t+\"!==\"+i[t]})).join(\"||\"),\"){\",l,\".bindBuffer(\",34962,\",\",f,\".buffer);\",l,\".vertexAttribPointer(\",[c,r,a,i.normalized,i.stride,i.offset],\");\",u,\".type=\",a,\";\",u,\".size=\",r,\";\",p.map((function(t){return u+\".\"+t+\"=\"+i[t]+\";\"})).join(\"\"),\"}\"),$&&(a=i.divisor,e(\"if(\",u,\".divisor!==\",a,\"){\",t.instancing,\".vertexAttribDivisorANGLE(\",[c,a],\");\",u,\".divisor=\",a,\";}\"))}function s(){e(\"if(\",u,\".buffer){\",l,\".disableVertexAttribArray(\",c,\");\",u,\".buffer=null;\",\"}if(\",At.map((function(t,e){return u+\".\"+t+\"!==\"+h[e]})).join(\"||\"),\"){\",l,\".vertexAttrib4f(\",c,\",\",h,\");\",At.map((function(t,e){return u+\".\"+t+\"=\"+h[e]+\";\"})).join(\"\"),\"}\")}var l=o.gl,c=e.def(r,\".location\"),u=e.def(o.attributes,\"[\",c,\"]\");r=i.state;var f=i.buffer,h=[i.x,i.y,i.z,i.w],p=[\"buffer\",\"normalized\",\"offset\",\"stride\"];1===r?a():2===r?s():(e(\"if(\",r,\"===\",1,\"){\"),a(),e(\"}else{\"),s(),e(\"}\"))}var o=t.shared;n.forEach((function(n){var o,s=n.name,l=r.attributes[s];if(l){if(!i(l))return;o=l.append(t,e)}else{if(!i(Pt))return;var c=t.scopeAttrib(s);o={},Object.keys(new K).forEach((function(t){o[t]=e.def(c,\".\",t)}))}a(t.link(n),function(t){switch(t){case 35664:case 35667:case 35671:return 2;case 35665:case 35668:case 35672:return 3;case 35666:case 35669:case 35673:return 4;default:return 1}}(n.info.type),o)}))}function U(t,r,n,i,o,s){for(var l,c=t.shared,u=c.gl,f=0;f<i.length;++f){var h,p=(v=i[f]).name,d=v.info.type,m=n.uniforms[p],v=t.link(v)+\".location\";if(m){if(!o(m))continue;if(B(m)){if(p=m.value,35678===d||35680===d)r(u,\".uniform1i(\",v,\",\",(d=t.link(p._texture||p.color[0]._texture))+\".bind());\"),r.exit(d,\".unbind();\");else if(35674===d||35675===d||35676===d)m=2,35675===d?m=3:35676===d&&(m=4),r(u,\".uniformMatrix\",m,\"fv(\",v,\",false,\",p=t.global.def(\"new Float32Array([\"+Array.prototype.slice.call(p)+\"])\"),\");\");else{switch(d){case 5126:l=\"1f\";break;case 35664:l=\"2f\";break;case 35665:l=\"3f\";break;case 35666:l=\"4f\";break;case 35670:case 5124:l=\"1i\";break;case 35671:case 35667:l=\"2i\";break;case 35672:case 35668:l=\"3i\";break;case 35673:l=\"4i\";break;case 35669:l=\"4i\"}r(u,\".uniform\",l,\"(\",v,\",\",g(p)?Array.prototype.slice.call(p):p,\");\")}continue}h=m.append(t,r)}else{if(!o(Pt))continue;h=r.def(c.uniforms,\"[\",e.id(p),\"]\")}switch(35678===d?r(\"if(\",h,\"&&\",h,'._reglType===\"framebuffer\"){',h,\"=\",h,\".color[0];\",\"}\"):35680===d&&r(\"if(\",h,\"&&\",h,'._reglType===\"framebufferCube\"){',h,\"=\",h,\".color[0];\",\"}\"),p=1,d){case 35678:case 35680:d=r.def(h,\"._texture\"),r(u,\".uniform1i(\",v,\",\",d,\".bind());\"),r.exit(d,\".unbind();\");continue;case 5124:case 35670:l=\"1i\";break;case 35667:case 35671:l=\"2i\",p=2;break;case 35668:case 35672:l=\"3i\",p=3;break;case 35669:case 35673:l=\"4i\",p=4;break;case 5126:l=\"1f\";break;case 35664:l=\"2f\",p=2;break;case 35665:l=\"3f\",p=3;break;case 35666:l=\"4f\",p=4;break;case 35674:l=\"Matrix2fv\";break;case 35675:l=\"Matrix3fv\";break;case 35676:l=\"Matrix4fv\"}if(\"M\"===l.charAt(0)){r(u,\".uniform\",l,\"(\",v,\",\");v=Math.pow(d-35674+2,2);var y=t.global.def(\"new Float32Array(\",v,\")\");Array.isArray(h)?r(\"false,(\",a(v,(function(t){return y+\"[\"+t+\"]=\"+h[t]})),\",\",y,\")\"):r(\"false,(Array.isArray(\",h,\")||\",h,\" instanceof Float32Array)?\",h,\":(\",a(v,(function(t){return y+\"[\"+t+\"]=\"+h+\"[\"+t+\"]\"})),\",\",y,\")\"),r(\");\")}else{if(1<p){d=[];var x=[];for(m=0;m<p;++m)Array.isArray(h)?x.push(h[m]):x.push(r.def(h+\"[\"+m+\"]\")),s&&d.push(r.def());s&&r(\"if(!\",t.batchId,\"||\",d.map((function(t,e){return t+\"!==\"+x[e]})).join(\"||\"),\"){\",d.map((function(t,e){return t+\"=\"+x[e]+\";\"})).join(\"\")),r(u,\".uniform\",l,\"(\",v,\",\",x.join(\",\"),\");\")}else s&&(d=r.def(),r(\"if(!\",t.batchId,\"||\",d,\"!==\",h,\"){\",d,\"=\",h,\";\")),r(u,\".uniform\",l,\"(\",v,\",\",h,\");\");s&&r(\"}\")}}}function V(t,e,r,n){function i(i){var a=h[i];return a?a.contextDep&&n.contextDynamic||a.propDep?a.append(t,r):a.append(t,e):e.def(f,\".\",i)}function a(){function t(){r(l,\".drawElementsInstancedANGLE(\",[d,g,v,m+\"<<((\"+v+\"-5121)>>1)\",s],\");\")}function e(){r(l,\".drawArraysInstancedANGLE(\",[d,m,g,s],\");\")}p&&\"null\"!==p?y?t():(r(\"if(\",p,\"){\"),t(),r(\"}else{\"),e(),r(\"}\")):e()}function o(){function t(){r(u+\".drawElements(\"+[d,g,v,m+\"<<((\"+v+\"-5121)>>1)\"]+\");\")}function e(){r(u+\".drawArrays(\"+[d,m,g]+\");\")}p&&\"null\"!==p?y?t():(r(\"if(\",p,\"){\"),t(),r(\"}else{\"),e(),r(\"}\")):e()}var s,l,c=t.shared,u=c.gl,f=c.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+\")\"+u+\".bindBuffer(34963,\"+i+\".buffer.buffer);\")):(i=a.def(),a(i,\"=\",f,\".\",\"elements\",\";\",\"if(\",i,\"){\",u,\".bindBuffer(\",34963,\",\",i,\".buffer.buffer);}\",\"else if(\",c.vao,\".currentVAO){\",i,\"=\",t.shared.elements+\".getElements(\"+c.vao,\".currentVAO.elements);\",rt?\"\":\"if(\"+i+\")\"+u+\".bindBuffer(34963,\"+i+\".buffer.buffer);\",\"}\")),i}(),d=i(\"primitive\"),m=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(\"}\");$&&(s=i(\"instances\"),l=t.instancing);var v=p+\".type\",y=h.elements&&B(h.elements)&&!h.vaoActive;$&&(\"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),$&&(e.instancing=i.def(e.shared.extensions,\".angle_instanced_arrays\")),t(e,i,r,n),e.compile().body}function Y(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);\"),O(t,e,r,n.attributes,(function(){return!0}))),U(t,e,r,n.uniforms,(function(){return!0}),!1),V(t,e,e,r)}function W(t,e,r,n){function i(){return!0}t.batchId=\"a1\",P(t,e),O(t,e,r,n.attributes,i),U(t,e,r,n.uniforms,i,!1),V(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 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),C(t,u,r.state,i),r.profile&&i(r.profile)&&I(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);\"),O(t,c,r,n.attributes,a),O(t,u,r,n.attributes,i)),U(t,c,r,n.uniforms,a,!1),U(t,u,r,n.uniforms,i,!0),V(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(W,t,r,e,2)})),\"(\",n,\");}\",c,\".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),R(Object.keys(r.state)).forEach((function(e){var n=r.state[e],o=n.append(t,i);g(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}))})):B(n)?i.set(a.next,\".\"+e,t.link(o,{stable:!0})):i.set(a.next,\".\"+e,o)})),I(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 K).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<Object.keys(r.state).length&&(i(o,\".dirty=true;\"),i.exit(o,\".dirty=true;\")),i(\"a1(\",t.shared.context,\",a0,\",t.batchId,\");\")}function J(t,e,r){var n=e.static[r];if(n&&function(t){if(\"object\"==typeof t&&!g(t)){for(var e=Object.keys(t),r=0;r<e.length;++r)if(G.isDynamic(t[e[r]]))return!0;return!1}}(n)){var i=t.global,a=Object.keys(n),o=!1,s=!1,l=!1,c=t.global.def(\"{}\");a.forEach((function(e){var r=n[e];if(G.isDynamic(r))\"function\"==typeof r&&(r=n[e]=G.unbox(r)),e=j(r,null),o=o||e.thisDep,l=l||e.propDep,s=s||e.contextDep;else{switch(i(c,\".\",e,\"=\"),typeof r){case\"number\":i(r);break;case\"string\":i('\"',r,'\"');break;case\"object\":Array.isArray(r)&&i(\"[\",r.join(),\"]\");break;default:i(t.link(r))}i(\";\")}})),e.dynamic[r]=new G.DynamicVariable(4,{thisDep:o,contextDep:s,propDep:l,ref:c,append:function(t,e){a.forEach((function(r){var i=n[r];G.isDynamic(i)&&(i=t.invoke(e,i),e(c,\".\",r,\"=\",i,\";\"))}))}}),delete e.static[r]}}var K=u.Record,Q={add:32774,subtract:32778,\"reverse subtract\":32779};r.ext_blend_minmax&&(Q.min=32775,Q.max=32776);var $=r.angle_instanced_arrays,et=r.webgl_draw_buffers,rt=r.oes_vertex_array_object,nt={dirty:!0,profile:v.profile},it={},ot=[],st={},lt={};x(\"dither\",3024),x(\"blend.enable\",3042),b(\"blend.color\",\"blendColor\",[0,0,0,0]),b(\"blend.equation\",\"blendEquationSeparate\",[32774,32774]),b(\"blend.func\",\"blendFuncSeparate\",[1,0,1,0]),x(\"depth.enable\",2929,!0),b(\"depth.func\",\"depthFunc\",513),b(\"depth.range\",\"depthRange\",[0,1]),b(\"depth.mask\",\"depthMask\",!0),b(\"colorMask\",\"colorMask\",[!0,!0,!0,!0]),x(\"cull.enable\",2884),b(\"cull.face\",\"cullFace\",1029),b(\"frontFace\",\"frontFace\",2305),b(\"lineWidth\",\"lineWidth\",1),x(\"polygonOffset.enable\",32823),b(\"polygonOffset.offset\",\"polygonOffset\",[0,0]),x(\"sample.alpha\",32926),x(\"sample.enable\",32928),b(\"sample.coverage\",\"sampleCoverage\",[1,!1]),x(\"stencil.enable\",2960),b(\"stencil.mask\",\"stencilMask\",-1),b(\"stencil.func\",\"stencilFunc\",[519,0,-1]),b(\"stencil.opFront\",\"stencilOpSeparate\",[1028,7680,7680,7680]),b(\"stencil.opBack\",\"stencilOpSeparate\",[1029,7680,7680,7680]),x(\"scissor.enable\",3089),b(\"scissor.box\",\"scissor\",[0,0,t.drawingBufferWidth,t.drawingBufferHeight]),b(\"viewport\",\"viewport\",[0,0,t.drawingBufferWidth,t.drawingBufferHeight]);var ct={gl:t,context:p,strings:e,next:it,current:nt,draw:h,elements:o,buffer:i,shader:f,attributes:u.state,vao:u,uniforms:c,framebuffer:l,extensions:r,timer:d,isBufferArgs:D},ut={primTypes:at,compareFuncs:Et,blendFuncs:St,blendEquations:Q,stencilOps:Lt,glTypes:tt,orientationType:Ct};et&&(ut.backBuffer=[1029],ut.drawBuffer=a(n.maxDrawbuffers,(function(t){return 0===t?[0]:a(t,(function(t){return 36064+t}))})));var ft=0;return{next:it,current:nt,procs:function(){var t=_(),e=t.proc(\"poll\"),i=t.proc(\"refresh\"),o=t.block();e(o),i(o);var s,l=(f=t.shared).gl,c=f.next,u=f.current;o(u,\".dirty=false;\"),E(t,e),E(t,i,null,!0),$&&(s=t.link($)),r.oes_vertex_array_object&&i(t.link(r.oes_vertex_array_object),\".bindVertexArrayOES(null);\");var f=i.def(f.attributes),h=i.def(0),p=t.cond(h,\".buffer\");p.then(l,\".enableVertexAttribArray(i);\",l,\".bindBuffer(\",34962,\",\",h,\".buffer.buffer);\",l,\".vertexAttribPointer(i,\",h,\".size,\",h,\".type,\",h,\".normalized,\",h,\".stride,\",h,\".offset);\").else(l,\".disableVertexAttribArray(i);\",l,\".vertexAttrib4f(i,\",h,\".x,\",h,\".y,\",h,\".z,\",h,\".w);\",h,\".buffer=null;\");var d=t.link(n.maxAttributes,{stable:!0});return i(\"for(var i=0;i<\",d,\";++i){\",h,\"=\",f,\"[i];\",p,\"}\"),$&&i(\"for(var i=0;i<\",d,\";++i){\",s,\".vertexAttribDivisorANGLE(i,\",f,\"[i].divisor);\",\"}\"),i(t.shared.vao,\".currentVAO=null;\",t.shared.vao,\".setVAO(\",t.shared.vao,\".targetVAO);\"),Object.keys(st).forEach((function(r){var n=st[r],a=o.def(c,\".\",r),s=t.block();s(\"if(\",a,\"){\",l,\".enable(\",n,\")}else{\",l,\".disable(\",n,\")}\",u,\".\",r,\"=\",a,\";\"),i(s),e(\"if(\",a,\"!==\",u,\".\",r,\"){\",s,\"}\")})),Object.keys(lt).forEach((function(r){var n,s,f=lt[r],h=nt[r],p=t.block();p(l,\".\",f,\"(\"),g(h)?(f=h.length,n=t.global.def(c,\".\",r),s=t.global.def(u,\".\",r),p(a(f,(function(t){return n+\"[\"+t+\"]\"})),\");\",a(f,(function(t){return s+\"[\"+t+\"]=\"+n+\"[\"+t+\"];\"})).join(\"\")),e(\"if(\",a(f,(function(t){return n+\"[\"+t+\"]!==\"+s+\"[\"+t+\"]\"})).join(\"||\"),\"){\",p,\"}\")):(n=o.def(c,\".\",r),s=o.def(u,\".\",r),p(n,\");\",u,\".\",r,\"=\",n,\";\"),e(\"if(\",n,\"!==\",s,\"){\",p,\"}\")),i(p)})),t.compile()}(),compile:function(t,e,r,n,i){var a=_();a.stats=a.link(i),Object.keys(e.static).forEach((function(t){J(a,e,t)})),Mt.forEach((function(e){J(a,t,e)}));var o=M(t,e,r,n);return o.shader.program&&(o.shader.program.attributes.sort((function(t,e){return t.name<e.name?-1:1})),o.shader.program.uniforms.sort((function(t,e){return t.name<e.name?-1:1}))),function(t,e){var r=t.proc(\"draw\",1);P(t,r),S(t,r,e.context),E(t,r,e.framebuffer),L(t,r,e),C(t,r,e.state),I(t,r,e,!1,!0);var n=e.shader.progVar.append(t,r);if(r(t.shared.gl,\".useProgram(\",n,\".program);\"),e.shader.program)Y(t,r,e,e.shader.program);else{r(t.shared.vao,\".setVAO(null);\");var i=t.global.def(\"{}\"),a=r.def(n,\".id\"),o=r.def(i,\"[\",a,\"]\");r(t.cond(o).then(o,\".call(this,a0);\").else(o,\"=\",i,\"[\",a,\"]=\",t.link((function(r){return q(Y,t,e,r,1)})),\"(\",n,\");\",o,\".call(this,a0);\"))}0<Object.keys(e.state).length&&r(t.shared.current,\".dirty=true;\"),t.shared.vao&&r(t.shared.vao,\".setVAO(null);\")}(a,o),Z(a,o),function(t,e){function r(t){return t.contextDep&&i||t.propDep}var n=t.proc(\"batch\",2);t.batchId=\"0\",P(t,n);var i=!1,a=!0;Object.keys(e.context).forEach((function(t){i=i||e.context[t].propDep})),i||(S(t,n,e.context),a=!1);var o=!1;if((s=e.framebuffer)?(s.propDep?i=o=!0:s.contextDep&&i&&(o=!0),o||E(t,n,s)):E(t,n,null),e.state.viewport&&e.state.viewport.propDep&&(i=!0),L(t,n,e),C(t,n,e.state,(function(t){return!r(t)})),e.profile&&r(e.profile)||I(t,n,e,!1,\"a1\"),e.contextDep=i,e.needsContext=a,e.needsFramebuffer=o,(a=e.shader.progVar).contextDep&&i||a.propDep)X(t,n,e,null);else if(a=a.append(t,n),n(t.shared.gl,\".useProgram(\",a,\".program);\"),e.shader.program)X(t,n,e,e.shader.program);else{n(t.shared.vao,\".setVAO(null);\");var s=t.global.def(\"{}\"),l=(o=n.def(a,\".id\"),n.def(s,\"[\",o,\"]\"));n(t.cond(l).then(l,\".call(this,a0,a1);\").else(l,\"=\",s,\"[\",o,\"]=\",t.link((function(r){return q(X,t,e,r,2)})),\"(\",a,\");\",l,\".call(this,a0,a1);\"))}0<Object.keys(e.state).length&&n(t.shared.current,\".dirty=true;\"),t.shared.vao&&n(t.shared.vao,\".setVAO(null);\")}(a,o),H(a.compile(),{destroy:function(){o.shader.program.destroy()}})}}}function V(t,e){for(var r=0;r<t.length;++r)if(t[r]===e)return r;return-1}var H=function(t,e){for(var r=Object.keys(e),n=0;n<r.length;++n)t[r[n]]=e[r[n]];return t},q=0,G={DynamicVariable:t,define:function(r,n){return new t(r,e(n+\"\"))},isDynamic:function(e){return\"function\"==typeof e&&!e._reglType||e instanceof t},unbox:function e(r,n){return\"function\"==typeof r?new t(0,r):\"number\"==typeof r||\"boolean\"==typeof r?new t(5,r):Array.isArray(r)?new t(6,r.map((function(t,r){return e(t,n+\"[\"+r+\"]\")}))):r instanceof t?r:void 0},accessor:e},Y={next:\"function\"==typeof requestAnimationFrame?function(t){return requestAnimationFrame(t)}:function(t){return setTimeout(t,16)},cancel:\"function\"==typeof cancelAnimationFrame?function(t){return cancelAnimationFrame(t)}:clearTimeout},W=\"undefined\"!=typeof performance&&performance.now?function(){return performance.now()}:function(){return+new Date},X=s();X.zero=s();var Z=function(t,e){var r=1;e.ext_texture_filter_anisotropic&&(r=t.getParameter(34047));var n=1,i=1;e.webgl_draw_buffers&&(n=t.getParameter(34852),i=t.getParameter(36063));var a=!!e.oes_texture_float;if(a){a=t.createTexture(),t.bindTexture(3553,a),t.texImage2D(3553,0,6408,1,1,0,6408,5126,null);var o=t.createFramebuffer();if(t.bindFramebuffer(36160,o),t.framebufferTexture2D(36160,36064,3553,a,0),t.bindTexture(3553,null),36053!==t.checkFramebufferStatus(36160))a=!1;else{t.viewport(0,0,1,1),t.clearColor(1,0,0,1),t.clear(16384);var s=X.allocType(5126,4);t.readPixels(0,0,1,1,6408,5126,s),t.getError()?a=!1:(t.deleteFramebuffer(o),t.deleteTexture(a),a=1===s[0]),X.freeType(s)}}return s=!0,\"undefined\"!=typeof navigator&&(/MSIE/.test(navigator.userAgent)||/Trident\\//.test(navigator.appVersion)||/Edge/.test(navigator.userAgent))||(s=t.createTexture(),o=X.allocType(5121,36),t.activeTexture(33984),t.bindTexture(34067,s),t.texImage2D(34069,0,6408,3,3,0,6408,5121,o),X.freeType(o),t.bindTexture(34067,null),t.deleteTexture(s),s=!t.getError()),{colorBits:[t.getParameter(3410),t.getParameter(3411),t.getParameter(3412),t.getParameter(3413)],depthBits:t.getParameter(3414),stencilBits:t.getParameter(3415),subpixelBits:t.getParameter(3408),extensions:Object.keys(e).filter((function(t){return!!e[t]})),maxAnisotropic:r,maxDrawbuffers:n,maxColorAttachments:i,pointSizeDims:t.getParameter(33901),lineWidthDims:t.getParameter(33902),maxViewportDims:t.getParameter(3386),maxCombinedTextureUnits:t.getParameter(35661),maxCubeMapSize:t.getParameter(34076),maxRenderbufferSize:t.getParameter(34024),maxTextureUnits:t.getParameter(34930),maxTextureSize:t.getParameter(3379),maxAttributes:t.getParameter(34921),maxVertexUniforms:t.getParameter(36347),maxVertexTextureUnits:t.getParameter(35660),maxVaryingVectors:t.getParameter(36348),maxFragmentUniforms:t.getParameter(36349),glsl:t.getParameter(35724),renderer:t.getParameter(7937),vendor:t.getParameter(7936),version:t.getParameter(7938),readFloat:a,npotTextureCube:s}},J=function(t){return t instanceof Uint8Array||t instanceof Uint16Array||t instanceof Uint32Array||t instanceof Int8Array||t instanceof Int16Array||t instanceof Int32Array||t instanceof Float32Array||t instanceof Float64Array||t instanceof Uint8ClampedArray},K=function(t){return Object.keys(t).map((function(e){return t[e]}))},Q={shape:function(t){for(var e=[];t.length;t=t[0])e.push(t.length);return e},flatten:function(t,e,r,n){var i=1;if(e.length)for(var a=0;a<e.length;++a)i*=e[a];else i=0;switch(r=n||X.allocType(r,i),e.length){case 0:break;case 1:for(n=e[0],e=0;e<n;++e)r[e]=t[e];break;case 2:for(n=e[0],e=e[1],a=i=0;a<n;++a)for(var o=t[a],s=0;s<e;++s)r[i++]=o[s];break;case 3:c(t,e[0],e[1],e[2],r,0);break;default:!function t(e,r,n,i,a){for(var o=1,s=n+1;s<r.length;++s)o*=r[s];var l=r[n];if(4==r.length-n){var u=r[n+1],f=r[n+2];for(r=r[n+3],s=0;s<l;++s)c(e[s],u,f,r,i,a),a+=o}else for(s=0;s<l;++s)t(e[s],r,n+1,i,a),a+=o}(t,e,0,r,0)}return r}},$={\"[object Int8Array]\":5120,\"[object Int16Array]\":5122,\"[object Int32Array]\":5124,\"[object Uint8Array]\":5121,\"[object Uint8ClampedArray]\":5121,\"[object Uint16Array]\":5123,\"[object Uint32Array]\":5125,\"[object Float32Array]\":5126,\"[object Float64Array]\":5121,\"[object ArrayBuffer]\":5121},tt={int8:5120,int16:5122,int32:5124,uint8:5121,uint16:5123,uint32:5125,float:5126,float32:5126},et={dynamic:35048,stream:35040,static:35044},rt=Q.flatten,nt=Q.shape,it=[];it[5120]=1,it[5122]=2,it[5124]=4,it[5121]=1,it[5123]=2,it[5125]=4,it[5126]=4;var at={points:0,point:0,lines:1,line:1,triangles:4,triangle:4,\"line loop\":2,\"line strip\":3,\"triangle strip\":5,\"triangle fan\":6},ot=new Float32Array(1),st=new Uint32Array(ot.buffer),lt=[9984,9986,9985,9987],ct=[0,6409,6410,6407,6408],ut={};ut[6409]=ut[6406]=ut[6402]=1,ut[34041]=ut[6410]=2,ut[6407]=ut[35904]=3,ut[6408]=ut[35906]=4;var ft=v(\"HTMLCanvasElement\"),ht=v(\"OffscreenCanvas\"),pt=v(\"CanvasRenderingContext2D\"),dt=v(\"ImageBitmap\"),mt=v(\"HTMLImageElement\"),gt=v(\"HTMLVideoElement\"),vt=Object.keys($).concat([ft,ht,pt,dt,mt,gt]),yt=[];yt[5121]=1,yt[5126]=4,yt[36193]=2,yt[5123]=2,yt[5125]=4;var xt=[];xt[32854]=2,xt[32855]=2,xt[36194]=2,xt[34041]=4,xt[33776]=.5,xt[33777]=.5,xt[33778]=1,xt[33779]=1,xt[35986]=.5,xt[35987]=1,xt[34798]=1,xt[35840]=.5,xt[35841]=.25,xt[35842]=.5,xt[35843]=.25,xt[36196]=.5;var bt=[];bt[32854]=2,bt[32855]=2,bt[36194]=2,bt[33189]=2,bt[36168]=1,bt[34041]=4,bt[35907]=4,bt[34836]=16,bt[34842]=8,bt[34843]=6;var _t=function(t,e,r,n,i){function a(t){this.id=c++,this.refCount=1,this.renderbuffer=t,this.format=32854,this.height=this.width=0,i.profile&&(this.stats={size:0})}function o(e){var r=e.renderbuffer;t.bindRenderbuffer(36161,null),t.deleteRenderbuffer(r),e.renderbuffer=null,e.refCount=0,delete u[e.id],n.renderbufferCount--}var s={rgba4:32854,rgb565:36194,\"rgb5 a1\":32855,depth:33189,stencil:36168,\"depth stencil\":34041};e.ext_srgb&&(s.srgba=35907),e.ext_color_buffer_half_float&&(s.rgba16f=34842,s.rgb16f=34843),e.webgl_color_buffer_float&&(s.rgba32f=34836);var l=[];Object.keys(s).forEach((function(t){l[s[t]]=t}));var c=0,u={};return a.prototype.decRef=function(){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=bt[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=bt[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(){K(u).forEach(o)},restore:function(){K(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)}}},wt=[];wt[6408]=4,wt[6407]=3;var Tt=[];Tt[5121]=1,Tt[5126]=4,Tt[36193]=2;var kt=[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],At=[\"x\",\"y\",\"z\",\"w\"],Mt=\"blend.func blend.equation stencil.func stencil.opFront stencil.opBack sample.coverage viewport scissor.box polygonOffset.offset\".split(\" \"),St={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},Et={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},Lt={0:0,zero:0,keep:7680,replace:7681,increment:7682,decrement:7683,\"increment wrap\":34055,\"decrement wrap\":34056,invert:5386},Ct={cw:2304,ccw:2305},Pt=new F(!1,!1,!1,(function(){}));return function(t){function e(){if(0===K.length)T&&T.update(),et=null;else{et=Y.next(e),f();for(var t=K.length-1;0<=t;--t){var r=K[t];r&&r(I,null,0)}g.flush(),T&&T.update()}}function r(){!et&&0<K.length&&(et=Y.next(e))}function n(){et&&(Y.cancel(e),et=null)}function a(t){t.preventDefault(),n(),Q.forEach((function(t){t()}))}function o(t){g.getError(),y.restore(),F.restore(),z.restore(),B.restore(),N.restore(),j.restore(),R.restore(),T&&T.restore(),q.procs.refresh(),r(),$.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(G.isDynamic(a))n[i]=G.unbox(a,i);else{if(e&&Array.isArray(a))for(var o=0;o<a.length;++o)if(G.isDynamic(a[o]))return void(n[i]=G.unbox(a,i));r[i]=a}})),{dynamic:n,static:r}}var r=e(t.context||{},!0),n=e(t.uniforms||{},!0),i=e(t.attributes||{},!1);t=e(function(t){function e(t){if(t in r){var e=r[t];delete r[t],Object.keys(e).forEach((function(n){r[t+\".\"+n]=e[n]}))}}var r=H({},t);return delete r.uniforms,delete r.attributes,delete r.context,delete r.vao,\"stencil\"in r&&r.stencil.op&&(r.stencil.opBack=r.stencil.opFront=r.stencil.op,delete r.stencil.op),e(\"blend\"),e(\"depth\"),e(\"cull\"),e(\"stencil\"),e(\"polygonOffset\"),e(\"scissor\"),e(\"sample\"),\"vao\"in t&&(r.vao=t.vao),r}(t),!1);var a={gpuTime:0,cpuTime:0,count:0},o=q.compile(t,i,n,r,a),s=o.draw,l=o.batch,c=o.scope,u=[];return H((function(t,e){var r;if(\"function\"==typeof t)return c.call(this,null,t,0);if(\"function\"==typeof e)if(\"number\"==typeof t)for(r=0;r<t;++r)c.call(this,null,e,r);else{if(!Array.isArray(t))return c.call(this,t,e,0);for(r=0;r<t.length;++r)c.call(this,t[r],e,r)}else if(\"number\"==typeof t){if(0<t)return l.call(this,function(t){for(;u.length<t;)u.push(null);return u}(0|t),0|t)}else{if(!Array.isArray(t))return s.call(this,t);if(t.length)return l.call(this,t,t.length)}}),{stats:a,destroy:function(){o.destroy()}})}function l(t,e){var r=0;q.procs.poll();var n=e.color;n&&(g.clearColor(+n[0]||0,+n[1]||0,+n[2]||0,+n[3]||0),r|=16384),\"depth\"in e&&(g.clearDepth(+e.depth),r|=256),\"stencil\"in e&&(g.clearStencil(0|e.stencil),r|=1024),g.clear(r)}function c(t){return K.push(t),r(),{cancel:function(){var e=V(K,t);K[e]=function t(){var e=V(K,t);K[e]=K[K.length-1],--K.length,0>=K.length&&n()}}}}function u(){var t=X.viewport,e=X.scissor_box;t[0]=t[1]=e[0]=e[1]=0,I.viewportWidth=I.framebufferWidth=I.drawingBufferWidth=t[2]=e[2]=g.drawingBufferWidth,I.viewportHeight=I.framebufferHeight=I.drawingBufferHeight=t[3]=e[3]=g.drawingBufferHeight}function f(){I.tick+=1,I.time=m(),u(),q.procs.poll()}function h(){B.refresh(),u(),q.procs.refresh(),T&&T.update()}function m(){return(W()-M)/1e3}if(!(t=i(t)))return null;var g=t.gl,v=g.getContextAttributes();g.isContextLost();var y=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;i<e.extensions.length;++i){var a=e.extensions[i];if(!r(a))return e.onDestroy(),e.onDone('\"'+a+'\" extension is not supported by the current WebGL context, try upgrading your system or a different browser'),null}return e.optionalExtensions.forEach(r),{extensions:n,restore:function(){Object.keys(n).forEach((function(t){if(n[t]&&!r(t))throw Error(\"(regl): error restoring extension \"+t)}))}}}(g,t);if(!y)return null;var x=function(){var t={\"\":0},e=[\"\"];return{id:function(r){var n=t[r];return n||(n=t[r]=e.length,e.push(r),n)},str:function(t){return e[t]}}}(),b={vaoCount:0,bufferCount:0,elementsCount:0,framebufferCount:0,shaderCount:0,textureCount:0,cubeCount:0,renderbufferCount:0,maxTextureUnits:0},_=t.cachedCode||{},w=y.extensions,T=function(t,e){function r(){this.endQueryIndex=this.startQueryIndex=-1,this.sum=0,this.stats=null}function n(t,e,n){var i=o.pop()||new r;i.startQueryIndex=t,i.endQueryIndex=e,i.sum=0,i.stats=n,s.push(i)}if(!e.ext_disjoint_timer_query)return null;var i=[],a=[],o=[],s=[],l=[],c=[];return{beginQuery:function(t){var r=i.pop()||e.ext_disjoint_timer_query.createQueryEXT();e.ext_disjoint_timer_query.beginQueryEXT(35007,r),a.push(r),n(a.length-1,a.length,t)},endQuery:function(){e.ext_disjoint_timer_query.endQueryEXT(35007)},pushScopeStats:n,update:function(){var t,r;if(0!==(t=a.length)){c.length=Math.max(c.length,t+1),l.length=Math.max(l.length,t+1),l[0]=0;var n=c[0]=0;for(r=t=0;r<a.length;++r){var u=a[r];e.ext_disjoint_timer_query.getQueryObjectEXT(u,34919)?(n+=e.ext_disjoint_timer_query.getQueryObjectEXT(u,34918),i.push(u)):a[t++]=u,l[r+1]=n,c[r+1]=t}for(a.length=t,r=t=0;r<s.length;++r){var f=(n=s[r]).startQueryIndex;u=n.endQueryIndex;n.sum+=l[u]-l[f],f=c[f],(u=c[u])===f?(n.stats.gpuTime+=n.sum/1e6,o.push(n)):(n.startQueryIndex=f,n.endQueryIndex=u,s[t++]=n)}s.length=t}},getNumPendingQueries:function(){return a.length},clear:function(){i.push.apply(i,a);for(var t=0;t<i.length;t++)e.ext_disjoint_timer_query.deleteQueryEXT(i[t]);a.length=0,i.length=0},restore:function(){a.length=0,i.length=0}}}(0,w),M=W(),C=g.drawingBufferWidth,P=g.drawingBufferHeight,I={tick:0,time:0,viewportWidth:C,viewportHeight:P,framebufferWidth:C,framebufferHeight:P,drawingBufferWidth:C,drawingBufferHeight:P,pixelRatio:t.pixelRatio},O=(C={elements:null,primitive:4,count:-1,offset:0,instances:-1},Z(g,w)),z=p(g,b,t,(function(t){return R.destroyBuffer(t)})),D=d(g,w,z,b),R=S(g,w,O,b,z,D,C),F=E(g,x,b,t),B=k(g,w,O,(function(){q.procs.poll()}),I,b,t),N=_t(g,w,0,b,t),j=A(g,w,O,B,N,b),q=U(g,x,w,O,z,D,0,j,{},R,F,C,I,T,_,t),X=(x=L(g,j,q.procs.poll,I),q.next),J=g.canvas,K=[],Q=[],$=[],tt=[t.onDestroy],et=null;J&&(J.addEventListener(\"webglcontextlost\",a,!1),J.addEventListener(\"webglcontextrestored\",o,!1));var rt=j.setFBO=s({framebuffer:G.define.call(null,1,\"framebuffer\")});return h(),v=H(s,{clear:function(t){if(\"framebuffer\"in t)if(t.framebuffer&&\"framebufferCube\"===t.framebuffer_reglType)for(var e=0;6>e;++e)rt(H({framebuffer:t.framebuffer.faces[e]},t),l);else rt(t,l);else l(0,t)},prop:G.define.bind(null,1),context:G.define.bind(null,2),this:G.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:v,frame:c,on:function(t,e){var r;switch(t){case\"frame\":return c(e);case\"lost\":r=Q;break;case\"restore\":r=$;break;case\"destroy\":r=tt}return r.push(e),{cancel:function(){for(var t=0;t<r.length;++t)if(r[t]===e){r[t]=r[r.length-1],r.pop();break}}}},limits:O,hasExtension:function(t){return 0<=O.extensions.indexOf(t.toLowerCase())},read:x,destroy:function(){K.length=0,n(),J&&(J.removeEventListener(\"webglcontextlost\",a),J.removeEventListener(\"webglcontextrestored\",o)),F.clear(),j.clear(),N.clear(),R.clear(),B.clear(),D.clear(),z.clear(),T&&T.clear(),tt.forEach((function(t){t()}))},_gl:g,_refresh:h,poll:function(){f(),T&&T.update()},now:m,stats:b,getCachedCode:function(){return _},preloadCachedCode:function(t){Object.entries(t).forEach((function(t){_[t[0]]=t[1]}))}}),t.onDone(null,v),v}}))},{}],284:[function(t,e,r){var n=t(\"buffer\"),i=n.Buffer;function a(t,e){for(var r in t)e[r]=t[r]}function o(t,e,r){return i(t,e,r)}i.from&&i.alloc&&i.allocUnsafe&&i.allocUnsafeSlow?e.exports=n:(a(n,r),r.Buffer=o),o.prototype=Object.create(i.prototype),a(i,o),o.from=function(t,e,r){if(\"number\"==typeof t)throw new TypeError(\"Argument must not be a number\");return i(t,e,r)},o.alloc=function(t,e,r){if(\"number\"!=typeof t)throw new TypeError(\"Argument must be a number\");var n=i(t);return void 0!==e?\"string\"==typeof r?n.fill(e,r):n.fill(e):n.fill(0),n},o.allocUnsafe=function(t){if(\"number\"!=typeof t)throw new TypeError(\"Argument must be a number\");return i(t)},o.allocUnsafeSlow=function(t){if(\"number\"!=typeof t)throw new TypeError(\"Argument must be a number\");return n.SlowBuffer(t)}},{buffer:85}],285:[function(t,e,r){e.exports=i;var n=t(\"events\").EventEmitter;function i(){n.call(this)}t(\"inherits\")(i,n),i.Readable=t(\"readable-stream/lib/_stream_readable.js\"),i.Writable=t(\"readable-stream/lib/_stream_writable.js\"),i.Duplex=t(\"readable-stream/lib/_stream_duplex.js\"),i.Transform=t(\"readable-stream/lib/_stream_transform.js\"),i.PassThrough=t(\"readable-stream/lib/_stream_passthrough.js\"),i.finished=t(\"readable-stream/lib/internal/streams/end-of-stream.js\"),i.pipeline=t(\"readable-stream/lib/internal/streams/pipeline.js\"),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}},{events:84,inherits:231,\"readable-stream/lib/_stream_duplex.js\":287,\"readable-stream/lib/_stream_passthrough.js\":288,\"readable-stream/lib/_stream_readable.js\":289,\"readable-stream/lib/_stream_transform.js\":290,\"readable-stream/lib/_stream_writable.js\":291,\"readable-stream/lib/internal/streams/end-of-stream.js\":295,\"readable-stream/lib/internal/streams/pipeline.js\":297}],286:[function(t,e,r){\"use strict\";var n={};function i(t,e,r){r||(r=Error);var i=function(t){var r,n;function i(r,n,i){return t.call(this,function(t,r,n){return\"string\"==typeof e?e:e(t,r,n)}(r,n,i))||this}return n=t,(r=i).prototype=Object.create(n.prototype),r.prototype.constructor=r,r.__proto__=n,i}(r);i.prototype.name=r.name,i.prototype.code=t,n[t]=i}function a(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))}i(\"ERR_INVALID_OPT_VALUE\",(function(t,e){return'The value \"'+e+'\" is invalid for option \"'+t+'\"'}),TypeError),i(\"ERR_INVALID_ARG_TYPE\",(function(t,e,r){var n,i,o,s;if(\"string\"==typeof e&&(i=\"not \",e.substr(!o||o<0?0:+o,i.length)===i)?(n=\"must not be\",e=e.replace(/^not /,\"\")):n=\"must be\",function(t,e,r){return(void 0===r||r>t.length)&&(r=t.length),t.substring(r-e.length,r)===e}(t,\" argument\"))s=\"The \".concat(t,\" \").concat(n,\" \").concat(a(e,\"type\"));else{var l=function(t,e,r){return\"number\"!=typeof r&&(r=0),!(r+e.length>t.length)&&-1!==t.indexOf(e,r)}(t,\".\")?\"property\":\"argument\";s='The \"'.concat(t,'\" ').concat(l,\" \").concat(n,\" \").concat(a(e,\"type\"))}return s+=\". Received type \".concat(typeof r)}),TypeError),i(\"ERR_STREAM_PUSH_AFTER_EOF\",\"stream.push() after EOF\"),i(\"ERR_METHOD_NOT_IMPLEMENTED\",(function(t){return\"The \"+t+\" method is not implemented\"})),i(\"ERR_STREAM_PREMATURE_CLOSE\",\"Premature close\"),i(\"ERR_STREAM_DESTROYED\",(function(t){return\"Cannot call \"+t+\" after a stream was destroyed\"})),i(\"ERR_MULTIPLE_CALLBACK\",\"Callback called multiple times\"),i(\"ERR_STREAM_CANNOT_PIPE\",\"Cannot pipe, not readable\"),i(\"ERR_STREAM_WRITE_AFTER_END\",\"write after end\"),i(\"ERR_STREAM_NULL_VALUES\",\"May not write null values to stream\",TypeError),i(\"ERR_UNKNOWN_ENCODING\",(function(t){return\"Unknown encoding: \"+t}),TypeError),i(\"ERR_STREAM_UNSHIFT_AFTER_END_EVENT\",\"stream.unshift() after end event\"),e.exports.codes=n},{}],287:[function(t,e,r){(function(r){(function(){\"use strict\";var n=Object.keys||function(t){var e=[];for(var r in t)e.push(r);return e};e.exports=c;var i=t(\"./_stream_readable\"),a=t(\"./_stream_writable\");t(\"inherits\")(c,i);for(var o=n(a.prototype),s=0;s<o.length;s++){var l=o[s];c.prototype[l]||(c.prototype[l]=a.prototype[l])}function c(t){if(!(this instanceof c))return new c(t);i.call(this,t),a.call(this,t),this.allowHalfOpen=!0,t&&(!1===t.readable&&(this.readable=!1),!1===t.writable&&(this.writable=!1),!1===t.allowHalfOpen&&(this.allowHalfOpen=!1,this.once(\"end\",u)))}function u(){this._writableState.ended||r.nextTick(f,this)}function f(t){t.end()}Object.defineProperty(c.prototype,\"writableHighWaterMark\",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),Object.defineProperty(c.prototype,\"writableBuffer\",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(c.prototype,\"writableLength\",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(c.prototype,\"destroyed\",{enumerable:!1,get:function(){return void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed&&this._writableState.destroyed)},set:function(t){void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed=t,this._writableState.destroyed=t)}})}).call(this)}).call(this,t(\"_process\"))},{\"./_stream_readable\":289,\"./_stream_writable\":291,_process:277,inherits:231}],288:[function(t,e,r){\"use strict\";e.exports=i;var n=t(\"./_stream_transform\");function i(t){if(!(this instanceof i))return new i(t);n.call(this,t)}t(\"inherits\")(i,n),i.prototype._transform=function(t,e,r){r(null,t)}},{\"./_stream_transform\":290,inherits:231}],289:[function(t,e,r){(function(r,n){(function(){\"use strict\";var i;e.exports=A,A.ReadableState=k;t(\"events\").EventEmitter;var a=function(t,e){return t.listeners(e).length},o=t(\"./internal/streams/stream\"),s=t(\"buffer\").Buffer,l=n.Uint8Array||function(){};var c,u=t(\"util\");c=u&&u.debuglog?u.debuglog(\"stream\"):function(){};var f,h,p,d=t(\"./internal/streams/buffer_list\"),m=t(\"./internal/streams/destroy\"),g=t(\"./internal/streams/state\").getHighWaterMark,v=t(\"../errors\").codes,y=v.ERR_INVALID_ARG_TYPE,x=v.ERR_STREAM_PUSH_AFTER_EOF,b=v.ERR_METHOD_NOT_IMPLEMENTED,_=v.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;t(\"inherits\")(A,o);var w=m.errorOrDestroy,T=[\"error\",\"close\",\"destroy\",\"pause\",\"resume\"];function k(e,r,n){i=i||t(\"./_stream_duplex\"),e=e||{},\"boolean\"!=typeof n&&(n=r instanceof i),this.objectMode=!!e.objectMode,n&&(this.objectMode=this.objectMode||!!e.readableObjectMode),this.highWaterMark=g(this,e,\"readableHighWaterMark\",n),this.buffer=new d,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=!1!==e.emitClose,this.autoDestroy=!!e.autoDestroy,this.destroyed=!1,this.defaultEncoding=e.defaultEncoding||\"utf8\",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(f||(f=t(\"string_decoder/\").StringDecoder),this.decoder=new f(e.encoding),this.encoding=e.encoding)}function A(e){if(i=i||t(\"./_stream_duplex\"),!(this instanceof A))return new A(e);var r=this instanceof i;this._readableState=new k(e,this,r),this.readable=!0,e&&(\"function\"==typeof e.read&&(this._read=e.read),\"function\"==typeof e.destroy&&(this._destroy=e.destroy)),o.call(this)}function M(t,e,r,n,i){c(\"readableAddChunk\",e);var a,o=t._readableState;if(null===e)o.reading=!1,function(t,e){if(c(\"onEofChunk\"),e.ended)return;if(e.decoder){var r=e.decoder.end();r&&r.length&&(e.buffer.push(r),e.length+=e.objectMode?1:r.length)}e.ended=!0,e.sync?L(t):(e.needReadable=!1,e.emittedReadable||(e.emittedReadable=!0,C(t)))}(t,o);else if(i||(a=function(t,e){var r;n=e,s.isBuffer(n)||n instanceof l||\"string\"==typeof e||void 0===e||t.objectMode||(r=new y(\"chunk\",[\"string\",\"Buffer\",\"Uint8Array\"],e));var n;return r}(o,e)),a)w(t,a);else if(o.objectMode||e&&e.length>0)if(\"string\"==typeof e||o.objectMode||Object.getPrototypeOf(e)===s.prototype||(e=function(t){return s.from(t)}(e)),n)o.endEmitted?w(t,new _):S(t,o,e,!0);else if(o.ended)w(t,new x);else{if(o.destroyed)return!1;o.reading=!1,o.decoder&&!r?(e=o.decoder.write(e),o.objectMode||0!==e.length?S(t,o,e,!1):P(t,o)):S(t,o,e,!1)}else n||(o.reading=!1,P(t,o));return!o.ended&&(o.length<o.highWaterMark||0===o.length)}function S(t,e,r,n){e.flowing&&0===e.length&&!e.sync?(e.awaitDrain=0,t.emit(\"data\",r)):(e.length+=e.objectMode?1:r.length,n?e.buffer.unshift(r):e.buffer.push(r),e.needReadable&&L(t)),P(t,e)}Object.defineProperty(A.prototype,\"destroyed\",{enumerable:!1,get:function(){return void 0!==this._readableState&&this._readableState.destroyed},set:function(t){this._readableState&&(this._readableState.destroyed=t)}}),A.prototype.destroy=m.destroy,A.prototype._undestroy=m.undestroy,A.prototype._destroy=function(t,e){e(t)},A.prototype.push=function(t,e){var r,n=this._readableState;return n.objectMode?r=!0:\"string\"==typeof t&&((e=e||n.defaultEncoding)!==n.encoding&&(t=s.from(t,e),e=\"\"),r=!0),M(this,t,e,!1,r)},A.prototype.unshift=function(t){return M(this,t,null,!0,!1)},A.prototype.isPaused=function(){return!1===this._readableState.flowing},A.prototype.setEncoding=function(e){f||(f=t(\"string_decoder/\").StringDecoder);var r=new f(e);this._readableState.decoder=r,this._readableState.encoding=this._readableState.decoder.encoding;for(var n=this._readableState.buffer.head,i=\"\";null!==n;)i+=r.write(n.data),n=n.next;return this._readableState.buffer.clear(),\"\"!==i&&this._readableState.buffer.push(i),this._readableState.length=i.length,this};function E(t,e){return t<=0||0===e.length&&e.ended?0:e.objectMode?1:t!=t?e.flowing&&e.length?e.buffer.head.data.length:e.length:(t>e.highWaterMark&&(e.highWaterMark=function(t){return t>=1073741824?t=1073741824:(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;c(\"emitReadable\",e.needReadable,e.emittedReadable),e.needReadable=!1,e.emittedReadable||(c(\"emitReadable\",e.flowing),e.emittedReadable=!0,r.nextTick(C,t))}function C(t){var e=t._readableState;c(\"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,R(t)}function P(t,e){e.readingMore||(e.readingMore=!0,r.nextTick(I,t,e))}function I(t,e){for(;!e.reading&&!e.ended&&(e.length<e.highWaterMark||e.flowing&&0===e.length);){var r=e.length;if(c(\"maybeReadMore read 0\"),t.read(0),r===e.length)break}e.readingMore=!1}function O(t){var e=t._readableState;e.readableListening=t.listenerCount(\"readable\")>0,e.resumeScheduled&&!e.paused?e.flowing=!0:t.listenerCount(\"data\")>0&&t.resume()}function z(t){c(\"readable nexttick read 0\"),t.read(0)}function D(t,e){c(\"resume\",e.reading),e.reading||t.read(0),e.resumeScheduled=!1,t.emit(\"resume\"),R(t),e.flowing&&!e.reading&&t.read(0)}function R(t){var e=t._readableState;for(c(\"flow\",e.flowing);e.flowing&&null!==t.read(););}function F(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 B(t){var e=t._readableState;c(\"endReadable\",e.endEmitted),e.endEmitted||(e.ended=!0,r.nextTick(N,e,t))}function N(t,e){if(c(\"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 j(t,e){for(var r=0,n=t.length;r<n;r++)if(t[r]===e)return r;return-1}A.prototype.read=function(t){c(\"read\",t),t=parseInt(t,10);var e=this._readableState,r=t;if(0!==t&&(e.emittedReadable=!1),0===t&&e.needReadable&&((0!==e.highWaterMark?e.length>=e.highWaterMark:e.length>0)||e.ended))return c(\"read: emitReadable\",e.length,e.ended),0===e.length&&e.ended?B(this):L(this),null;if(0===(t=E(t,e))&&e.ended)return 0===e.length&&B(this),null;var n,i=e.needReadable;return c(\"need readable\",i),(0===e.length||e.length-t<e.highWaterMark)&&c(\"length less than watermark\",i=!0),e.ended||e.reading?c(\"reading or ended\",i=!1):i&&(c(\"do read\"),e.reading=!0,e.sync=!0,0===e.length&&(e.needReadable=!0),this._read(e.highWaterMark),e.sync=!1,e.reading||(t=E(r,e))),null===(n=t>0?F(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&&B(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 n=this,i=this._readableState;switch(i.pipesCount){case 0:i.pipes=t;break;case 1:i.pipes=[i.pipes,t];break;default:i.pipes.push(t)}i.pipesCount+=1,c(\"pipe count=%d opts=%j\",i.pipesCount,e);var o=(!e||!1!==e.end)&&t!==r.stdout&&t!==r.stderr?l:g;function s(e,r){c(\"onunpipe\"),e===n&&r&&!1===r.hasUnpiped&&(r.hasUnpiped=!0,c(\"cleanup\"),t.removeListener(\"close\",d),t.removeListener(\"finish\",m),t.removeListener(\"drain\",u),t.removeListener(\"error\",p),t.removeListener(\"unpipe\",s),n.removeListener(\"end\",l),n.removeListener(\"end\",g),n.removeListener(\"data\",h),f=!0,!i.awaitDrain||t._writableState&&!t._writableState.needDrain||u())}function l(){c(\"onend\"),t.end()}i.endEmitted?r.nextTick(o):n.once(\"end\",o),t.on(\"unpipe\",s);var u=function(t){return function(){var e=t._readableState;c(\"pipeOnDrain\",e.awaitDrain),e.awaitDrain&&e.awaitDrain--,0===e.awaitDrain&&a(t,\"data\")&&(e.flowing=!0,R(t))}}(n);t.on(\"drain\",u);var f=!1;function h(e){c(\"ondata\");var r=t.write(e);c(\"dest.write\",r),!1===r&&((1===i.pipesCount&&i.pipes===t||i.pipesCount>1&&-1!==j(i.pipes,t))&&!f&&(c(\"false write response, pause\",i.awaitDrain),i.awaitDrain++),n.pause())}function p(e){c(\"onerror\",e),g(),t.removeListener(\"error\",p),0===a(t,\"error\")&&w(t,e)}function d(){t.removeListener(\"finish\",m),g()}function m(){c(\"onfinish\"),t.removeListener(\"close\",d),g()}function g(){c(\"unpipe\"),n.unpipe(t)}return n.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\",p),t.once(\"close\",d),t.once(\"finish\",m),t.emit(\"pipe\",n),i.flowing||(c(\"pipe resume\"),n.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;a<i;a++)n[a].emit(\"unpipe\",this,{hasUnpiped:!1});return this}var o=j(e.pipes,t);return-1===o||(e.pipes.splice(o,1),e.pipesCount-=1,1===e.pipesCount&&(e.pipes=e.pipes[0]),t.emit(\"unpipe\",this,r)),this},A.prototype.on=function(t,e){var n=o.prototype.on.call(this,t,e),i=this._readableState;return\"data\"===t?(i.readableListening=this.listenerCount(\"readable\")>0,!1!==i.flowing&&this.resume()):\"readable\"===t&&(i.endEmitted||i.readableListening||(i.readableListening=i.needReadable=!0,i.flowing=!1,i.emittedReadable=!1,c(\"on readable\",i.length,i.reading),i.length?L(this):i.reading||r.nextTick(z,this))),n},A.prototype.addListener=A.prototype.on,A.prototype.removeListener=function(t,e){var n=o.prototype.removeListener.call(this,t,e);return\"readable\"===t&&r.nextTick(O,this),n},A.prototype.removeAllListeners=function(t){var e=o.prototype.removeAllListeners.apply(this,arguments);return\"readable\"!==t&&void 0!==t||r.nextTick(O,this),e},A.prototype.resume=function(){var t=this._readableState;return t.flowing||(c(\"resume\"),t.flowing=!t.readableListening,function(t,e){e.resumeScheduled||(e.resumeScheduled=!0,r.nextTick(D,t,e))}(this,t)),t.paused=!1,this},A.prototype.pause=function(){return c(\"call pause flowing=%j\",this._readableState.flowing),!1!==this._readableState.flowing&&(c(\"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(c(\"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){(c(\"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 a=0;a<T.length;a++)t.on(T[a],this.emit.bind(this,T[a]));return this._read=function(e){c(\"wrapped _read\",e),n&&(n=!1,t.resume())},this},\"function\"==typeof Symbol&&(A.prototype[Symbol.asyncIterator]=function(){return void 0===h&&(h=t(\"./internal/streams/async_iterator\")),h(this)}),Object.defineProperty(A.prototype,\"readableHighWaterMark\",{enumerable:!1,get:function(){return this._readableState.highWaterMark}}),Object.defineProperty(A.prototype,\"readableBuffer\",{enumerable:!1,get:function(){return this._readableState&&this._readableState.buffer}}),Object.defineProperty(A.prototype,\"readableFlowing\",{enumerable:!1,get:function(){return this._readableState.flowing},set:function(t){this._readableState&&(this._readableState.flowing=t)}}),A._fromList=F,Object.defineProperty(A.prototype,\"readableLength\",{enumerable:!1,get:function(){return this._readableState.length}}),\"function\"==typeof Symbol&&(A.from=function(e,r){return void 0===p&&(p=t(\"./internal/streams/from\")),p(A,e,r)})}).call(this)}).call(this,t(\"_process\"),\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{\"../errors\":286,\"./_stream_duplex\":287,\"./internal/streams/async_iterator\":292,\"./internal/streams/buffer_list\":293,\"./internal/streams/destroy\":294,\"./internal/streams/from\":296,\"./internal/streams/state\":298,\"./internal/streams/stream\":299,_process:277,buffer:85,events:84,inherits:231,\"string_decoder/\":300,util:83}],290:[function(t,e,r){\"use strict\";e.exports=u;var n=t(\"../errors\").codes,i=n.ERR_METHOD_NOT_IMPLEMENTED,a=n.ERR_MULTIPLE_CALLBACK,o=n.ERR_TRANSFORM_ALREADY_TRANSFORMING,s=n.ERR_TRANSFORM_WITH_LENGTH_0,l=t(\"./_stream_duplex\");function c(t,e){var r=this._transformState;r.transforming=!1;var n=r.writecb;if(null===n)return this.emit(\"error\",new a);r.writechunk=null,r.writecb=null,null!=e&&this.push(e),n(t);var i=this._readableState;i.reading=!1,(i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}function u(t){if(!(this instanceof u))return new u(t);l.call(this,t),this._transformState={afterTransform:c.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this._readableState.needReadable=!0,this._readableState.sync=!1,t&&(\"function\"==typeof t.transform&&(this._transform=t.transform),\"function\"==typeof t.flush&&(this._flush=t.flush)),this.on(\"prefinish\",f)}function f(){var t=this;\"function\"!=typeof this._flush||this._readableState.destroyed?h(this,null,null):this._flush((function(e,r){h(t,e,r)}))}function h(t,e,r){if(e)return t.emit(\"error\",e);if(null!=r&&t.push(r),t._writableState.length)throw new s;if(t._transformState.transforming)throw new o;return t.push(null)}t(\"inherits\")(u,l),u.prototype.push=function(t,e){return this._transformState.needTransform=!1,l.prototype.push.call(this,t,e)},u.prototype._transform=function(t,e,r){r(new i(\"_transform()\"))},u.prototype._write=function(t,e,r){var n=this._transformState;if(n.writecb=r,n.writechunk=t,n.writeencoding=e,!n.transforming){var i=this._readableState;(n.needTransform||i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}},u.prototype._read=function(t){var e=this._transformState;null===e.writechunk||e.transforming?e.needTransform=!0:(e.transforming=!0,this._transform(e.writechunk,e.writeencoding,e.afterTransform))},u.prototype._destroy=function(t,e){l.prototype._destroy.call(this,t,(function(t){e(t)}))}},{\"../errors\":286,\"./_stream_duplex\":287,inherits:231}],291:[function(t,e,r){(function(r,n){(function(){\"use strict\";function i(t){var e=this;this.next=null,this.entry=null,this.finish=function(){!function(t,e,r){var n=t.entry;t.entry=null;for(;n;){var i=n.callback;e.pendingcb--,i(r),n=n.next}e.corkedRequestsFree.next=t}(e,t)}}var a;e.exports=A,A.WritableState=k;var o={deprecate:t(\"util-deprecate\")},s=t(\"./internal/streams/stream\"),l=t(\"buffer\").Buffer,c=n.Uint8Array||function(){};var u,f=t(\"./internal/streams/destroy\"),h=t(\"./internal/streams/state\").getHighWaterMark,p=t(\"../errors\").codes,d=p.ERR_INVALID_ARG_TYPE,m=p.ERR_METHOD_NOT_IMPLEMENTED,g=p.ERR_MULTIPLE_CALLBACK,v=p.ERR_STREAM_CANNOT_PIPE,y=p.ERR_STREAM_DESTROYED,x=p.ERR_STREAM_NULL_VALUES,b=p.ERR_STREAM_WRITE_AFTER_END,_=p.ERR_UNKNOWN_ENCODING,w=f.errorOrDestroy;function T(){}function k(e,n,o){a=a||t(\"./_stream_duplex\"),e=e||{},\"boolean\"!=typeof o&&(o=n instanceof a),this.objectMode=!!e.objectMode,o&&(this.objectMode=this.objectMode||!!e.writableObjectMode),this.highWaterMark=h(this,e,\"writableHighWaterMark\",o),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var s=!1===e.decodeStrings;this.decodeStrings=!s,this.defaultEncoding=e.defaultEncoding||\"utf8\",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(t){!function(t,e){var n=t._writableState,i=n.sync,a=n.writecb;if(\"function\"!=typeof a)throw new g;if(function(t){t.writing=!1,t.writecb=null,t.length-=t.writelen,t.writelen=0}(n),e)!function(t,e,n,i,a){--e.pendingcb,n?(r.nextTick(a,i),r.nextTick(P,t,e),t._writableState.errorEmitted=!0,w(t,i)):(a(i),t._writableState.errorEmitted=!0,w(t,i),P(t,e))}(t,n,i,e,a);else{var o=L(n)||t.destroyed;o||n.corked||n.bufferProcessing||!n.bufferedRequest||E(t,n),i?r.nextTick(S,t,n,o,a):S(t,n,o,a)}}(n,t)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=!1!==e.emitClose,this.autoDestroy=!!e.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new i(this)}function A(e){var r=this instanceof(a=a||t(\"./_stream_duplex\"));if(!r&&!u.call(A,this))return new A(e);this._writableState=new k(e,this,r),this.writable=!0,e&&(\"function\"==typeof e.write&&(this._write=e.write),\"function\"==typeof e.writev&&(this._writev=e.writev),\"function\"==typeof e.destroy&&(this._destroy=e.destroy),\"function\"==typeof e.final&&(this._final=e.final)),s.call(this)}function M(t,e,r,n,i,a,o){e.writelen=n,e.writecb=o,e.writing=!0,e.sync=!0,e.destroyed?e.onwrite(new y(\"write\")):r?t._writev(i,e.onwrite):t._write(i,a,e.onwrite),e.sync=!1}function S(t,e,r,n){r||function(t,e){0===e.length&&e.needDrain&&(e.needDrain=!1,t.emit(\"drain\"))}(t,e),e.pendingcb--,n(),P(t,e)}function E(t,e){e.bufferProcessing=!0;var r=e.bufferedRequest;if(t._writev&&r&&r.next){var n=e.bufferedRequestCount,a=new Array(n),o=e.corkedRequestsFree;o.entry=r;for(var s=0,l=!0;r;)a[s]=r,r.isBuf||(l=!1),r=r.next,s+=1;a.allBuffers=l,M(t,e,!0,e.length,a,\"\",o.finish),e.pendingcb++,e.lastBufferedRequest=null,o.next?(e.corkedRequestsFree=o.next,o.next=null):e.corkedRequestsFree=new i(e),e.bufferedRequestCount=0}else{for(;r;){var c=r.chunk,u=r.encoding,f=r.callback;if(M(t,e,!1,e.objectMode?1:c.length,c,u,f),r=r.next,e.bufferedRequestCount--,e.writing)break}null===r&&(e.lastBufferedRequest=null)}e.bufferedRequest=r,e.bufferProcessing=!1}function L(t){return t.ending&&0===t.length&&null===t.bufferedRequest&&!t.finished&&!t.writing}function C(t,e){t._final((function(r){e.pendingcb--,r&&w(t,r),e.prefinished=!0,t.emit(\"prefinish\"),P(t,e)}))}function P(t,e){var n=L(e);if(n&&(function(t,e){e.prefinished||e.finalCalled||(\"function\"!=typeof t._final||e.destroyed?(e.prefinished=!0,t.emit(\"prefinish\")):(e.pendingcb++,e.finalCalled=!0,r.nextTick(C,t,e)))}(t,e),0===e.pendingcb&&(e.finished=!0,t.emit(\"finish\"),e.autoDestroy))){var i=t._readableState;(!i||i.autoDestroy&&i.endEmitted)&&t.destroy()}return n}t(\"inherits\")(A,s),k.prototype.getBuffer=function(){for(var t=this.bufferedRequest,e=[];t;)e.push(t),t=t.next;return e},function(){try{Object.defineProperty(k.prototype,\"buffer\",{get:o.deprecate((function(){return this.getBuffer()}),\"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.\",\"DEP0003\")})}catch(t){}}(),\"function\"==typeof Symbol&&Symbol.hasInstance&&\"function\"==typeof Function.prototype[Symbol.hasInstance]?(u=Function.prototype[Symbol.hasInstance],Object.defineProperty(A,Symbol.hasInstance,{value:function(t){return!!u.call(this,t)||this===A&&(t&&t._writableState instanceof k)}})):u=function(t){return t instanceof this},A.prototype.pipe=function(){w(this,new v)},A.prototype.write=function(t,e,n){var i,a=this._writableState,o=!1,s=!a.objectMode&&(i=t,l.isBuffer(i)||i instanceof c);return s&&!l.isBuffer(t)&&(t=function(t){return l.from(t)}(t)),\"function\"==typeof e&&(n=e,e=null),s?e=\"buffer\":e||(e=a.defaultEncoding),\"function\"!=typeof n&&(n=T),a.ending?function(t,e){var n=new b;w(t,n),r.nextTick(e,n)}(this,n):(s||function(t,e,n,i){var a;return null===n?a=new x:\"string\"==typeof n||e.objectMode||(a=new d(\"chunk\",[\"string\",\"Buffer\"],n)),!a||(w(t,a),r.nextTick(i,a),!1)}(this,a,t,n))&&(a.pendingcb++,o=function(t,e,r,n,i,a){if(!r){var o=function(t,e,r){t.objectMode||!1===t.decodeStrings||\"string\"!=typeof e||(e=l.from(e,r));return e}(e,n,i);n!==o&&(r=!0,i=\"buffer\",n=o)}var s=e.objectMode?1:n.length;e.length+=s;var c=e.length<e.highWaterMark;c||(e.needDrain=!0);if(e.writing||e.corked){var u=e.lastBufferedRequest;e.lastBufferedRequest={chunk:n,encoding:i,isBuf:r,callback:a,next:null},u?u.next=e.lastBufferedRequest:e.bufferedRequest=e.lastBufferedRequest,e.bufferedRequestCount+=1}else M(t,e,!1,s,n,i,a);return c}(this,a,s,t,e,n)),o},A.prototype.cork=function(){this._writableState.corked++},A.prototype.uncork=function(){var t=this._writableState;t.corked&&(t.corked--,t.writing||t.corked||t.bufferProcessing||!t.bufferedRequest||E(this,t))},A.prototype.setDefaultEncoding=function(t){if(\"string\"==typeof t&&(t=t.toLowerCase()),!([\"hex\",\"utf8\",\"utf-8\",\"ascii\",\"binary\",\"base64\",\"ucs2\",\"ucs-2\",\"utf16le\",\"utf-16le\",\"raw\"].indexOf((t+\"\").toLowerCase())>-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 m(\"_write()\"))},A.prototype._writev=null,A.prototype.end=function(t,e,n){var i=this._writableState;return\"function\"==typeof t?(n=t,t=null,e=null):\"function\"==typeof e&&(n=e,e=null),null!=t&&this.write(t,e),i.corked&&(i.corked=1,this.uncork()),i.ending||function(t,e,n){e.ending=!0,P(t,e),n&&(e.finished?r.nextTick(n):t.once(\"finish\",n));e.ended=!0,t.writable=!1}(this,i,n),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)}}).call(this)}).call(this,t(\"_process\"),\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{\"../errors\":286,\"./_stream_duplex\":287,\"./internal/streams/destroy\":294,\"./internal/streams/state\":298,\"./internal/streams/stream\":299,_process:277,buffer:85,inherits:231,\"util-deprecate\":330}],292:[function(t,e,r){(function(r){(function(){\"use strict\";var n;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}var a=t(\"./end-of-stream\"),o=Symbol(\"lastResolve\"),s=Symbol(\"lastReject\"),l=Symbol(\"error\"),c=Symbol(\"ended\"),u=Symbol(\"lastPromise\"),f=Symbol(\"handlePromise\"),h=Symbol(\"stream\");function p(t,e){return{value:t,done:e}}function d(t){var e=t[o];if(null!==e){var r=t[h].read();null!==r&&(t[u]=null,t[o]=null,t[s]=null,e(p(r,!1)))}}function m(t){r.nextTick(d,t)}var g=Object.getPrototypeOf((function(){})),v=Object.setPrototypeOf((i(n={get stream(){return this[h]},next:function(){var t=this,e=this[l];if(null!==e)return Promise.reject(e);if(this[c])return Promise.resolve(p(void 0,!0));if(this[h].destroyed)return new Promise((function(e,n){r.nextTick((function(){t[l]?n(t[l]):e(p(void 0,!0))}))}));var n,i=this[u];if(i)n=new Promise(function(t,e){return function(r,n){t.then((function(){e[c]?r(p(void 0,!0)):e[f](r,n)}),n)}}(i,this));else{var a=this[h].read();if(null!==a)return Promise.resolve(p(a,!1));n=new Promise(this[f])}return this[u]=n,n}},Symbol.asyncIterator,(function(){return this})),i(n,\"return\",(function(){var t=this;return new Promise((function(e,r){t[h].destroy(null,(function(t){t?r(t):e(p(void 0,!0))}))}))})),n),g);e.exports=function(t){var e,r=Object.create(v,(i(e={},h,{value:t,writable:!0}),i(e,o,{value:null,writable:!0}),i(e,s,{value:null,writable:!0}),i(e,l,{value:null,writable:!0}),i(e,c,{value:t._readableState.endEmitted,writable:!0}),i(e,f,{value:function(t,e){var n=r[h].read();n?(r[u]=null,r[o]=null,r[s]=null,t(p(n,!1))):(r[o]=t,r[s]=e)},writable:!0}),e));return r[u]=null,a(t,(function(t){if(t&&\"ERR_STREAM_PREMATURE_CLOSE\"!==t.code){var e=r[s];return null!==e&&(r[u]=null,r[o]=null,r[s]=null,e(t)),void(r[l]=t)}var n=r[o];null!==n&&(r[u]=null,r[o]=null,r[s]=null,n(p(void 0,!0))),r[c]=!0})),t.on(\"readable\",m.bind(null,r)),r}}).call(this)}).call(this,t(\"_process\"))},{\"./end-of-stream\":295,_process:277}],293:[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;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}var o=t(\"buffer\").Buffer,s=t(\"util\").inspect,l=s&&s.custom||\"inspect\";e.exports=function(){function t(){!function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,t),this.head=null,this.tail=null,this.length=0}var e,r,c;return e=t,(r=[{key:\"push\",value:function(t){var e={data:t,next:null};this.length>0?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 t<this.head.data.length?(r=this.head.data.slice(0,t),this.head.data=this.head.data.slice(t)):r=t===this.head.data.length?this.shift():e?this._getString(t):this._getBuffer(t),r}},{key:\"first\",value:function(){return this.head.data}},{key:\"_getString\",value:function(t){var e=this.head,r=1,n=e.data;for(t-=n.length;e=e.next;){var i=e.data,a=t>i.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;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?n(Object(r),!0).forEach((function(e){i(t,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):n(Object(r)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}))}return t}({},e,{depth:0,customInspect:!1}))}}])&&a(e.prototype,r),c&&a(e,c),t}()},{buffer:85,util:83}],294:[function(t,e,r){(function(t){(function(){\"use strict\";function r(t,e){i(t,e),n(t)}function n(t){t._writableState&&!t._writableState.emitClose||t._readableState&&!t._readableState.emitClose||t.emit(\"close\")}function i(t,e){t.emit(\"error\",e)}e.exports={destroy:function(e,a){var o=this,s=this._readableState&&this._readableState.destroyed,l=this._writableState&&this._writableState.destroyed;return s||l?(a?a(e):e&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,t.nextTick(i,this,e)):t.nextTick(i,this,e)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(e||null,(function(e){!a&&e?o._writableState?o._writableState.errorEmitted?t.nextTick(n,o):(o._writableState.errorEmitted=!0,t.nextTick(r,o,e)):t.nextTick(r,o,e):a?(t.nextTick(n,o),a(e)):t.nextTick(n,o)})),this)},undestroy:function(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)},errorOrDestroy:function(t,e){var r=t._readableState,n=t._writableState;r&&r.autoDestroy||n&&n.autoDestroy?t.destroy(e):t.emit(\"error\",e)}}}).call(this)}).call(this,t(\"_process\"))},{_process:277}],295:[function(t,e,r){\"use strict\";var n=t(\"../../../errors\").codes.ERR_STREAM_PREMATURE_CLOSE;function i(){}e.exports=function t(e,r,a){if(\"function\"==typeof r)return t(e,null,r);r||(r={}),a=function(t){var e=!1;return function(){if(!e){e=!0;for(var r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];t.apply(this,n)}}}(a||i);var o=r.readable||!1!==r.readable&&e.readable,s=r.writable||!1!==r.writable&&e.writable,l=function(){e.writable||u()},c=e._writableState&&e._writableState.finished,u=function(){s=!1,c=!0,o||a.call(e)},f=e._readableState&&e._readableState.endEmitted,h=function(){o=!1,f=!0,s||a.call(e)},p=function(t){a.call(e,t)},d=function(){var t;return o&&!f?(e._readableState&&e._readableState.ended||(t=new n),a.call(e,t)):s&&!c?(e._writableState&&e._writableState.ended||(t=new n),a.call(e,t)):void 0},m=function(){e.req.on(\"finish\",u)};return!function(t){return t.setHeader&&\"function\"==typeof t.abort}(e)?s&&!e._writableState&&(e.on(\"end\",l),e.on(\"close\",l)):(e.on(\"complete\",u),e.on(\"abort\",d),e.req?m():e.on(\"request\",m)),e.on(\"end\",h),e.on(\"finish\",u),!1!==r.error&&e.on(\"error\",p),e.on(\"close\",d),function(){e.removeListener(\"complete\",u),e.removeListener(\"abort\",d),e.removeListener(\"request\",m),e.req&&e.req.removeListener(\"finish\",u),e.removeListener(\"end\",l),e.removeListener(\"close\",l),e.removeListener(\"finish\",u),e.removeListener(\"end\",h),e.removeListener(\"error\",p),e.removeListener(\"close\",d)}}},{\"../../../errors\":286}],296:[function(t,e,r){e.exports=function(){throw new Error(\"Readable.from is not available in the browser\")}},{}],297:[function(t,e,r){\"use strict\";var n;var i=t(\"../../../errors\").codes,a=i.ERR_MISSING_ARGS,o=i.ERR_STREAM_DESTROYED;function s(t){if(t)throw t}function l(e,r,i,a){a=function(t){var e=!1;return function(){e||(e=!0,t.apply(void 0,arguments))}}(a);var s=!1;e.on(\"close\",(function(){s=!0})),void 0===n&&(n=t(\"./end-of-stream\")),n(e,{readable:r,writable:i},(function(t){if(t)return a(t);s=!0,a()}));var l=!1;return function(t){if(!s&&!l)return l=!0,function(t){return t.setHeader&&\"function\"==typeof t.abort}(e)?e.abort():\"function\"==typeof e.destroy?e.destroy():void a(t||new o(\"pipe\"))}}function c(t){t()}function u(t,e){return t.pipe(e)}function f(t){return t.length?\"function\"!=typeof t[t.length-1]?s:t.pop():s}e.exports=function(){for(var t=arguments.length,e=new Array(t),r=0;r<t;r++)e[r]=arguments[r];var n,i=f(e);if(Array.isArray(e[0])&&(e=e[0]),e.length<2)throw new a(\"streams\");var o=e.map((function(t,r){var a=r<e.length-1;return l(t,a,r>0,(function(t){n||(n=t),t&&o.forEach(c),a||(o.forEach(c),i(n))}))}));return e.reduce(u)}},{\"../../../errors\":286,\"./end-of-stream\":295}],298:[function(t,e,r){\"use strict\";var n=t(\"../../../errors\").codes.ERR_INVALID_OPT_VALUE;e.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}}},{\"../../../errors\":286}],299:[function(t,e,r){e.exports=t(\"events\").EventEmitter},{events:84}],300:[function(t,e,r){\"use strict\";var n=t(\"safe-buffer\").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=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,\"\\ufffd\";if(t.lastNeed>1&&e.length>1){if(128!=(192&e[1]))return t.lastNeed=1,\"\\ufffd\";if(t.lastNeed>2&&e.length>2&&128!=(192&e[2]))return t.lastNeed=2,\"\\ufffd\"}}(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 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):\"\"}r.StringDecoder=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<t.length?e?e+this.text(t,r):this.text(t,r):e||\"\"},a.prototype.end=function(t){var e=t&&t.length?this.write(t):\"\";return this.lastNeed?e+\"\\ufffd\":e},a.prototype.text=function(t,e){var r=function(t,e,r){var n=e.length-1;if(n<r)return 0;var i=o(e[n]);if(i>=0)return i>0&&(t.lastNeed=i-1),i;if(--n<r||-2===i)return 0;if((i=o(e[n]))>=0)return i>0&&(t.lastNeed=i-2),i;if(--n<r||-2===i)return 0;if((i=o(e[n]))>=0)return i>0&&(2===i?i=0:t.lastNeed=i-3),i;return 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}},{\"safe-buffer\":284}],301:[function(t,e,r){(function(r,n){(function(){var r=t(\"assert\"),i=t(\"debug\")(\"stream-parser\");e.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=o,t._skipBytes=s,e&&(t._passthrough=l);e?t._transform=u:t._write=c};function a(t){i(\"initializing parser stream\"),t._parserBytesLeft=0,t._parserBuffers=[],t._parserBuffered=0,t._parserState=-1,t._parserCallback=null,\"function\"==typeof t.push&&(t._parserOutput=t.push.bind(t)),t._parserInit=!0}function o(t,e){r(!this._parserCallback,'there is already a \"callback\" set!'),r(isFinite(t)&&t>0,'can only buffer a finite number of bytes > 0, got \"'+t+'\"'),this._parserInit||a(this),i(\"buffering %o bytes\",t),this._parserBytesLeft=t,this._parserCallback=e,this._parserState=0}function s(t,e){r(!this._parserCallback,'there is already a \"callback\" set!'),r(t>0,'can only skip > 0 bytes, got \"'+t+'\"'),this._parserInit||a(this),i(\"skipping %o bytes\",t),this._parserBytesLeft=t,this._parserCallback=e,this._parserState=1}function l(t,e){r(!this._parserCallback,'There is already a \"callback\" set!'),r(t>0,'can only pass through > 0 bytes, got \"'+t+'\"'),this._parserInit||a(this),i(\"passing through %o bytes\",t),this._parserBytesLeft=t,this._parserCallback=e,this._parserState=2}function c(t,e,r){this._parserInit||a(this),i(\"write(%o bytes)\",t.length),\"function\"==typeof e&&(r=e),h(this,t,null,r)}function u(t,e,r){this._parserInit||a(this),i(\"transform(%o bytes)\",t.length),\"function\"!=typeof e&&(e=this._parserOutput),h(this,t,e,r)}function f(t,e,r,a){if(t._parserBytesLeft-=e.length,i(\"%o bytes left for stream piece\",t._parserBytesLeft),0===t._parserState?(t._parserBuffers.push(e),t._parserBuffered+=e.length):2===t._parserState&&r(e),0!==t._parserBytesLeft)return a;var o=t._parserCallback;if(o&&0===t._parserState&&t._parserBuffers.length>1&&(e=n.concat(t._parserBuffers,t._parserBuffered)),0!==t._parserState&&(e=null),t._parserCallback=null,t._parserBuffered=0,t._parserState=-1,t._parserBuffers.splice(0),o){var s=[];e&&s.push(e),r&&s.push(r);var l=o.length>s.length;l&&s.push(p(a));var c=o.apply(t,s);if(!l||a===c)return a}}var h=p((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 f(e,r,n,i)}:function(){var a=r.slice(0,e._parserBytesLeft);return f(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 p(t){return function(){for(var e=t.apply(this,arguments);\"function\"==typeof e;)e=e();return e}}}).call(this)}).call(this,t(\"_process\"),t(\"buffer\").Buffer)},{_process:277,assert:75,buffer:85,debug:302}],302:[function(t,e,r){(function(n){(function(){function i(){var t;try{t=r.storage.debug}catch(t){}return!t&&void 0!==n&&\"env\"in n&&(t=n.env.DEBUG),t}(r=e.exports=t(\"./debug\")).log=function(){return\"object\"==typeof console&&console.log&&Function.prototype.apply.call(console.log,console,arguments)},r.formatArgs=function(t){var e=this.useColors;if(t[0]=(e?\"%c\":\"\")+this.namespace+(e?\" %c\":\" \")+t[0]+(e?\"%c \":\" \")+\"+\"+r.humanize(this.diff),!e)return;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)},r.save=function(t){try{null==t?r.storage.removeItem(\"debug\"):r.storage.debug=t}catch(t){}},r.load=i,r.useColors=function(){if(\"undefined\"!=typeof window&&window.process&&\"renderer\"===window.process.type)return!0;return\"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+)/)},r.storage=\"undefined\"!=typeof chrome&&void 0!==chrome.storage?chrome.storage.local:function(){try{return window.localStorage}catch(t){}}(),r.colors=[\"lightseagreen\",\"forestgreen\",\"goldenrod\",\"dodgerblue\",\"darkorchid\",\"crimson\"],r.formatters.j=function(t){try{return JSON.stringify(t)}catch(t){return\"[UnexpectedJSONParseError]: \"+t.message}},r.enable(i())}).call(this)}).call(this,t(\"_process\"))},{\"./debug\":303,_process:277}],303:[function(t,e,r){var n;function i(t){function e(){if(e.enabled){var t=e,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;s<o.length;s++)o[s]=arguments[s];o[0]=r.coerce(o[0]),\"string\"!=typeof o[0]&&o.unshift(\"%O\");var l=0;o[0]=o[0].replace(/%([a-zA-Z%])/g,(function(e,n){if(\"%%\"===e)return e;l++;var i=r.formatters[n];if(\"function\"==typeof i){var a=o[l];e=i.call(t,a),o.splice(l,1),l--}return e})),r.formatArgs.call(t,o);var c=e.log||r.log||console.log.bind(console);c.apply(t,o)}}return e.namespace=t,e.enabled=r.enabled(t),e.useColors=r.useColors(),e.color=function(t){var e,n=0;for(e in t)n=(n<<5)-n+t.charCodeAt(e),n|=0;return r.colors[Math.abs(n)%r.colors.length]}(t),\"function\"==typeof r.init&&r.init(e),e}(r=e.exports=i.debug=i.default=i).coerce=function(t){return t instanceof Error?t.stack||t.message:t},r.disable=function(){r.enable(\"\")},r.enable=function(t){r.save(t),r.names=[],r.skips=[];for(var e=(\"string\"==typeof t?t:\"\").split(/[\\s,]+/),n=e.length,i=0;i<n;i++)e[i]&&(\"-\"===(t=e[i].replace(/\\*/g,\".*?\"))[0]?r.skips.push(new RegExp(\"^\"+t.substr(1)+\"$\")):r.names.push(new RegExp(\"^\"+t+\"$\")))},r.enabled=function(t){var e,n;for(e=0,n=r.skips.length;e<n;e++)if(r.skips[e].test(t))return!1;for(e=0,n=r.names.length;e<n;e++)if(r.names[e].test(t))return!0;return!1},r.humanize=t(\"ms\"),r.names=[],r.skips=[],r.formatters={}},{ms:304}],304:[function(t,e,r){var n=1e3,i=6e4,a=60*i,o=24*a;function s(t,e,r){if(!(t<e))return t<1.5*e?Math.floor(t/e)+\" \"+r:Math.ceil(t/e)+\" \"+r+\"s\"}e.exports=function(t,e){e=e||{};var r,l=typeof t;if(\"string\"===l&&t.length>0)return function(t){if((t=String(t)).length>100)return;var e=/^((?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(t);if(!e)return;var r=parseFloat(e[1]);switch((e[2]||\"ms\").toLowerCase()){case\"years\":case\"year\":case\"yrs\":case\"yr\":case\"y\":return 315576e5*r;case\"days\":case\"day\":case\"d\":return r*o;case\"hours\":case\"hour\":case\"hrs\":case\"hr\":case\"h\":return r*a;case\"minutes\":case\"minute\":case\"mins\":case\"min\":case\"m\":return r*i;case\"seconds\":case\"second\":case\"secs\":case\"sec\":case\"s\":return r*n;case\"milliseconds\":case\"millisecond\":case\"msecs\":case\"msec\":case\"ms\":return r;default:return}}(t);if(\"number\"===l&&!1===isNaN(t))return e.long?s(r=t,o,\"day\")||s(r,a,\"hour\")||s(r,i,\"minute\")||s(r,n,\"second\")||r+\" ms\":function(t){if(t>=o)return Math.round(t/o)+\"d\";if(t>=a)return Math.round(t/a)+\"h\";if(t>=i)return Math.round(t/i)+\"m\";if(t>=n)return Math.round(t/n)+\"s\";return t+\"ms\"}(t);throw new Error(\"val is not a non-empty string or a valid number. val=\"+JSON.stringify(t))}},{}],305:[function(t,e,r){\"use strict\";var n=t(\"parenthesis\");e.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=[\"[]\",\"()\",\"{}\",\"<>\",'\"\"',\"''\",\"``\",\"\\u201c\\u201d\",\"\\xab\\xbb\"]:(\"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;s<a.length;s++){var l=a[s],c=a[s+1];\"\\\\\"===l[l.length-1]&&\"\\\\\"!==l[l.length-2]?(o.push(l+e+c),s++):o.push(l)}a=o}for(s=0;s<a.length;s++)i[0]=a[s],a[s]=n.stringify(i,{flat:!0});return a}},{parenthesis:248}],306:[function(t,e,r){\"use strict\";e.exports=function(t){for(var e=t.length,r=new Array(e),n=new Array(e),i=new Array(e),a=new Array(e),o=new Array(e),s=new Array(e),l=0;l<e;++l)r[l]=-1,n[l]=0,i[l]=!1,a[l]=0,o[l]=-1,s[l]=[];var c,u=0,f=[],h=[];function p(e){var l=[e],c=[e];for(r[e]=n[e]=u,i[e]=!0,u+=1;c.length>0;){e=c[c.length-1];var p=t[e];if(a[e]<p.length){for(var d=a[e];d<p.length;++d){var m=p[d];if(r[m]<0){r[m]=n[m]=u,i[m]=!0,u+=1,l.push(m),c.push(m);break}i[m]&&(n[e]=0|Math.min(n[e],n[m])),o[m]>=0&&s[e].push(o[m])}a[e]=d}else{if(n[e]===r[e]){var g=[],v=[],y=0;for(d=l.length-1;d>=0;--d){var x=l[d];if(i[x]=!1,g.push(x),v.push(s[x]),y+=s[x].length,o[x]=f.length,x===e){l.length=d;break}}f.push(g);var b=new Array(y);for(d=0;d<v.length;d++)for(var _=0;_<v[d].length;_++)b[--y]=v[d][_];h.push(b)}c.pop()}}}for(l=0;l<e;++l)r[l]<0&&p(l);for(l=0;l<h.length;l++){var d=h[l];if(0!==d.length){d.sort((function(t,e){return t-e})),c=[d[0]];for(var m=1;m<d.length;m++)d[m]!==d[m-1]&&c.push(d[m]);h[l]=c}}return{components:f,adjacencyList:h}}},{}],307:[function(t,e,r){\"use strict\";Object.defineProperty(r,\"__esModule\",{value:!0});var n=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\")},i=2*Math.PI,a=function(t,e,r,n,i,a,o){var s=t.x,l=t.y;return{x:n*(s*=e)-i*(l*=r)+a,y:i*s+n*l+o}},o=function(t,e){var r=1.5707963267948966===e?.551915024494:-1.5707963267948966===e?-.551915024494:4/3*Math.tan(e/4),n=Math.cos(t),i=Math.sin(t),a=Math.cos(t+e),o=Math.sin(t+e);return[{x:n-i*r,y:i+n*r},{x:a+o*r,y:o-a*r},{x:a,y:o}]},s=function(t,e,r,n){var i=t*r+e*n;return i>1&&(i=1),i<-1&&(i=-1),(t*n-e*r<0?-1:1)*Math.acos(i)};r.default=function(t){var e=t.px,r=t.py,l=t.cx,c=t.cy,u=t.rx,f=t.ry,h=t.xAxisRotation,p=void 0===h?0:h,d=t.largeArcFlag,m=void 0===d?0:d,g=t.sweepFlag,v=void 0===g?0:g,y=[];if(0===u||0===f)return[];var x=Math.sin(p*i/360),b=Math.cos(p*i/360),_=b*(e-l)/2+x*(r-c)/2,w=-x*(e-l)/2+b*(r-c)/2;if(0===_&&0===w)return[];u=Math.abs(u),f=Math.abs(f);var T=Math.pow(_,2)/Math.pow(u,2)+Math.pow(w,2)/Math.pow(f,2);T>1&&(u*=Math.sqrt(T),f*=Math.sqrt(T));var k=function(t,e,r,n,a,o,l,c,u,f,h,p){var d=Math.pow(a,2),m=Math.pow(o,2),g=Math.pow(h,2),v=Math.pow(p,2),y=d*m-d*v-m*g;y<0&&(y=0),y/=d*v+m*g;var x=(y=Math.sqrt(y)*(l===c?-1:1))*a/o*p,b=y*-o/a*h,_=f*x-u*b+(t+r)/2,w=u*x+f*b+(e+n)/2,T=(h-x)/a,k=(p-b)/o,A=(-h-x)/a,M=(-p-b)/o,S=s(1,0,T,k),E=s(T,k,A,M);return 0===c&&E>0&&(E-=i),1===c&&E<0&&(E+=i),[_,w,S,E]}(e,r,l,c,u,f,m,v,x,b,_,w),A=n(k,4),M=A[0],S=A[1],E=A[2],L=A[3],C=Math.abs(L)/(i/4);Math.abs(1-C)<1e-7&&(C=1);var P=Math.max(Math.ceil(C),1);L/=P;for(var I=0;I<P;I++)y.push(o(E,L)),E+=L;return y.map((function(t){var e=a(t[0],u,f,b,x,M,S),r=e.x,n=e.y,i=a(t[1],u,f,b,x,M,S),o=i.x,s=i.y,l=a(t[2],u,f,b,x,M,S);return{x1:r,y1:n,x2:o,y2:s,x:l.x,y:l.y}}))},e.exports=r.default},{}],308:[function(t,e,r){\"use strict\";var n=t(\"parse-svg-path\"),i=t(\"abs-svg-path\"),a=t(\"normalize-svg-path\"),o=t(\"is-svg-path\"),s=t(\"assert\");e.exports=function(t){Array.isArray(t)&&1===t.length&&\"string\"==typeof t[0]&&(t=t[0]);\"string\"==typeof t&&(s(o(t),\"String is not an SVG path.\"),t=n(t));if(s(Array.isArray(t),\"Argument should be a string or an array of path segments.\"),t=i(t),!(t=a(t)).length)return[0,0,0,0];for(var e=[1/0,1/0,-1/0,-1/0],r=0,l=t.length;r<l;r++)for(var c=t[r].slice(1),u=0;u<c.length;u+=2)c[u+0]<e[0]&&(e[0]=c[u+0]),c[u+1]<e[1]&&(e[1]=c[u+1]),c[u+0]>e[2]&&(e[2]=c[u+0]),c[u+1]>e[3]&&(e[3]=c[u+1]);return e}},{\"abs-svg-path\":70,assert:75,\"is-svg-path\":238,\"normalize-svg-path\":309,\"parse-svg-path\":250}],309:[function(t,e,r){\"use strict\";e.exports=function(t){for(var e,r=[],o=0,s=0,l=0,c=0,u=null,f=null,h=0,p=0,d=0,m=t.length;d<m;d++){var g=t[d],v=g[0];switch(v){case\"M\":l=g[1],c=g[2];break;case\"A\":var y=n({px:h,py:p,cx:g[6],cy:g[7],rx:g[1],ry:g[2],xAxisRotation:g[3],largeArcFlag:g[4],sweepFlag:g[5]});if(!y.length)continue;for(var x,b=0;b<y.length;b++)x=y[b],g=[\"C\",x.x1,x.y1,x.x2,x.y2,x.x,x.y],b<y.length-1&&r.push(g);break;case\"S\":var _=h,w=p;\"C\"!=e&&\"S\"!=e||(_+=_-o,w+=w-s),g=[\"C\",_,w,g[1],g[2],g[3],g[4]];break;case\"T\":\"Q\"==e||\"T\"==e?(u=2*h-u,f=2*p-f):(u=h,f=p),g=a(h,p,u,f,g[1],g[2]);break;case\"Q\":u=g[1],f=g[2],g=a(h,p,g[1],g[2],g[3],g[4]);break;case\"L\":g=i(h,p,g[1],g[2]);break;case\"H\":g=i(h,p,g[1],p);break;case\"V\":g=i(h,p,h,g[1]);break;case\"Z\":g=i(h,p,l,c)}e=v,h=g[g.length-2],p=g[g.length-1],g.length>4?(o=g[g.length-4],s=g[g.length-3]):(o=h,s=p),r.push(g)}return r};var n=t(\"svg-arc-to-cubic-bezier\");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]}},{\"svg-arc-to-cubic-bezier\":307}],310:[function(t,e,r){\"use strict\";var n,i=t(\"svg-path-bounds\"),a=t(\"parse-svg-path\"),o=t(\"draw-svg-path\"),s=t(\"is-svg-path\"),l=t(\"bitmap-sdf\"),c=document.createElement(\"canvas\"),u=c.getContext(\"2d\");e.exports=function(t,e){if(!s(t))throw Error(\"Argument should be valid svg path string\");e||(e={});var r,f;e.shape?(r=e.shape[0],f=e.shape[1]):(r=c.width=e.w||e.width||200,f=c.height=e.h||e.height||200);var h=Math.min(r,f),p=e.stroke||0,d=e.viewbox||e.viewBox||i(t),m=[r/(d[2]-d[0]),f/(d[3]-d[1])],g=Math.min(m[0]||0,m[1]||0)/2;u.fillStyle=\"black\",u.fillRect(0,0,r,f),u.fillStyle=\"white\",p&&(\"number\"!=typeof p&&(p=1),u.strokeStyle=p>0?\"white\":\"black\",u.lineWidth=Math.abs(p));if(u.translate(.5*r,.5*f),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 v=new Path2D(t);u.fill(v),p&&u.stroke(v)}else{var y=a(t);o(u,y),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*h})}},{\"bitmap-sdf\":82,\"draw-svg-path\":126,\"is-svg-path\":238,\"parse-svg-path\":250,\"svg-path-bounds\":308}],311:[function(t,e,r){(function(e,n){(function(){var i=t(\"process/browser.js\").nextTick,a=Function.prototype.apply,o=Array.prototype.slice,s={},l=0;function c(t,e){this._id=t,this._clearFn=e}r.setTimeout=function(){return new c(a.call(setTimeout,window,arguments),clearTimeout)},r.setInterval=function(){return new c(a.call(setInterval,window,arguments),clearInterval)},r.clearTimeout=r.clearInterval=function(t){t.close()},c.prototype.unref=c.prototype.ref=function(){},c.prototype.close=function(){this._clearFn.call(window,this._id)},r.enroll=function(t,e){clearTimeout(t._idleTimeoutId),t._idleTimeout=e},r.unenroll=function(t){clearTimeout(t._idleTimeoutId),t._idleTimeout=-1},r._unrefActive=r.active=function(t){clearTimeout(t._idleTimeoutId);var e=t._idleTimeout;e>=0&&(t._idleTimeoutId=setTimeout((function(){t._onTimeout&&t._onTimeout()}),e))},r.setImmediate=\"function\"==typeof e?e:function(t){var e=l++,n=!(arguments.length<2)&&o.call(arguments,1);return s[e]=!0,i((function(){s[e]&&(n?t.apply(null,n):t.call(null),r.clearImmediate(e))})),e},r.clearImmediate=\"function\"==typeof n?n:function(t){delete s[t]}}).call(this)}).call(this,t(\"timers\").setImmediate,t(\"timers\").clearImmediate)},{\"process/browser.js\":277,timers:311}],312:[function(t,e,r){!function(t){var r=/^\\s+/,n=/\\s+$/,i=0,a=t.round,o=t.min,s=t.max,l=t.random;function c(e,l){if(l=l||{},(e=e||\"\")instanceof c)return e;if(!(this instanceof c))return new c(e,l);var u=function(e){var i={r:0,g:0,b:0},a=1,l=null,c=null,u=null,f=!1,h=!1;\"string\"==typeof e&&(e=function(t){t=t.replace(r,\"\").replace(n,\"\").toLowerCase();var e,i=!1;if(S[t])t=S[t],i=!0;else if(\"transparent\"==t)return{r:0,g:0,b:0,a:0,format:\"name\"};if(e=j.rgb.exec(t))return{r:e[1],g:e[2],b:e[3]};if(e=j.rgba.exec(t))return{r:e[1],g:e[2],b:e[3],a:e[4]};if(e=j.hsl.exec(t))return{h:e[1],s:e[2],l:e[3]};if(e=j.hsla.exec(t))return{h:e[1],s:e[2],l:e[3],a:e[4]};if(e=j.hsv.exec(t))return{h:e[1],s:e[2],v:e[3]};if(e=j.hsva.exec(t))return{h:e[1],s:e[2],v:e[3],a:e[4]};if(e=j.hex8.exec(t))return{r:I(e[1]),g:I(e[2]),b:I(e[3]),a:R(e[4]),format:i?\"name\":\"hex8\"};if(e=j.hex6.exec(t))return{r:I(e[1]),g:I(e[2]),b:I(e[3]),format:i?\"name\":\"hex\"};if(e=j.hex4.exec(t))return{r:I(e[1]+\"\"+e[1]),g:I(e[2]+\"\"+e[2]),b:I(e[3]+\"\"+e[3]),a:R(e[4]+\"\"+e[4]),format:i?\"name\":\"hex8\"};if(e=j.hex3.exec(t))return{r:I(e[1]+\"\"+e[1]),g:I(e[2]+\"\"+e[2]),b:I(e[3]+\"\"+e[3]),format:i?\"name\":\"hex\"};return!1}(e));\"object\"==typeof e&&(U(e.r)&&U(e.g)&&U(e.b)?(p=e.r,d=e.g,m=e.b,i={r:255*C(p,255),g:255*C(d,255),b:255*C(m,255)},f=!0,h=\"%\"===String(e.r).substr(-1)?\"prgb\":\"rgb\"):U(e.h)&&U(e.s)&&U(e.v)?(l=z(e.s),c=z(e.v),i=function(e,r,n){e=6*C(e,360),r=C(r,100),n=C(n,100);var i=t.floor(e),a=e-i,o=n*(1-r),s=n*(1-a*r),l=n*(1-(1-a)*r),c=i%6;return{r:255*[n,s,o,o,l,n][c],g:255*[l,n,n,s,o,o][c],b:255*[o,o,l,n,n,s][c]}}(e.h,l,c),f=!0,h=\"hsv\"):U(e.h)&&U(e.s)&&U(e.l)&&(l=z(e.s),u=z(e.l),i=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=C(t,360),e=C(e,100),r=C(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}}(e.h,l,u),f=!0,h=\"hsl\"),e.hasOwnProperty(\"a\")&&(a=e.a));var p,d,m;return a=L(a),{ok:f,format:e.format||h,r:o(255,s(i.r,0)),g:o(255,s(i.g,0)),b:o(255,s(i.b,0)),a:a}}(e);this._originalInput=e,this._r=u.r,this._g=u.g,this._b=u.b,this._a=u.a,this._roundA=a(100*this._a)/100,this._format=l.format||u.format,this._gradientType=l.gradientType,this._r<1&&(this._r=a(this._r)),this._g<1&&(this._g=a(this._g)),this._b<1&&(this._b=a(this._b)),this._ok=u.ok,this._tc_id=i++}function u(t,e,r){t=C(t,255),e=C(e,255),r=C(r,255);var n,i,a=s(t,e,r),l=o(t,e,r),c=(a+l)/2;if(a==l)n=i=0;else{var u=a-l;switch(i=c>.5?u/(2-a-l):u/(a+l),a){case t:n=(e-r)/u+(e<r?6:0);break;case e:n=(r-t)/u+2;break;case r:n=(t-e)/u+4}n/=6}return{h:n,s:i,l:c}}function f(t,e,r){t=C(t,255),e=C(e,255),r=C(r,255);var n,i,a=s(t,e,r),l=o(t,e,r),c=a,u=a-l;if(i=0===a?0:u/a,a==l)n=0;else{switch(a){case t:n=(e-r)/u+(e<r?6:0);break;case e:n=(r-t)/u+2;break;case r:n=(t-e)/u+4}n/=6}return{h:n,s:i,v:c}}function h(t,e,r,n){var i=[O(a(t).toString(16)),O(a(e).toString(16)),O(a(r).toString(16))];return n&&i[0].charAt(0)==i[0].charAt(1)&&i[1].charAt(0)==i[1].charAt(1)&&i[2].charAt(0)==i[2].charAt(1)?i[0].charAt(0)+i[1].charAt(0)+i[2].charAt(0):i.join(\"\")}function p(t,e,r,n){return[O(D(n)),O(a(t).toString(16)),O(a(e).toString(16)),O(a(r).toString(16))].join(\"\")}function d(t,e){e=0===e?0:e||10;var r=c(t).toHsl();return r.s-=e/100,r.s=P(r.s),c(r)}function m(t,e){e=0===e?0:e||10;var r=c(t).toHsl();return r.s+=e/100,r.s=P(r.s),c(r)}function g(t){return c(t).desaturate(100)}function v(t,e){e=0===e?0:e||10;var r=c(t).toHsl();return r.l+=e/100,r.l=P(r.l),c(r)}function y(t,e){e=0===e?0:e||10;var r=c(t).toRgb();return r.r=s(0,o(255,r.r-a(-e/100*255))),r.g=s(0,o(255,r.g-a(-e/100*255))),r.b=s(0,o(255,r.b-a(-e/100*255))),c(r)}function x(t,e){e=0===e?0:e||10;var r=c(t).toHsl();return r.l-=e/100,r.l=P(r.l),c(r)}function b(t,e){var r=c(t).toHsl(),n=(r.h+e)%360;return r.h=n<0?360+n:n,c(r)}function _(t){var e=c(t).toHsl();return e.h=(e.h+180)%360,c(e)}function w(t){var e=c(t).toHsl(),r=e.h;return[c(t),c({h:(r+120)%360,s:e.s,l:e.l}),c({h:(r+240)%360,s:e.s,l:e.l})]}function T(t){var e=c(t).toHsl(),r=e.h;return[c(t),c({h:(r+90)%360,s:e.s,l:e.l}),c({h:(r+180)%360,s:e.s,l:e.l}),c({h:(r+270)%360,s:e.s,l:e.l})]}function k(t){var e=c(t).toHsl(),r=e.h;return[c(t),c({h:(r+72)%360,s:e.s,l:e.l}),c({h:(r+216)%360,s:e.s,l:e.l})]}function A(t,e,r){e=e||6,r=r||30;var n=c(t).toHsl(),i=360/r,a=[c(t)];for(n.h=(n.h-(i*e>>1)+720)%360;--e;)n.h=(n.h+i)%360,a.push(c(n));return a}function M(t,e){e=e||6;for(var r=c(t).toHsv(),n=r.h,i=r.s,a=r.v,o=[],s=1/e;e--;)o.push(c({h:n,s:i,v:a})),a=(a+s)%1;return o}c.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 e,r,n,i=this.toRgb();return e=i.r/255,r=i.g/255,n=i.b/255,.2126*(e<=.03928?e/12.92:t.pow((e+.055)/1.055,2.4))+.7152*(r<=.03928?r/12.92:t.pow((r+.055)/1.055,2.4))+.0722*(n<=.03928?n/12.92:t.pow((n+.055)/1.055,2.4))},setAlpha:function(t){return this._a=L(t),this._roundA=a(100*this._a)/100,this},toHsv:function(){var t=f(this._r,this._g,this._b);return{h:360*t.h,s:t.s,v:t.v,a:this._a}},toHsvString:function(){var t=f(this._r,this._g,this._b),e=a(360*t.h),r=a(100*t.s),n=a(100*t.v);return 1==this._a?\"hsv(\"+e+\", \"+r+\"%, \"+n+\"%)\":\"hsva(\"+e+\", \"+r+\"%, \"+n+\"%, \"+this._roundA+\")\"},toHsl:function(){var t=u(this._r,this._g,this._b);return{h:360*t.h,s:t.s,l:t.l,a:this._a}},toHslString:function(){var t=u(this._r,this._g,this._b),e=a(360*t.h),r=a(100*t.s),n=a(100*t.l);return 1==this._a?\"hsl(\"+e+\", \"+r+\"%, \"+n+\"%)\":\"hsla(\"+e+\", \"+r+\"%, \"+n+\"%, \"+this._roundA+\")\"},toHex:function(t){return h(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 o=[O(a(t).toString(16)),O(a(e).toString(16)),O(a(r).toString(16)),O(D(n))];if(i&&o[0].charAt(0)==o[0].charAt(1)&&o[1].charAt(0)==o[1].charAt(1)&&o[2].charAt(0)==o[2].charAt(1)&&o[3].charAt(0)==o[3].charAt(1))return o[0].charAt(0)+o[1].charAt(0)+o[2].charAt(0)+o[3].charAt(0);return o.join(\"\")}(this._r,this._g,this._b,this._a,t)},toHex8String:function(t){return\"#\"+this.toHex8(t)},toRgb:function(){return{r:a(this._r),g:a(this._g),b:a(this._b),a:this._a}},toRgbString:function(){return 1==this._a?\"rgb(\"+a(this._r)+\", \"+a(this._g)+\", \"+a(this._b)+\")\":\"rgba(\"+a(this._r)+\", \"+a(this._g)+\", \"+a(this._b)+\", \"+this._roundA+\")\"},toPercentageRgb:function(){return{r:a(100*C(this._r,255))+\"%\",g:a(100*C(this._g,255))+\"%\",b:a(100*C(this._b,255))+\"%\",a:this._a}},toPercentageRgbString:function(){return 1==this._a?\"rgb(\"+a(100*C(this._r,255))+\"%, \"+a(100*C(this._g,255))+\"%, \"+a(100*C(this._b,255))+\"%)\":\"rgba(\"+a(100*C(this._r,255))+\"%, \"+a(100*C(this._g,255))+\"%, \"+a(100*C(this._b,255))+\"%, \"+this._roundA+\")\"},toName:function(){return 0===this._a?\"transparent\":!(this._a<1)&&(E[h(this._r,this._g,this._b,!0)]||!1)},toFilter:function(t){var e=\"#\"+p(this._r,this._g,this._b,this._a),r=e,n=this._gradientType?\"GradientType = 1, \":\"\";if(t){var i=c(t);r=\"#\"+p(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 c(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(v,arguments)},brighten:function(){return this._applyModification(y,arguments)},darken:function(){return this._applyModification(x,arguments)},desaturate:function(){return this._applyModification(d,arguments)},saturate:function(){return this._applyModification(m,arguments)},greyscale:function(){return this._applyModification(g,arguments)},spin:function(){return this._applyModification(b,arguments)},_applyCombination:function(t,e){return t.apply(null,[this].concat([].slice.call(e)))},analogous:function(){return this._applyCombination(A,arguments)},complement:function(){return this._applyCombination(_,arguments)},monochromatic:function(){return this._applyCombination(M,arguments)},splitcomplement:function(){return this._applyCombination(k,arguments)},triad:function(){return this._applyCombination(w,arguments)},tetrad:function(){return this._applyCombination(T,arguments)}},c.fromRatio=function(t,e){if(\"object\"==typeof t){var r={};for(var n in t)t.hasOwnProperty(n)&&(r[n]=\"a\"===n?t[n]:z(t[n]));t=r}return c(t,e)},c.equals=function(t,e){return!(!t||!e)&&c(t).toRgbString()==c(e).toRgbString()},c.random=function(){return c.fromRatio({r:l(),g:l(),b:l()})},c.mix=function(t,e,r){r=0===r?0:r||50;var n=c(t).toRgb(),i=c(e).toRgb(),a=r/100;return c({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})},c.readability=function(e,r){var n=c(e),i=c(r);return(t.max(n.getLuminance(),i.getLuminance())+.05)/(t.min(n.getLuminance(),i.getLuminance())+.05)},c.isReadable=function(t,e,r){var n,i,a=c.readability(t,e);switch(i=!1,(n=function(t){var e,r;e=((t=t||{level:\"AA\",size:\"small\"}).level||\"AA\").toUpperCase(),r=(t.size||\"small\").toLowerCase(),\"AA\"!==e&&\"AAA\"!==e&&(e=\"AA\");\"small\"!==r&&\"large\"!==r&&(r=\"small\");return{level:e,size:r}}(r)).level+n.size){case\"AAsmall\":case\"AAAlarge\":i=a>=4.5;break;case\"AAlarge\":i=a>=3;break;case\"AAAsmall\":i=a>=7}return i},c.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;u<e.length;u++)(n=c.readability(t,e[u]))>l&&(l=n,s=c(e[u]));return c.isReadable(t,s,{level:a,size:o})||!i?s:(r.includeFallbackColors=!1,c.mostReadable(t,[\"#fff\",\"#000\"],r))};var S=c.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\"},E=c.hexNames=function(t){var e={};for(var r in t)t.hasOwnProperty(r)&&(e[t[r]]=r);return e}(S);function L(t){return t=parseFloat(t),(isNaN(t)||t<0||t>1)&&(t=1),t}function C(e,r){(function(t){return\"string\"==typeof t&&-1!=t.indexOf(\".\")&&1===parseFloat(t)})(e)&&(e=\"100%\");var n=function(t){return\"string\"==typeof t&&-1!=t.indexOf(\"%\")}(e);return e=o(r,s(0,parseFloat(e))),n&&(e=parseInt(e*r,10)/100),t.abs(e-r)<1e-6?1:e%r/parseFloat(r)}function P(t){return o(1,s(0,t))}function I(t){return parseInt(t,16)}function O(t){return 1==t.length?\"0\"+t:\"\"+t}function z(t){return t<=1&&(t=100*t+\"%\"),t}function D(e){return t.round(255*parseFloat(e)).toString(16)}function R(t){return I(t)/255}var F,B,N,j=(B=\"[\\\\s|\\\\(]+(\"+(F=\"(?:[-\\\\+]?\\\\d*\\\\.\\\\d+%?)|(?:[-\\\\+]?\\\\d+%?)\")+\")[,|\\\\s]+(\"+F+\")[,|\\\\s]+(\"+F+\")\\\\s*\\\\)?\",N=\"[\\\\s|\\\\(]+(\"+F+\")[,|\\\\s]+(\"+F+\")[,|\\\\s]+(\"+F+\")[,|\\\\s]+(\"+F+\")\\\\s*\\\\)?\",{CSS_UNIT:new RegExp(F),rgb:new RegExp(\"rgb\"+B),rgba:new RegExp(\"rgba\"+N),hsl:new RegExp(\"hsl\"+B),hsla:new RegExp(\"hsla\"+N),hsv:new RegExp(\"hsv\"+B),hsva:new RegExp(\"hsva\"+N),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 U(t){return!!j.CSS_UNIT.exec(t)}void 0!==e&&e.exports?e.exports=c:window.tinycolor=c}(Math)},{}],313:[function(t,e,r){\"use strict\";e.exports=i,e.exports.float32=e.exports.float=i,e.exports.fract32=e.exports.fract=function(t,e){if(t.length){if(t instanceof Float32Array)return new Float32Array(t.length);e instanceof Float32Array||(e=i(t));for(var r=0,n=e.length;r<n;r++)e[r]=t[r]-e[r];return e}return i(t-i(t))};var n=new Float32Array(1);function i(t){return t.length?t instanceof Float32Array?t:new Float32Array(t):(n[0]=t,n[0])}},{}],314:[function(t,e,r){\"use strict\";var n=t(\"parse-unit\");e.exports=a;function i(t,e){var r=n(getComputedStyle(t).getPropertyValue(e));return r[0]*a(r[1],t)}function a(t,e){switch(e=e||document.body,t=(t||\"px\").trim().toLowerCase(),e!==window&&e!==document||(e=document.body),t){case\"%\":return e.clientHeight/100;case\"ch\":case\"ex\":return function(t,e){var r=document.createElement(\"div\");r.style[\"font-size\"]=\"128\"+t,e.appendChild(r);var n=i(r,\"font-size\")/128;return e.removeChild(r),n}(t,e);case\"em\":return i(e,\"font-size\");case\"rem\":return i(document.body,\"font-size\");case\"vw\":return window.innerWidth/100;case\"vh\":return window.innerHeight/100;case\"vmin\":return Math.min(window.innerWidth,window.innerHeight)/100;case\"vmax\":return Math.max(window.innerWidth,window.innerHeight)/100;case\"in\":return 96;case\"cm\":return 96/2.54;case\"mm\":return 96/25.4;case\"pt\":return 96/72;case\"pc\":return 16}return 1}},{\"parse-unit\":251}],315:[function(t,e,r){!function(t,n){\"object\"==typeof r&&void 0!==e?n(r):n((t=t||self).topojson=t.topojson||{})}(this,(function(t){\"use strict\";function e(t){return t}function r(t){if(null==t)return e;var r,n,i=t.scale[0],a=t.scale[1],o=t.translate[0],s=t.translate[1];return function(t,e){e||(r=n=0);var l=2,c=t.length,u=new Array(c);for(u[0]=(r+=t[0])*i+o,u[1]=(n+=t[1])*a+s;l<c;)u[l]=t[l],++l;return u}}function n(t){var e,n=r(t.transform),i=1/0,a=i,o=-i,s=-i;function l(t){(t=n(t))[0]<i&&(i=t[0]),t[0]>o&&(o=t[0]),t[1]<a&&(a=t[1]),t[1]>s&&(s=t[1])}function c(t){switch(t.type){case\"GeometryCollection\":t.geometries.forEach(c);break;case\"Point\":l(t.coordinates);break;case\"MultiPoint\":t.coordinates.forEach(l)}}for(e in t.arcs.forEach((function(t){for(var e,r=-1,l=t.length;++r<l;)(e=n(t[r],r))[0]<i&&(i=e[0]),e[0]>o&&(o=e[0]),e[1]<a&&(a=e[1]),e[1]>s&&(s=e[1])})),t.objects)c(t.objects[e]);return[i,a,o,s]}function i(t,e){var r=e.id,n=e.bbox,i=null==e.properties?{}:e.properties,o=a(t,e);return null==r&&null==n?{type:\"Feature\",properties:i,geometry:o}:null==n?{type:\"Feature\",id:r,properties:i,geometry:o}:{type:\"Feature\",id:r,bbox:n,properties:i,geometry:o}}function a(t,e){var n=r(t.transform),i=t.arcs;function a(t,e){e.length&&e.pop();for(var r=i[t<0?~t:t],a=0,o=r.length;a<o;++a)e.push(n(r[a],a));t<0&&function(t,e){for(var r,n=t.length,i=n-e;i<--n;)r=t[i],t[i++]=t[n],t[n]=r}(e,o)}function o(t){return n(t)}function s(t){for(var e=[],r=0,n=t.length;r<n;++r)a(t[r],e);return e.length<2&&e.push(e[0]),e}function l(t){for(var e=s(t);e.length<4;)e.push(e[0]);return e}function c(t){return t.map(l)}return function t(e){var r,n=e.type;switch(n){case\"GeometryCollection\":return{type:n,geometries:e.geometries.map(t)};case\"Point\":r=o(e.coordinates);break;case\"MultiPoint\":r=e.coordinates.map(o);break;case\"LineString\":r=s(e.arcs);break;case\"MultiLineString\":r=e.arcs.map(s);break;case\"Polygon\":r=c(e.arcs);break;case\"MultiPolygon\":r=e.arcs.map(c);break;default:return null}return{type:n,coordinates:r}}(e)}function o(t,e){var r={},n={},i={},a=[],o=-1;function s(t,e){for(var n in t){var i=t[n];delete e[i.start],delete i.start,delete i.end,i.forEach((function(t){r[t<0?~t:t]=1})),a.push(i)}}return e.forEach((function(r,n){var i,a=t.arcs[r<0?~r:r];a.length<3&&!a[1][0]&&!a[1][1]&&(i=e[++o],e[o]=r,e[n]=i)})),e.forEach((function(e){var r,a,o=function(e){var r,n=t.arcs[e<0?~e:e],i=n[0];t.transform?(r=[0,0],n.forEach((function(t){r[0]+=t[0],r[1]+=t[1]}))):r=n[n.length-1];return e<0?[r,i]:[i,r]}(e),s=o[0],l=o[1];if(r=i[s])if(delete i[r.end],r.push(e),r.end=l,a=n[l]){delete n[a.start];var c=a===r?r:r.concat(a);n[c.start=r.start]=i[c.end=a.end]=c}else n[r.start]=i[r.end]=r;else if(r=n[l])if(delete n[r.start],r.unshift(e),r.start=s,a=i[s]){delete i[a.end];var u=a===r?r:a.concat(r);n[u.start=a.start]=i[u.end=r.end]=u}else n[r.start]=i[r.end]=r;else n[(r=[e]).start=s]=i[r.end=l]=r})),s(i,n),s(n,i),e.forEach((function(t){r[t<0?~t:t]||a.push([t])})),a}function s(t,e,r){var n,i,a;if(arguments.length>1)n=l(t,e,r);else for(i=0,n=new Array(a=t.arcs.length);i<a;++i)n[i]=i;return{type:\"MultiLineString\",arcs:o(t,n)}}function l(t,e,r){var n,i=[],a=[];function o(t){var e=t<0?~t:t;(a[e]||(a[e]=[])).push({i:t,g:n})}function s(t){t.forEach(o)}function l(t){t.forEach(s)}return function t(e){switch(n=e,e.type){case\"GeometryCollection\":e.geometries.forEach(t);break;case\"LineString\":s(e.arcs);break;case\"MultiLineString\":case\"Polygon\":l(e.arcs);break;case\"MultiPolygon\":!function(t){t.forEach(l)}(e.arcs)}}(e),a.forEach(null==r?function(t){i.push(t[0].i)}:function(t){r(t[0].g,t[t.length-1].g)&&i.push(t[0].i)}),i}function c(t,e){var r={},n=[],i=[];function s(t){t.forEach((function(e){e.forEach((function(e){(r[e=e<0?~e:e]||(r[e]=[])).push(t)}))})),n.push(t)}function l(e){return function(t){for(var e,r=-1,n=t.length,i=t[n-1],a=0;++r<n;)e=i,i=t[r],a+=e[0]*i[1]-e[1]*i[0];return Math.abs(a)}(a(t,{type:\"Polygon\",arcs:[e]}).coordinates[0])}return e.forEach((function t(e){switch(e.type){case\"GeometryCollection\":e.geometries.forEach(t);break;case\"Polygon\":s(e.arcs);break;case\"MultiPolygon\":e.arcs.forEach(s)}})),n.forEach((function(t){if(!t._){var e=[],n=[t];for(t._=1,i.push(e);t=n.pop();)e.push(t),t.forEach((function(t){t.forEach((function(t){r[t<0?~t:t].forEach((function(t){t._||(t._=1,n.push(t))}))}))}))}})),n.forEach((function(t){delete t._})),{type:\"MultiPolygon\",arcs:i.map((function(e){var n,i=[];if(e.forEach((function(t){t.forEach((function(t){t.forEach((function(t){r[t<0?~t:t].length<2&&i.push(t)}))}))})),(n=(i=o(t,i)).length)>1)for(var a,s,c=1,u=l(i[0]);c<n;++c)(a=l(i[c]))>u&&(s=i[0],i[0]=i[c],i[c]=s,u=a);return i})).filter((function(t){return t.length>0}))}}function u(t,e){for(var r=0,n=t.length;r<n;){var i=r+n>>>1;t[i]<e?r=i+1:n=i}return r}function f(t){if(null==t)return e;var r,n,i=t.scale[0],a=t.scale[1],o=t.translate[0],s=t.translate[1];return function(t,e){e||(r=n=0);var l=2,c=t.length,u=new Array(c),f=Math.round((t[0]-o)/i),h=Math.round((t[1]-s)/a);for(u[0]=f-r,r=f,u[1]=h-n,n=h;l<c;)u[l]=t[l],++l;return u}}t.bbox=n,t.feature=function(t,e){return\"string\"==typeof e&&(e=t.objects[e]),\"GeometryCollection\"===e.type?{type:\"FeatureCollection\",features:e.geometries.map((function(e){return i(t,e)}))}:i(t,e)},t.merge=function(t){return a(t,c.apply(this,arguments))},t.mergeArcs=c,t.mesh=function(t){return a(t,s.apply(this,arguments))},t.meshArcs=s,t.neighbors=function(t){var e={},r=t.map((function(){return[]}));function n(t,r){t.forEach((function(t){t<0&&(t=~t);var n=e[t];n?n.push(r):e[t]=[r]}))}function i(t,e){t.forEach((function(t){n(t,e)}))}var a={LineString:n,MultiLineString:i,Polygon:i,MultiPolygon:function(t,e){t.forEach((function(t){i(t,e)}))}};for(var o in t.forEach((function t(e,r){\"GeometryCollection\"===e.type?e.geometries.forEach((function(e){t(e,r)})):e.type in a&&a[e.type](e.arcs,r)})),e)for(var s=e[o],l=s.length,c=0;c<l;++c)for(var f=c+1;f<l;++f){var h,p=s[c],d=s[f];(h=r[p])[o=u(h,d)]!==d&&h.splice(o,0,d),(h=r[d])[o=u(h,p)]!==p&&h.splice(o,0,p)}return r},t.quantize=function(t,e){if(t.transform)throw new Error(\"already quantized\");if(e&&e.scale)l=t.bbox;else{if(!((r=Math.floor(e))>=2))throw new Error(\"n must be \\u22652\");var r,i=(l=t.bbox||n(t))[0],a=l[1],o=l[2],s=l[3];e={scale:[o-i?(o-i)/(r-1):1,s-a?(s-a)/(r-1):1],translate:[i,a]}}var l,c,u=f(e),h=t.objects,p={};function d(t){return u(t)}function m(t){var e;switch(t.type){case\"GeometryCollection\":e={type:\"GeometryCollection\",geometries:t.geometries.map(m)};break;case\"Point\":e={type:\"Point\",coordinates:d(t.coordinates)};break;case\"MultiPoint\":e={type:\"MultiPoint\",coordinates:t.coordinates.map(d)};break;default:return t}return null!=t.id&&(e.id=t.id),null!=t.bbox&&(e.bbox=t.bbox),null!=t.properties&&(e.properties=t.properties),e}for(c in h)p[c]=m(h[c]);return{type:\"Topology\",bbox:l,transform:e,objects:p,arcs:t.arcs.map((function(t){var e,r=0,n=1,i=t.length,a=new Array(i);for(a[0]=u(t[0],0);++r<i;)((e=u(t[r],r))[0]||e[1])&&(a[n++]=e);return 1===n&&(a[n++]=[0,0]),a.length=n,a}))}},t.transform=r,t.untransform=f,Object.defineProperty(t,\"__esModule\",{value:!0})}))},{}],316:[function(t,e,r){\"use strict\";var n=t(\"../prototype/is\");e.exports=function(t){if(\"function\"!=typeof t)return!1;if(!hasOwnProperty.call(t,\"length\"))return!1;try{if(\"number\"!=typeof t.length)return!1;if(\"function\"!=typeof t.call)return!1;if(\"function\"!=typeof t.apply)return!1}catch(t){return!1}return!n(t)}},{\"../prototype/is\":323}],317:[function(t,e,r){\"use strict\";var n=t(\"../value/is\"),i=t(\"../object/is\"),a=t(\"../string/coerce\"),o=t(\"./to-short-string\"),s=function(t,e){return t.replace(\"%v\",o(e))};e.exports=function(t,e,r){if(!i(r))throw new TypeError(s(e,t));if(!n(t)){if(\"default\"in r)return r.default;if(r.isOptional)return null}var o=a(r.errorMessage);throw n(o)||(o=e),new TypeError(s(o,t))}},{\"../object/is\":320,\"../string/coerce\":324,\"../value/is\":326,\"./to-short-string\":319}],318:[function(t,e,r){\"use strict\";e.exports=function(t){try{return t.toString()}catch(e){try{return String(t)}catch(t){return null}}}},{}],319:[function(t,e,r){\"use strict\";var n=t(\"./safe-to-string\"),i=/[\\n\\r\\u2028\\u2029]/g;e.exports=function(t){var e=n(t);return null===e?\"<Non-coercible to string value>\":(e.length>100&&(e=e.slice(0,99)+\"\\u2026\"),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\")}})))}},{\"./safe-to-string\":318}],320:[function(t,e,r){\"use strict\";var n=t(\"../value/is\"),i={object:!0,function:!0,undefined:!0};e.exports=function(t){return!!n(t)&&hasOwnProperty.call(i,typeof t)}},{\"../value/is\":326}],321:[function(t,e,r){\"use strict\";var n=t(\"../lib/resolve-exception\"),i=t(\"./is\");e.exports=function(t){return i(t)?t:n(t,\"%v is not a plain function\",arguments[1])}},{\"../lib/resolve-exception\":317,\"./is\":322}],322:[function(t,e,r){\"use strict\";var n=t(\"../function/is\"),i=/^\\s*class[\\s{/}]/,a=Function.prototype.toString;e.exports=function(t){return!!n(t)&&!i.test(a.call(t))}},{\"../function/is\":316}],323:[function(t,e,r){\"use strict\";var n=t(\"../object/is\");e.exports=function(t){if(!n(t))return!1;try{return!!t.constructor&&t.constructor.prototype===t}catch(t){return!1}}},{\"../object/is\":320}],324:[function(t,e,r){\"use strict\";var n=t(\"../value/is\"),i=t(\"../object/is\"),a=Object.prototype.toString;e.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}}},{\"../object/is\":320,\"../value/is\":326}],325:[function(t,e,r){\"use strict\";var n=t(\"../lib/resolve-exception\"),i=t(\"./is\");e.exports=function(t){return i(t)?t:n(t,\"Cannot use %v\",arguments[1])}},{\"../lib/resolve-exception\":317,\"./is\":326}],326:[function(t,e,r){\"use strict\";e.exports=function(t){return null!=t}},{}],327:[function(t,e,r){(function(e){(function(){\"use strict\";var n=t(\"bit-twiddle\"),i=t(\"dup\"),a=t(\"buffer\").Buffer;e.__TYPEDARRAY_POOL||(e.__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=e.__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,f=c.BUFFER;function h(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 v(t){return new Int8Array(p(t),0,t)}function y(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)}r.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);u[r].push(t)}},r.freeUint8=r.freeUint16=r.freeUint32=r.freeBigUint64=r.freeInt8=r.freeInt16=r.freeInt32=r.freeBigInt64=r.freeFloat32=r.freeFloat=r.freeFloat64=r.freeDouble=r.freeUint8Clamped=r.freeDataView=function(t){h(t.buffer)},r.freeArrayBuffer=h,r.freeBuffer=function(t){f[n.log2(t.length)].push(t)},r.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 v(t);case\"int16\":return y(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},r.mallocArrayBuffer=p,r.mallocUint8=d,r.mallocUint16=m,r.mallocUint32=g,r.mallocInt8=v,r.mallocInt16=y,r.mallocInt32=x,r.mallocFloat32=r.mallocFloat=b,r.mallocFloat64=r.mallocDouble=_,r.mallocUint8Clamped=w,r.mallocBigUint64=T,r.mallocBigInt64=k,r.mallocDataView=A,r.mallocBuffer=M,r.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,f[t].length=0}}).call(this)}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{\"bit-twiddle\":81,buffer:85,dup:128}],328:[function(t,e,r){var n=/[\\'\\\"]/;e.exports=function(t){return t?(n.test(t.charAt(0))&&(t=t.substr(1)),n.test(t.charAt(t.length-1))&&(t=t.substr(0,t.length-1)),t):\"\"}},{}],329:[function(t,e,r){\"use strict\";e.exports=function(t,e,r){Array.isArray(r)||(r=[].slice.call(arguments,2));for(var n=0,i=r.length;n<i;n++){var a=r[n];for(var o in a)if((void 0===e[o]||Array.isArray(e[o])||t[o]!==e[o])&&o in e){var s;if(!0===a[o])s=e[o];else{if(!1===a[o])continue;if(\"function\"==typeof a[o]&&void 0===(s=a[o](e[o],t,e)))continue}t[o]=s}}return t}},{}],330:[function(t,e,r){(function(t){(function(){function r(e){try{if(!t.localStorage)return!1}catch(t){return!1}var r=t.localStorage[e];return null!=r&&\"true\"===String(r).toLowerCase()}e.exports=function(t,e){if(r(\"noDeprecation\"))return t;var n=!1;return function(){if(!n){if(r(\"throwDeprecation\"))throw new Error(e);r(\"traceDeprecation\")?console.trace(e):console.warn(e),n=!0}return t.apply(this,arguments)}}}).call(this)}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{}],331:[function(t,e,r){var n=t(\"get-canvas-context\");e.exports=function(t){return n(\"webgl\",t)}},{\"get-canvas-context\":194}],332:[function(t,e,r){var n=t(\"../main\"),i=t(\"object-assign\"),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=[\"\\u4e00\\u6708\",\"\\u4e8c\\u6708\",\"\\u4e09\\u6708\",\"\\u56db\\u6708\",\"\\u4e94\\u6708\",\"\\u516d\\u6708\",\"\\u4e03\\u6708\",\"\\u516b\\u6708\",\"\\u4e5d\\u6708\",\"\\u5341\\u6708\",\"\\u5341\\u4e00\\u6708\",\"\\u5341\\u4e8c\\u6708\"][this.toChineseMonth(r,n)-1];return this.isIntercalaryMonth(r,n)&&(i=\"\\u95f0\"+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=[\"\\u4e00\",\"\\u4e8c\",\"\\u4e09\",\"\\u56db\",\"\\u4e94\",\"\\u516d\",\"\\u4e03\",\"\\u516b\",\"\\u4e5d\",\"\\u5341\",\"\\u5341\\u4e00\",\"\\u5341\\u4e8c\"][this.toChineseMonth(r,n)-1];return this.isIntercalaryMonth(r,n)&&(i=\"\\u95f0\"+i),i},parseMonth:function(t,e){t=this._validateYear(t);var r,n=parseInt(e);if(isNaN(n))\"\\u95f0\"===e[0]&&(r=!0,e=e.substring(1)),\"\\u6708\"===e[e.length-1]&&(e=e.substring(0,e.length-1)),n=1+[\"\\u4e00\",\"\\u4e8c\",\"\\u4e09\",\"\\u56db\",\"\\u4e94\",\"\\u516d\",\"\\u4e03\",\"\\u516b\",\"\\u4e5d\",\"\\u5341\",\"\\u5341\\u4e00\",\"\\u5341\\u4e8c\"].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<r?e+1:e:e+1},intercalaryMonth:function(t){return t=this._validateYear(t),f[t-f[0]]>>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,c=s>>5&15,u=31&s;(i=a.newDate(l,c,u)).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=i||{}),o={year:t,month:e,day:r,isIntercalary:l}}s=o.day-1;var c,u=f[o.year-f[0]],p=u>>13;c=p&&(o.month>p||o.isIntercalary)?o.month:o.month-1;for(var d=0;d<c;d++){s+=u&1<<12-d?30:29}var m=h[o.year-h[0]],g=new Date(m>>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=n||{}}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,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=f[a.year-f[0]];for(p=0;p<13;p++){var m=d&1<<12-p?30:29;if(l<m)break;l-=m}var g=d>>13;!g||p<g?(a.isIntercalary=!1,a.month=1+p):p===g?(a.isIntercalary=!0,a.month=p):(a.isIntercalary=!1,a.month=p);return a.day=1+l,a}(e.year(),e.month(),e.day()),n=this.toMonthIndex(r.year,r.month,r.isIntercalary);return this.newDate(r.year,n,r.day)},fromString:function(t){var e=t.match(s),r=this._validateYear(+e[1]),n=+e[2],i=!!e[3],a=this.toMonthIndex(r,n,i),o=+e[4];return this.newDate(r,a,o)},add:function(t,e,r){var n=t.year(),i=t.month(),a=this.isIntercalaryMonth(n,i),s=this.toChineseMonth(n,i),l=Object.getPrototypeOf(o.prototype).add.call(this,t,e,r);if(\"y\"===r){var c=l.year(),u=l.month(),f=this.isIntercalaryMonth(c,s),h=a&&f?this.toMonthIndex(c,s,!0):this.toMonthIndex(c,s,!1);h!==u&&l.month(h)}return l}});var s=/^\\s*(-?\\d\\d\\d\\d|\\d\\d)[-/](\\d?\\d)([iI]?)[-/](\\d?\\d)/m,l=/^\\d?\\d[iI]?/m,c=/^\\u95f0?\\u5341?[\\u4e00\\u4e8c\\u4e09\\u56db\\u4e94\\u516d\\u4e03\\u516b\\u4e5d]?\\u6708/m,u=/^\\u95f0?\\u5341?[\\u4e00\\u4e8c\\u4e09\\u56db\\u4e94\\u516d\\u4e03\\u516b\\u4e5d]?/m;n.calendars.chinese=o;var f=[1887,5780,5802,19157,2742,50359,1198,2646,46378,7466,3412,30122,5482,67949,2396,5294,43597,6732,6954,36181,2772,4954,18781,2396,54427,5274,6730,47781,5800,6868,21210,4790,59703,2350,5270,46667,3402,3496,38325,1388,4782,18735,2350,52374,6804,7498,44457,2906,1388,29294,4700,63789,6442,6804,56138,5802,2772,38235,1210,4698,22827,5418,63125,3476,5802,43701,2484,5302,27223,2646,70954,7466,3412,54698,5482,2412,38062,5294,2636,32038,6954,60245,2772,4826,43357,2394,5274,39501,6730,72357,5800,5844,53978,4790,2358,38039,5270,87627,3402,3496,54708,5484,4782,43311,2350,3222,27978,7498,68965,2904,5484,45677,4700,6444,39573,6804,6986,19285,2772,62811,1210,4698,47403,5418,5780,38570,5546,76469,2420,5302,51799,2646,5414,36501,3412,5546,18869,2412,54446,5276,6732,48422,6822,2900,28010,4826,92509,2394,5274,55883,6730,6820,47956,5812,2778,18779,2358,62615,5270,5450,46757,3492,5556,27318,4718,67887,2350,3222,52554,7498,3428,38252,5468,4700,31022,6444,64149,6804,6986,43861,2772,5338,35421,2650,70955,5418,5780,54954,5546,2740,38074,5302,2646,29991,3366,61011,3412,5546,43445,2412,5294,35406,6732,72998,6820,6996,52586,2778,2396,38045,5274,6698,23333,6820,64338,5812,2746,43355,2358,5270,39499,5450,79525,3492,5548],h=[1887,966732,967231,967733,968265,968766,969297,969798,970298,970829,971330,971830,972362,972863,973395,973896,974397,974928,975428,975929,976461,976962,977462,977994,978494,979026,979526,980026,980558,981059,981559,982091,982593,983124,983624,984124,984656,985157,985656,986189,986690,987191,987722,988222,988753,989254,989754,990286,990788,991288,991819,992319,992851,993352,993851,994383,994885,995385,995917,996418,996918,997450,997949,998481,998982,999483,1000014,1000515,1001016,1001548,1002047,1002578,1003080,1003580,1004111,1004613,1005113,1005645,1006146,1006645,1007177,1007678,1008209,1008710,1009211,1009743,1010243,1010743,1011275,1011775,1012306,1012807,1013308,1013840,1014341,1014841,1015373,1015874,1016404,1016905,1017405,1017937,1018438,1018939,1019471,1019972,1020471,1021002,1021503,1022035,1022535,1023036,1023568,1024069,1024568,1025100,1025601,1026102,1026633,1027133,1027666,1028167,1028666,1029198,1029699,1030199,1030730,1031231,1031763,1032264,1032764,1033296,1033797,1034297,1034828,1035329,1035830,1036362,1036861,1037393,1037894,1038394,1038925,1039427,1039927,1040459,1040959,1041491,1041992,1042492,1043023,1043524,1044024,1044556,1045057,1045558,1046090,1046590,1047121,1047622,1048122,1048654,1049154,1049655,1050187,1050689,1051219,1051720,1052220,1052751,1053252,1053752,1054284,1054786,1055285,1055817,1056317,1056849,1057349,1057850,1058382,1058883,1059383,1059915,1060415,1060947,1061447,1061947,1062479,1062981,1063480,1064012,1064514,1065014,1065545,1066045,1066577,1067078,1067578,1068110,1068611,1069112,1069642,1070142,1070674,1071175,1071675,1072207,1072709,1073209,1073740,1074241,1074741,1075273,1075773,1076305,1076807,1077308,1077839,1078340,1078840,1079372,1079871,1080403,1080904]},{\"../main\":346,\"object-assign\":247}],333:[function(t,e,r){var n=t(\"../main\"),i=t(\"object-assign\");function a(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}a.prototype=new n.baseCalendar,i(a.prototype,{name:\"Coptic\",jdEpoch:1825029.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:\"Coptic\",epochs:[\"BAM\",\"AM\"],monthNames:[\"Thout\",\"Paopi\",\"Hathor\",\"Koiak\",\"Tobi\",\"Meshir\",\"Paremhat\",\"Paremoude\",\"Pashons\",\"Paoni\",\"Epip\",\"Mesori\",\"Pi Kogi Enavot\"],monthNamesShort:[\"Tho\",\"Pao\",\"Hath\",\"Koi\",\"Tob\",\"Mesh\",\"Pat\",\"Pad\",\"Pash\",\"Pao\",\"Epi\",\"Meso\",\"PiK\"],dayNames:[\"Tkyriaka\",\"Pesnau\",\"Pshoment\",\"Peftoou\",\"Ptiou\",\"Psoou\",\"Psabbaton\"],dayNamesShort:[\"Tky\",\"Pes\",\"Psh\",\"Pef\",\"Pti\",\"Pso\",\"Psa\"],dayNamesMin:[\"Tk\",\"Pes\",\"Psh\",\"Pef\",\"Pt\",\"Pso\",\"Psa\"],digits:null,dateFormat:\"dd/mm/yyyy\",firstDay:0,isRTL:!1}},leapYear:function(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.coptic=a},{\"../main\":346,\"object-assign\":247}],334:[function(t,e,r){var n=t(\"../main\"),i=t(\"object-assign\");function a(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}a.prototype=new n.baseCalendar,i(a.prototype,{name:\"Discworld\",jdEpoch:1721425.5,daysPerMonth:[16,32,32,32,32,32,32,32,32,32,32,32,32],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Discworld\",epochs:[\"BUC\",\"UC\"],monthNames:[\"Ick\",\"Offle\",\"February\",\"March\",\"April\",\"May\",\"June\",\"Grune\",\"August\",\"Spune\",\"Sektober\",\"Ember\",\"December\"],monthNamesShort:[\"Ick\",\"Off\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Gru\",\"Aug\",\"Spu\",\"Sek\",\"Emb\",\"Dec\"],dayNames:[\"Sunday\",\"Octeday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],dayNamesShort:[\"Sun\",\"Oct\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],dayNamesMin:[\"Su\",\"Oc\",\"Mo\",\"Tu\",\"We\",\"Th\",\"Fr\",\"Sa\"],digits:null,dateFormat:\"yyyy/mm/dd\",firstDay:2,isRTL:!1}},leapYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),!1},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),13},daysInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),400},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),\"d\"),Math.floor((n.dayOfYear()-1)/8)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]},daysInWeek:function(){return 8},dayOfWeek:function(t,e,r){return(this._validate(t,e,r,n.local.invalidDate).day()+1)%8},weekDay:function(t,e,r){var n=this.dayOfWeek(t,e,r);return n>=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},{\"../main\":346,\"object-assign\":247}],335:[function(t,e,r){var n=t(\"../main\"),i=t(\"object-assign\");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},{\"../main\":346,\"object-assign\":247}],336:[function(t,e,r){var n=t(\"../main\"),i=t(\"object-assign\");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<e;s++)o+=this.daysInMonth(t,s)}else for(s=7;s<e;s++)o+=this.daysInMonth(t,s);return o},_delay1:function(t){var e=Math.floor((235*t-234)/19),r=12084+13753*e,n=29*e+Math.floor(r/25920);return o(3*(n+1),7)<3&&n++,n},_delay2:function(t){var e=this._delay1(t-1),r=this._delay1(t);return this._delay1(t+1)-r==356?2:r-e==382?1:0},fromJD:function(t){t=Math.floor(t)+.5;for(var e=Math.floor(98496*(t-this.jdEpoch)/35975351)-1;t>=this.toJD(-1===e?1:e+1,7,1);)e++;for(var r=t<this.toJD(e,1,1)?7:1;t>this.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},{\"../main\":346,\"object-assign\":247}],337:[function(t,e,r){var n=t(\"../main\"),i=t(\"object-assign\");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\\u012bs\",\"Yawm al-jum'a\",\"Yawm as-sabt\"],dayNamesShort:[\"Aha\",\"Ith\",\"Thu\",\"Arb\",\"Kha\",\"Jum\",\"Sab\"],dayNamesMin:[\"Ah\",\"It\",\"Th\",\"Ar\",\"Kh\",\"Ju\",\"Sa\"],digits:null,dateFormat:\"yyyy/mm/dd\",firstDay:6,isRTL:!1}},leapYear:function(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},{\"../main\":346,\"object-assign\":247}],338:[function(t,e,r){var n=t(\"../main\"),i=t(\"object-assign\");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},{\"../main\":346,\"object-assign\":247}],339:[function(t,e,r){var n=t(\"../main\"),i=t(\"object-assign\");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;r<t.length;r++){var n=parseInt(t[r],10);if(Math.abs(n)>19||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((t-=this.jdEpoch)+8+340,365);return[Math.floor(e/20)+1,o(e,20)]},_toTzolkin:function(t){return[s((t-=this.jdEpoch)+20,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},{\"../main\":346,\"object-assign\":247}],340:[function(t,e,r){var n=t(\"../main\"),i=t(\"object-assign\");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<i.month();s++)a+=this.daysPerMonth[s-1];return a+o.toJD(t+1468,3,13)},fromJD:function(t){t=Math.floor(t+.5);for(var e=Math.floor((t-(this.jdEpoch-1))/366);t>=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},{\"../main\":346,\"object-assign\":247}],341:[function(t,e,r){var n=t(\"../main\"),i=t(\"object-assign\");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;r<t+2;r++)void 0===this.NEPALI_CALENDAR_DATA[r]&&(this.NEPALI_CALENDAR_DATA[r]=e)},NEPALI_CALENDAR_DATA:{1970:[18,31,31,32,31,31,31,30,29,30,29,30,30],1971:[18,31,31,32,31,32,30,30,29,30,29,30,30],1972:[17,31,32,31,32,31,30,30,30,29,29,30,30],1973:[19,30,32,31,32,31,30,30,30,29,30,29,31],1974:[19,31,31,32,30,31,31,30,29,30,29,30,30],1975:[18,31,31,32,32,30,31,30,29,30,29,30,30],1976:[17,31,32,31,32,31,30,30,30,29,29,30,31],1977:[18,31,32,31,32,31,31,29,30,29,30,29,31],1978:[18,31,31,32,31,31,31,30,29,30,29,30,30],1979:[18,31,31,32,32,31,30,30,29,30,29,30,30],1980:[17,31,32,31,32,31,30,30,30,29,29,30,31],1981:[18,31,31,31,32,31,31,29,30,30,29,30,30],1982:[18,31,31,32,31,31,31,30,29,30,29,30,30],1983:[18,31,31,32,32,31,30,30,29,30,29,30,30],1984:[17,31,32,31,32,31,30,30,30,29,29,30,31],1985:[18,31,31,31,32,31,31,29,30,30,29,30,30],1986:[18,31,31,32,31,31,31,30,29,30,29,30,30],1987:[18,31,32,31,32,31,30,30,29,30,29,30,30],1988:[17,31,32,31,32,31,30,30,30,29,29,30,31],1989:[18,31,31,31,32,31,31,30,29,30,29,30,30],1990:[18,31,31,32,31,31,31,30,29,30,29,30,30],1991:[18,31,32,31,32,31,30,30,29,30,29,30,30],1992:[17,31,32,31,32,31,30,30,30,29,30,29,31],1993:[18,31,31,31,32,31,31,30,29,30,29,30,30],1994:[18,31,31,32,31,31,31,30,29,30,29,30,30],1995:[17,31,32,31,32,31,30,30,30,29,29,30,30],1996:[17,31,32,31,32,31,30,30,30,29,30,29,31],1997:[18,31,31,32,31,31,31,30,29,30,29,30,30],1998:[18,31,31,32,31,31,31,30,29,30,29,30,30],1999:[17,31,32,31,32,31,30,30,30,29,29,30,31],2e3:[17,30,32,31,32,31,30,30,30,29,30,29,31],2001:[18,31,31,32,31,31,31,30,29,30,29,30,30],2002:[18,31,31,32,32,31,30,30,29,30,29,30,30],2003:[17,31,32,31,32,31,30,30,30,29,29,30,31],2004:[17,30,32,31,32,31,30,30,30,29,30,29,31],2005:[18,31,31,32,31,31,31,30,29,30,29,30,30],2006:[18,31,31,32,32,31,30,30,29,30,29,30,30],2007:[17,31,32,31,32,31,30,30,30,29,29,30,31],2008:[17,31,31,31,32,31,31,29,30,30,29,29,31],2009:[18,31,31,32,31,31,31,30,29,30,29,30,30],2010:[18,31,31,32,32,31,30,30,29,30,29,30,30],2011:[17,31,32,31,32,31,30,30,30,29,29,30,31],2012:[17,31,31,31,32,31,31,29,30,30,29,30,30],2013:[18,31,31,32,31,31,31,30,29,30,29,30,30],2014:[18,31,31,32,32,31,30,30,29,30,29,30,30],2015:[17,31,32,31,32,31,30,30,30,29,29,30,31],2016:[17,31,31,31,32,31,31,29,30,30,29,30,30],2017:[18,31,31,32,31,31,31,30,29,30,29,30,30],2018:[18,31,32,31,32,31,30,30,29,30,29,30,30],2019:[17,31,32,31,32,31,30,30,30,29,30,29,31],2020:[17,31,31,31,32,31,31,30,29,30,29,30,30],2021:[18,31,31,32,31,31,31,30,29,30,29,30,30],2022:[17,31,32,31,32,31,30,30,30,29,29,30,30],2023:[17,31,32,31,32,31,30,30,30,29,30,29,31],2024:[17,31,31,31,32,31,31,30,29,30,29,30,30],2025:[18,31,31,32,31,31,31,30,29,30,29,30,30],2026:[17,31,32,31,32,31,30,30,30,29,29,30,31],2027:[17,30,32,31,32,31,30,30,30,29,30,29,31],2028:[17,31,31,32,31,31,31,30,29,30,29,30,30],2029:[18,31,31,32,31,32,30,30,29,30,29,30,30],2030:[17,31,32,31,32,31,30,30,30,30,30,30,31],2031:[17,31,32,31,32,31,31,31,31,31,31,31,31],2032:[17,32,32,32,32,32,32,32,32,32,32,32,32],2033:[18,31,31,32,32,31,30,30,29,30,29,30,30],2034:[17,31,32,31,32,31,30,30,30,29,29,30,31],2035:[17,30,32,31,32,31,31,29,30,30,29,29,31],2036:[17,31,31,32,31,31,31,30,29,30,29,30,30],2037:[18,31,31,32,32,31,30,30,29,30,29,30,30],2038:[17,31,32,31,32,31,30,30,30,29,29,30,31],2039:[17,31,31,31,32,31,31,29,30,30,29,30,30],2040:[17,31,31,32,31,31,31,30,29,30,29,30,30],2041:[18,31,31,32,32,31,30,30,29,30,29,30,30],2042:[17,31,32,31,32,31,30,30,30,29,29,30,31],2043:[17,31,31,31,32,31,31,29,30,30,29,30,30],2044:[17,31,31,32,31,31,31,30,29,30,29,30,30],2045:[18,31,32,31,32,31,30,30,29,30,29,30,30],2046:[17,31,32,31,32,31,30,30,30,29,29,30,31],2047:[17,31,31,31,32,31,31,30,29,30,29,30,30],2048:[17,31,31,32,31,31,31,30,29,30,29,30,30],2049:[17,31,32,31,32,31,30,30,30,29,29,30,30],2050:[17,31,32,31,32,31,30,30,30,29,30,29,31],2051:[17,31,31,31,32,31,31,30,29,30,29,30,30],2052:[17,31,31,32,31,31,31,30,29,30,29,30,30],2053:[17,31,32,31,32,31,30,30,30,29,29,30,30],2054:[17,31,32,31,32,31,30,30,30,29,30,29,31],2055:[17,31,31,32,31,31,31,30,29,30,30,29,30],2056:[17,31,31,32,31,32,30,30,29,30,29,30,30],2057:[17,31,32,31,32,31,30,30,30,29,29,30,31],2058:[17,30,32,31,32,31,30,30,30,29,30,29,31],2059:[17,31,31,32,31,31,31,30,29,30,29,30,30],2060:[17,31,31,32,32,31,30,30,29,30,29,30,30],2061:[17,31,32,31,32,31,30,30,30,29,29,30,31],2062:[17,30,32,31,32,31,31,29,30,29,30,29,31],2063:[17,31,31,32,31,31,31,30,29,30,29,30,30],2064:[17,31,31,32,32,31,30,30,29,30,29,30,30],2065:[17,31,32,31,32,31,30,30,30,29,29,30,31],2066:[17,31,31,31,32,31,31,29,30,30,29,29,31],2067:[17,31,31,32,31,31,31,30,29,30,29,30,30],2068:[17,31,31,32,32,31,30,30,29,30,29,30,30],2069:[17,31,32,31,32,31,30,30,30,29,29,30,31],2070:[17,31,31,31,32,31,31,29,30,30,29,30,30],2071:[17,31,31,32,31,31,31,30,29,30,29,30,30],2072:[17,31,32,31,32,31,30,30,29,30,29,30,30],2073:[17,31,32,31,32,31,30,30,30,29,29,30,31],2074:[17,31,31,31,32,31,31,30,29,30,29,30,30],2075:[17,31,31,32,31,31,31,30,29,30,29,30,30],2076:[16,31,32,31,32,31,30,30,30,29,29,30,30],2077:[17,31,32,31,32,31,30,30,30,29,30,29,31],2078:[17,31,31,31,32,31,31,30,29,30,29,30,30],2079:[17,31,31,32,31,31,31,30,29,30,29,30,30],2080:[16,31,32,31,32,31,30,30,30,29,29,30,30],2081:[17,31,31,32,32,31,30,30,30,29,30,30,30],2082:[17,31,32,31,32,31,30,30,30,29,30,30,30],2083:[17,31,31,32,31,31,30,30,30,29,30,30,30],2084:[17,31,31,32,31,31,30,30,30,29,30,30,30],2085:[17,31,32,31,32,31,31,30,30,29,30,30,30],2086:[17,31,32,31,32,31,30,30,30,29,30,30,30],2087:[16,31,31,32,31,31,31,30,30,29,30,30,30],2088:[16,30,31,32,32,30,31,30,30,29,30,30,30],2089:[17,31,32,31,32,31,30,30,30,29,30,30,30],2090:[17,31,32,31,32,31,30,30,30,29,30,30,30],2091:[16,31,31,32,31,31,31,30,30,29,30,30,30],2092:[16,31,31,32,32,31,30,30,30,29,30,30,30],2093:[17,31,32,31,32,31,30,30,30,29,30,30,30],2094:[17,31,31,32,31,31,30,30,30,29,30,30,30],2095:[17,31,31,32,31,31,31,30,29,30,30,30,30],2096:[17,30,31,32,32,31,30,30,29,30,29,30,30],2097:[17,31,32,31,32,31,30,30,30,29,30,30,30],2098:[17,31,31,32,31,31,31,29,30,29,30,30,31],2099:[17,31,31,32,31,31,31,30,29,29,30,30,30],2100:[17,31,32,31,32,30,31,30,29,30,29,30,30]}}),n.calendars.nepali=a},{\"../main\":346,\"object-assign\":247}],342:[function(t,e,r){var n=t(\"../main\"),i=t(\"object-assign\");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:\"Persian\",jdEpoch:1948320.5,daysPerMonth:[31,31,31,31,31,31,30,30,30,30,30,29],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Persian\",epochs:[\"BP\",\"AP\"],monthNames:[\"Farvardin\",\"Ordibehesht\",\"Khordad\",\"Tir\",\"Mordad\",\"Shahrivar\",\"Mehr\",\"Aban\",\"Azar\",\"Day\",\"Bahman\",\"Esfand\"],monthNamesShort:[\"Far\",\"Ord\",\"Kho\",\"Tir\",\"Mor\",\"Sha\",\"Meh\",\"Aba\",\"Aza\",\"Day\",\"Bah\",\"Esf\"],dayNames:[\"Yekshambe\",\"Doshambe\",\"Seshambe\",\"Ch\\xe6harshambe\",\"Panjshambe\",\"Jom'e\",\"Shambe\"],dayNamesShort:[\"Yek\",\"Do\",\"Se\",\"Ch\\xe6\",\"Panj\",\"Jom\",\"Sha\"],dayNamesMin:[\"Ye\",\"Do\",\"Se\",\"Ch\",\"Pa\",\"Jo\",\"Sh\"],digits:null,dateFormat:\"yyyy/mm/dd\",firstDay:6,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return 682*((e.year()-(e.year()>0?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),f=t-this.toJD(l,u,1)+1;return this.newDate(l,u,f)}}),n.calendars.persian=a,n.calendars.jalali=a},{\"../main\":346,\"object-assign\":247}],343:[function(t,e,r){var n=t(\"../main\"),i=t(\"object-assign\"),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);t=this._t2gYear(e.year());return a.leapYear(t)},weekOfYear:function(t,e,r){var i=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);t=this._t2gYear(i.year());return 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);t=this._t2gYear(i.year());return 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},{\"../main\":346,\"object-assign\":247}],344:[function(t,e,r){var n=t(\"../main\"),i=t(\"object-assign\"),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);t=this._t2gYear(e.year());return a.leapYear(t)},weekOfYear:function(t,e,r){var i=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);t=this._t2gYear(i.year());return 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);t=this._t2gYear(i.year());return 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},{\"../main\":346,\"object-assign\":247}],345:[function(t,e,r){var n=t(\"../main\"),i=t(\"object-assign\");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\\u0101th\\u0101\\u2019\",\"Yawm al-Arba\\u2018\\u0101\\u2019\",\"Yawm al-Kham\\u012bs\",\"Yawm al-Jum\\u2018a\",\"Yawm al-Sabt\"],dayNamesMin:[\"Ah\",\"Ith\",\"Th\",\"Ar\",\"Kh\",\"Ju\",\"Sa\"],digits:null,dateFormat:\"yyyy/mm/dd\",firstDay:6,isRTL:!0}},leapYear:function(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;a<o.length;a++){if(o[a]>r)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;n<o.length&&!(o[n]>e);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]},{\"../main\":346,\"object-assign\":247}],346:[function(t,e,r){var n=t(\"object-assign\");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(;o<t.minMonth;)a--,o+=t.monthsInYear(a);for(var e=t.monthsInYear(a);o>e-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.monthsInYear(i)&&r>=this.minDay&&r-this.minDay<this.daysInMonth(i)}return this._validateLevel--,n},toJSDate:function(t,e,r){var n=this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[\"\"].invalidDate);return c.instance().fromJD(this.toJD(n)).toJSDate()},fromJSDate:function(t){return this.fromJD(c.instance().fromJSDate(t).toJD())},_validate:function(t,e,r,n){if(t.year){if(0===this._validateLevel&&this.name!==t.calendar().name)throw(c.local.differentCalendars||c.regionalOptions[\"\"].differentCalendars).replace(/\\{0\\}/,this.local.name).replace(/\\{1\\}/,t.calendar().local.name);return t}try{if(this._validateLevel++,1===this._validateLevel&&!this.isValid(t,e,r))throw n.replace(/\\{0\\}/,this.local.name);var i=this.newDate(t,e,r);return this._validateLevel--,i}catch(t){throw this._validateLevel--,t}}}),l.prototype=new s,n(l.prototype,{name:\"Gregorian\",jdEpoch:1721425.5,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Gregorian\",epochs:[\"BCE\",\"CE\"],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,c.local.invalidYear||c.regionalOptions[\"\"].invalidYear);return(t=e.year()+(e.year()<0?1:0))%4==0&&(t%100!=0||t%400==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,c.local.invalidMonth||c.regionalOptions[\"\"].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 n=this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[\"\"].invalidDate);t=n.year(),e=n.month(),r=n.day(),t<0&&t++,e<3&&(e+=12,t--);var i=Math.floor(t/100),a=2-i+Math.floor(i/4);return Math.floor(365.25*(t+4716))+Math.floor(30.6001*(e+1))+r+a-1524.5},fromJD:function(t){var e=Math.floor(t+.5),r=Math.floor((e-1867216.25)/36524.25),n=(r=e+1+r-Math.floor(r/4))+1524,i=Math.floor((n-122.1)/365.25),a=Math.floor(365.25*i),o=Math.floor((n-a)/30.6001),s=n-a-Math.floor(30.6001*o),l=o-(o>13.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=e.exports=new i;c.cdate=a,c.baseCalendar=s,c.calendars.gregorian=l},{\"object-assign\":247}],347:[function(t,e,r){var n=t(\"object-assign\"),i=t(\"./main\");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,l=(r=r||{}).dayNamesShort||this.local.dayNamesShort,c=r.dayNames||this.local.dayNames,u=r.monthNumbers||this.local.monthNumbers,f=r.monthNamesShort||this.local.monthNamesShort,h=r.monthNames||this.local.monthNames,p=(r.calculateWeek||this.local.calculateWeek,function(e,r){for(var n=1;w+n<t.length&&t.charAt(w+n)===e;)n++;return w+=n-1,Math.floor(n/(r||1))>1}),d=function(t,e,r,n){var i=\"\"+e;if(p(t,n))for(;i.length<r;)i=\"0\"+i;return i},m=this,g=function(t){return\"function\"==typeof u?u.call(m,t,p(\"m\")):x(d(\"m\",t.month(),2))},v=function(t,e){return e?\"function\"==typeof h?h.call(m,t):h[t.month()-m.minMonth]:\"function\"==typeof f?f.call(m,t):f[t.month()-m.minMonth]},y=this.local.digits,x=function(t){return r.localNumbers&&y?y(t):t},b=\"\",_=!1,w=0;w<t.length;w++)if(_)\"'\"!==t.charAt(w)||p(\"'\")?b+=t.charAt(w):_=!1;else switch(t.charAt(w)){case\"d\":b+=x(d(\"d\",e.day(),2));break;case\"D\":b+=(n=\"D\",a=e.dayOfWeek(),o=l,s=c,p(n)?s[a]:o[a]);break;case\"o\":b+=d(\"o\",e.dayOfYear(),3);break;case\"w\":b+=d(\"w\",e.weekOfYear(),2);break;case\"m\":b+=g(e);break;case\"M\":b+=v(e,p(\"M\"));break;case\"y\":b+=p(\"y\",2)?e.year():(e.year()%100<10?\"0\":\"\")+e.year()%100;break;case\"Y\":p(\"Y\",2),b+=e.formatYear();break;case\"J\":b+=e.toJD();break;case\"@\":b+=(e.toJD()-this.UNIX_EPOCH)*this.SECS_PER_DAY;break;case\"!\":b+=(e.toJD()-this.TICKS_EPOCH)*this.TICKS_PER_DAY;break;case\"'\":p(\"'\")?b+=\"'\":_=!0;break;default:b+=t.charAt(w)}return b},parseDate:function(t,e,r){if(null==e)throw i.local.invalidArguments||i.regionalOptions[\"\"].invalidArguments;if(\"\"===(e=\"object\"==typeof e?e.toString():e+\"\"))return null;t=t||this.local.dateFormat;var n=(r=r||{}).shortYearCutoff||this.shortYearCutoff;n=\"string\"!=typeof n?n:this.today().year()%100+parseInt(n,10);for(var a=r.dayNamesShort||this.local.dayNamesShort,o=r.dayNames||this.local.dayNames,s=r.parseMonth||this.local.parseMonth,l=r.monthNumbers||this.local.monthNumbers,c=r.monthNamesShort||this.local.monthNamesShort,u=r.monthNames||this.local.monthNames,f=-1,h=-1,p=-1,d=-1,m=-1,g=!1,v=!1,y=function(e,r){for(var n=1;M+n<t.length&&t.charAt(M+n)===e;)n++;return M+=n-1,Math.floor(n/(r||1))>1},x=function(t,r){var n=y(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){y(\"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=y(t,a)?n:r,s=0;s<o.length;s++)if(e.substr(A,o[s].length).toLowerCase()===o[s].toLowerCase())return A+=o[s].length,s+b.minMonth;throw(i.local.unknownNameAt||i.regionalOptions[\"\"].unknownNameAt).replace(/\\{0\\}/,A)},T=function(){if(\"function\"==typeof u){var t=y(\"M\")?u.call(b,e.substring(A)):c.call(b,e.substring(A));return A+=t.length,t}return w(\"M\",c,u)},k=function(){if(e.charAt(A)!==t.charAt(M))throw(i.local.unexpectedLiteralAt||i.regionalOptions[\"\"].unexpectedLiteralAt).replace(/\\{0\\}/,A);A++},A=0,M=0;M<t.length;M++)if(v)\"'\"!==t.charAt(M)||y(\"'\")?k():v=!1;else switch(t.charAt(M)){case\"d\":d=x(\"d\");break;case\"D\":w(\"D\",a,o);break;case\"o\":m=x(\"o\");break;case\"w\":x(\"w\");break;case\"m\":p=_();break;case\"M\":p=T();break;case\"y\":var S=M;g=!y(\"y\",2),M=S,h=x(\"y\",2);break;case\"Y\":h=x(\"Y\",2);break;case\"J\":f=x(\"J\")+.5,\".\"===e.charAt(A)&&(A++,x(\"J\"));break;case\"@\":f=x(\"@\")/this.SECS_PER_DAY+this.UNIX_EPOCH;break;case\"!\":f=x(\"!\")/this.TICKS_PER_DAY+this.TICKS_EPOCH;break;case\"*\":A=e.length;break;case\"'\":y(\"'\")?k():v=!0;break;default:k()}if(A<e.length)throw i.local.unexpectedText||i.regionalOptions[\"\"].unexpectedText;if(-1===h?h=this.today().year():h<100&&g&&(h+=-1===n?1900:this.today().year()-this.today().year()%100-(h<=n?0:100)),\"string\"==typeof p&&(p=s.call(this,h,p)),m>-1){p=1,d=m;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,t=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)}})},{\"./main\":346,\"object-assign\":247}],348:[function(t,e,r){\"use strict\";e.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}]},{}],349:[function(t,e,r){\"use strict\";var n=t(\"./arrow_paths\"),i=t(\"../../plots/font_attributes\"),a=t(\"../../plots/cartesian/constants\"),o=t(\"../../plot_api/plot_template\").templatedArray;t(\"../../constants/axis_placeable_objects\");e.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\"}}})},{\"../../constants/axis_placeable_objects\":472,\"../../plot_api/plot_template\":543,\"../../plots/cartesian/constants\":561,\"../../plots/font_attributes\":585,\"./arrow_paths\":348}],350:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../plots/cartesian/axes\"),a=t(\"./draw\").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\"],f=t[\"_\"+a+\"padminus\"],h={x:1,y:-1}[a]*t[a+\"shift\"],p=3*t.arrowsize*t.arrowwidth||0,d=p+h,m=p-h,g=3*t.startarrowsize*t.arrowwidth||0,v=g+h,y=g-h;if(c===l){var x=i.findExtremes(e,[e.r2c(o)],{ppadplus:d,ppadminus:m}),b=i.findExtremes(e,[e.r2c(s)],{ppadplus:Math.max(u,v),ppadminus:Math.max(f,y)});r={min:[x.min[0],b.min[0]],max:[x.max[0],b.max[0]]}}else v=s?v+s:v,y=s?y-s:y,r=i.findExtremes(e,[e.r2c(o)],{ppadplus:Math.max(u,d,v),ppadminus:Math.max(f,m,y)});t._extremes[n]=r}e.exports=function(t){var e=t._fullLayout;if(n.filterVisible(e.annotations).length&&t._fullData.length)return n.syncOrAsync([a,o],t)}},{\"../../lib\":503,\"../../plots/cartesian/axes\":554,\"./draw\":355}],351:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../registry\"),a=t(\"../../plot_api/plot_template\").arrayEditor;function o(t,e){var r,n,i,a,o,l,c,u=t._fullLayout.annotations,f=[],h=[],p=[],d=(e||[]).length;for(r=0;r<u.length;r++)if(a=(i=u[r]).clicktoshow){for(n=0;n<d;n++)if(l=(o=e[n]).xaxis,c=o.yaxis,l._id===i.xref&&c._id===i.yref&&l.d2r(o.x)===s(i._xclick,l)&&c.d2r(o.y)===s(i._yclick,c)){(i.visible?\"onout\"===a?h:p:f).push(r);break}n===d&&i.visible&&\"onout\"===a&&h.push(r)}return{on:f,off:h,explicitOff:p}}function s(t,e){return\"log\"===e.type?e.l2r(t):e.d2r(t)}e.exports={hasClickToShow:function(t,e){var r=o(t,e);return r.on.length>0||r.explicitOff.length>0},onClick:function(t,e){var r,s,l=o(t,e),c=l.on,u=l.off.concat(l.explicitOff),f={},h=t._fullLayout.annotations;if(!c.length&&!u.length)return;for(r=0;r<c.length;r++)(s=a(t.layout,\"annotations\",h[c[r]])).modifyItem(\"visible\",!0),n.extendFlat(f,s.getUpdateObj());for(r=0;r<u.length;r++)(s=a(t.layout,\"annotations\",h[u[r]])).modifyItem(\"visible\",!1),n.extendFlat(f,s.getUpdateObj());return i.call(\"update\",t,{},f)}}},{\"../../lib\":503,\"../../plot_api/plot_template\":543,\"../../registry\":638}],352:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../color\");e.exports=function(t,e,r,a){a(\"opacity\");var o=a(\"bgcolor\"),s=a(\"bordercolor\"),l=i.opacity(s);a(\"borderpad\");var c=a(\"borderwidth\"),u=a(\"showarrow\");if(a(\"text\",u?\" \":r._dfltTitle.annotation),a(\"textangle\"),n.coerceFont(a,\"font\",r.font),a(\"width\"),a(\"align\"),a(\"height\")&&a(\"valign\"),u){var f,h,p=a(\"arrowside\");-1!==p.indexOf(\"end\")&&(f=a(\"arrowhead\"),h=a(\"arrowsize\")),-1!==p.indexOf(\"start\")&&(a(\"startarrowhead\",f),a(\"startarrowsize\",h)),a(\"arrowcolor\",l?e.bordercolor:i.defaultLine),a(\"arrowwidth\",2*(l&&c||1)),a(\"standoff\"),a(\"startstandoff\")}var d=a(\"hovertext\"),m=r.hoverlabel||{};if(d){var g=a(\"hoverlabel.bgcolor\",m.bgcolor||(i.opacity(o)?i.rgb(o):i.defaultLine)),v=a(\"hoverlabel.bordercolor\",m.bordercolor||i.contrast(g));n.coerceFont(a,\"hoverlabel.font\",{family:m.font.family,size:m.font.size,color:m.font.color||v})}a(\"captureevents\",!!d)}},{\"../../lib\":503,\"../color\":366}],353:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../../lib/to_log_range\");e.exports=function(t,e,r,a){e=e||{};var o=\"log\"===r&&\"linear\"===e.type,s=\"linear\"===r&&\"log\"===e.type;if(o||s)for(var l,c,u=t._fullLayout.annotations,f=e._id.charAt(0),h=0;h<u.length;h++)l=u[h],c=\"annotations[\"+h+\"].\",l[f+\"ref\"]===e._id&&p(f),l[\"a\"+f+\"ref\"]===e._id&&p(\"a\"+f);function p(t){var r=l[t],s=null;s=o?i(r,e.range):Math.pow(10,r),n(s)||(s=null),a(c+t,s)}}},{\"../../lib/to_log_range\":531,\"fast-isnumeric\":190}],354:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../plots/cartesian/axes\"),a=t(\"../../plots/array_container_defaults\"),o=t(\"./common_defaults\"),s=t(\"./attributes\");function l(t,e,r){function a(r,i){return n.coerce(t,e,s,r,i)}var l=a(\"visible\"),c=a(\"clicktoshow\");if(l||c){o(t,e,r,a);for(var u=e.showarrow,f=[\"x\",\"y\"],h=[-10,-30],p={_fullLayout:r},d=0;d<2;d++){var m=f[d],g=i.coerceRef(t,e,p,m,\"\",\"paper\");if(\"paper\"!==g)i.getFromId(p,g)._annIndices.push(e._index);if(i.coercePosition(e,p,a,g,m,.5),u){var v=\"a\"+m,y=i.coerceRef(t,e,p,v,\"pixel\",[\"pixel\",\"paper\"]);\"pixel\"!==y&&y!==g&&(y=e[v]=\"pixel\");var x=\"pixel\"===y?h[d]:.4;i.coercePosition(e,p,a,y,v,x)}a(m+\"anchor\"),a(m+\"shift\")}if(n.noneOrAll(t,e,[\"x\",\"y\"]),u&&n.noneOrAll(t,e,[\"ax\",\"ay\"]),c){var b=a(\"xclick\"),_=a(\"yclick\");e._xclick=void 0===b?e.x:i.cleanPosition(b,p,e.xref),e._yclick=void 0===_?e.y:i.cleanPosition(_,p,e.yref)}}}e.exports=function(t,e){a(t,e,{name:\"annotations\",handleItemDefaults:l})}},{\"../../lib\":503,\"../../plots/array_container_defaults\":549,\"../../plots/cartesian/axes\":554,\"./attributes\":349,\"./common_defaults\":352}],355:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../../registry\"),a=t(\"../../plots/plots\"),o=t(\"../../lib\"),s=o.strTranslate,l=t(\"../../plots/cartesian/axes\"),c=t(\"../color\"),u=t(\"../drawing\"),f=t(\"../fx\"),h=t(\"../../lib/svg_text_utils\"),p=t(\"../../lib/setcursor\"),d=t(\"../dragelement\"),m=t(\"../../plot_api/plot_template\").arrayEditor,g=t(\"./draw_arrow_head\");function v(t,e){var r=t._fullLayout.annotations[e]||{},n=l.getFromId(t,r.xref),i=l.getFromId(t,r.yref);n&&n.setScale(),i&&i.setScale(),x(t,r,e,!1,n,i)}function y(t,e,r,n,i){var a=i[r],o=i[r+\"ref\"],s=-1!==r.indexOf(\"y\"),c=\"domain\"===l.getRefType(o),u=s?n.h:n.w;return t?c?a+(s?-e:e)/t._length:t.p2r(t.r2p(a)+e):a+(s?-e:e)/u}function x(t,e,r,a,v,x){var b,_,w=t._fullLayout,T=t._fullLayout._size,k=t._context.edits;a?(b=\"annotation-\"+a,_=a+\".annotations\"):(b=\"annotation\",_=\"annotations\");var A=m(t.layout,_,e),M=A.modifyBase,S=A.modifyItem,E=A.getUpdateObj;w._infolayer.selectAll(\".\"+b+'[data-index=\"'+r+'\"]').remove();var L=\"clip\"+w._uid+\"_ann\"+r;if(e._input&&!1!==e.visible){var C={x:{},y:{}},P=+e.textangle||0,I=w._infolayer.append(\"g\").classed(b,!0).attr(\"data-index\",String(r)).style(\"opacity\",e.opacity),O=I.append(\"g\").classed(\"annotation-text-g\",!0),z=k[e.showarrow?\"annotationTail\":\"annotationPosition\"],D=e.captureevents||k.annotationText||z,R=O.append(\"g\").style(\"pointer-events\",D?\"all\":null).call(p,\"pointer\").on(\"click\",(function(){t._dragging=!1,t.emit(\"plotly_clickannotation\",Y(n.event))}));e.hovertext&&R.on(\"mouseover\",(function(){var r=e.hoverlabel,n=r.font,i=this.getBoundingClientRect(),a=t.getBoundingClientRect();f.loneHover({x0:i.left-a.left,x1:i.right-a.left,y:(i.top+i.bottom)/2-a.top,text:e.hovertext,color:r.bgcolor,borderColor:r.bordercolor,fontFamily:n.family,fontSize:n.size,fontColor:n.color},{container:w._hoverlayer.node(),outerContainer:w._paper.node(),gd:t})})).on(\"mouseout\",(function(){f.loneUnhover(w._hoverlayer.node())}));var F=e.borderwidth,B=e.borderpad,N=F+B,j=R.append(\"rect\").attr(\"class\",\"bg\").style(\"stroke-width\",F+\"px\").call(c.stroke,e.bordercolor).call(c.fill,e.bgcolor),U=e.width||e.height,V=w._topclips.selectAll(\"#\"+L).data(U?[0]:[]);V.enter().append(\"clipPath\").classed(\"annclip\",!0).attr(\"id\",L).append(\"rect\"),V.exit().remove();var H=e.font,q=w._meta?o.templateString(e.text,w._meta):e.text,G=R.append(\"text\").classed(\"annotation-text\",!0).text(q);k.annotationText?G.call(h.makeEditable,{delegate:R,gd:t}).call(W).on(\"edit\",(function(r){e.text=r,this.call(W),S(\"text\",r),v&&v.autorange&&M(v._name+\".autorange\",!0),x&&x.autorange&&M(x._name+\".autorange\",!0),i.call(\"_guiRelayout\",t,E())})):G.call(W)}else n.selectAll(\"#\"+L).remove();function Y(t){var n={index:r,annotation:e._input,fullAnnotation:e,event:t};return a&&(n.subplotId=a),n}function W(r){return r.call(u.font,H).attr({\"text-anchor\":{left:\"start\",right:\"end\"}[e.align]||\"middle\"}),h.convertToTspans(r,t,X),r}function X(){var r=G.selectAll(\"a\");1===r.size()&&r.text()===G.text()&&R.insert(\"a\",\":first-child\").attr({\"xlink:xlink:href\":r.attr(\"xlink:href\"),\"xlink:xlink:show\":r.attr(\"xlink:show\")}).style({cursor:\"pointer\"}).node().appendChild(j.node());var n=R.select(\".annotation-text-math-group\"),f=!n.empty(),m=u.bBox((f?n:G).node()),b=m.width,_=m.height,A=e.width||b,D=e.height||_,B=Math.round(A+2*N),H=Math.round(D+2*N);function q(t,e){return\"auto\"===e&&(e=t<1/3?\"left\":t>2/3?\"right\":\"center\"),{center:0,middle:0,left:.5,bottom:-.5,right:-.5,top:.5}[e]}for(var W=!1,X=[\"x\",\"y\"],Z=0;Z<X.length;Z++){var J,K,Q,$,tt,et=X[Z],rt=e[et+\"ref\"]||et,nt=e[\"a\"+et+\"ref\"],it={x:v,y:x}[et],at=(P+(\"x\"===et?0:-90))*Math.PI/180,ot=B*Math.cos(at),st=H*Math.sin(at),lt=Math.abs(ot)+Math.abs(st),ct=e[et+\"anchor\"],ut=e[et+\"shift\"]*(\"x\"===et?1:-1),ft=C[et],ht=l.getRefType(rt);if(it&&\"domain\"!==ht){var pt=it.r2fraction(e[et]);(pt<0||pt>1)&&(nt===rt?((pt=it.r2fraction(e[\"a\"+et]))<0||pt>1)&&(W=!0):W=!0),J=it._offset+it.r2p(e[et]),$=.5}else{var dt=\"domain\"===ht;\"x\"===et?(Q=e[et],J=dt?it._offset+it._length*Q:J=T.l+T.w*Q):(Q=1-e[et],J=dt?it._offset+it._length*Q:J=T.t+T.h*Q),$=e.showarrow?.5:Q}if(e.showarrow){ft.head=J;var mt=e[\"a\"+et];if(tt=ot*q(.5,e.xanchor)-st*q(.5,e.yanchor),nt===rt){var gt=l.getRefType(nt);\"domain\"===gt?(\"y\"===et&&(mt=1-mt),ft.tail=it._offset+it._length*mt):\"paper\"===gt?\"y\"===et?(mt=1-mt,ft.tail=T.t+T.h*mt):ft.tail=T.l+T.w*mt:ft.tail=it._offset+it.r2p(mt),K=tt}else ft.tail=J+mt,K=tt+mt;ft.text=ft.tail+tt;var vt=w[\"x\"===et?\"width\":\"height\"];if(\"paper\"===rt&&(ft.head=o.constrain(ft.head,1,vt-1)),\"pixel\"===nt){var yt=-Math.max(ft.tail-3,ft.text),xt=Math.min(ft.tail+3,ft.text)-vt;yt>0?(ft.tail+=yt,ft.text+=yt):xt>0&&(ft.tail-=xt,ft.text-=xt)}ft.tail+=ut,ft.head+=ut}else K=tt=lt*q($,ct),ft.text=J+tt;ft.text+=ut,tt+=ut,K+=ut,e[\"_\"+et+\"padplus\"]=lt/2+K,e[\"_\"+et+\"padminus\"]=lt/2-K,e[\"_\"+et+\"size\"]=lt,e[\"_\"+et+\"shift\"]=tt}if(W)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(u.setClipUrl,U?L:null,t);else{var wt=N+_t-m.top,Tt=N+bt-m.left;G.call(h.positionText,Tt,wt).call(u.setClipUrl,U?L:null,t)}V.select(\"rect\").call(u.setRect,N,N,A,D),j.call(u.setRect,F/2,F/2,B-F,H-F),R.call(u.setTranslate,Math.round(C.x.text-B/2),Math.round(C.y.text-H/2)),O.attr({transform:\"rotate(\"+P+\",\"+C.x.text+\",\"+C.y.text+\")\"});var kt,At=function(r,n){I.selectAll(\".annotation-arrow-g\").remove();var l=C.x.head,f=C.y.head,h=C.x.tail+r,p=C.y.tail+n,m=C.x.text+r,b=C.y.text+n,_=o.rotationXYMatrix(P,m,b),w=o.apply2DTransform(_),A=o.apply2DTransform2(_),L=+j.attr(\"width\"),z=+j.attr(\"height\"),D=m-.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,H=e.arrowcolor,q=e.arrowside,G=I.append(\"g\").style({opacity:c.opacity(H)}).classed(\"annotation-arrow-g\",!0),Y=G.append(\"path\").attr(\"d\",\"M\"+h+\",\"+p+\"L\"+l+\",\"+f).style(\"stroke-width\",V+\"px\").call(c.stroke,c.rgb(H));if(g(Y,q,e),k.annotationPosition&&Y.node().parentNode&&!a){var W=l,X=f;if(e.standoff){var Z=Math.sqrt(Math.pow(l-h,2)+Math.pow(f-p,2));W+=e.standoff*(h-l)/Z,X+=e.standoff*(p-f)/Z}var J,K,Q=G.append(\"path\").classed(\"annotation-arrow\",!0).classed(\"anndrag\",!0).classed(\"cursor-move\",!0).attr({d:\"M3,3H-3V-3H3ZM0,0L\"+(h-W)+\",\"+(p-X),transform:s(W,X)}).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:Q.node(),gd:t,prepFn:function(){var t=u.getTranslate(R);J=t.x,K=t.y,v&&v.autorange&&M(v._name+\".autorange\",!0),x&&x.autorange&&M(x._name+\".autorange\",!0)},moveFn:function(t,r){var n=w(J,K),i=n[0]+t,a=n[1]+r;R.call(u.setTranslate,i,a),S(\"x\",y(v,t,\"x\",T,e)),S(\"y\",y(x,r,\"y\",T,e)),e.axref===e.xref&&S(\"ax\",y(v,t,\"ax\",T,e)),e.ayref===e.yref&&S(\"ay\",y(x,r,\"ay\",T,e)),G.attr(\"transform\",s(t,r)),O.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)}})}}};if(e.showarrow&&At(0,0),z)d.init({element:R.node(),gd:t,prepFn:function(){kt=O.attr(\"transform\")},moveFn:function(t,r){var n=\"pointer\";if(e.showarrow)e.axref===e.xref?S(\"ax\",y(v,t,\"ax\",T,e)):S(\"ax\",e.ax+t),e.ayref===e.yref?S(\"ay\",y(x,r,\"ay\",T.w,e)):S(\"ay\",e.ay+r),At(t,r);else{if(a)return;var i,o;if(v)i=y(v,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=y(x,r,\"y\",T,e);else{var u=e._ysize/T.h,f=e.y-(e._yshift+e.yshift)/T.h-u/2;o=d.align(f-r/T.h,u,0,1,e.yanchor)}S(\"x\",i),S(\"y\",o),v&&x||(n=d.getCursor(v?.5:i,x?.5:o,e.xanchor,e.yanchor))}O.attr({transform:s(t,r)+kt}),p(R,n)},clickFn:function(r,n){e.captureevents&&t.emit(\"plotly_clickannotation\",Y(n))},doneFn:function(){p(R),i.call(\"_guiRelayout\",t,E());var e=document.querySelector(\".js-notes-box-panel\");e&&e.redraw(e.selectedObj)}})}}}e.exports={draw:function(t){var e=t._fullLayout;e._infolayer.selectAll(\".annotation\").remove();for(var r=0;r<e.annotations.length;r++)e.annotations[r].visible&&v(t,r);return a.previousPromises(t)},drawOne:v,drawRaw:x}},{\"../../lib\":503,\"../../lib/setcursor\":524,\"../../lib/svg_text_utils\":529,\"../../plot_api/plot_template\":543,\"../../plots/cartesian/axes\":554,\"../../plots/plots\":619,\"../../registry\":638,\"../color\":366,\"../dragelement\":385,\"../drawing\":388,\"../fx\":406,\"./draw_arrow_head\":356,\"@plotly/d3\":58}],356:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../color\"),a=t(\"./arrow_paths\"),o=t(\"../../lib\"),s=o.strScale,l=o.strRotate,c=o.strTranslate;e.exports=function(t,e,r){var o,u,f,h,p=t.node(),d=a[r.arrowhead||0],m=a[r.startarrowhead||0],g=(r.arrowwidth||1)*(r.arrowsize||1),v=(r.arrowwidth||1)*(r.startarrowsize||1),y=e.indexOf(\"start\")>=0,x=e.indexOf(\"end\")>=0,b=d.backoff*g+r.standoff,_=m.backoff*v+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(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);u.x+=k,u.y+=A,t.attr({x2:u.x,y2:u.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(E<b+_)return void z();var C=p.getPointAtLength(0),P=p.getPointAtLength(.1);f=Math.atan2(C.y-P.y,C.x-P.x),o=p.getPointAtLength(Math.min(_,E)),L=\"0px,\"+_+\"px,\";var I=p.getPointAtLength(E),O=p.getPointAtLength(E-.1);h=Math.atan2(I.y-O.y,I.x-O.x),u=p.getPointAtLength(Math.max(0,E-b)),L+=E-(L?_+b:b)+\"px,\"+E+\"px\",t.style(\"stroke-dasharray\",L)}function z(){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}))}y&&D(m,o,f,v),x&&D(d,u,h,g)}},{\"../../lib\":503,\"../color\":366,\"./arrow_paths\":348,\"@plotly/d3\":58}],357:[function(t,e,r){\"use strict\";var n=t(\"./draw\"),i=t(\"./click\");e.exports={moduleType:\"component\",name:\"annotations\",layoutAttributes:t(\"./attributes\"),supplyLayoutDefaults:t(\"./defaults\"),includeBasePlot:t(\"../../plots/cartesian/include_components\")(\"annotations\"),calcAutorange:t(\"./calc_autorange\"),draw:n.draw,drawOne:n.drawOne,drawRaw:n.drawRaw,hasClickToShow:i.hasClickToShow,onClick:i.onClick,convertCoords:t(\"./convert_coords\")}},{\"../../plots/cartesian/include_components\":567,\"./attributes\":349,\"./calc_autorange\":350,\"./click\":351,\"./convert_coords\":353,\"./defaults\":354,\"./draw\":355}],358:[function(t,e,r){\"use strict\";var n=t(\"../annotations/attributes\"),i=t(\"../../plot_api/edit_types\").overrideAll,a=t(\"../../plot_api/plot_template\").templatedArray;e.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\")},{\"../../plot_api/edit_types\":536,\"../../plot_api/plot_template\":543,\"../annotations/attributes\":349}],359:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../plots/cartesian/axes\");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])}}e.exports=function(t){for(var e=t.fullSceneLayout.annotations,r=0;r<e.length;r++)a(e[r],t);t.fullLayout._infolayer.selectAll(\".annotation-\"+t.id).remove()}},{\"../../lib\":503,\"../../plots/cartesian/axes\":554}],360:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../plots/cartesian/axes\"),a=t(\"../../plots/array_container_defaults\"),o=t(\"../annotations/common_defaults\"),s=t(\"./attributes\");function l(t,e,r,a){function l(r,i){return n.coerce(t,e,s,r,i)}function c(t){var n=t+\"axis\",a={_fullLayout:{}};return a._fullLayout[n]=r[n],i.coercePosition(e,a,l,t,t,.5)}l(\"visible\")&&(o(t,e,a.fullLayout,l),c(\"x\"),c(\"y\"),c(\"z\"),n.noneOrAll(t,e,[\"x\",\"y\",\"z\"]),e.xref=\"x\",e.yref=\"y\",e.zref=\"z\",l(\"xanchor\"),l(\"yanchor\"),l(\"xshift\"),l(\"yshift\"),e.showarrow&&(e.axref=\"pixel\",e.ayref=\"pixel\",l(\"ax\",-10),l(\"ay\",-30),n.noneOrAll(t,e,[\"ax\",\"ay\"])))}e.exports=function(t,e,r){a(t,e,{name:\"annotations\",handleItemDefaults:l,fullLayout:r.fullLayout})}},{\"../../lib\":503,\"../../plots/array_container_defaults\":549,\"../../plots/cartesian/axes\":554,\"../annotations/common_defaults\":352,\"./attributes\":358}],361:[function(t,e,r){\"use strict\";var n=t(\"../annotations/draw\").drawRaw,i=t(\"../../plots/gl3d/project\"),a=[\"x\",\"y\",\"z\"];e.exports=function(t){for(var e=t.fullSceneLayout,r=t.dataScale,o=e.annotations,s=0;s<o.length;s++){for(var l=o[s],c=!1,u=0;u<3;u++){var f=a[u],h=l[f],p=e[f+\"axis\"].r2fraction(h);if(p<0||p>1){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))}}},{\"../../plots/gl3d/project\":607,\"../annotations/draw\":355}],362:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),i=t(\"../../lib\");e.exports={moduleType:\"component\",name:\"annotations3d\",schema:{subplots:{scene:{annotations:t(\"./attributes\")}}},layoutAttributes:t(\"./attributes\"),handleDefaults:t(\"./defaults\"),includeBasePlot:function(t,e){var r=n.subplotsRegistry.gl3d;if(!r)return;for(var a=r.attrRegex,o=Object.keys(t),s=0;s<o.length;s++){var l=o[s];a.test(l)&&(t[l].annotations||[]).length&&(i.pushUnique(e._basePlotModules,r),i.pushUnique(e._subplots.gl3d,l))}},convert:t(\"./convert\"),draw:t(\"./draw\")}},{\"../../lib\":503,\"../../registry\":638,\"./attributes\":358,\"./convert\":359,\"./defaults\":360,\"./draw\":361}],363:[function(t,e,r){\"use strict\";e.exports=t(\"world-calendars/dist/main\"),t(\"world-calendars/dist/plus\"),t(\"world-calendars/dist/calendars/chinese\"),t(\"world-calendars/dist/calendars/coptic\"),t(\"world-calendars/dist/calendars/discworld\"),t(\"world-calendars/dist/calendars/ethiopian\"),t(\"world-calendars/dist/calendars/hebrew\"),t(\"world-calendars/dist/calendars/islamic\"),t(\"world-calendars/dist/calendars/julian\"),t(\"world-calendars/dist/calendars/mayan\"),t(\"world-calendars/dist/calendars/nanakshahi\"),t(\"world-calendars/dist/calendars/nepali\"),t(\"world-calendars/dist/calendars/persian\"),t(\"world-calendars/dist/calendars/taiwan\"),t(\"world-calendars/dist/calendars/thai\"),t(\"world-calendars/dist/calendars/ummalqura\")},{\"world-calendars/dist/calendars/chinese\":332,\"world-calendars/dist/calendars/coptic\":333,\"world-calendars/dist/calendars/discworld\":334,\"world-calendars/dist/calendars/ethiopian\":335,\"world-calendars/dist/calendars/hebrew\":336,\"world-calendars/dist/calendars/islamic\":337,\"world-calendars/dist/calendars/julian\":338,\"world-calendars/dist/calendars/mayan\":339,\"world-calendars/dist/calendars/nanakshahi\":340,\"world-calendars/dist/calendars/nepali\":341,\"world-calendars/dist/calendars/persian\":342,\"world-calendars/dist/calendars/taiwan\":343,\"world-calendars/dist/calendars/thai\":344,\"world-calendars/dist/calendars/ummalqura\":345,\"world-calendars/dist/main\":346,\"world-calendars/dist/plus\":347}],364:[function(t,e,r){\"use strict\";var n=t(\"./calendars\"),i=t(\"../../lib\"),a=t(\"../../constants/numerical\"),o=a.EPOCHJD,s=a.ONEDAY,l={valType:\"enumerated\",values:i.sortObjectKeys(n.calendars),editType:\"calc\",dflt:\"gregorian\"},c=function(t,e,r,n){var a={};return a[r]=l,i.coerce(t,e,a,r,n)},u={d:{0:\"dd\",\"-\":\"d\"},e:{0:\"d\",\"-\":\"d\"},a:{0:\"D\",\"-\":\"D\"},A:{0:\"DD\",\"-\":\"DD\"},j:{0:\"oo\",\"-\":\"o\"},W:{0:\"ww\",\"-\":\"w\"},m:{0:\"mm\",\"-\":\"m\"},b:{0:\"M\",\"-\":\"M\"},B:{0:\"MM\",\"-\":\"MM\"},y:{0:\"yy\",\"-\":\"yy\"},Y:{0:\"yyyy\",\"-\":\"yyyy\"},U:\"##\",w:\"##\",c:{0:\"D M d %X yyyy\",\"-\":\"D M d %X yyyy\"},x:{0:\"mm/dd/yyyy\",\"-\":\"mm/dd/yyyy\"}};var f={};function h(t){var e=f[t];return e||(e=f[t]=n.instance(t))}function p(t){return i.extendFlat({},l,{description:t})}function d(t){return\"Sets the calendar system to use with `\"+t+\"` date data.\"}var m={xcalendar:p(d(\"x\"))},g=i.extendFlat({},m,{ycalendar:p(d(\"y\"))}),v=i.extendFlat({},g,{zcalendar:p(d(\"z\"))}),y=p([\"Sets the calendar system to use for `range` and `tick0`\",\"if this is a date axis. This does not set the calendar for\",\"interpreting data on this axis, that's specified in the trace\",\"or via the global `layout.calendar`\"].join(\" \"));e.exports={moduleType:\"component\",name:\"calendars\",schema:{traces:{scatter:g,bar:g,box:g,heatmap:g,contour:g,histogram:g,histogram2d:g,histogram2dcontour:g,scatter3d:v,surface:v,mesh3d:v,scattergl:g,ohlc:m,candlestick:m},layout:{calendar:p([\"Sets the default calendar system to use for interpreting and\",\"displaying dates throughout the plot.\"].join(\" \"))},subplots:{xaxis:{calendar:y},yaxis:{calendar:y},scene:{xaxis:{calendar:y},yaxis:{calendar:y},zaxis:{calendar:y}},polar:{radialaxis:{calendar:y}}},transforms:{filter:{valuecalendar:p([\"WARNING: All transforms are deprecated and may be removed from the API in next major version.\",\"Sets the calendar system to use for `value`, if it is a date.\"].join(\" \")),targetcalendar:p([\"WARNING: All transforms are deprecated and may be removed from the API in next major version.\",\"Sets the calendar system to use for `target`, if it is an\",\"array of dates. If `target` is a string (eg *x*) we use the\",\"corresponding trace attribute (eg `xcalendar`) if it exists,\",\"even if `targetcalendar` is provided.\"].join(\" \"))}}},layoutAttributes:l,handleDefaults:c,handleTraceDefaults:function(t,e,r,n){for(var i=0;i<r.length;i++)c(t,e,r[i]+\"calendar\",n.calendar)},CANONICAL_SUNDAY:{chinese:\"2000-01-02\",coptic:\"2000-01-03\",discworld:\"2000-01-03\",ethiopian:\"2000-01-05\",hebrew:\"5000-01-01\",islamic:\"1000-01-02\",julian:\"2000-01-03\",mayan:\"5000-01-01\",nanakshahi:\"1000-01-05\",nepali:\"2000-01-05\",persian:\"1000-01-01\",jalali:\"1000-01-01\",taiwan:\"1000-01-04\",thai:\"2000-01-04\",ummalqura:\"1400-01-06\"},CANONICAL_TICK:{chinese:\"2000-01-01\",coptic:\"2000-01-01\",discworld:\"2000-01-01\",ethiopian:\"2000-01-01\",hebrew:\"5000-01-01\",islamic:\"1000-01-01\",julian:\"2000-01-01\",mayan:\"5000-01-01\",nanakshahi:\"1000-01-01\",nepali:\"2000-01-01\",persian:\"1000-01-01\",jalali:\"1000-01-01\",taiwan:\"1000-01-01\",thai:\"2000-01-01\",ummalqura:\"1400-01-01\"},DFLTRANGE:{chinese:[\"2000-01-01\",\"2001-01-01\"],coptic:[\"1700-01-01\",\"1701-01-01\"],discworld:[\"1800-01-01\",\"1801-01-01\"],ethiopian:[\"2000-01-01\",\"2001-01-01\"],hebrew:[\"5700-01-01\",\"5701-01-01\"],islamic:[\"1400-01-01\",\"1401-01-01\"],julian:[\"2000-01-01\",\"2001-01-01\"],mayan:[\"5200-01-01\",\"5201-01-01\"],nanakshahi:[\"0500-01-01\",\"0501-01-01\"],nepali:[\"2000-01-01\",\"2001-01-01\"],persian:[\"1400-01-01\",\"1401-01-01\"],jalali:[\"1400-01-01\",\"1401-01-01\"],taiwan:[\"0100-01-01\",\"0101-01-01\"],thai:[\"2500-01-01\",\"2501-01-01\"],ummalqura:[\"1400-01-01\",\"1401-01-01\"]},getCal:h,worldCalFmt:function(t,e,r){for(var n,i,a,l,c,f=Math.floor((e+.05)/s)+o,p=h(r).fromJD(f),d=0;-1!==(d=t.indexOf(\"%\",d));)\"0\"===(n=t.charAt(d+1))||\"-\"===n||\"_\"===n?(a=3,i=t.charAt(d+2),\"_\"===n&&(n=\"-\")):(i=n,n=\"0\",a=2),(l=u[i])?(c=\"##\"===l?\"##\":p.formatDate(l[n]),t=t.substr(0,d)+c+t.substr(d+a),d+=c.length):d+=a;return t}}},{\"../../constants/numerical\":479,\"../../lib\":503,\"./calendars\":363}],365:[function(t,e,r){\"use strict\";r.defaults=[\"#1f77b4\",\"#ff7f0e\",\"#2ca02c\",\"#d62728\",\"#9467bd\",\"#8c564b\",\"#e377c2\",\"#7f7f7f\",\"#bcbd22\",\"#17becf\"],r.defaultLine=\"#444\",r.lightLine=\"#eee\",r.background=\"#fff\",r.borderLine=\"#BEC8D9\",r.lightFraction=1e3/11},{}],366:[function(t,e,r){\"use strict\";var n=t(\"tinycolor2\"),i=t(\"fast-isnumeric\"),a=t(\"../../lib/array\").isTypedArray,o=e.exports={},s=t(\"./attributes\");o.defaults=s.defaults;var l=o.defaultLine=s.defaultLine;o.lightLine=s.lightLine;var c=o.background=s.background;function u(t){if(i(t)||\"string\"!=typeof t)return t;var e=t.trim();if(\"rgb\"!==e.substr(0,3))return t;var r=e.match(/^rgba?\\s*\\(([^()]*)\\)$/);if(!r)return t;var n=r[1].trim().split(/\\s*[\\s,]\\s*/),a=\"a\"===e.charAt(3)&&4===n.length;if(!a&&3!==n.length)return t;for(var o=0;o<n.length;o++){if(!n[o].length)return t;if(n[o]=Number(n[o]),!(n[o]>=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.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;e<s.length;e++)if(i=t[n=s[e]],\"color\"===n.substr(n.length-5))if(Array.isArray(i))for(r=0;r<i.length;r++)i[r]=u(i[r]);else t[n]=u(i);else if(\"colorscale\"===n.substr(n.length-10)&&Array.isArray(i))for(r=0;r<i.length;r++)Array.isArray(i[r])&&(i[r][1]=u(i[r][1]));else if(Array.isArray(i)){var l=i[0];if(!Array.isArray(l)&&l&&\"object\"==typeof l)for(r=0;r<i.length;r++)o.clean(i[r])}else i&&\"object\"==typeof i&&!a(i)&&o.clean(i)}}},{\"../../lib/array\":485,\"./attributes\":365,\"fast-isnumeric\":190,tinycolor2:312}],367:[function(t,e,r){\"use strict\";var n=t(\"../../plots/cartesian/layout_attributes\"),i=t(\"../../plots/font_attributes\"),a=t(\"../../lib/extend\").extendFlat,o=t(\"../../plot_api/edit_types\").overrideAll;e.exports=o({orientation:{valType:\"enumerated\",values:[\"h\",\"v\"],dflt:\"v\"},thicknessmode:{valType:\"enumerated\",values:[\"fraction\",\"pixels\"],dflt:\"pixels\"},thickness:{valType:\"number\",min:0,dflt:30},lenmode:{valType:\"enumerated\",values:[\"fraction\",\"pixels\"],dflt:\"fraction\"},len:{valType:\"number\",min:0,dflt:1},x:{valType:\"number\",min:-2,max:3},xanchor:{valType:\"enumerated\",values:[\"left\",\"center\",\"right\"]},xpad:{valType:\"number\",min:0,dflt:10},y:{valType:\"number\",min:-2,max:3},yanchor:{valType:\"enumerated\",values:[\"top\",\"middle\",\"bottom\"]},ypad:{valType:\"number\",min:0,dflt:10},outlinecolor:n.linecolor,outlinewidth:n.linewidth,bordercolor:n.linecolor,borderwidth:{valType:\"number\",min:0,dflt:0},bgcolor:{valType:\"color\",dflt:\"rgba(0,0,0,0)\"},tickmode:n.tickmode,nticks:n.nticks,tick0:n.tick0,dtick:n.dtick,tickvals:n.tickvals,ticktext:n.ticktext,ticks:a({},n.ticks,{dflt:\"\"}),ticklabeloverflow:a({},n.ticklabeloverflow,{}),ticklabelposition:{valType:\"enumerated\",values:[\"outside\",\"inside\",\"outside top\",\"inside top\",\"outside left\",\"inside left\",\"outside right\",\"inside right\",\"outside bottom\",\"inside bottom\"],dflt:\"outside\"},ticklen:n.ticklen,tickwidth:n.tickwidth,tickcolor:n.tickcolor,ticklabelstep:n.ticklabelstep,showticklabels:n.showticklabels,tickfont:i({}),tickangle:n.tickangle,tickformat:n.tickformat,tickformatstops:n.tickformatstops,tickprefix:n.tickprefix,showtickprefix:n.showtickprefix,ticksuffix:n.ticksuffix,showticksuffix:n.showticksuffix,separatethousands:n.separatethousands,exponentformat:n.exponentformat,minexponent:n.minexponent,showexponent:n.showexponent,title:{text:{valType:\"string\"},font:i({}),side:{valType:\"enumerated\",values:[\"right\",\"top\",\"bottom\"]}},_deprecated:{title:{valType:\"string\"},titlefont:i({}),titleside:{valType:\"enumerated\",values:[\"right\",\"top\",\"bottom\"],dflt:\"top\"}}},\"colorbars\",\"from-root\")},{\"../../lib/extend\":493,\"../../plot_api/edit_types\":536,\"../../plots/cartesian/layout_attributes\":569,\"../../plots/font_attributes\":585}],368:[function(t,e,r){\"use strict\";e.exports={cn:{colorbar:\"colorbar\",cbbg:\"cbbg\",cbfill:\"cbfill\",cbfills:\"cbfills\",cbline:\"cbline\",cblines:\"cblines\",cbaxis:\"cbaxis\",cbtitleunshift:\"cbtitleunshift\",cbtitle:\"cbtitle\",cboutline:\"cboutline\",crisp:\"crisp\",jsPlaceholder:\"js-placeholder\"}}},{}],369:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../plot_api/plot_template\"),a=t(\"../../plots/cartesian/tick_value_defaults\"),o=t(\"../../plots/cartesian/tick_mark_defaults\"),s=t(\"../../plots/cartesian/tick_label_defaults\"),l=t(\"../../plots/cartesian/prefix_suffix_defaults\"),c=t(\"./attributes\");e.exports=function(t,e,r){var u=i.newContainer(e,\"colorbar\"),f=t.colorbar||{};function h(t,e){return n.coerce(f,u,c,t,e)}var p=r.margin||{t:0,b:0,l:0,r:0},d=r.width-p.l-p.r,m=r.height-p.t-p.b,g=\"v\"===h(\"orientation\"),v=h(\"thicknessmode\");h(\"thickness\",\"fraction\"===v?30/(g?d:m):30);var y=h(\"lenmode\");h(\"len\",\"fraction\"===y?1:g?m:d),h(\"x\",g?1.02:.5),h(\"xanchor\",g?\"left\":\"center\"),h(\"xpad\"),h(\"y\",g?.5:1.02),h(\"yanchor\",g?\"middle\":\"bottom\"),h(\"ypad\"),n.noneOrAll(f,u,[\"x\",\"y\"]),h(\"outlinecolor\"),h(\"outlinewidth\"),h(\"bordercolor\"),h(\"borderwidth\"),h(\"bgcolor\");var x=n.coerce(f,u,{ticklabelposition:{valType:\"enumerated\",dflt:\"outside\",values:g?[\"outside\",\"inside\",\"outside top\",\"inside top\",\"outside bottom\",\"inside bottom\"]:[\"outside\",\"inside\",\"outside left\",\"inside left\",\"outside right\",\"inside right\"]}},\"ticklabelposition\");h(\"ticklabeloverflow\",-1!==x.indexOf(\"inside\")?\"hide past domain\":\"hide past div\"),a(f,u,h,\"linear\");var b=r.font,_={outerTicks:!1,font:b};-1!==x.indexOf(\"inside\")&&(_.bgColor=\"black\"),l(f,u,h,\"linear\",_),s(f,u,h,\"linear\",_),o(f,u,h,\"linear\",_),h(\"title.text\",r._dfltTitle.colorbar);var w=u.tickfont,T=n.extendFlat({},w,{color:b.color,size:n.bigFont(w.size)});n.coerceFont(h,\"title.font\",T),h(\"title.side\",g?\"top\":\"right\")}},{\"../../lib\":503,\"../../plot_api/plot_template\":543,\"../../plots/cartesian/prefix_suffix_defaults\":573,\"../../plots/cartesian/tick_label_defaults\":578,\"../../plots/cartesian/tick_mark_defaults\":579,\"../../plots/cartesian/tick_value_defaults\":580,\"./attributes\":367}],370:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"tinycolor2\"),a=t(\"../../plots/plots\"),o=t(\"../../registry\"),s=t(\"../../plots/cartesian/axes\"),l=t(\"../dragelement\"),c=t(\"../../lib\"),u=c.strTranslate,f=t(\"../../lib/extend\").extendFlat,h=t(\"../../lib/setcursor\"),p=t(\"../drawing\"),d=t(\"../color\"),m=t(\"../titles\"),g=t(\"../../lib/svg_text_utils\"),v=t(\"../colorscale/helpers\").flipScale,y=t(\"../../plots/cartesian/axis_defaults\"),x=t(\"../../plots/cartesian/position_defaults\"),b=t(\"../../plots/cartesian/layout_attributes\"),_=t(\"../../constants/alignment\"),w=_.LINE_SPACING,T=_.FROM_TL,k=_.FROM_BR,A=t(\"./constants\").cn;e.exports={draw:function(t){var e=t._fullLayout._infolayer.selectAll(\"g.\"+A.colorbar).data(function(t){var e,r,n,i,a=t._fullLayout,o=t.calcdata,s=[];function l(t){return f(t,{_fillcolor:null,_line:{color:null,width:null,dash:null},_levels:{start:null,end:null,size:null},_filllevels:null,_fillgradient:null,_zrange:null})}function c(){\"function\"==typeof i.calc?i.calc(t,n,e):(e._fillgradient=r.reversescale?v(r.colorscale):r.colorscale,e._zrange=[r[i.min],r[i.max]])}for(var u=0;u<o.length;u++){var h=o[u],p=(n=h[0].trace)._module.colorbar;if(!0===n.visible&&p)for(var d=Array.isArray(p),m=d?p:[p],g=0;g<m.length;g++){var y=(i=m[g]).container;(r=y?n[y]:n)&&r.showscale&&((e=l(r.colorbar))._id=\"cb\"+n.uid+(d&&y?\"-\"+y:\"\"),e._traceIndex=n.index,e._propPrefix=(y?y+\".\":\"\")+\"colorbar.\",e._meta=n._meta,c(),s.push(e))}}for(var x in a._colorAxes)if((r=a[x]).showscale){var b=a._colorAxes[x];(e=l(r.colorbar))._id=\"cb\"+x,e._propPrefix=x+\".colorbar.\",e._meta=a._meta,i={min:\"cmin\",max:\"cmax\"},\"heatmap\"!==b[0]&&(n=b[1],i.calc=n._module.colorbar.calc),c(),s.push(e)}return s}(t),(function(t){return t._id}));e.enter().append(\"g\").attr(\"class\",(function(t){return t._id})).classed(A.colorbar,!0),e.each((function(e){var r=n.select(this);c.ensureSingle(r,\"rect\",A.cbbg),c.ensureSingle(r,\"g\",A.cbfills),c.ensureSingle(r,\"g\",A.cblines),c.ensureSingle(r,\"g\",A.cbaxis,(function(t){t.classed(A.crisp,!0)})),c.ensureSingle(r,\"g\",A.cbtitleunshift,(function(t){t.append(\"g\").classed(A.cbtitle,!0)})),c.ensureSingle(r,\"rect\",A.cboutline);var v=function(t,e,r){var o=\"v\"===e.orientation,l=e.len,h=e.lenmode,v=e.thickness,_=e.thicknessmode,M=e.outlinewidth,S=e.borderwidth,E=e.bgcolor,L=e.xanchor,C=e.yanchor,P=e.xpad,I=e.ypad,O=e.x,z=o?e.y:1-e.y,D=r._fullLayout,R=D._size,F=e._fillcolor,B=e._line,N=e.title,j=N.side,U=e._zrange||n.extent((\"function\"==typeof F?F:B.color).domain()),V=\"function\"==typeof B.color?B.color:function(){return B.color},H=\"function\"==typeof F?F:function(){return F},q=e._levels,G=function(t,e,r){var n,i,a=e._levels,o=[],s=[],l=a.end+a.size/100,c=a.size,u=1.001*r[0]-.001*r[1],f=1.001*r[1]-.001*r[0];for(i=0;i<1e5&&(n=a.start+i*c,!(c>0?n>=l:n<=l));i++)n>u&&n<f&&o.push(n);if(e._fillgradient)s=[0];else if(\"function\"==typeof e._fillcolor){var h=e._filllevels;if(h)for(l=h.end+h.size/100,c=h.size,i=0;i<1e5&&(n=h.start+i*c,!(c>0?n>=l:n<=l));i++)n>r[0]&&n<r[1]&&s.push(n);else(s=o.map((function(t){return t-a.size/2}))).push(s[s.length-1]+a.size)}else e._fillcolor&&\"string\"==typeof e._fillcolor&&(s=[0]);a.size<0&&(o.reverse(),s.reverse());return{line:o,fill:s}}(0,e,U),Y=G.fill,W=G.line,X=Math.round(v*(\"fraction\"===_?o?R.w:R.h:1)),Z=X/(o?R.w:R.h),J=Math.round(l*(\"fraction\"===h?o?R.h:R.w:1)),K=J/(o?R.h:R.w),Q=Math.round(o?O*R.w+P:z*R.h+I),$={center:.5,right:1}[L]||0,tt={top:1,middle:.5}[C]||0,et=o?O-$*Z:z-tt*Z,rt=o?z-tt*K:O-$*K,nt=Math.round(o?R.h*(1-rt):R.w*rt);e._lenFrac=K,e._thickFrac=Z,e._uFrac=et,e._vFrac=rt;var it=e._axis=function(t,e,r){var n=t._fullLayout,i=\"v\"===e.orientation,a={type:\"linear\",range:r,tickmode:e.tickmode,nticks:e.nticks,tick0:e.tick0,dtick:e.dtick,tickvals:e.tickvals,ticktext:e.ticktext,ticks:e.ticks,ticklen:e.ticklen,tickwidth:e.tickwidth,tickcolor:e.tickcolor,showticklabels:e.showticklabels,ticklabelposition:e.ticklabelposition,ticklabeloverflow:e.ticklabeloverflow,ticklabelstep:e.ticklabelstep,tickfont:e.tickfont,tickangle:e.tickangle,tickformat:e.tickformat,exponentformat:e.exponentformat,minexponent:e.minexponent,separatethousands:e.separatethousands,showexponent:e.showexponent,showtickprefix:e.showtickprefix,tickprefix:e.tickprefix,showticksuffix:e.showticksuffix,ticksuffix:e.ticksuffix,title:e.title,showline:!0,anchor:\"free\",side:i?\"right\":\"bottom\",position:1},o=i?\"y\":\"x\",s={type:\"linear\",_id:o+e._id},l={letter:o,font:n.font,noHover:!0,noTickson:!0,noTicklabelmode:!0,calendar:n.calendar};function u(t,e){return c.coerce(a,s,b,t,e)}return y(a,s,u,l,n),x(a,s,u,l),s}(r,e,U);it.position=Z+(o?O+P/R.w:z+I/R.h);var at=-1!==[\"top\",\"bottom\"].indexOf(j);o&&at&&(it.title.side=j,it.titlex=O+P/R.w,it.titley=rt+(\"top\"===N.side?K-I/R.h:I/R.h));o||at||(it.title.side=j,it.titley=z+I/R.h,it.titlex=rt+P/R.w);if(B.color&&\"auto\"===e.tickmode){it.tickmode=\"linear\",it.tick0=q.start;var ot=q.size,st=c.constrain(J/50,4,15)+1,lt=(U[1]-U[0])/((e.nticks||st)*ot);if(lt>1){var ct=Math.pow(10,Math.floor(Math.log(lt)/Math.LN10));ot*=ct*c.roundUp(lt/ct,[2,5,10]),(Math.abs(q.start)/q.size+1e-6)%1<2e-6&&(it.tick0=0)}it.dtick=ot}it.domain=o?[rt+I/R.h,rt+K-I/R.h]:[rt+P/R.w,rt+K-P/R.w],it.setScale(),t.attr(\"transform\",u(Math.round(R.l),Math.round(R.t)));var ut,ft=t.select(\".\"+A.cbtitleunshift).attr(\"transform\",u(-Math.round(R.l),-Math.round(R.t))),ht=it.ticklabelposition,pt=it.title.font.size,dt=t.select(\".\"+A.cbaxis),mt=0,gt=0;function vt(n,i){var a={propContainer:it,propName:e._propPrefix+\"title\",traceIndex:e._traceIndex,_meta:e._meta,placeholder:D._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,f(a,i||{}))}return c.syncOrAsync([a.previousPromises,function(){var t,e;(o&&at||!o&&!at)&&(\"top\"===j&&(t=P+R.l+R.w*O,e=I+R.t+R.h*(1-rt-K)+3+.75*pt),\"bottom\"===j&&(t=P+R.l+R.w*O,e=I+R.t+R.h*(1-rt)-3-.25*pt),\"right\"===j&&(e=I+R.t+R.h*z+3+.75*pt,t=P+R.l+R.w*rt),vt(it._id+\"title\",{attributes:{x:t,y:e,\"text-anchor\":o?\"start\":\"middle\"}}))},function(){if(!o&&!at||o&&at){var a,l=t.select(\".\"+A.cbtitle),f=l.select(\"text\"),h=[-M/2,M/2],d=l.select(\".h\"+it._id+\"title-math-group\").node(),m=15.6;if(f.node()&&(m=parseInt(f.node().style.fontSize,10)*w),d?(a=p.bBox(d),gt=a.width,(mt=a.height)>m&&(h[1]-=(mt-m)/2)):f.node()&&!f.classed(A.jsPlaceholder)&&(a=p.bBox(f.node()),gt=a.width,mt=a.height),o){if(mt){if(mt+=5,\"top\"===j)it.domain[1]-=mt/R.h,h[1]*=-1;else{it.domain[0]+=mt/R.h;var v=g.lineCount(f);h[1]+=(1-v)*m}l.attr(\"transform\",u(h[0],h[1])),it.setScale()}}else gt&&(\"right\"===j&&(it.domain[0]+=(gt+pt/2)/R.w),l.attr(\"transform\",u(h[0],h[1])),it.setScale())}t.selectAll(\".\"+A.cbfills+\",.\"+A.cblines).attr(\"transform\",o?u(0,Math.round(R.h*(1-it.domain[1]))):u(Math.round(R.w*it.domain[0]),0)),dt.attr(\"transform\",o?u(0,Math.round(-R.t)):u(Math.round(-R.l),0));var y=t.select(\".\"+A.cbfills).selectAll(\"rect.\"+A.cbfill).attr(\"style\",\"\").data(Y);y.enter().append(\"rect\").classed(A.cbfill,!0).style(\"stroke\",\"none\"),y.exit().remove();var x=U.map(it.c2p).map(Math.round).sort((function(t,e){return t-e}));y.each((function(t,a){var s=[0===a?U[0]:(Y[a]+Y[a-1])/2,a===Y.length-1?U[1]:(Y[a]+Y[a+1])/2].map(it.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\",Q).attr(o?\"y\":\"x\",n.min(s)).attr(o?\"width\":\"height\",Math.max(X,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=H(t).replace(\"e-\",\"\");l.attr(\"fill\",i(u).toHexString())}}));var b=t.select(\".\"+A.cblines).selectAll(\"path.\"+A.cbline).data(B.color&&B.width?W:[]);b.enter().append(\"path\").classed(A.cbline,!0),b.exit().remove(),b.each((function(t){var e=Q,r=Math.round(it.c2p(t))+B.width/2%1;n.select(this).attr(\"d\",\"M\"+(o?e+\",\"+r:r+\",\"+e)+(o?\"h\":\"v\")+X).call(p.lineGroupStyle,B.width,V(t),B.dash)})),dt.selectAll(\"g.\"+it._id+\"tick,path\").remove();var _=Q+X+(M||0)/2-(\"outside\"===e.ticks?1:0),T=s.calcTicks(it),k=s.getTickSigns(it)[2];return s.drawTicks(r,it,{vals:\"inside\"===it.ticks?s.clipEnds(it,T):T,layer:dt,path:s.makeTickPath(it,_,k),transFn:s.makeTransTickFn(it)}),s.drawLabels(r,it,{vals:T,layer:dt,transFn:s.makeTransTickLabelFn(it),labelFns:s.makeLabelFns(it,_)})},function(){if(o&&!at||!o&&at){var t,i,a=it.position||0,s=it._offset+it._length/2;if(\"right\"===j)i=s,t=R.l+R.w*a+10+pt*(it.showticklabels?1:.5);else if(t=s,\"bottom\"===j&&(i=R.t+R.h*a+10+(-1===ht.indexOf(\"inside\")?it.tickfont.size:0)+(\"intside\"!==it.ticks&&e.ticklen||0)),\"top\"===j){var l=N.text.split(\"<br>\").length;i=R.t+R.h*a+10-X-w*pt*l}vt((o?\"h\":\"v\")+it._id+\"title\",{avoid:{selection:n.select(r).selectAll(\"g.\"+it._id+\"tick\"),side:j,offsetTop:o?0:R.t,offsetLeft:o?R.l:0,maxShift:o?D.width:D.height},attributes:{x:t,y:i,\"text-anchor\":\"middle\"},transform:{rotate:o?-90:0,offset:0}})}},a.previousPromises,function(){var n,s=X+M/2;-1===ht.indexOf(\"inside\")&&(n=p.bBox(dt.node()),s+=o?n.width:n.height),ut=ft.select(\"text\");var c=0,f=o&&\"top\"===j,m=!o&&\"right\"===j,g=0;if(ut.node()&&!ut.classed(A.jsPlaceholder)){var y,x=ft.select(\".h\"+it._id+\"title-math-group\").node();x&&(o&&at||!o&&!at)?(c=(n=p.bBox(x)).width,y=n.height):(c=(n=p.bBox(ft.node())).right-R.l-(o?Q:nt),y=n.bottom-R.t-(o?nt:Q),o||\"top\"!==j||(s+=n.height,g=n.height)),m&&(ut.attr(\"transform\",u(c/2+pt/2,0)),c*=2),s=Math.max(s,o?c:y)}var b=2*(o?P:I)+s+S+M/2,w=0;!o&&N.text&&\"bottom\"===C&&z<=0&&(b+=w=b/2,g+=w),D._hColorbarMoveTitle=w,D._hColorbarMoveCBTitle=g;var F=S+M;t.select(\".\"+A.cbbg).attr(\"x\",(o?Q:nt)-F/2-(o?P:0)).attr(\"y\",(o?nt:Q)-(o?J:I+g-w)).attr(o?\"width\":\"height\",Math.max(b-w,2)).attr(o?\"height\":\"width\",Math.max(J+F,2)).call(d.fill,E).call(d.stroke,e.bordercolor).style(\"stroke-width\",S);var B=m?Math.max(c-10,0):0;if(t.selectAll(\".\"+A.cboutline).attr(\"x\",(o?Q:nt+P)+B).attr(\"y\",(o?nt+I-J:Q)+(f?mt:0)).attr(o?\"width\":\"height\",Math.max(X,2)).attr(o?\"height\":\"width\",Math.max(J-(o?2*I+mt:2*P+B),2)).call(d.stroke,e.outlinecolor).style({fill:\"none\",\"stroke-width\":M}),t.attr(\"transform\",u(R.l-(o?$*b:0),R.t-(o?0:(1-tt)*b-g))),!o&&(S||i(E).getAlpha()&&!i.equals(D.paper_bgcolor,E))){var U=dt.selectAll(\"text\"),V=U[0].length,H=t.select(\".\"+A.cbbg).node(),q=p.bBox(H),G=p.getTranslate(t);U.each((function(t,e){var r=V-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=q.right+G.x+nt-S-2+O-o)>0&&(n=0)}else if(0===e){var s=i.left+a.x;(n=q.left+G.x+nt+S+2-s)<0&&(n=0)}n&&(V<3?this.setAttribute(\"transform\",\"translate(\"+n+\",0) \"+this.getAttribute(\"transform\")):this.setAttribute(\"visibility\",\"hidden\"))}}))}var Y={},W=T[L],Z=k[L],K=T[C],et=k[C],rt=b-X;o?(\"pixels\"===h?(Y.y=z,Y.t=J*K,Y.b=J*et):(Y.t=Y.b=0,Y.yt=z+l*K,Y.yb=z-l*et),\"pixels\"===_?(Y.x=O,Y.l=b*W,Y.r=b*Z):(Y.l=rt*W,Y.r=rt*Z,Y.xl=O-v*W,Y.xr=O+v*Z)):(\"pixels\"===h?(Y.x=O,Y.l=J*W,Y.r=J*Z):(Y.l=Y.r=0,Y.xl=O+l*W,Y.xr=O-l*Z),\"pixels\"===_?(Y.y=1-z,Y.t=b*K,Y.b=b*et):(Y.t=rt*K,Y.b=rt*et,Y.yt=z-v*K,Y.yb=z+v*et)),a.autoMargin(r,e._id,Y)}],r)}(r,e,t);v&&v.then&&(t._promises||[]).push(v),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\"),h(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 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()}}},{\"../../constants/alignment\":471,\"../../lib\":503,\"../../lib/extend\":493,\"../../lib/setcursor\":524,\"../../lib/svg_text_utils\":529,\"../../plots/cartesian/axes\":554,\"../../plots/cartesian/axis_defaults\":556,\"../../plots/cartesian/layout_attributes\":569,\"../../plots/cartesian/position_defaults\":572,\"../../plots/plots\":619,\"../../registry\":638,\"../color\":366,\"../colorscale/helpers\":377,\"../dragelement\":385,\"../drawing\":388,\"../titles\":464,\"./constants\":368,\"@plotly/d3\":58,tinycolor2:312}],371:[function(t,e,r){\"use strict\";var n=t(\"../../lib\");e.exports=function(t){return n.isPlainObject(t.colorbar)}},{\"../../lib\":503}],372:[function(t,e,r){\"use strict\";e.exports={moduleType:\"component\",name:\"colorbar\",attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\"),draw:t(\"./draw\").draw,hasColorbar:t(\"./has_colorbar\")}},{\"./attributes\":367,\"./defaults\":369,\"./draw\":370,\"./has_colorbar\":371}],373:[function(t,e,r){\"use strict\";var n=t(\"../colorbar/attributes\"),i=t(\"../../lib/regex\").counter,a=t(\"../../lib/sort_object_keys\"),o=t(\"./scales.js\").scales;a(o);function s(t){return\"`\"+t+\"`\"}e.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,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\",m=a+\"max\",g=a+\"mid\",v=(s(h+p),s(h+d),s(h+m),{});v[d]=v[m]=void 0;var y={};y[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:v},x[d]={valType:\"number\",dflt:null,editType:f||\"plot\",impliedEdits:y},x[m]={valType:\"number\",dflt:null,editType:f||\"plot\",impliedEdits:y},x[g]={valType:\"number\",dflt:null,editType:\"calc\",impliedEdits:v},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}},{\"../../lib/regex\":520,\"../../lib/sort_object_keys\":526,\"../colorbar/attributes\":367,\"./scales.js\":381}],374:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../../lib\"),a=t(\"./helpers\").extractOpts;e.exports=function(t,e,r){var o,s=t._fullLayout,l=r.vals,c=r.containerStr,u=c?i.nestedProperty(e,c).get():e,f=a(u),h=!1!==f.auto,p=f.min,d=f.max,m=f.mid,g=function(){return i.aggNums(Math.min,null,l)},v=function(){return i.aggNums(Math.max,null,l)};(void 0===p?p=g():h&&(p=u._colorAx&&n(p)?Math.min(p,g()):g()),void 0===d?d=v():h&&(d=u._colorAx&&n(d)?Math.max(d,v()):v()),h&&void 0!==m&&(d-m>m-p?p=m-(d-m):d-m<m-p&&(d=m+(m-p))),p===d&&(p-=.5,d+=.5),f._sync(\"min\",p),f._sync(\"max\",d),f.autocolorscale)&&(o=p*d<0?s.colorscale.diverging:p>=0?s.colorscale.sequential:s.colorscale.sequentialminus,f._sync(\"colorscale\",o))}},{\"../../lib\":503,\"./helpers\":377,\"fast-isnumeric\":190}],375:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./helpers\").hasColorscale,a=t(\"./helpers\").extractOpts;e.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<t.length;s++){var l=t[s],c=l._module.colorbar;if(c)if(Array.isArray(c))for(var u=0;u<c.length;u++)o(l,c[u]);else o(l,c);i(l,\"marker.line\")&&o(l,{container:\"marker.line\",min:\"cmin\",max:\"cmax\"})}for(var f in e._colorAxes)o(e[f],{min:\"cmin\",max:\"cmax\"})}},{\"../../lib\":503,\"./helpers\":377}],376:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../../lib\"),a=t(\"../colorbar/has_colorbar\"),o=t(\"../colorbar/defaults\"),s=t(\"./scales\").isValid,l=t(\"../../registry\").traceIs;function c(t,e){var r=e.slice(0,e.length-1);return e?i.nestedProperty(t,r).get()||{}:t}e.exports=function t(e,r,u,f,h){var p=h.prefix,d=h.cLetter,m=\"_module\"in r,g=c(e,p),v=c(r,p),y=c(r._template||{},p)||{},x=function(){return delete e.coloraxis,delete r.coloraxis,t(e,r,u,f,h)};if(m){var b=u._colorAxes||{},_=f(p+\"coloraxis\");if(_){var w=l(r,\"contour\")&&i.nestedProperty(r,\"contours.coloring\").get()||\"heatmap\",T=b[_];return void(T?(T[2].push(x),T[0]!==w&&(T[0]=!1,i.warn([\"Ignoring coloraxis:\",_,\"setting\",\"as it is linked to incompatible colorscales.\"].join(\" \")))):b[_]=[w,r,[x]])}}var k=g[d+\"min\"],A=g[d+\"max\"],M=n(k)&&n(A)&&k<A;f(p+d+\"auto\",!M)?f(p+d+\"mid\"):(f(p+d+\"min\"),f(p+d+\"max\"));var S,E,L=g.colorscale,C=y.colorscale;(void 0!==L&&(S=!s(L)),void 0!==C&&(S=!s(C)),f(p+\"autocolorscale\",S),f(p+\"colorscale\"),f(p+\"reversescale\"),\"marker.line.\"!==p)&&(p&&m&&(E=a(g)),f(p+\"showscale\",E)&&(p&&y&&(v._template=y),o(g,v,u)))}},{\"../../lib\":503,\"../../registry\":638,\"../colorbar/defaults\":369,\"../colorbar/has_colorbar\":371,\"./scales\":381,\"fast-isnumeric\":190}],377:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"tinycolor2\"),a=t(\"fast-isnumeric\"),o=t(\"../../lib\"),s=t(\"../color\"),l=t(\"./scales\").isValid;var c=[\"showscale\",\"autocolorscale\",\"colorscale\",\"reversescale\",\"colorbar\"],u=[\"min\",\"max\",\"mid\",\"auto\"];function f(t){var e,r,n,i=t._colorAx,a=i||t,o={};for(r=0;r<c.length;r++)o[n=c[r]]=a[n];if(i)for(e=\"c\",r=0;r<u.length;r++)o[n=u[r]]=a[\"c\"+n];else{var s;for(r=0;r<u.length;r++)((s=\"c\"+(n=u[r]))in a||(s=\"z\"+n)in a)&&(o[n]=a[s]);e=s.charAt(0)}return o._sync=function(t,r){var n=-1!==u.indexOf(t)?e+t:t;a[n]=a[\"_\"+n]=r},o}function h(t){for(var e=f(t),r=e.min,n=e.max,i=e.reversescale?p(e.colorscale):e.colorscale,a=i.length,o=new Array(a),s=new Array(a),l=0;l<a;l++){var c=i[l];o[l]=r+c[0]*(n-r),s[l]=c[1]}return{domain:o,range:s}}function p(t){for(var e=t.length,r=new Array(e),n=e-1,i=0;n>=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;u<l;u++){var f=i(o[u]).toRgb();c[u]=[f.r,f.g,f.b,f.a]}var h,p=n.scale.linear().domain(r).range(c).clamp(!0),d=e.noNumericCheck,g=e.returnArray;return(h=d&&g?p:d?function(t){return m(p(t))}:g?function(t){return a(t)?p(t):i(t).isValid()?t:s.defaultLine}:function(t){return a(t)?m(p(t)):i(t).isValid()?t:s.defaultLine}).domain=p.domain,h.range=function(){return o},h}function m(t){var e={r:t[0],g:t[1],b:t[2],a:t[3]};return i(e).toRgbString()}e.exports={hasColorscale:function(t,e,r){var n=e?o.nestedProperty(t,e).get()||{}:t,i=n[r||\"color\"],s=!1;if(o.isArrayOrTypedArray(i))for(var c=0;c<i.length;c++)if(a(i[c])){s=!0;break}return o.isPlainObject(n)&&(s||!0===n.showscale||a(n.cmin)&&a(n.cmax)||l(n.colorscale)||o.isPlainObject(n.colorbar))},extractOpts:f,extractScale:h,flipScale:p,makeColorScaleFunc:d,makeColorScaleFuncFromTrace:function(t,e){return d(h(t),e)}}},{\"../../lib\":503,\"../color\":366,\"./scales\":381,\"@plotly/d3\":58,\"fast-isnumeric\":190,tinycolor2:312}],378:[function(t,e,r){\"use strict\";var n=t(\"./scales\"),i=t(\"./helpers\");e.exports={moduleType:\"component\",name:\"colorscale\",attributes:t(\"./attributes\"),layoutAttributes:t(\"./layout_attributes\"),supplyLayoutDefaults:t(\"./layout_defaults\"),handleDefaults:t(\"./defaults\"),crossTraceDefaults:t(\"./cross_trace_defaults\"),calc:t(\"./calc\"),scales:n.scales,defaultScale:n.defaultScale,getScale:n.get,isValidScale:n.isValid,hasColorscale:i.hasColorscale,extractOpts:i.extractOpts,extractScale:i.extractScale,flipScale:i.flipScale,makeColorScaleFunc:i.makeColorScaleFunc,makeColorScaleFuncFromTrace:i.makeColorScaleFuncFromTrace}},{\"./attributes\":373,\"./calc\":374,\"./cross_trace_defaults\":375,\"./defaults\":376,\"./helpers\":377,\"./layout_attributes\":379,\"./layout_defaults\":380,\"./scales\":381}],379:[function(t,e,r){\"use strict\";var n=t(\"../../lib/extend\").extendFlat,i=t(\"./attributes\"),a=t(\"./scales\").scales;e.exports={editType:\"calc\",colorscale:{editType:\"calc\",sequential:{valType:\"colorscale\",dflt:a.Reds,editType:\"calc\"},sequentialminus:{valType:\"colorscale\",dflt:a.Blues,editType:\"calc\"},diverging:{valType:\"colorscale\",dflt:a.RdBu,editType:\"calc\"}},coloraxis:n({_isSubplotObj:!0,editType:\"calc\"},i(\"\",{colorAttr:\"corresponding trace color array(s)\",noColorAxis:!0,showScaleDflt:!0}))}},{\"../../lib/extend\":493,\"./attributes\":373,\"./scales\":381}],380:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../plot_api/plot_template\"),a=t(\"./layout_attributes\"),o=t(\"./defaults\");e.exports=function(t,e){function r(r,i){return n.coerce(t,e,a,r,i)}r(\"colorscale.sequential\"),r(\"colorscale.sequentialminus\"),r(\"colorscale.diverging\");var s,l,c=e._colorAxes;function u(t,e){return n.coerce(s,l,a.coloraxis,t,e)}for(var f in c){var h=c[f];if(h[0])s=t[f]||{},(l=i.newContainer(e,f,\"coloraxis\"))._name=f,o(s,l,e,u,{prefix:\"\",cLetter:\"c\"});else{for(var p=0;p<h[2].length;p++)h[2][p]();delete e._colorAxes[f]}}}},{\"../../lib\":503,\"../../plot_api/plot_template\":543,\"./defaults\":376,\"./layout_attributes\":379}],381:[function(t,e,r){\"use strict\";var n=t(\"tinycolor2\"),i={Greys:[[0,\"rgb(0,0,0)\"],[1,\"rgb(255,255,255)\"]],YlGnBu:[[0,\"rgb(8,29,88)\"],[.125,\"rgb(37,52,148)\"],[.25,\"rgb(34,94,168)\"],[.375,\"rgb(29,145,192)\"],[.5,\"rgb(65,182,196)\"],[.625,\"rgb(127,205,187)\"],[.75,\"rgb(199,233,180)\"],[.875,\"rgb(237,248,217)\"],[1,\"rgb(255,255,217)\"]],Greens:[[0,\"rgb(0,68,27)\"],[.125,\"rgb(0,109,44)\"],[.25,\"rgb(35,139,69)\"],[.375,\"rgb(65,171,93)\"],[.5,\"rgb(116,196,118)\"],[.625,\"rgb(161,217,155)\"],[.75,\"rgb(199,233,192)\"],[.875,\"rgb(229,245,224)\"],[1,\"rgb(247,252,245)\"]],YlOrRd:[[0,\"rgb(128,0,38)\"],[.125,\"rgb(189,0,38)\"],[.25,\"rgb(227,26,28)\"],[.375,\"rgb(252,78,42)\"],[.5,\"rgb(253,141,60)\"],[.625,\"rgb(254,178,76)\"],[.75,\"rgb(254,217,118)\"],[.875,\"rgb(255,237,160)\"],[1,\"rgb(255,255,204)\"]],Bluered:[[0,\"rgb(0,0,255)\"],[1,\"rgb(255,0,0)\"]],RdBu:[[0,\"rgb(5,10,172)\"],[.35,\"rgb(106,137,247)\"],[.5,\"rgb(190,190,190)\"],[.6,\"rgb(220,170,132)\"],[.7,\"rgb(230,145,90)\"],[1,\"rgb(178,10,28)\"]],Reds:[[0,\"rgb(220,220,220)\"],[.2,\"rgb(245,195,157)\"],[.4,\"rgb(245,160,105)\"],[1,\"rgb(178,10,28)\"]],Blues:[[0,\"rgb(5,10,172)\"],[.35,\"rgb(40,60,190)\"],[.5,\"rgb(70,100,245)\"],[.6,\"rgb(90,120,245)\"],[.7,\"rgb(106,137,247)\"],[1,\"rgb(220,220,220)\"]],Picnic:[[0,\"rgb(0,0,255)\"],[.1,\"rgb(51,153,255)\"],[.2,\"rgb(102,204,255)\"],[.3,\"rgb(153,204,255)\"],[.4,\"rgb(204,204,255)\"],[.5,\"rgb(255,255,255)\"],[.6,\"rgb(255,204,255)\"],[.7,\"rgb(255,153,255)\"],[.8,\"rgb(255,102,204)\"],[.9,\"rgb(255,102,102)\"],[1,\"rgb(255,0,0)\"]],Rainbow:[[0,\"rgb(150,0,90)\"],[.125,\"rgb(0,0,200)\"],[.25,\"rgb(0,25,255)\"],[.375,\"rgb(0,152,255)\"],[.5,\"rgb(44,255,150)\"],[.625,\"rgb(151,255,0)\"],[.75,\"rgb(255,234,0)\"],[.875,\"rgb(255,111,0)\"],[1,\"rgb(255,0,0)\"]],Portland:[[0,\"rgb(12,51,131)\"],[.25,\"rgb(10,136,186)\"],[.5,\"rgb(242,211,56)\"],[.75,\"rgb(242,143,56)\"],[1,\"rgb(217,30,30)\"]],Jet:[[0,\"rgb(0,0,131)\"],[.125,\"rgb(0,60,170)\"],[.375,\"rgb(5,255,255)\"],[.625,\"rgb(255,255,0)\"],[.875,\"rgb(250,0,0)\"],[1,\"rgb(128,0,0)\"]],Hot:[[0,\"rgb(0,0,0)\"],[.3,\"rgb(230,0,0)\"],[.6,\"rgb(255,210,0)\"],[1,\"rgb(255,255,255)\"]],Blackbody:[[0,\"rgb(0,0,0)\"],[.2,\"rgb(230,0,0)\"],[.4,\"rgb(230,210,0)\"],[.7,\"rgb(255,255,255)\"],[1,\"rgb(160,200,255)\"]],Earth:[[0,\"rgb(0,0,130)\"],[.1,\"rgb(0,180,180)\"],[.2,\"rgb(40,210,40)\"],[.4,\"rgb(230,230,50)\"],[.6,\"rgb(120,70,20)\"],[1,\"rgb(255,255,255)\"]],Electric:[[0,\"rgb(0,0,0)\"],[.15,\"rgb(30,0,100)\"],[.4,\"rgb(120,0,100)\"],[.6,\"rgb(160,90,0)\"],[.8,\"rgb(230,200,0)\"],[1,\"rgb(255,250,220)\"]],Viridis:[[0,\"#440154\"],[.06274509803921569,\"#48186a\"],[.12549019607843137,\"#472d7b\"],[.18823529411764706,\"#424086\"],[.25098039215686274,\"#3b528b\"],[.3137254901960784,\"#33638d\"],[.3764705882352941,\"#2c728e\"],[.4392156862745098,\"#26828e\"],[.5019607843137255,\"#21918c\"],[.5647058823529412,\"#1fa088\"],[.6274509803921569,\"#28ae80\"],[.6901960784313725,\"#3fbc73\"],[.7529411764705882,\"#5ec962\"],[.8156862745098039,\"#84d44b\"],[.8784313725490196,\"#addc30\"],[.9411764705882353,\"#d8e219\"],[1,\"#fde725\"]],Cividis:[[0,\"rgb(0,32,76)\"],[.058824,\"rgb(0,42,102)\"],[.117647,\"rgb(0,52,110)\"],[.176471,\"rgb(39,63,108)\"],[.235294,\"rgb(60,74,107)\"],[.294118,\"rgb(76,85,107)\"],[.352941,\"rgb(91,95,109)\"],[.411765,\"rgb(104,106,112)\"],[.470588,\"rgb(117,117,117)\"],[.529412,\"rgb(131,129,120)\"],[.588235,\"rgb(146,140,120)\"],[.647059,\"rgb(161,152,118)\"],[.705882,\"rgb(176,165,114)\"],[.764706,\"rgb(192,177,109)\"],[.823529,\"rgb(209,191,102)\"],[.882353,\"rgb(225,204,92)\"],[.941176,\"rgb(243,219,79)\"],[1,\"rgb(255,233,69)\"]]},a=i.RdBu;function o(t){var e=0;if(!Array.isArray(t)||t.length<2)return!1;if(!t[0]||!t[t.length-1])return!1;if(0!=+t[0][0]||1!=+t[t.length-1][0])return!1;for(var r=0;r<t.length;r++){var i=t[r];if(2!==i.length||+i[0]<e||!n(i[1]).isValid())return!1;e=+i[0]}return!0}e.exports={scales:i,defaultScale:a,get:function(t,e){if(e||(e=a),!t)return e;function r(){try{t=i[t]||JSON.parse(t)}catch(r){t=e}}return\"string\"==typeof t&&(r(),\"string\"==typeof t&&r()),o(t)?t:e},isValid:function(t){return void 0!==i[t]||o(t)}}},{tinycolor2:312}],382:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,n,i){var a=(t-r)/(n-r),o=a+e/(n-r),s=(a+o)/2;return\"left\"===i||\"bottom\"===i?a:\"center\"===i||\"middle\"===i?s:\"right\"===i||\"top\"===i?o:a<2/3-s?a:o>4/3-s?o:s}},{}],383:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=[[\"sw-resize\",\"s-resize\",\"se-resize\"],[\"w-resize\",\"move\",\"e-resize\"],[\"nw-resize\",\"n-resize\",\"ne-resize\"]];e.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]}},{\"../../lib\":503}],384:[function(t,e,r){\"use strict\";r.selectMode=function(t){return\"lasso\"===t||\"select\"===t},r.drawMode=function(t){return\"drawclosedpath\"===t||\"drawopenpath\"===t||\"drawline\"===t||\"drawrect\"===t||\"drawcircle\"===t},r.openMode=function(t){return\"drawline\"===t||\"drawopenpath\"===t},r.rectMode=function(t){return\"select\"===t||\"drawline\"===t||\"drawrect\"===t||\"drawcircle\"===t},r.freeMode=function(t){return\"lasso\"===t||\"drawclosedpath\"===t||\"drawopenpath\"===t},r.selectingOrDrawing=function(t){return r.freeMode(t)||r.rectMode(t)}},{}],385:[function(t,e,r){\"use strict\";var n=t(\"mouse-event-offset\"),i=t(\"has-hover\"),a=t(\"has-passive-events\"),o=t(\"../../lib\").removeElement,s=t(\"../../plots/cartesian/constants\"),l=e.exports={};l.align=t(\"./align\"),l.getCursor=t(\"./cursor\");var c=t(\"./unhover\");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 f(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,h,p,d,m,g=t.gd,v=1,y=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)<r&&(t=0),Math.abs(e)<r&&(e=0),[t,e]};function _(a){g._dragged=!1,g._dragging=!0;var o=f(a);e=o[0],r=o[1],d=a.target,p=a,m=2===a.buttons||a.ctrlKey,void 0===a.clientX&&void 0===a.clientY&&(a.clientX=e,a.clientY=r),(n=(new Date).getTime())-g._mouseDownTime<y?v+=1:(v=1,g._mouseDownTime=n),t.prepFn&&t.prepFn(a,e,r),i&&!m?(h=u()).style.cursor=window.getComputedStyle(x).cursor:i||(h=document,c=window.getComputedStyle(document.documentElement).cursor,document.documentElement.style.cursor=window.getComputedStyle(x).cursor),document.addEventListener(\"mouseup\",T),document.addEventListener(\"touchend\",T),!1!==t.dragmode&&(a.preventDefault(),document.addEventListener(\"mousemove\",w),document.addEventListener(\"touchmove\",w,{passive:!1}))}function w(n){n.preventDefault();var i=f(n),a=t.minDrag||s.MINDRAG,o=b(i[0]-e,i[1]-r,a),c=o[0],u=o[1];(c||u)&&(g._dragged=!0,l.unhover(g,n)),g._dragged&&t.moveFn&&!m&&(g._dragdata={element:x,dx:c,dy:u},t.moveFn(c,u))}function T(e){if(delete g._dragdata,!1!==t.dragmode&&(e.preventDefault(),document.removeEventListener(\"mousemove\",w),document.removeEventListener(\"touchmove\",w)),document.removeEventListener(\"mouseup\",T),document.removeEventListener(\"touchend\",T),i?o(h):c&&(h.documentElement.style.cursor=c,c=null),g._dragging){if(g._dragging=!1,(new Date).getTime()-g._mouseDownTime>y&&(v=Math.max(v-1,1)),g._dragged)t.doneFn&&t.doneFn();else if(t.clickFn&&t.clickFn(v,p),!m){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=u},{\"../../lib\":503,\"../../plots/cartesian/constants\":561,\"./align\":382,\"./cursor\":383,\"./unhover\":386,\"has-hover\":228,\"has-passive-events\":229,\"mouse-event-offset\":242}],386:[function(t,e,r){\"use strict\";var n=t(\"../../lib/events\"),i=t(\"../../lib/throttle\"),a=t(\"../../lib/dom\").getGraphDiv,o=t(\"../fx/constants\"),s=e.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}))}},{\"../../lib/dom\":491,\"../../lib/events\":492,\"../../lib/throttle\":530,\"../fx/constants\":400}],387:[function(t,e,r){\"use strict\";r.dash={valType:\"string\",values:[\"solid\",\"dot\",\"dash\",\"longdash\",\"dashdot\",\"longdashdot\"],dflt:\"solid\",editType:\"style\"},r.pattern={shape:{valType:\"enumerated\",values:[\"\",\"/\",\"\\\\\",\"x\",\"-\",\"|\",\"+\",\".\"],dflt:\"\",arrayOk:!0,editType:\"style\"},fillmode:{valType:\"enumerated\",values:[\"replace\",\"overlay\"],dflt:\"replace\",editType:\"style\"},bgcolor:{valType:\"color\",arrayOk:!0,editType:\"style\"},fgcolor:{valType:\"color\",arrayOk:!0,editType:\"style\"},fgopacity:{valType:\"number\",editType:\"style\",min:0,max:1},size:{valType:\"number\",min:0,dflt:8,arrayOk:!0,editType:\"style\"},solidity:{valType:\"number\",min:0,max:1,dflt:.3,arrayOk:!0,editType:\"style\"},editType:\"style\"}},{}],388:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../../lib\"),a=i.numberFormat,o=t(\"fast-isnumeric\"),s=t(\"tinycolor2\"),l=t(\"../../registry\"),c=t(\"../color\"),u=t(\"../colorscale\"),f=i.strTranslate,h=t(\"../../lib/svg_text_utils\"),p=t(\"../../constants/xmlns_namespaces\"),d=t(\"../../constants/alignment\").LINE_SPACING,m=t(\"../../constants/interactions\").DESELECTDIM,g=t(\"../../traces/scatter/subtypes\"),v=t(\"../../traces/scatter/make_bubble_size_func\"),y=t(\"../../components/fx/helpers\").appendArrayPointValue,x=e.exports={};function b(t,e,r){var n=e.fillpattern,i=n&&x.getPatternAttr(n.shape,0,\"\");if(i){var a=x.getPatternAttr(n.bgcolor,0,null),o=x.getPatternAttr(n.fgcolor,0,null),s=n.fgopacity,l=x.getPatternAttr(n.size,0,8),u=x.getPatternAttr(n.solidity,0,.3),f=e.uid;x.pattern(t,\"point\",r,f,i,l,u,void 0,n.fillmode,a,o,s)}else e.fillcolor&&t.call(c.fill,e.fillcolor)}x.font=function(t,e,r,n){i.isPlainObject(e)&&(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(c.fill,n)},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,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());b(t,((r.data()[0]||[])[0]||{}).trace||{},e)},x.fillGroupStyle=function(t,e){t.style(\"stroke-width\",0).each((function(t){var r=n.select(this);t[0].trace&&b(r,t[0].trace,e)}))};var _=t(\"./symbol_defs\");x.symbolNames=[],x.symbolFuncs=[],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,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){var r=t%100;return x.symbolFuncs[r](e)+(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={x1:1,x2:0,y1:0,y2:0},A={x1:0,x2:0,y1:1,y2:0},M=a(\"~f\"),S={radial:{node:\"radialGradient\"},radialreversed:{node:\"radialGradient\",reversed:!0},horizontal:{node:\"linearGradient\",attrs:k},horizontalreversed:{node:\"linearGradient\",attrs:k,reversed:!0},vertical:{node:\"linearGradient\",attrs:A},verticalreversed:{node:\"linearGradient\",attrs:A,reversed:!0}};x.gradient=function(t,e,r,a,o,l){for(var u=o.length,f=S[a],h=new Array(u),p=0;p<u;p++)f.reversed?h[u-1-p]=[M(100*(1-o[p][0])),o[p][1]]:h[p]=[M(100*o[p][0]),o[p][1]];var d=e._fullLayout,m=\"g\"+d._uid+\"-\"+r,g=d._defs.select(\".gradients\").selectAll(\"#\"+m).data([a+h.join(\";\")],i.identity);g.exit().remove(),g.enter().append(f.node).each((function(){var t=n.select(this);f.attrs&&t.attr(f.attrs),t.attr(\"id\",m);var e=t.selectAll(\"stop\").data(h);e.exit().remove(),e.enter().append(\"stop\"),e.each((function(t){var e=s(t[1]);n.select(this).attr({offset:t[0]+\"%\",\"stop-color\":c.tinyRGB(e),\"stop-opacity\":e.getAlpha()})}))})),t.style(l,R(m,e)).style(l+\"-opacity\",null),t.classed(\"gradient_filled\",!0)},x.pattern=function(t,e,r,a,o,s,l,u,f,h,p,d){var m=\"legend\"===e;u&&(\"overlay\"===f?(h=u,p=c.contrast(h)):(h=void 0,p=u));var g,v,y,x,b,_,w,T,k,A,M,S=r._fullLayout,E=\"p\"+S._uid+\"-\"+a,L={};switch(o){case\"/\":g=s*Math.sqrt(2),v=s*Math.sqrt(2),_=\"path\",L={d:y=\"M-\"+g/4+\",\"+v/4+\"l\"+g/2+\",-\"+v/2+\"M0,\"+v+\"L\"+g+\",0M\"+g/4*3+\",\"+v/4*5+\"l\"+g/2+\",-\"+v/2,opacity:d,stroke:p,\"stroke-width\":(x=l*s)+\"px\"};break;case\"\\\\\":g=s*Math.sqrt(2),v=s*Math.sqrt(2),_=\"path\",L={d:y=\"M\"+g/4*3+\",-\"+v/4+\"l\"+g/2+\",\"+v/2+\"M0,0L\"+g+\",\"+v+\"M-\"+g/4+\",\"+v/4*3+\"l\"+g/2+\",\"+v/2,opacity:d,stroke:p,\"stroke-width\":(x=l*s)+\"px\"};break;case\"x\":g=s*Math.sqrt(2),v=s*Math.sqrt(2),y=\"M-\"+g/4+\",\"+v/4+\"l\"+g/2+\",-\"+v/2+\"M0,\"+v+\"L\"+g+\",0M\"+g/4*3+\",\"+v/4*5+\"l\"+g/2+\",-\"+v/2+\"M\"+g/4*3+\",-\"+v/4+\"l\"+g/2+\",\"+v/2+\"M0,0L\"+g+\",\"+v+\"M-\"+g/4+\",\"+v/4*3+\"l\"+g/2+\",\"+v/2,x=s-s*Math.sqrt(1-l),_=\"path\",L={d:y,opacity:d,stroke:p,\"stroke-width\":x+\"px\"};break;case\"|\":_=\"path\",_=\"path\",L={d:y=\"M\"+(g=s)/2+\",0L\"+g/2+\",\"+(v=s),opacity:d,stroke:p,\"stroke-width\":(x=l*s)+\"px\"};break;case\"-\":_=\"path\",_=\"path\",L={d:y=\"M0,\"+(v=s)/2+\"L\"+(g=s)+\",\"+v/2,opacity:d,stroke:p,\"stroke-width\":(x=l*s)+\"px\"};break;case\"+\":_=\"path\",y=\"M\"+(g=s)/2+\",0L\"+g/2+\",\"+(v=s)+\"M0,\"+v/2+\"L\"+g+\",\"+v/2,x=s-s*Math.sqrt(1-l),_=\"path\",L={d:y,opacity:d,stroke:p,\"stroke-width\":x+\"px\"};break;case\".\":g=s,v=s,l<Math.PI/4?b=Math.sqrt(l*s*s/Math.PI):(w=l,T=Math.PI/4,k=1,A=s/2,M=s/Math.sqrt(2),b=A+(M-A)*(w-T)/(k-T)),_=\"circle\",L={cx:g/2,cy:v/2,r:b,opacity:d,fill:p}}var C=[o||\"noSh\",h||\"noBg\",p||\"noFg\",s,l].join(\";\"),P=S._defs.select(\".patterns\").selectAll(\"#\"+E).data([C],i.identity);P.exit().remove(),P.enter().append(\"pattern\").each((function(){var t=n.select(this);if(t.attr({id:E,width:g+\"px\",height:v+\"px\",patternUnits:\"userSpaceOnUse\",patternTransform:m?\"scale(0.8)\":\"\"}),h){var e=t.selectAll(\"rect\").data([0]);e.exit().remove(),e.enter().append(\"rect\").attr({width:g+\"px\",height:v+\"px\",fill:h})}var r=t.selectAll(_).data([0]);r.exit().remove(),r.enter().append(_).attr(L)})),t.style(\"fill\",R(E,r)).style(\"fill-opacity\",null),t.classed(\"pattern_filled\",!0)},x.initGradients=function(t){var e=t._fullLayout;i.ensureSingle(e._defs,\"g\",\"gradients\").selectAll(\"linearGradient,radialGradient\").remove(),n.select(t).selectAll(\".gradient_filled\").classed(\"gradient_filled\",!1)},x.initPatterns=function(t){var e=t._fullLayout;i.ensureSingle(e._defs,\"g\",\"patterns\").selectAll(\"pattern\").remove(),n.select(t).selectAll(\".pattern_filled\").classed(\"pattern_filled\",!1)},x.getPatternAttr=function(t,e,r){return t&&i.isArrayOrTypedArray(t)?e<t.length?t[e]:r:t},x.pointStyle=function(t,e,r){if(t.size()){var i=x.makePointStyleFns(e);t.each((function(t){x.singlePointStyle(t,n.select(this),e,i,r)}))}},x.singlePointStyle=function(t,e,r,n,a){var o=r.marker,s=o.line;if(e.style(\"opacity\",n.selectedOpacityFn?n.selectedOpacityFn(t):void 0===t.mo?o.opacity:t.mo),n.ms2mrc){var l;l=\"various\"===t.ms||\"various\"===o.size?3:n.ms2mrc(t.ms),t.mrc=l,n.selectedSizeFn&&(l=t.mrc=n.selectedSizeFn(t));var u=x.symbolNumber(t.mx||o.symbol)||0;t.om=u%200>=100,e.attr(\"d\",T(u,l))}var f,h,p,d=!1;if(t.so)p=s.outlierwidth,h=s.outliercolor,f=o.outliercolor;else{var m=(s||{}).width;p=(t.mlw+1||m+1||(t.trace?(t.trace.marker.line||{}).width:0)+1)-1||0,h=\"mlc\"in t?t.mlcc=n.lineScale(t.mlc):i.isArrayOrTypedArray(s.color)?c.defaultLine:s.color,i.isArrayOrTypedArray(o.color)&&(f=c.defaultLine,d=!0),f=\"mc\"in t?t.mcc=n.markerScale(t.mc):o.color||\"rgba(0,0,0,0)\",n.selectedColorFn&&(f=n.selectedColorFn(t))}if(t.om)e.call(c.stroke,f).style({\"stroke-width\":(p||1)+\"px\",fill:\"none\"});else{e.style(\"stroke-width\",(t.isBlank?0:p)+\"px\");var g=o.gradient,v=t.mgt;v?d=!0:v=g&&g.type,i.isArrayOrTypedArray(v)&&(v=v[0],S[v]||(v=0));var y=o.pattern,b=y&&x.getPatternAttr(y.shape,t.i,\"\");if(v&&\"none\"!==v){var _=t.mgc;_?d=!0:_=g.color;var w=r.uid;d&&(w+=\"-\"+t.i),x.gradient(e,a,w,v,[[0,_],[1,f]],\"fill\")}else if(b){var k=x.getPatternAttr(y.bgcolor,t.i,null),A=x.getPatternAttr(y.fgcolor,t.i,null),M=y.fgopacity,E=x.getPatternAttr(y.size,t.i,8),L=x.getPatternAttr(y.solidity,t.i,.3),C=t.mcc||i.isArrayOrTypedArray(y.shape)||i.isArrayOrTypedArray(y.bgcolor)||i.isArrayOrTypedArray(y.size)||i.isArrayOrTypedArray(y.solidity),P=r.uid;C&&(P+=\"-\"+t.i),x.pattern(e,\"point\",a,P,b,E,L,t.mcc,y.fillmode,k,A,M)}else c.fill(e,f);p&&c.stroke(e,h)}},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)?v(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,f=s.opacity,h=void 0!==u,p=void 0!==f;(i.isArrayOrTypedArray(c)||h||p)&&(e.selectedOpacityFn=function(t){var e=void 0===t.mo?a.opacity:t.mo;return t.selected?h?u:e:p?f:m*e});var d=a.color,g=o.color,v=s.color;(g||v)&&(e.selectedColorFn=function(t){var e=t.mcc||d;return t.selected?g||e:v||e});var y=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||y/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,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,e){var n=e.mx||i.symbol||0,a=r.selectedSizeFn(e);t.attr(\"d\",T(x.symbolNumber(n),a)),e.mrc2=a})),a.length&&t.each((function(t){for(var e=n.select(this),r=0;r<a.length;r++)a[r](e,t)}))}},x.tryColorscale=function(t,e){var r=e?i.nestedProperty(t,e).get():t;if(r){var n=r.color;if((r.colorscale||r._colorAx)&&i.isArrayOrTypedArray(n))return u.makeColorScaleFuncFromTrace(r)}return i.identity};var E={start:1,end:-1,middle:0,bottom:1,top:-1};function L(t,e,r,i,a){var o=n.select(t.node().parentNode),s=-1!==e.indexOf(\"top\")?\"top\":-1!==e.indexOf(\"bottom\")?\"bottom\":\"middle\",l=-1!==e.indexOf(\"left\")?\"end\":-1!==e.indexOf(\"right\")?\"start\":\"middle\",c=i?i/.8+1:0,u=(h.lineCount(t)-1)*d+1,p=E[l]*c,m=.75*r+E[s]*c+(E[s]-1)*u*r/2;t.attr(\"text-anchor\",l),a||o.attr(\"transform\",f(p,m))}function C(t,e){var r=t.ts||e.textfont.size;return o(r)&&r>0?r:0}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,f=u?u(t,e,l):{},p={};y(p,e,t.i);var d=e._meta||{};c=i.texttemplateString(c,f,l._d3locale,p,t,d)}var m=t.tp||e.textposition,g=C(t,e),v=a?a(t):t.tc||e.textfont.color;o.call(x.font,t.tf||e.textfont.family,g,v).text(c).call(h.convertToTspans,r).call(L,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=C(t,e);c.fill(i,a);var u=l.traceIs(e,\"bar-like\");L(i,o,s,t.mrc2||t.mrc,u)}))}};function P(t,e,r,i){var a=t[0]-e[0],o=t[1]-e[1],s=r[0]-e[0],l=r[1]-e[1],c=Math.pow(a*a+o*o,.25),u=Math.pow(s*s+l*l,.25),f=(u*u*a-c*c*s)*i,h=(u*u*o-c*c*l)*i,p=3*u*(c+u),d=3*c*(c+u);return[[n.round(e[0]+(p&&f/p),2),n.round(e[1]+(p&&h/p),2)],[n.round(e[0]-(d&&f/d),2),n.round(e[1]-(d&&h/d),2)]]}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<t.length-1;r++)i.push(P(t[r-1],t[r],t[r+1],e));for(n+=\"Q\"+i[0][0]+\" \"+t[1],r=2;r<t.length-1;r++)n+=\"C\"+i[r-2][1]+\" \"+i[r-1][0]+\" \"+t[r];return n+=\"Q\"+i[t.length-3][1]+\" \"+t[t.length-1]},x.smoothclosed=function(t,e){if(t.length<3)return\"M\"+t.join(\"L\")+\"Z\";var r,n=\"M\"+t[0],i=t.length-1,a=[P(t[i],t[0],t[1],e)];for(r=1;r<i;r++)a.push(P(t[r-1],t[r],t[r+1],e));for(a.push(P(t[i-1],t[i],t[0],e)),r=1;r<=i;r++)n+=\"C\"+a[r-1][1]+\" \"+a[r][0]+\" \"+t[r];return n+=\"C\"+a[i][1]+\" \"+a[0][0]+\" \"+t[0]+\"Z\"};var I={hv:function(t,e){return\"H\"+n.round(e[0],2)+\"V\"+n.round(e[1],2)},vh:function(t,e){return\"V\"+n.round(e[1],2)+\"H\"+n.round(e[0],2)},hvh:function(t,e){return\"H\"+n.round((t[0]+e[0])/2,2)+\"V\"+n.round(e[1],2)+\"H\"+n.round(e[0],2)},vhv:function(t,e){return\"V\"+n.round((t[1]+e[1])/2,2)+\"H\"+n.round(e[0],2)+\"V\"+n.round(e[1],2)}},O=function(t,e){return\"L\"+n.round(e[0],2)+\",\"+n.round(e[1],2)};x.steps=function(t){var e=I[t]||O;return function(t){for(var r=\"M\"+n.round(t[0][0],2)+\",\"+n.round(t[0][1],2),i=1;i<t.length;i++)r+=e(t[i-1],t[i]);return r}},x.makeTester=function(){var t=i.ensureSingleById(n.select(\"body\"),\"svg\",\"js-plotly-tester\",(function(t){t.attr(p.svgAttrs).style({position:\"absolute\",left:\"-10000px\",top:\"-10000px\",width:\"9000px\",height:\"9000px\",\"z-index\":\"1\"})})),e=i.ensureSingle(t,\"path\",\"js-reference-point\",(function(t){t.attr(\"d\",\"M0,0H1V1H0Z\").style({\"stroke-width\":0,fill:\"black\"})}));x.tester=t,x.testref=e},x.savedBBoxes={};var z=0;function D(t){var e=t.getAttribute(\"data-unformatted\");if(null!==e)return e+t.getAttribute(\"data-math\")+t.getAttribute(\"text-anchor\")+t.getAttribute(\"style\")}function R(t,e){if(!t)return null;var r=e._context,n=r._exportedPlot?\"\":r._baseUrl||\"\";return n?\"url('\"+n+\"#\"+t+\"')\":\"url(#\"+t+\")\"}x.bBox=function(t,e,r){var a,o,s;if(r||(r=D(t)),r){if(a=x.savedBBoxes[r])return i.extendFlat({},a)}else if(1===t.childNodes.length){var l=t.childNodes[0];if(r=D(l)){var c=+l.getAttribute(\"x\")||0,u=+l.getAttribute(\"y\")||0,f=l.getAttribute(\"transform\");if(!f){var p=x.bBox(l,!1,r);return c&&(p.left+=c,p.right+=c),u&&(p.top+=u,p.bottom+=u),p}if(r+=\"~\"+c+\"~\"+u+\"~\"+f,a=x.savedBBoxes[r])return i.extendFlat({},a)}}e?o=t:(s=x.tester.node(),o=t.cloneNode(!0),s.appendChild(o)),n.select(o).attr(\"transform\",null).call(h.positionText,0,0);var d=o.getBoundingClientRect(),m=x.testref.node().getBoundingClientRect();e||s.removeChild(o);var g={height:d.height,width:d.width,left:d.left-m.left,top:d.top-m.top,right:d.right-m.left,bottom:d.bottom-m.top};return z>=1e4&&(x.savedBBoxes={},z=0),r&&(x.savedBBoxes[r]=g),z++,i.extendFlat({},g)},x.setClipUrl=function(t,e,r){t.attr(\"clip-path\",R(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 F=/\\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(F,\"\");t=(t+=n).trim(),this.setAttribute(\"transform\",t)}))}};var B=/translate\\([^)]*\\)\\s*$/;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(B);t=1===e&&1===r?[]:[f(o,s),\"scale(\"+e+\",\"+r+\")\",f(-o,-s)],l&&t.push(l),i.attr(\"transform\",t.join(\"\"))}}))}},{\"../../components/fx/helpers\":402,\"../../constants/alignment\":471,\"../../constants/interactions\":478,\"../../constants/xmlns_namespaces\":480,\"../../lib\":503,\"../../lib/svg_text_utils\":529,\"../../registry\":638,\"../../traces/scatter/make_bubble_size_func\":944,\"../../traces/scatter/subtypes\":952,\"../color\":366,\"../colorscale\":378,\"./symbol_defs\":389,\"@plotly/d3\":58,\"fast-isnumeric\":190,tinycolor2:312}],389:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\");e.exports={circle:{n:0,f:function(t){var e=n.round(t,2);return\"M\"+e+\",0A\"+e+\",\"+e+\" 0 1,1 0,-\"+e+\"A\"+e+\",\"+e+\" 0 0,1 \"+e+\",0Z\"}},square:{n:1,f:function(t){var e=n.round(t,2);return\"M\"+e+\",\"+e+\"H-\"+e+\"V-\"+e+\"H\"+e+\"Z\"}},diamond:{n:2,f:function(t){var e=n.round(1.3*t,2);return\"M\"+e+\",0L0,\"+e+\"L-\"+e+\",0L0,-\"+e+\"Z\"}},cross:{n:3,f:function(t){var e=n.round(.4*t,2),r=n.round(1.2*t,2);return\"M\"+r+\",\"+e+\"H\"+e+\"V\"+r+\"H-\"+e+\"V\"+e+\"H-\"+r+\"V-\"+e+\"H-\"+e+\"V-\"+r+\"H\"+e+\"V-\"+e+\"H\"+r+\"Z\"}},x:{n:4,f:function(t){var e=n.round(.8*t/Math.sqrt(2),2),r=\"l\"+e+\",\"+e,i=\"l\"+e+\",-\"+e,a=\"l-\"+e+\",-\"+e,o=\"l-\"+e+\",\"+e;return\"M0,\"+e+r+i+a+i+a+o+a+o+r+o+r+\"Z\"}},\"triangle-up\":{n:5,f:function(t){var e=n.round(2*t/Math.sqrt(3),2);return\"M-\"+e+\",\"+n.round(t/2,2)+\"H\"+e+\"L0,-\"+n.round(t,2)+\"Z\"}},\"triangle-down\":{n:6,f:function(t){var e=n.round(2*t/Math.sqrt(3),2);return\"M-\"+e+\",-\"+n.round(t/2,2)+\"H\"+e+\"L0,\"+n.round(t,2)+\"Z\"}},\"triangle-left\":{n:7,f:function(t){var e=n.round(2*t/Math.sqrt(3),2);return\"M\"+n.round(t/2,2)+\",-\"+e+\"V\"+e+\"L-\"+n.round(t,2)+\",0Z\"}},\"triangle-right\":{n:8,f:function(t){var e=n.round(2*t/Math.sqrt(3),2);return\"M-\"+n.round(t/2,2)+\",-\"+e+\"V\"+e+\"L\"+n.round(t,2)+\",0Z\"}},\"triangle-ne\":{n:9,f:function(t){var e=n.round(.6*t,2),r=n.round(1.2*t,2);return\"M-\"+r+\",-\"+e+\"H\"+e+\"V\"+r+\"Z\"}},\"triangle-se\":{n:10,f:function(t){var e=n.round(.6*t,2),r=n.round(1.2*t,2);return\"M\"+e+\",-\"+r+\"V\"+e+\"H-\"+r+\"Z\"}},\"triangle-sw\":{n:11,f:function(t){var e=n.round(.6*t,2),r=n.round(1.2*t,2);return\"M\"+r+\",\"+e+\"H-\"+e+\"V-\"+r+\"Z\"}},\"triangle-nw\":{n:12,f:function(t){var e=n.round(.6*t,2),r=n.round(1.2*t,2);return\"M-\"+e+\",\"+r+\"V-\"+e+\"H\"+r+\"Z\"}},pentagon:{n:13,f:function(t){var e=n.round(.951*t,2),r=n.round(.588*t,2),i=n.round(-t,2),a=n.round(-.309*t,2);return\"M\"+e+\",\"+a+\"L\"+r+\",\"+n.round(.809*t,2)+\"H-\"+r+\"L-\"+e+\",\"+a+\"L0,\"+i+\"Z\"}},hexagon:{n:14,f:function(t){var e=n.round(t,2),r=n.round(t/2,2),i=n.round(t*Math.sqrt(3)/2,2);return\"M\"+i+\",-\"+r+\"V\"+r+\"L0,\"+e+\"L-\"+i+\",\"+r+\"V-\"+r+\"L0,-\"+e+\"Z\"}},hexagon2:{n:15,f:function(t){var e=n.round(t,2),r=n.round(t/2,2),i=n.round(t*Math.sqrt(3)/2,2);return\"M-\"+r+\",\"+i+\"H\"+r+\"L\"+e+\",0L\"+r+\",-\"+i+\"H-\"+r+\"L-\"+e+\",0Z\"}},octagon:{n:16,f:function(t){var e=n.round(.924*t,2),r=n.round(.383*t,2);return\"M-\"+r+\",-\"+e+\"H\"+r+\"L\"+e+\",-\"+r+\"V\"+r+\"L\"+r+\",\"+e+\"H-\"+r+\"L-\"+e+\",\"+r+\"V-\"+r+\"Z\"}},star:{n:17,f:function(t){var e=1.4*t,r=n.round(.225*e,2),i=n.round(.951*e,2),a=n.round(.363*e,2),o=n.round(.588*e,2),s=n.round(-e,2),l=n.round(-.309*e,2),c=n.round(.118*e,2),u=n.round(.809*e,2);return\"M\"+r+\",\"+l+\"H\"+i+\"L\"+a+\",\"+c+\"L\"+o+\",\"+u+\"L0,\"+n.round(.382*e,2)+\"L-\"+o+\",\"+u+\"L-\"+a+\",\"+c+\"L-\"+i+\",\"+l+\"H-\"+r+\"L0,\"+s+\"Z\"}},hexagram:{n:18,f:function(t){var e=n.round(.66*t,2),r=n.round(.38*t,2),i=n.round(.76*t,2);return\"M-\"+i+\",0l-\"+r+\",-\"+e+\"h\"+i+\"l\"+r+\",-\"+e+\"l\"+r+\",\"+e+\"h\"+i+\"l-\"+r+\",\"+e+\"l\"+r+\",\"+e+\"h-\"+i+\"l-\"+r+\",\"+e+\"l-\"+r+\",-\"+e+\"h-\"+i+\"Z\"}},\"star-triangle-up\":{n:19,f:function(t){var e=n.round(t*Math.sqrt(3)*.8,2),r=n.round(.8*t,2),i=n.round(1.6*t,2),a=n.round(4*t,2),o=\"A \"+a+\",\"+a+\" 0 0 1 \";return\"M-\"+e+\",\"+r+o+e+\",\"+r+o+\"0,-\"+i+o+\"-\"+e+\",\"+r+\"Z\"}},\"star-triangle-down\":{n:20,f:function(t){var e=n.round(t*Math.sqrt(3)*.8,2),r=n.round(.8*t,2),i=n.round(1.6*t,2),a=n.round(4*t,2),o=\"A \"+a+\",\"+a+\" 0 0 1 \";return\"M\"+e+\",-\"+r+o+\"-\"+e+\",-\"+r+o+\"0,\"+i+o+e+\",-\"+r+\"Z\"}},\"star-square\":{n:21,f:function(t){var e=n.round(1.1*t,2),r=n.round(2*t,2),i=\"A \"+r+\",\"+r+\" 0 0 1 \";return\"M-\"+e+\",-\"+e+i+\"-\"+e+\",\"+e+i+e+\",\"+e+i+e+\",-\"+e+i+\"-\"+e+\",-\"+e+\"Z\"}},\"star-diamond\":{n:22,f:function(t){var e=n.round(1.4*t,2),r=n.round(1.9*t,2),i=\"A \"+r+\",\"+r+\" 0 0 1 \";return\"M-\"+e+\",0\"+i+\"0,\"+e+i+e+\",0\"+i+\"0,-\"+e+i+\"-\"+e+\",0Z\"}},\"diamond-tall\":{n:23,f:function(t){var e=n.round(.7*t,2),r=n.round(1.4*t,2);return\"M0,\"+r+\"L\"+e+\",0L0,-\"+r+\"L-\"+e+\",0Z\"}},\"diamond-wide\":{n:24,f:function(t){var e=n.round(1.4*t,2),r=n.round(.7*t,2);return\"M0,\"+r+\"L\"+e+\",0L0,-\"+r+\"L-\"+e+\",0Z\"}},hourglass:{n:25,f:function(t){var e=n.round(t,2);return\"M\"+e+\",\"+e+\"H-\"+e+\"L\"+e+\",-\"+e+\"H-\"+e+\"Z\"},noDot:!0},bowtie:{n:26,f:function(t){var e=n.round(t,2);return\"M\"+e+\",\"+e+\"V-\"+e+\"L-\"+e+\",\"+e+\"V-\"+e+\"Z\"},noDot:!0},\"circle-cross\":{n:27,f:function(t){var e=n.round(t,2);return\"M0,\"+e+\"V-\"+e+\"M\"+e+\",0H-\"+e+\"M\"+e+\",0A\"+e+\",\"+e+\" 0 1,1 0,-\"+e+\"A\"+e+\",\"+e+\" 0 0,1 \"+e+\",0Z\"},needLine:!0,noDot:!0},\"circle-x\":{n:28,f:function(t){var e=n.round(t,2),r=n.round(t/Math.sqrt(2),2);return\"M\"+r+\",\"+r+\"L-\"+r+\",-\"+r+\"M\"+r+\",-\"+r+\"L-\"+r+\",\"+r+\"M\"+e+\",0A\"+e+\",\"+e+\" 0 1,1 0,-\"+e+\"A\"+e+\",\"+e+\" 0 0,1 \"+e+\",0Z\"},needLine:!0,noDot:!0},\"square-cross\":{n:29,f:function(t){var e=n.round(t,2);return\"M0,\"+e+\"V-\"+e+\"M\"+e+\",0H-\"+e+\"M\"+e+\",\"+e+\"H-\"+e+\"V-\"+e+\"H\"+e+\"Z\"},needLine:!0,noDot:!0},\"square-x\":{n:30,f:function(t){var e=n.round(t,2);return\"M\"+e+\",\"+e+\"L-\"+e+\",-\"+e+\"M\"+e+\",-\"+e+\"L-\"+e+\",\"+e+\"M\"+e+\",\"+e+\"H-\"+e+\"V-\"+e+\"H\"+e+\"Z\"},needLine:!0,noDot:!0},\"diamond-cross\":{n:31,f:function(t){var e=n.round(1.3*t,2);return\"M\"+e+\",0L0,\"+e+\"L-\"+e+\",0L0,-\"+e+\"ZM0,-\"+e+\"V\"+e+\"M-\"+e+\",0H\"+e},needLine:!0,noDot:!0},\"diamond-x\":{n:32,f:function(t){var e=n.round(1.3*t,2),r=n.round(.65*t,2);return\"M\"+e+\",0L0,\"+e+\"L-\"+e+\",0L0,-\"+e+\"ZM-\"+r+\",-\"+r+\"L\"+r+\",\"+r+\"M-\"+r+\",\"+r+\"L\"+r+\",-\"+r},needLine:!0,noDot:!0},\"cross-thin\":{n:33,f:function(t){var e=n.round(1.4*t,2);return\"M0,\"+e+\"V-\"+e+\"M\"+e+\",0H-\"+e},needLine:!0,noDot:!0,noFill:!0},\"x-thin\":{n:34,f:function(t){var e=n.round(t,2);return\"M\"+e+\",\"+e+\"L-\"+e+\",-\"+e+\"M\"+e+\",-\"+e+\"L-\"+e+\",\"+e},needLine:!0,noDot:!0,noFill:!0},asterisk:{n:35,f:function(t){var e=n.round(1.2*t,2),r=n.round(.85*t,2);return\"M0,\"+e+\"V-\"+e+\"M\"+e+\",0H-\"+e+\"M\"+r+\",\"+r+\"L-\"+r+\",-\"+r+\"M\"+r+\",-\"+r+\"L-\"+r+\",\"+r},needLine:!0,noDot:!0,noFill:!0},hash:{n:36,f:function(t){var e=n.round(t/2,2),r=n.round(t,2);return\"M\"+e+\",\"+r+\"V-\"+r+\"m-\"+r+\",0V\"+r+\"M\"+r+\",\"+e+\"H-\"+r+\"m0,-\"+r+\"H\"+r},needLine:!0,noFill:!0},\"y-up\":{n:37,f:function(t){var e=n.round(1.2*t,2),r=n.round(1.6*t,2),i=n.round(.8*t,2);return\"M-\"+e+\",\"+i+\"L0,0M\"+e+\",\"+i+\"L0,0M0,-\"+r+\"L0,0\"},needLine:!0,noDot:!0,noFill:!0},\"y-down\":{n:38,f:function(t){var e=n.round(1.2*t,2),r=n.round(1.6*t,2),i=n.round(.8*t,2);return\"M-\"+e+\",-\"+i+\"L0,0M\"+e+\",-\"+i+\"L0,0M0,\"+r+\"L0,0\"},needLine:!0,noDot:!0,noFill:!0},\"y-left\":{n:39,f:function(t){var e=n.round(1.2*t,2),r=n.round(1.6*t,2),i=n.round(.8*t,2);return\"M\"+i+\",\"+e+\"L0,0M\"+i+\",-\"+e+\"L0,0M-\"+r+\",0L0,0\"},needLine:!0,noDot:!0,noFill:!0},\"y-right\":{n:40,f:function(t){var e=n.round(1.2*t,2),r=n.round(1.6*t,2),i=n.round(.8*t,2);return\"M-\"+i+\",\"+e+\"L0,0M-\"+i+\",-\"+e+\"L0,0M\"+r+\",0L0,0\"},needLine:!0,noDot:!0,noFill:!0},\"line-ew\":{n:41,f:function(t){var e=n.round(1.4*t,2);return\"M\"+e+\",0H-\"+e},needLine:!0,noDot:!0,noFill:!0},\"line-ns\":{n:42,f:function(t){var e=n.round(1.4*t,2);return\"M0,\"+e+\"V-\"+e},needLine:!0,noDot:!0,noFill:!0},\"line-ne\":{n:43,f:function(t){var e=n.round(t,2);return\"M\"+e+\",-\"+e+\"L-\"+e+\",\"+e},needLine:!0,noDot:!0,noFill:!0},\"line-nw\":{n:44,f:function(t){var e=n.round(t,2);return\"M\"+e+\",\"+e+\"L-\"+e+\",-\"+e},needLine:!0,noDot:!0,noFill:!0},\"arrow-up\":{n:45,f:function(t){var e=n.round(t,2);return\"M0,0L-\"+e+\",\"+n.round(2*t,2)+\"H\"+e+\"Z\"},noDot:!0},\"arrow-down\":{n:46,f:function(t){var e=n.round(t,2);return\"M0,0L-\"+e+\",-\"+n.round(2*t,2)+\"H\"+e+\"Z\"},noDot:!0},\"arrow-left\":{n:47,f:function(t){var e=n.round(2*t,2),r=n.round(t,2);return\"M0,0L\"+e+\",-\"+r+\"V\"+r+\"Z\"},noDot:!0},\"arrow-right\":{n:48,f:function(t){var e=n.round(2*t,2),r=n.round(t,2);return\"M0,0L-\"+e+\",-\"+r+\"V\"+r+\"Z\"},noDot:!0},\"arrow-bar-up\":{n:49,f:function(t){var e=n.round(t,2);return\"M-\"+e+\",0H\"+e+\"M0,0L-\"+e+\",\"+n.round(2*t,2)+\"H\"+e+\"Z\"},needLine:!0,noDot:!0},\"arrow-bar-down\":{n:50,f:function(t){var e=n.round(t,2);return\"M-\"+e+\",0H\"+e+\"M0,0L-\"+e+\",-\"+n.round(2*t,2)+\"H\"+e+\"Z\"},needLine:!0,noDot:!0},\"arrow-bar-left\":{n:51,f:function(t){var e=n.round(2*t,2),r=n.round(t,2);return\"M0,-\"+r+\"V\"+r+\"M0,0L\"+e+\",-\"+r+\"V\"+r+\"Z\"},needLine:!0,noDot:!0},\"arrow-bar-right\":{n:52,f:function(t){var e=n.round(2*t,2),r=n.round(t,2);return\"M0,-\"+r+\"V\"+r+\"M0,0L-\"+e+\",-\"+r+\"V\"+r+\"Z\"},needLine:!0,noDot:!0}}},{\"@plotly/d3\":58}],390:[function(t,e,r){\"use strict\";e.exports={visible:{valType:\"boolean\",editType:\"calc\"},type:{valType:\"enumerated\",values:[\"percent\",\"constant\",\"sqrt\",\"data\"],editType:\"calc\"},symmetric:{valType:\"boolean\",editType:\"calc\"},array:{valType:\"data_array\",editType:\"calc\"},arrayminus:{valType:\"data_array\",editType:\"calc\"},value:{valType:\"number\",min:0,dflt:10,editType:\"calc\"},valueminus:{valType:\"number\",min:0,dflt:10,editType:\"calc\"},traceref:{valType:\"integer\",min:0,dflt:0,editType:\"style\"},tracerefminus:{valType:\"integer\",min:0,dflt:0,editType:\"style\"},copy_ystyle:{valType:\"boolean\",editType:\"plot\"},copy_zstyle:{valType:\"boolean\",editType:\"style\"},color:{valType:\"color\",editType:\"style\"},thickness:{valType:\"number\",min:0,dflt:2,editType:\"style\"},width:{valType:\"number\",min:0,editType:\"plot\"},editType:\"calc\",_deprecated:{opacity:{valType:\"number\",editType:\"style\"}}}},{}],391:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../../registry\"),a=t(\"../../plots/cartesian/axes\"),o=t(\"../../lib\"),s=t(\"./compute_error\");function l(t,e,r,i){var l=e[\"error_\"+i]||{},c=[];if(l.visible&&-1!==[\"linear\",\"log\"].indexOf(r.type)){for(var u=s(l),f=0;f<t.length;f++){var h=t[f],p=h.i;if(void 0===p)p=f;else if(null===p)continue;var d=h[i];if(n(r.c2l(d))){var m=u(d,p);if(n(m[0])&&n(m[1])){var g=h[i+\"s\"]=d-m[0],v=h[i+\"h\"]=d+m[1];c.push(g,v)}}}var y=r._id,x=e._extremes[y],b=a.findExtremes(r,c,o.extendFlat({tozero:x.opts.tozero},{padded:!0}));x.min=x.min.concat(b.min),x.max=x.max.concat(b.max)}}e.exports=function(t){for(var e=t.calcdata,r=0;r<e.length;r++){var n=e[r],o=n[0].trace;if(!0===o.visible&&i.traceIs(o,\"errorBarsOK\")){var s=a.getFromId(t,o.xaxis),c=a.getFromId(t,o.yaxis);l(n,o,s,\"x\"),l(n,o,c,\"y\")}}}},{\"../../lib\":503,\"../../plots/cartesian/axes\":554,\"../../registry\":638,\"./compute_error\":392,\"fast-isnumeric\":190}],392:[function(t,e,r){\"use strict\";function n(t,e){return\"percent\"===t?function(t){return Math.abs(t*e/100)}:\"constant\"===t?function(){return Math.abs(e)}:\"sqrt\"===t?function(t){return Math.sqrt(Math.abs(t))}:void 0}e.exports=function(t){var e=t.type,r=t.symmetric;if(\"data\"===e){var i=t.array||[];if(r)return function(t,e){var r=+i[e];return[r,r]};var a=t.arrayminus||[];return function(t,e){var r=+i[e],n=+a[e];return isNaN(r)&&isNaN(n)?[NaN,NaN]:[n||0,r||0]}}var o=n(e,t.value),s=n(e,t.valueminus);return r||void 0===t.valueminus?function(t){var e=o(t);return[e,e]}:function(t){return[s(t),o(t)]}}},{}],393:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../../registry\"),a=t(\"../../lib\"),o=t(\"../../plot_api/plot_template\"),s=t(\"./attributes\");e.exports=function(t,e,r,l){var c=\"error_\"+l.axis,u=o.newContainer(e,c),f=t[c]||{};function h(t,e){return a.coerce(f,u,s,t,e)}if(!1!==h(\"visible\",void 0!==f.array||void 0!==f.value||\"sqrt\"===f.type)){var p=h(\"type\",\"array\"in f?\"data\":\"percent\"),d=!0;\"sqrt\"!==p&&(d=h(\"symmetric\",!((\"data\"===p?\"arrayminus\":\"valueminus\")in f))),\"data\"===p?(h(\"array\"),h(\"traceref\"),d||(h(\"arrayminus\"),h(\"tracerefminus\"))):\"percent\"!==p&&\"constant\"!==p||(h(\"value\"),d||h(\"valueminus\"));var m=\"copy_\"+l.inherit+\"style\";if(l.inherit)(e[\"error_\"+l.inherit]||{}).visible&&h(m,!(f.color||n(f.thickness)||n(f.width)));l.inherit&&u[m]||(h(\"color\",r),h(\"thickness\"),h(\"width\",i.traceIs(e,\"gl3d\")?0:4))}}},{\"../../lib\":503,\"../../plot_api/plot_template\":543,\"../../registry\":638,\"./attributes\":390,\"fast-isnumeric\":190}],394:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../plot_api/edit_types\").overrideAll,a=t(\"./attributes\"),o={error_x:n.extendFlat({},a),error_y:n.extendFlat({},a)};delete o.error_x.copy_zstyle,delete o.error_y.copy_zstyle,delete o.error_y.copy_ystyle;var s={error_x:n.extendFlat({},a),error_y:n.extendFlat({},a),error_z:n.extendFlat({},a)};delete s.error_x.copy_ystyle,delete s.error_y.copy_ystyle,delete s.error_z.copy_ystyle,delete s.error_z.copy_zstyle,e.exports={moduleType:\"component\",name:\"errorbars\",schema:{traces:{scatter:o,bar:o,histogram:o,scatter3d:i(s,\"calc\",\"nested\"),scattergl:i(o,\"calc\",\"nested\")}},supplyDefaults:t(\"./defaults\"),calc:t(\"./calc\"),makeComputeError:t(\"./compute_error\"),plot:t(\"./plot\"),style:t(\"./style\"),hoverInfo:function(t,e,r){(e.error_y||{}).visible&&(r.yerr=t.yh-t.y,e.error_y.symmetric||(r.yerrneg=t.y-t.ys));(e.error_x||{}).visible&&(r.xerr=t.xh-t.x,e.error_x.symmetric||(r.xerrneg=t.x-t.xs))}}},{\"../../lib\":503,\"../../plot_api/edit_types\":536,\"./attributes\":390,\"./calc\":391,\"./compute_error\":392,\"./defaults\":393,\"./plot\":395,\"./style\":396}],395:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"fast-isnumeric\"),a=t(\"../drawing\"),o=t(\"../../traces/scatter/subtypes\");e.exports=function(t,e,r,s){var l=r.xaxis,c=r.yaxis,u=s&&s.duration>0;e.each((function(e){var f,h=e[0].trace,p=h.error_x||{},d=h.error_y||{};h.ids&&(f=function(t){return t.id});var m=o.hasMarkers(h)&&h.marker.maxdisplayed>0;d.visible||p.visible||(e=[]);var g=n.select(this).selectAll(\"g.errorbar\").data(e,f);if(g.exit().remove(),e.length){p.visible||g.selectAll(\"path.xerror\").remove(),d.visible||g.selectAll(\"path.yerror\").remove(),g.style(\"opacity\",1);var v=g.enter().append(\"g\").classed(\"errorbar\",!0);u&&v.style(\"opacity\",0).transition().duration(s.duration).style(\"opacity\",1),a.setClipUrl(g,r.layerClipId,t),g.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)};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)));return n}(t,l,c);if(!m||t.vis){var a,o=e.select(\"path.yerror\");if(d.visible&&i(r.x)&&i(r.yh)&&i(r.ys)){var f=d.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()?o=e.append(\"path\").style(\"vector-effect\",\"non-scaling-stroke\").classed(\"yerror\",!0):u&&(o=o.transition().duration(s.duration).ease(s.easing)),o.attr(\"d\",a)}else o.remove();var h=e.select(\"path.xerror\");if(p.visible&&i(r.y)&&i(r.xh)&&i(r.xs)){var g=(p.copy_ystyle?d:p).width;a=\"M\"+r.xh+\",\"+(r.y-g)+\"v\"+2*g+\"m0,-\"+g+\"H\"+r.xs,r.noXS||(a+=\"m0,-\"+g+\"v\"+2*g),!h.size()?h=e.append(\"path\").style(\"vector-effect\",\"non-scaling-stroke\").classed(\"xerror\",!0):u&&(h=h.transition().duration(s.duration).ease(s.easing)),h.attr(\"d\",a)}else h.remove()}}))}}))}},{\"../../traces/scatter/subtypes\":952,\"../drawing\":388,\"@plotly/d3\":58,\"fast-isnumeric\":190}],396:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../color\");e.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)}))}},{\"../color\":366,\"@plotly/d3\":58}],397:[function(t,e,r){\"use strict\";var n=t(\"../../plots/font_attributes\"),i=t(\"./layout_attributes\").hoverlabel,a=t(\"../../lib/extend\").extendFlat;e.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\"}}},{\"../../lib/extend\":493,\"../../plots/font_attributes\":585,\"./layout_attributes\":407}],398:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../registry\");function a(t,e,r,i){i=i||n.identity,Array.isArray(t)&&(e[0][r]=i(t))}e.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<e.length;s++){var l=e[s],c=l[0].trace;if(!i.traceIs(c,\"pie-like\")){var u=i.traceIs(c,\"2dMap\")?a:n.fillArray;u(c.hoverinfo,l,\"hi\",o(c)),c.hovertemplate&&u(c.hovertemplate,l,\"ht\"),c.hoverlabel&&(u(c.hoverlabel.bgcolor,l,\"hbg\"),u(c.hoverlabel.bordercolor,l,\"hbc\"),u(c.hoverlabel.font.size,l,\"hts\"),u(c.hoverlabel.font.color,l,\"htc\"),u(c.hoverlabel.font.family,l,\"htf\"),u(c.hoverlabel.namelength,l,\"hnl\"),u(c.hoverlabel.align,l,\"hta\"))}}}},{\"../../lib\":503,\"../../registry\":638}],399:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),i=t(\"./hover\").hover;e.exports=function(t,e,r){var a=n.getComponentMethod(\"annotations\",\"onClick\")(t,t._hoverdata);function o(){t.emit(\"plotly_click\",{points:t._hoverdata,event:e})}void 0!==r&&i(t,e,r,!0),t._hoverdata&&e&&e.target&&(a&&a.then?a.then(o):o(),e.stopImmediatePropagation&&e.stopImmediatePropagation())}},{\"../../registry\":638,\"./hover\":403}],400:[function(t,e,r){\"use strict\";e.exports={YANGLE:60,HOVERARROWSIZE:6,HOVERTEXTPAD:3,HOVERFONTSIZE:13,HOVERFONT:\"Arial, sans-serif\",HOVERMINTIME:50,HOVERID:\"-hover\"}},{}],401:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./attributes\"),a=t(\"./hoverlabel_defaults\");e.exports=function(t,e,r,o){var s=n.extendFlat({},o.hoverlabel);e.hovertemplate&&(s.namelength=-1),a(t,e,(function(r,a){return n.coerce(t,e,i,r,a)}),s)}},{\"../../lib\":503,\"./attributes\":397,\"./hoverlabel_defaults\":404}],402:[function(t,e,r){\"use strict\";var n=t(\"../../lib\");r.getSubplot=function(t){return t.subplot||t.xaxis+t.yaxis||t.geo},r.isTraceInSubplots=function(t,e){if(\"splom\"===t.type){for(var n=t.xaxes||[],i=t.yaxes||[],a=0;a<n.length;a++)for(var o=0;o<i.length;o++)if(-1!==e.indexOf(n[a]+i[o]))return!0;return!1}return-1!==e.indexOf(r.getSubplot(t))},r.flat=function(t,e){for(var r=new Array(t.length),n=0;n<t.length;n++)r[n]=e;return r},r.p2c=function(t,e){for(var r=new Array(t.length),n=0;n<t.length;n++)r[n]=t[n].p2c(e);return r},r.getDistanceFunction=function(t,e,n,i){return\"closest\"===t?i||r.quadrature(e,n):\"x\"===t.charAt(0)?e:n},r.getClosest=function(t,e,r){if(!1!==r.index)r.index>=0&&r.index<t.length?r.distance=0:r.index=!1;else for(var n=0;n<t.length;n++){var i=e(t[n]);i<=r.distance&&(r.index=n,r.distance=i)}return r},r.inbox=function(t,e,r){return t*e<0||0===t?r:1/0},r.quadrature=function(t,e){return function(r){var n=t(r),i=e(r);return Math.sqrt(n*n+i*i)}},r.makeEventData=function(t,e,n){var i=\"index\"in t?t.index:t.pointNumber,a={data:e._input,fullData:e,curveNumber:e.index,pointNumber:i};if(e._indexToPoints){var o=e._indexToPoints[i];1===o.length?a.pointIndex=o[0]:a.pointIndices=o}else a.pointIndex=i;return e._module.eventData?a=e._module.eventData(a,t,e,n,i):(\"xVal\"in t?a.x=t.xVal:\"x\"in t&&(a.x=t.x),\"yVal\"in t?a.y=t.yVal:\"y\"in t&&(a.y=t.y),t.xa&&(a.xaxis=t.xa),t.ya&&(a.yaxis=t.ya),void 0!==t.zLabelVal&&(a.z=t.zLabelVal)),r.appendArrayPointValue(a,e,i),a},r.appendArrayPointValue=function(t,e,r){var i=e._arrayAttrs;if(i)for(var s=0;s<i.length;s++){var l=i[s],c=a(l);if(void 0===t[c]){var u=o(n.nestedProperty(e,l).get(),r);void 0!==u&&(t[c]=u)}}},r.appendArrayMultiPointValues=function(t,e,r){var i=e._arrayAttrs;if(i)for(var s=0;s<i.length;s++){var l=i[s],c=a(l);if(void 0===t[c]){for(var u=n.nestedProperty(e,l).get(),f=new Array(r.length),h=0;h<r.length;h++)f[h]=o(u,r[h]);t[c]=f}}};var i={ids:\"id\",locations:\"location\",labels:\"label\",values:\"value\",\"marker.colors\":\"color\",parents:\"parent\"};function a(t){return i[t]||t}function o(t,e){return Array.isArray(e)?Array.isArray(t)&&Array.isArray(t[e[0]])?t[e[0]][e[1]]:void 0:t[e]}var s={x:!0,y:!0},l={\"x unified\":!0,\"y unified\":!0};r.isUnifiedHover=function(t){return\"string\"==typeof t&&!!l[t]},r.isXYhover=function(t){return\"string\"==typeof t&&!!s[t]}},{\"../../lib\":503}],403:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"fast-isnumeric\"),a=t(\"tinycolor2\"),o=t(\"../../lib\"),s=o.strTranslate,l=o.strRotate,c=t(\"../../lib/events\"),u=t(\"../../lib/svg_text_utils\"),f=t(\"../../lib/override_cursor\"),h=t(\"../drawing\"),p=t(\"../color\"),d=t(\"../dragelement\"),m=t(\"../../plots/cartesian/axes\"),g=t(\"../../registry\"),v=t(\"./helpers\"),y=t(\"./constants\"),x=t(\"../legend/defaults\"),b=t(\"../legend/draw\"),_=y.YANGLE,w=Math.PI*_/180,T=1/Math.sin(w),k=Math.cos(w),A=Math.sin(w),M=y.HOVERARROWSIZE,S=y.HOVERTEXTPAD,E={box:!0,ohlc:!0,violin:!0,candlestick:!0},L={scatter:!0,scattergl:!0,splom:!0};function C(t){return[t.trace.index,t.index,t.x0,t.y0,t.name,t.attr,t.xa?t.xa._id:\"\",t.ya?t.ya._id:\"\"].join(\",\")}r.hover=function(t,e,r,a){t=o.getGraphDiv(t);var s=e.target;o.throttle(t._fullLayout._uid+y.HOVERID,y.HOVERMINTIME,(function(){!function(t,e,r,a,s){r||(r=\"xy\");var l=Array.isArray(r)?r:[r],u=t._fullLayout,h=u._plots||[],m=h[r],y=u._has(\"cartesian\");if(m){var x=m.overlays.map((function(t){return t.id}));l=l.concat(x)}for(var b=l.length,_=new Array(b),w=new Array(b),k=!1,A=0;A<b;A++){var M=l[A];if(h[M])k=!0,_[A]=h[M].xaxis,w[A]=h[M].yaxis;else{if(!u[M]||!u[M]._subplot)return void o.warn(\"Unrecognized subplot: \"+M);var S=u[M]._subplot;_[A]=S.xaxis,w[A]=S.yaxis}}var P=e.hovermode||u.hovermode;P&&!k&&(P=\"closest\");if(-1===[\"x\",\"y\",\"closest\",\"x unified\",\"y unified\"].indexOf(P)||!t.calcdata||t.querySelector(\".zoombox\")||t._dragging)return d.unhoverRaw(t,e);var O=u.hoverdistance;-1===O&&(O=1/0);var B=u.spikedistance;-1===B&&(B=1/0);var V,H,q,G,Y,W,X,Z,J,K,Q,$,tt,et=[],rt=[],nt={hLinePoint:null,vLinePoint:null},it=!1;if(Array.isArray(e))for(P=\"array\",q=0;q<e.length;q++)(Y=t.calcdata[e[q].curveNumber||0])&&(W=Y[0].trace,\"skip\"!==Y[0].trace.hoverinfo&&(rt.push(Y),\"h\"===W.orientation&&(it=!0)));else{for(G=0;G<t.calcdata.length;G++)Y=t.calcdata[G],\"skip\"!==(W=Y[0].trace).hoverinfo&&v.isTraceInSubplots(W,l)&&(rt.push(Y),\"h\"===W.orientation&&(it=!0));var at,ot;if(!s)at=\"xpx\"in e?e.xpx:_[0]._length/2,ot=\"ypx\"in e?e.ypx:w[0]._length/2;else{if(!1===c.triggerHandler(t,\"plotly_beforehover\",e))return;var st=s.getBoundingClientRect();at=e.clientX-st.left,ot=e.clientY-st.top,u._calcInverseTransform(t);var lt=o.apply3DTransform(u._invTransform)(at,ot);if(at=lt[0],ot=lt[1],at<0||at>_[0]._length||ot<0||ot>w[0]._length)return d.unhoverRaw(t,e)}if(e.pointerX=at+_[0]._offset,e.pointerY=ot+w[0]._offset,V=\"xval\"in e?v.flat(l,e.xval):v.p2c(_,at),H=\"yval\"in e?v.flat(l,e.yval):v.p2c(w,ot),!i(V[0])||!i(H[0]))return o.warn(\"Fx.hover failed\",e,t),d.unhoverRaw(t,e)}var ct=1/0;function ut(t,r){for(G=0;G<rt.length;G++)if((Y=rt[G])&&Y[0]&&Y[0].trace&&!0===(W=Y[0].trace).visible&&0!==W._length&&-1===[\"carpet\",\"contourcarpet\"].indexOf(W._module.name)){if(\"splom\"===W.type?X=l[Z=0]:(X=v.getSubplot(W),Z=l.indexOf(X)),J=P,v.isUnifiedHover(J)&&(J=J.charAt(0)),$={cd:Y,trace:W,xa:_[Z],ya:w[Z],maxHoverDistance:O,maxSpikeDistance:B,index:!1,distance:Math.min(ct,O),spikeDistance:1/0,xSpike:void 0,ySpike:void 0,color:p.defaultLine,name:W.name,x0:void 0,x1:void 0,y0:void 0,y1:void 0,xLabelVal:void 0,yLabelVal:void 0,zLabelVal:void 0,text:void 0},u[X]&&($.subplot=u[X]._subplot),u._splomScenes&&u._splomScenes[W.uid]&&($.scene=u._splomScenes[W.uid]),tt=et.length,\"array\"===J){var n=e[G];\"pointNumber\"in n?($.index=n.pointNumber,J=\"closest\"):(J=\"\",\"xval\"in n&&(K=n.xval,J=\"x\"),\"yval\"in n&&(Q=n.yval,J=J?\"closest\":\"y\"))}else void 0!==t&&void 0!==r?(K=t,Q=r):(K=V[Z],Q=H[Z]);if(0!==O)if(W._module&&W._module.hoverPoints){var a=W._module.hoverPoints($,K,Q,J,{finiteRange:!0,hoverLayer:u._hoverlayer});if(a)for(var s,c=0;c<a.length;c++)s=a[c],i(s.x0)&&i(s.y0)&&et.push(D(s,P))}else o.log(\"Unrecognized trace type in hover:\",W);if(\"closest\"===P&&et.length>tt&&(et.splice(0,tt),ct=et[0].distance),y&&0!==B&&0===et.length){$.distance=B,$.index=!1;var f=W._module.hoverPoints($,K,Q,\"closest\",{hoverLayer:u._hoverlayer});if(f&&(f=f.filter((function(t){return t.spikeDistance<=B}))),f&&f.length){var h,d=f.filter((function(t){return t.xa.showspikes&&\"hovered data\"!==t.xa.spikesnap}));if(d.length){var m=d[0];i(m.x0)&&i(m.y0)&&(h=ht(m),(!nt.vLinePoint||nt.vLinePoint.spikeDistance>h.spikeDistance)&&(nt.vLinePoint=h))}var g=f.filter((function(t){return t.ya.showspikes&&\"hovered data\"!==t.ya.spikesnap}));if(g.length){var x=g[0];i(x.x0)&&i(x.y0)&&(h=ht(x),(!nt.hLinePoint||nt.hLinePoint.spikeDistance>h.spikeDistance)&&(nt.hLinePoint=h))}}}}}function ft(t,e,r){for(var n,i=null,a=1/0,o=0;o<t.length;o++)n=t[o].spikeDistance,r&&0===o&&(n=-1/0),n<=a&&n<=e&&(i=t[o],a=n);return i}function ht(t){return t?{xa:t.xa,ya:t.ya,x:void 0!==t.xSpike?t.xSpike:(t.x0+t.x1)/2,y:void 0!==t.ySpike?t.ySpike:(t.y0+t.y1)/2,distance:t.distance,spikeDistance:t.spikeDistance,curveNumber:t.trace.index,color:t.color,pointNumber:t.index}:null}ut();var pt={fullLayout:u,container:u._hoverlayer,event:e},dt=t._spikepoints,mt={vLinePoint:nt.vLinePoint,hLinePoint:nt.hLinePoint};t._spikepoints=mt;var gt=function(){et.sort((function(t,e){return t.distance-e.distance})),et=function(t,e){for(var r=e.charAt(0),n=[],i=[],a=[],o=0;o<t.length;o++){var s=t[o];g.traceIs(s.trace,\"bar-like\")||g.traceIs(s.trace,\"box-violin\")?a.push(s):s.trace[r+\"period\"]?i.push(s):n.push(s)}return n.concat(i).concat(a)}(et,P)};gt();var vt=P.charAt(0),yt=(\"x\"===vt||\"y\"===vt)&&et[0]&&L[et[0].trace.type];if(y&&0!==B&&0!==et.length){var xt=ft(et.filter((function(t){return t.ya.showspikes})),B,yt);nt.hLinePoint=ht(xt);var bt=ft(et.filter((function(t){return t.xa.showspikes})),B,yt);nt.vLinePoint=ht(bt)}if(0===et.length){var _t=d.unhoverRaw(t,e);return!y||null===nt.hLinePoint&&null===nt.vLinePoint||F(dt)&&R(t,nt,pt),_t}y&&F(dt)&&R(t,nt,pt);if(v.isXYhover(J)&&0!==et[0].length&&\"splom\"!==et[0].trace.type){var wt=et[0],Tt=(et=E[wt.trace.type]?et.filter((function(t){return t.trace.index===wt.trace.index})):[wt]).length,kt=N(\"x\",wt,u),At=N(\"y\",wt,u);ut(kt,At);var Mt,St=[],Et={},Lt=0,Ct=function(t){var e=E[t.trace.type]?C(t):t.trace.index;if(Et[e]){var r=Et[e]-1,n=St[r];r>0&&Math.abs(t.distance)<Math.abs(n.distance)&&(St[r]=t)}else Lt++,Et[e]=Lt,St.push(t)};for(Mt=0;Mt<Tt;Mt++)Ct(et[Mt]);for(Mt=et.length-1;Mt>Tt-1;Mt--)Ct(et[Mt]);et=St,gt()}var Pt=t._hoverdata,It=[],Ot=j(t),zt=U(t);for(q=0;q<et.length;q++){var Dt=et[q],Rt=v.makeEventData(Dt,Dt.trace,Dt.cd);if(!1!==Dt.hovertemplate){var Ft=!1;Dt.cd[Dt.index]&&Dt.cd[Dt.index].ht&&(Ft=Dt.cd[Dt.index].ht),Dt.hovertemplate=Ft||Dt.trace.hovertemplate||!1}if(Dt.xa&&Dt.ya){var Bt=Dt.x0+Dt.xa._offset,Nt=Dt.x1+Dt.xa._offset,jt=Dt.y0+Dt.ya._offset,Ut=Dt.y1+Dt.ya._offset,Vt=Math.min(Bt,Nt),Ht=Math.max(Bt,Nt),qt=Math.min(jt,Ut),Gt=Math.max(jt,Ut);Rt.bbox={x0:Vt+zt,x1:Ht+zt,y0:qt+Ot,y1:Gt+Ot}}Dt.eventData=[Rt],It.push(Rt)}t._hoverdata=It;var Yt=\"y\"===P&&(rt.length>1||et.length>1)||\"closest\"===P&&it&&et.length>1,Wt=p.combine(u.plot_bgcolor||p.background,u.paper_bgcolor),Xt=I(et,{gd:t,hovermode:P,rotateLabels:Yt,bgColor:Wt,container:u._hoverlayer,outerContainer:u._paper.node(),commonLabelOpts:u.hoverlabel,hoverdistance:u.hoverdistance});v.isUnifiedHover(P)||(!function(t,e,r){var n,i,a,o,s,l,c,u=0,f=1,h=t.size(),p=new Array(h),d=0;function m(t){var e=t[0],r=t[t.length-1];if(i=e.pmin-e.pos-e.dp+e.size,a=r.pos+r.dp+r.size-e.pmax,i>.01){for(s=t.length-1;s>=0;s--)t[s].dp+=i;n=!1}if(!(a<.01)){if(i<-.01){for(s=t.length-1;s>=0;s--)t[s].dp-=a;n=!1}if(n){var c=0;for(o=0;o<t.length;o++)(l=t[o]).pos+l.dp+l.size>e.pmax&&c++;for(o=t.length-1;o>=0&&!(c<=0);o--)(l=t[o]).pos>e.pmax-1&&(l.del=!0,c--);for(o=0;o<t.length&&!(c<=0);o++)if((l=t[o]).pos<e.pmin+1)for(l.del=!0,c--,a=2*l.size,s=t.length-1;s>=0;s--)t[s].dp-=a;for(o=t.length-1;o>=0&&!(c<=0);o--)(l=t[o]).pos+l.dp+l.size>e.pmax&&(l.del=!0,c--)}}}t.each((function(t){var n=t[e],i=\"x\"===n._id.charAt(0),a=n.range;0===d&&a&&a[0]>a[1]!==i&&(f=-1),p[d++]=[{datum:t,traceIndex:t.trace.index,dp:0,pos:t.pos,posref:t.posref,size:t.by*(i?T:1)/2,pmin:0,pmax:i?r.width:r.height}]})),p.sort((function(t,e){return t[0].posref-e[0].posref||f*(e[0].traceIndex-t[0].traceIndex)}));for(;!n&&u<=h;){for(u++,n=!0,o=0;o<p.length-1;){var g=p[o],v=p[o+1],y=g[g.length-1],x=v[0];if((i=y.pos+y.dp+y.size-x.pos-x.dp+x.size)>.01&&y.pmin===x.pmin&&y.pmax===x.pmax){for(s=v.length-1;s>=0;s--)v[s].dp+=i;for(g.push.apply(g,v),p.splice(o+1,1),c=0,s=g.length-1;s>=0;s--)c+=g[s].dp;for(a=c/g.length,s=g.length-1;s>=0;s--)g[s].dp-=a;n=!1}else o++}p.forEach(m)}for(o=p.length-1;o>=0;o--){var b=p[o];for(s=b.length-1;s>=0;s--){var _=b[s],w=_.datum;w.offset=_.dp,w.del=_.del}}}(Xt,Yt?\"xa\":\"ya\",u),z(Xt,Yt,u._invScaleX,u._invScaleY));if(s&&s.tagName){var Zt=g.getComponentMethod(\"annotations\",\"hasClickToShow\")(t,It);f(n.select(s),Zt?\"pointer\":\"\")}if(!s||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,Pt))return;Pt&&t.emit(\"plotly_unhover\",{event:e,points:Pt});t.emit(\"plotly_hover\",{event:e,points:t._hoverdata,xaxes:_,yaxes:w,xvals:V,yvals:H})}(t,e,r,a,s)}))},r.loneHover=function(t,e){var r=!0;Array.isArray(t)||(r=!1,t=[t]);var i=e.gd,a=j(i),o=U(i),s=I(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),f=Math.max(r,n),h=Math.min(s,l),d=Math.max(s,l),m=t.trace;if(g.traceIs(m,\"gl3d\")){var v=i._fullLayout[m.scene]._scene.container,y=v.offsetLeft,x=v.offsetTop;u+=y,f+=y,h+=x,d+=x}c.bbox={x0:u+o,x1:f+o,y0:h+a,y1:d+a},e.inOut_bbox&&e.inOut_bbox.push(c.bbox)}else c=!1;return{color:t.color||p.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,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||p.background,container:n.select(e.container),outerContainer:e.outerContainer||e.container}),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<l?l-n+5:0,l=n+t.by+t.offset,r===e.anchorIndex&&(c=t.offset)})).each((function(t){t.offset-=c})),z(s,!1,i._fullLayout._invScaleX,i._fullLayout._invScaleY),r?s:s.node()};var P=/<extra>([\\s\\S]*)<\\/extra>/;function I(t,e){var r=e.gd,i=r._fullLayout,a=e.hovermode,c=e.rotateLabels,f=e.bgColor,d=e.container,m=e.outerContainer,w=e.commonLabelOpts||{};if(0===t.length)return[[]];var T=e.fontFamily||y.HOVERFONT,k=e.fontSize||y.HOVERFONTSIZE,A=t[0],E=A.xa,L=A.ya,P=a.charAt(0),I=A[P+\"Label\"],z=V(r,m),D=z.top,R=z.width,F=z.height,B=void 0!==I&&A.distance<=e.hoverdistance&&(\"x\"===a||\"y\"===a);if(B){var N,j,U=!0;for(N=0;N<t.length;N++)if(U&&void 0===t[N].zLabel&&(U=!1),j=t[N].hoverinfo||t[N].trace.hoverinfo){var H=Array.isArray(j)?j:j.split(\"+\");if(-1===H.indexOf(\"all\")&&-1===H.indexOf(a)){B=!1;break}}U&&(B=!1)}var q=d.selectAll(\"g.axistext\").data(B?[0]:[]);if(q.enter().append(\"g\").classed(\"axistext\",!0),q.exit().remove(),q.each((function(){var t=n.select(this),e=o.ensureSingle(t,\"path\",\"\",(function(t){t.style({\"stroke-width\":\"1px\"})})),l=o.ensureSingle(t,\"text\",\"\",(function(t){t.attr(\"data-notex\",1)})),c=w.bgcolor||p.defaultLine,f=w.bordercolor||p.contrast(c),d=p.contrast(c),m={family:w.font.family||T,size:w.font.size||k,color:w.font.color||d};e.style({fill:c,stroke:f}),l.text(I).call(h.font,m).call(u.positionText,0,0).call(u.convertToTspans,r),t.attr(\"transform\",\"\");var g,v,y=V(r,l.node());if(\"x\"===a){var x=\"top\"===E.side?\"-\":\"\";l.attr(\"text-anchor\",\"middle\").call(u.positionText,0,\"top\"===E.side?D-y.bottom-M-S:D-y.top+M+S),g=E._offset+(A.x0+A.x1)/2,v=L._offset+(\"top\"===E.side?0:L._length);var b=y.width/2+S;g<b?(g=b,e.attr(\"d\",\"M-\"+(b-M)+\",0L-\"+(b-2*M)+\",\"+x+M+\"H\"+(S+y.width/2)+\"v\"+x+(2*S+y.height)+\"H-\"+b+\"V\"+x+M+\"Z\")):g>i.width-b?(g=i.width-b,e.attr(\"d\",\"M\"+(b-M)+\",0L\"+b+\",\"+x+M+\"v\"+x+(2*S+y.height)+\"H-\"+b+\"V\"+x+M+\"H\"+(b-2*M)+\"Z\")):e.attr(\"d\",\"M0,0L\"+M+\",\"+x+M+\"H\"+(S+y.width/2)+\"v\"+x+(2*S+y.height)+\"H-\"+(S+y.width/2)+\"V\"+x+M+\"H-\"+M+\"Z\")}else{var _,C,P;\"right\"===L.side?(_=\"start\",C=1,P=\"\",g=E._offset+E._length):(_=\"end\",C=-1,P=\"-\",g=E._offset),v=L._offset+(A.y0+A.y1)/2,l.attr(\"text-anchor\",_),e.attr(\"d\",\"M0,0L\"+P+M+\",\"+M+\"V\"+(S+y.height/2)+\"h\"+P+(2*S+y.width)+\"V-\"+(S+y.height/2)+\"H\"+P+M+\"V-\"+M+\"Z\");var O,z=y.height/2,R=D-y.top-z,F=\"clip\"+i._uid+\"commonlabel\"+L._id;if(g<y.width+2*S+M){O=\"M-\"+(M+S)+\"-\"+z+\"h-\"+(y.width-S)+\"V\"+z+\"h\"+(y.width-S)+\"Z\";var B=y.width-g+S;u.positionText(l,B,R),\"end\"===_&&l.selectAll(\"tspan\").each((function(){var t=n.select(this),e=h.tester.append(\"text\").text(t.text()).call(h.font,m),i=V(r,e.node());Math.round(i.width)<Math.round(y.width)&&t.attr(\"x\",B-i.width),e.remove()}))}else u.positionText(l,C*(S+M),R),O=null;var N=i._topclips.selectAll(\"#\"+F).data(O?[0]:[]);N.enter().append(\"clipPath\").attr(\"id\",F).append(\"path\"),N.exit().remove(),N.select(\"path\").attr(\"d\",O),h.setClipUrl(l,O?F:null,r)}t.attr(\"transform\",s(g,v))})),v.isUnifiedHover(a)){d.selectAll(\"g.hovertext\").remove();var G=t.filter((function(t){return\"none\"!==t.hoverinfo}));if(0===G.length)return;var Y=i.hoverlabel,W=Y.font,X={showlegend:!0,legend:{title:{text:I,font:W},font:W,bgcolor:Y.bgcolor,bordercolor:Y.bordercolor,borderwidth:1,tracegroupgap:7,traceorder:i.legend?i.legend.traceorder:void 0,orientation:\"v\"}},Z={font:W};x(X,Z,r._fullData);var J=Z.legend;J.entries=[];for(var K=0;K<G.length;K++){var Q=G[K];if(\"none\"!==Q.hoverinfo){var $=O(Q,!0,a,i,I),tt=$[0],et=$[1];Q.name=et,Q.text=\"\"!==et?et+\" : \"+tt:tt;var rt=Q.cd[Q.index];rt&&(rt.mc&&(Q.mc=rt.mc),rt.mcc&&(Q.mc=rt.mcc),rt.mlc&&(Q.mlc=rt.mlc),rt.mlcc&&(Q.mlc=rt.mlcc),rt.mlw&&(Q.mlw=rt.mlw),rt.mrc&&(Q.mrc=rt.mrc),rt.dir&&(Q.dir=rt.dir)),Q._distinct=!0,J.entries.push([Q])}}J.entries.sort((function(t,e){return t[0].trace.index-e[0].trace.index})),J.layer=d,J._inHover=!0,J._groupTitleFont=Y.grouptitlefont,b(r,J);var nt,it,at,ot,st=d.select(\"g.legend\"),lt=V(r,st.node()),ct=lt.width+2*S,ut=lt.height+2*S,ft=G[0],ht=(ft.x0+ft.x1)/2,pt=(ft.y0+ft.y1)/2,dt=!(g.traceIs(ft.trace,\"bar-like\")||g.traceIs(ft.trace,\"box-violin\"));\"y\"===P?dt?(it=pt-S,nt=pt+S):(it=Math.min.apply(null,G.map((function(t){return Math.min(t.y0,t.y1)}))),nt=Math.max.apply(null,G.map((function(t){return Math.max(t.y0,t.y1)})))):it=nt=o.mean(G.map((function(t){return(t.y0+t.y1)/2})))-ut/2,\"x\"===P?dt?(at=ht+S,ot=ht-S):(at=Math.max.apply(null,G.map((function(t){return Math.max(t.x0,t.x1)}))),ot=Math.min.apply(null,G.map((function(t){return Math.min(t.x0,t.x1)})))):at=ot=o.mean(G.map((function(t){return(t.x0+t.x1)/2})))-ct/2;var mt,gt,vt=E._offset,yt=L._offset;return ot+=vt-ct,it+=yt-ut,mt=(at+=vt)+ct<R&&at>=0?at:ot+ct<R&&ot>=0?ot:vt+ct<R?vt:at-ht<ht-ot+ct?R-ct:0,mt+=S,gt=(nt+=yt)+ut<F&&nt>=0?nt:it+ut<F&&it>=0?it:yt+ut<F?yt:nt-pt<pt-it+ut?F-ut:0,gt+=S,st.attr(\"transform\",s(mt-1,gt-1)),st}var xt=d.selectAll(\"g.hovertext\").data(t,(function(t){return C(t)}));return xt.enter().append(\"g\").classed(\"hovertext\",!0).each((function(){var t=n.select(this);t.append(\"rect\").call(p.fill,p.addOpacity(f,.8)),t.append(\"text\").classed(\"name\",!0),t.append(\"path\").style(\"stroke-width\",\"1px\"),t.append(\"text\").classed(\"nums\",!0).call(h.font,T,k)})),xt.exit().remove(),xt.each((function(t){var e=n.select(this).attr(\"transform\",\"\"),o=t.color;Array.isArray(o)&&(o=o[t.eventData[0].pointNumber]);var d=t.bgcolor||o,m=p.combine(p.opacity(d)?d:p.defaultLine,f),g=p.combine(p.opacity(o)?o:p.defaultLine,f),v=t.borderColor||p.contrast(m),y=O(t,B,a,i,I,e),x=y[0],b=y[1],w=e.select(\"text.nums\").call(h.font,t.fontFamily||T,t.fontSize||k,t.fontColor||v).text(x).attr(\"data-notex\",1).call(u.positionText,0,0).call(u.convertToTspans,r),A=e.select(\"text.name\"),E=0,L=0;if(b&&b!==x){A.call(h.font,t.fontFamily||T,t.fontSize||k,g).text(b).attr(\"data-notex\",1).call(u.positionText,0,0).call(u.convertToTspans,r);var C=V(r,A.node());E=C.width+2*S,L=C.height+2*S}else A.remove(),e.select(\"rect\").remove();e.select(\"path\").style({fill:m,stroke:v});var P=t.xa._offset+(t.x0+t.x1)/2,z=t.ya._offset+(t.y0+t.y1)/2,N=Math.abs(t.x1-t.x0),j=Math.abs(t.y1-t.y0),U=V(r,w.node()),H=U.width/i._invScaleX,q=U.height/i._invScaleY;t.ty0=(D-U.top)/i._invScaleY,t.bx=H+2*S,t.by=Math.max(q+2*S,L),t.anchor=\"start\",t.txwidth=H,t.tx2width=E,t.offset=0;var G,Y,W=(H+M+S+E)*i._invScaleX;if(c)t.pos=P,G=z+j/2+W<=F,Y=z-j/2-W>=0,\"top\"!==t.idealAlign&&G||!Y?G?(z+=j/2,t.anchor=\"start\"):t.anchor=\"middle\":(z-=j/2,t.anchor=\"end\");else if(t.pos=z,G=P+N/2+W<=R,Y=P-N/2-W>=0,\"left\"!==t.idealAlign&&G||!Y)if(G)P+=N/2,t.anchor=\"start\";else{t.anchor=\"middle\";var X=W/2,Z=P+X-R,J=P-X;Z>0&&(P-=Z),J<0&&(P+=-J)}else P-=N/2,t.anchor=\"end\";w.attr(\"text-anchor\",t.anchor),E&&A.attr(\"text-anchor\",t.anchor),e.attr(\"transform\",s(P,z)+(c?l(_):\"\"))})),xt}function O(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=B(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+\"<br>\"),void 0!==t.yLabel&&(l+=\"y: \"+t.yLabel+\"<br>\"),\"choropleth\"!==t.trace.type&&\"choroplethmapbox\"!==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?\"<br>\":\"\")+t.text),void 0!==t.extraText&&(l+=(l?\"<br>\":\"\")+t.extraText),a&&\"\"===l&&!t.hovertemplate&&(\"\"===s&&a.remove(),l=s);var f=t.hovertemplate||!1;if(f){var h=t.hovertemplateLabels||t;t[c+\"Label\"]!==i&&(h[c+\"other\"]=h[c+\"Val\"],h[c+\"otherLabel\"]=h[c+\"Label\"]),l=(l=o.hovertemplateString(f,h,n._d3locale,t.eventData[0]||{},t.trace._meta)).replace(P,(function(e,r){return s=B(r,t.nameLength),\"\"}))}return[l,s]}function z(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=r.select(\"text.nums\"),s=t.anchor,l=\"end\"===s?-1:1,c={start:1,end:-1,middle:0}[s],f=c*(M+S),p=f+c*(t.txwidth+S),d=0,m=t.offset,g=\"middle\"===s;g&&(f-=t.tx2width/2,p+=t.txwidth/2+S),e&&(m*=-A,d=t.offset*k),r.select(\"path\").attr(\"d\",g?\"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(l*M+d)+\",\"+o(M+m)+\"v\"+o(t.by/2-M)+\"h\"+a(l*t.bx)+\"v-\"+o(t.by)+\"H\"+a(l*M+d)+\"V\"+o(m-M)+\"Z\");var v=d+f,y=m+t.ty0-t.by/2+S,x=t.textAlign||\"auto\";\"auto\"!==x&&(\"left\"===x&&\"start\"!==s?(i.attr(\"text-anchor\",\"start\"),v=g?-t.bx/2-t.tx2width/2+S:-t.bx-S):\"right\"===x&&\"end\"!==s&&(i.attr(\"text-anchor\",\"end\"),v=g?t.bx/2-t.tx2width/2-S:t.bx+S)),i.call(u.positionText,a(v),o(y)),t.tx2width&&(r.select(\"text.name\").call(u.positionText,a(p+c*S+d),o(m+t.ty0-t.by/2+S)),r.select(\"rect\").call(h.setRect,a(p+(c-1)*t.tx2width/2+d),o(m-t.by/2-1),a(t.tx2width),o(t.by+2)))}))}function D(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(\"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:m.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:m.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=m.tickText(t.xa,t.xa.c2l(t.xerr),\"hover\").text;void 0!==t.xerrneg?t.xLabel+=\" +\"+f+\" / -\"+m.tickText(t.xa,t.xa.c2l(t.xerrneg),\"hover\").text:t.xLabel+=\" \\xb1 \"+f,\"x\"===e&&(t.distance+=1)}if(!(isNaN(t.yerr)||\"log\"===t.ya.type&&t.yerr<=0)){var h=m.tickText(t.ya,t.ya.c2l(t.yerr),\"hover\").text;void 0!==t.yerrneg?t.yLabel+=\" +\"+h+\" / -\"+m.tickText(t.ya,t.ya.c2l(t.yerrneg),\"hover\").text:t.yLabel+=\" \\xb1 \"+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 R(t,e,r){var n,i,o=r.container,s=r.fullLayout,l=s._size,c=r.event,u=!!e.hLinePoint,f=!!e.vLinePoint;if(o.selectAll(\".spikeline\").remove(),f||u){var d=p.combine(s.plot_bgcolor,s.paper_bgcolor);if(u){var g,v,y=e.hLinePoint;n=y&&y.xa,\"cursor\"===(i=y&&y.ya).spikesnap?(g=c.pointerX,v=c.pointerY):(g=n._offset+y.x,v=i._offset+y.y);var x,b,_=a.readability(y.color,d)<1.5?p.contrast(d):y.color,w=i.spikemode,T=i.spikethickness,k=i.spikecolor||_,A=m.getPxPosition(t,i);if(-1!==w.indexOf(\"toaxis\")||-1!==w.indexOf(\"across\")){if(-1!==w.indexOf(\"toaxis\")&&(x=A,b=g),-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:v,y2:v,\"stroke-width\":T,stroke:k,\"stroke-dasharray\":h.dashStyle(i.spikedash,T)}).classed(\"spikeline\",!0).classed(\"crisp\",!0),o.insert(\"line\",\":first-child\").attr({x1:x,x2:b,y1:v,y2:v,\"stroke-width\":T+2,stroke:d}).classed(\"spikeline\",!0).classed(\"crisp\",!0)}-1!==w.indexOf(\"marker\")&&o.insert(\"circle\",\":first-child\").attr({cx:A+(\"right\"!==i.side?T:-T),cy:v,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=c.pointerX,L=c.pointerY):(E=n._offset+C.x,L=i._offset+C.y);var P,I,O=a.readability(C.color,d)<1.5?p.contrast(d):C.color,z=n.spikemode,D=n.spikethickness,R=n.spikecolor||O,F=m.getPxPosition(t,n);if(-1!==z.indexOf(\"toaxis\")||-1!==z.indexOf(\"across\")){if(-1!==z.indexOf(\"toaxis\")&&(P=F,I=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,I=l.t+(1-B)*l.h}o.insert(\"line\",\":first-child\").attr({x1:E,x2:E,y1:P,y2:I,\"stroke-width\":D,stroke:R,\"stroke-dasharray\":h.dashStyle(n.spikedash,D)}).classed(\"spikeline\",!0).classed(\"crisp\",!0),o.insert(\"line\",\":first-child\").attr({x1:E,x2:E,y1:P,y2:I,\"stroke-width\":D+2,stroke:d}).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 F(t,e){return!e||(e.vLinePoint!==t._spikepoints.vLinePoint||e.hLinePoint!==t._spikepoints.hLinePoint)}function B(t,e){return u.plainText(t||\"\",{len:e,allowedTags:[\"br\",\"sub\",\"sup\",\"b\",\"i\",\"em\"]})}function N(t,e,r){var n=e[t+\"a\"],i=e[t+\"Val\"],a=e.cd[0];if(\"category\"===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 j(t){return t.offsetTop+t.clientTop}function U(t){return t.offsetLeft+t.clientLeft}function V(t,e){var r=t._fullLayout,n=e.getBoundingClientRect(),i=n.x,a=n.y,s=i+n.width,l=a+n.height,c=o.apply3DTransform(r._invTransform)(i,a),u=o.apply3DTransform(r._invTransform)(s,l),f=c[0],h=c[1],p=u[0],d=u[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)}}},{\"../../lib\":503,\"../../lib/events\":492,\"../../lib/override_cursor\":514,\"../../lib/svg_text_utils\":529,\"../../plots/cartesian/axes\":554,\"../../registry\":638,\"../color\":366,\"../dragelement\":385,\"../drawing\":388,\"../legend/defaults\":418,\"../legend/draw\":419,\"./constants\":400,\"./helpers\":402,\"@plotly/d3\":58,\"fast-isnumeric\":190,tinycolor2:312}],404:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../color\"),a=t(\"./helpers\").isUnifiedHover;e.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\"),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)}},{\"../../lib\":503,\"../color\":366,\"./helpers\":402}],405:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./layout_attributes\");e.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(\"hovermode\")}},{\"../../lib\":503,\"./layout_attributes\":407}],406:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../../lib\"),a=t(\"../dragelement\"),o=t(\"./helpers\"),s=t(\"./layout_attributes\"),l=t(\"./hover\");e.exports={moduleType:\"component\",name:\"fx\",constants:t(\"./constants\"),schema:{layout:s},attributes:t(\"./attributes\"),layoutAttributes:s,supplyLayoutGlobalDefaults:t(\"./layout_global_defaults\"),supplyDefaults:t(\"./defaults\"),supplyLayoutDefaults:t(\"./layout_defaults\"),calc:t(\"./calc\"),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:t(\"./click\")}},{\"../../lib\":503,\"../dragelement\":385,\"./attributes\":397,\"./calc\":398,\"./click\":399,\"./constants\":400,\"./defaults\":401,\"./helpers\":402,\"./hover\":403,\"./layout_attributes\":407,\"./layout_defaults\":408,\"./layout_global_defaults\":409,\"@plotly/d3\":58}],407:[function(t,e,r){\"use strict\";var n=t(\"./constants\"),i=t(\"../../plots/font_attributes\"),a=i({editType:\"none\"});a.family.dflt=n.HOVERFONT,a.size.dflt=n.HOVERFONTSIZE,e.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\"},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\"}}},{\"../../plots/font_attributes\":585,\"./constants\":400}],408:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./layout_attributes\"),a=t(\"./hovermode_defaults\"),o=t(\"./hoverlabel_defaults\");e.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\"),c=e._basePlotModules.length;\"zoom\"===e.dragmode&&((s||l)&&1===c||s&&l&&2===c)&&(e.dragmode=\"pan\"),o(t,e,r),n.coerceFont(r,\"hoverlabel.grouptitlefont\",e.hoverlabel.font)}},{\"../../lib\":503,\"./hoverlabel_defaults\":404,\"./hovermode_defaults\":405,\"./layout_attributes\":407}],409:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./hoverlabel_defaults\"),a=t(\"./layout_attributes\");e.exports=function(t,e){i(t,e,(function(r,i){return n.coerce(t,e,a,r,i)}))}},{\"../../lib\":503,\"./hoverlabel_defaults\":404,\"./layout_attributes\":407}],410:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../lib/regex\").counter,a=t(\"../../plots/domain\").attributes,o=t(\"../../plots/cartesian/constants\").idRegex,s=t(\"../../plot_api/plot_template\"),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),f=u*(1-o),h=0;h<i;h++){var p=c+u*h;l[a?i-1-h:h]=[p,p+f]}return l}function f(t,e,r,n,i){var a,o=new Array(r);function s(t,r){-1!==e.indexOf(r)&&void 0===n[r]?(o[t]=r,n[r]=t):o[t]=\"\"}if(Array.isArray(t))for(a=0;a<r;a++)s(a,t[a]);else for(s(0,i),a=1;a<r;a++)s(a,i+(a+1));return o}e.exports={moduleType:\"component\",name:\"grid\",schema:{layout:{grid:l}},layoutAttributes:l,sizeDefaults:function(t,e){var r=t.grid||{},i=c(e,r,\"x\"),a=c(e,r,\"y\");if(t.grid||i||a){var o,f,h=Array.isArray(r.subplots)&&Array.isArray(r.subplots[0]),p=Array.isArray(i),d=Array.isArray(a),m=p&&i!==r.xaxes&&d&&a!==r.yaxes;h?(o=r.subplots.length,f=r.subplots[0].length):(d&&(o=a.length),p&&(f=i.length));var g=s.newContainer(e,\"grid\"),v=k(\"rows\",o),y=k(\"columns\",f);if(v*y>1){if(!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;m&&e._splomGridDflt&&(x=e._splomGridDflt.xside,b=e._splomGridDflt.yside),g._domains={x:u(\"x\",k,w,x,y),y:u(\"y\",k,T,b,v,_)}}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,h=t.grid||{},p=e._subplots,d=r._hasSubplotGrid,m=r.rows,g=r.columns,v=\"independent\"===r.pattern,y=r._axisMap={};if(d){var x=h.subplots||[];l=r.subplots=new Array(m);var b=1;for(n=0;n<m;n++){var _=l[n]=new Array(g),w=x[n]||[];for(i=0;i<g;i++)if(v?(s=1===b?\"xy\":\"x\"+b+\"y\"+b,b++):s=w[i],_[i]=\"\",-1!==p.cartesian.indexOf(s)){if(u=s.indexOf(\"y\"),a=s.slice(0,u),o=s.slice(u),void 0!==y[a]&&y[a]!==i||void 0!==y[o]&&y[o]!==n)continue;_[i]=s,y[a]=i,y[o]=n}}}else{var T=c(e,h,\"x\"),k=c(e,h,\"y\");r.xaxes=f(T,p.xaxis,g,y,\"x\"),r.yaxes=f(k,p.yaxis,m,y,\"y\")}var A=r._anchors={},M=\"top to bottom\"===r.roworder;for(var S in y){var E,L,C,P=S.charAt(0),I=r[P+\"side\"];if(I.length<8)A[S]=\"free\";else if(\"x\"===P){if(\"t\"===I.charAt(0)===M?(E=0,L=1,C=m):(E=m-1,L=-1,C=-1),d){var O=y[S];for(n=E;n!==C;n+=L)if((s=l[n][O])&&(u=s.indexOf(\"y\"),s.slice(0,u)===S)){A[S]=s.slice(u);break}}else for(n=E;n!==C;n+=L)if(o=r.yaxes[n],-1!==p.cartesian.indexOf(S+o)){A[S]=o;break}}else if(\"l\"===I.charAt(0)?(E=0,L=1,C=g):(E=g-1,L=-1,C=-1),d){var z=y[S];for(n=E;n!==C;n+=L)if((s=l[z][n])&&(u=s.indexOf(\"y\"),s.slice(u)===S)){A[S]=s.slice(0,u);break}}else for(n=E;n!==C;n+=L)if(a=r.xaxes[n],-1!==p.cartesian.indexOf(a+S)){A[S]=a;break}}}}}},{\"../../lib\":503,\"../../lib/regex\":520,\"../../plot_api/plot_template\":543,\"../../plots/cartesian/constants\":561,\"../../plots/domain\":584}],411:[function(t,e,r){\"use strict\";var n=t(\"../../plots/cartesian/constants\"),i=t(\"../../plot_api/plot_template\").templatedArray;t(\"../../constants/axis_placeable_objects\");e.exports=i(\"image\",{visible:{valType:\"boolean\",dflt:!0,editType:\"arraydraw\"},source:{valType:\"string\",editType:\"arraydraw\"},layer:{valType:\"enumerated\",values:[\"below\",\"above\"],dflt:\"above\",editType:\"arraydraw\"},sizex:{valType:\"number\",dflt:0,editType:\"arraydraw\"},sizey:{valType:\"number\",dflt:0,editType:\"arraydraw\"},sizing:{valType:\"enumerated\",values:[\"fill\",\"contain\",\"stretch\"],dflt:\"contain\",editType:\"arraydraw\"},opacity:{valType:\"number\",min:0,max:1,dflt:1,editType:\"arraydraw\"},x:{valType:\"any\",dflt:0,editType:\"arraydraw\"},y:{valType:\"any\",dflt:0,editType:\"arraydraw\"},xanchor:{valType:\"enumerated\",values:[\"left\",\"center\",\"right\"],dflt:\"left\",editType:\"arraydraw\"},yanchor:{valType:\"enumerated\",values:[\"top\",\"middle\",\"bottom\"],dflt:\"top\",editType:\"arraydraw\"},xref:{valType:\"enumerated\",values:[\"paper\",n.idRegex.x.toString()],dflt:\"paper\",editType:\"arraydraw\"},yref:{valType:\"enumerated\",values:[\"paper\",n.idRegex.y.toString()],dflt:\"paper\",editType:\"arraydraw\"},editType:\"arraydraw\"})},{\"../../constants/axis_placeable_objects\":472,\"../../plot_api/plot_template\":543,\"../../plots/cartesian/constants\":561}],412:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../../lib/to_log_range\");e.exports=function(t,e,r,a){e=e||{};var o=\"log\"===r&&\"linear\"===e.type,s=\"linear\"===r&&\"log\"===e.type;if(o||s)for(var l,c,u=t._fullLayout.images,f=e._id.charAt(0),h=0;h<u.length;h++)if(c=\"images[\"+h+\"].\",(l=u[h])[f+\"ref\"]===e._id){var p=l[f],d=l[\"size\"+f],m=null,g=null;if(o){m=i(p,e.range);var v=d/Math.pow(10,m)/2;g=2*Math.log(v+Math.sqrt(1+v*v))/Math.LN10}else g=(m=Math.pow(10,p))*(Math.pow(10,d/2)-Math.pow(10,-d/2));n(m)?n(g)||(g=null):(m=null,g=null),a(c+f,m),a(c+\"size\"+f,g)}}},{\"../../lib/to_log_range\":531,\"fast-isnumeric\":190}],413:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../plots/cartesian/axes\"),a=t(\"../../plots/array_container_defaults\"),o=t(\"./attributes\");function s(t,e,r){function a(r,i){return n.coerce(t,e,o,r,i)}var s=a(\"source\");if(!a(\"visible\",!!s))return e;a(\"layer\"),a(\"xanchor\"),a(\"yanchor\"),a(\"sizex\"),a(\"sizey\"),a(\"sizing\"),a(\"opacity\");for(var l={_fullLayout:r},c=[\"x\",\"y\"],u=0;u<2;u++){var f=c[u],h=i.coerceRef(t,e,l,f,\"paper\",void 0);if(\"paper\"!==h)i.getFromId(l,h)._imgIndices.push(e._index);i.coercePosition(e,l,a,h,f,0)}return e}e.exports=function(t,e){a(t,e,{name:\"images\",handleItemDefaults:s})}},{\"../../lib\":503,\"../../plots/array_container_defaults\":549,\"../../plots/cartesian/axes\":554,\"./attributes\":411}],414:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../drawing\"),a=t(\"../../plots/cartesian/axes\"),o=t(\"../../plots/cartesian/axis_ids\"),s=t(\"../../constants/xmlns_namespaces\");e.exports=function(t){var e,r,l=t._fullLayout,c=[],u={},f=[];for(r=0;r<l.images.length;r++){var h=l.images[r];if(h.visible)if(\"below\"===h.layer&&\"paper\"!==h.xref&&\"paper\"!==h.yref){e=o.ref2id(h.xref)+o.ref2id(h.yref);var p=l._plots[e];if(!p){f.push(h);continue}p.mainplot&&(e=p.mainplot.id),u[e]||(u[e]=[]),u[e].push(h)}else\"above\"===h.layer?c.push(h):f.push(h)}var d={left:{sizing:\"xMin\",offset:0},center:{sizing:\"xMid\",offset:-.5},right:{sizing:\"xMax\",offset:-1}},m={top:{sizing:\"YMin\",offset:0},middle:{sizing:\"YMid\",offset:-.5},bottom:{sizing:\"YMax\",offset:-1}};function g(e){var r=n.select(this);if(this._imgSrc!==e.source)if(r.attr(\"xmlns\",s.svg),e.source&&\"data:\"===e.source.slice(0,5))r.attr(\"xlink:href\",e.source),this._imgSrc=e.source;else{var i=new Promise(function(t){var n=new Image;function i(){r.remove(),t()}this.img=n,n.setAttribute(\"crossOrigin\",\"anonymous\"),n.onerror=i,n.onload=function(){var e=document.createElement(\"canvas\");e.width=this.width,e.height=this.height,e.getContext(\"2d\",{willReadFrequently:!0}).drawImage(this,0,0);var n=e.toDataURL(\"image/png\");r.attr(\"xlink:href\",n),t()},r.on(\"error\",i),n.src=e.source,this._imgSrc=e.source}.bind(this));t._promises.push(i)}}function v(e){var r,o,s=n.select(this),c=a.getFromId(t,e.xref),u=a.getFromId(t,e.yref),f=\"domain\"===a.getRefType(e.xref),h=\"domain\"===a.getRefType(e.yref),p=l._size;r=void 0!==c?\"string\"==typeof e.xref&&f?c._length*e.sizex:Math.abs(c.l2p(e.sizex)-c.l2p(0)):e.sizex*p.w,o=void 0!==u?\"string\"==typeof e.yref&&h?u._length*e.sizey:Math.abs(u.l2p(e.sizey)-u.l2p(0)):e.sizey*p.h;var g,v,y=r*d[e.xanchor].offset,x=o*m[e.yanchor].offset,b=d[e.xanchor].sizing+m[e.yanchor].sizing;switch(g=void 0!==c?\"string\"==typeof e.xref&&f?c._length*e.x+c._offset:c.r2p(e.x)+c._offset:e.x*p.w+p.l,g+=y,v=void 0!==u?\"string\"==typeof e.yref&&h?u._length*(1-e.y)+u._offset:u.r2p(e.y)+u._offset:p.h-e.y*p.h+p.t,v+=x,e.sizing){case\"fill\":b+=\" slice\";break;case\"stretch\":b=\"none\"}s.attr({x:g,y:v,width:r,height:o,preserveAspectRatio:b,opacity:e.opacity});var _=(c&&\"domain\"!==a.getRefType(e.xref)?c._id:\"\")+(u&&\"domain\"!==a.getRefType(e.yref)?u._id:\"\");i.setClipUrl(s,_?\"clip\"+l._uid+_:null,t)}var y=l._imageLowerLayer.selectAll(\"image\").data(f),x=l._imageUpperLayer.selectAll(\"image\").data(c);y.enter().append(\"image\"),x.enter().append(\"image\"),y.exit().remove(),x.exit().remove(),y.each((function(t){g.bind(this)(t),v.bind(this)(t)})),x.each((function(t){g.bind(this)(t),v.bind(this)(t)}));var b=Object.keys(l._plots);for(r=0;r<b.length;r++){e=b[r];var _=l._plots[e];if(_.imagelayer){var w=_.imagelayer.selectAll(\"image\").data(u[e]||[]);w.enter().append(\"image\"),w.exit().remove(),w.each((function(t){g.bind(this)(t),v.bind(this)(t)}))}}}},{\"../../constants/xmlns_namespaces\":480,\"../../plots/cartesian/axes\":554,\"../../plots/cartesian/axis_ids\":558,\"../drawing\":388,\"@plotly/d3\":58}],415:[function(t,e,r){\"use strict\";e.exports={moduleType:\"component\",name:\"images\",layoutAttributes:t(\"./attributes\"),supplyLayoutDefaults:t(\"./defaults\"),includeBasePlot:t(\"../../plots/cartesian/include_components\")(\"images\"),draw:t(\"./draw\"),convertCoords:t(\"./convert_coords\")}},{\"../../plots/cartesian/include_components\":567,\"./attributes\":411,\"./convert_coords\":412,\"./defaults\":413,\"./draw\":414}],416:[function(t,e,r){\"use strict\";var n=t(\"../../plots/font_attributes\"),i=t(\"../color/attributes\");e.exports={bgcolor:{valType:\"color\",editType:\"legend\"},bordercolor:{valType:\"color\",dflt:i.defaultLine,editType:\"legend\"},borderwidth:{valType:\"number\",min:0,dflt:0,editType:\"legend\"},font:n({editType:\"legend\"}),grouptitlefont:n({editType:\"legend\"}),orientation:{valType:\"enumerated\",values:[\"v\",\"h\"],dflt:\"v\",editType:\"legend\"},traceorder:{valType:\"flaglist\",flags:[\"reversed\",\"grouped\"],extras:[\"normal\"],editType:\"legend\"},tracegroupgap:{valType:\"number\",min:0,dflt:10,editType:\"legend\"},itemsizing:{valType:\"enumerated\",values:[\"trace\",\"constant\"],dflt:\"trace\",editType:\"legend\"},itemwidth:{valType:\"number\",min:30,dflt:30,editType:\"legend\"},itemclick:{valType:\"enumerated\",values:[\"toggle\",\"toggleothers\",!1],dflt:\"toggle\",editType:\"legend\"},itemdoubleclick:{valType:\"enumerated\",values:[\"toggle\",\"toggleothers\",!1],dflt:\"toggleothers\",editType:\"legend\"},groupclick:{valType:\"enumerated\",values:[\"toggleitem\",\"togglegroup\"],dflt:\"togglegroup\",editType:\"legend\"},x:{valType:\"number\",min:-2,max:3,editType:\"legend\"},xanchor:{valType:\"enumerated\",values:[\"auto\",\"left\",\"center\",\"right\"],dflt:\"left\",editType:\"legend\"},y:{valType:\"number\",min:-2,max:3,editType:\"legend\"},yanchor:{valType:\"enumerated\",values:[\"auto\",\"top\",\"middle\",\"bottom\"],editType:\"legend\"},uirevision:{valType:\"any\",editType:\"none\"},valign:{valType:\"enumerated\",values:[\"top\",\"middle\",\"bottom\"],dflt:\"middle\",editType:\"legend\"},title:{text:{valType:\"string\",dflt:\"\",editType:\"legend\"},font:n({editType:\"legend\"}),side:{valType:\"enumerated\",values:[\"top\",\"left\",\"top left\"],editType:\"legend\"},editType:\"legend\"},editType:\"legend\"}},{\"../../plots/font_attributes\":585,\"../color/attributes\":365}],417:[function(t,e,r){\"use strict\";e.exports={scrollBarWidth:6,scrollBarMinHeight:20,scrollBarColor:\"#808BA4\",scrollBarMargin:4,scrollBarEnterAttrs:{rx:20,ry:3,width:0,height:0},titlePad:2,itemGap:5}},{}],418:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),i=t(\"../../lib\"),a=t(\"../../plot_api/plot_template\"),o=t(\"../../plots/attributes\"),s=t(\"./attributes\"),l=t(\"../../plots/layout_attributes\"),c=t(\"./helpers\");e.exports=function(t,e,r){var u,f=t.legend||{},h=a.newContainer(e,\"legend\");function p(t,e){return i.coerce(f,h,s,t,e)}for(var d=function(t,e){var r=u._input,n=u;return i.coerce(r,n,o,t,e)},m=e.font||{},g=i.coerceFont(p,\"grouptitlefont\",i.extendFlat({},m,{size:Math.round(1.1*m.size)})),v=0,y=!1,x=\"normal\",b=0;b<r.length;b++)(u=r[b]).visible&&((u.showlegend||u._dfltShowLegend&&!(u._module&&u._module.attributes&&u._module.attributes.showlegend&&!1===u._module.attributes.showlegend.dflt))&&(v++,u.showlegend&&(y=!0,(n.traceIs(u,\"pie-like\")||!0===u._input.showlegend)&&v++),i.coerceFont(d,\"legendgrouptitle.font\",g)),(n.traceIs(u,\"bar\")&&\"stack\"===e.barmode||-1!==[\"tonextx\",\"tonexty\"].indexOf(u.fill))&&(x=c.isGrouped({traceorder:x})?\"grouped+reversed\":\"reversed\"),void 0!==u.legendgroup&&\"\"!==u.legendgroup&&(x=c.isReversed({traceorder:x})?\"reversed+grouped\":\"grouped\"));var _=i.coerce(t,e,l,\"showlegend\",y&&v>1);if(!1===_&&(e.legend=void 0),(!1!==_||f.uirevision)&&(p(\"uirevision\",e.uirevision),!1!==_)){p(\"bgcolor\",e.paper_bgcolor),p(\"bordercolor\"),p(\"borderwidth\");var w,T,k,A=i.coerceFont(p,\"font\",e.font),M=\"h\"===p(\"orientation\");if(M?(w=0,n.getComponentMethod(\"rangeslider\",\"isVisible\")(t.xaxis)?(T=1.1,k=\"bottom\"):(T=-.1,k=\"top\")):(w=1.02,T=1,k=\"auto\"),p(\"traceorder\",x),c.isGrouped(e.legend)&&p(\"tracegroupgap\"),p(\"itemsizing\"),p(\"itemwidth\"),p(\"itemclick\"),p(\"itemdoubleclick\"),p(\"groupclick\"),p(\"x\",w),p(\"xanchor\"),p(\"y\",T),p(\"yanchor\",k),p(\"valign\"),i.noneOrAll(f,h,[\"x\",\"y\"]),p(\"title.text\")){p(\"title.side\",M?\"left\":\"top\");var S=i.extendFlat({},A,{size:i.bigFont(A.size)});i.coerceFont(p,\"title.font\",S)}}}},{\"../../lib\":503,\"../../plot_api/plot_template\":543,\"../../plots/attributes\":550,\"../../plots/layout_attributes\":610,\"../../registry\":638,\"./attributes\":416,\"./helpers\":422}],419:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../../lib\"),a=t(\"../../plots/plots\"),o=t(\"../../registry\"),s=t(\"../../lib/events\"),l=t(\"../dragelement\"),c=t(\"../drawing\"),u=t(\"../color\"),f=t(\"../../lib/svg_text_utils\"),h=t(\"./handle_click\"),p=t(\"./constants\"),d=t(\"../../constants/alignment\"),m=d.LINE_SPACING,g=d.FROM_TL,v=d.FROM_BR,y=t(\"./get_legend_data\"),x=t(\"./style\"),b=t(\"./helpers\");function _(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};if(a._group&&(l.group=a._group),o.traceIs(a,\"pie-like\")&&(l.label=r.datum()[0].label),!1!==s.triggerHandler(t,\"plotly_legendclick\",l))if(1===n)e._clickTimeout=setTimeout((function(){t._fullLayout&&h(r,t,n)}),t._context.doubleClickDelay);else if(2===n){e._clickTimeout&&clearTimeout(e._clickTimeout),t._legendMouseDownTime=0,!1!==s.triggerHandler(t,\"plotly_legenddoubleclick\",l)&&h(r,t,n)}}function w(t,e,r){var n,a,s=t.data()[0][0],l=s.trace,u=o.traceIs(l,\"pie-like\"),h=!r._inHover&&e._context.edits.legendText&&!u,d=r._maxNameLength;s.groupTitle?(n=s.groupTitle.text,a=s.groupTitle.font):(a=r.font,r.entries?n=s.text:(n=u?s.label:l.name,l._meta&&(n=i.templateString(n,l._meta))));var m=i.ensureSingle(t,\"text\",\"legendtext\");m.attr(\"text-anchor\",\"start\").call(c.font,a).text(h?T(n,d):n);var g=r.itemwidth+2*p.itemGap;f.positionText(m,g,0),h?m.call(f.makeEditable,{gd:e,text:n}).call(A,t,e,r).on(\"edit\",(function(n){this.text(T(n,d)).call(A,t,e,r);var a=s.trace._fullInput||{},c={};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(s.trace._group,n),c=h.constructUpdate()}else c.name=n;return o.call(\"_guiRestyle\",e,c,l.index)})):A(m,t,e,r)}function T(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 k(t,e){var r,a=e._context.doubleClickDelay,o=1,s=i.ensureSingle(t,\"rect\",\"legendtoggle\",(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||(s.on(\"mousedown\",(function(){(r=(new Date).getTime())-e._legendMouseDownTime<a?o+=1:(o=1,e._legendMouseDownTime=r)})),s.on(\"mouseup\",(function(){if(!e._dragged&&!e._editing){var r=e._fullLayout.legend;(new Date).getTime()-e._legendMouseDownTime>a&&(o=Math.max(o-1,1)),_(e,r,t,o,n.event)}})))}function A(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)return void t.remove();var a=t.select(\"g[class*=math-group]\"),o=a.node();r||(r=e._fullLayout.legend);var s,l=r.borderwidth;s=1===n?r.title.font:i.groupTitle?i.groupTitle.font:r.font;var u,h,d=s.size*m;if(o){var g=c.bBox(o);u=g.height,h=g.width,1===n?c.setTranslate(a,l,l+.75*u):c.setTranslate(a,0,.25*u)}else{var v=t.select(1===n?\".legendtitletext\":\".legendtext\"),y=f.lineCount(v),x=v.node();if(u=d*y,h=x?c.bBox(x).width:0,1===n)\"left\"===r.title.side&&(h+=2*p.itemGap),f.positionText(v,l+p.titlePad,l+d);else{var b=2*p.itemGap+r.itemwidth;i.groupTitle&&(b=p.itemGap,h-=r.itemwidth),f.positionText(v,b,-d*((y-1)/2-.3))}}1===n?(r._titleWidth=h,r._titleHeight=u):(i.lineHeight=d,i.height=Math.max(u,16)+3,i.width=h)}(e,r,n,i)}))}function M(t){return i.isRightAnchor(t)?\"right\":i.isCenterAnchor(t)?\"center\":\"left\"}function S(t){return i.isBottomAnchor(t)?\"bottom\":i.isMiddleAnchor(t)?\"middle\":\"top\"}e.exports=function(t,e){return e||(e=t._fullLayout.legend||{}),function(t,e){var r,s,f=t._fullLayout,h=\"legend\"+f._uid,d=e._inHover;d?(r=e.layer,h+=\"-hover\"):r=f._infolayer;if(!r)return;t._legendMouseDownTime||(t._legendMouseDownTime=0);if(d){if(!e.entries)return;s=y(e.entries,e)}else{if(!t.calcdata)return;s=f.showlegend&&y(t.calcdata,e)}var m=f.hiddenlabels||[];if(!(d||f.showlegend&&s.length))return r.selectAll(\".legend\").remove(),f._topdefs.select(\"#\"+h).remove(),a.autoMargin(t,\"legend\");var T=i.ensureSingle(r,\"g\",\"legend\",(function(t){d||t.attr(\"pointer-events\",\"all\")})),E=i.ensureSingleById(f._topdefs,\"clipPath\",h,(function(t){t.append(\"rect\")})),L=i.ensureSingle(T,\"rect\",\"bg\",(function(t){t.attr(\"shape-rendering\",\"crispEdges\")}));L.call(u.stroke,e.bordercolor).call(u.fill,e.bgcolor).style(\"stroke-width\",e.borderwidth+\"px\");var C=i.ensureSingle(T,\"g\",\"scrollbox\"),P=e.title;if(e._titleWidth=0,e._titleHeight=0,P.text){var I=i.ensureSingle(C,\"text\",\"legendtitletext\");I.attr(\"text-anchor\",\"start\").call(c.font,P.font).text(P.text),A(I,C,t,e,1)}else C.selectAll(\".legendtitletext\").remove();var O=i.ensureSingle(T,\"rect\",\"scrollbar\",(function(t){t.attr(p.scrollBarEnterAttrs).call(u.fill,p.scrollBarColor)})),z=C.selectAll(\"g.groups\").data(s);z.enter().append(\"g\").attr(\"class\",\"groups\"),z.exit().remove();var D=z.selectAll(\"g.traces\").data(i.identity);D.enter().append(\"g\").attr(\"class\",\"traces\"),D.exit().remove(),D.style(\"opacity\",(function(t){var e=t[0].trace;return o.traceIs(e,\"pie-like\")?-1!==m.indexOf(t[0].label)?.5:1:\"legendonly\"===e.visible?.5:1})).each((function(){n.select(this).call(w,t,e)})).call(x,t,e).each((function(){d||n.select(this).call(k,t)})),i.syncOrAsync([a.previousPromises,function(){return function(t,e,r,i){var a=t._fullLayout;i||(i=a.legend);var o=a._size,s=b.isVertical(i),l=b.isGrouped(i),u=i.borderwidth,f=2*u,h=p.itemGap,d=i.itemwidth+2*h,m=2*(u+h),g=S(i),v=i.y<0||0===i.y&&\"top\"===g,y=i.y>1||1===i.y&&\"bottom\"===g,x=i.tracegroupgap;i._maxHeight=Math.max(v||y?a.height/2:o.h,30);var _=0;i._width=0,i._height=0;var w=function(t){var e=0,r=0,n=t.title.side;n&&(-1!==n.indexOf(\"left\")&&(e=t._titleWidth),-1!==n.indexOf(\"top\")&&(r=t._titleHeight));return[e,r]}(i);if(s)r.each((function(t){var e=t[0].height;c.setTranslate(this,u+w[0],u+w[1]+i._height+e/2+h),i._height+=e,i._width=Math.max(i._width,t[0].width)})),_=d+i._width,i._width+=h+d+f,i._height+=m,l&&(e.each((function(t,e){c.setTranslate(this,0,e*i.tracegroupgap)})),i._height+=(i._lgroupsLength-1)*i.tracegroupgap);else{var T=M(i),k=i.x<0||0===i.x&&\"right\"===T,A=i.x>1||1===i.x&&\"left\"===T,E=y||v,L=a.width/2;i._maxWidth=Math.max(k?E&&\"left\"===T?o.l+o.w:L:A?E&&\"right\"===T?o.r+o.w:L:o.w,2*d);var C=0,P=0;r.each((function(t){var e=t[0].width+d;C=Math.max(C,e),P+=e})),_=null;var I=0;if(l){var O=0,z=0,D=0;e.each((function(){var t=0,e=0;n.select(this).selectAll(\"g.traces\").each((function(r){var n=r[0].width,i=r[0].height;c.setTranslate(this,w[0],w[1]+u+h+i/2+e),e+=i,t=Math.max(t,d+n)}));var r=t+h;z>0&&r+u+z>i._maxWidth?(I=Math.max(I,z),z=0,D+=O+x,O=e):O=Math.max(O,e),c.setTranslate(this,z,D),z+=r})),i._width=Math.max(I,z)+u,i._height=D+O+m}else{var R=r.size(),F=P+f+(R-1)*h<i._maxWidth,B=0,N=0,j=0,U=0;r.each((function(t){var e=t[0].height,r=d+t[0].width,n=(F?r:C)+h;n+u+N-h>=i._maxWidth&&(I=Math.max(I,U),N=0,j+=B,i._height+=B,B=0),c.setTranslate(this,w[0]+u+N,w[1]+u+j+e/2+h),U=N+r+h,N+=n,B=Math.max(B,e)})),F?(i._width=N+f,i._height=B+m):(i._width=Math.max(I,U)+f,i._height+=B+m)}}i._width=Math.ceil(Math.max(i._width+w[0],i._titleWidth+2*(u+p.titlePad))),i._height=Math.ceil(Math.max(i._height+w[1],i._titleHeight+2*(u+p.itemGap))),i._effHeight=Math.min(i._height,i._maxHeight);var V=t._context.edits,H=V.legendText||V.legendPosition;r.each((function(t){var e=n.select(this).select(\".legendtoggle\"),r=t[0].height,i=H?d:_||d+t[0].width;s||(i+=h/2),c.setRect(e,0,-r/2,i,r)}))}(t,z,D,e)},function(){var s,u,m,y,x=f._size,b=e.borderwidth;if(!d){if(function(t){var e=t._fullLayout.legend,r=M(e),n=S(e);return a.autoMargin(t,\"legend\",{x:e.x,y:e.y,l:e._width*g[r],r:e._width*v[r],b:e._effHeight*v[n],t:e._effHeight*g[n]})}(t))return;var w=x.l+x.w*e.x-g[M(e)]*e._width,k=x.t+x.h*(1-e.y)-g[S(e)]*e._effHeight;if(f.margin.autoexpand){var A=w,P=k;w=i.constrain(w,0,f.width-e._width),k=i.constrain(k,0,f.height-e._effHeight),w!==A&&i.log(\"Constrain legend.x to make legend fit inside graph\"),k!==P&&i.log(\"Constrain legend.y to make legend fit inside graph\")}c.setTranslate(T,w,k)}if(O.on(\".drag\",null),T.on(\"wheel\",null),d||e._height<=e._maxHeight||t._context.staticPlot){var I=e._effHeight;d&&(I=e._height),L.attr({width:e._width-b,height:I-b,x:b/2,y:b/2}),c.setTranslate(C,0,0),E.select(\"rect\").attr({width:e._width-2*b,height:I-2*b,x:b,y:b}),c.setClipUrl(C,h,t),c.setRect(O,0,0,0,0),delete e._scrollY}else{var z,D,R,F=Math.max(p.scrollBarMinHeight,e._effHeight*e._effHeight/e._height),B=e._effHeight-F-2*p.scrollBarMargin,N=e._height-e._effHeight,j=B/N,U=Math.min(e._scrollY||0,N);L.attr({width:e._width-2*b+p.scrollBarWidth+p.scrollBarMargin,height:e._effHeight-b,x:b/2,y:b/2}),E.select(\"rect\").attr({width:e._width-2*b+p.scrollBarWidth+p.scrollBarMargin,height:e._effHeight-2*b,x:b,y:b+U}),c.setClipUrl(C,h,t),q(U,F,j),T.on(\"wheel\",(function(){q(U=i.constrain(e._scrollY+n.event.deltaY/B*N,0,N),F,j),0!==U&&U!==N&&n.event.preventDefault()}));var V=n.behavior.drag().on(\"dragstart\",(function(){var t=n.event.sourceEvent;z=\"touchstart\"===t.type?t.changedTouches[0].clientY:t.clientY,R=U})).on(\"drag\",(function(){var t=n.event.sourceEvent;2===t.buttons||t.ctrlKey||(D=\"touchmove\"===t.type?t.changedTouches[0].clientY:t.clientY,q(U=function(t,e,r){var n=(r-e)/j+t;return i.constrain(n,0,N)}(R,z,D),F,j))}));O.call(V);var H=n.behavior.drag().on(\"dragstart\",(function(){var t=n.event.sourceEvent;\"touchstart\"===t.type&&(z=t.changedTouches[0].clientY,R=U)})).on(\"drag\",(function(){var t=n.event.sourceEvent;\"touchmove\"===t.type&&(D=t.changedTouches[0].clientY,q(U=function(t,e,r){var n=(e-r)/j+t;return i.constrain(n,0,N)}(R,z,D),F,j))}));C.call(H)}function q(r,n,i){e._scrollY=t._fullLayout.legend._scrollY=r,c.setTranslate(C,0,-r),c.setRect(O,e._width,p.scrollBarMargin+r*i,p.scrollBarWidth,n),E.select(\"rect\").attr(\"y\",b+r)}t._context.edits.legendPosition&&(T.classed(\"cursor-move\",!0),l.init({element:T.node(),gd:t,prepFn:function(){var t=c.getTranslate(T);m=t.x,y=t.y},moveFn:function(t,r){var n=m+t,i=y+r;c.setTranslate(T,n,i),s=l.align(n,0,x.l,x.l+x.w,e.xanchor),u=l.align(i,0,x.t+x.h,x.t,e.yanchor)},doneFn:function(){void 0!==s&&void 0!==u&&o.call(\"_guiRelayout\",t,{\"legend.x\":s,\"legend.y\":u})},clickFn:function(e,n){var i=r.selectAll(\"g.traces\").filter((function(){var t=this.getBoundingClientRect();return n.clientX>=t.left&&n.clientX<=t.right&&n.clientY>=t.top&&n.clientY<=t.bottom}));i.size()>0&&_(t,T,i,e,n)}}))}],t)}(t,e)}},{\"../../constants/alignment\":471,\"../../lib\":503,\"../../lib/events\":492,\"../../lib/svg_text_utils\":529,\"../../plots/plots\":619,\"../../registry\":638,\"../color\":366,\"../dragelement\":385,\"../drawing\":388,\"./constants\":417,\"./get_legend_data\":420,\"./handle_click\":421,\"./helpers\":422,\"./style\":424,\"@plotly/d3\":58}],420:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),i=t(\"./helpers\");e.exports=function(t,e){var r,a,o=e._inHover,s=i.isGrouped(e),l=i.isReversed(e),c={},u=[],f=!1,h={},p=0,d=0;function m(t,r){if(\"\"!==t&&i.isGrouped(e))-1===u.indexOf(t)?(u.push(t),f=!0,c[t]=[r]):c[t].push(r);else{var n=\"~~i\"+p;u.push(n),c[n]=[r],p++}}for(r=0;r<t.length;r++){var g=t[r],v=g[0],y=v.trace,x=y.legendgroup;if(o||y.visible&&y.showlegend)if(n.traceIs(y,\"pie-like\"))for(h[x]||(h[x]={}),a=0;a<g.length;a++){var b=g[a].label;h[x][b]||(m(x,{label:b,color:g[a].color,i:g[a].i,trace:y,pts:g[a].pts}),h[x][b]=!0,d=Math.max(d,(b||\"\").length))}else m(x,v),d=Math.max(d,(y.name||\"\").length)}if(!u.length)return[];var _=!f||!s,w=[];for(r=0;r<u.length;r++){var T=c[u[r]];_?w.push(T[0]):w.push(T)}for(_&&(w=[w]),r=0;r<w.length;r++){var k=1/0;for(a=0;a<w[r].length;a++){var A=w[r][a].trace.legendrank;k>A&&(k=A)}w[r][0]._groupMinRank=k,w[r][0]._preGroupSort=r}var M=function(t,e){return t.trace.legendrank-e.trace.legendrank||t._preSort-e._preSort};for(w.forEach((function(t,e){t[0]._preGroupSort=e})),w.sort((function(t,e){return t[0]._groupMinRank-e[0]._groupMinRank||t[0]._preGroupSort-e[0]._preGroupSort})),r=0;r<w.length;r++){w[r].forEach((function(t,e){t._preSort=e})),w[r].sort(M);var S=w[r][0].trace,E=null;for(a=0;a<w[r].length;a++){var L=w[r][a].trace.legendgrouptitle;if(L&&L.text){E=L,o&&(L.font=e._groupTitleFont);break}}if(l&&w[r].reverse(),E){var C=!1;for(a=0;a<w[r].length;a++)if(n.traceIs(w[r][a].trace,\"pie-like\")){C=!0;break}w[r].unshift({i:-1,groupTitle:E,noClick:C,trace:{showlegend:S.showlegend,legendgroup:S.legendgroup,visible:\"toggleitem\"===e.groupclick||S.visible}})}for(a=0;a<w[r].length;a++)w[r][a]=[w[r][a]]}return e._lgroupsLength=w.length,e._maxNameLength=d,w}},{\"../../registry\":638,\"./helpers\":422}],421:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../registry\"),a=!0;e.exports=function(t,e,r){var o=e._fullLayout;if(!e._dragged&&!e._editing){var s,l=o.legend.itemclick,c=o.legend.itemdoubleclick,u=o.legend.groupclick;if(1===r&&\"toggle\"===l&&\"toggleothers\"===c&&a&&e.data&&e._context.showTips?(n.notifier(n._(e,\"Double-click on legend to isolate one trace\"),\"long\"),a=!1):a=!1,1===r?s=l:2===r&&(s=c),s){var f=\"togglegroup\"===u,h=o.hiddenlabels?o.hiddenlabels.slice():[],p=t.data()[0][0];if(!p.groupTitle||!p.noClick){var d,m,g,v,y,x=e._fullData,b=p.trace,_=b.legendgroup,w={},T=[],k=[],A=[];if(i.traceIs(b,\"pie-like\")){var M=p.label,S=h.indexOf(M);\"toggle\"===s?-1===S?h.push(M):h.splice(S,1):\"toggleothers\"===s&&(h=[],e.calcdata[0].forEach((function(t){M!==t.label&&h.push(t.label)})),e._fullLayout.hiddenlabels&&e._fullLayout.hiddenlabels.length===h.length&&-1===S&&(h=[])),i.call(\"_guiRelayout\",e,\"hiddenlabels\",h)}else{var E,L=_&&_.length,C=[];if(L)for(d=0;d<x.length;d++)(E=x[d]).visible&&E.legendgroup===_&&C.push(d);if(\"toggle\"===s){var P;switch(b.visible){case!0:P=\"legendonly\";break;case!1:P=!1;break;case\"legendonly\":P=!0}if(L)if(f)for(d=0;d<x.length;d++)!1!==x[d].visible&&x[d].legendgroup===_&&j(x[d],P);else j(b,P);else j(b,P)}else if(\"toggleothers\"===s){var I,O,z,D,R=!0;for(d=0;d<x.length;d++)if(I=x[d]===b,z=!0!==x[d].showlegend,!(I||z||(O=L&&x[d].legendgroup===_)||!0!==x[d].visible||i.traceIs(x[d],\"notLegendIsolatable\"))){R=!1;break}for(d=0;d<x.length;d++)if(!1!==x[d].visible&&!i.traceIs(x[d],\"notLegendIsolatable\"))switch(b.visible){case\"legendonly\":j(x[d],!0);break;case!0:D=!!R||\"legendonly\",I=x[d]===b,z=!0!==x[d].showlegend&&!x[d].legendgroup,O=I||L&&x[d].legendgroup===_,j(x[d],!(!O&&!z)||D)}}for(d=0;d<k.length;d++)if(g=k[d]){var F=g.constructUpdate(),B=Object.keys(F);for(m=0;m<B.length;m++)v=B[m],(w[v]=w[v]||[])[A[d]]=F[v]}for(y=Object.keys(w),d=0;d<y.length;d++)for(v=y[d],m=0;m<T.length;m++)w[v].hasOwnProperty(m)||(w[v][m]=void 0);i.call(\"_guiRestyle\",e,w,T)}}}}function N(t,e,r){var n=T.indexOf(t),i=w[e];return i||(i=w[e]=[]),-1===T.indexOf(t)&&(T.push(t),n=T.length-1),i[n]=r,n}function j(t,e){if(!p.groupTitle||f){var r=t._fullInput;if(i.hasTransform(r,\"groupby\")){var a=k[r.index];if(!a){var o=i.getTransformIndices(r,\"groupby\"),s=o[o.length-1];a=n.keyedContainer(r,\"transforms[\"+s+\"].styles\",\"target\",\"value.visible\"),k[r.index]=a}var l=a.get(t._group);void 0===l&&(l=!0),!1!==l&&a.set(t._group,e),A[r.index]=N(r.index,\"visible\",!1!==r.visible)}else{var c=!1!==r.visible&&e;N(r.index,\"visible\",c)}}}}},{\"../../lib\":503,\"../../registry\":638}],422:[function(t,e,r){\"use strict\";r.isGrouped=function(t){return-1!==(t.traceorder||\"\").indexOf(\"grouped\")},r.isVertical=function(t){return\"h\"!==t.orientation},r.isReversed=function(t){return-1!==(t.traceorder||\"\").indexOf(\"reversed\")}},{}],423:[function(t,e,r){\"use strict\";e.exports={moduleType:\"component\",name:\"legend\",layoutAttributes:t(\"./attributes\"),supplyLayoutDefaults:t(\"./defaults\"),draw:t(\"./draw\"),style:t(\"./style\")}},{\"./attributes\":416,\"./defaults\":418,\"./draw\":419,\"./style\":424}],424:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../../registry\"),a=t(\"../../lib\"),o=a.strTranslate,s=t(\"../drawing\"),l=t(\"../color\"),c=t(\"../colorscale/helpers\").extractOpts,u=t(\"../../traces/scatter/subtypes\"),f=t(\"../../traces/pie/style_one\"),h=t(\"../../traces/pie/helpers\").castOption,p=t(\"./constants\");function d(t,e){return(e?\"radial\":\"horizontal\")+(t?\"\":\"reversed\")}function m(t){var e=t[0].trace,r=e.contours,n=u.hasLines(e),i=u.hasMarkers(e),a=e.visible&&e.fill&&\"none\"!==e.fill,o=!1,s=!1;if(r){var l=r.coloring;\"lines\"===l?o=!0:n=\"none\"===l||\"heatmap\"===l||r.showlines,\"constraint\"===r.type?a=\"=\"!==r._operation:\"fill\"!==l&&\"heatmap\"!==l||(s=!0)}return{showMarker:i,showLine:n,showFill:a,showGradientLine:o,showGradientFill:s,anyLine:n||o,anyFill:a||s}}function g(t,e,r){return t&&a.isArrayOrTypedArray(t)?e:t>r?r:t}e.exports=function(t,e,r){var v=e._fullLayout;r||(r=v.legend);var y=\"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 y?n:Math.min(i,r)};function T(t,a,o){var u=t[0].trace,f=u.marker||{},h=f.line||{},p=o?u.visible&&u.type===o:i.traceIs(u,\"bar\"),d=n.select(a).select(\"g.legendpoints\").selectAll(\"path.legend\"+o).data(p?[t]:[]);d.enter().append(\"path\").classed(\"legend\"+o,!0).attr(\"d\",\"M6,6H-6V-6H6Z\").attr(\"transform\",_),d.exit().remove(),d.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=c(f),m=d.mid;void 0===m&&(m=(d.max+d.min)/2),p=s.tryColorscale(f,\"\")(m)}var v=p||a.mc||f.color,y=f.pattern,x=y&&s.getPatternAttr(y.shape,0,\"\");if(x){var b=s.getPatternAttr(y.bgcolor,0,null),_=s.getPatternAttr(y.fgcolor,0,null),T=y.fgopacity,k=g(y.size,8,10),A=g(y.solidity,.5,1),M=\"legend-\"+u.uid;i.call(s.pattern,\"legend\",e,M,x,k,A,p,y.fillmode,b,_,T)}else i.call(l.fill,v);o&&l.stroke(i,a.mlc||h.color)}))}function k(t,e,r){var o=t[0],s=o.trace,l=r?s.visible&&s.type===r:i.traceIs(s,r),c=n.select(e).select(\"g.legendpoints\").selectAll(\"path.legend\"+r).data(l?[t]:[]);if(c.enter().append(\"path\").classed(\"legend\"+r,!0).attr(\"d\",\"M6,6H-6V-6H6Z\").attr(\"transform\",_),c.exit().remove(),c.size()){var u=(s.marker||{}).line,p=w(h(u.width,o.pts),u,5,2),d=a.minExtend(s,{marker:{line:{width:p}}});d.marker.line.color=u.color;var m=a.minExtend(o,{trace:d});f(c,m,d)}}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.valign,l=t[0].lineHeight,c=t[0].height;if(\"middle\"!==s&&l&&c){var u={top:1,bottom:-1}[s]*(.5*(l-c+3));i.attr(\"transform\",o(0,u))}else i.attr(\"transform\",null);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 f=i.selectAll(\"g.legendsymbols\").data([t]);f.enter().append(\"g\").classed(\"legendsymbols\",!0),f.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 u=n.select(this).select(\"g.legendpoints\").selectAll(\"path.legend3dandfriends\").data(o);u.enter().append(\"path\").classed(\"legend3dandfriends\",!0).attr(\"transform\",_).style(\"stroke-miterlimit\",1),u.exit().remove(),u.each((function(t,o){var u,f=n.select(this),h=c(i),p=h.colorscale,m=h.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 v=i.vertexcolor||i.facecolor||i.color;u=a.isArrayOrTypedArray(v)?v[o]||v[0]:v}f.attr(\"d\",t[0]),u?f.call(l.fill,u):f.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\",_).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 c=a.minExtend(r,{marker:{size:y?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,f=o.showLine,h=o.showGradientLine,p=o.showGradientFill,g=o.anyFill,v=o.anyLine,y=t[0],b=y.trace,_=c(b),T=_.colorscale,k=_.reversescale,A=u.hasMarkers(b)||!g?\"M5,0\":v?\"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);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(y,{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=m(t),l=o.anyFill,c=o.anyLine,f=o.showLine,h=o.showMarker,p=t[0],d=p.trace,g=!h&&!c&&!l&&u.hasText(d);function v(t,e,r,n){var i=a.nestedProperty(d,t).get(),o=a.isArrayOrTypedArray(i)&&e?e(i):i;if(y&&o&&void 0!==n&&(o=n),r){if(o<r[0])return r[0];if(o>r[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=v(\"marker.color\",x),b.mx=v(\"marker.symbol\",x),b.mo=v(\"marker.opacity\",a.mean,[.2,1]),b.mlc=v(\"marker.line.color\",x),b.mlw=v(\"marker.line.width\",a.mean,[0,5],2),w.marker={sizeref:1,sizemin:1,sizemode:\"diameter\"};var T=v(\"marker.size\",a.mean,[2,16],12);b.ms=T,w.marker.size=T}f&&(w.line={width:v(\"line.width\",x,[0,10],5)}),g&&(b.tx=\"Aa\",b.tp=v(\"textposition\",x),b.ts=10,b.tc=v(\"textfont.color\",x),b.tf=v(\"textfont.family\",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)}))}))}},{\"../../lib\":503,\"../../registry\":638,\"../../traces/pie/helpers\":906,\"../../traces/pie/style_one\":912,\"../../traces/scatter/subtypes\":952,\"../color\":366,\"../colorscale/helpers\":377,\"../drawing\":388,\"./constants\":417,\"@plotly/d3\":58}],425:[function(t,e,r){\"use strict\";t(\"./constants\");e.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\"}}},{\"./constants\":427}],426:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),i=t(\"../../plots/plots\"),a=t(\"../../plots/cartesian/axis_ids\"),o=t(\"../../fonts/ploticon\"),s=t(\"../shapes/draw\").eraseActiveShape,l=t(\"../../lib\"),c=l._,u=e.exports={};function f(t,e){var r,i,o=e.currentTarget,s=o.getAttribute(\"data-attr\"),l=o.getAttribute(\"data-val\")||!0,c=t._fullLayout,u={},f=a.list(t,null,!0),h=c._cartesianSpikesEnabled;if(\"zoom\"===s){var p,d=\"in\"===l?.5:2,m=(1+d)/2,g=(1-d)/2;for(i=0;i<f.length;i++)if(!(r=f[i]).fixedrange)if(p=r._name,\"auto\"===l)u[p+\".autorange\"]=!0;else if(\"reset\"===l){if(void 0===r._rangeInitial)u[p+\".autorange\"]=!0;else{var v=r._rangeInitial.slice();u[p+\".range[0]\"]=v[0],u[p+\".range[1]\"]=v[1]}void 0!==r._showSpikeInitial&&(u[p+\".showspikes\"]=r._showSpikeInitial,\"on\"!==h||r._showSpikeInitial||(h=\"off\"))}else{var y=[r.r2l(r.range[0]),r.r2l(r.range[1])],x=[m*y[0]+g*y[1],m*y[1]+g*y[0]];u[p+\".range[0]\"]=r.l2r(x[0]),u[p+\".range[1]\"]=r.l2r(x[1])}}else\"hovermode\"!==s||\"x\"!==l&&\"y\"!==l||(l=c._isHoriz?\"y\":\"x\",o.setAttribute(\"data-val\",l)),u[s]=l;c._cartesianSpikesEnabled=h,n.call(\"_guiRelayout\",t,u)}function h(t,e){for(var r=e.currentTarget,i=r.getAttribute(\"data-attr\"),a=r.getAttribute(\"data-val\")||!0,o=t._fullLayout._subplots.gl3d||[],s={},l=i.split(\".\"),c=0;c<o.length;c++)s[o[c]+\".\"+l[1]]=a;var u=\"pan\"===a?a:\"zoom\";s.dragmode=u,n.call(\"_guiRelayout\",t,s)}function p(t,e){for(var r=e.currentTarget.getAttribute(\"data-attr\"),i=\"resetLastSave\"===r,a=\"resetDefault\"===r,o=t._fullLayout,s=o._subplots.gl3d||[],l={},c=0;c<s.length;c++){var u,f=s[c],h=f+\".camera\",p=f+\".aspectratio\",d=f+\".aspectmode\",m=o[f]._scene;i?(l[h+\".up\"]=m.viewInitial.up,l[h+\".eye\"]=m.viewInitial.eye,l[h+\".center\"]=m.viewInitial.center,u=!0):a&&(l[h+\".up\"]=null,l[h+\".eye\"]=null,l[h+\".center\"]=null,u=!0),u&&(l[p+\".x\"]=m.viewInitial.aspectratio.x,l[p+\".y\"]=m.viewInitial.aspectratio.y,l[p+\".z\"]=m.viewInitial.aspectratio.z,l[d]=m.viewInitial.aspectmode)}n.call(\"_guiRelayout\",t,l)}function d(t,e){var r=e.currentTarget,n=r._previousVal,i=t._fullLayout,a=i._subplots.gl3d||[],o=[\"xaxis\",\"yaxis\",\"zaxis\"],s={},l={};if(n)l=n,r._previousVal=null;else{for(var c=0;c<a.length;c++){var u=a[c],f=i[u],h=u+\".hovermode\";s[h]=f.hovermode,l[h]=!1;for(var p=0;p<3;p++){var d=o[p],m=u+\".\"+d+\".showspikes\";l[m]=!1,s[m]=f[d].showspikes}}r._previousVal=s}return l}function m(t,e){for(var r=e.currentTarget,i=r.getAttribute(\"data-attr\"),a=r.getAttribute(\"data-val\")||!0,o=t._fullLayout,s=o._subplots.geo||[],l=0;l<s.length;l++){var c=s[l],u=o[c];if(\"zoom\"===i){var f=u.projection.scale,h=\"in\"===a?2*f:.5*f;n.call(\"_guiRelayout\",t,c+\".projection.scale\",h)}}\"reset\"===i&&x(t,\"geo\")}function g(t){var e=t._fullLayout;return!e.hovermode&&(e._has(\"cartesian\")?e._isHoriz?\"y\":\"x\":\"closest\")}function v(t){var e=g(t);n.call(\"_guiRelayout\",t,\"hovermode\",e)}function y(t,e){for(var r=e.currentTarget.getAttribute(\"data-val\"),i=t._fullLayout,a=i._subplots.mapbox||[],o={},s=0;s<a.length;s++){var l=a[s],c=i[l].zoom,u=\"in\"===r?1.05*c:c/1.05;o[l+\".zoom\"]=u}n.call(\"_guiRelayout\",t,o)}function x(t,e){for(var r=t._fullLayout,i=r._subplots[e]||[],a={},o=0;o<i.length;o++)for(var s=i[o],l=r[s]._subplot.viewInitial,c=Object.keys(l),u=0;u<c.length;u++){var f=c[u];a[s+\".\"+f]=l[f]}n.call(\"_guiRelayout\",t,a)}u.toImage={name:\"toImage\",title:function(t){var e=(t._context.toImageButtonOptions||{}).format||\"png\";return c(t,\"png\"===e?\"Download plot as a png\":\"Download plot\")},icon:o.camera,click:function(t){var e=t._context.toImageButtonOptions,r={format:e.format||\"png\"};l.notifier(c(t,\"Taking snapshot - this may take a few seconds\"),\"long\"),\"svg\"!==r.format&&l.isIE()&&(l.notifier(c(t,\"IE only supports svg.  Changing format to svg.\"),\"long\"),r.format=\"svg\"),[\"filename\",\"width\",\"height\",\"scale\"].forEach((function(t){t in e&&(r[t]=e[t])})),n.call(\"downloadImage\",t,r).then((function(e){l.notifier(c(t,\"Snapshot succeeded\")+\" - \"+e,\"long\")})).catch((function(){l.notifier(c(t,\"Sorry, there was a problem downloading your snapshot!\"),\"long\")}))}},u.sendDataToCloud={name:\"sendDataToCloud\",title:function(t){return c(t,\"Edit in Chart Studio\")},icon:o.disk,click:function(t){i.sendDataToCloud(t)}},u.editInChartStudio={name:\"editInChartStudio\",title:function(t){return c(t,\"Edit in Chart Studio\")},icon:o.pencil,click:function(t){i.sendDataToCloud(t)}},u.zoom2d={name:\"zoom2d\",_cat:\"zoom\",title:function(t){return c(t,\"Zoom\")},attr:\"dragmode\",val:\"zoom\",icon:o.zoombox,click:f},u.pan2d={name:\"pan2d\",_cat:\"pan\",title:function(t){return c(t,\"Pan\")},attr:\"dragmode\",val:\"pan\",icon:o.pan,click:f},u.select2d={name:\"select2d\",_cat:\"select\",title:function(t){return c(t,\"Box Select\")},attr:\"dragmode\",val:\"select\",icon:o.selectbox,click:f},u.lasso2d={name:\"lasso2d\",_cat:\"lasso\",title:function(t){return c(t,\"Lasso Select\")},attr:\"dragmode\",val:\"lasso\",icon:o.lasso,click:f},u.drawclosedpath={name:\"drawclosedpath\",title:function(t){return c(t,\"Draw closed freeform\")},attr:\"dragmode\",val:\"drawclosedpath\",icon:o.drawclosedpath,click:f},u.drawopenpath={name:\"drawopenpath\",title:function(t){return c(t,\"Draw open freeform\")},attr:\"dragmode\",val:\"drawopenpath\",icon:o.drawopenpath,click:f},u.drawline={name:\"drawline\",title:function(t){return c(t,\"Draw line\")},attr:\"dragmode\",val:\"drawline\",icon:o.drawline,click:f},u.drawrect={name:\"drawrect\",title:function(t){return c(t,\"Draw rectangle\")},attr:\"dragmode\",val:\"drawrect\",icon:o.drawrect,click:f},u.drawcircle={name:\"drawcircle\",title:function(t){return c(t,\"Draw circle\")},attr:\"dragmode\",val:\"drawcircle\",icon:o.drawcircle,click:f},u.eraseshape={name:\"eraseshape\",title:function(t){return c(t,\"Erase active shape\")},icon:o.eraseshape,click:s},u.zoomIn2d={name:\"zoomIn2d\",_cat:\"zoomin\",title:function(t){return c(t,\"Zoom in\")},attr:\"zoom\",val:\"in\",icon:o.zoom_plus,click:f},u.zoomOut2d={name:\"zoomOut2d\",_cat:\"zoomout\",title:function(t){return c(t,\"Zoom out\")},attr:\"zoom\",val:\"out\",icon:o.zoom_minus,click:f},u.autoScale2d={name:\"autoScale2d\",_cat:\"autoscale\",title:function(t){return c(t,\"Autoscale\")},attr:\"zoom\",val:\"auto\",icon:o.autoscale,click:f},u.resetScale2d={name:\"resetScale2d\",_cat:\"resetscale\",title:function(t){return c(t,\"Reset axes\")},attr:\"zoom\",val:\"reset\",icon:o.home,click:f},u.hoverClosestCartesian={name:\"hoverClosestCartesian\",_cat:\"hoverclosest\",title:function(t){return c(t,\"Show closest data on hover\")},attr:\"hovermode\",val:\"closest\",icon:o.tooltip_basic,gravity:\"ne\",click:f},u.hoverCompareCartesian={name:\"hoverCompareCartesian\",_cat:\"hoverCompare\",title:function(t){return c(t,\"Compare data on hover\")},attr:\"hovermode\",val:function(t){return t._fullLayout._isHoriz?\"y\":\"x\"},icon:o.tooltip_compare,gravity:\"ne\",click:f},u.zoom3d={name:\"zoom3d\",_cat:\"zoom\",title:function(t){return c(t,\"Zoom\")},attr:\"scene.dragmode\",val:\"zoom\",icon:o.zoombox,click:h},u.pan3d={name:\"pan3d\",_cat:\"pan\",title:function(t){return c(t,\"Pan\")},attr:\"scene.dragmode\",val:\"pan\",icon:o.pan,click:h},u.orbitRotation={name:\"orbitRotation\",title:function(t){return c(t,\"Orbital rotation\")},attr:\"scene.dragmode\",val:\"orbit\",icon:o[\"3d_rotate\"],click:h},u.tableRotation={name:\"tableRotation\",title:function(t){return c(t,\"Turntable rotation\")},attr:\"scene.dragmode\",val:\"turntable\",icon:o[\"z-axis\"],click:h},u.resetCameraDefault3d={name:\"resetCameraDefault3d\",_cat:\"resetCameraDefault\",title:function(t){return c(t,\"Reset camera to default\")},attr:\"resetDefault\",icon:o.home,click:p},u.resetCameraLastSave3d={name:\"resetCameraLastSave3d\",_cat:\"resetCameraLastSave\",title:function(t){return c(t,\"Reset camera to last save\")},attr:\"resetLastSave\",icon:o.movie,click:p},u.hoverClosest3d={name:\"hoverClosest3d\",_cat:\"hoverclosest\",title:function(t){return c(t,\"Toggle show closest data on hover\")},attr:\"hovermode\",val:null,toggle:!0,icon:o.tooltip_basic,gravity:\"ne\",click:function(t,e){var r=d(t,e);n.call(\"_guiRelayout\",t,r)}},u.zoomInGeo={name:\"zoomInGeo\",_cat:\"zoomin\",title:function(t){return c(t,\"Zoom in\")},attr:\"zoom\",val:\"in\",icon:o.zoom_plus,click:m},u.zoomOutGeo={name:\"zoomOutGeo\",_cat:\"zoomout\",title:function(t){return c(t,\"Zoom out\")},attr:\"zoom\",val:\"out\",icon:o.zoom_minus,click:m},u.resetGeo={name:\"resetGeo\",_cat:\"reset\",title:function(t){return c(t,\"Reset\")},attr:\"reset\",val:null,icon:o.autoscale,click:m},u.hoverClosestGeo={name:\"hoverClosestGeo\",_cat:\"hoverclosest\",title:function(t){return c(t,\"Toggle show closest data on hover\")},attr:\"hovermode\",val:null,toggle:!0,icon:o.tooltip_basic,gravity:\"ne\",click:v},u.hoverClosestGl2d={name:\"hoverClosestGl2d\",_cat:\"hoverclosest\",title:function(t){return c(t,\"Toggle show closest data on hover\")},attr:\"hovermode\",val:null,toggle:!0,icon:o.tooltip_basic,gravity:\"ne\",click:v},u.hoverClosestPie={name:\"hoverClosestPie\",_cat:\"hoverclosest\",title:function(t){return c(t,\"Toggle show closest data on hover\")},attr:\"hovermode\",val:\"closest\",icon:o.tooltip_basic,gravity:\"ne\",click:v},u.resetViewSankey={name:\"resetSankeyGroup\",title:function(t){return c(t,\"Reset view\")},icon:o.home,click:function(t){for(var e={\"node.groups\":[],\"node.x\":[],\"node.y\":[]},r=0;r<t._fullData.length;r++){var i=t._fullData[r]._viewInitial;e[\"node.groups\"].push(i.node.groups.slice()),e[\"node.x\"].push(i.node.x.slice()),e[\"node.y\"].push(i.node.y.slice())}n.call(\"restyle\",t,e)}},u.toggleHover={name:\"toggleHover\",title:function(t){return c(t,\"Toggle show closest data on hover\")},attr:\"hovermode\",val:null,toggle:!0,icon:o.tooltip_basic,gravity:\"ne\",click:function(t,e){var r=d(t,e);r.hovermode=g(t),n.call(\"_guiRelayout\",t,r)}},u.resetViews={name:\"resetViews\",title:function(t){return c(t,\"Reset views\")},icon:o.home,click:function(t,e){var r=e.currentTarget;r.setAttribute(\"data-attr\",\"zoom\"),r.setAttribute(\"data-val\",\"reset\"),f(t,e),r.setAttribute(\"data-attr\",\"resetLastSave\"),p(t,e),x(t,\"geo\"),x(t,\"mapbox\")}},u.toggleSpikelines={name:\"toggleSpikelines\",title:function(t){return c(t,\"Toggle Spike Lines\")},icon:o.spikeline,attr:\"_cartesianSpikesEnabled\",val:\"on\",click:function(t){var e=t._fullLayout,r=e._cartesianSpikesEnabled;e._cartesianSpikesEnabled=\"on\"===r?\"off\":\"on\",n.call(\"_guiRelayout\",t,function(t){for(var e=\"on\"===t._fullLayout._cartesianSpikesEnabled,r=a.list(t,null,!0),n={},i=0;i<r.length;i++){var o=r[i];n[o._name+\".showspikes\"]=!!e||o._showSpikeInitial}return n}(t))}},u.resetViewMapbox={name:\"resetViewMapbox\",_cat:\"resetView\",title:function(t){return c(t,\"Reset view\")},attr:\"reset\",icon:o.home,click:function(t){x(t,\"mapbox\")}},u.zoomInMapbox={name:\"zoomInMapbox\",_cat:\"zoomin\",title:function(t){return c(t,\"Zoom in\")},attr:\"zoom\",val:\"in\",icon:o.zoom_plus,click:y},u.zoomOutMapbox={name:\"zoomOutMapbox\",_cat:\"zoomout\",title:function(t){return c(t,\"Zoom out\")},attr:\"zoom\",val:\"out\",icon:o.zoom_minus,click:y}},{\"../../fonts/ploticon\":482,\"../../lib\":503,\"../../plots/cartesian/axis_ids\":558,\"../../plots/plots\":619,\"../../registry\":638,\"../shapes/draw\":450}],427:[function(t,e,r){\"use strict\";var n=t(\"./buttons\"),i=Object.keys(n),a=[\"drawline\",\"drawopenpath\",\"drawclosedpath\",\"drawcircle\",\"drawrect\",\"eraseshape\"],o=[\"v1hovermode\",\"hoverclosest\",\"hovercompare\",\"togglehover\",\"togglespikelines\"].concat(a),s=[];i.forEach((function(t){!function(t){if(-1===o.indexOf(t._cat||t.name)){var e=t.name,r=(t._cat||t.name).toLowerCase();-1===s.indexOf(e)&&s.push(e),-1===s.indexOf(r)&&s.push(r)}}(n[t])})),s.sort(),e.exports={DRAW_MODES:a,backButtons:o,foreButtons:s}},{\"./buttons\":426}],428:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../color\"),a=t(\"../../plot_api/plot_template\"),o=t(\"./attributes\");e.exports=function(t,e){var r=t.modebar||{},s=a.newContainer(e,\"modebar\");function l(t,e){return n.coerce(r,s,o,t,e)}l(\"orientation\"),l(\"bgcolor\",i.addOpacity(e.paper_bgcolor,.5));var c=i.contrast(i.rgb(e.modebar.bgcolor));l(\"color\",i.addOpacity(c,.3)),l(\"activecolor\",i.addOpacity(c,.7)),l(\"uirevision\",e.uirevision),l(\"add\"),l(\"remove\")}},{\"../../lib\":503,\"../../plot_api/plot_template\":543,\"../color\":366,\"./attributes\":425}],429:[function(t,e,r){\"use strict\";e.exports={moduleType:\"component\",name:\"modebar\",layoutAttributes:t(\"./attributes\"),supplyLayoutDefaults:t(\"./defaults\"),manage:t(\"./manage\")}},{\"./attributes\":425,\"./defaults\":428,\"./manage\":430}],430:[function(t,e,r){\"use strict\";var n=t(\"../../plots/cartesian/axis_ids\"),i=t(\"../../traces/scatter/subtypes\"),a=t(\"../../registry\"),o=t(\"../fx/helpers\").isUnifiedHover,s=t(\"./modebar\"),l=t(\"./buttons\"),c=t(\"./constants\").DRAW_MODES,u=t(\"../../lib\").extendDeep;e.exports=function(t){var e=t._fullLayout,r=t._context,f=e._modeBar;if(r.displayModeBar||r.watermark){if(!Array.isArray(r.modeBarButtonsToRemove))throw new Error([\"*modeBarButtonsToRemove* configuration options\",\"must be an array.\"].join(\" \"));if(!Array.isArray(r.modeBarButtonsToAdd))throw new Error([\"*modeBarButtonsToAdd* configuration options\",\"must be an array.\"].join(\" \"));var h,p=r.modeBarButtons;h=Array.isArray(p)&&p.length?function(t){for(var e=u([],t),r=0;r<e.length;r++)for(var n=e[r],i=0;i<n.length;i++){var a=n[i];if(\"string\"==typeof a){if(void 0===l[a])throw new Error([\"*modeBarButtons* configuration options\",\"invalid button name\"].join(\" \"));e[r][i]=l[a]}}return e}(p):!r.displayModeBar&&r.watermark?[]:function(t){var e=t._fullLayout,r=t._fullData,s=t._context;function u(t,e){if(\"string\"==typeof e){if(e.toLowerCase()===t.toLowerCase())return!0}else{var r=e.name,n=e._cat||e.name;if(r===t||n===t.toLowerCase())return!0}return!1}var f=e.modebar.add;\"string\"==typeof f&&(f=[f]);var h=e.modebar.remove;\"string\"==typeof h&&(h=[h]);var p=s.modeBarButtonsToAdd.concat(f.filter((function(t){for(var e=0;e<s.modeBarButtonsToRemove.length;e++)if(u(t,s.modeBarButtonsToRemove[e]))return!1;return!0}))),d=s.modeBarButtonsToRemove.concat(h.filter((function(t){for(var e=0;e<s.modeBarButtonsToAdd.length;e++)if(u(t,s.modeBarButtonsToAdd[e]))return!1;return!0}))),m=e._has(\"cartesian\"),g=e._has(\"gl3d\"),v=e._has(\"geo\"),y=e._has(\"pie\"),x=e._has(\"funnelarea\"),b=e._has(\"gl2d\"),_=e._has(\"ternary\"),w=e._has(\"mapbox\"),T=e._has(\"polar\"),k=e._has(\"smith\"),A=e._has(\"sankey\"),M=function(t){for(var e=n.list({_fullLayout:t},null,!0),r=0;r<e.length;r++)if(!e[r].fixedrange)return!1;return!0}(e),S=o(e.hovermode),E=[];function L(t){if(t.length){for(var e=[],r=0;r<t.length;r++){for(var n=t[r],i=l[n],a=i.name.toLowerCase(),o=(i._cat||i.name).toLowerCase(),s=!1,c=0;c<d.length;c++){var u=d[c].toLowerCase();if(u===a||u===o){s=!0;break}}s||e.push(l[n])}E.push(e)}}var C=[\"toImage\"];s.showEditInChartStudio?C.push(\"editInChartStudio\"):s.showSendToCloud&&C.push(\"sendDataToCloud\");L(C);var P=[],I=[],O=[],z=[];(m||b||y||x||_)+v+g+w+T+k>1?(I=[\"toggleHover\"],O=[\"resetViews\"]):v?(P=[\"zoomInGeo\",\"zoomOutGeo\"],I=[\"hoverClosestGeo\"],O=[\"resetGeo\"]):g?(I=[\"hoverClosest3d\"],O=[\"resetCameraDefault3d\",\"resetCameraLastSave3d\"]):w?(P=[\"zoomInMapbox\",\"zoomOutMapbox\"],I=[\"toggleHover\"],O=[\"resetViewMapbox\"]):b?I=[\"hoverClosestGl2d\"]:y?I=[\"hoverClosestPie\"]:A?(I=[\"hoverClosestCartesian\",\"hoverCompareCartesian\"],O=[\"resetViewSankey\"]):I=[\"toggleHover\"];m&&(I=[\"toggleSpikelines\",\"hoverClosestCartesian\",\"hoverCompareCartesian\"]);(function(t){for(var e=0;e<t.length;e++)if(!a.traceIs(t[e],\"noHover\"))return!1;return!0}(r)||S)&&(I=[]);!m&&!b||M||(P=[\"zoomIn2d\",\"zoomOut2d\",\"autoScale2d\"],\"resetViews\"!==O[0]&&(O=[\"resetScale2d\"]));g?z=[\"zoom3d\",\"pan3d\",\"orbitRotation\",\"tableRotation\"]:(m||b)&&!M||_?z=[\"zoom2d\",\"pan2d\"]:w||v?z=[\"pan2d\"]:T&&(z=[\"zoom2d\"]);(function(t){for(var e=!1,r=0;r<t.length&&!e;r++){var n=t[r];n._module&&n._module.selectPoints&&(a.traceIs(n,\"scatter-like\")?(i.hasMarkers(n)||i.hasText(n))&&(e=!0):a.traceIs(n,\"box-violin\")&&\"all\"!==n.boxpoints&&\"all\"!==n.points||(e=!0))}return e})(r)&&z.push(\"select2d\",\"lasso2d\");var D=[],R=function(t){-1===D.indexOf(t)&&-1!==I.indexOf(t)&&D.push(t)};if(Array.isArray(p)){for(var F=[],B=0;B<p.length;B++){var N=p[B];\"string\"==typeof N?(N=N.toLowerCase(),-1!==c.indexOf(N)?(e._has(\"mapbox\")||e._has(\"cartesian\"))&&z.push(N):\"togglespikelines\"===N?R(\"toggleSpikelines\"):\"togglehover\"===N?R(\"toggleHover\"):\"hovercompare\"===N?R(\"hoverCompareCartesian\"):\"hoverclosest\"===N?(R(\"hoverClosestCartesian\"),R(\"hoverClosestGeo\"),R(\"hoverClosest3d\"),R(\"hoverClosestGl2d\"),R(\"hoverClosestPie\")):\"v1hovermode\"===N&&(R(\"toggleHover\"),R(\"hoverClosestCartesian\"),R(\"hoverCompareCartesian\"),R(\"hoverClosestGeo\"),R(\"hoverClosest3d\"),R(\"hoverClosestGl2d\"),R(\"hoverClosestPie\"))):F.push(N)}p=F}return L(z),L(P.concat(O)),L(D),function(t,e){if(e.length)if(Array.isArray(e[0]))for(var r=0;r<e.length;r++)t.push(e[r]);else t.push(e);return t}(E,p)}(t),f?f.update(t,h):e._modeBar=s(t,h)}else f&&(f.destroy(),delete e._modeBar)}},{\"../../lib\":503,\"../../plots/cartesian/axis_ids\":558,\"../../registry\":638,\"../../traces/scatter/subtypes\":952,\"../fx/helpers\":402,\"./buttons\":426,\"./constants\":427,\"./modebar\":431}],431:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"fast-isnumeric\"),a=t(\"../../lib\"),o=t(\"../../fonts/ploticon\"),s=t(\"../../version\").version,l=new DOMParser;function c(t){this.container=t.container,this.element=document.createElement(\"div\"),this.update(t.graphInfo,t.buttons),this.container.appendChild(this.element)}var u=c.prototype;u.update=function(t,e){this.graphInfo=t;var r=this.graphInfo._context,n=this.graphInfo._fullLayout,i=\"modebar-\"+n._uid;this.element.setAttribute(\"id\",i),this._uid=i,this.element.className=\"modebar\",\"hover\"===r.displayModeBar&&(this.element.className+=\" modebar--hover ease-bg\"),\"v\"===n.modebar.orientation&&(this.element.className+=\" vertical\",e=e.reverse());var o=n.modebar,s=\"hover\"===r.displayModeBar?\".js-plotly-plot .plotly:hover \":\"\";a.deleteRelatedStyleRule(i),a.addRelatedStyleRule(i,s+\"#\"+i+\" .modebar-group\",\"background-color: \"+o.bgcolor),a.addRelatedStyleRule(i,\"#\"+i+\" .modebar-btn .icon path\",\"fill: \"+o.color),a.addRelatedStyleRule(i,\"#\"+i+\" .modebar-btn:hover .icon path\",\"fill: \"+o.activecolor),a.addRelatedStyleRule(i,\"#\"+i+\" .modebar-btn.active .icon path\",\"fill: \"+o.activecolor);var l=!this.hasButtons(e),c=this.hasLogo!==r.displaylogo,u=this.locale!==r.locale;if(this.locale=r.locale,(l||c||u)&&(this.removeAllButtons(),this.updateButtons(e),r.watermark||r.displaylogo)){var f=this.getLogo();r.watermark&&(f.className=f.className+\" watermark\"),\"v\"===n.modebar.orientation?this.element.insertBefore(f,this.element.childNodes[0]):this.element.appendChild(f),this.hasLogo=!0}this.updateActiveButton()},u.updateButtons=function(t){var e=this;this.buttons=t,this.buttonElements=[],this.buttonsNames=[],this.buttons.forEach((function(t){var r=e.createGroup();t.forEach((function(t){var n=t.name;if(!n)throw new Error(\"must provide button 'name' in button config\");if(-1!==e.buttonsNames.indexOf(n))throw new Error(\"button name '\"+n+\"' is taken\");e.buttonsNames.push(n);var i=e.createButton(t);e.buttonElements.push(i),r.appendChild(i)})),e.element.appendChild(r)}))},u.createGroup=function(){var t=document.createElement(\"div\");return t.className=\"modebar-group\",t},u.createButton=function(t){var e=this,r=document.createElement(\"a\");r.setAttribute(\"rel\",\"tooltip\"),r.className=\"modebar-btn\";var i=t.title;void 0===i?i=t.name:\"function\"==typeof i&&(i=i(this.graphInfo)),(i||0===i)&&r.setAttribute(\"data-title\",i),void 0!==t.attr&&r.setAttribute(\"data-attr\",t.attr);var a=t.val;if(void 0!==a&&(\"function\"==typeof a&&(a=a(this.graphInfo)),r.setAttribute(\"data-val\",a)),\"function\"!=typeof t.click)throw new Error(\"must provide button 'click' function in button config\");r.addEventListener(\"click\",(function(r){t.click(e.graphInfo,r),e.updateActiveButton(r.currentTarget)})),r.setAttribute(\"data-toggle\",t.toggle||!1),t.toggle&&n.select(r).classed(\"active\",!0);var s=t.icon;return\"function\"==typeof s?r.appendChild(s()):r.appendChild(this.createIcon(s||o.question)),r.setAttribute(\"data-gravity\",t.gravity||\"n\"),r},u.createIcon=function(t){var e,r=i(t.height)?Number(t.height):t.ascent-t.descent,n=\"http://www.w3.org/2000/svg\";if(t.path){(e=document.createElementNS(n,\"svg\")).setAttribute(\"viewBox\",[0,0,t.width,r].join(\" \")),e.setAttribute(\"class\",\"icon\");var a=document.createElementNS(n,\"path\");a.setAttribute(\"d\",t.path),t.transform?a.setAttribute(\"transform\",t.transform):void 0!==t.ascent&&a.setAttribute(\"transform\",\"matrix(1 0 0 -1 0 \"+t.ascent+\")\"),e.appendChild(a)}t.svg&&(e=l.parseFromString(t.svg,\"application/xml\").childNodes[0]);return e.setAttribute(\"height\",\"1em\"),e.setAttribute(\"width\",\"1em\"),e},u.updateActiveButton=function(t){var e=this.graphInfo._fullLayout,r=void 0!==t?t.getAttribute(\"data-attr\"):null;this.buttonElements.forEach((function(t){var i=t.getAttribute(\"data-val\")||!0,o=t.getAttribute(\"data-attr\"),s=\"true\"===t.getAttribute(\"data-toggle\"),l=n.select(t);if(s)o===r&&l.classed(\"active\",!l.classed(\"active\"));else{var c=null===o?o:a.nestedProperty(e,o).get();l.classed(\"active\",c===i)}}))},u.hasButtons=function(t){var e=this.buttons;if(!e)return!1;if(t.length!==e.length)return!1;for(var r=0;r<t.length;++r){if(t[r].length!==e[r].length)return!1;for(var n=0;n<t[r].length;n++)if(t[r][n].name!==e[r][n].name)return!1}return!0},u.getLogo=function(){var t=this.createGroup(),e=document.createElement(\"a\");return e.href=\"https://plotly.com/\",e.target=\"_blank\",e.setAttribute(\"data-title\",a._(this.graphInfo,\"Produced with Plotly.js\")+\" (v\"+s+\")\"),e.className=\"modebar-btn plotlyjsicon modebar-btn--logo\",e.appendChild(this.createIcon(o.newplotlylogo)),t.appendChild(e),t},u.removeAllButtons=function(){for(;this.element.firstChild;)this.element.removeChild(this.element.firstChild);this.hasLogo=!1},u.destroy=function(){a.removeElement(this.container.querySelector(\".modebar\")),a.deleteRelatedStyleRule(this._uid)},e.exports=function(t,e){var r=t._fullLayout,i=new c({graphInfo:t,container:r._modebardiv.node(),buttons:e});return r._privateplot&&n.select(i.element).append(\"span\").classed(\"badge-private float--left\",!0).text(\"PRIVATE\"),i}},{\"../../fonts/ploticon\":482,\"../../lib\":503,\"../../version\":1123,\"@plotly/d3\":58,\"fast-isnumeric\":190}],432:[function(t,e,r){\"use strict\";var n=t(\"../../plots/font_attributes\"),i=t(\"../color/attributes\"),a=(0,t(\"../../plot_api/plot_template\").templatedArray)(\"button\",{visible:{valType:\"boolean\",dflt:!0,editType:\"plot\"},step:{valType:\"enumerated\",values:[\"month\",\"year\",\"day\",\"hour\",\"minute\",\"second\",\"all\"],dflt:\"month\",editType:\"plot\"},stepmode:{valType:\"enumerated\",values:[\"backward\",\"todate\"],dflt:\"backward\",editType:\"plot\"},count:{valType:\"number\",min:0,dflt:1,editType:\"plot\"},label:{valType:\"string\",editType:\"plot\"},editType:\"plot\"});e.exports={visible:{valType:\"boolean\",editType:\"plot\"},buttons:a,x:{valType:\"number\",min:-2,max:3,editType:\"plot\"},xanchor:{valType:\"enumerated\",values:[\"auto\",\"left\",\"center\",\"right\"],dflt:\"left\",editType:\"plot\"},y:{valType:\"number\",min:-2,max:3,editType:\"plot\"},yanchor:{valType:\"enumerated\",values:[\"auto\",\"top\",\"middle\",\"bottom\"],dflt:\"bottom\",editType:\"plot\"},font:n({editType:\"plot\"}),bgcolor:{valType:\"color\",dflt:i.lightLine,editType:\"plot\"},activecolor:{valType:\"color\",editType:\"plot\"},bordercolor:{valType:\"color\",dflt:i.defaultLine,editType:\"plot\"},borderwidth:{valType:\"number\",min:0,dflt:0,editType:\"plot\"},editType:\"plot\"}},{\"../../plot_api/plot_template\":543,\"../../plots/font_attributes\":585,\"../color/attributes\":365}],433:[function(t,e,r){\"use strict\";e.exports={yPad:.02,minButtonWidth:30,rx:3,ry:3,lightAmount:25,darkAmount:10}},{}],434:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../color\"),a=t(\"../../plot_api/plot_template\"),o=t(\"../../plots/array_container_defaults\"),s=t(\"./attributes\"),l=t(\"./constants\");function c(t,e,r,i){var a=i.calendar;function o(r,i){return n.coerce(t,e,s.buttons,r,i)}if(o(\"visible\")){var l=o(\"step\");\"all\"!==l&&(!a||\"gregorian\"===a||\"month\"!==l&&\"year\"!==l?o(\"stepmode\"):e.stepmode=\"backward\",o(\"count\")),o(\"label\")}}e.exports=function(t,e,r,u,f){var h=t.rangeselector||{},p=a.newContainer(e,\"rangeselector\");function d(t,e){return n.coerce(h,p,s,t,e)}if(d(\"visible\",o(h,p,{name:\"buttons\",handleItemDefaults:c,calendar:f}).length>0)){var m=function(t,e,r){for(var n=r.filter((function(r){return e[r].anchor===t._id})),i=0,a=0;a<n.length;a++){var o=e[n[a]].domain;o&&(i=Math.max(o[1],i))}return[t.domain[0],i+l.yPad]}(e,r,u);d(\"x\",m[0]),d(\"y\",m[1]),n.noneOrAll(t,e,[\"x\",\"y\"]),d(\"xanchor\"),d(\"yanchor\"),n.coerceFont(d,\"font\",r.font);var g=d(\"bgcolor\");d(\"activecolor\",i.contrast(g,l.lightAmount,l.darkAmount)),d(\"bordercolor\"),d(\"borderwidth\")}}},{\"../../lib\":503,\"../../plot_api/plot_template\":543,\"../../plots/array_container_defaults\":549,\"../color\":366,\"./attributes\":432,\"./constants\":433}],435:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../../registry\"),a=t(\"../../plots/plots\"),o=t(\"../color\"),s=t(\"../drawing\"),l=t(\"../../lib\"),c=l.strTranslate,u=t(\"../../lib/svg_text_utils\"),f=t(\"../../plots/cartesian/axis_ids\"),h=t(\"../../constants/alignment\"),p=h.LINE_SPACING,d=h.FROM_TL,m=h.FROM_BR,g=t(\"./constants\"),v=t(\"./get_update_object\");function y(t){return t._id}function x(t,e,r){var n=l.ensureSingle(t,\"rect\",\"selector-rect\",(function(t){t.attr(\"shape-rendering\",\"crispEdges\")}));n.attr({rx:g.rx,ry:g.ry}),n.call(o.stroke,e.bordercolor).call(o.fill,function(t,e){return e._isActive||e._isHovered?t.activecolor:t.bgcolor}(e,r)).style(\"stroke-width\",e.borderwidth+\"px\")}function b(t,e,r,n){l.ensureSingle(t,\"text\",\"selector-text\",(function(t){t.attr(\"text-anchor\",\"middle\")})).call(s.font,e.font).text(function(t,e){if(t.label)return e?l.templateString(t.label,e):t.label;return\"all\"===t.step?\"all\":t.count+t.step.charAt(0)}(r,n._fullLayout._meta)).call((function(t){u.convertToTspans(t,n)}))}e.exports=function(t){var e=t._fullLayout._infolayer.selectAll(\".rangeselector\").data(function(t){for(var e=f.list(t,\"x\",!0),r=[],n=0;n<e.length;n++){var i=e[n];i.rangeselector&&i.rangeselector.visible&&r.push(i)}return r}(t),y);e.enter().append(\"g\").classed(\"rangeselector\",!0),e.exit().remove(),e.style({cursor:\"pointer\",\"pointer-events\":\"all\"}),e.each((function(e){var r=n.select(this),o=e,f=o.rangeselector,h=r.selectAll(\"g.button\").data(l.filterVisible(f.buttons));h.enter().append(\"g\").classed(\"button\",!0),h.exit().remove(),h.each((function(e){var r=n.select(this),a=v(o,e);e._isActive=function(t,e,r){if(\"all\"===e.step)return!0===t.autorange;var n=Object.keys(r);return t.range[0]===r[n[0]]&&t.range[1]===r[n[1]]}(o,e,a),r.call(x,f,e),r.call(b,f,e,t),r.on(\"click\",(function(){t._dragged||i.call(\"_guiRelayout\",t,a)})),r.on(\"mouseover\",(function(){e._isHovered=!0,r.call(x,f,e)})),r.on(\"mouseout\",(function(){e._isHovered=!1,r.call(x,f,e)}))})),function(t,e,r,i,o){var f=0,h=0,v=r.borderwidth;e.each((function(){var t=n.select(this).select(\".selector-text\"),e=r.font.size*p,i=Math.max(e*u.lineCount(t),16)+3;h=Math.max(h,i)})),e.each((function(){var t=n.select(this),e=t.select(\".selector-rect\"),i=t.select(\".selector-text\"),a=i.node()&&s.bBox(i.node()).width,o=r.font.size*p,l=u.lineCount(i),d=Math.max(a+10,g.minButtonWidth);t.attr(\"transform\",c(v+f,v)),e.attr({x:0,y:0,width:d,height:h}),u.positionText(i,d/2,h/2-(l-1)*o/2+3),f+=d+5}));var y=t._fullLayout._size,x=y.l+y.w*r.x,b=y.t+y.h*(1-r.y),_=\"left\";l.isRightAnchor(r)&&(x-=f,_=\"right\");l.isCenterAnchor(r)&&(x-=f/2,_=\"center\");var w=\"top\";l.isBottomAnchor(r)&&(b-=h,w=\"bottom\");l.isMiddleAnchor(r)&&(b-=h/2,w=\"middle\");f=Math.ceil(f),h=Math.ceil(h),x=Math.round(x),b=Math.round(b),a.autoMargin(t,i+\"-range-selector\",{x:r.x,y:r.y,l:f*d[_],r:f*m[_],b:h*m[w],t:h*d[w]}),o.attr(\"transform\",c(x,b))}(t,h,f,o._name,r)}))}},{\"../../constants/alignment\":471,\"../../lib\":503,\"../../lib/svg_text_utils\":529,\"../../plots/cartesian/axis_ids\":558,\"../../plots/plots\":619,\"../../registry\":638,\"../color\":366,\"../drawing\":388,\"./constants\":433,\"./get_update_object\":436,\"@plotly/d3\":58}],436:[function(t,e,r){\"use strict\";var n=t(\"d3-time\"),i=t(\"../../lib\").titleCase;e.exports=function(t,e){var r=t._name,a={};if(\"all\"===e.step)a[r+\".autorange\"]=!0;else{var o=function(t,e){var r,a=t.range,o=new Date(t.r2l(a[1])),s=e.step,l=n[\"utc\"+i(s)],c=e.count;switch(e.stepmode){case\"backward\":r=t.l2r(+l.offset(o,-c));break;case\"todate\":var u=l.offset(o,-c);r=t.l2r(+l.ceil(u))}var f=a[1];return[r,f]}(t,e);a[r+\".range[0]\"]=o[0],a[r+\".range[1]\"]=o[1]}return a}},{\"../../lib\":503,\"d3-time\":122}],437:[function(t,e,r){\"use strict\";e.exports={moduleType:\"component\",name:\"rangeselector\",schema:{subplots:{xaxis:{rangeselector:t(\"./attributes\")}}},layoutAttributes:t(\"./attributes\"),handleDefaults:t(\"./defaults\"),draw:t(\"./draw\")}},{\"./attributes\":432,\"./defaults\":434,\"./draw\":435}],438:[function(t,e,r){\"use strict\";var n=t(\"../color/attributes\");e.exports={bgcolor:{valType:\"color\",dflt:n.background,editType:\"plot\"},bordercolor:{valType:\"color\",dflt:n.defaultLine,editType:\"plot\"},borderwidth:{valType:\"integer\",dflt:0,min:0,editType:\"plot\"},autorange:{valType:\"boolean\",dflt:!0,editType:\"calc\",impliedEdits:{\"range[0]\":void 0,\"range[1]\":void 0}},range:{valType:\"info_array\",items:[{valType:\"any\",editType:\"calc\",impliedEdits:{\"^autorange\":!1}},{valType:\"any\",editType:\"calc\",impliedEdits:{\"^autorange\":!1}}],editType:\"calc\",impliedEdits:{autorange:!1}},thickness:{valType:\"number\",dflt:.15,min:0,max:1,editType:\"plot\"},visible:{valType:\"boolean\",dflt:!0,editType:\"calc\"},editType:\"calc\"}},{\"../color/attributes\":365}],439:[function(t,e,r){\"use strict\";var n=t(\"../../plots/cartesian/axis_ids\").list,i=t(\"../../plots/cartesian/autorange\").getAutoRange,a=t(\"./constants\");e.exports=function(t){for(var e=n(t,\"x\",!0),r=0;r<e.length;r++){var o=e[r],s=o[a.name];s&&s.visible&&s.autorange&&(s._input.autorange=!0,s._input.range=s.range=i(t,o))}}},{\"../../plots/cartesian/autorange\":553,\"../../plots/cartesian/axis_ids\":558,\"./constants\":440}],440:[function(t,e,r){\"use strict\";e.exports={name:\"rangeslider\",containerClassName:\"rangeslider-container\",bgClassName:\"rangeslider-bg\",rangePlotClassName:\"rangeslider-rangeplot\",maskMinClassName:\"rangeslider-mask-min\",maskMaxClassName:\"rangeslider-mask-max\",slideBoxClassName:\"rangeslider-slidebox\",grabberMinClassName:\"rangeslider-grabber-min\",grabAreaMinClassName:\"rangeslider-grabarea-min\",handleMinClassName:\"rangeslider-handle-min\",grabberMaxClassName:\"rangeslider-grabber-max\",grabAreaMaxClassName:\"rangeslider-grabarea-max\",handleMaxClassName:\"rangeslider-handle-max\",maskMinOppAxisClassName:\"rangeslider-mask-min-opp-axis\",maskMaxOppAxisClassName:\"rangeslider-mask-max-opp-axis\",maskColor:\"rgba(0,0,0,0.4)\",maskOppAxisColor:\"rgba(0,0,0,0.2)\",slideBoxFill:\"transparent\",slideBoxCursor:\"ew-resize\",grabAreaFill:\"transparent\",grabAreaCursor:\"col-resize\",grabAreaWidth:10,handleWidth:4,handleRadius:1,handleStrokeWidth:1,extraPad:15}},{}],441:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../plot_api/plot_template\"),a=t(\"../../plots/cartesian/axis_ids\"),o=t(\"./attributes\"),s=t(\"./oppaxis_attributes\");e.exports=function(t,e,r){var l=t[r],c=e[r];if(l.rangeslider||e._requestRangeslider[c._id]){n.isPlainObject(l.rangeslider)||(l.rangeslider={});var u,f,h=l.rangeslider,p=i.newContainer(c,\"rangeslider\");if(_(\"visible\")){_(\"bgcolor\",e.plot_bgcolor),_(\"bordercolor\"),_(\"borderwidth\"),_(\"thickness\"),_(\"autorange\",!c.isValidRange(h.range)),_(\"range\");var d=e._subplots;if(d)for(var m=d.cartesian.filter((function(t){return t.substr(0,t.indexOf(\"y\"))===a.name2id(r)})).map((function(t){return t.substr(t.indexOf(\"y\"),t.length)})),g=n.simpleMap(m,a.id2name),v=0;v<g.length;v++){var y=g[v];u=h[y]||{},f=i.newContainer(p,y,\"yaxis\");var x,b=e[y];u.range&&b.isValidRange(u.range)&&(x=\"fixed\"),\"match\"!==w(\"rangemode\",x)&&w(\"range\",b.range.slice())}p._input=h}}function _(t,e){return n.coerce(h,p,o,t,e)}function w(t,e){return n.coerce(u,f,s,t,e)}}},{\"../../lib\":503,\"../../plot_api/plot_template\":543,\"../../plots/cartesian/axis_ids\":558,\"./attributes\":438,\"./oppaxis_attributes\":445}],442:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../../registry\"),a=t(\"../../plots/plots\"),o=t(\"../../lib\"),s=o.strTranslate,l=t(\"../drawing\"),c=t(\"../color\"),u=t(\"../titles\"),f=t(\"../../plots/cartesian\"),h=t(\"../../plots/cartesian/axis_ids\"),p=t(\"../dragelement\"),d=t(\"../../lib/setcursor\"),m=t(\"./constants\");function g(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,c=-n._offsetShift,u=l.crispRound(e,n.borderwidth);i.attr({width:n._width+a,height:n._height+a,transform:s(c,c),fill:n.bgcolor,stroke:n.bordercolor,\"stroke-width\":u})}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 y(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=h.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 v=g._fullLayout.xaxis,y=g._fullLayout[d];v.clearCalc(),v.setScale(),y.clearCalc(),y.setScale();var x={id:t,plotgroup:l,xaxis:v,yaxis:y,isRangePlot:!0};u?s=x:(x.mainplot=\"xy\",x.mainplotinfo=s),f.rangePlot(e,x,function(t,e){for(var r=[],n=0;n<t.length;n++){var i=t[n],a=i[0].trace;a.xaxis+a.yaxis===e&&r.push(i)}return r}(c,t))}))}function x(t,e,r,n,i){(o.ensureSingle(t,\"rect\",m.maskMinClassName,(function(t){t.attr({x:0,y:0,\"shape-rendering\":\"crispEdges\"})})).attr(\"height\",n._height).call(c.fill,m.maskColor),o.ensureSingle(t,\"rect\",m.maskMaxClassName,(function(t){t.attr({y:0,\"shape-rendering\":\"crispEdges\"})})).attr(\"height\",n._height).call(c.fill,m.maskColor),\"match\"!==i.rangemode)&&(o.ensureSingle(t,\"rect\",m.maskMinOppAxisClassName,(function(t){t.attr({y:0,\"shape-rendering\":\"crispEdges\"})})).attr(\"width\",n._width).call(c.fill,m.maskOppAxisColor),o.ensureSingle(t,\"rect\",m.maskMaxOppAxisClassName,(function(t){t.attr({y:0,\"shape-rendering\":\"crispEdges\"})})).attr(\"width\",n._width).style(\"border-top\",m.maskOppBorder).call(c.fill,m.maskOppAxisColor))}function b(t,e,r,n){e._context.staticPlot||o.ensureSingle(t,\"rect\",m.slideBoxClassName,(function(t){t.attr({y:0,cursor:m.slideBoxCursor,\"shape-rendering\":\"crispEdges\"})})).attr({height:n._height,fill:m.slideBoxFill})}function _(t,e,r,n){var i=o.ensureSingle(t,\"g\",m.grabberMinClassName),a=o.ensureSingle(t,\"g\",m.grabberMaxClassName),s={x:0,width:m.handleWidth,rx:m.handleRadius,fill:c.background,stroke:c.defaultLine,\"stroke-width\":m.handleStrokeWidth,\"shape-rendering\":\"crispEdges\"},l={y:Math.round(n._height/4),height:Math.round(n._height/2)};o.ensureSingle(i,\"rect\",m.handleMinClassName,(function(t){t.attr(s)})).attr(l),o.ensureSingle(a,\"rect\",m.handleMaxClassName,(function(t){t.attr(s)})).attr(l);var u={width:m.grabAreaWidth,x:0,y:0,fill:m.grabAreaFill,cursor:e._context.staticPlot?void 0:m.grabAreaCursor};o.ensureSingle(i,\"rect\",m.grabAreaMinClassName,(function(t){t.attr(u)})).attr(\"height\",n._height),o.ensureSingle(a,\"rect\",m.grabAreaMaxClassName,(function(t){t.attr(u)})).attr(\"height\",n._height)}e.exports=function(t){for(var e=t._fullLayout,r=e._rangeSliderData,a=0;a<r.length;a++){var l=r[a][m.name];l._clipId=l._id+\"-\"+e._uid}var c=e._infolayer.selectAll(\"g.\"+m.containerClassName).data(r,(function(t){return t._name}));c.exit().each((function(t){var r=t[m.name];e._topdefs.select(\"#\"+r._clipId).remove()})).remove(),0!==r.length&&(c.enter().append(\"g\").classed(m.containerClassName,!0).attr(\"pointer-events\",\"all\"),c.each((function(r){var a=n.select(this),l=r[m.name],c=e[h.id2name(r.anchor)],f=l[h.id2name(r.anchor)];if(l.range){var w,T=o.simpleMap(l.range,r.r2l),k=o.simpleMap(r.range,r.r2l);w=k[0]<k[1]?[Math.min(T[0],k[0]),Math.max(T[1],k[1])]:[Math.max(T[0],k[0]),Math.min(T[1],k[1])],l.range=l._input.range=o.simpleMap(w,r.l2r)}r.cleanRange(\"rangeslider.range\");var A=e._size,M=r.domain;l._width=A.w*(M[1]-M[0]);var S=Math.round(A.l+A.w*M[0]),E=Math.round(A.t+A.h*(1-r._counterDomainMin)+(\"bottom\"===r.side?r._depth:0)+l._offsetShift+m.extraPad);a.attr(\"transform\",s(S,E)),l._rl=o.simpleMap(l.range,r.r2l);var L=l._rl[0],C=l._rl[1],P=C-L;if(l.p2d=function(t){return t/l._width*P+L},l.d2p=function(t){return(t-L)/P*l._width},r.rangebreaks){var I=r.locateBreaks(L,C);if(I.length){var O,z,D=0;for(O=0;O<I.length;O++)D+=(z=I[O]).max-z.min;var R=l._width/(C-L-D),F=[-R*L];for(O=0;O<I.length;O++)z=I[O],F.push(F[F.length-1]-R*(z.max-z.min));for(l.d2p=function(t){for(var e=F[0],r=0;r<I.length;r++){var n=I[r];if(t>=n.max)e=F[r+1];else if(t<n.min)break}return e+R*t},O=0;O<I.length;O++)(z=I[O]).pmin=l.d2p(z.min),z.pmax=l.d2p(z.max);l.p2d=function(t){for(var e=F[0],r=0;r<I.length;r++){var n=I[r];if(t>=n.pmax)e=F[r+1];else if(t<n.pmin)break}return(t-e)/R}}}if(\"match\"!==f.rangemode){var B=c.r2l(f.range[0]),N=c.r2l(f.range[1])-B;l.d2pOppAxis=function(t){return(t-B)/N*l._height}}a.call(g,t,r,l).call(v,t,r,l).call(y,t,r,l).call(x,t,r,l,f).call(b,t,r,l).call(_,t,r,l),function(t,e,r,a){if(e._context.staticPlot)return;var s=t.select(\"rect.\"+m.slideBoxClassName).node(),l=t.select(\"rect.\"+m.grabAreaMinClassName).node(),c=t.select(\"rect.\"+m.grabAreaMaxClassName).node();function u(){var u=n.event,f=u.target,h=u.clientX||u.touches[0].clientX,m=h-t.node().getBoundingClientRect().left,g=a.d2p(r._rl[0]),v=a.d2p(r._rl[1]),y=p.coverSlip();function x(t){var u,p,x,b=+(t.clientX||t.touches[0].clientX)-h;switch(f){case s:x=\"ew-resize\",u=g+b,p=v+b;break;case l:x=\"col-resize\",u=g+b,p=v;break;case c:x=\"col-resize\",u=g,p=v+b;break;default:x=\"ew-resize\",u=m,p=m+b}if(p<u){var _=p;p=u,u=_}a._pixelMin=u,a._pixelMax=p,d(n.select(y),x),function(t,e,r,n){function a(t){return r.l2r(o.constrain(t,n._rl[0],n._rl[1]))}var s=a(n.p2d(n._pixelMin)),l=a(n.p2d(n._pixelMax));window.requestAnimationFrame((function(){i.call(\"_guiRelayout\",e,r._name+\".range\",[s,l])}))}(0,e,r,a)}function b(){y.removeEventListener(\"mousemove\",x),y.removeEventListener(\"mouseup\",b),this.removeEventListener(\"touchmove\",x),this.removeEventListener(\"touchend\",b),o.removeElement(y)}this.addEventListener(\"touchmove\",x),this.addEventListener(\"touchend\",b),y.addEventListener(\"mousemove\",x),y.addEventListener(\"mouseup\",b)}t.on(\"mousedown\",u),t.on(\"touchstart\",u)}(a,t,r,l),function(t,e,r,n,i,a){var l=m.handleWidth/2;function c(t){return o.constrain(t,0,n._width)}function u(t){return o.constrain(t,0,n._height)}function f(t){return o.constrain(t,-l,n._width+l)}var h=c(n.d2p(r._rl[0])),p=c(n.d2p(r._rl[1]));if(t.select(\"rect.\"+m.slideBoxClassName).attr(\"x\",h).attr(\"width\",p-h),t.select(\"rect.\"+m.maskMinClassName).attr(\"width\",h),t.select(\"rect.\"+m.maskMaxClassName).attr(\"x\",p).attr(\"width\",n._width-p),\"match\"!==a.rangemode){var d=n._height-u(n.d2pOppAxis(i._rl[1])),g=n._height-u(n.d2pOppAxis(i._rl[0]));t.select(\"rect.\"+m.maskMinOppAxisClassName).attr(\"x\",h).attr(\"height\",d).attr(\"width\",p-h),t.select(\"rect.\"+m.maskMaxOppAxisClassName).attr(\"x\",h).attr(\"y\",g).attr(\"height\",n._height-g).attr(\"width\",p-h),t.select(\"rect.\"+m.slideBoxClassName).attr(\"y\",d).attr(\"height\",g-d)}var v=Math.round(f(h-l))-.5,y=Math.round(f(p-l))+.5;t.select(\"g.\"+m.grabberMinClassName).attr(\"transform\",s(v,.5)),t.select(\"g.\"+m.grabberMaxClassName).attr(\"transform\",s(y,.5))}(a,0,r,l,c,f),\"bottom\"===r.side&&u.draw(t,r._id+\"title\",{propContainer:r,propName:r._name+\".title\",placeholder:e._dfltTitle.x,attributes:{x:r._offset+r._length/2,y:E+l._height+l._offsetShift+10+1.5*r.title.font.size,\"text-anchor\":\"middle\"}})})))}},{\"../../lib\":503,\"../../lib/setcursor\":524,\"../../plots/cartesian\":568,\"../../plots/cartesian/axis_ids\":558,\"../../plots/plots\":619,\"../../registry\":638,\"../color\":366,\"../dragelement\":385,\"../drawing\":388,\"../titles\":464,\"./constants\":440,\"@plotly/d3\":58}],443:[function(t,e,r){\"use strict\";var n=t(\"../../plots/cartesian/axis_ids\"),i=t(\"../../lib/svg_text_utils\"),a=t(\"./constants\"),o=t(\"../../constants/alignment\").LINE_SPACING,s=a.name;function l(t){var e=t&&t[s];return e&&e.visible}r.isVisible=l,r.makeData=function(t){var e=n.list({_fullLayout:t},\"x\",!0),r=t.margin,i=[];if(!t._has(\"gl2d\"))for(var a=0;a<e.length;a++){var o=e[a];if(l(o)){i.push(o);var c=o[s];c._id=s+o._id,c._height=(t.height-r.b-r.t)*c.thickness,c._offsetShift=Math.floor(c.borderwidth/2)}}t._rangeSliderData=i},r.autoMarginOpts=function(t,e){var r=t._fullLayout,n=e[s],l=e._id.charAt(0),c=0,u=0;\"bottom\"===e.side&&(c=e._depth,e.title.text!==r._dfltTitle[l]&&(u=1.5*e.title.font.size+10+n._offsetShift,u+=(e.title.text.match(i.BR_TAG_ALL)||[]).length*e.title.font.size*o));return{x:0,y:e._counterDomainMin,l:0,r:0,t:0,b:n._height+c+Math.max(r.margin.b,u),pad:a.extraPad+2*n._offsetShift}}},{\"../../constants/alignment\":471,\"../../lib/svg_text_utils\":529,\"../../plots/cartesian/axis_ids\":558,\"./constants\":440}],444:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./attributes\"),a=t(\"./oppaxis_attributes\"),o=t(\"./helpers\");e.exports={moduleType:\"component\",name:\"rangeslider\",schema:{subplots:{xaxis:{rangeslider:n.extendFlat({},i,{yaxis:a})}}},layoutAttributes:t(\"./attributes\"),handleDefaults:t(\"./defaults\"),calcAutorange:t(\"./calc_autorange\"),draw:t(\"./draw\"),isVisible:o.isVisible,makeData:o.makeData,autoMarginOpts:o.autoMarginOpts}},{\"../../lib\":503,\"./attributes\":438,\"./calc_autorange\":439,\"./defaults\":441,\"./draw\":442,\"./helpers\":443,\"./oppaxis_attributes\":445}],445:[function(t,e,r){\"use strict\";e.exports={_isSubplotObj:!0,rangemode:{valType:\"enumerated\",values:[\"auto\",\"fixed\",\"match\"],dflt:\"match\",editType:\"calc\"},range:{valType:\"info_array\",items:[{valType:\"any\",editType:\"plot\"},{valType:\"any\",editType:\"plot\"}],editType:\"plot\"},editType:\"calc\"}},{}],446:[function(t,e,r){\"use strict\";var n=t(\"../annotations/attributes\"),i=t(\"../../traces/scatter/attributes\").line,a=t(\"../drawing/attributes\").dash,o=t(\"../../lib/extend\").extendFlat,s=t(\"../../plot_api/plot_template\").templatedArray;t(\"../../constants/axis_placeable_objects\");e.exports=s(\"shape\",{visible:{valType:\"boolean\",dflt:!0,editType:\"calc+arraydraw\"},type:{valType:\"enumerated\",values:[\"circle\",\"rect\",\"path\",\"line\"],editType:\"calc+arraydraw\"},layer:{valType:\"enumerated\",values:[\"below\",\"above\"],dflt:\"above\",editType:\"arraydraw\"},xref:o({},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:o({},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:o({},i.color,{editType:\"arraydraw\"}),width:o({},i.width,{editType:\"calc+arraydraw\"}),dash:o({},a,{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\"},editType:\"arraydraw\"})},{\"../../constants/axis_placeable_objects\":472,\"../../lib/extend\":493,\"../../plot_api/plot_template\":543,\"../../traces/scatter/attributes\":927,\"../annotations/attributes\":349,\"../drawing/attributes\":387}],447:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../plots/cartesian/axes\"),a=t(\"./constants\"),o=t(\"./helpers\");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 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)+c:c,m=h>0?h+c:c;return{ppad:c,ppadplus:u?d:m,ppadminus:u?m:d}}return{ppad:c}}function u(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,c,u,f,h=1/0,p=-1/0,d=n.match(a.segmentRE);for(\"date\"===t.type&&(s=o.decodeDate(s)),l=0;l<d.length;l++)void 0!==(c=i[d[l].charAt(0)].drawn)&&(!(u=d[l].substr(1).match(a.paramRE))||u.length<c||((f=s(u[c]))<h&&(h=f),f>p&&(p=f)));return p>=h?[h,p]:void 0}}e.exports=function(t){var e=t._fullLayout,r=n.filterVisible(e.shapes);if(r.length&&t._fullData.length)for(var o=0;o<r.length;o++){var c,f,h=r[o];h._extremes={};var p=i.getRefType(h.xref),d=i.getRefType(h.yref);if(\"paper\"!==h.xref&&\"domain\"!==p){var m=\"pixel\"===h.xsizemode?h.xanchor:h.x0,g=\"pixel\"===h.xsizemode?h.xanchor:h.x1;(f=u(c=i.getFromId(t,h.xref),m,g,h.path,a.paramIsX))&&(h._extremes[c._id]=i.findExtremes(c,f,s(h)))}if(\"paper\"!==h.yref&&\"domain\"!==d){var v=\"pixel\"===h.ysizemode?h.yanchor:h.y0,y=\"pixel\"===h.ysizemode?h.yanchor:h.y1;(f=u(c=i.getFromId(t,h.yref),v,y,h.path,a.paramIsY))&&(h._extremes[c._id]=i.findExtremes(c,f,l(h)))}}}},{\"../../lib\":503,\"../../plots/cartesian/axes\":554,\"./constants\":448,\"./helpers\":457}],448:[function(t,e,r){\"use strict\";e.exports={segmentRE:/[MLHVQCTSZ][^MLHVQCTSZ]*/g,paramRE:/[^\\s,]+/g,paramIsX:{M:{0:!0,drawn:0},L:{0:!0,drawn:0},H:{0:!0,drawn:0},V:{},Q:{0:!0,2:!0,drawn:2},C:{0:!0,2:!0,4:!0,drawn:4},T:{0:!0,drawn:0},S:{0:!0,2:!0,drawn:2},Z:{}},paramIsY:{M:{1:!0,drawn:1},L:{1:!0,drawn:1},H:{},V:{0:!0,drawn:0},Q:{1:!0,3:!0,drawn:3},C:{1:!0,3:!0,5:!0,drawn:5},T:{1:!0,drawn:1},S:{1:!0,3:!0,drawn:5},Z:{}},numParams:{M:2,L:2,H:1,V:1,Q:4,C:6,T:2,S:4,Z:0}}},{}],449:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../plots/cartesian/axes\"),a=t(\"../../plots/array_container_defaults\"),o=t(\"./attributes\"),s=t(\"./helpers\");function l(t,e,r){function a(r,i){return n.coerce(t,e,o,r,i)}if(a(\"visible\")){var l=a(\"path\"),c=a(\"type\",l?\"path\":\"rect\");\"path\"!==e.type&&delete e.path,a(\"editable\"),a(\"layer\"),a(\"opacity\"),a(\"fillcolor\"),a(\"fillrule\"),a(\"line.width\")&&(a(\"line.color\"),a(\"line.dash\"));for(var u=a(\"xsizemode\"),f=a(\"ysizemode\"),h=[\"x\",\"y\"],p=0;p<2;p++){var d,m,g,v=h[p],y=v+\"anchor\",x=\"x\"===v?u:f,b={_fullLayout:r},_=i.coerceRef(t,e,b,v,void 0,\"paper\");if(\"range\"===i.getRefType(_)?((d=i.getFromId(b,_))._shapeIndices.push(e._index),g=s.rangeToShapePosition(d),m=s.shapePositionToRange(d)):m=g=n.identity,\"path\"!==c){var w=v+\"0\",T=v+\"1\",k=t[w],A=t[T];t[w]=m(t[w],!0),t[T]=m(t[T],!0),\"pixel\"===x?(a(w,0),a(T,10)):(i.coercePosition(e,b,a,_,w,.25),i.coercePosition(e,b,a,_,T,.75)),e[w]=g(e[w]),e[T]=g(e[T]),t[w]=k,t[T]=A}if(\"pixel\"===x){var M=t[y];t[y]=m(t[y],!0),i.coercePosition(e,b,a,_,y,.25),e[y]=g(e[y]),t[y]=M}}\"path\"===c?a(\"path\"):n.noneOrAll(t,e,[\"x0\",\"x1\",\"y0\",\"y1\"])}}e.exports=function(t,e){a(t,e,{name:\"shapes\",handleItemDefaults:l})}},{\"../../lib\":503,\"../../plots/array_container_defaults\":549,\"../../plots/cartesian/axes\":554,\"./attributes\":446,\"./helpers\":457}],450:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),i=t(\"../../lib\"),a=t(\"../../plots/cartesian/axes\"),o=t(\"./draw_newshape/helpers\").readPaths,s=t(\"./draw_newshape/display_outlines\"),l=t(\"../../plots/cartesian/handle_outline\").clearOutlineControllers,c=t(\"../color\"),u=t(\"../drawing\"),f=t(\"../../plot_api/plot_template\").arrayEditor,h=t(\"../dragelement\"),p=t(\"../../lib/setcursor\"),d=t(\"./constants\"),m=t(\"./helpers\");function g(t){var e=t._fullLayout;for(var r in e._shapeUpperLayer.selectAll(\"path\").remove(),e._shapeLowerLayer.selectAll(\"path\").remove(),e._plots){var n=e._plots[r].shapelayer;n&&n.selectAll(\"path\").remove()}for(var i=0;i<e.shapes.length;i++)e.shapes[i].visible&&x(t,i)}function v(t){return!!t._fullLayout._drawing}function y(t){return!t._context.edits.shapePosition}function x(t,e){t._fullLayout._paperdiv.selectAll('.shapelayer [data-index=\"'+e+'\"]').remove();var r=m.makeOptionsAndPlotinfo(t,e),l=r.options,x=r.plotinfo;if(l._input&&!1!==l.visible)if(\"below\"!==l.layer)k(t._fullLayout._shapeUpperLayer);else if(\"paper\"===l.xref||\"paper\"===l.yref)k(t._fullLayout._shapeLowerLayer);else{if(x._hadPlotinfo)k((x.mainplotinfo||x).shapelayer);else k(t._fullLayout._shapeLowerLayer)}function k(r){var k=_(t,l),A={\"data-index\":e,\"fill-rule\":l.fillrule,d:k},M=l.opacity,S=l.fillcolor,E=l.line.width?l.line.color:\"rgba(0,0,0,0)\",L=l.line.width,C=l.line.dash;L||!0!==l.editable||(L=5,C=\"solid\");var P=\"Z\"!==k[k.length-1],I=y(t)&&l.editable&&t._fullLayout._activeShapeIndex===e;I&&(S=P?\"rgba(0,0,0,0)\":t._fullLayout.activeshape.fillcolor,M=t._fullLayout.activeshape.opacity);var O,z=r.append(\"path\").attr(A).style(\"opacity\",M).call(c.stroke,E).call(c.fill,S).call(u.dashLine,C,L);if(b(z,t,l),(I||t._context.edits.shapePosition)&&(O=f(t.layout,\"shapes\",l)),I){z.style({cursor:\"move\"});var D={element:z.node(),plotinfo:x,gd:t,editHelpers:O,isActiveShape:!0},R=o(k,t);s(R,z,D)}else t._context.edits.shapePosition?function(t,e,r,o,s,l){var c,f,g,y,x,T,k,A,M,S,E,L,C,P,I,O,z=\"pixel\"===r.xsizemode,D=\"pixel\"===r.ysizemode,R=\"line\"===r.type,F=\"path\"===r.type,B=l.modifyItem,N=a.getFromId(t,r.xref),j=a.getRefType(r.xref),U=a.getFromId(t,r.yref),V=a.getRefType(r.yref),H=m.getDataToPixel(t,N,!1,j),q=m.getDataToPixel(t,U,!0,V),G=m.getPixelToData(t,N,!1,j),Y=m.getPixelToData(t,U,!0,V),W=R?function(){var t=Math.max(r.line.width,10),n=s.append(\"g\").attr(\"data-index\",o);n.append(\"path\").attr(\"d\",e.attr(\"d\")).style({cursor:\"move\",\"stroke-width\":t,\"stroke-opacity\":\"0\"});var i={\"fill-opacity\":\"0\"},a=Math.max(t/2,10);return n.append(\"circle\").attr({\"data-line-point\":\"start-point\",cx:z?H(r.xanchor)+r.x0:H(r.x0),cy:D?q(r.yanchor)-r.y0:q(r.y0),r:a}).style(i).classed(\"cursor-grab\",!0),n.append(\"circle\").attr({\"data-line-point\":\"end-point\",cx:z?H(r.xanchor)+r.x1:H(r.x1),cy:D?q(r.yanchor)-r.y1:q(r.y1),r:a}).style(i).classed(\"cursor-grab\",!0),n}():e,X={element:W.node(),gd:t,prepFn:function(n){if(v(t))return;z&&(x=H(r.xanchor));D&&(T=q(r.yanchor));\"path\"===r.type?I=r.path:(c=z?r.x0:H(r.x0),f=D?r.y0:q(r.y0),g=z?r.x1:H(r.x1),y=D?r.y1:q(r.y1));c<g?(M=c,C=\"x0\",S=g,P=\"x1\"):(M=g,C=\"x1\",S=c,P=\"x0\");!D&&f<y||D&&f>y?(k=f,E=\"y0\",A=y,L=\"y1\"):(k=y,E=\"y1\",A=f,L=\"y0\");Z(n),Q(s,r),function(t,e,r){var n=e.xref,i=e.yref,o=a.getFromId(r,n),s=a.getFromId(r,i),l=\"\";\"paper\"===n||o.autorange||(l+=n);\"paper\"===i||s.autorange||(l+=i);u.setClipUrl(t,l?\"clip\"+r._fullLayout._uid+l:null,r)}(e,r,t),X.moveFn=\"move\"===O?J:K,X.altKey=n.altKey},doneFn:function(){if(v(t))return;p(e),$(s),b(e,t,r),n.call(\"_guiRelayout\",t,l.getUpdateObj())},clickFn:function(){if(v(t))return;$(s)}};function Z(r){if(v(t))O=null;else if(R)O=\"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=X.element.getBoundingClientRect(),i=n.right-n.left,a=n.bottom-n.top,o=r.clientX-n.left,s=r.clientY-n.top,l=!F&&i>10&&a>10&&!r.shiftKey?h.getCursor(o/i,1-s/a):\"move\";p(e,l),O=l.split(\"-\")[0]}}function J(n,i){if(\"path\"===r.type){var a=function(t){return t},o=a,l=a;z?B(\"xanchor\",r.xanchor=G(x+n)):(o=function(t){return G(H(t)+n)},N&&\"date\"===N.type&&(o=m.encodeDate(o))),D?B(\"yanchor\",r.yanchor=Y(T+i)):(l=function(t){return Y(q(t)+i)},U&&\"date\"===U.type&&(l=m.encodeDate(l))),B(\"path\",r.path=w(I,o,l))}else z?B(\"xanchor\",r.xanchor=G(x+n)):(B(\"x0\",r.x0=G(c+n)),B(\"x1\",r.x1=G(g+n))),D?B(\"yanchor\",r.yanchor=Y(T+i)):(B(\"y0\",r.y0=Y(f+i)),B(\"y1\",r.y1=Y(y+i)));e.attr(\"d\",_(t,r)),Q(s,r)}function K(n,i){if(F){var a=function(t){return t},o=a,l=a;z?B(\"xanchor\",r.xanchor=G(x+n)):(o=function(t){return G(H(t)+n)},N&&\"date\"===N.type&&(o=m.encodeDate(o))),D?B(\"yanchor\",r.yanchor=Y(T+i)):(l=function(t){return Y(q(t)+i)},U&&\"date\"===U.type&&(l=m.encodeDate(l))),B(\"path\",r.path=w(I,o,l))}else if(R){if(\"resize-over-start-point\"===O){var u=c+n,h=D?f-i:f+i;B(\"x0\",r.x0=z?u:G(u)),B(\"y0\",r.y0=D?h:Y(h))}else if(\"resize-over-end-point\"===O){var p=g+n,d=D?y-i:y+i;B(\"x1\",r.x1=z?p:G(p)),B(\"y1\",r.y1=D?d:Y(d))}}else{var v=function(t){return-1!==O.indexOf(t)},b=v(\"n\"),j=v(\"s\"),V=v(\"w\"),W=v(\"e\"),X=b?k+i:k,Z=j?A+i:A,J=V?M+n:M,K=W?S+n:S;D&&(b&&(X=k-i),j&&(Z=A-i)),(!D&&Z-X>10||D&&X-Z>10)&&(B(E,r[E]=D?X:Y(X)),B(L,r[L]=D?Z:Y(Z))),K-J>10&&(B(C,r[C]=z?J:G(J)),B(P,r[P]=z?K:G(K)))}e.attr(\"d\",_(t,r)),Q(s,r)}function Q(t,e){(z||D)&&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 a=H(z?e.xanchor:i.midRange(r?[e.x0,e.x1]:m.extractPathCoords(e.path,d.paramIsX))),o=q(D?e.yanchor:i.midRange(r?[e.y0,e.y1]:m.extractPathCoords(e.path,d.paramIsY)));if(a=m.roundPositionForSharpStrokeRendering(a,1),o=m.roundPositionForSharpStrokeRendering(o,1),z&&D){var s=\"M\"+(a-1-1)+\",\"+(o-1-1)+\"h-8v2h8 v8h2v-8 h8v-2h-8 v-8h-2 Z\";n.attr(\"d\",s)}else if(z){var l=\"M\"+(a-1-1)+\",\"+(o-9-1)+\"v18 h2 v-18 Z\";n.attr(\"d\",l)}else{var c=\"M\"+(a-9-1)+\",\"+(o-1-1)+\"h18 v2 h-18 Z\";n.attr(\"d\",c)}}()}function $(t){t.selectAll(\".visual-cue\").remove()}h.init(X),W.node().onmousemove=Z}(t,z,l,e,r,O):!0===l.editable&&z.style(\"pointer-events\",P||c.opacity(S)*M<=.5?\"stroke\":\"all\");z.node().addEventListener(\"click\",(function(){return function(t,e){if(!y(t))return;var r=+e.node().getAttribute(\"data-index\");if(r>=0){if(r===t._fullLayout._activeShapeIndex)return void T(t);t._fullLayout._activeShapeIndex=r,t._fullLayout._deactivateShape=T,g(t)}}(t,z)}))}}function b(t,e,r){var n=(r.xref+r.yref).replace(/paper/g,\"\").replace(/[xyz][1-9]* *domain/g,\"\");u.setClipUrl(t,n?\"clip\"+e._fullLayout._uid+n:null,e)}function _(t,e){var r,n,o,s,l,c,u,f,h=e.type,p=a.getRefType(e.xref),g=a.getRefType(e.yref),v=a.getFromId(t,e.xref),y=a.getFromId(t,e.yref),x=t._fullLayout._size;if(v?\"domain\"===p?n=function(t){return v._offset+v._length*t}:(r=m.shapePositionToRange(v),n=function(t){return v._offset+v.r2p(r(t,!0))}):n=function(t){return x.l+x.w*t},y?\"domain\"===g?s=function(t){return y._offset+y._length*(1-t)}:(o=m.shapePositionToRange(y),s=function(t){return y._offset+y.r2p(o(t,!0))}):s=function(t){return x.t+x.h*(1-t)},\"path\"===h)return v&&\"date\"===v.type&&(n=m.decodeDate(n)),y&&\"date\"===y.type&&(s=m.decodeDate(s)),function(t,e,r){var n=t.path,a=t.xsizemode,o=t.ysizemode,s=t.xanchor,l=t.yanchor;return n.replace(d.segmentRE,(function(t){var n=0,c=t.charAt(0),u=d.paramIsX[c],f=d.paramIsY[c],h=d.numParams[c],p=t.substr(1).replace(d.paramRE,(function(t){return u[n]?t=\"pixel\"===a?e(s)+Number(t):e(t):f[n]&&(t=\"pixel\"===o?r(l)-Number(t):r(t)),++n>h&&(t=\"X\"),t}));return n>h&&(p=p.replace(/[\\s,]*X.*/,\"\"),i.log(\"Ignoring extra params in segment \"+t)),c+p}))}(e,n,s);if(\"pixel\"===e.xsizemode){var b=n(e.xanchor);l=b+e.x0,c=b+e.x1}else l=n(e.x0),c=n(e.x1);if(\"pixel\"===e.ysizemode){var _=s(e.yanchor);u=_-e.y0,f=_-e.y1}else u=s(e.y0),f=s(e.y1);if(\"line\"===h)return\"M\"+l+\",\"+u+\"L\"+c+\",\"+f;if(\"rect\"===h)return\"M\"+l+\",\"+u+\"H\"+c+\"V\"+f+\"H\"+l+\"Z\";var w=(l+c)/2,T=(u+f)/2,k=Math.abs(w-l),A=Math.abs(T-u),M=\"A\"+k+\",\"+A,S=w+k+\",\"+T;return\"M\"+S+M+\" 0 1,1 \"+(w+\",\"+(T-A))+M+\" 0 0,1 \"+S+\"Z\"}function w(t,e,r){return t.replace(d.segmentRE,(function(t){var n=0,i=t.charAt(0),a=d.paramIsX[i],o=d.paramIsY[i],s=d.numParams[i];return i+t.substr(1).replace(d.paramRE,(function(t){return n>=s||(a[n]?t=e(t):o[n]&&(t=r(t)),n++),t}))}))}function T(t){y(t)&&(t._fullLayout._activeShapeIndex>=0&&(l(t),delete t._fullLayout._activeShapeIndex,g(t)))}e.exports={draw:g,drawOne:x,eraseActiveShape:function(t){if(!y(t))return;l(t);var e=t._fullLayout._activeShapeIndex,r=(t.layout||{}).shapes||[];if(e<r.length){for(var i=[],a=0;a<r.length;a++)a!==e&&i.push(r[a]);delete t._fullLayout._activeShapeIndex,n.call(\"_guiRelayout\",t,{shapes:i})}}}},{\"../../lib\":503,\"../../lib/setcursor\":524,\"../../plot_api/plot_template\":543,\"../../plots/cartesian/axes\":554,\"../../plots/cartesian/handle_outline\":565,\"../../registry\":638,\"../color\":366,\"../dragelement\":385,\"../drawing\":388,\"./constants\":448,\"./draw_newshape/display_outlines\":454,\"./draw_newshape/helpers\":455,\"./helpers\":457}],451:[function(t,e,r){\"use strict\";var n=t(\"../../drawing/attributes\").dash,i=t(\"../../../lib/extend\").extendFlat;e.exports={newshape:{line:{color:{valType:\"color\",editType:\"none\"},width:{valType:\"number\",min:0,dflt:4,editType:\"none\"},dash:i({},n,{dflt:\"solid\",editType:\"none\"}),editType:\"none\"},fillcolor:{valType:\"color\",dflt:\"rgba(0,0,0,0)\",editType:\"none\"},fillrule:{valType:\"enumerated\",values:[\"evenodd\",\"nonzero\"],dflt:\"evenodd\",editType:\"none\"},opacity:{valType:\"number\",min:0,max:1,dflt:1,editType:\"none\"},layer:{valType:\"enumerated\",values:[\"below\",\"above\"],dflt:\"above\",editType:\"none\"},drawdirection:{valType:\"enumerated\",values:[\"ortho\",\"horizontal\",\"vertical\",\"diagonal\"],dflt:\"diagonal\",editType:\"none\"},editType:\"none\"},activeshape:{fillcolor:{valType:\"color\",dflt:\"rgb(255,0,255)\",editType:\"none\"},opacity:{valType:\"number\",min:0,max:1,dflt:.5,editType:\"none\"},editType:\"none\"}}},{\"../../../lib/extend\":493,\"../../drawing/attributes\":387}],452:[function(t,e,r){\"use strict\";e.exports={CIRCLE_SIDES:32,i000:0,i090:8,i180:16,i270:24,cos45:Math.cos(Math.PI/4),sin45:Math.sin(Math.PI/4),SQRT2:Math.sqrt(2)}},{}],453:[function(t,e,r){\"use strict\";var n=t(\"../../color\");e.exports=function(t,e,r){if(r(\"newshape.drawdirection\"),r(\"newshape.layer\"),r(\"newshape.fillcolor\"),r(\"newshape.fillrule\"),r(\"newshape.opacity\"),r(\"newshape.line.width\")){var i=(t||{}).plot_bgcolor||\"#FFF\";r(\"newshape.line.color\",n.contrast(i)),r(\"newshape.line.dash\")}r(\"activeshape.fillcolor\"),r(\"activeshape.opacity\")}},{\"../../color\":366}],454:[function(t,e,r){\"use strict\";var n=t(\"../../dragelement\"),i=t(\"../../dragelement/helpers\").drawMode,a=t(\"../../../registry\"),o=t(\"./constants\"),s=o.i000,l=o.i090,c=o.i180,u=o.i270,f=t(\"../../../plots/cartesian/handle_outline\").clearOutlineControllers,h=t(\"./helpers\"),p=h.pointsShapeRectangle,d=h.pointsShapeEllipse,m=h.writePaths,g=t(\"./newshapes\");e.exports=function t(e,r,o,h){h||(h=0);var v=o.gd;function y(){t(e,r,o,h++),d(e[0])&&x({redrawing:!0})}function x(t){o.isActiveShape=!1;var e=g(r,o);Object.keys(e).length&&a.call((t||{}).redrawing?\"relayout\":\"_guiRelayout\",v,e)}var b,_,w,T,k,A=o.isActiveShape,M=v._fullLayout._zoomlayer,S=o.dragmode;(i(S)?v._fullLayout._drawing=!0:v._fullLayout._activeShapeIndex>=0&&f(v),r.attr(\"d\",m(e)),A&&!h)&&(k=function(t,e){for(var r=0;r<e.length;r++){var n=e[r];t[r]=[];for(var i=0;i<n.length;i++){t[r][i]=[];for(var a=0;a<n[i].length;a++)t[r][i][a]=n[i][a]}}return t}([],e),function(t){b=[];for(var r=0;r<e.length;r++){var i=e[r],a=!p(i)&&d(i);b[r]=[];for(var o=0;o<i.length;o++)if(\"Z\"!==i[o][0]&&(!a||o===s||o===l||o===c||o===u)){var f=i[o][1],h=i[o][2],m=t.append(\"circle\").classed(\"cursor-grab\",!0).attr(\"data-i\",r).attr(\"data-j\",o).attr(\"cx\",f).attr(\"cy\",h).attr(\"r\",4).style({\"mix-blend-mode\":\"luminosity\",fill:\"black\",stroke:\"white\",\"stroke-width\":1});b[r][o]={element:m.node(),gd:v,prepFn:E,doneFn:C,clickFn:P},n.init(b[r][o])}}}(M.append(\"g\").attr(\"class\",\"outline-controllers\")),function(){if(_=[],!e.length)return;_[0]={element:r[0][0],gd:v,prepFn:O,doneFn:z},n.init(_[0])}());function E(t){w=+t.srcElement.getAttribute(\"data-i\"),T=+t.srcElement.getAttribute(\"data-j\"),b[w][T].moveFn=L}function L(t,r){if(e.length){var n=k[w][T][1],i=k[w][T][2],a=e[w],o=a.length;if(p(a)){for(var s=0;s<o;s++)if(s!==T){var l=a[s];l[1]===a[T][1]&&(l[1]=n+t),l[2]===a[T][2]&&(l[2]=i+r)}if(a[T][1]=n+t,a[T][2]=i+r,!p(a))for(var c=0;c<o;c++)for(var u=0;u<a[c].length;u++)a[c][u]=k[w][c][u]}else a[T][1]=n+t,a[T][2]=i+r;y()}}function C(){x()}function P(t,r){if(2===t){w=+r.srcElement.getAttribute(\"data-i\"),T=+r.srcElement.getAttribute(\"data-j\");var n=e[w];p(n)||d(n)||function(){if(e.length&&e[w]&&e[w].length){for(var t=[],r=0;r<e[w].length;r++)r!==T&&t.push(e[w][r]);t.length>1&&(2!==t.length||\"Z\"!==t[1][0])&&(0===T&&(t[0][0]=\"M\"),e[w]=t,y(),x())}}()}}function I(t,r){!function(t,r){if(e.length)for(var n=0;n<e.length;n++)for(var i=0;i<e[n].length;i++)for(var a=0;a+2<e[n][i].length;a+=2)e[n][i][a+1]=k[n][i][a+1]+t,e[n][i][a+2]=k[n][i][a+2]+r}(t,r),y()}function O(t){(w=+t.srcElement.getAttribute(\"data-i\"))||(w=0),_[w].moveFn=I}function z(){x()}}},{\"../../../plots/cartesian/handle_outline\":565,\"../../../registry\":638,\"../../dragelement\":385,\"../../dragelement/helpers\":384,\"./constants\":452,\"./helpers\":455,\"./newshapes\":456}],455:[function(t,e,r){\"use strict\";var n=t(\"parse-svg-path\"),i=t(\"./constants\"),a=i.CIRCLE_SIDES,o=i.SQRT2,s=t(\"../../../plots/cartesian/helpers\"),l=s.p2r,c=s.r2p,u=[0,3,4,5,6,1,2],f=[0,3,4,1,2];function h(t,e){return Math.abs(t-e)<=1e-6}function p(t,e){var r=e[1]-t[1],n=e[2]-t[2];return Math.sqrt(r*r+n*n)}r.writePaths=function(t){var e=t.length;if(!e)return\"M0,0Z\";for(var r=\"\",n=0;n<e;n++)for(var i=t[n].length,a=0;a<i;a++){var o=t[n][a][0];if(\"Z\"===o)r+=\"Z\";else for(var s=t[n][a].length,l=0;l<s;l++){var c=l;\"Q\"===o||\"S\"===o?c=f[l]:\"C\"===o&&(c=u[l]),r+=t[n][a][c],l>0&&l<s-1&&(r+=\",\")}}return r},r.readPaths=function(t,e,r,i){var o,s,u,f=n(t),h=[],p=-1,d=0,m=0,g=function(){s=d,u=m};g();for(var v=0;v<f.length;v++){var y,x,b,_,w=[],T=f[v][0],k=T;switch(T){case\"M\":p++,h[p]=[],d=+f[v][1],m=+f[v][2],w.push([k,d,m]),g();break;case\"Q\":case\"S\":y=+f[v][1],b=+f[v][2],d=+f[v][3],m=+f[v][4],w.push([k,d,m,y,b]);break;case\"C\":y=+f[v][1],b=+f[v][2],x=+f[v][3],_=+f[v][4],d=+f[v][5],m=+f[v][6],w.push([k,d,m,y,b,x,_]);break;case\"T\":case\"L\":d=+f[v][1],m=+f[v][2],w.push([k,d,m]);break;case\"H\":k=\"L\",d=+f[v][1],w.push([k,d,m]);break;case\"V\":k=\"L\",m=+f[v][1],w.push([k,d,m]);break;case\"A\":k=\"L\";var A=+f[v][1],M=+f[v][2];+f[v][4]||(A=-A,M=-M);var S=d-A,E=m;for(o=1;o<=a/2;o++){var L=2*Math.PI*o/a;w.push([k,S+A*Math.cos(L),E+M*Math.sin(L)])}break;case\"Z\":d===s&&m===u||(d=s,m=u,w.push([k,d,m]))}for(var C=(r||{}).domain,P=e._fullLayout._size,I=r&&\"pixel\"===r.xsizemode,O=r&&\"pixel\"===r.ysizemode,z=!1===i,D=0;D<w.length;D++){for(o=0;o+2<7;o+=2){var R=w[D][o+1],F=w[D][o+2];void 0!==R&&void 0!==F&&(d=R,m=F,r&&(r.xaxis&&r.xaxis.p2r?(z&&(R-=r.xaxis._offset),R=I?c(r.xaxis,r.xanchor)+R:l(r.xaxis,R)):(z&&(R-=P.l),C?R=C.x[0]+R/P.w:R/=P.w),r.yaxis&&r.yaxis.p2r?(z&&(F-=r.yaxis._offset),F=O?c(r.yaxis,r.yanchor)-F:l(r.yaxis,F)):(z&&(F-=P.t),F=C?C.y[1]-F/P.h:1-F/P.h)),w[D][o+1]=R,w[D][o+2]=F)}h[p].push(w[D].slice())}}return h},r.pointsShapeRectangle=function(t){if(5!==t.length)return!1;for(var e=1;e<3;e++){if(!h(t[0][e]-t[1][e],t[3][e]-t[2][e]))return!1;if(!h(t[0][e]-t[3][e],t[1][e]-t[2][e]))return!1}return!(!h(t[0][1],t[1][1])&&!h(t[0][1],t[3][1]))&&!!(p(t[0],t[1])*p(t[0],t[3]))},r.pointsShapeEllipse=function(t){var e=t.length;if(e!==a+1)return!1;e=a;for(var r=0;r<e;r++){var n=(2*e-r)%e,i=(e/2+n)%e,o=(e/2+r)%e;if(!h(p(t[r],t[o]),p(t[n],t[i])))return!1}return!0},r.handleEllipse=function(t,e,n){if(!t)return[e,n];var i=r.ellipseOver({x0:e[0],y0:e[1],x1:n[0],y1:n[1]}),s=(i.x1+i.x0)/2,l=(i.y1+i.y0)/2,c=(i.x1-i.x0)/2,u=(i.y1-i.y0)/2;c||(c=u/=o),u||(u=c/=o);for(var f=[],h=0;h<a;h++){var p=2*h*Math.PI/a;f.push([s+c*Math.cos(p),l+u*Math.sin(p)])}return f},r.ellipseOver=function(t){var e=t.x0,r=t.y0,n=t.x1,i=t.y1,a=n-e,s=i-r,l=((e-=a)+n)/2,c=((r-=s)+i)/2;return{x0:l-(a*=o),y0:c-(s*=o),x1:l+a,y1:c+s}}},{\"../../../plots/cartesian/helpers\":566,\"./constants\":452,\"parse-svg-path\":250}],456:[function(t,e,r){\"use strict\";var n=t(\"../../dragelement/helpers\"),i=n.drawMode,a=n.openMode,o=t(\"./constants\"),s=o.i000,l=o.i090,c=o.i180,u=o.i270,f=o.cos45,h=o.sin45,p=t(\"../../../plots/cartesian/helpers\"),d=p.p2r,m=p.r2p,g=t(\"../../../plots/cartesian/handle_outline\").clearSelect,v=t(\"./helpers\"),y=v.readPaths,x=v.writePaths,b=v.ellipseOver;e.exports=function(t,e){if(t.length){var r=t[0][0];if(r){var n=r.getAttribute(\"d\"),o=e.gd,p=o._fullLayout.newshape,v=e.plotinfo,_=v.xaxis,w=v.yaxis,T=!!v.domain||!v.xaxis,k=!!v.domain||!v.yaxis,A=e.isActiveShape,M=e.dragmode,S=(o.layout||{}).shapes||[];if(!i(M)&&void 0!==A){var E=o._fullLayout._activeShapeIndex;if(E<S.length)switch(o._fullLayout.shapes[E].type){case\"rect\":M=\"drawrect\";break;case\"circle\":M=\"drawcircle\";break;case\"line\":M=\"drawline\";break;case\"path\":var L=S[E].path||\"\";M=\"Z\"===L[L.length-1]?\"drawclosedpath\":\"drawopenpath\"}}var C,P=a(M),I=y(n,o,v,A),O={editable:!0,xref:T?\"paper\":_._id,yref:k?\"paper\":w._id,layer:p.layer,opacity:p.opacity,line:{color:p.line.color,width:p.line.width,dash:p.line.dash}};if(P||(O.fillcolor=p.fillcolor,O.fillrule=p.fillrule),1===I.length&&(C=I[0]),C&&\"drawrect\"===M)O.type=\"rect\",O.x0=C[0][1],O.y0=C[0][2],O.x1=C[2][1],O.y1=C[2][2];else if(C&&\"drawline\"===M)O.type=\"line\",O.x0=C[0][1],O.y0=C[0][2],O.x1=C[1][1],O.y1=C[1][2];else if(C&&\"drawcircle\"===M){O.type=\"circle\";var z=C[s][1],D=C[l][1],R=C[c][1],F=C[u][1],B=C[s][2],N=C[l][2],j=C[c][2],U=C[u][2],V=v.xaxis&&(\"date\"===v.xaxis.type||\"log\"===v.xaxis.type),H=v.yaxis&&(\"date\"===v.yaxis.type||\"log\"===v.yaxis.type);V&&(z=m(v.xaxis,z),D=m(v.xaxis,D),R=m(v.xaxis,R),F=m(v.xaxis,F)),H&&(B=m(v.yaxis,B),N=m(v.yaxis,N),j=m(v.yaxis,j),U=m(v.yaxis,U));var q=(D+F)/2,G=(B+j)/2,Y=b({x0:q,y0:G,x1:q+(F-D+R-z)/2*f,y1:G+(U-N+j-B)/2*h});V&&(Y.x0=d(v.xaxis,Y.x0),Y.x1=d(v.xaxis,Y.x1)),H&&(Y.y0=d(v.yaxis,Y.y0),Y.y1=d(v.yaxis,Y.y1)),O.x0=Y.x0,O.y0=Y.y0,O.x1=Y.x1,O.y1=Y.y1}else O.type=\"path\",_&&w&&function(t,e,r){var n=\"date\"===e.type,i=\"date\"===r.type;if(!n&&!i)return t;for(var a=0;a<t.length;a++)for(var o=0;o<t[a].length;o++)for(var s=0;s+2<t[a][o].length;s+=2)n&&(t[a][o][s+1]=t[a][o][s+1].replace(\" \",\"_\")),i&&(t[a][o][s+2]=t[a][o][s+2].replace(\" \",\"_\"))}(I,_,w),O.path=x(I),C=null;g(o);for(var W=e.editHelpers,X=(W||{}).modifyItem,Z=[],J=0;J<S.length;J++){var K=o._fullLayout.shapes[J];if(Z[J]=K._input,void 0!==A&&J===o._fullLayout._activeShapeIndex){var Q=O;switch(K.type){case\"line\":case\"rect\":case\"circle\":X(\"x0\",Q.x0),X(\"x1\",Q.x1),X(\"y0\",Q.y0),X(\"y1\",Q.y1);break;case\"path\":X(\"path\",Q.path)}}}return void 0===A?(Z.push(O),Z):W?W.getUpdateObj():{}}}}},{\"../../../plots/cartesian/handle_outline\":565,\"../../../plots/cartesian/helpers\":566,\"../../dragelement/helpers\":384,\"./constants\":452,\"./helpers\":455}],457:[function(t,e,r){\"use strict\";var n=t(\"./constants\"),i=t(\"../../lib\");r.rangeToShapePosition=function(t){return\"log\"===t.type?t.r2d:function(t){return t}},r.shapePositionToRange=function(t){return\"log\"===t.type?t.d2r:function(t){return t}},r.decodeDate=function(t){return function(e){return e.replace&&(e=e.replace(\"_\",\" \")),t(e)}},r.encodeDate=function(t){return function(e){return t(e).replace(\" \",\"_\")}},r.extractPathCoords=function(t,e){var r=[];return t.match(n.segmentRE).forEach((function(t){var a=e[t.charAt(0)].drawn;if(void 0!==a){var o=t.substr(1).match(n.paramRE);!o||o.length<a||r.push(i.cleanNumber(o[a]))}})),r},r.getDataToPixel=function(t,e,n,i){var a,o=t._fullLayout._size;if(e)if(\"domain\"===i)a=function(t){return e._length*(n?1-t:t)+e._offset};else{var s=r.shapePositionToRange(e);a=function(t){return e._offset+e.r2p(s(t,!0))},\"date\"===e.type&&(a=r.decodeDate(a))}else a=n?function(t){return o.t+o.h*(1-t)}:function(t){return o.l+o.w*t};return a},r.getPixelToData=function(t,e,n,i){var a,o=t._fullLayout._size;if(e)if(\"domain\"===i)a=function(t){var r=(t-e._offset)/e._length;return n?1-r:r};else{var s=r.rangeToShapePosition(e);a=function(t){return s(e.p2r(t-e._offset))}}else a=n?function(t){return 1-(t-o.t)/o.h}:function(t){return(t-o.l)/o.w};return a},r.roundPositionForSharpStrokeRendering=function(t,e){var r=1===Math.round(e%2),n=Math.round(t);return r?n+.5:n},r.makeOptionsAndPlotinfo=function(t,e){var r=t._fullLayout.shapes[e]||{},n=t._fullLayout._plots[r.xref+r.yref];return!!n?n._hadPlotinfo=!0:(n={},r.xref&&\"paper\"!==r.xref&&(n.xaxis=t._fullLayout[r.xref+\"axis\"]),r.yref&&\"paper\"!==r.yref&&(n.yaxis=t._fullLayout[r.yref+\"axis\"])),n.xsizemode=r.xsizemode,n.ysizemode=r.ysizemode,n.xanchor=r.xanchor,n.yanchor=r.yanchor,{options:r,plotinfo:n}}},{\"../../lib\":503,\"./constants\":448}],458:[function(t,e,r){\"use strict\";var n=t(\"./draw\");e.exports={moduleType:\"component\",name:\"shapes\",layoutAttributes:t(\"./attributes\"),supplyLayoutDefaults:t(\"./defaults\"),supplyDrawNewShapeDefaults:t(\"./draw_newshape/defaults\"),includeBasePlot:t(\"../../plots/cartesian/include_components\")(\"shapes\"),calcAutorange:t(\"./calc_autorange\"),draw:n.draw,drawOne:n.drawOne}},{\"../../plots/cartesian/include_components\":567,\"./attributes\":446,\"./calc_autorange\":447,\"./defaults\":449,\"./draw\":450,\"./draw_newshape/defaults\":453}],459:[function(t,e,r){\"use strict\";var n=t(\"../../plots/font_attributes\"),i=t(\"../../plots/pad_attributes\"),a=t(\"../../lib/extend\").extendDeepAll,o=t(\"../../plot_api/edit_types\").overrideAll,s=t(\"../../plots/animation_attributes\"),l=t(\"../../plot_api/plot_template\").templatedArray,c=t(\"./constants\"),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}});e.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\")},{\"../../lib/extend\":493,\"../../plot_api/edit_types\":536,\"../../plot_api/plot_template\":543,\"../../plots/animation_attributes\":548,\"../../plots/font_attributes\":585,\"../../plots/pad_attributes\":618,\"./constants\":460}],460:[function(t,e,r){\"use strict\";e.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}},{}],461:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../plots/array_container_defaults\"),a=t(\"./attributes\"),o=t(\"./constants\").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;u<s.length;u++)s[u].visible&&l++;if(l<2?e.visible=!1:o(\"visible\")){e._stepCount=l;var f=e._visibleSteps=n.filterVisible(s);(s[o(\"active\")]||{}).visible||(e.active=f[0]._index),o(\"x\"),o(\"y\"),n.noneOrAll(t,e,[\"x\",\"y\"]),o(\"xanchor\"),o(\"yanchor\"),o(\"len\"),o(\"lenmode\"),o(\"pad.t\"),o(\"pad.r\"),o(\"pad.b\"),o(\"pad.l\"),n.coerceFont(o,\"font\",r.font),o(\"currentvalue.visible\")&&(o(\"currentvalue.xanchor\"),o(\"currentvalue.prefix\"),o(\"currentvalue.suffix\"),o(\"currentvalue.offset\"),n.coerceFont(o,\"currentvalue.font\",e.font)),o(\"transition.duration\"),o(\"transition.easing\"),o(\"bgcolor\"),o(\"activebgcolor\"),o(\"bordercolor\"),o(\"borderwidth\"),o(\"ticklen\"),o(\"tickwidth\"),o(\"tickcolor\"),o(\"minorticklen\")}}function c(t,e){function r(r,i){return n.coerce(t,e,s,r,i)}if(\"skip\"===t.method||Array.isArray(t.args)?r(\"visible\"):e.visible=!1){r(\"method\"),r(\"args\");var i=r(\"label\",\"step-\"+e._index);r(\"value\",i),r(\"execute\")}}e.exports=function(t,e){i(t,e,{name:o,handleItemDefaults:l})}},{\"../../lib\":503,\"../../plots/array_container_defaults\":549,\"./attributes\":459,\"./constants\":460}],462:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../../plots/plots\"),a=t(\"../color\"),o=t(\"../drawing\"),s=t(\"../../lib\"),l=s.strTranslate,c=t(\"../../lib/svg_text_utils\"),u=t(\"../../plot_api/plot_template\").arrayEditor,f=t(\"./constants\"),h=t(\"../../constants/alignment\"),p=h.LINE_SPACING,d=h.FROM_TL,m=h.FROM_BR;function g(t){return f.autoMarginIdRoot+t._index}function v(t){return t._index}function y(t,e){var r=o.tester.selectAll(\"g.\"+f.labelGroupClass).data(e._visibleSteps);r.enter().append(\"g\").classed(f.labelGroupClass,!0);var a=0,l=0;r.each((function(t){var r=_(n.select(this),{step:t},e).node();if(r){var i=o.bBox(r);l=Math.max(l,i.height),a=Math.max(a,i.width)}})),r.remove();var u=e._dims={};u.inputAreaWidth=Math.max(f.railWidth,f.gripHeight);var h=t._fullLayout._size;u.lx=h.l+h.w*e.x,u.ly=h.t+h.h*(1-e.y),\"fraction\"===e.lenmode?u.outerLength=Math.round(h.w*e.len):u.outerLength=e.len,u.inputAreaStart=0,u.inputAreaLength=Math.round(u.outerLength-e.pad.l-e.pad.r);var p=(u.inputAreaLength-2*f.stepInset)/(e._stepCount-1),v=a+f.labelPadding;if(u.labelStride=Math.max(1,Math.ceil(v/p)),u.labelHeight=l,u.currentValueMaxWidth=0,u.currentValueHeight=0,u.currentValueTotalHeight=0,u.currentValueMaxLines=1,e.currentvalue.visible){var y=o.tester.append(\"g\");r.each((function(t){var r=x(y,e,t.label),n=r.node()&&o.bBox(r.node())||{width:0,height:0},i=c.lineCount(r);u.currentValueMaxWidth=Math.max(u.currentValueMaxWidth,Math.ceil(n.width)),u.currentValueHeight=Math.max(u.currentValueHeight,Math.ceil(n.height)),u.currentValueMaxLines=Math.max(u.currentValueMaxLines,i)})),u.currentValueTotalHeight=u.currentValueHeight+e.currentvalue.offset,y.remove()}u.height=u.currentValueTotalHeight+f.tickOffset+e.ticklen+f.labelOffset+u.labelHeight+e.pad.t+e.pad.b;var b=\"left\";s.isRightAnchor(e)&&(u.lx-=u.outerLength,b=\"right\"),s.isCenterAnchor(e)&&(u.lx-=u.outerLength/2,b=\"center\");var w=\"top\";s.isBottomAnchor(e)&&(u.ly-=u.height,w=\"bottom\"),s.isMiddleAnchor(e)&&(u.ly-=u.height/2,w=\"middle\"),u.outerLength=Math.ceil(u.outerLength),u.height=Math.ceil(u.height),u.lx=Math.round(u.lx),u.ly=Math.round(u.ly);var T={y:e.y,b:u.height*m[w],t:u.height*d[w]};\"fraction\"===e.lenmode?(T.l=0,T.xl=e.x-e.len*d[b],T.r=0,T.xr=e.x+e.len*m[b]):(T.x=e.x,T.l=u.outerLength*d[b],T.r=u.outerLength*m[b]),i.autoMargin(t,g(e),T)}function x(t,e,r){if(e.currentvalue.visible){var n,i,a=e._dims;switch(e.currentvalue.xanchor){case\"right\":n=a.inputAreaLength-f.currentValueInset-a.currentValueMaxWidth,i=\"left\";break;case\"center\":n=.5*a.inputAreaLength,i=\"middle\";break;default:n=f.currentValueInset,i=\"left\"}var l=s.ensureSingle(t,\"text\",f.labelClass,(function(t){t.attr({\"text-anchor\":i,\"data-notex\":1})})),u=e.currentvalue.prefix?e.currentvalue.prefix:\"\";if(\"string\"==typeof r)u+=r;else{var h=e.steps[e.active].label,d=e._gd._fullLayout._meta;d&&(h=s.templateString(h,d)),u+=h}e.currentvalue.suffix&&(u+=e.currentvalue.suffix),l.call(o.font,e.currentvalue.font).text(u).call(c.convertToTspans,e._gd);var m=c.lineCount(l),g=(a.currentValueMaxLines+1-m)*e.currentvalue.font.size*p;return c.positionText(l,n,g),l}}function b(t,e,r){s.ensureSingle(t,\"rect\",f.gripRectClass,(function(n){n.call(A,e,t,r).style(\"pointer-events\",\"all\")})).attr({width:f.gripWidth,height:f.gripHeight,rx:f.gripRadius,ry:f.gripRadius}).call(a.stroke,r.bordercolor).call(a.fill,r.bgcolor).style(\"stroke-width\",r.borderwidth+\"px\")}function _(t,e,r){var n=s.ensureSingle(t,\"text\",f.labelClass,(function(t){t.attr({\"text-anchor\":\"middle\",\"data-notex\":1})})),i=e.step.label,a=r._gd._fullLayout._meta;return a&&(i=s.templateString(i,a)),n.call(o.font,r.font).text(i).call(c.convertToTspans,r._gd),n}function w(t,e){var r=s.ensureSingle(t,\"g\",f.labelsClass),i=e._dims,a=r.selectAll(\"g.\"+f.labelGroupClass).data(i.labelSteps);a.enter().append(\"g\").classed(f.labelGroupClass,!0),a.exit().remove(),a.each((function(t){var r=n.select(this);r.call(_,t,e),o.setTranslate(r,E(e,t.fraction),f.tickOffset+e.ticklen+e.font.size*p+f.labelOffset+i.currentValueTotalHeight)}))}function T(t,e,r,n,i){var a=Math.round(n*(r._stepCount-1)),o=r._visibleSteps[a]._index;o!==r.active&&k(t,e,r,o,!0,i)}function k(t,e,r,n,a,o){var s=r.active;r.active=n,u(t.layout,f.name,r).applyUpdate(\"active\",n);var l=r.steps[r.active];e.call(S,r,o),e.call(x,r),t.emit(\"plotly_sliderchange\",{slider:r,step:r.steps[r.active],interaction:a,previousActive:s}),l&&l.method&&a&&(e._nextMethod?(e._nextMethod.step=l,e._nextMethod.doCallback=a,e._nextMethod.doTransition=o):(e._nextMethod={step:l,doCallback:a,doTransition:o},e._nextMethodRaf=window.requestAnimationFrame((function(){var r=e._nextMethod.step;r.method&&(r.execute&&i.executeAPICommand(t,r.method,r.args),e._nextMethod=null,e._nextMethodRaf=null)}))))}function A(t,e,r){var i=r.node(),o=n.select(e);function s(){return r.data()[0]}function l(){var t=s();e.emit(\"plotly_sliderstart\",{slider:t});var l=r.select(\".\"+f.gripRectClass);n.event.stopPropagation(),n.event.preventDefault(),l.call(a.fill,t.activebgcolor);var c=L(t,n.mouse(i)[0]);function u(){var t=s(),a=L(t,n.mouse(i)[0]);T(e,r,t,a,!1)}function h(){var t=s();t._dragging=!1,l.call(a.fill,t.bgcolor),o.on(\"mouseup\",null),o.on(\"mousemove\",null),o.on(\"touchend\",null),o.on(\"touchmove\",null),e.emit(\"plotly_sliderend\",{slider:t,step:t.steps[t.active]})}T(e,r,t,c,!0),t._dragging=!0,o.on(\"mousemove\",u),o.on(\"touchmove\",u),o.on(\"mouseup\",h),o.on(\"touchend\",h)}t.on(\"mousedown\",l),t.on(\"touchstart\",l)}function M(t,e){var r=t.selectAll(\"rect.\"+f.tickRectClass).data(e._visibleSteps),i=e._dims;r.enter().append(\"rect\").classed(f.tickRectClass,!0),r.exit().remove(),r.attr({width:e.tickwidth+\"px\",\"shape-rendering\":\"crispEdges\"}),r.each((function(t,r){var s=r%i.labelStride==0,l=n.select(this);l.attr({height:s?e.ticklen:e.minorticklen}).call(a.fill,e.tickcolor),o.setTranslate(l,E(e,r/(e._stepCount-1))-.5*e.tickwidth,(s?f.tickOffset:f.minorTickOffset)+i.currentValueTotalHeight)}))}function S(t,e,r){for(var n=t.select(\"rect.\"+f.gripRectClass),i=0,a=0;a<e._stepCount;a++)if(e._visibleSteps[a]._index===e.active){i=a;break}var o=E(e,i/(e._stepCount-1));if(!e._invokingCommand){var s=n;r&&e.transition.duration>0&&(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)}e.exports=function(t){var e=t._fullLayout,r=function(t,e){for(var r=t[f.name],n=[],i=0;i<r.length;i++){var a=r[i];a.visible&&(a._gd=e,n.push(a))}return n}(e,t),a=e._infolayer.selectAll(\"g.\"+f.containerClassName).data(r.length>0?[0]:[]);function s(e){e._commandObserver&&(e._commandObserver.remove(),delete e._commandObserver),i.autoMargin(t,g(e))}if(a.enter().append(\"g\").classed(f.containerClassName,!0).style(\"cursor\",\"ew-resize\"),a.exit().each((function(){n.select(this).selectAll(\"g.\"+f.groupClassName).each(s)})).remove(),0!==r.length){var l=a.selectAll(\"g.\"+f.groupClassName).data(r,v);l.enter().append(\"g\").classed(f.groupClassName,!0),l.exit().each(s).remove();for(var c=0;c<r.length;c++){var u=r[c];y(t,u)}l.each((function(e){var r=n.select(this);!function(t){var e=t._dims;e.labelSteps=[];for(var r=t._stepCount,n=0;n<r;n+=e.labelStride)e.labelSteps.push({fraction:n/(r-1),step:t._visibleSteps[n]})}(e),i.manageCommandObserver(t,e,e._visibleSteps,(function(e){var n=r.data()[0];n.active!==e.index&&(n._dragging||k(t,r,n,e.index,!1,!0))})),function(t,e,r){(r.steps[r.active]||{}).visible||(r.active=r._visibleSteps[0]._index);e.call(x,r).call(P,r).call(w,r).call(M,r).call(C,t,r).call(b,t,r);var n=r._dims;o.setTranslate(e,n.lx+r.pad.l,n.ly+r.pad.t),e.call(S,r,!1),e.call(x,r)}(t,n.select(this),e)}))}}},{\"../../constants/alignment\":471,\"../../lib\":503,\"../../lib/svg_text_utils\":529,\"../../plot_api/plot_template\":543,\"../../plots/plots\":619,\"../color\":366,\"../drawing\":388,\"./constants\":460,\"@plotly/d3\":58}],463:[function(t,e,r){\"use strict\";var n=t(\"./constants\");e.exports={moduleType:\"component\",name:n.name,layoutAttributes:t(\"./attributes\"),supplyLayoutDefaults:t(\"./defaults\"),draw:t(\"./draw\")}},{\"./attributes\":459,\"./constants\":460,\"./defaults\":461,\"./draw\":462}],464:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"fast-isnumeric\"),a=t(\"../../plots/plots\"),o=t(\"../../registry\"),s=t(\"../../lib\"),l=s.strTranslate,c=t(\"../drawing\"),u=t(\"../color\"),f=t(\"../../lib/svg_text_utils\"),h=t(\"../../constants/interactions\"),p=t(\"../../constants/alignment\").OPPOSITE_SIDE,d=/ [XY][0-9]* /;e.exports={draw:function(t,e,r){var m,g=r.propContainer,v=r.propName,y=r.placeholder,x=r.traceIndex,b=r.avoid||{},_=r.attributes,w=r.transform,T=r.containerGroup,k=t._fullLayout,A=1,M=!1,S=g.title,E=(S&&S.text?S.text:\"\").trim(),L=S&&S.font?S.font:{},C=L.family,P=L.size,I=L.color;\"title.text\"===v?m=\"titleText\":-1!==v.indexOf(\"axis\")?m=\"axisTitleText\":v.indexOf(!0)&&(m=\"colorbarTitleText\");var O=t._context.edits[m];\"\"===E?A=0:E.replace(d,\" % \")===y.replace(d,\" % \")&&(A=.2,M=!0,O||(E=\"\")),r._meta?E=s.templateString(E,r._meta):k._meta&&(E=s.templateString(E,k._meta));var z,D=E||O;T||(T=s.ensureSingle(k._infolayer,\"g\",\"g-\"+e),z=k._hColorbarMoveTitle);var R=T.selectAll(\"text\").data(D?[0]:[]);if(R.enter().append(\"text\"),R.text(E).attr(\"class\",e),R.exit().remove(),!D)return T;function F(t){s.syncOrAsync([B,N],t)}function B(e){var r;return!w&&z&&(w={}),w?(r=\"\",w.rotate&&(r+=\"rotate(\"+[w.rotate,_.x,_.y]+\")\"),(w.offset||z)&&(r+=l(0,(w.offset||0)-(z||0)))):r=null,e.attr(\"transform\",r),e.style({\"font-family\":C,\"font-size\":n.round(P,2)+\"px\",fill:u.rgb(I),opacity:A*u.opacity(I),\"font-weight\":a.fontWeight}).attr(_).call(f.convertToTspans,t),a.previousPromises(t)}function N(t){var e=n.select(t.node().parentNode);if(b&&b.selection&&b.side&&E){e.attr(\"transform\",null);var r=p[b.side],a=\"left\"===b.side||\"top\"===b.side?-1:1,o=i(b.pad)?b.pad:2,u=c.bBox(e.node()),f={left:0,top:0,right:k.width,bottom:k.height},h=b.maxShift||a*(f[b.side]-u[b.side]),d=0;if(h<0)d=h;else{var m=b.offsetLeft||0,g=b.offsetTop||0;u.left-=m,u.right-=m,u.top-=g,u.bottom-=g,b.selection.each((function(){var t=c.bBox(this);s.bBoxIntersect(u,t,o)&&(d=Math.max(d,a*(t[b.side]-u[r])+o))})),d=Math.min(h,d)}if(d>0||h<0){var v={left:[-d,0],right:[d,0],top:[0,-d],bottom:[0,d]}[b.side];e.attr(\"transform\",l(v[0],v[1]))}}}return R.call(F),O&&(E?R.on(\".opacity\",null):(A=0,M=!0,R.text(y).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)}))),R.call(f.makeEditable,{gd:t}).on(\"edit\",(function(e){void 0!==x?o.call(\"_guiRestyle\",t,v,e,x):o.call(\"_guiRelayout\",t,v,e)})).on(\"cancel\",(function(){this.text(this.attr(\"data-unformatted\")).call(F)})).on(\"input\",(function(t){this.text(t||\" \").call(f.positionText,_.x,_.y)}))),R.classed(\"js-placeholder\",M),T}}},{\"../../constants/alignment\":471,\"../../constants/interactions\":478,\"../../lib\":503,\"../../lib/svg_text_utils\":529,\"../../plots/plots\":619,\"../../registry\":638,\"../color\":366,\"../drawing\":388,\"@plotly/d3\":58,\"fast-isnumeric\":190}],465:[function(t,e,r){\"use strict\";var n=t(\"../../plots/font_attributes\"),i=t(\"../color/attributes\"),a=t(\"../../lib/extend\").extendFlat,o=t(\"../../plot_api/edit_types\").overrideAll,s=t(\"../../plots/pad_attributes\"),l=t(\"../../plot_api/plot_template\").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}});e.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\")},{\"../../lib/extend\":493,\"../../plot_api/edit_types\":536,\"../../plot_api/plot_template\":543,\"../../plots/font_attributes\":585,\"../../plots/pad_attributes\":618,\"../color/attributes\":365}],466:[function(t,e,r){\"use strict\";e.exports={name:\"updatemenus\",containerClassName:\"updatemenu-container\",headerGroupClassName:\"updatemenu-header-group\",headerClassName:\"updatemenu-header\",headerArrowClassName:\"updatemenu-header-arrow\",dropdownButtonGroupClassName:\"updatemenu-dropdown-button-group\",dropdownButtonClassName:\"updatemenu-dropdown-button\",buttonClassName:\"updatemenu-button\",itemRectClassName:\"updatemenu-item-rect\",itemTextClassName:\"updatemenu-item-text\",menuIndexAttrName:\"updatemenu-active-index\",autoMarginIdRoot:\"updatemenu-\",blankHeaderOpts:{label:\"  \"},minWidth:30,minHeight:30,textPadX:24,arrowPadX:16,rx:2,ry:2,textOffsetX:12,textOffsetY:3,arrowOffsetX:4,gapButtonHeader:5,gapButton:2,activeColor:\"#F4FAFF\",hoverColor:\"#F4FAFF\",arrowSymbol:{left:\"\\u25c4\",right:\"\\u25ba\",up:\"\\u25b2\",down:\"\\u25bc\"}}},{}],467:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../plots/array_container_defaults\"),a=t(\"./attributes\"),o=t(\"./constants\").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\"))}e.exports=function(t,e){i(t,e,{name:o,handleItemDefaults:l})}},{\"../../lib\":503,\"../../plots/array_container_defaults\":549,\"./attributes\":465,\"./constants\":466}],468:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../../plots/plots\"),a=t(\"../color\"),o=t(\"../drawing\"),s=t(\"../../lib\"),l=t(\"../../lib/svg_text_utils\"),c=t(\"../../plot_api/plot_template\").arrayEditor,u=t(\"../../constants/alignment\").LINE_SPACING,f=t(\"./constants\"),h=t(\"./scrollbox\");function p(t){return t._index}function d(t,e){return+t.attr(f.menuIndexAttrName)===e._index}function m(t,e,r,n,i,a,o,s){e.active=o,c(t.layout,f.name,e).applyUpdate(\"active\",o),\"buttons\"===e.type?v(t,n,null,null,e):\"dropdown\"===e.type&&(i.attr(f.menuIndexAttrName,\"-1\"),g(t,n,i,a,e),s||v(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,c=i.active,u=i.buttons[c]||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(y,i,u,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)),v(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 v(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,c=\"dropdown\"===o.type?f.dropdownButtonClassName:f.buttonClassName,u=r.selectAll(\"g.\"+c).data(s.filterVisible(l)),h=u.enter().append(\"g\").classed(c,!0),p=u.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,v=o._dims,x=-1!==[\"up\",\"down\"].indexOf(o.direction);\"dropdown\"===o.type&&(x?g=v.headerHeight+f.gapButtonHeader:d=v.headerWidth+f.gapButtonHeader),\"dropdown\"===o.type&&\"up\"===o.direction&&(g=-f.gapButtonHeader+f.gapButton-v.openHeight),\"dropdown\"===o.type&&\"left\"===o.direction&&(d=-f.gapButtonHeader+f.gapButton-v.openWidth);var b={x:v.lx+d+o.pad.l,y:v.ly+g+o.pad.t,yPad:f.gapButton,xPad:f.gapButton,index:0},k={l:b.x+o.borderwidth,t:b.y+o.borderwidth};u.each((function(s,l){var c=n.select(this);c.call(y,o,s,t).call(M,o,b),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(_,o)}))})),u.call(_,o),x?(k.w=Math.max(v.openWidth,v.headerWidth),k.h=b.y-k.t):(k.w=b.x-k.l,k.h=Math.max(v.openHeight,v.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,h=i._dims,p=i.active;if(u)for(s=0,l=0;l<p;l++)s+=h.heights[l]+f.gapButton;else for(o=0,l=0;l<p;l++)o+=h.widths[l]+f.gapButton;n.enable(a,o,s),n.hbar&&n.hbar.attr(\"opacity\",\"0\").transition().attr(\"opacity\",\"1\");n.vbar&&n.vbar.attr(\"opacity\",\"0\").transition().attr(\"opacity\",\"1\")}(0,0,0,a,o,k):function(t){var e=!!t.hbar,r=!!t.vbar;e&&t.hbar.transition().attr(\"opacity\",\"0\").each(\"end\",(function(){e=!1,r||t.disable()}));r&&t.vbar.transition().attr(\"opacity\",\"0\").each(\"end\",(function(){r=!1,e||t.disable()}))}(a))}function y(t,e,r,n){t.call(x,e).call(b,e,r,n)}function x(t,e){s.ensureSingle(t,\"rect\",f.itemRectClassName,(function(t){t.attr({rx:f.rx,ry:f.ry,\"shape-rendering\":\"crispEdges\"})})).call(a.stroke,e.bordercolor).call(a.fill,e.bgcolor).style(\"stroke-width\",e.borderwidth+\"px\")}function b(t,e,r,n){var i=s.ensureSingle(t,\"text\",f.itemTextClassName,(function(t){t.attr({\"text-anchor\":\"start\",\"data-notex\":1})})),a=r.label,c=n._fullLayout._meta;c&&(a=s.templateString(a,c)),i.call(o.font,e.font).text(a).call(l.convertToTspans,n)}function _(t,e){var r=e.active;t.each((function(t,i){var o=n.select(this);i===r&&e.showactive&&o.select(\"rect.\"+f.itemRectClassName).call(a.fill,f.activeColor)}))}function w(t){t.select(\"rect.\"+f.itemRectClassName).call(a.fill,f.hoverColor)}function T(t,e){t.select(\"rect.\"+f.itemRectClassName).call(a.fill,e.bgcolor)}function k(t,e){var r=e._dims={width1:0,height1:0,heights:[],widths:[],totalWidth:0,totalHeight:0,openWidth:0,openHeight:0,lx:0,ly:0},a=o.tester.selectAll(\"g.\"+f.dropdownButtonClassName).data(s.filterVisible(e.buttons));a.enter().append(\"g\").classed(f.dropdownButtonClassName,!0);var c=-1!==[\"up\",\"down\"].indexOf(e.direction);a.each((function(i,a){var s=n.select(this);s.call(y,e,i,t);var h=s.select(\".\"+f.itemTextClassName),p=h.node()&&o.bBox(h.node()).width,d=Math.max(p+f.textPadX,f.minWidth),m=e.font.size*u,g=l.lineCount(h),v=Math.max(m*g,f.minHeight)+f.textOffsetY;v=Math.ceil(v),d=Math.ceil(d),r.widths[a]=d,r.heights[a]=v,r.height1=Math.max(r.height1,v),r.width1=Math.max(r.width1,d),c?(r.totalWidth=Math.max(r.totalWidth,d),r.openWidth=r.totalWidth,r.totalHeight+=v+f.gapButton,r.openHeight+=v+f.gapButton):(r.totalWidth+=d+f.gapButton,r.openWidth+=d+f.gapButton,r.totalHeight=Math.max(r.totalHeight,v),r.openHeight=r.totalHeight)})),c?r.totalHeight-=f.gapButton:r.totalWidth-=f.gapButton,r.headerWidth=r.width1+f.arrowPadX,r.headerHeight=r.height1,\"dropdown\"===e.type&&(c?(r.width1+=f.arrowPadX,r.totalHeight=r.height1):r.totalWidth=r.width1,r.totalWidth+=f.arrowPadX),a.remove();var h=r.totalWidth+e.pad.l+e.pad.r,p=r.totalHeight+e.pad.t+e.pad.b,d=t._fullLayout._size;r.lx=d.l+d.w*e.x,r.ly=d.t+d.h*(1-e.y);var m=\"left\";s.isRightAnchor(e)&&(r.lx-=h,m=\"right\"),s.isCenterAnchor(e)&&(r.lx-=h/2,m=\"center\");var g=\"top\";s.isBottomAnchor(e)&&(r.ly-=p,g=\"bottom\"),s.isMiddleAnchor(e)&&(r.ly-=p/2,g=\"middle\"),r.totalWidth=Math.ceil(r.totalWidth),r.totalHeight=Math.ceil(r.totalHeight),r.lx=Math.round(r.lx),r.ly=Math.round(r.ly),i.autoMargin(t,A(e),{x:e.x,y:e.y,l:h*({right:1,center:.5}[m]||0),r:h*({left:1,center:.5}[m]||0),b:p*({top:1,middle:.5}[g]||0),t:p*({bottom:1,middle:.5}[g]||0)})}function A(t){return f.autoMarginIdRoot+t._index}function M(t,e,r,n){n=n||{};var i=t.select(\".\"+f.itemRectClassName),a=t.select(\".\"+f.itemTextClassName),s=e.borderwidth,c=r.index,h=e._dims;o.setTranslate(t,s+r.x,s+r.y);var p=-1!==[\"up\",\"down\"].indexOf(e.direction),d=n.height||(p?h.heights[c]:h.height1);i.attr({x:0,y:0,width:n.width||(p?h.width1:h.widths[c]),height:d});var m=e.font.size*u,g=(l.lineCount(a)-1)*m/2;l.positionText(a,f.textOffsetX,d/2-g+f.textOffsetY),p?r.y+=h.heights[c]+r.yPad:r.x+=h.widths[c]+r.xPad,r.index++}function S(t,e){t.attr(f.menuIndexAttrName,e||\"-1\").selectAll(\"g.\"+f.dropdownButtonClassName).remove()}e.exports=function(t){var e=t._fullLayout,r=s.filterVisible(e[f.name]);function a(e){i.autoMargin(t,A(e))}var o=e._menulayer.selectAll(\"g.\"+f.containerClassName).data(r.length>0?[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 c=s.ensureSingle(o,\"g\",f.dropdownButtonGroupClassName,(function(t){t.style(\"pointer-events\",\"all\")})),u=0;u<r.length;u++){var y=r[u];k(t,y)}var x=\"updatemenus\"+e._uid,b=new h(t,c,x);l.enter().size()&&(c.node().parentNode.appendChild(c.node()),c.call(S)),l.exit().each((function(t){c.call(S),a(t)})).remove(),l.each((function(e){var r=n.select(this),a=\"dropdown\"===e.type?c:null;i.manageCommandObserver(t,e,e.buttons,(function(n){m(t,e,e.buttons[n.index],r,a,b,n.index,!0)})),\"dropdown\"===e.type?(g(t,r,c,b,e),d(c,e)&&v(t,r,c,b,e)):v(t,r,null,null,e)}))}}},{\"../../constants/alignment\":471,\"../../lib\":503,\"../../lib/svg_text_utils\":529,\"../../plot_api/plot_template\":543,\"../../plots/plots\":619,\"../color\":366,\"../drawing\":388,\"./constants\":466,\"./scrollbox\":470,\"@plotly/d3\":58}],469:[function(t,e,r){arguments[4][463][0].apply(r,arguments)},{\"./attributes\":465,\"./constants\":466,\"./defaults\":467,\"./draw\":468,dup:463}],470:[function(t,e,r){\"use strict\";e.exports=s;var n=t(\"@plotly/d3\"),i=t(\"../color\"),a=t(\"../drawing\"),o=t(\"../../lib\");function s(t,e,r){this.gd=t,this.container=e,this.id=r,this.position=null,this.translateX=null,this.translateY=null,this.hbar=null,this.vbar=null,this.bg=this.container.selectAll(\"rect.scrollbox-bg\").data([0]),this.bg.exit().on(\".drag\",null).on(\"wheel\",null).remove(),this.bg.enter().append(\"rect\").classed(\"scrollbox-bg\",!0).style(\"pointer-events\",\"all\").attr({opacity:0,x:0,y:0,width:0,height:0})}s.barWidth=2,s.barLength=20,s.barRadius=2,s.barPad=1,s.barColor=\"#808BA4\",s.prototype.enable=function(t,e,r){var o=this.gd._fullLayout,l=o.width,c=o.height;this.position=t;var u,f,h,p,d=this.position.l,m=this.position.w,g=this.position.t,v=this.position.h,y=this.position.direction,x=\"down\"===y,b=\"left\"===y,_=\"up\"===y,w=m,T=v;x||b||\"right\"===y||_||(this.position.direction=\"down\",x=!0),x||_?(f=(u=d)+w,x?(h=g,T=(p=Math.min(h+T,c))-h):T=(p=g+T)-(h=Math.max(p-T,0))):(p=(h=g)+T,b?w=(f=d+w)-(u=Math.max(f-w,0)):(u=d,w=(f=Math.min(u+w,l))-u)),this._box={l:u,t:h,w:w,h:T};var k=m>w,A=s.barLength+2*s.barPad,M=s.barWidth+2*s.barPad,S=d,E=g+v;E+M>c&&(E=c-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=v>T,P=s.barWidth+2*s.barPad,I=s.barLength+2*s.barPad,O=d+m,z=g;O+P>l&&(O=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:O,y:z,width:P,height:I}),this._vbarYMin=z+I/2,this._vbarTranslateMax=T-I):(delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax);var R=this.id,F=u-.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:m,height:v})):(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 H=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(H),C&&this.vbar.on(\".drag\",null).call(H)}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)}}},{\"../../lib\":503,\"../color\":366,\"../drawing\":388,\"@plotly/d3\":58}],471:[function(t,e,r){\"use strict\";e.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\"}}},{}],472:[function(t,e,r){\"use strict\";e.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(\" \")}}},{}],473:[function(t,e,r){\"use strict\";e.exports={INCREASING:{COLOR:\"#3D9970\",SYMBOL:\"\\u25b2\"},DECREASING:{COLOR:\"#FF4136\",SYMBOL:\"\\u25bc\"}}},{}],474:[function(t,e,r){\"use strict\";e.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\"}},{}],475:[function(t,e,r){\"use strict\";e.exports={COMPARISON_OPS:[\"=\",\"!=\",\"<\",\">=\",\">\",\"<=\"],COMPARISON_OPS2:[\"=\",\"<\",\">=\",\">\",\"<=\"],INTERVAL_OPS:[\"[]\",\"()\",\"[)\",\"(]\",\"][\",\")(\",\"](\",\")[\"],SET_OPS:[\"{}\",\"}{\"],CONSTRAINT_REDUCTION:{\"=\":\"=\",\"<\":\"<\",\"<=\":\"<\",\">\":\">\",\">=\":\">\",\"[]\":\"[]\",\"()\":\"[]\",\"[)\":\"[]\",\"(]\":\"[]\",\"][\":\"][\",\")(\":\"][\",\"](\":\"][\",\")[\":\"][\"}}},{}],476:[function(t,e,r){\"use strict\";e.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]}},{}],477:[function(t,e,r){\"use strict\";e.exports={circle:\"\\u25cf\",\"circle-open\":\"\\u25cb\",square:\"\\u25a0\",\"square-open\":\"\\u25a1\",diamond:\"\\u25c6\",\"diamond-open\":\"\\u25c7\",cross:\"+\",x:\"\\u274c\"}},{}],478:[function(t,e,r){\"use strict\";e.exports={SHOW_PLACEHOLDER:100,HIDE_PLACEHOLDER:1e3,DESELECTDIM:.2}},{}],479:[function(t,e,r){\"use strict\";e.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:\"\\u2212\"}},{}],480:[function(t,e,r){\"use strict\";r.xmlns=\"http://www.w3.org/2000/xmlns/\",r.svg=\"http://www.w3.org/2000/svg\",r.xlink=\"http://www.w3.org/1999/xlink\",r.svgAttrs={xmlns:r.svg,\"xmlns:xlink\":r.xlink}},{}],481:[function(t,e,r){\"use strict\";r.version=t(\"./version\").version,t(\"native-promise-only\"),t(\"../build/plotcss\");for(var n=t(\"./registry\"),i=r.register=n.register,a=t(\"./plot_api\"),o=Object.keys(a),s=0;s<o.length;s++){var l=o[s];\"_\"!==l.charAt(0)&&(r[l]=a[l]),i({moduleType:\"apiMethod\",name:l,fn:a[l]})}i(t(\"./traces/scatter\")),i([t(\"./components/legend\"),t(\"./components/fx\"),t(\"./components/annotations\"),t(\"./components/annotations3d\"),t(\"./components/shapes\"),t(\"./components/images\"),t(\"./components/updatemenus\"),t(\"./components/sliders\"),t(\"./components/rangeslider\"),t(\"./components/rangeselector\"),t(\"./components/grid\"),t(\"./components/errorbars\"),t(\"./components/colorscale\"),t(\"./components/colorbar\"),t(\"./components/modebar\")]),i([t(\"./locale-en\"),t(\"./locale-en-us\")]),window.PlotlyLocales&&Array.isArray(window.PlotlyLocales)&&(i(window.PlotlyLocales),delete window.PlotlyLocales),r.Icons=t(\"./fonts/ploticon\");var c=t(\"./components/fx\"),u=t(\"./plots/plots\");r.Plots={resize:u.resize,graphJson:u.graphJson,sendDataToCloud:u.sendDataToCloud},r.Fx={hover:c.hover,unhover:c.unhover,loneHover:c.loneHover,loneUnhover:c.loneUnhover},r.Snapshot=t(\"./snapshot\"),r.PlotSchema=t(\"./plot_api/plot_schema\")},{\"../build/plotcss\":1,\"./components/annotations\":357,\"./components/annotations3d\":362,\"./components/colorbar\":372,\"./components/colorscale\":378,\"./components/errorbars\":394,\"./components/fx\":406,\"./components/grid\":410,\"./components/images\":415,\"./components/legend\":423,\"./components/modebar\":429,\"./components/rangeselector\":437,\"./components/rangeslider\":444,\"./components/shapes\":458,\"./components/sliders\":463,\"./components/updatemenus\":469,\"./fonts/ploticon\":482,\"./locale-en\":534,\"./locale-en-us\":533,\"./plot_api\":538,\"./plot_api/plot_schema\":542,\"./plots/plots\":619,\"./registry\":638,\"./snapshot\":643,\"./traces/scatter\":939,\"./version\":1123,\"native-promise-only\":245}],482:[function(t,e,r){\"use strict\";e.exports={undo:{width:857.1,height:1e3,path:\"m857 350q0-87-34-166t-91-137-137-92-166-34q-96 0-183 41t-147 114q-4 6-4 13t5 11l76 77q6 5 14 5 9-1 13-7 41-53 100-82t126-29q58 0 110 23t92 61 61 91 22 111-22 111-61 91-92 61-110 23q-55 0-105-20t-90-57l77-77q17-16 8-38-10-23-33-23h-250q-15 0-25 11t-11 25v250q0 24 22 33 22 10 39-8l72-72q60 57 137 88t159 31q87 0 166-34t137-92 91-137 34-166z\",transform:\"matrix(1 0 0 -1 0 850)\"},home:{width:928.6,height:1e3,path:\"m786 296v-267q0-15-11-26t-25-10h-214v214h-143v-214h-214q-15 0-25 10t-11 26v267q0 1 0 2t0 2l321 264 321-264q1-1 1-4z m124 39l-34-41q-5-5-12-6h-2q-7 0-12 3l-386 322-386-322q-7-4-13-4-7 2-12 7l-35 41q-4 5-3 13t6 12l401 334q18 15 42 15t43-15l136-114v109q0 8 5 13t13 5h107q8 0 13-5t5-13v-227l122-102q5-5 6-12t-4-13z\",transform:\"matrix(1 0 0 -1 0 850)\"},\"camera-retro\":{width:1e3,height:1e3,path:\"m518 386q0 8-5 13t-13 5q-37 0-63-27t-26-63q0-8 5-13t13-5 12 5 5 13q0 23 16 38t38 16q8 0 13 5t5 13z m125-73q0-59-42-101t-101-42-101 42-42 101 42 101 101 42 101-42 42-101z m-572-320h858v71h-858v-71z m643 320q0 89-62 152t-152 62-151-62-63-152 63-151 151-63 152 63 62 151z m-571 358h214v72h-214v-72z m-72-107h858v143h-462l-36-71h-360v-72z m929 143v-714q0-30-21-51t-50-21h-858q-29 0-50 21t-21 51v714q0 30 21 51t50 21h858q29 0 50-21t21-51z\",transform:\"matrix(1 0 0 -1 0 850)\"},zoombox:{width:1e3,height:1e3,path:\"m1000-25l-250 251c40 63 63 138 63 218 0 224-182 406-407 406-224 0-406-182-406-406s183-406 407-406c80 0 155 22 218 62l250-250 125 125z m-812 250l0 438 437 0 0-438-437 0z m62 375l313 0 0-312-313 0 0 312z\",transform:\"matrix(1 0 0 -1 0 850)\"},pan:{width:1e3,height:1e3,path:\"m1000 350l-187 188 0-125-250 0 0 250 125 0-188 187-187-187 125 0 0-250-250 0 0 125-188-188 186-187 0 125 252 0 0-250-125 0 187-188 188 188-125 0 0 250 250 0 0-126 187 188z\",transform:\"matrix(1 0 0 -1 0 850)\"},zoom_plus:{width:875,height:1e3,path:\"m1 787l0-875 875 0 0 875-875 0z m687-500l-187 0 0-187-125 0 0 187-188 0 0 125 188 0 0 187 125 0 0-187 187 0 0-125z\",transform:\"matrix(1 0 0 -1 0 850)\"},zoom_minus:{width:875,height:1e3,path:\"m0 788l0-876 875 0 0 876-875 0z m688-500l-500 0 0 125 500 0 0-125z\",transform:\"matrix(1 0 0 -1 0 850)\"},autoscale:{width:1e3,height:1e3,path:\"m250 850l-187 0-63 0 0-62 0-188 63 0 0 188 187 0 0 62z m688 0l-188 0 0-62 188 0 0-188 62 0 0 188 0 62-62 0z m-875-938l0 188-63 0 0-188 0-62 63 0 187 0 0 62-187 0z m875 188l0-188-188 0 0-62 188 0 62 0 0 62 0 188-62 0z m-125 188l-1 0-93-94-156 156 156 156 92-93 2 0 0 250-250 0 0-2 93-92-156-156-156 156 94 92 0 2-250 0 0-250 0 0 93 93 157-156-157-156-93 94 0 0 0-250 250 0 0 0-94 93 156 157 156-157-93-93 0 0 250 0 0 250z\",transform:\"matrix(1 0 0 -1 0 850)\"},tooltip_basic:{width:1500,height:1e3,path:\"m375 725l0 0-375-375 375-374 0-1 1125 0 0 750-1125 0z\",transform:\"matrix(1 0 0 -1 0 850)\"},tooltip_compare:{width:1125,height:1e3,path:\"m187 786l0 2-187-188 188-187 0 0 937 0 0 373-938 0z m0-499l0 1-187-188 188-188 0 0 937 0 0 376-938-1z\",transform:\"matrix(1 0 0 -1 0 850)\"},plotlylogo:{width:1542,height:1e3,path:\"m0-10h182v-140h-182v140z m228 146h183v-286h-183v286z m225 714h182v-1000h-182v1000z m225-285h182v-715h-182v715z m225 142h183v-857h-183v857z m231-428h182v-429h-182v429z m225-291h183v-138h-183v138z\",transform:\"matrix(1 0 0 -1 0 850)\"},\"z-axis\":{width:1e3,height:1e3,path:\"m833 5l-17 108v41l-130-65 130-66c0 0 0 38 0 39 0-1 36-14 39-25 4-15-6-22-16-30-15-12-39-16-56-20-90-22-187-23-279-23-261 0-341 34-353 59 3 60 228 110 228 110-140-8-351-35-351-116 0-120 293-142 474-142 155 0 477 22 477 142 0 50-74 79-163 96z m-374 94c-58-5-99-21-99-40 0-24 65-43 144-43 79 0 143 19 143 43 0 19-42 34-98 40v216h87l-132 135-133-135h88v-216z m167 515h-136v1c16 16 31 34 46 52l84 109v54h-230v-71h124v-1c-16-17-28-32-44-51l-89-114v-51h245v72z\",transform:\"matrix(1 0 0 -1 0 850)\"},\"3d_rotate\":{width:1e3,height:1e3,path:\"m922 660c-5 4-9 7-14 11-359 263-580-31-580-31l-102 28 58-400c0 1 1 1 2 2 118 108 351 249 351 249s-62 27-100 42c88 83 222 183 347 122 16-8 30-17 44-27-2 1-4 2-6 4z m36-329c0 0 64 229-88 296-62 27-124 14-175-11 157-78 225-208 249-266 8-19 11-31 11-31 2 5 6 15 11 32-5-13-8-20-8-20z m-775-239c70-31 117-50 198-32-121 80-199 346-199 346l-96-15-58-12c0 0 55-226 155-287z m603 133l-317-139c0 0 4-4 19-14 7-5 24-15 24-15s-177-147-389 4c235-287 536-112 536-112l31-22 100 299-4-1z m-298-153c6-4 14-9 24-15 0 0-17 10-24 15z\",transform:\"matrix(1 0 0 -1 0 850)\"},camera:{width:1e3,height:1e3,path:\"m500 450c-83 0-150-67-150-150 0-83 67-150 150-150 83 0 150 67 150 150 0 83-67 150-150 150z m400 150h-120c-16 0-34 13-39 29l-31 93c-6 15-23 28-40 28h-340c-16 0-34-13-39-28l-31-94c-6-15-23-28-40-28h-120c-55 0-100-45-100-100v-450c0-55 45-100 100-100h800c55 0 100 45 100 100v450c0 55-45 100-100 100z m-400-550c-138 0-250 112-250 250 0 138 112 250 250 250 138 0 250-112 250-250 0-138-112-250-250-250z m365 380c-19 0-35 16-35 35 0 19 16 35 35 35 19 0 35-16 35-35 0-19-16-35-35-35z\",transform:\"matrix(1 0 0 -1 0 850)\"},movie:{width:1e3,height:1e3,path:\"m938 413l-188-125c0 37-17 71-44 94 64 38 107 107 107 187 0 121-98 219-219 219-121 0-219-98-219-219 0-61 25-117 66-156h-115c30 33 49 76 49 125 0 103-84 187-187 187s-188-84-188-187c0-57 26-107 65-141-38-22-65-62-65-109v-250c0-70 56-126 125-126h500c69 0 125 56 125 126l188-126c34 0 62 28 62 63v375c0 35-28 63-62 63z m-750 0c-69 0-125 56-125 125s56 125 125 125 125-56 125-125-56-125-125-125z m406-1c-87 0-157 70-157 157 0 86 70 156 157 156s156-70 156-156-70-157-156-157z\",transform:\"matrix(1 0 0 -1 0 850)\"},question:{width:857.1,height:1e3,path:\"m500 82v107q0 8-5 13t-13 5h-107q-8 0-13-5t-5-13v-107q0-8 5-13t13-5h107q8 0 13 5t5 13z m143 375q0 49-31 91t-77 65-95 23q-136 0-207-119-9-14 4-24l74-55q4-4 10-4 9 0 14 7 30 38 48 51 19 14 48 14 27 0 48-15t21-33q0-21-11-34t-38-25q-35-16-65-48t-29-70v-20q0-8 5-13t13-5h107q8 0 13 5t5 13q0 10 12 27t30 28q18 10 28 16t25 19 25 27 16 34 7 45z m214-107q0-117-57-215t-156-156-215-58-216 58-155 156-58 215 58 215 155 156 216 58 215-58 156-156 57-215z\",transform:\"matrix(1 0 0 -1 0 850)\"},disk:{width:857.1,height:1e3,path:\"m214-7h429v214h-429v-214z m500 0h72v500q0 8-6 21t-11 20l-157 156q-5 6-19 12t-22 5v-232q0-22-15-38t-38-16h-322q-22 0-37 16t-16 38v232h-72v-714h72v232q0 22 16 38t37 16h465q22 0 38-16t15-38v-232z m-214 518v178q0 8-5 13t-13 5h-107q-7 0-13-5t-5-13v-178q0-8 5-13t13-5h107q7 0 13 5t5 13z m357-18v-518q0-22-15-38t-38-16h-750q-23 0-38 16t-16 38v750q0 22 16 38t38 16h517q23 0 50-12t42-26l156-157q16-15 27-42t11-49z\",transform:\"matrix(1 0 0 -1 0 850)\"},drawopenpath:{width:70,height:70,path:\"M33.21,85.65a7.31,7.31,0,0,1-2.59-.48c-8.16-3.11-9.27-19.8-9.88-41.3-.1-3.58-.19-6.68-.35-9-.15-2.1-.67-3.48-1.43-3.79-2.13-.88-7.91,2.32-12,5.86L3,32.38c1.87-1.64,11.55-9.66,18.27-6.9,2.13.87,4.75,3.14,5.17,9,.17,2.43.26,5.59.36,9.25a224.17,224.17,0,0,0,1.5,23.4c1.54,10.76,4,12.22,4.48,12.4.84.32,2.79-.46,5.76-3.59L43,80.07C41.53,81.57,37.68,85.64,33.21,85.65ZM74.81,69a11.34,11.34,0,0,0,6.09-6.72L87.26,44.5,74.72,32,56.9,38.35c-2.37.86-5.57,3.42-6.61,6L38.65,72.14l8.42,8.43ZM55,46.27a7.91,7.91,0,0,1,3.64-3.17l14.8-5.3,8,8L76.11,60.6l-.06.19a6.37,6.37,0,0,1-3,3.43L48.25,74.59,44.62,71Zm16.57,7.82A6.9,6.9,0,1,0,64.64,61,6.91,6.91,0,0,0,71.54,54.09Zm-4.05,0a2.85,2.85,0,1,1-2.85-2.85A2.86,2.86,0,0,1,67.49,54.09Zm-4.13,5.22L60.5,56.45,44.26,72.7l2.86,2.86ZM97.83,35.67,84.14,22l-8.57,8.57L89.26,44.24Zm-13.69-8,8,8-2.85,2.85-8-8Z\",transform:\"matrix(1 0 0 1 -15 -15)\"},drawclosedpath:{width:90,height:90,path:\"M88.41,21.12a26.56,26.56,0,0,0-36.18,0l-2.07,2-2.07-2a26.57,26.57,0,0,0-36.18,0,23.74,23.74,0,0,0,0,34.8L48,90.12a3.22,3.22,0,0,0,4.42,0l36-34.21a23.73,23.73,0,0,0,0-34.79ZM84,51.24,50.16,83.35,16.35,51.25a17.28,17.28,0,0,1,0-25.47,20,20,0,0,1,27.3,0l4.29,4.07a3.23,3.23,0,0,0,4.44,0l4.29-4.07a20,20,0,0,1,27.3,0,17.27,17.27,0,0,1,0,25.46ZM66.76,47.68h-33v6.91h33ZM53.35,35H46.44V68h6.91Z\",transform:\"matrix(1 0 0 1 -5 -5)\"},lasso:{width:1031,height:1e3,path:\"m1018 538c-36 207-290 336-568 286-277-48-473-256-436-463 10-57 36-108 76-151-13-66 11-137 68-183 34-28 75-41 114-42l-55-70 0 0c-2-1-3-2-4-3-10-14-8-34 5-45 14-11 34-8 45 4 1 1 2 3 2 5l0 0 113 140c16 11 31 24 45 40 4 3 6 7 8 11 48-3 100 0 151 9 278 48 473 255 436 462z m-624-379c-80 14-149 48-197 96 42 42 109 47 156 9 33-26 47-66 41-105z m-187-74c-19 16-33 37-39 60 50-32 109-55 174-68-42-25-95-24-135 8z m360 75c-34-7-69-9-102-8 8 62-16 128-68 170-73 59-175 54-244-5-9 20-16 40-20 61-28 159 121 317 333 354s407-60 434-217c28-159-121-318-333-355z\",transform:\"matrix(1 0 0 -1 0 850)\"},selectbox:{width:1e3,height:1e3,path:\"m0 850l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z m285 0l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z m-857-286l0-143 143 0 0 143-143 0z m857 0l0-143 143 0 0 143-143 0z m-857-285l0-143 143 0 0 143-143 0z m857 0l0-143 143 0 0 143-143 0z m-857-286l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z m285 0l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z\",transform:\"matrix(1 0 0 -1 0 850)\"},drawline:{width:70,height:70,path:\"M60.64,62.3a11.29,11.29,0,0,0,6.09-6.72l6.35-17.72L60.54,25.31l-17.82,6.4c-2.36.86-5.57,3.41-6.6,6L24.48,65.5l8.42,8.42ZM40.79,39.63a7.89,7.89,0,0,1,3.65-3.17l14.79-5.31,8,8L61.94,54l-.06.19a6.44,6.44,0,0,1-3,3.43L34.07,68l-3.62-3.63Zm16.57,7.81a6.9,6.9,0,1,0-6.89,6.9A6.9,6.9,0,0,0,57.36,47.44Zm-4,0a2.86,2.86,0,1,1-2.85-2.85A2.86,2.86,0,0,1,53.32,47.44Zm-4.13,5.22L46.33,49.8,30.08,66.05l2.86,2.86ZM83.65,29,70,15.34,61.4,23.9,75.09,37.59ZM70,21.06l8,8-2.84,2.85-8-8ZM87,80.49H10.67V87H87Z\",transform:\"matrix(1 0 0 1 -15 -15)\"},drawrect:{width:80,height:80,path:\"M78,22V79H21V22H78m9-9H12V88H87V13ZM68,46.22H31V54H68ZM53,32H45.22V69H53Z\",transform:\"matrix(1 0 0 1 -10 -10)\"},drawcircle:{width:80,height:80,path:\"M50,84.72C26.84,84.72,8,69.28,8,50.3S26.84,15.87,50,15.87,92,31.31,92,50.3,73.16,84.72,50,84.72Zm0-60.59c-18.6,0-33.74,11.74-33.74,26.17S31.4,76.46,50,76.46,83.74,64.72,83.74,50.3,68.6,24.13,50,24.13Zm17.15,22h-34v7.11h34Zm-13.8-13H46.24v34h7.11Z\",transform:\"matrix(1 0 0 1 -10 -10)\"},eraseshape:{width:80,height:80,path:\"M82.77,78H31.85L6,49.57,31.85,21.14H82.77a8.72,8.72,0,0,1,8.65,8.77V69.24A8.72,8.72,0,0,1,82.77,78ZM35.46,69.84H82.77a.57.57,0,0,0,.49-.6V29.91a.57.57,0,0,0-.49-.61H35.46L17,49.57Zm32.68-34.7-24,24,5,5,24-24Zm-19,.53-5,5,24,24,5-5Z\",transform:\"matrix(1 0 0 1 -10 -10)\"},spikeline:{width:1e3,height:1e3,path:\"M512 409c0-57-46-104-103-104-57 0-104 47-104 104 0 57 47 103 104 103 57 0 103-46 103-103z m-327-39l92 0 0 92-92 0z m-185 0l92 0 0 92-92 0z m370-186l92 0 0 93-92 0z m0-184l92 0 0 92-92 0z\",transform:\"matrix(1.5 0 0 -1.5 0 850)\"},pencil:{width:1792,height:1792,path:\"M491 1536l91-91-235-235-91 91v107h128v128h107zm523-928q0-22-22-22-10 0-17 7l-542 542q-7 7-7 17 0 22 22 22 10 0 17-7l542-542q7-7 7-17zm-54-192l416 416-832 832h-416v-416zm683 96q0 53-37 90l-166 166-416-416 166-165q36-38 90-38 53 0 91 38l235 234q37 39 37 91z\",transform:\"matrix(1 0 0 1 0 1)\"},newplotlylogo:{name:\"newplotlylogo\",svg:\"<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 132 132'><defs><style>.cls-1 {fill: #3f4f75;} .cls-2 {fill: #80cfbe;} .cls-3 {fill: #fff;}</style></defs><title>plotly-logomark</title><g id='symbol'><rect class='cls-1' width='132' height='132' rx='6' ry='6'/><circle class='cls-2' cx='78' cy='54' r='6'/><circle class='cls-2' cx='102' cy='30' r='6'/><circle class='cls-2' cx='78' cy='30' r='6'/><circle class='cls-2' cx='54' cy='30' r='6'/><circle class='cls-2' cx='30' cy='30' r='6'/><circle class='cls-2' cx='30' cy='54' r='6'/><path class='cls-3' d='M30,72a6,6,0,0,0-6,6v24a6,6,0,0,0,12,0V78A6,6,0,0,0,30,72Z'/><path class='cls-3' d='M78,72a6,6,0,0,0-6,6v24a6,6,0,0,0,12,0V78A6,6,0,0,0,78,72Z'/><path class='cls-3' d='M54,48a6,6,0,0,0-6,6v48a6,6,0,0,0,12,0V54A6,6,0,0,0,54,48Z'/><path class='cls-3' d='M102,48a6,6,0,0,0-6,6v48a6,6,0,0,0,12,0V54A6,6,0,0,0,102,48Z'/></g></svg>\"}}},{}],483:[function(t,e,r){\"use strict\";r.isLeftAnchor=function(t){return\"left\"===t.xanchor||\"auto\"===t.xanchor&&t.x<=1/3},r.isCenterAnchor=function(t){return\"center\"===t.xanchor||\"auto\"===t.xanchor&&t.x>1/3&&t.x<2/3},r.isRightAnchor=function(t){return\"right\"===t.xanchor||\"auto\"===t.xanchor&&t.x>=2/3},r.isTopAnchor=function(t){return\"top\"===t.yanchor||\"auto\"===t.yanchor&&t.y>=2/3},r.isMiddleAnchor=function(t){return\"middle\"===t.yanchor||\"auto\"===t.yanchor&&t.y>1/3&&t.y<2/3},r.isBottomAnchor=function(t){return\"bottom\"===t.yanchor||\"auto\"===t.yanchor&&t.y<=1/3}},{}],484:[function(t,e,r){\"use strict\";var n=t(\"./mod\"),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]<e[1]?(r=e[0],n=e[1]):(r=e[1],n=e[0]),(r=i(r,s))>(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,c){i=i||0,a=a||0;var u,f,h,p,d,m=l([r,n]);function g(t,e){return[t*Math.cos(e)+i,a-t*Math.sin(e)]}m?(u=0,f=o,h=s):r<n?(u=r,h=n):(u=n,h=r),t<e?(p=t,d=e):(p=e,d=t);var v,y=Math.abs(h-u)<=o?0:1;function x(t,e,r){return\"A\"+[t,t]+\" \"+[0,y,r]+\" \"+g(t,e)}return m?v=null===p?\"M\"+g(d,u)+x(d,f,0)+x(d,h,0)+\"Z\":\"M\"+g(p,u)+x(p,f,0)+x(p,h,0)+\"ZM\"+g(d,u)+x(d,f,1)+x(d,h,1)+\"Z\":null===p?(v=\"M\"+g(d,u)+x(d,h,0),c&&(v+=\"L0,0Z\")):v=\"M\"+g(p,u)+\"L\"+g(d,u)+x(d,h,0)+\"L\"+g(p,h)+x(p,u,1)+\"Z\",v}e.exports={deg2rad:function(t){return t/180*o},rad2deg:function(t){return t/o*180},angleDelta:c,angleDist:function(t,e){return Math.abs(c(t,e))},isFullCircle:l,isAngleInsideSector:u,isPtInsideSector:function(t,e,r,n){return!!u(e,n)&&(r[0]<r[1]?(i=r[0],a=r[1]):(i=r[1],a=r[0]),t>=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)}}},{\"./mod\":510}],485:[function(t,e,r){\"use strict\";var n=Array.isArray,i=ArrayBuffer,a=DataView;function o(t){return i.isView(t)&&!(t instanceof a)}function s(t){return n(t)||o(t)}function l(t,e,r){if(s(t)){if(s(t[0])){for(var n=r,i=0;i<t.length;i++)n=e(n,t[i].length);return n}return t.length}return 0}r.isTypedArray=o,r.isArrayOrTypedArray=s,r.isArray1D=function(t){return!s(t[0])},r.ensureArray=function(t,e){return n(t)||(t=[]),t.length=e,t},r.concat=function(){var t,e,r,i,a,o,s,l,c=[],u=!0,f=0;for(r=0;r<arguments.length;r++)(o=(i=arguments[r]).length)&&(e?c.push(i):(e=i,a=o),n(i)?t=!1:(u=!1,f?t!==i.constructor&&(t=!1):t=i.constructor),f+=o);if(!f)return[];if(!c.length)return e;if(u)return e.concat.apply(e,c);if(t){for((s=new t(f)).set(e),r=0;r<c.length;r++)i=c[r],s.set(i,a),a+=i.length;return s}for(s=new Array(f),l=0;l<e.length;l++)s[l]=e[l];for(r=0;r<c.length;r++){for(i=c[r],l=0;l<i.length;l++)s[a+l]=i[l];a+=l}return s},r.maxRowLength=function(t){return l(t,Math.max,0)},r.minRowLength=function(t){return l(t,Math.min,1/0)}},{}],486:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../constants/numerical\").BADNUM,a=/^['\"%,$#\\s']+|[, ]|['\"%,$#\\s']+$/g;e.exports=function(t){return\"string\"==typeof t&&(t=t.replace(a,\"\")),n(t)?Number(t):i}},{\"../constants/numerical\":479,\"fast-isnumeric\":190}],487:[function(t,e,r){\"use strict\";e.exports=function(t){var e=t._fullLayout;e._glcanvas&&e._glcanvas.size()&&e._glcanvas.each((function(t){t.regl&&t.regl.clear({color:!0,depth:!0})}))}},{}],488:[function(t,e,r){\"use strict\";e.exports=function(t){t._responsiveChartHandler&&(window.removeEventListener(\"resize\",t._responsiveChartHandler),delete t._responsiveChartHandler)}},{}],489:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"tinycolor2\"),a=t(\"../plots/attributes\"),o=t(\"../components/colorscale/scales\"),s=t(\"../components/color\"),l=t(\"../constants/interactions\").DESELECTDIM,c=t(\"./nested_property\"),u=t(\"./regex\").counter,f=t(\"./mod\").modHalf,h=t(\"./array\").isArrayOrTypedArray;function p(t,e){var n=r.valObjectMeta[e.valType];if(e.arrayOk&&h(t))return!0;if(n.validateFunction)return n.validateFunction(t,e);var i={},a=i,o={set:function(t){a=t}};return n.coerceFunction(t,o,i,e),a!==i}r.valObjectMeta={data_array:{coerceFunction:function(t,e,r){h(t)?e.set(t):void 0!==r&&e.set(r)}},enumerated:{coerceFunction:function(t,e,r,n){n.coerceNumber&&(t=+t),-1===n.values.indexOf(t)?e.set(r):e.set(t)},validateFunction:function(t,e){e.coerceNumber&&(t=+t);for(var r=e.values,n=0;n<r.length;n++){var i=String(r[n]);if(\"/\"===i.charAt(0)&&\"/\"===i.charAt(i.length-1)){if(new RegExp(i.substr(1,i.length-2)).test(t))return!0}else if(t===r[n])return!0}return!1}},boolean:{coerceFunction:function(t,e,r){!0===t||!1===t?e.set(t):e.set(r)}},number:{coerceFunction:function(t,e,r,i){!n(t)||void 0!==i.min&&t<i.min||void 0!==i.max&&t>i.max?e.set(r):e.set(+t)}},integer:{coerceFunction:function(t,e,r,i){t%1||!n(t)||void 0!==i.min&&t<i.min||void 0!==i.max&&t>i.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||u(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&&!!u(r).test(t)}},flaglist:{coerceFunction:function(t,e,r,n){if(\"string\"==typeof t)if(-1===(n.extras||[]).indexOf(t)){for(var i=t.split(\"+\"),a=0;a<i.length;){var o=i[a];-1===n.flags.indexOf(o)||i.indexOf(o)<a?i.splice(a,1):a++}i.length?e.set(i.join(\"+\")):e.set(r)}else e.set(t);else e.set(r)}},any:{coerceFunction:function(t,e,r){void 0===t?e.set(r):e.set(t)}},info_array:{coerceFunction:function(t,e,n,i){function a(t,e,n){var i,a={set:function(t){i=t}};return void 0===n&&(n=e.dflt),r.valObjectMeta[e.valType].coerceFunction(t,a,n,e),i}var o=2===i.dimensions||\"1-2\"===i.dimensions&&Array.isArray(t)&&Array.isArray(t[0]);if(Array.isArray(t)){var s,l,c,u,f,h,p=i.items,d=[],m=Array.isArray(p),g=m&&o&&Array.isArray(p[0]),v=o&&m&&!g,y=m&&!v?p.length:t.length;if(n=Array.isArray(n)?n:[],o)for(s=0;s<y;s++)for(d[s]=[],c=Array.isArray(t[s])?t[s]:[],f=v?p.length:m?p[s].length:c.length,l=0;l<f;l++)u=v?p[l]:m?p[s][l]:p,void 0!==(h=a(c[l],u,(n[s]||[])[l]))&&(d[s][l]=h);else for(s=0;s<y;s++)void 0!==(h=a(t[s],m?p[s]:p,n[s]))&&(d[s]=h);e.set(d)}else e.set(n)},validateFunction:function(t,e){if(!Array.isArray(t))return!1;var r=e.items,n=Array.isArray(r),i=2===e.dimensions;if(!e.freeLength&&t.length!==r.length)return!1;for(var a=0;a<t.length;a++)if(i){if(!Array.isArray(t[a])||!e.freeLength&&t[a].length!==r[a].length)return!1;for(var o=0;o<t[a].length;o++)if(!p(t[a][o],n?r[a][o]:r))return!1}else if(!p(t[a],n?r[a]:r))return!1;return!0}}},r.coerce=function(t,e,n,i,a){var o=c(n,i).get(),s=c(t,i),l=c(e,i),u=s.get(),f=e._template;if(void 0===u&&f&&(u=c(f,i).get(),f=0),void 0===a&&(a=o.dflt),o.arrayOk&&h(u))return l.set(u),u;var d=r.valObjectMeta[o.valType].coerceFunction;d(u,l,a,o);var m=l.get();return f&&m===a&&!p(u,o)&&(d(u=c(f,i).get(),l,a,o),m=l.get()),m},r.coerce2=function(t,e,n,i,a){var o=c(t,i),s=r.coerce(t,e,n,i,a),l=o.get();return null!=l&&s},r.coerceFont=function(t,e,r){var n={};return r=r||{},n.family=t(e+\".family\",r.family),n.size=t(e+\".size\",r.size),n.color=t(e+\".color\",r.color),n},r.coercePattern=function(t,e,r,n){if(t(e+\".shape\")){t(e+\".solidity\"),t(e+\".size\");var i=\"overlay\"===t(e+\".fillmode\");if(!n){var a=t(e+\".bgcolor\",i?r:void 0);t(e+\".fgcolor\",i?s.contrast(a):r)}t(e+\".fgopacity\",i?.5:1)}},r.coerceHoverinfo=function(t,e,n){var i,o=e._module.attributes,s=o.hoverinfo?o:a,l=s.hoverinfo;if(1===n._dataLength){var c=\"all\"===l.dflt?l.flags.slice():l.dflt.split(\"+\");c.splice(c.indexOf(\"name\"),1),i=c.join(\"+\")}return r.coerce(t,e,s,\"hoverinfo\",i)},r.coerceSelectionMarkerOpacity=function(t,e){if(t.marker){var r,n,i=t.marker.opacity;if(void 0!==i)h(i)||t.selected||t.unselected||(r=i,n=l*i),e(\"selected.marker.opacity\",r),e(\"unselected.marker.opacity\",n)}},r.validate=p},{\"../components/color\":366,\"../components/colorscale/scales\":381,\"../constants/interactions\":478,\"../plots/attributes\":550,\"./array\":485,\"./mod\":510,\"./nested_property\":511,\"./regex\":520,\"fast-isnumeric\":190,tinycolor2:312}],490:[function(t,e,r){\"use strict\";var n,i,a=t(\"d3-time-format\").timeFormat,o=t(\"fast-isnumeric\"),s=t(\"./loggers\"),l=t(\"./mod\").mod,c=t(\"../constants/numerical\"),u=c.BADNUM,f=c.ONEDAY,h=c.ONEHOUR,p=c.ONEMIN,d=c.ONESEC,m=c.EPOCHJD,g=t(\"../registry\"),v=t(\"d3-time-format\").utcFormat,y=/^\\s*(-?\\d\\d\\d\\d|\\d\\d)(-(\\d?\\d)(-(\\d?\\d)([ Tt]([01]?\\d|2[0-3])(:([0-5]\\d)(:([0-5]\\d(\\.\\d+)?))?(Z|z|[+\\-]\\d\\d(:?\\d\\d)?)?)?)?)?)?\\s*$/m,x=/^\\s*(-?\\d\\d\\d\\d|\\d\\d)(-(\\d?\\di?)(-(\\d?\\d)([ Tt]([01]?\\d|2[0-3])(:([0-5]\\d)(:([0-5]\\d(\\.\\d+)?))?(Z|z|[+\\-]\\d\\d(:?\\d\\d)?)?)?)?)?)?\\s*$/m,b=(new Date).getFullYear()-70;function _(t){return t&&g.componentsRegistry.calendars&&\"string\"==typeof t&&\"gregorian\"!==t}function w(t,e){return String(t+Math.pow(10,e)).substr(1)}r.dateTick0=function(t,e){var n=function(t,e){return _(t)?e?g.getComponentMethod(\"calendars\",\"CANONICAL_SUNDAY\")[t]:g.getComponentMethod(\"calendars\",\"CANONICAL_TICK\")[t]:e?\"2000-01-02\":\"2000-01-01\"}(t,!!e);if(e<2)return n;var i=r.dateTime2ms(n,t);return i+=f*(e-1),r.ms2DateTime(i,0,t)},r.dfltRange=function(t){return _(t)?g.getComponentMethod(\"calendars\",\"DFLTRANGE\")[t]:[\"2000-01-01\",\"2001-01-01\"]},r.isJSDate=function(t){return\"object\"==typeof t&&null!==t&&\"function\"==typeof t.getTime},r.dateTime2ms=function(t,e){if(r.isJSDate(t)){var a=t.getTimezoneOffset()*p,o=(t.getUTCMinutes()-t.getMinutes())*p+(t.getUTCSeconds()-t.getSeconds())*d+(t.getUTCMilliseconds()-t.getMilliseconds());if(o){var s=3*p;a=a-s/2+l(o-a+s/2,s)}return(t=Number(t)-a)>=n&&t<=i?t:u}if(\"string\"!=typeof t&&\"number\"!=typeof t)return u;t=String(t);var c=_(e),v=t.charAt(0);!c||\"G\"!==v&&\"g\"!==v||(t=t.substr(1),e=\"\");var w=c&&\"chinese\"===e.substr(0,7),T=t.match(w?x:y);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),L=Number(T[11]||0);if(c){if(2===k.length)return u;var C;k=Number(k);try{var P=g.getComponentMethod(\"calendars\",\"getCal\")(e);if(w){var I=\"i\"===A.charAt(A.length-1);A=parseInt(A,10),C=P.newDate(k,P.toMonthIndex(k,A,I),M)}else C=P.newDate(k,Number(A),M)}catch(t){return u}return C?(C.toJD()-m)*f+S*h+E*p+L*d:u}k=2===k.length?(Number(k)+2e3-b)%100+b:Number(k),A-=1;var O=new Date(Date.UTC(2e3,A,M,S,E));return O.setUTCFullYear(k),O.getUTCMonth()!==A||O.getUTCDate()!==M?u:O.getTime()+L*d},n=r.MIN_MS=r.dateTime2ms(\"-9999\"),i=r.MAX_MS=r.dateTime2ms(\"9999-12-31 23:59:59.9999\"),r.isDateTime=function(t,e){return r.dateTime2ms(t,e)!==u};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}r.ms2DateTime=function(t,e,r){if(\"number\"!=typeof t||!(t>=n&&t<=i))return u;e||(e=0);var a,o,s,c,y,x,b=Math.floor(10*l(t+.05,1)),w=Math.round(t-b/10);if(_(r)){var S=Math.floor(w/f)+m,E=Math.floor(l(t,f));try{a=g.getComponentMethod(\"calendars\",\"getCal\")(r).fromJD(S).formatDate(\"yyyy-mm-dd\")}catch(t){a=v(\"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<T?Math.floor(E/h):0,s=e<T?Math.floor(E%h/p):0,c=e<k?Math.floor(E%p/d):0,y=e<A?E%d*10+b:0}else x=new Date(w),a=v(\"%Y-%m-%d\")(x),o=e<T?x.getUTCHours():0,s=e<T?x.getUTCMinutes():0,c=e<k?x.getUTCSeconds():0,y=e<A?10*x.getUTCMilliseconds()+b:0;return M(a,o,s,c,y)},r.ms2DateTimeLocal=function(t){if(!(t>=n+f&&t<=i-f))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)},r.cleanDate=function(t,e,n){if(t===u)return e;if(r.isJSDate(t)||\"number\"==typeof t&&isFinite(t)){if(_(n))return s.error(\"JS Dates and milliseconds are incompatible with world calendars\",t),e;if(!(t=r.ms2DateTimeLocal(+t))&&void 0!==e)return e}else if(!r.isDateTime(t,n))return s.error(\"unrecognized date\",t),e;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];r.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 I=3*f;r.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)+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)*f+n}catch(e){s.error(\"invalid ms \"+t+\" in calendar \"+r)}var c=new Date(t+I);return c.setUTCMonth(c.getUTCMonth()+e)+n-I},r.findExactDates=function(t,e){for(var r,n,i=0,a=0,s=0,l=0,c=_(e)&&g.getComponentMethod(\"calendars\",\"getCal\")(e),u=0;u<t.length;u++)if(n=t[u],o(n)){if(!(n%f))if(c)try{1===(r=c.fromJD(n/f+m)).day()?1===r.month()?i++:a++:s++}catch(t){}else 1===(r=new Date(n)).getUTCDate()?0===r.getUTCMonth()?i++:a++:s++}else l++;s+=a+=i;var h=t.length-l;return{exactYears:i/h,exactMonths:a/h,exactDays:s/h}}},{\"../constants/numerical\":479,\"../registry\":638,\"./loggers\":507,\"./mod\":510,\"d3-time-format\":120,\"fast-isnumeric\":190}],491:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"./loggers\"),a=t(\"./matrix\"),o=t(\"gl-mat4\");function s(t){var e=t&&t.parentNode;e&&e.removeChild(t)}function l(t,e,r){var n=\"plotly.js-style-\"+t,a=document.getElementById(n);a||((a=document.createElement(\"style\")).setAttribute(\"id\",n),a.appendChild(document.createTextNode(\"\")),document.head.appendChild(a));var o=a.sheet;o.insertRule?o.insertRule(e+\"{\"+r+\"}\",0):o.addRule?o.addRule(e,r,0):i.warn(\"addStyleRule failed\")}function c(t){var e=window.getComputedStyle(t,null),r=e.getPropertyValue(\"-webkit-transform\")||e.getPropertyValue(\"-moz-transform\")||e.getPropertyValue(\"-ms-transform\")||e.getPropertyValue(\"-o-transform\")||e.getPropertyValue(\"transform\");return\"none\"===r?null:r.replace(\"matrix\",\"\").replace(\"3d\",\"\").slice(1,-1).split(\",\").map((function(t){return+t}))}function u(t){for(var e=[];f(t);)e.push(t),t=t.parentNode;return e}function f(t){return t&&(t instanceof Element||t instanceof HTMLElement)}e.exports={getGraphDiv:function(t){var e;if(\"string\"==typeof t){if(null===(e=document.getElementById(t)))throw new Error(\"No DOM element with id '\"+t+\"' exists on the page.\");return e}if(null==t)throw new Error(\"DOM element provided is null or undefined\");return t},isPlotDiv:function(t){var e=n.select(t);return e.node()instanceof HTMLElement&&e.size()&&e.classed(\"js-plotly-plot\")},removeElement:s,addStyleRule:function(t,e){l(\"global\",t,e)},addRelatedStyleRule:l,deleteRelatedStyleRule:function(t){var e=\"plotly.js-style-\"+t,r=document.getElementById(e);r&&s(r)},getFullTransformMatrix:function(t){var e=u(t),r=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];return e.forEach((function(t){var e=c(t);if(e){var n=a.convertCssMatrix(e);r=o.multiply(r,r,n)}})),r},getElementTransformMatrix:c,getElementAndAncestors:u,equalDomRects:function(t,e){return t&&e&&t.x===e.x&&t.y===e.y&&t.top===e.top&&t.left===e.left&&t.right===e.right&&t.bottom===e.bottom}}},{\"./loggers\":507,\"./matrix\":509,\"@plotly/d3\":58,\"gl-mat4\":210}],492:[function(t,e,r){\"use strict\";var n=t(\"events\").EventEmitter,i={init:function(t){if(t._ev instanceof n)return t;var e=new n,r=new n;return t._ev=e,t._internalEv=r,t.on=e.on.bind(e),t.once=e.once.bind(e),t.removeListener=e.removeListener.bind(e),t.removeAllListeners=e.removeAllListeners.bind(e),t._internalOn=r.on.bind(r),t._internalOnce=r.once.bind(r),t._removeInternalListener=r.removeListener.bind(r),t._removeAllInternalListeners=r.removeAllListeners.bind(r),t.emit=function(n,i){\"undefined\"!=typeof jQuery&&jQuery(t).trigger(n,i),e.emit(n,i),r.emit(n,i)},t},triggerHandler:function(t,e,r){var n,i;\"undefined\"!=typeof jQuery&&(n=jQuery(t).triggerHandler(e,r));var a=t._ev;if(!a)return n;var o,s=a._events[e];if(!s)return n;function l(t){return t.listener?(a.removeListener(e,t.listener),t.fired?void 0:(t.fired=!0,t.listener.apply(a,[r]))):t.apply(a,[r])}for(s=Array.isArray(s)?s:[s],o=0;o<s.length-1;o++)l(s[o]);return i=l(s[o]),void 0!==n?n:i},purge:function(t){return delete t._ev,delete t.on,delete t.once,delete t.removeListener,delete t.removeAllListeners,delete t.emit,delete t._ev,delete t._internalEv,delete t._internalOn,delete t._internalOnce,delete t._removeInternalListener,delete t._removeAllInternalListeners,t}};e.exports=i},{events:84}],493:[function(t,e,r){\"use strict\";var n=t(\"./is_plain_object.js\"),i=Array.isArray;function a(t,e,r,o){var s,l,c,u,f,h,p=t[0],d=t.length;if(2===d&&i(p)&&i(t[1])&&0===p.length){if(function(t,e){var r,n;for(r=0;r<t.length;r++){if(null!==(n=t[r])&&\"object\"==typeof n)return!1;void 0!==n&&(e[r]=n)}return!0}(t[1],p))return p;p.splice(0,p.length)}for(var m=1;m<d;m++)for(l in s=t[m])c=p[l],u=s[l],o&&i(u)?p[l]=u:e&&u&&(n(u)||(f=i(u)))?(f?(f=!1,h=c&&i(c)?c:[]):h=c&&n(c)?c:{},p[l]=a([h,u],e,r,o)):(void 0!==u||r)&&(p[l]=u);return p}r.extendFlat=function(){return a(arguments,!1,!1,!1)},r.extendDeep=function(){return a(arguments,!0,!1,!1)},r.extendDeepAll=function(){return a(arguments,!0,!0,!1)},r.extendDeepNoArrays=function(){return a(arguments,!0,!1,!0)}},{\"./is_plain_object.js\":504}],494:[function(t,e,r){\"use strict\";e.exports=function(t){for(var e={},r=[],n=0,i=0;i<t.length;i++){var a=t[i];1!==e[a]&&(e[a]=1,r[n++]=a)}return r}},{}],495:[function(t,e,r){\"use strict\";function n(t){return!0===t.visible}function i(t){var e=t[0].trace;return!0===e.visible&&0!==e._length}e.exports=function(t){for(var e,r=(e=t,Array.isArray(e)&&Array.isArray(e[0])&&e[0][0]&&e[0][0].trace?i:n),a=[],o=0;o<t.length;o++){var s=t[o];r(s)&&a.push(s)}return a}},{}],496:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"country-regex\"),a=t(\"@turf/area\"),o=t(\"@turf/centroid\"),s=t(\"@turf/bbox\"),l=t(\"./identity\"),c=t(\"./loggers\"),u=t(\"./is_plain_object\"),f=t(\"./nested_property\"),h=t(\"./polygon\"),p=Object.keys(i),d={\"ISO-3\":l,\"USA-states\":l,\"country names\":function(t){for(var e=0;e<p.length;e++){var r=p[e];if(new RegExp(i[r]).test(t.trim().toLowerCase()))return r}return c.log(\"Unrecognized country name: \"+t+\".\"),!1}};function m(t){var e=t.geojson,r=window.PlotlyGeoAssets||{},n=\"string\"==typeof e?r[e]:e;return u(n)?n:(c.error(\"Oops ... something went wrong when fetching \"+e),!1)}e.exports={locationToFeature:function(t,e,r){if(!e||\"string\"!=typeof e)return!1;var n,i,a,o=d[t](e);if(o){if(\"USA-states\"===t)for(n=[],a=0;a<r.length;a++)(i=r[a]).properties&&i.properties.gu&&\"USA\"===i.properties.gu&&n.push(i);else n=r;for(a=0;a<n.length;a++)if((i=n[a]).id===o)return i;c.log([\"Location with id\",o,\"does not have a matching topojson feature at this resolution.\"].join(\" \"))}return!1},feature2polygons:function(t){var e,r,n,i,a=t.geometry,o=a.coordinates,s=t.id,l=[];function c(t){for(var e=0;e<t.length-1;e++)if(t[e][0]>0&&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;i<t.length;i++)e[i]=[t[i][0]<0?t[i][0]+360:t[i][0],t[i][1]];l.push(h.tester(e))}:\"ATA\"===s?function(t){var e=c(t);if(null===e)return l.push(h.tester(t));var r=new Array(t.length+1),n=0;for(i=0;i<t.length;i++)i>e?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;r<o.length;r++)for(n=0;n<o[r].length;n++)e(o[r][n]);break;case\"Polygon\":for(r=0;r<o.length;r++)e(o[r])}return l},getTraceGeojson:m,extractTraceFeature:function(t){var e=t[0].trace,r=m(e);if(!r)return!1;var n,i={},s=[];for(n=0;n<e._length;n++){var l=t[n];(l.loc||0===l.loc)&&(i[l.loc]=l)}function u(t){var r=f(t,e.featureidkey||\"id\").get(),n=i[r];if(n){var l=t.geometry;if(\"Polygon\"===l.type||\"MultiPolygon\"===l.type){var u={type:\"Feature\",id:r,geometry:l,properties:{}};u.properties.ct=function(t){var e,r=t.geometry;if(\"MultiPolygon\"===r.type)for(var n=r.coordinates,i=0,s=0;s<n.length;s++){var l={type:\"Polygon\",coordinates:n[s]},c=a.default(l);c>i&&(i=c,e=l)}else e=r;return o.default(e).geometry.coordinates}(u),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 h=r.features;for(n=0;n<h.length;n++)u(h[n]);break;case\"Feature\":u(r);break;default:return c.warn([\"Invalid GeoJSON type\",(r.type||\"none\")+\".\",\"Traces with locationmode *geojson-id* only support\",\"*FeatureCollection* and *Feature* types.\"].join(\" \")),!1}for(var p in i)c.log([\"Location *\"+p+\"*\",\"does not have a matching feature with id-key\",\"*\"+e.featureidkey+\"*.\"].join(\" \"));return s},fetchTraceGeoData:function(t){var e=window.PlotlyGeoAssets||{},r=[];function i(t){return new Promise((function(r,i){n.json(t,(function(n,a){if(n){delete e[t];var o=404===n.status?'GeoJSON at URL \"'+t+'\" does not exist.':\"Unexpected error while fetching from \"+t;return i(new Error(o))}return e[t]=a,r(a)}))}))}function a(t){return new Promise((function(r,n){var i=0,a=setInterval((function(){return e[t]&&\"pending\"!==e[t]?(clearInterval(a),r(e[t])):i>100?(clearInterval(a),n(\"Unexpected error while fetching from \"+t)):void i++}),50)}))}for(var o=0;o<t.length;o++){var s=t[o][0].trace.geojson;\"string\"==typeof s&&(e[s]?\"pending\"===e[s]&&r.push(a(s)):(e[s]=\"pending\",r.push(i(s))))}return r},computeBbox:function(t){return s.default(t)}}},{\"./identity\":501,\"./is_plain_object\":504,\"./loggers\":507,\"./nested_property\":511,\"./polygon\":515,\"@plotly/d3\":58,\"@turf/area\":61,\"@turf/bbox\":64,\"@turf/centroid\":67,\"country-regex\":94}],497:[function(t,e,r){\"use strict\";var n=t(\"../constants/numerical\").BADNUM;r.calcTraceToLineCoords=function(t){for(var e=t[0].trace.connectgaps,r=[],i=[],a=0;a<t.length;a++){var o=t[a].lonlat;o[0]!==n?i.push(o):!e&&i.length>0&&(r.push(i),i=[])}return i.length>0&&r.push(i),r},r.makeLine=function(t){return 1===t.length?{type:\"LineString\",coordinates:t[0]}:{type:\"MultiLineString\",coordinates:t}},r.makePolygon=function(t){if(1===t.length)return{type:\"Polygon\",coordinates:t};for(var e=new Array(t.length),r=0;r<t.length;r++)e[r]=[t[r]];return{type:\"MultiPolygon\",coordinates:e}},r.makeBlank=function(){return{type:\"Point\",coordinates:[]}}},{\"../constants/numerical\":479}],498:[function(t,e,r){\"use strict\";var n,i,a,o=t(\"./mod\").mod;function s(t,e,r,n,i,a,o,s){var l=r-t,c=i-t,u=o-i,f=n-e,h=a-e,p=s-a,d=l*p-u*f;if(0===d)return null;var m=(c*p-u*h)/d,g=(c*f-l*h)/d;return g<0||g>1||m<0||m>1?null:{x:t+l*m,y:e+f*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}r.segmentsIntersect=s,r.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,f=n-e,h=o-i,p=c-a,d=u*u+f*f,m=h*h+p*p,g=Math.min(l(u,f,d,i-t,a-e),l(u,f,d,o-t,c-e),l(h,p,m,t-i,e-a),l(h,p,m,r-i,n-a));return Math.sqrt(g)},r.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)),f=t.getPointAtLength(o(r,e)),h={x:(4*f.x+l.x+c.x)/6,y:(4*f.y+l.y+c.y)/6,theta:u};return n[r]=h,h},r.clearLocationCache=function(){i=null},r.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(),f=u;function h(e){var r=t.getPointAtLength(e);0===e?n=r:e===u&&(i=r);var c=r.x<a?a-r.x:r.x>o?r.x-o:0,f=r.y<s?s-r.y:r.y>l?r.y-l:0;return Math.sqrt(c*c+f*f)}for(var p=h(c);p;){if((c+=p+r)>f)return;p=h(c)}for(p=h(f);p;){if(c>(f-=p+r))return;p=h(f)}return{min:c,max:f,len:f-c,total:u,isClosed:0===c&&f===u&&Math.abs(n.x-i.x)<.1&&Math.abs(n.y-i.y)<.1}},r.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,f=0,h=0,p=s;f<c;){if(i=(h+p)/2,o=(a=t.getPointAtLength(i))[r]-e,Math.abs(o)<l)return a;u*o>0?p=i:h=i,f++}return a}},{\"./mod\":510}],499:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"tinycolor2\"),a=t(\"color-normalize\"),o=t(\"../components/colorscale\"),s=t(\"../components/color/attributes\").defaultLine,l=t(\"./array\").isArrayOrTypedArray,c=a(s);function u(t,e){var r=t;return r[3]*=e,r}function f(t){if(n(t))return c;var e=a(t);return e.length?e:c}function h(t){return n(t)?t:1}e.exports={formatColor:function(t,e,r){var n,i,s,p,d,m=t.color,g=l(m),v=l(e),y=o.extractOpts(t),x=[];if(n=void 0!==y.colorscale?o.makeColorScaleFuncFromTrace(t):f,i=g?function(t,e){return void 0===t[e]?c:a(n(t[e]))}:f,s=v?function(t,e){return void 0===t[e]?1:h(t[e])}:h,g||v)for(var b=0;b<r;b++)p=i(m,b),d=s(e,b),x[b]=u(p,d);else x=u(a(m),e);return x},parseColorScale:function(t){var e=o.extractOpts(t),r=e.colorscale;return e.reversescale&&(r=o.flipScale(e.colorscale)),r.map((function(t){var e=t[0],r=i(t[1]).toRgb();return{index:e,rgb:[r.r,r.g,r.b,r.a]}}))}}},{\"../components/color/attributes\":365,\"../components/colorscale\":378,\"./array\":485,\"color-normalize\":89,\"fast-isnumeric\":190,tinycolor2:312}],500:[function(t,e,r){\"use strict\";var n=t(\"./identity\");function i(t){return[t]}e.exports={keyFun:function(t){return t.key},repeat:i,descend:n,wrap:i,unwrap:function(t){return t[0]}}},{\"./identity\":501}],501:[function(t,e,r){\"use strict\";e.exports=function(t){return t}},{}],502:[function(t,e,r){\"use strict\";e.exports=function(t,e){if(!e)return t;var r=1/Math.abs(e),n=r>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}},{}],503:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"d3-time-format\").utcFormat,a=t(\"d3-format\").format,o=t(\"fast-isnumeric\"),s=t(\"../constants/numerical\"),l=s.FP_SAFE,c=-l,u=s.BADNUM,f=e.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=t(\"./nested_property\"),f.keyedContainer=t(\"./keyed_container\"),f.relativeAttr=t(\"./relative_attr\"),f.isPlainObject=t(\"./is_plain_object\"),f.toLogRange=t(\"./to_log_range\"),f.relinkPrivateKeys=t(\"./relink_private\");var p=t(\"./array\");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=t(\"./mod\");f.mod=d.mod,f.modHalf=d.modHalf;var m=t(\"./coerce\");f.valObjectMeta=m.valObjectMeta,f.coerce=m.coerce,f.coerce2=m.coerce2,f.coerceFont=m.coerceFont,f.coercePattern=m.coercePattern,f.coerceHoverinfo=m.coerceHoverinfo,f.coerceSelectionMarkerOpacity=m.coerceSelectionMarkerOpacity,f.validate=m.validate;var g=t(\"./dates\");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 v=t(\"./search\");f.findBin=v.findBin,f.sorterAsc=v.sorterAsc,f.sorterDes=v.sorterDes,f.distinctVals=v.distinctVals,f.roundUp=v.roundUp,f.sort=v.sort,f.findIndexOfMin=v.findIndexOfMin,f.sortObjectKeys=t(\"./sort_object_keys\");var y=t(\"./stats\");f.aggNums=y.aggNums,f.len=y.len,f.mean=y.mean,f.median=y.median,f.midRange=y.midRange,f.variance=y.variance,f.stdev=y.stdev,f.interp=y.interp;var x=t(\"./matrix\");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=t(\"./angles\");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 _=t(\"./anchor_utils\");f.isLeftAnchor=_.isLeftAnchor,f.isCenterAnchor=_.isCenterAnchor,f.isRightAnchor=_.isRightAnchor,f.isTopAnchor=_.isTopAnchor,f.isMiddleAnchor=_.isMiddleAnchor,f.isBottomAnchor=_.isBottomAnchor;var w=t(\"./geometry2d\");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=t(\"./extend\");f.extendFlat=T.extendFlat,f.extendDeep=T.extendDeep,f.extendDeepAll=T.extendDeepAll,f.extendDeepNoArrays=T.extendDeepNoArrays;var k=t(\"./loggers\");f.log=k.log,f.warn=k.warn,f.error=k.error;var A=t(\"./regex\");f.counterRegex=A.counter;var M=t(\"./throttle\");f.throttle=M.throttle,f.throttleDone=M.done,f.clearThrottle=M.clear;var S=t(\"./dom\");function E(t){var e={};for(var r in t)for(var n=t[r],i=0;i<n.length;i++)e[n[i]]=+r;return e}f.getGraphDiv=S.getGraphDiv,f.isPlotDiv=S.isPlotDiv,f.removeElement=S.removeElement,f.addStyleRule=S.addStyleRule,f.addRelatedStyleRule=S.addRelatedStyleRule,f.deleteRelatedStyleRule=S.deleteRelatedStyleRule,f.getFullTransformMatrix=S.getFullTransformMatrix,f.getElementTransformMatrix=S.getElementTransformMatrix,f.getElementAndAncestors=S.getElementAndAncestors,f.equalDomRects=S.equalDomRects,f.clearResponsive=t(\"./clear_responsive\"),f.preserveDrawingBuffer=t(\"./preserve_drawing_buffer\"),f.makeTraceGroups=t(\"./make_trace_groups\"),f._=t(\"./localize\"),f.notifier=t(\"./notifier\"),f.filterUnique=t(\"./filter_unique\"),f.filterVisible=t(\"./filter_visible\"),f.pushUnique=t(\"./push_unique\"),f.increment=t(\"./increment\"),f.cleanNumber=t(\"./clean_number\"),f.ensureNumber=function(t){return o(t)?(t=Number(t))>l||t<c?u:t:u},f.isIndex=function(t,e){return!(void 0!==e&&t>=e)&&(o(t)&&t>=0&&t%1==0)},f.noop=t(\"./noop\"),f.identity=t(\"./identity\"),f.repeat=function(t,e){for(var r=new Array(e),n=0;n<e;n++)r[n]=t;return r},f.swapAttrs=function(t,e,r,n){r||(r=\"x\"),n||(n=\"y\");for(var i=0;i<e.length;i++){var a=e[i],o=f.nestedProperty(t,a.replace(\"?\",r)),s=f.nestedProperty(t,a.replace(\"?\",n)),l=o.get();o.set(s.get()),s.set(l)}},f.raiseToTop=function(t){t.parentNode.appendChild(t)},f.cancelTransition=function(t){return t.transition().duration(0)},f.constrain=function(t,e,r){return e>r?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<a;s++)o[s]=e(t[s],r,n,i);return o},f.randstr=function t(e,r,n,i){if(n||(n=16),void 0===r&&(r=24),r<=0)return\"0\";var a,o,s=Math.log(Math.pow(2,r))/Math.log(n),l=\"\";for(a=2;s===1/0;a*=2)s=Math.log(Math.pow(2,r/a))/Math.log(n)*a;var c=s-Math.floor(s);for(a=0;a<Math.floor(s);a++)l=Math.floor(Math.random()*n).toString(n)+l;c&&(o=Math.pow(n,c),l=Math.floor(Math.random()*o).toString(n)+l);var u=parseInt(l,n);return e&&e[l]||u!==1/0&&u>=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,c=new Array(l),u=new Array(o);for(r=0;r<l;r++)c[r]=(1-Math.cos(Math.PI*(r+1)/e))/(2*e);for(r=0;r<o;r++){for(a=0,n=0;n<l;n++)(i=r+n+1-e)<-o?i-=s*Math.round(i/s):i>=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},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;n<r.length;n++)null!=t[r[n]]?i=!0:a=!1;if(i&&!a)for(n=0;n<r.length;n++)t[r[n]]=e[r[n]]}},f.mergeArray=function(t,e,r,n){var i=\"function\"==typeof n;if(f.isArrayOrTypedArray(t))for(var a=Math.min(t.length,e.length),o=0;o<a;o++){var s=t[o];e[o][r]=i?n(s):s}},f.mergeArrayCastPositive=function(t,e,r){return f.mergeArray(t,e,r,(function(t){var e=+t;return isFinite(e)&&e>0?e:0}))},f.fillArray=function(t,e,r,n){if(n=n||f.identity,f.isArrayOrTypedArray(t))for(var i=0;i<e.length;i++)e[i][r]=n(t[i])},f.castOption=function(t,e,r,n){n=n||f.identity;var i=f.nestedProperty(t,r).get();return f.isArrayOrTypedArray(i)?Array.isArray(e)&&f.isArrayOrTypedArray(i[e[0]])?n(i[e[0]][e[1]]):n(i[e]):i},f.extractOption=function(t,e,r,n){if(r in t)return t[r];var i=f.nestedProperty(e,n).get();return Array.isArray(i)?void 0:i},f.tagSelected=function(t,e,r){var n,i,a=e.selectedpoints,o=e._indexToPoints;o&&(n=E(o));for(var s=0;s<a.length;s++){var l=a[s];if(f.isIndex(l)||f.isArrayOrTypedArray(l)&&f.isIndex(l[0])&&f.isIndex(l[1])){var c=n?n[l]:l,u=r?r[c]:c;void 0!==(i=u)&&i<t.length&&(t[u].selected=1)}}},f.selIndices2selPoints=function(t){var e=t.selectedpoints,r=t._indexToPoints;if(r){for(var n=E(r),i=[],a=0;a<e.length;a++){var o=e[a];if(f.isIndex(o)){var s=n[o];f.isIndex(s)&&i.push(s)}}return i}return e},f.getTargetArray=function(t,e){var r=e.target;if(\"string\"==typeof r&&r){var n=f.nestedProperty(t,r).get();return!!Array.isArray(n)&&n}return!!Array.isArray(r)&&r},f.minExtend=function(t,e){var r={};\"object\"!=typeof e&&(e={});var n,i,a,o=Object.keys(t);for(n=0;n<o.length;n++)a=t[i=o[n]],\"_\"!==i.charAt(0)&&\"function\"!=typeof a&&(\"module\"===i?r[i]=a:Array.isArray(a)?r[i]=\"colorscale\"===i?a.slice():a.slice(0,3):f.isTypedArray(a)?r[i]=a.subarray(0,3):r[i]=a&&\"object\"==typeof a?f.minExtend(t[i],e[i]):a);for(o=Object.keys(e),n=0;n<o.length;n++)\"object\"==typeof(a=e[i=o[n]])&&i in r&&\"object\"==typeof r[i]||(r[i]=a);return r},f.titleCase=function(t){return t.charAt(0).toUpperCase()+t.substr(1)},f.containsAny=function(t,e){for(var r=0;r<e.length;r++)if(-1!==t.indexOf(e[r]))return!0;return!1},f.isIE=function(){return void 0!==window.navigator.msSaveBlob};var L=/Version\\/[\\d\\.]+.*Safari/;f.isSafari=function(){return L.test(window.navigator.userAgent)};var C=/iPad|iPhone|iPod/;f.isIOS=function(){return C.test(window.navigator.userAgent)};var P=/Firefox\\/(\\d+)\\.\\d+/;f.getFirefoxVersion=function(){var t=P.exec(window.navigator.userAgent);if(t&&2===t.length){var e=parseInt(t[1]);if(!isNaN(e))return e}return null},f.isD3Selection=function(t){return t instanceof n.selection},f.ensureSingle=function(t,e,r,n){var i=t.select(e+(r?\".\"+r:\"\"));if(i.size())return i;var a=t.append(e);return r&&a.classed(r,!0),n&&a.call(n),a},f.ensureSingleById=function(t,e,r,n){var i=t.select(e+\"#\"+r);if(i.size())return i;var a=t.append(e).attr(\"id\",r);return n&&a.call(n),a},f.objectFromPath=function(t,e){for(var r,n=t.split(\".\"),i=r={},a=0;a<n.length;a++){var o=n[a],s=null,l=n[a].match(/(.*)\\[([0-9]+)\\]/);l?(o=l[1],s=l[2],r=r[o]=[],a===n.length-1?r[s]=e:r[s]={},r=r[s]):(a===n.length-1?r[o]=e:r[o]={},r=r[o])}return i};var I=/^([^\\[\\.]+)\\.(.+)?/,O=/^([^\\.]+)\\[([0-9]+)\\](\\.)?(.+)?/;f.expandObjectPaths=function(t){var e,r,n,i,a,o,s;if(\"object\"==typeof t&&!Array.isArray(t))for(r in t)t.hasOwnProperty(r)&&((e=r.match(I))?(i=t[r],n=e[1],delete t[r],t[n]=f.extendDeepNoArrays(t[n]||{},f.objectFromPath(r,f.expandObjectPaths(i))[n])):(e=r.match(O))?(i=t[r],n=e[1],a=parseInt(e[2]),delete t[r],t[n]=t[n]||[],\".\"===e[3]?(s=e[4],o=t[n][a]=t[n][a]||{},f.extendDeepNoArrays(o,f.objectFromPath(s,f.expandObjectPaths(i)))):t[n][a]=f.expandObjectPaths(i)):t[r]=f.expandObjectPaths(t[r]));return t},f.numSeparate=function(t,e,r){if(r||(r=!1),\"string\"!=typeof e||0===e.length)throw new Error(\"Separator string required for formatting!\");\"number\"==typeof t&&(t=String(t));var n=/(\\d+)(\\d{3})/,i=e.charAt(0),a=e.charAt(1),o=t.split(\".\"),s=o[0],l=o.length>1?i+o[1]:\"\";if(a&&(o.length>1||s.length>4||r))for(;n.test(s);)s=s.replace(n,\"$1\"+a+\"$2\");return s+l},f.TEMPLATE_STRING_REGEX=/%{([^\\s%{}:]*)([:|\\|][^}]*)?}/g;var z=/^\\w*$/;f.templateString=function(t,e){var r={};return t.replace(f.TEMPLATE_STRING_REGEX,(function(t,n){var i;return z.test(n)?i=e[n]:(r[n]=r[n]||f.nestedProperty(e,n).get,i=r[n]()),f.isValidTextValue(i)?i:\"\"}))};var D={max:10,count:0,name:\"hovertemplate\"};f.hovertemplateString=function(){return B.apply(D,arguments)};var R={max:10,count:0,name:\"texttemplate\"};f.texttemplateString=function(){return B.apply(R,arguments)};var F=/^[:|\\|]/;function B(t,e,r){var n=this,a=arguments;e||(e={});var o={};return t.replace(f.TEMPLATE_STRING_REGEX,(function(t,s,l){var c,u,h,p=\"_xother\"===s||\"_yother\"===s,d=\"_xother_\"===s||\"_yother_\"===s,m=\"xother_\"===s||\"yother_\"===s,g=\"xother\"===s||\"yother\"===s||p||m||d,v=s;if((p||d)&&(v=v.substring(1)),(m||d)&&(v=v.substring(0,v.length-1)),g){if(void 0===(c=e[v]))return\"\"}else for(h=3;h<a.length;h++)if(u=a[h]){if(u.hasOwnProperty(v)){c=u[v];break}if(z.test(v)||(c=f.nestedProperty(u,v).get(),(c=o[v]||f.nestedProperty(u,v).get())&&(o[v]=c)),void 0!==c)break}if(void 0===c&&n)return n.count<n.max&&(f.warn(\"Variable '\"+v+\"' in \"+n.name+\" could not be found!\"),c=t),n.count===n.max&&f.warn(\"Too many \"+n.name+\" warnings - additional warnings will be suppressed\"),n.count++,t;if(l){var y;if(\":\"===l[0]&&(c=(y=r?r.numberFormat:f.numberFormat)(l.replace(F,\"\"))(c)),\"|\"===l[0]){y=r?r.timeFormat:i;var x=f.dateTime2ms(c);c=f.formatDate(x,l.replace(F,\"\"),!1,y)}}else{var b=v+\"Label\";e.hasOwnProperty(b)&&(c=e[b])}return g&&(c=\"(\"+c+\")\",(p||d)&&(c=\" \"+c),(m||d)&&(c+=\" \")),c}))}f.subplotSort=function(t,e){for(var r=Math.min(t.length,e.length)+1,n=0,i=0,a=0;a<r;a++){var o=t.charCodeAt(a)||0,s=e.charCodeAt(a)||0,l=o>=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 N=2e9;f.seedPseudoRandom=function(){N=2e9},f.pseudoRandom=function(){var t=N;return N=(69069*N+1)%4294967296,Math.abs(N-t)<429496729?f.pseudoRandom():N/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;n<e;n++)-1!==r.indexOf(\".\")&&(r=(r=r.replace(\"0%\",\"%\")).replace(\".%\",\"%\"));return r},f.isHidden=function(t){var e=window.getComputedStyle(t).display;return!e||\"none\"===e},f.strTranslate=function(t,e){return t||e?\"translate(\"+t+\",\"+e+\")\":\"\"},f.strRotate=function(t){return t?\"rotate(\"+t+\")\":\"\"},f.strScale=function(t){return 1!==t?\"scale(\"+t+\")\":\"\"},f.getTextTransform=function(t){var e=t.noCenter,r=t.textX,n=t.textY,i=t.targetX,a=t.targetY,o=t.anchorX||0,s=t.anchorY||0,l=t.rotate,c=t.scale;return c?c>1&&(c=1):c=0,f.strTranslate(i-c*(r+o),a-c*(n+s))+f.strScale(c)+(l?\"rotate(\"+l+(e?\"\":\" \"+r+\" \"+n)+\")\":\"\")},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 j=f.getFirefoxVersion(),U=null!==j&&j<86;f.getPositionFromD3Event=function(){return U?[n.event.layerX,n.event.layerY]:[n.event.offsetX,n.event.offsetY]}},{\"../constants/numerical\":479,\"./anchor_utils\":483,\"./angles\":484,\"./array\":485,\"./clean_number\":486,\"./clear_responsive\":488,\"./coerce\":489,\"./dates\":490,\"./dom\":491,\"./extend\":493,\"./filter_unique\":494,\"./filter_visible\":495,\"./geometry2d\":498,\"./identity\":501,\"./increment\":502,\"./is_plain_object\":504,\"./keyed_container\":505,\"./localize\":506,\"./loggers\":507,\"./make_trace_groups\":508,\"./matrix\":509,\"./mod\":510,\"./nested_property\":511,\"./noop\":512,\"./notifier\":513,\"./preserve_drawing_buffer\":517,\"./push_unique\":518,\"./regex\":520,\"./relative_attr\":521,\"./relink_private\":522,\"./search\":523,\"./sort_object_keys\":526,\"./stats\":527,\"./throttle\":530,\"./to_log_range\":531,\"@plotly/d3\":58,\"d3-format\":112,\"d3-time-format\":120,\"fast-isnumeric\":190}],504:[function(t,e,r){\"use strict\";e.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\")}},{}],505:[function(t,e,r){\"use strict\";var n=t(\"./nested_property\"),i=/^\\w*$/;e.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;o<s.length;o++)u[s[o][r]]=o;var f=i.test(a),h={set:function(t,e){var i=null===e?4:0;if(!s){if(!l||4===i)return;s=[],l.set(s)}var o=u[t];if(void 0===o){if(4===i)return;i|=3,o=s.length,u[t]=o}else e!==(f?s[o][a]:n(s[o],a).get())&&(i|=2);var p=s[o]=s[o]||{};return p[r]=t,f?p[a]=e:n(p,a).set(e),null!==e&&(i&=-5),c[o]=c[o]|i,h},get:function(t){if(s){var e=u[t];return void 0===e?void 0:f?s[e][a]:n(s[e],a).get()}},rename:function(t,e){var n=u[t];return void 0===n||(c[n]=1|c[n],u[e]=n,delete u[t],s[n][r]=e),h},remove:function(t){var e=u[t];if(void 0===e)return h;var i=s[e];if(Object.keys(i).length>2)return c[e]=2|c[e],h.set(t,null);if(f){for(o=e;o<s.length;o++)c[o]=3|c[o];for(o=e;o<s.length;o++)u[s[o][r]]--;s.splice(e,1),delete u[t]}else n(i,a).set(null),c[e]=6|c[e];return h},constructUpdate:function(){for(var t,i,o={},l=Object.keys(c),u=0;u<l.length;u++)i=l[u],t=e+\"[\"+i+\"]\",s[i]?(1&c[i]&&(o[t+\".\"+r]=s[i][r]),2&c[i]&&(o[t+\".\"+a]=f?4&c[i]?null:s[i][a]:4&c[i]?null:n(s[i],a).get())):o[t]=null;return o}};return h}},{\"./nested_property\":511}],506:[function(t,e,r){\"use strict\";var n=t(\"../registry\");e.exports=function(t,e){for(var r=t._context.locale,i=0;i<2;i++){for(var a=t._context.locales,o=0;o<2;o++){var s=(a[r]||{}).dictionary;if(s){var l=s[e];if(l)return l}a=n.localeRegistry}var c=r.split(\"-\")[0];if(c===r)break;r=c}return e}},{\"../registry\":638}],507:[function(t,e,r){\"use strict\";var n=t(\"../plot_api/plot_config\").dfltConfig,i=t(\"./notifier\"),a=e.exports={};a.log=function(){var t;if(n.logging>1){var e=[\"LOG:\"];for(t=0;t<arguments.length;t++)e.push(arguments[t]);console.trace.apply(console,e)}if(n.notifyOnLogging>1){var r=[];for(t=0;t<arguments.length;t++)r.push(arguments[t]);i(r.join(\"<br>\"),\"long\")}},a.warn=function(){var t;if(n.logging>0){var e=[\"WARN:\"];for(t=0;t<arguments.length;t++)e.push(arguments[t]);console.trace.apply(console,e)}if(n.notifyOnLogging>0){var r=[];for(t=0;t<arguments.length;t++)r.push(arguments[t]);i(r.join(\"<br>\"),\"stick\")}},a.error=function(){var t;if(n.logging>0){var e=[\"ERROR:\"];for(t=0;t<arguments.length;t++)e.push(arguments[t]);console.error.apply(console,e)}if(n.notifyOnLogging>0){var r=[];for(t=0;t<arguments.length;t++)r.push(arguments[t]);i(r.join(\"<br>\"),\"stick\")}}},{\"../plot_api/plot_config\":541,\"./notifier\":513}],508:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\");e.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}},{\"@plotly/d3\":58}],509:[function(t,e,r){\"use strict\";var n=t(\"gl-mat4\");r.init2dArray=function(t,e){for(var r=new Array(t),n=0;n<t;n++)r[n]=new Array(e);return r},r.transposeRagged=function(t){var e,r,n=0,i=t.length;for(e=0;e<i;e++)n=Math.max(n,t[e].length);var a=new Array(n);for(e=0;e<n;e++)for(a[e]=new Array(i),r=0;r<i;r++)a[e][r]=t[r][e];return a},r.dot=function(t,e){if(!t.length||!e.length||t.length!==e.length)return null;var n,i,a=t.length;if(t[0].length)for(n=new Array(a),i=0;i<a;i++)n[i]=r.dot(t[i],e);else if(e[0].length){var o=r.transposeRagged(e);for(n=new Array(o.length),i=0;i<o.length;i++)n[i]=r.dot(t,o[i])}else for(n=0,i=0;i<a;i++)n+=t[i]*e[i];return n},r.translationMatrix=function(t,e){return[[1,0,t],[0,1,e],[0,0,1]]},r.rotationMatrix=function(t){var e=t*Math.PI/180;return[[Math.cos(e),-Math.sin(e),0],[Math.sin(e),Math.cos(e),0],[0,0,1]]},r.rotationXYMatrix=function(t,e,n){return r.dot(r.dot(r.translationMatrix(e,n),r.rotationMatrix(t)),r.translationMatrix(-e,-n))},r.apply3DTransform=function(t){return function(){var e=arguments,n=1===arguments.length?e[0]:[e[0],e[1],e[2]||0];return r.dot(t,[n[0],n[1],n[2],1]).slice(0,3)}},r.apply2DTransform=function(t){return function(){var e=arguments;3===e.length&&(e=e[0]);var n=1===arguments.length?e[0]:[e[0],e[1]];return r.dot(t,[n[0],n[1],1]).slice(0,2)}},r.apply2DTransform2=function(t){var e=r.apply2DTransform(t);return function(t){return e(t.slice(0,2)).concat(e(t.slice(2,4)))}},r.convertCssMatrix=function(t){if(t){var e=t.length;if(16===e)return t;if(6===e)return[t[0],t[1],0,0,t[2],t[3],0,0,0,0,1,0,t[4],t[5],0,1]}return[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},r.inverseTransformMatrix=function(t){var e=[];return n.invert(e,t),[[e[0],e[1],e[2],e[3]],[e[4],e[5],e[6],e[7]],[e[8],e[9],e[10],e[11]],[e[12],e[13],e[14],e[15]]]}},{\"gl-mat4\":210}],510:[function(t,e,r){\"use strict\";e.exports={mod:function(t,e){var r=t%e;return r<0?r+e:r},modHalf:function(t,e){return Math.abs(t)>e/2?t-Math.round(t/e)*e:t}}},{}],511:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"./array\").isArrayOrTypedArray;function a(t,e){return function(){var r,n,o,s,l,c=t;for(s=0;s<e.length-1;s++){if(-1===(r=e[s])){for(n=!0,o=[],l=0;l<c.length;l++)o[l]=a(c[l],e.slice(s+1))(),o[l]!==o[0]&&(n=!1);return n?o[0]:o}if(\"number\"==typeof r&&!i(c))return;if(\"object\"!=typeof(c=c[r])||null===c)return}if(\"object\"==typeof c&&null!==c&&null!==(o=c[e[s]]))return o}}e.exports=function(t,e){if(n(e))e=String(e);else if(\"string\"!=typeof e||\"[-1]\"===e.substr(e.length-4))throw\"bad property string\";for(var r,i,o,s=0,c=e.split(\".\");s<c.length;){if(r=String(c[s]).match(/^([^\\[\\]]*)((\\[\\-?[0-9]*\\])+)$/)){if(r[1])c[s]=r[1];else{if(0!==s)throw\"bad property string\";c.splice(0,1)}for(i=r[2].substr(1,r[2].length-2).split(\"][\"),o=0;o<i.length;o++)s++,c.splice(s,0,Number(i[o]))}s++}return\"object\"!=typeof t?function(t,e,r){return{set:function(){throw\"bad container\"},get:function(){},astr:e,parts:r,obj:t}}(t,e,c):{set:l(t,c,e),get:a(t,c),astr:e,parts:c,obj:t}};var o=/(^|\\.)args\\[/;function s(t,e){return void 0===t||null===t&&!e.match(o)}function l(t,e,r){return function(n){var a,o,l=t,h=\"\",p=[[t,h]],d=s(n,r);for(o=0;o<e.length-1;o++){if(\"number\"==typeof(a=e[o])&&!i(l))throw\"array index but container is not an array\";if(-1===a){if(d=!u(l,e.slice(o+1),n,r))break;return}if(!f(l,a,e[o+1],d))break;if(\"object\"!=typeof(l=l[a])||null===l)throw\"container is not an object\";h=c(h,a),p.push([l,h])}if(d){if(o===e.length-1&&(delete l[e[o]],Array.isArray(l)&&+e[o]==l.length-1))for(;l.length&&void 0===l[l.length-1];)l.pop()}else l[e[o]]=n}}function c(t,e){var r=e;return n(e)?r=\"[\"+e+\"]\":t&&(r=\".\"+e),t+r}function u(t,e,r,n){var a,o=i(r),c=!0,u=r,h=n.replace(\"-1\",0),p=!o&&s(r,h),d=e[0];for(a=0;a<t.length;a++)h=n.replace(\"-1\",a),o&&(p=s(u=r[a%r.length],h)),p&&(c=!1),f(t,a,d,p)&&l(t[a],e,n.replace(\"-1\",a))(u);return c}function f(t,e,r,n){if(void 0===t[e]){if(n)return!1;t[e]=\"number\"==typeof r?[]:{}}return!0}},{\"./array\":485,\"fast-isnumeric\":190}],512:[function(t,e,r){\"use strict\";e.exports=function(){}},{}],513:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"fast-isnumeric\"),a=[];e.exports=function(t,e){if(-1===a.indexOf(t)){a.push(t);var r=1e3;i(e)?r=e:\"long\"===e&&(r=3e3);var o=n.select(\"body\").selectAll(\".plotly-notifier\").data([0]);o.enter().append(\"div\").classed(\"plotly-notifier\",!0),o.selectAll(\".notifier-note\").data(a).enter().append(\"div\").classed(\"notifier-note\",!0).style(\"opacity\",0).each((function(t){var i=n.select(this);i.append(\"button\").classed(\"notifier-close\",!0).html(\"&times;\").on(\"click\",(function(){i.transition().call(s)}));for(var a=i.append(\"p\"),o=t.split(/<br\\s*\\/?>/g),l=0;l<o.length;l++)l&&a.append(\"br\"),a.append(\"span\").text(o[l]);\"stick\"===e?i.transition().duration(350).style(\"opacity\",1):i.transition().duration(700).style(\"opacity\",1).transition().delay(r).call(s)}))}function s(t){t.duration(700).style(\"opacity\",0).each(\"end\",(function(t){var e=a.indexOf(t);-1!==e&&a.splice(e,1),n.select(this).remove()}))}}},{\"@plotly/d3\":58,\"fast-isnumeric\":190}],514:[function(t,e,r){\"use strict\";var n=t(\"./setcursor\"),i=\"data-savedcursor\";e.exports=function(t,e){var r=t.attr(i);if(e){if(!r){for(var a=(t.attr(\"class\")||\"\").split(\" \"),o=0;o<a.length;o++){var s=a[o];0===s.indexOf(\"cursor-\")&&t.attr(i,s.substr(7)).classed(s,!1)}t.attr(i)||t.attr(i,\"!!\")}n(t,e)}else r&&(t.attr(i,null),\"!!\"===r?n(t):n(t,r))}},{\"./setcursor\":524}],515:[function(t,e,r){\"use strict\";var n=t(\"./matrix\").dot,i=t(\"../constants/numerical\").BADNUM,a=e.exports={};a.tester=function(t){var e,r=t.slice(),n=r[0][0],a=n,o=r[0][1],s=o;for(r.push(r[0]),e=1;e<r.length;e++)n=Math.min(n,r[e][0]),a=Math.max(a,r[e][0]),o=Math.min(o,r[e][1]),s=Math.max(s,r[e][1]);var l,c=!1;5===r.length&&(r[0][0]===r[1][0]?r[2][0]===r[3][0]&&r[0][1]===r[3][1]&&r[1][1]===r[2][1]&&(c=!0,l=function(t){return t[0]===r[0][0]}):r[0][1]===r[1][1]&&r[2][1]===r[3][1]&&r[0][0]===r[3][0]&&r[1][0]===r[2][0]&&(c=!0,l=function(t){return t[1]===r[0][1]}));var u=!0,f=r[0];for(e=1;e<r.length;e++)if(f[0]!==r[e][0]||f[1]!==r[e][1]){u=!1;break}return{xmin:n,xmax:a,ymin:o,ymax:s,pts:r,contains:c?function(t,e){var r=t[0],c=t[1];return!(r===i||r<n||r>a||c===i||c<o||c>s)&&(!e||!l(t))}:function(t,e){var l=t[0],c=t[1];if(l===i||l<n||l>a||c===i||c<o||c>s)return!1;var u,f,h,p,d,m=r.length,g=r[0][0],v=r[0][1],y=0;for(u=1;u<m;u++)if(f=g,h=v,g=r[u][0],v=r[u][1],!(l<(p=Math.min(f,g))||l>Math.max(f,g)||c>Math.max(h,v)))if(c<Math.min(h,v))l!==p&&y++;else{if(c===(d=g===f?c:h+(l-f)*(v-h)/(g-f)))return 1!==u||!e;c<=d&&l!==p&&y++}return y%2==1},isRect:c,degenerate:u}},a.isSegmentBent=function(t,e,r,i){var a,o,s,l=t[e],c=[t[r][0]-l[0],t[r][1]-l[1]],u=n(c,c),f=Math.sqrt(u),h=[-c[1]/f,c[0]/f];for(a=e+1;a<r;a++)if(o=[t[a][0]-l[0],t[a][1]-l[1]],(s=n(o,c))<0||s>u||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 c=l+1;c<t.length;c++)(c===t.length-1||a.isSegmentBent(t,l,c+1,e))&&(r.push(t[c]),r.length<s-2&&(n=c,i=r.length-1),l=c)}t.length>1&&o(t.pop());return{addPt:o,raw:t,filtered:r}}},{\"../constants/numerical\":479,\"./matrix\":509}],516:[function(t,e,r){(function(r){(function(){\"use strict\";var n=t(\"./show_no_webgl_msg\"),i=t(\"regl\");e.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.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}}).call(this)}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{\"./show_no_webgl_msg\":525,regl:283}],517:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"is-mobile\");e.exports=function(t){var e;if(\"string\"!=typeof(e=t&&t.hasOwnProperty(\"userAgent\")?t.userAgent:function(){var t;\"undefined\"!=typeof navigator&&(t=navigator.userAgent);t&&t.headers&&\"string\"==typeof t.headers[\"user-agent\"]&&(t=t.headers[\"user-agent\"]);return 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<a.length;o++){if(-1!==a[o].indexOf(\"Safari\"))for(var s=o-1;s>-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}},{\"fast-isnumeric\":190,\"is-mobile\":234}],518:[function(t,e,r){\"use strict\";e.exports=function(t,e){if(e instanceof RegExp){for(var r=e.toString(),n=0;n<t.length;n++)if(t[n]instanceof RegExp&&t[n].toString()===r)return t;t.push(e)}else!e&&0!==e||-1!==t.indexOf(e)||t.push(e);return t}},{}],519:[function(t,e,r){\"use strict\";var n=t(\"../lib\"),i=t(\"../plot_api/plot_config\").dfltConfig;var a={add:function(t,e,r,n,a){var o,s;t.undoQueue=t.undoQueue||{index:0,queue:[],sequence:!1},s=t.undoQueue.index,t.autoplay?t.undoQueue.inSequence||(t.autoplay=!1):(!t.undoQueue.sequence||t.undoQueue.beginSequence?(o={undo:{calls:[],args:[]},redo:{calls:[],args:[]}},t.undoQueue.queue.splice(s,t.undoQueue.queue.length-s,o),t.undoQueue.index+=1):o=t.undoQueue.queue[s-1],t.undoQueue.beginSequence=!1,o&&(o.undo.calls.unshift(e),o.undo.args.unshift(r),o.redo.calls.push(n),o.redo.args.push(a)),t.undoQueue.queue.length>i.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<e.undo.calls.length;r++)a.plotDo(t,e.undo.calls[r],e.undo.args[r]);t.undoQueue.inSequence=!1,t.autoplay=!1}},redo:function(t){var e,r;if(!(void 0===t.undoQueue||isNaN(t.undoQueue.index)||t.undoQueue.index>=t.undoQueue.queue.length)){for(e=t.undoQueue.queue[t.undoQueue.index],t.undoQueue.inSequence=!0,r=0;r<e.redo.calls.length;r++)a.plotDo(t,e.redo.calls[r],e.redo.args[r]);t.undoQueue.inSequence=!1,t.autoplay=!1,t.undoQueue.index++}}};a.plotDo=function(t,e,r){t.autoplay=!0,r=function(t,e){for(var r,i=[],a=0;a<e.length;a++)r=e[a],i[a]=r===t?r:\"object\"==typeof r?Array.isArray(r)?n.extendDeep([],r):n.extendDeepAll({},r):r;return i}(t,r),e.apply(null,r)},e.exports=a},{\"../lib\":503,\"../plot_api/plot_config\":541}],520:[function(t,e,r){\"use strict\";r.counter=function(t,e,r,n){var i=(e||\"\")+(r?\"\":\"$\"),a=!1===n?\"\":\"^\";return\"xy\"===t?new RegExp(a+\"x([2-9]|[1-9][0-9]+)?y([2-9]|[1-9][0-9]+)?\"+i):new RegExp(a+t+\"([2-9]|[1-9][0-9]+)?\"+i)}},{}],521:[function(t,e,r){\"use strict\";var n=/^(.*)(\\.[^\\.\\[\\]]+|\\[\\d\\])$/,i=/^[^\\.\\[\\]]+$/;e.exports=function(t,e){for(;e;){var r=t.match(n);if(r)t=r[1];else{if(!t.match(i))throw new Error(\"bad relativeAttr call:\"+[t,e]);t=\"\"}if(\"^\"!==e.charAt(0))break;e=e.slice(1)}return t&&\"[\"!==e.charAt(0)?t+\".\"+e:t+e}},{}],522:[function(t,e,r){\"use strict\";var n=t(\"./array\").isArrayOrTypedArray,i=t(\"./is_plain_object\");e.exports=function t(e,r){for(var a in r){var o=r[a],s=e[a];if(s!==o)if(\"_\"===a.charAt(0)||\"function\"==typeof o){if(a in e)continue;e[a]=o}else if(n(o)&&n(s)&&i(o[0])){if(\"customdata\"===a||\"ids\"===a)continue;for(var l=Math.min(o.length,s.length),c=0;c<l;c++)s[c]!==o[c]&&i(o[c])&&i(s[c])&&t(s[c],o[c])}else i(o)&&i(s)&&(t(s,o),Object.keys(s).length||delete e[a])}}},{\"./array\":485,\"./is_plain_object\":504}],523:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"./loggers\"),a=t(\"./identity\"),o=t(\"../constants/numerical\").BADNUM;function s(t,e){return t<e}function l(t,e){return t<=e}function c(t,e){return t>e}function u(t,e){return t>=e}r.findBin=function(t,e,r){if(n(e.start))return r?Math.ceil((t-e.start)/e.size-1e-9)-1:Math.floor((t-e.start)/e.size+1e-9);var a,o,f=0,h=e.length,p=0,d=h>1?(e[h-1]-e[0])/(h-1):1;for(o=d>=0?r?s:l:r?u:c,t+=1e-9*d*(r?-1:1)*(d>=0?1:-1);f<h&&p++<100;)o(e[a=Math.floor((f+h)/2)],t)?f=a+1:h=a;return p>90&&i.log(\"Long binary search...\"),f-1},r.sorterAsc=function(t,e){return t-e},r.sorterDes=function(t,e){return e-t},r.distinctVals=function(t){var e,n=t.slice();for(n.sort(r.sorterAsc),e=n.length-1;e>-1&&n[e]===o;e--);for(var i,a=n[e]-n[0]||1,s=a/(e||1)/1e4,l=[],c=0;c<=e;c++){var u=n[c],f=u-i;void 0===i?(l.push(u),i=u):f>s&&(a=Math.min(a,f),l.push(u),i=u)}return{vals:l,minDiff:a}},r.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;i<a&&o++<100;)e[n=c((i+a)/2)]<=t?i=n+s:a=n-l;return e[i]},r.sort=function(t,e){for(var r=0,n=0,i=1;i<t.length;i++){var a=e(t[i],t[i-1]);if(a<0?r=1:a>0&&(n=1),r&&n)return t.sort(e)}return n?t:t.reverse()},r.findIndexOfMin=function(t,e){e=e||a;for(var r,n=1/0,i=0;i<t.length;i++){var o=e(t[i]);o<n&&(n=o,r=i)}return r}},{\"../constants/numerical\":479,\"./identity\":501,\"./loggers\":507,\"fast-isnumeric\":190}],524:[function(t,e,r){\"use strict\";e.exports=function(t,e){(t.attr(\"class\")||\"\").split(\" \").forEach((function(e){0===e.indexOf(\"cursor-\")&&t.classed(e,!1)})),e&&t.classed(\"cursor-\"+e,!0)}},{}],525:[function(t,e,r){\"use strict\";var n=t(\"../components/color\"),i=function(){};e.exports=function(t){for(var e in t)\"function\"==typeof t[e]&&(t[e]=i);t.destroy=function(){t.container.parentNode.removeChild(t.container)};var r=document.createElement(\"div\");r.className=\"no-webgl\",r.style.cursor=\"pointer\",r.style.fontSize=\"24px\",r.style.color=n.defaults[0],r.style.position=\"absolute\",r.style.left=r.style.top=\"0px\",r.style.width=r.style.height=\"100%\",r.style[\"background-color\"]=n.lightLine,r.style[\"z-index\"]=30;var a=document.createElement(\"p\");return a.textContent=\"WebGL is not supported by your browser - visit https://get.webgl.org for more info\",a.style.position=\"relative\",a.style.top=\"50%\",a.style.left=\"50%\",a.style.height=\"30%\",a.style.width=\"50%\",a.style.margin=\"-15% 0 0 -25%\",r.appendChild(a),t.container.appendChild(r),t.container.style.background=\"#FFFFFF\",t.container.onclick=function(){window.open(\"https://get.webgl.org\")},!1}},{\"../components/color\":366}],526:[function(t,e,r){\"use strict\";e.exports=function(t){return Object.keys(t).sort()}},{}],527:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"./array\").isArrayOrTypedArray;r.aggNums=function(t,e,a,o){var s,l;if((!o||o>a.length)&&(o=a.length),n(e)||(e=!1),i(a[0])){for(l=new Array(o),s=0;s<o;s++)l[s]=r.aggNums(t,e,a[s]);a=l}for(s=0;s<o;s++)n(e)?n(a[s])&&(e=t(+e,+a[s])):e=a[s];return e},r.len=function(t){return r.aggNums((function(t){return t+1}),0,t)},r.mean=function(t,e){return e||(e=r.len(t)),r.aggNums((function(t,e){return t+e}),0,t)/e},r.midRange=function(t){if(void 0!==t&&0!==t.length)return(r.aggNums(Math.max,null,t)+r.aggNums(Math.min,null,t))/2},r.variance=function(t,e,i){return e||(e=r.len(t)),n(i)||(i=r.mean(t,e)),r.aggNums((function(t,e){return t+Math.pow(e-i,2)}),0,t)/e},r.stdev=function(t,e,n){return Math.sqrt(r.variance(t,e,n))},r.median=function(t){var e=t.slice().sort();return r.interp(e,.5)},r.interp=function(t,e){if(!n(e))throw\"n should be a finite number\";if((e=e*t.length-.5)<0)return t[0];if(e>t.length-1)return t[t.length-1];var r=e%1;return r*t[Math.ceil(e)]+(1-r)*t[Math.floor(e)]}},{\"./array\":485,\"fast-isnumeric\":190}],528:[function(t,e,r){\"use strict\";var n=t(\"color-normalize\");e.exports=function(t){return t?n(t):[0,0,0,1]}},{\"color-normalize\":89}],529:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../lib\"),a=i.strTranslate,o=t(\"../constants/xmlns_namespaces\"),s=t(\"../constants/alignment\").LINE_SPACING,l=/([^$]*)([$]+[^$]*[$]+)([^$]*)/;r.convertToTspans=function(t,e,m){var M=t.text(),S=!t.attr(\"data-notex\")&&e&&e._context.typesetMath&&\"undefined\"!=typeof MathJax&&M.match(l),C=n.select(t.node().parentNode);if(!C.empty()){var P=t.attr(\"class\")?t.attr(\"class\").split(\" \")[0]:\"text\";return P+=\"-math\",C.selectAll(\"svg.\"+P).remove(),C.selectAll(\"g.\"+P+\"-group\").remove(),t.style(\"display\",null).attr({\"data-unformatted\":M,\"data-math\":\"N\"}),S?(e&&e._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)return void i.warn(\"No MathJax version:\",MathJax.version);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===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})))}(S[2],o,(function(n,i,o){C.selectAll(\"svg.\"+P).remove(),C.selectAll(\"g.\"+P+\"-group\").remove();var s=n&&n.select(\"svg\");if(!s||!s.node())return I(),void e();var l=C.append(\"g\").classed(P+\"-group\",!0).attr({\"pointer-events\":\"none\",\"data-unformatted\":M,\"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 f=t.node().style.fill||\"black\",h=s.select(\"g\");h.attr({fill:f,stroke:f});var p=h.node().getBoundingClientRect(),d=p.width,g=p.height;(d>c||g>u)&&(s.style(\"overflow\",\"hidden\"),d=(p=s.node().getBoundingClientRect()).width,g=p.height);var v=+t.attr(\"x\"),y=+t.attr(\"y\"),x=-(r||t.node().getBoundingClientRect().height)/4;if(\"y\"===P[0])l.attr({transform:\"rotate(\"+[-90,v,y]+\")\"+a(-d/2,x-g/2)});else if(\"l\"===P[0])y=x-g/2;else if(\"a\"===P[0]&&0!==P.indexOf(\"atitle\"))v=0,y=x;else{var b=t.attr(\"text-anchor\");v-=d*(\"middle\"===b?.5:\"end\"===b?1:0),y=y+x-g/2}s.attr({x:v,y:y}),m&&m.call(t,l),e(l)}))}))):I(),t}function I(){C.empty()||(P=t.attr(\"class\")+\"-math\",C.select(\"svg.\"+P).remove()),t.text(\"\").style(\"white-space\",\"pre\"),function(t,e){e=e.replace(g,\" \");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<i.length;a++)f(i[a])}function f(t){var e,i=t.type,a={};if(\"a\"===i){e=\"a\";var s=t.target,c=t.href,u=t.popup;c&&(a={\"xlink:xlink:show\":\"_blank\"===s||\"_\"!==s.charAt(0)?\"new\":\"replace\",target:s,\"xlink:xlink:href\":c},u&&(a.onclick='window.open(this.href.baseVal,this.target.baseVal,\"'+u+'\");return false;'))}else e=\"tspan\";t.style&&(a.style=t.style);var f=document.createElementNS(o.svg,e);if(\"sup\"===i||\"sub\"===i){m(r,\"\\u200b\"),r.appendChild(f);var h=document.createElementNS(o.svg,\"tspan\");m(h,\"\\u200b\"),n.select(h).attr(\"dy\",d[i]),a.dy=p[i],r.appendChild(f),r.appendChild(h)}else r.appendChild(f);n.select(f).attr(a),r=t.node=f,l.push(t)}function m(t,e){t.appendChild(document.createTextNode(e))}function M(t){if(1!==l.length){var n=l.pop();t!==n.type&&i.log(\"Start tag <\"+n.type+\"> doesnt match end tag <\"+t+\">. Pretending it did match.\",e),r=l[l.length-1].node}else i.log(\"Ignoring unexpected end tag </\"+t+\">.\",e)}x.test(e)?u():(r=t,l=[{node:t}]);for(var S=e.split(v),C=0;C<S.length;C++){var P=S[C],I=P.match(y),O=I&&I[2].toLowerCase(),z=h[O];if(\"br\"===O)u();else if(void 0===z)m(r,E(P));else if(I[1])M(O);else{var D=I[4],R={type:O},F=k(D,b);if(F?(F=F.replace(A,\"$1 fill:\"),z&&(F+=\";\"+z)):z&&(F=z),F&&(R.style=F),\"a\"===O){a=!0;var B=k(D,_);if(B){var N=L(B);N&&(R.href=N,R.target=k(D,w)||\"_blank\",R.popup=k(D,T))}}f(R)}}return a}(t.node(),M)&&t.style(\"pointer-events\",\"all\"),r.positionText(t),m&&m.call(t)}};var c=/(<|&lt;|&#60;)/g,u=/(>|&gt;|&#62;)/g;var f=[[\"$\",\"$\"],[\"\\\\(\",\"\\\\)\"]];var 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\"},m=[\"http:\",\"https:\",\"mailto:\",\"\",void 0,\":\"],g=r.NEWLINES=/(\\r\\n?|\\n)/g,v=/(<[^<>]*>)/,y=/<(\\/?)([^ >]*)(\\s+(.*))?>/i,x=/<br(\\s+.*)?>/i;r.BR_TAG_ALL=/<br(\\s+.*)?>/gi;var b=/(^|[\\s\"'])style\\s*=\\s*(\"([^\"]*);?\"|'([^']*);?')/i,_=/(^|[\\s\"'])href\\s*=\\s*(\"([^\"]*)\"|'([^']*)')/i,w=/(^|[\\s\"'])target\\s*=\\s*(\"([^\"\\s]*)\"|'([^'\\s]*)')/i,T=/(^|[\\s\"'])popup\\s*=\\s*(\"([\\w=,]*)\"|'([\\w=,]*)')/i;function k(t,e){if(!t)return null;var r=t.match(e),n=r&&(r[3]||r[4]);return n&&E(n)}var A=/(^|;)\\s*color:/;r.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=\"...\".length,a=t.split(v),o=[],s=\"\",l=0,c=0;c<a.length;c++){var u=a[c],f=u.match(y),h=f&&f[2].toLowerCase();if(h)-1!==n.indexOf(h)&&(o.push(u),s=h);else{var p=u.length;if(l+p<r)o.push(u),l+=p;else if(l<r){var d=r-l;s&&(\"br\"!==s||d<=i||p<=i)&&o.pop(),r>i?o.push(u.substr(0,d-i)+\"...\"):o.push(u.substr(0,d));break}s=\"\"}}return o.join(\"\")};var M={mu:\"\\u03bc\",amp:\"&\",lt:\"<\",gt:\">\",nbsp:\"\\xa0\",times:\"\\xd7\",plusmn:\"\\xb1\",deg:\"\\xb0\"},S=/&(#\\d+|#x[\\da-fA-F]+|[a-z]+);/g;function E(t){return t.replace(S,(function(t,e){return(\"#\"===e.charAt(0)?function(t){if(t>1114111)return;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)):M[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!==m.indexOf(i)&&-1!==m.indexOf(a)?e:\"\"}function C(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}}r.convertEntities=E,r.sanitizeHTML=function(t){t=t.replace(g,\" \");for(var e=document.createElement(\"p\"),r=e,i=[],a=t.split(v),o=0;o<a.length;o++){var s=a[o],l=s.match(y),c=l&&l[2].toLowerCase();if(c in h)if(l[1])i.length&&(r=i.pop());else{var u=l[4],f=k(u,b),p=f?{style:f}:{};if(\"a\"===c){var d=k(u,_);if(d){var m=L(d);if(m){p.href=m;var x=k(u,w);x&&(p.target=x)}}}var T=document.createElement(c);r.appendChild(T),n.select(T).attr(p),r=T,i.push(T)}else r.appendChild(document.createTextNode(E(s)))}return e.innerHTML},r.lineCount=function(t){return t.selectAll(\"tspan.line\").size()||1},r.positionText=function(t,e,r){return t.each((function(){var t=n.select(this);function i(e,r){return void 0===r?null===(r=t.attr(e))&&(t.attr(e,0),r=0):t.attr(e,r),r}var a=i(\"x\",e),o=i(\"y\",r);\"text\"===this.nodeName&&t.selectAll(\"tspan.line\").attr({x:a,y:o})}))};r.makeTextShadow=function(t){var e=\"1px \",r=\"1px \",n=\"1px \";return e+r+n+t+\", -\"+e+\"-\"+r+n+t+\", \"+e+\"-\"+r+n+t+\", -\"+e+r+n+t},r.makeEditable=function(t,e){var r=e.gd,i=e.delegate,a=n.dispatch(\"edit\",\"input\",\"cancel\"),o=i||t;if(t.style({\"pointer-events\":i?\"none\":\"all\"}),1!==t.size())throw new Error(\"boo\");function s(){!function(){var i=n.select(r).select(\".svg-container\"),o=i.append(\"div\"),s=t.node().style,c=parseFloat(s.fontSize||12),u=e.text;void 0===u&&(u=t.attr(\"data-unformatted\"));o.classed(\"plugin-editable editable\",!0).style({position:\"absolute\",\"font-family\":s.fontFamily||\"Arial\",\"font-size\":c,color:e.fill||s.fill||\"black\",opacity:1,\"background-color\":e.background||\"transparent\",outline:\"#ffffff33 1px solid\",margin:[-c/8+1,0,0,-1].join(\"px \")+\"px\",padding:\"0\",\"box-sizing\":\"border-box\"}).attr({contenteditable:!0}).text(u).call(C(t,i,e)).on(\"blur\",(function(){r._editing=!1,t.text(this.textContent).style({opacity:1});var e,i=n.select(this).attr(\"class\");(e=i?\".\"+i.split(\" \")[0]+\"-math-group\":\"[class*=-math-group]\")&&n.select(t.node().parentNode).select(e).style({opacity:0});var o=this.textContent;n.select(this).transition().duration(0).remove(),n.select(document).on(\"mouseup\",null),a.edit.call(t,o)})).on(\"focus\",(function(){var t=this;r._editing=!0,n.select(document).on(\"mouseup\",(function(){if(n.event.target===t)return!1;document.activeElement===o.node()&&o.node().blur()}))})).on(\"keyup\",(function(){27===n.event.which?(r._editing=!1,t.style({opacity:1}),n.select(this).style({opacity:0}).on(\"blur\",(function(){return!1})).transition().remove(),a.cancel.call(t,this.textContent)):(a.input.call(t,this.textContent),n.select(this).call(C(t,i,e)))})).on(\"keydown\",(function(){13===n.event.which&&this.blur()})).call(l)}(),t.style({opacity:0});var i,s=o.attr(\"class\");(i=s?\".\"+s.split(\" \")[0]+\"-math-group\":\"[class*=-math-group]\")&&n.select(t.node().parentNode).select(i).style({opacity:0})}function l(t){var e=t.node(),r=document.createRange();r.selectNodeContents(e);var n=window.getSelection();n.removeAllRanges(),n.addRange(r),e.focus()}return e.immediate?s():o.on(\"click\",s),n.rebind(t,a,\"on\")}},{\"../constants/alignment\":471,\"../constants/xmlns_namespaces\":480,\"../lib\":503,\"@plotly/d3\":58}],530:[function(t,e,r){\"use strict\";var n={};function i(t){t&&null!==t.timer&&(clearTimeout(t.timer),t.timer=null)}r.throttle=function(t,e,r){var a=n[t],o=Date.now();if(!a){for(var s in n)n[s].ts<o-6e4&&delete n[s];a=n[t]={ts:0,timer:null}}function l(){r(),a.ts=Date.now(),a.onDone&&(a.onDone(),a.onDone=null)}i(a),o>a.ts+e?l():a.timer=setTimeout((function(){l(),a.timer=null}),e)},r.done=function(t){var e=n[t];return e&&e.timer?new Promise((function(t){var r=e.onDone;e.onDone=function(){r&&r(),t(),e.onDone=null}})):Promise.resolve()},r.clear=function(t){if(t)i(n[t]),delete n[t];else for(var e in n)r.clear(e)}},{}],531:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\");e.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}},{\"fast-isnumeric\":190}],532:[function(t,e,r){\"use strict\";var n=e.exports={},i=t(\"../plots/geo/constants\").locationmodeToLayer,a=t(\"topojson-client\").feature;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}},{\"../plots/geo/constants\":587,\"topojson-client\":315}],533:[function(t,e,r){\"use strict\";e.exports={moduleType:\"locale\",name:\"en-US\",dictionary:{\"Click to enter Colorscale title\":\"Click to enter Colorscale title\"},format:{date:\"%m/%d/%Y\"}}},{}],534:[function(t,e,r){\"use strict\";e.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\"}}},{}],535:[function(t,e,r){\"use strict\";var n=t(\"../registry\");e.exports=function(t){for(var e,r,i=n.layoutArrayContainers,a=n.layoutArrayRegexes,o=t.split(\"[\")[0],s=0;s<a.length;s++)if((r=t.match(a[s]))&&0===r.index){e=r[0];break}if(e||(e=i[i.indexOf(o)]),!e)return!1;var l=t.substr(e.length);return l?!!(r=l.match(/^\\[(0|[1-9][0-9]*)\\](\\.(.+))?$/))&&{array:e,index:Number(r[1]),property:r[3]||\"\"}:{array:e,index:\"\",property:\"\"}}},{\"../registry\":638}],536:[function(t,e,r){\"use strict\";var n=t(\"../lib\"),i=n.extendFlat,a=n.isPlainObject,o={valType:\"flaglist\",extras:[\"none\"],flags:[\"calc\",\"clearAxisTypes\",\"plot\",\"style\",\"markerSize\",\"colorbars\"]},s={valType:\"flaglist\",extras:[\"none\"],flags:[\"calc\",\"plot\",\"legend\",\"ticks\",\"axrange\",\"layoutstyle\",\"modebar\",\"camera\",\"arraydraw\",\"colorbars\"]},l=o.flags.slice().concat([\"fullReplot\"]),c=s.flags.slice().concat(\"layoutReplot\");function u(t){for(var e={},r=0;r<t.length;r++)e[t[r]]=!1;return e}function f(t,e,r){var n=i({},t);for(var o in n){var s=n[o];a(s)&&(n[o]=h(s,e,r,o))}return\"from-root\"===r&&(n.editType=e),n}function h(t,e,r,n){if(t.valType){var a=i({},t);if(a.editType=e,Array.isArray(t.items)){a.items=new Array(t.items.length);for(var o=0;o<t.items.length;o++)a.items[o]=h(t.items[o],e,\"from-root\")}return a}return f(t,e,\"_\"===n.charAt(0)?\"nested\":\"from-root\")}e.exports={traces:o,layout:s,traceFlags:function(){return u(l)},layoutFlags:function(){return u(c)},update:function(t,e){var r=e.editType;if(r&&\"none\"!==r)for(var n=r.split(\"+\"),i=0;i<n.length;i++)t[n[i]]=!0},overrideAll:f}},{\"../lib\":503}],537:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"gl-mat4/fromQuat\"),a=t(\"../registry\"),o=t(\"../lib\"),s=t(\"../plots/plots\"),l=t(\"../plots/cartesian/axis_ids\"),c=t(\"../components/color\"),u=l.cleanId,f=l.getFromTrace,h=a.traceIs;function p(t,e){var r=t[e],n=e.charAt(0);r&&\"paper\"!==r&&(t[e]=u(r,n,!0))}function d(t){function e(e,r){var n=t[e],i=t.title&&t.title[r];n&&!i&&(t.title||(t.title={}),t.title[r]=t[e],delete t[e])}t&&(\"string\"!=typeof t.title&&\"number\"!=typeof t.title||(t.title={text:t.title}),e(\"titlefont\",\"font\"),e(\"titleposition\",\"position\"),e(\"titleside\",\"side\"),e(\"titleoffset\",\"offset\"))}function m(t){if(!o.isPlainObject(t))return!1;var e=t.name;return delete t.name,delete t.showlegend,(\"string\"==typeof e||\"number\"==typeof e)&&String(e)}function g(t,e,r,n){if(r&&!n)return t;if(n&&!r)return e;if(!t.trim())return e;if(!e.trim())return t;var i,a=Math.min(t.length,e.length);for(i=0;i<a&&t.charAt(i)===e.charAt(i);i++);return t.substr(0,i).trim()}function v(t){var e=\"middle\",r=\"center\";return\"string\"==typeof t&&(-1!==t.indexOf(\"top\")?e=\"top\":-1!==t.indexOf(\"bottom\")&&(e=\"bottom\"),-1!==t.indexOf(\"left\")?r=\"left\":-1!==t.indexOf(\"right\")&&(r=\"right\")),e+\" \"+r}function y(t,e){return e in t&&\"object\"==typeof t[e]&&0===Object.keys(t[e]).length}r.clearPromiseQueue=function(t){Array.isArray(t._promises)&&t._promises.length>0&&o.log(\"Clearing previous rejected promises from queue.\"),t._promises=[]},r.cleanLayout=function(t){var e,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,m=Object.keys(t);for(e=0;e<m.length;e++){var g=m[e];if(a&&a.test(g)){var v=t[g];v.anchor&&\"free\"!==v.anchor&&(v.anchor=u(v.anchor)),v.overlaying&&(v.overlaying=u(v.overlaying)),v.type||(v.isdate?v.type=\"date\":v.islog?v.type=\"log\":!1===v.isdate&&!1===v.islog&&(v.type=\"linear\")),\"withzero\"!==v.autorange&&\"tozero\"!==v.autorange||(v.autorange=!0,v.rangemode=\"tozero\"),delete v.islog,delete v.isdate,delete v.categories,y(v,\"domain\")&&delete v.domain,void 0!==v.autotick&&(void 0===v.tickmode&&(v.tickmode=v.autotick?\"auto\":\"linear\"),delete v.autotick),d(v)}else if(l&&l.test(g)){d(t[g].radialaxis)}else if(f&&f.test(g)){var x=t[g];d(x.aaxis),d(x.baxis),d(x.caxis)}else if(h&&h.test(g)){var b=t[g],_=b.cameraposition;if(Array.isArray(_)&&4===_[0].length){var w=_[0],T=_[1],k=_[2],A=i([],w),M=[];for(n=0;n<3;++n)M[n]=T[n]+k*A[2+4*n];b.camera={eye:{x:M[0],y:M[1],z:M[2]},center:{x:T[0],y:T[1],z:T[2]},up:{x:0,y:0,z:1}},delete b.cameraposition}d(b.xaxis),d(b.yaxis),d(b.zaxis)}}var S=Array.isArray(t.annotations)?t.annotations.length:0;for(e=0;e<S;e++){var E=t.annotations[e];o.isPlainObject(E)&&(E.ref&&(\"paper\"===E.ref?(E.xref=\"paper\",E.yref=\"paper\"):\"data\"===E.ref&&(E.xref=\"x\",E.yref=\"y\"),delete E.ref),p(E,\"xref\"),p(E,\"yref\"))}var L=Array.isArray(t.shapes)?t.shapes.length:0;for(e=0;e<L;e++){var C=t.shapes[e];o.isPlainObject(C)&&(p(C,\"xref\"),p(C,\"yref\"))}var P=Array.isArray(t.images)?t.images.length:0;for(e=0;e<P;e++){var I=t.images[e];o.isPlainObject(I)&&(p(I,\"xref\"),p(I,\"yref\"))}var O=t.legend;return O&&(O.x>3?(O.x=1.02,O.xanchor=\"left\"):O.x<-2&&(O.x=-.02,O.xanchor=\"right\"),O.y>3?(O.y=1.02,O.yanchor=\"bottom\"):O.y<-2&&(O.y=-.02,O.yanchor=\"top\")),d(t),\"rotate\"===t.dragmode&&(t.dragmode=\"orbit\"),c.clean(t),t.template&&t.template.layout&&r.cleanLayout(t.template.layout),t},r.cleanData=function(t){for(var e=0;e<t.length;e++){var n,i=t[e];if(\"histogramy\"===i.type&&\"xbins\"in i&&!(\"ybins\"in i)&&(i.ybins=i.xbins,delete i.xbins),i.error_y&&\"opacity\"in i.error_y){var l=c.defaults,f=i.error_y.color||(h(i,\"bar\")?c.defaultLine:l[e%l.length]);i.error_y.color=c.addOpacity(c.rgb(f),c.opacity(f)*i.error_y.opacity),delete i.error_y.opacity}if(\"bardir\"in i&&(\"h\"!==i.bardir||!h(i,\"bar\")&&\"histogram\"!==i.type.substr(0,9)||(i.orientation=\"h\",r.swapXYData(i)),delete i.bardir),\"histogramy\"===i.type&&r.swapXYData(i),\"histogramx\"!==i.type&&\"histogramy\"!==i.type||(i.type=\"histogram\"),\"scl\"in i&&!(\"colorscale\"in i)&&(i.colorscale=i.scl,delete i.scl),\"reversescl\"in i&&!(\"reversescale\"in i)&&(i.reversescale=i.reversescl,delete i.reversescl),i.xaxis&&(i.xaxis=u(i.xaxis,\"x\")),i.yaxis&&(i.yaxis=u(i.yaxis,\"y\")),h(i,\"gl3d\")&&i.scene&&(i.scene=s.subplotsRegistry.gl3d.cleanId(i.scene)),!h(i,\"pie-like\")&&!h(i,\"bar-like\"))if(Array.isArray(i.textposition))for(n=0;n<i.textposition.length;n++)i.textposition[n]=v(i.textposition[n]);else i.textposition&&(i.textposition=v(i.textposition));var p=a.getModule(i);if(p&&p.colorbar){var x=p.colorbar.container,b=x?i[x]:i;b&&b.colorscale&&(\"YIGnBu\"===b.colorscale&&(b.colorscale=\"YlGnBu\"),\"YIOrRd\"===b.colorscale&&(b.colorscale=\"YlOrRd\"))}if(\"surface\"===i.type&&o.isPlainObject(i.contours)){var _=[\"x\",\"y\",\"z\"];for(n=0;n<_.length;n++){var w=i.contours[_[n]];o.isPlainObject(w)&&(w.highlightColor&&(w.highlightcolor=w.highlightColor,delete w.highlightColor),w.highlightWidth&&(w.highlightwidth=w.highlightWidth,delete w.highlightWidth))}}if(\"candlestick\"===i.type||\"ohlc\"===i.type){var T=!1!==(i.increasing||{}).showlegend,k=!1!==(i.decreasing||{}).showlegend,A=m(i.increasing),M=m(i.decreasing);if(!1!==A&&!1!==M){var S=g(A,M,T,k);S&&(i.name=S)}else!A&&!M||i.name||(i.name=A||M)}if(Array.isArray(i.transforms)){var E=i.transforms;for(n=0;n<E.length;n++){var L=E[n];if(o.isPlainObject(L))switch(L.type){case\"filter\":L.filtersrc&&(L.target=L.filtersrc,delete L.filtersrc),L.calendar&&(L.valuecalendar||(L.valuecalendar=L.calendar),delete L.calendar);break;case\"groupby\":if(L.styles=L.styles||L.style,L.styles&&!Array.isArray(L.styles)){var C=L.styles,P=Object.keys(C);L.styles=[];for(var I=0;I<P.length;I++)L.styles.push({target:P[I],value:C[P[I]]})}}}}y(i,\"line\")&&delete i.line,\"marker\"in i&&(y(i.marker,\"line\")&&delete i.marker.line,y(i,\"marker\")&&delete i.marker),c.clean(i),i.autobinx&&(delete i.autobinx,delete i.xbins),i.autobiny&&(delete i.autobiny,delete i.ybins),d(i),i.colorbar&&d(i.colorbar),i.marker&&i.marker.colorbar&&d(i.marker.colorbar),i.line&&i.line.colorbar&&d(i.line.colorbar),i.aaxis&&d(i.aaxis),i.baxis&&d(i.baxis)}},r.swapXYData=function(t){var e;if(o.swapAttrs(t,[\"?\",\"?0\",\"d?\",\"?bins\",\"nbins?\",\"autobin?\",\"?src\",\"error_?\"]),Array.isArray(t.z)&&Array.isArray(t.z[0])&&(t.transpose?delete t.transpose:t.transpose=!0),t.error_x&&t.error_y){var r=t.error_y,n=\"copy_ystyle\"in r?r.copy_ystyle:!(r.color||r.thickness||r.width);o.swapAttrs(t,[\"error_?.copy_ystyle\"]),n&&o.swapAttrs(t,[\"error_?.color\",\"error_?.thickness\",\"error_?.width\"])}if(\"string\"==typeof t.hoverinfo){var i=t.hoverinfo.split(\"+\");for(e=0;e<i.length;e++)\"x\"===i[e]?i[e]=\"y\":\"y\"===i[e]&&(i[e]=\"x\");t.hoverinfo=i.join(\"+\")}},r.coerceTraceIndices=function(t,e){if(n(e))return[e];if(!Array.isArray(e)||!e.length)return t.data.map((function(t,e){return e}));if(Array.isArray(e)){for(var r=[],i=0;i<e.length;i++)o.isIndex(e[i],t.data.length)?r.push(e[i]):o.warn(\"trace index (\",e[i],\") is not a number or is out of bounds\");return r}return e},r.manageArrayContainers=function(t,e,r){var i=t.obj,a=t.parts,s=a.length,l=a[s-1],c=n(l);if(c&&null===e){var u=a.slice(0,s-1).join(\".\");o.nestedProperty(i,u).get().splice(l,1)}else c&&void 0===t.get()?(void 0===t.get()&&(r[t.astr]=null),t.set(e)):t.set(e)};var x=/(\\.[^\\[\\]\\.]+|\\[[^\\[\\]\\.]+\\])$/;function b(t){var e=t.search(x);if(e>0)return t.substr(0,e)}r.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\"];r.clearAxisTypes=function(t,e,r){for(var n=0;n<e.length;n++)for(var i=t._fullData[n],a=0;a<3;a++){var s=f(t,i,_[a]);if(s&&\"log\"!==s.type){var l=s._name,c=s._id.substr(1);if(\"scene\"===c.substr(0,5)){if(void 0!==r[c])continue;l=c+\".\"+l}var u=l+\".type\";void 0===r[l]&&void 0===r[u]&&o.nestedProperty(t.layout,u).set(null)}}}},{\"../components/color\":366,\"../lib\":503,\"../plots/cartesian/axis_ids\":558,\"../plots/plots\":619,\"../registry\":638,\"fast-isnumeric\":190,\"gl-mat4/fromQuat\":200}],538:[function(t,e,r){\"use strict\";var n=t(\"./plot_api\");r._doPlot=n._doPlot,r.newPlot=n.newPlot,r.restyle=n.restyle,r.relayout=n.relayout,r.redraw=n.redraw,r.update=n.update,r._guiRestyle=n._guiRestyle,r._guiRelayout=n._guiRelayout,r._guiUpdate=n._guiUpdate,r._storeDirectGUIEdit=n._storeDirectGUIEdit,r.react=n.react,r.extendTraces=n.extendTraces,r.prependTraces=n.prependTraces,r.addTraces=n.addTraces,r.deleteTraces=n.deleteTraces,r.moveTraces=n.moveTraces,r.purge=n.purge,r.addFrames=n.addFrames,r.deleteFrames=n.deleteFrames,r.animate=n.animate,r.setPlotConfig=n.setPlotConfig,r.toImage=t(\"./to_image\"),r.validate=t(\"./validate\"),r.downloadImage=t(\"../snapshot/download\");var i=t(\"./template_api\");r.makeTemplate=i.makeTemplate,r.validateTemplate=i.validateTemplate},{\"../snapshot/download\":640,\"./plot_api\":540,\"./template_api\":545,\"./to_image\":546,\"./validate\":547}],539:[function(t,e,r){\"use strict\";var n=t(\"../lib/is_plain_object\"),i=t(\"../lib/noop\"),a=t(\"../lib/loggers\"),o=t(\"../lib/search\").sorterAsc,s=t(\"../registry\");r.containerArrayMatch=t(\"./container_array_match\");var l=r.isAddVal=function(t){return\"add\"===t||n(t)},c=r.isRemoveVal=function(t){return null===t||\"remove\"===t};r.applyContainerArrayChanges=function(t,e,r,n,u){var f=e.astr,h=s.getComponentMethod(f,\"supplyLayoutDefaults\"),p=s.getComponentMethod(f,\"draw\"),d=s.getComponentMethod(f,\"drawOne\"),m=n.replot||n.recalc||h===i||p===i,g=t.layout,v=t._fullLayout;if(r[\"\"]){Object.keys(r).length>1&&a.warn(\"Full array edits are incompatible with other edits\",f);var y=r[\"\"][\"\"];if(c(y))e.set(null);else{if(!Array.isArray(y))return a.warn(\"Unrecognized full array edit value\",f,y),!0;e.set(y)}return!m&&(h(g,v),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=u(v,f).get(),P=[],I=-1,O=L.length;for(x=0;x<S.length;x++)if(w=r[_=S[x]],T=Object.keys(w),k=w[\"\"],A=l(k),_<0||_>L.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,_),c(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===I&&(I=_);else for(b=0;b<T.length;b++)M=f+\"[\"+_+\"].\",u(L[_],T[b],M).set(w[T[b]]);for(x=P.length-1;x>=0;x--)L.splice(P[x],1),C&&C.splice(P[x],1);if(L.length?E||e.set(L):e.set(null),m)return!1;if(h(g,v),d!==i){var z;if(-1===I)z=S;else{for(O=Math.max(L.length,O),z=[],x=0;x<S.length&&!((_=S[x])>=I);x++)z.push(_);for(x=I;x<O;x++)z.push(x)}for(x=0;x<z.length;x++)d(t,z[x])}else p(t);return!0}},{\"../lib/is_plain_object\":504,\"../lib/loggers\":507,\"../lib/noop\":512,\"../lib/search\":523,\"../registry\":638,\"./container_array_match\":535}],540:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"fast-isnumeric\"),a=t(\"has-hover\"),o=t(\"../lib\"),s=o.nestedProperty,l=t(\"../lib/events\"),c=t(\"../lib/queue\"),u=t(\"../registry\"),f=t(\"./plot_schema\"),h=t(\"../plots/plots\"),p=t(\"../plots/cartesian/axes\"),d=t(\"../components/drawing\"),m=t(\"../components/color\"),g=t(\"../plots/cartesian/graph_interact\").initInteractions,v=t(\"../constants/xmlns_namespaces\"),y=t(\"../plots/cartesian/select\").clearSelect,x=t(\"./plot_config\").dfltConfig,b=t(\"./manage_arrays\"),_=t(\"./helpers\"),w=t(\"./subroutines\"),T=t(\"./edit_types\"),k=t(\"../plots/cartesian/constants\").AX_NAME_PATTERN,A=0;function M(t){var e=t._fullLayout;e._redrawFromAutoMarginCount?e._redrawFromAutoMarginCount--:t.emit(\"plotly_afterplot\")}function S(t,e){try{t._fullLayout._paper.style(\"background\",e)}catch(t){o.error(t)}}function E(t,e){S(t,m.combine(e,\"white\"))}function L(t,e){if(!t._context){t._context=o.extendDeep({},x);var r=n.select(\"base\");t._context._baseUrl=r.size()&&r.attr(\"href\")?window.location.href.split(\"#\")[0]:\"\"}var i,s,l,c=t._context;if(e){for(s=Object.keys(e),i=0;i<s.length;i++)\"editable\"!==(l=s[i])&&\"edits\"!==l&&l in c&&(\"setBackground\"===l&&\"opaque\"===e[l]?c[l]=E:c[l]=e[l]);e.plot3dPixelRatio&&!c.plotGlPixelRatio&&(c.plotGlPixelRatio=c.plot3dPixelRatio);var u=e.editable;if(void 0!==u)for(c.editable=u,s=Object.keys(c.edits),i=0;i<s.length;i++)c.edits[s[i]]=u;if(e.edits)for(s=Object.keys(e.edits),i=0;i<s.length;i++)(l=s[i])in c.edits&&(c.edits[l]=e.edits[l]);c._exportedPlot=e._exportedPlot}c.staticPlot&&(c.editable=!1,c.edits={},c.autosizable=!1,c.scrollZoom=!1,c.doubleClick=!1,c.showTips=!1,c.showLink=!1,c.displayModeBar=!1),\"hover\"!==c.displayModeBar||a||(c.displayModeBar=!0),\"transparent\"!==c.setBackground&&\"function\"==typeof c.setBackground||(c.setBackground=S),c._hasZeroHeight=c._hasZeroHeight||0===t.clientHeight,c._hasZeroWidth=c._hasZeroWidth||0===t.clientWidth;var f=c.scrollZoom,h=c._scrollZoom={};if(!0===f)h.cartesian=1,h.gl3d=1,h.geo=1,h.mapbox=1;else if(\"string\"==typeof f){var p=f.split(\"+\");for(i=0;i<p.length;i++)h[p[i]]=1}else!1!==f&&(h.gl3d=1,h.geo=1,h.mapbox=1)}function C(t,e){var r,n,i=e+1,a=[];for(r=0;r<t.length;r++)(n=t[r])<0?a.push(i+n):a.push(n);return a}function P(t,e,r){var n,i;for(n=0;n<e.length;n++){if((i=e[n])!==parseInt(i,10))throw new Error(\"all values in \"+r+\" must be integers\");if(i>=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 I(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]),P(t,e,\"currentIndices\"),void 0===r||Array.isArray(r)||(r=[r]),void 0!==r&&P(t,r,\"newIndices\"),void 0!==r&&e.length!==r.length)throw new Error(\"current and new indices must be of equal length.\")}function O(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 P(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,f,h=o.isPlainObject(n),p=[];for(var d in Array.isArray(r)||(r=[r]),r=C(r,t.data.length-1),e)for(var m=0;m<r.length;m++){if(a=t.data[r[m]],l=(c=s(a,d)).get(),u=e[d][m],!o.isArrayOrTypedArray(u))throw new Error(\"attribute: \"+d+\" index: \"+m+\" must be an array\");if(!o.isArrayOrTypedArray(l))throw new Error(\"cannot extend missing or non-array attribute: \"+d);if(l.constructor!==u.constructor)throw new Error(\"cannot extend array with an array of a different type: \"+d);f=h?n[d][m]:n,i(f)||(f=-1),p.push({prop:c,target:l,insert:u,maxp:Math.floor(f)})}return p}(t,e,r,n),c={},u={},f=0;f<l.length;f++){var h=l[f].prop,p=l[f].maxp,d=a(l[f].target,l[f].insert,p);h.set(d[0]),Array.isArray(c[h.astr])||(c[h.astr]=[]),c[h.astr].push(d[1]),Array.isArray(u[h.astr])||(u[h.astr]=[]),u[h.astr].push(l[f].target.length)}return{update:c,maxPoints:u}}function z(t,e){var r=new t.constructor(t.length+e.length);return r.set(t),r.set(e,t.length),r}function D(t,e,n,i){t=o.getGraphDiv(t),_.clearPromiseQueue(t);var a={};if(\"string\"==typeof e)a[e]=n;else{if(!o.isPlainObject(e))return o.warn(\"Restyle fail.\",e,n,i),Promise.reject();a=o.extendFlat({},e),void 0===i&&(i=n)}Object.keys(a).length&&(t.changed=!0);var s=_.coerceTraceIndices(t,i),l=N(t,a,s),u=l.flags;u.calc&&(t.calcdata=void 0),u.clearAxisTypes&&_.clearAxisTypes(t,s,{});var f=[];u.fullReplot?f.push(r._doPlot):(f.push(h.previousPromises),h.supplyDefaults(t),u.markerSize&&(h.doCalcdata(t),H(f)),u.style&&f.push(w.doTraceStyle),u.colorbars&&f.push(w.doColorBars),f.push(M)),f.push(h.rehover,h.redrag),c.add(t,D,[t,l.undoit,l.traces],D,[t,l.redoit,l.traces]);var p=o.syncOrAsync(f,t);return p&&p.then||(p=Promise.resolve()),p.then((function(){return t.emit(\"plotly_restyle\",l.eventData),t}))}function R(t){return void 0===t?null:t}function F(t,e){return e?function(e,r,n){var i=s(e,r),a=i.set;return i.set=function(e){B((n||\"\")+r,i.get(),e,t),a(e)},i}:s}function B(t,e,r,n){if(Array.isArray(e)||Array.isArray(r))for(var i=Array.isArray(e)?e:[],a=Array.isArray(r)?r:[],s=Math.max(i.length,a.length),l=0;l<s;l++)B(t+\"[\"+l+\"]\",i[l],a[l],n);else if(o.isPlainObject(e)||o.isPlainObject(r)){var c=o.isPlainObject(e)?e:{},u=o.isPlainObject(r)?r:{},f=o.extendFlat({},c,u);for(var h in f)B(t+\".\"+h,c[h],u[h],n)}else void 0===n[t]&&(n[t]=R(e))}function N(t,e,r){var n,i=t._fullLayout,a=t._fullData,l=t.data,c=i._guiEditing,d=F(i._preGUI,c),m=o.extendDeepAll({},e);j(e);var g,v=T.traceFlags(),y={},x={};function b(){return r.map((function(){}))}function w(t){var e=p.id2name(t);-1===g.indexOf(e)&&g.push(e)}function k(t){return\"LAYOUT\"+t+\".autorange\"}function A(t){return\"LAYOUT\"+t+\".range\"}function M(t){for(var e=t;e<a.length;e++)if(a[e]._input===l[t])return a[e]}function S(n,a,o){if(Array.isArray(n))n.forEach((function(t){S(t,a,o)}));else if(!(n in e)&&!_.hasParent(e,n)){var s;if(\"LAYOUT\"===n.substr(0,6))s=d(t.layout,n.replace(\"LAYOUT\",\"\"));else{var u=r[o];s=F(i._tracePreGUI[M(u)._fullInput.uid],c)(l[u],n)}n in x||(x[n]=b()),void 0===x[n][o]&&(x[n][o]=R(s.get())),void 0!==a&&s.set(a)}}function E(t){return function(e){return a[e][t]}}function L(t){return function(e,n){return!1===e?a[r[n]][t]:null}}for(var C in e){if(_.hasParent(e,C))throw new Error(\"cannot set \"+C+\" and a parent attribute simultaneously\");var P,I,O,z,D,B,N=e[C];if(\"autobinx\"!==C&&\"autobiny\"!==C||(C=C.charAt(C.length-1)+\"bins\",N=Array.isArray(N)?N.map(L(C)):!1===N?r.map(E(C)):null),y[C]=N,\"LAYOUT\"!==C.substr(0,6)){for(x[C]=b(),n=0;n<r.length;n++){if(P=l[r[n]],I=M(r[n]),z=(O=F(i._tracePreGUI[I._fullInput.uid],c)(P,C)).get(),void 0!==(D=Array.isArray(N)?N[n%N.length]:N)){var U=O.parts[O.parts.length-1],V=C.substr(0,C.length-U.length-1),H=V?V+\".\":\"\",q=V?s(I,V).get():I;if((B=f.getTraceValObject(I,O.parts))&&B.impliedEdits&&null!==D)for(var G in B.impliedEdits)S(o.relativeAttr(C,G),B.impliedEdits[G],n);else if(\"thicknessmode\"!==U&&\"lenmode\"!==U||z===D||\"fraction\"!==D&&\"pixels\"!==D||!q){if(\"type\"===C&&(\"pie\"===D!=(\"pie\"===z)||\"funnelarea\"===D!=(\"funnelarea\"===z))){var Y=\"x\",W=\"y\";\"bar\"!==D&&\"bar\"!==z||\"h\"!==P.orientation||(Y=\"y\",W=\"x\"),o.swapAttrs(P,[\"?\",\"?src\"],\"labels\",Y),o.swapAttrs(P,[\"d?\",\"?0\"],\"label\",Y),o.swapAttrs(P,[\"?\",\"?src\"],\"values\",W),\"pie\"===z||\"funnelarea\"===z?(s(P,\"marker.color\").set(s(P,\"marker.colors\").get()),i._pielayer.selectAll(\"g.trace\").remove()):u.traceIs(P,\"cartesian\")&&s(P,\"marker.colors\").set(s(P,\"marker.color\").get())}}else{var X=i._size,Z=q.orient,J=\"top\"===Z||\"bottom\"===Z;if(\"thicknessmode\"===U){var K=J?X.h:X.w;S(H+\"thickness\",q.thickness*(\"fraction\"===D?1/K:K),n)}else{var Q=J?X.w:X.h;S(H+\"len\",q.len*(\"fraction\"===D?1/Q:Q),n)}}x[C][n]=R(z);if(-1!==[\"swapxy\",\"swapxyaxes\",\"orientation\",\"orientationaxes\"].indexOf(C)){if(\"orientation\"===C){O.set(D);var $=P.x&&!P.y?\"h\":\"v\";if((O.get()||$)===I.orientation)continue}else\"orientationaxes\"===C&&(P.orientation={v:\"h\",h:\"v\"}[I.orientation]);_.swapXYData(P),v.calc=v.clearAxisTypes=!0}else-1!==h.dataArrayContainers.indexOf(O.parts[0])?(_.manageArrayContainers(O,D,x),v.calc=!0):(B?B.arrayOk&&!u.traceIs(I,\"regl\")&&(o.isArrayOrTypedArray(D)||o.isArrayOrTypedArray(z))?v.calc=!0:T.update(v,B):v.calc=!0,O.set(D))}}if(-1!==[\"swapxyaxes\",\"orientationaxes\"].indexOf(C)&&p.swap(t,r),\"orientationaxes\"===C){var tt=s(t.layout,\"hovermode\"),et=tt.get();\"x\"===et?tt.set(\"y\"):\"y\"===et?tt.set(\"x\"):\"x unified\"===et?tt.set(\"y unified\"):\"y unified\"===et&&tt.set(\"x unified\")}if(-1!==[\"orientation\",\"type\"].indexOf(C)){for(g=[],n=0;n<r.length;n++){var rt=l[r[n]];u.traceIs(rt,\"cartesian\")&&(w(rt.xaxis||\"x\"),w(rt.yaxis||\"y\"))}S(g.map(k),!0,0),S(g.map(A),[0,1],0)}}else O=d(t.layout,C.replace(\"LAYOUT\",\"\")),x[C]=[R(O.get())],O.set(Array.isArray(N)?N[0]:N),v.calc=!0}return(v.calc||v.plot)&&(v.fullReplot=!0),{flags:v,undoit:x,redoit:y,traces:r,eventData:o.extendDeepNoArrays([],[m,r])}}function j(t){var e,r,n,i=o.counterRegex(\"axis\",\".title\",!1,!1),a=/colorbar\\.title$/,s=Object.keys(t);for(e=0;e<s.length;e++)r=s[e],n=t[r],\"title\"!==r&&!i.test(r)&&!a.test(r)||\"string\"!=typeof n&&\"number\"!=typeof n?r.indexOf(\"titlefont\")>-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 U(t,e,r){t=o.getGraphDiv(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=W(t,n),a=i.flags;a.calc&&(t.calcdata=void 0);var s=[h.previousPromises];a.layoutReplot?s.push(w.layoutReplot):Object.keys(n).length&&(V(t,a,i)||h.supplyDefaults(t),a.legend&&s.push(w.doLegend),a.layoutstyle&&s.push(w.layoutStyles),a.axrange&&H(s,i.rangesAltered),a.ticks&&s.push(w.doTicksRelayout),a.modebar&&s.push(w.doModeBar),a.camera&&s.push(w.doCamera),a.colorbars&&s.push(w.doColorBars),s.push(M)),s.push(h.rehover,h.redrag),c.add(t,U,[t,i.undoit],U,[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 V(t,e,r){var n=t._fullLayout;if(!e.axrange)return!1;for(var i in e)if(\"axrange\"!==i&&e[i])return!1;for(var a in r.rangesAltered){var o=p.id2name(a),s=t.layout[o],l=n[o];if(l.autorange=s.autorange,s.range&&(l.range=s.range.slice()),l.cleanRange(),l._matchGroup)for(var c in l._matchGroup)if(c!==a){var u=n[p.id2name(c)];u.autorange=l.autorange,u.range=l.range.slice(),u._input.range=l.range.slice()}}return!0}function H(t,e){var r=e?function(t){var r=[],n=!0;for(var i in e){var a=p.getFromId(t,i);if(r.push(i),-1!==(a.ticklabelposition||\"\").indexOf(\"inside\")&&a._anchorAxis&&r.push(a._anchorAxis._id),a._matchGroup)for(var o in a._matchGroup)e[o]||r.push(o);a.automargin&&(n=!1)}return p.draw(t,r,{skipTitle:n})}:function(t){return p.draw(t,\"redraw\")};t.push(y,w.doAutoRangeAndConstraints,r,w.drawData,w.finalDraw)}var q=/^[xyz]axis[0-9]*\\.range(\\[[0|1]\\])?$/,G=/^[xyz]axis[0-9]*\\.autorange$/,Y=/^[xyz]axis[0-9]*\\.domain(\\[[0|1]\\])?$/;function W(t,e){var r,n,i,a=t.layout,l=t._fullLayout,c=l._guiEditing,h=F(l._preGUI,c),d=Object.keys(e),m=p.list(t),g=o.extendDeepAll({},e),v={};for(j(e),d=Object.keys(e),n=0;n<d.length;n++)if(0===d[n].indexOf(\"allaxes\")){for(i=0;i<m.length;i++){var y=m[i]._id.substr(1),x=-1!==y.indexOf(\"scene\")?y+\".\":\"\",w=d[n].replace(\"allaxes\",x+m[i]._name);e[w]||(e[w]=e[d[n]])}delete e[d[n]]}var A=T.layoutFlags(),M={},S={};function E(t,r){if(Array.isArray(t))t.forEach((function(t){E(t,r)}));else if(!(t in e)&&!_.hasParent(e,t)){var n=h(a,t);t in S||(S[t]=R(n.get())),void 0!==r&&n.set(r)}}var L,C={};function P(t){var e=p.name2id(t.split(\".\")[0]);return C[e]=1,e}for(var I in e){if(_.hasParent(e,I))throw new Error(\"cannot set \"+I+\" and a parent attribute simultaneously\");for(var O=h(a,I),z=e[I],D=O.parts.length-1;D>0&&\"string\"!=typeof O.parts[D];)D--;var B=O.parts[D],N=O.parts[D-1]+\".\"+B,U=O.parts.slice(0,D).join(\".\"),V=s(t.layout,U).get(),H=s(l,U).get(),W=O.get();if(void 0!==z){M[I]=z,S[I]=\"reverse\"===B?z:R(W);var Z=f.getLayoutValObject(l,O.parts);if(Z&&Z.impliedEdits&&null!==z)for(var J in Z.impliedEdits)E(o.relativeAttr(I,J),Z.impliedEdits[J]);if(-1!==[\"width\",\"height\"].indexOf(I))if(z){E(\"autosize\",null);var K=\"height\"===I?\"width\":\"height\";E(K,l[K])}else l[I]=t._initialAutoSize[I];else if(\"autosize\"===I)E(\"width\",z?null:l.width),E(\"height\",z?null:l.height);else if(N.match(q))P(N),s(l,U+\"._inputRange\").set(null);else if(N.match(G)){P(N),s(l,U+\"._inputRange\").set(null);var Q=s(l,U).get();Q._inputDomain&&(Q._input.domain=Q._inputDomain.slice())}else N.match(Y)&&s(l,U+\"._inputDomain\").set(null);if(\"type\"===B){L=V;var $=\"linear\"===H.type&&\"log\"===z,tt=\"log\"===H.type&&\"linear\"===z;if($||tt){if(L&&L.range)if(H.autorange)$&&(L.range=L.range[1]>L.range[0]?[1,2]:[2,1]);else{var et=L.range[0],rt=L.range[1];$?(et<=0&&rt<=0&&E(U+\".autorange\",!0),et<=0?et=rt/1e6:rt<=0&&(rt=et/1e6),E(U+\".range[0]\",Math.log(et)/Math.LN10),E(U+\".range[1]\",Math.log(rt)/Math.LN10)):(E(U+\".range[0]\",Math.pow(10,et)),E(U+\".range[1]\",Math.pow(10,rt)))}else E(U+\".autorange\",!0);Array.isArray(l._subplots.polar)&&l._subplots.polar.length&&l[O.parts[0]]&&\"radialaxis\"===O.parts[1]&&delete l[O.parts[0]]._subplot.viewInitial[\"radialaxis.range\"],u.getComponentMethod(\"annotations\",\"convertCoords\")(t,H,z,E),u.getComponentMethod(\"images\",\"convertCoords\")(t,H,z,E)}else E(U+\".autorange\",!0),E(U+\".range\",null);s(l,U+\"._inputRange\").set(null)}else if(B.match(k)){var nt=s(l,I).get(),it=(z||{}).type;it&&\"-\"!==it||(it=\"linear\"),u.getComponentMethod(\"annotations\",\"convertCoords\")(t,nt,it,E),u.getComponentMethod(\"images\",\"convertCoords\")(t,nt,it,E)}var at=b.containerArrayMatch(I);if(at){r=at.array,n=at.index;var ot=at.property,st=Z||{editType:\"calc\"};\"\"!==n&&\"\"===ot&&(b.isAddVal(z)?S[I]=null:b.isRemoveVal(z)?S[I]=(s(a,r).get()||[])[n]:o.warn(\"unrecognized full object value\",e)),T.update(A,st),v[r]||(v[r]={});var lt=v[r][n];lt||(lt=v[r][n]={}),lt[ot]=z,delete e[I]}else\"reverse\"===B?(V.range?V.range.reverse():(E(U+\".autorange\",!0),V.range=[1,0]),H.autorange?A.calc=!0:A.plot=!0):(\"dragmode\"===I&&(!1===z&&!1!==W||!1!==z&&!1===W)||l._has(\"scatter-like\")&&l._has(\"regl\")&&\"dragmode\"===I&&(\"lasso\"===z||\"select\"===z)&&\"lasso\"!==W&&\"select\"!==W||l._has(\"gl2d\")?A.plot=!0:Z?T.update(A,Z):A.calc=!0,O.set(z))}}for(r in v){b.applyContainerArrayChanges(t,h(a,r),v[r],A,h)||(A.plot=!0)}for(var ct in C){var ut=(L=p.getFromId(t,ct))&&L._constraintGroup;if(ut)for(var ft in A.calc=!0,ut)C[ft]||(p.getFromId(t,ft)._constraintShrinkable=!0)}return(X(t)||e.height||e.width)&&(A.plot=!0),(A.plot||A.calc)&&(A.layoutReplot=!0),{flags:A,rangesAltered:C,undoit:S,redoit:M,eventData:g}}function X(t){var e=t._fullLayout,r=e.width,n=e.height;return t.layout.autosize&&h.plotAutoSize(t,t.layout,e),e.width!==r||e.height!==n}function Z(t,e,n,i){t=o.getGraphDiv(t),_.clearPromiseQueue(t),o.isPlainObject(e)||(e={}),o.isPlainObject(n)||(n={}),Object.keys(e).length&&(t.changed=!0),Object.keys(n).length&&(t.changed=!0);var a=_.coerceTraceIndices(t,i),s=N(t,o.extendFlat({},e),a),l=s.flags,u=W(t,o.extendFlat({},n)),f=u.flags;(l.calc||f.calc)&&(t.calcdata=void 0),l.clearAxisTypes&&_.clearAxisTypes(t,a,n);var p=[];f.layoutReplot?p.push(w.layoutReplot):l.fullReplot?p.push(r._doPlot):(p.push(h.previousPromises),V(t,f,u)||h.supplyDefaults(t),l.style&&p.push(w.doTraceStyle),(l.colorbars||f.colorbars)&&p.push(w.doColorBars),f.legend&&p.push(w.doLegend),f.layoutstyle&&p.push(w.layoutStyles),f.axrange&&H(p,u.rangesAltered),f.ticks&&p.push(w.doTicksRelayout),f.modebar&&p.push(w.doModeBar),f.camera&&p.push(w.doCamera),p.push(M)),p.push(h.rehover,h.redrag),c.add(t,Z,[t,s.undoit,u.undoit,s.traces],Z,[t,s.redoit,u.redoit,s.traces]);var d=o.syncOrAsync(p,t);return d&&d.then||(d=Promise.resolve(t)),d.then((function(){return t.emit(\"plotly_update\",{data:s.eventData,layout:u.eventData}),t}))}function J(t){return function(e){e._fullLayout._guiEditing=!0;var r=t.apply(null,arguments);return e._fullLayout._guiEditing=!1,r}}var K=[{pattern:/^hiddenlabels/,attr:\"legend.uirevision\"},{pattern:/^((x|y)axis\\d*)\\.((auto)?range|title\\.text)/},{pattern:/axis\\d*\\.showspikes$/,attr:\"modebar.uirevision\"},{pattern:/(hover|drag)mode$/,attr:\"modebar.uirevision\"},{pattern:/^(scene\\d*)\\.camera/},{pattern:/^(geo\\d*)\\.(projection|center|fitbounds)/},{pattern:/^(ternary\\d*\\.[abc]axis)\\.(min|title\\.text)$/},{pattern:/^(polar\\d*\\.radialaxis)\\.((auto)?range|angle|title\\.text)/},{pattern:/^(polar\\d*\\.angularaxis)\\.rotation/},{pattern:/^(mapbox\\d*)\\.(center|zoom|bearing|pitch)/},{pattern:/^legend\\.(x|y)$/,attr:\"editrevision\"},{pattern:/^(shapes|annotations)/,attr:\"editrevision\"},{pattern:/^title\\.text$/,attr:\"editrevision\"}],Q=[{pattern:/^selectedpoints$/,attr:\"selectionrevision\"},{pattern:/(^|value\\.)visible$/,attr:\"legend.uirevision\"},{pattern:/^dimensions\\[\\d+\\]\\.constraintrange/},{pattern:/^node\\.(x|y|groups)/},{pattern:/^level$/},{pattern:/(^|value\\.)name$/},{pattern:/colorbar\\.title\\.text$/},{pattern:/colorbar\\.(x|y)$/,attr:\"editrevision\"}];function $(t,e){for(var r=0;r<e.length;r++){var n=e[r],i=t.match(n.pattern);if(i){var a=i[1]||\"\";return{head:a,tail:t.substr(a.length+1),attr:n.attr}}}}function tt(t,e){var r=s(e,t).get();if(void 0!==r)return r;var n=t.split(\".\");for(n.pop();n.length>1;)if(n.pop(),void 0!==(r=s(e,n.join(\".\")+\".uirevision\").get()))return r;return e.uirevision}function et(t,e){for(var r=0;r<e.length;r++)if(e[r]._fullInput.uid===t)return r;return-1}function rt(t,e,r){for(var n=0;n<e.length;n++)if(e[n].uid===t)return n;return!e[r]||e[r].uid?-1:r}function nt(t,e){var r=o.isPlainObject(t),n=Array.isArray(t);return r||n?(r&&o.isPlainObject(e)||n&&Array.isArray(e))&&JSON.stringify(t)===JSON.stringify(e):t===e}function it(t,e,r,n){var i,a,l,c=n.getValObject,u=n.flags,f=n.immutable,h=n.inArray,p=n.arrayIndex;function d(){var t=i.editType;h&&-1!==t.indexOf(\"arraydraw\")?o.pushUnique(u.arrays[h],p):(T.update(u,i),\"none\"!==t&&u.nChanges++,n.transition&&i.anim&&u.nChangesAnim++,(q.test(l)||G.test(l))&&(u.rangesAltered[r[0]]=1),Y.test(l)&&s(e,\"_inputDomain\").set(null),\"datarevision\"===a&&(u.newDataRevision=1))}function m(t){return\"data_array\"===t.valType||t.arrayOk}for(a in t){if(u.calc&&!n.transition)return;var g=t[a],v=e[a],y=r.concat(a);if(l=y.join(\".\"),\"_\"!==a.charAt(0)&&\"function\"!=typeof g&&g!==v){if((\"tick0\"===a||\"dtick\"===a)&&\"geo\"!==r[0]){var x=e.tickmode;if(\"auto\"===x||\"array\"===x||!x)continue}if((\"range\"!==a||!e.autorange)&&(\"zmin\"!==a&&\"zmax\"!==a||\"contourcarpet\"!==e.type)&&(i=c(y))&&(!i._compareAsJSON||JSON.stringify(g)!==JSON.stringify(v))){var b,_=i.valType,w=m(i),k=Array.isArray(g),A=Array.isArray(v);if(k&&A){var M=\"_input_\"+a,S=t[M],E=e[M];if(Array.isArray(S)&&S===E)continue}if(void 0===v)w&&k?u.calc=!0:d();else if(i._isLinkedToArray){var L=[],C=!1;h||(u.arrays[a]=L);var P=Math.min(g.length,v.length),I=Math.max(g.length,v.length);if(P!==I){if(\"arraydraw\"!==i.editType){d();continue}C=!0}for(b=0;b<P;b++)it(g[b],v[b],y.concat(b),o.extendFlat({inArray:a,arrayIndex:b},n));if(C)for(b=P;b<I;b++)L.push(b)}else!_&&o.isPlainObject(g)?it(g,v,y,n):w?k&&A?(f&&(u.calc=!0),(f||n.newDataRevision)&&d()):k!==A?u.calc=!0:d():k&&A&&g.length===v.length&&String(g)===String(v)||d()}}}for(a in e)if(!(a in t)&&\"_\"!==a.charAt(0)&&\"function\"!=typeof e[a]){if(m(i=c(r.concat(a)))&&Array.isArray(e[a]))return void(u.calc=!0);d()}}function at(t){var e=t._fullLayout,r=t.getBoundingClientRect();if(!o.equalDomRects(r,e._lastBBox)){var n=e._invTransform=o.inverseTransformMatrix(o.getFullTransformMatrix(t));e._invScaleX=Math.sqrt(n[0][0]*n[0][0]+n[0][1]*n[0][1]+n[0][2]*n[0][2]),e._invScaleY=Math.sqrt(n[1][0]*n[1][0]+n[1][1]*n[1][1]+n[1][2]*n[1][2]),e._lastBBox=r}}r.animate=function(t,e,r){if(t=o.getGraphDiv(t),!o.isPlotDiv(t))throw new Error(\"This element is not a Plotly plot: \"+t+\". It's likely that you've failed to create a plot before animating it. For more details, see https://plotly.com/javascript/animations/\");var n=t._transitionData;n._frameQueue||(n._frameQueue=[]);var i=(r=h.supplyAnimationDefaults(r)).transition,a=r.frame;function s(t){return Array.isArray(i)?t>=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 f(){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,_.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}function p(){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&&f()};e()}var d,m,g=0;function v(t){return Array.isArray(i)?g>=i.length?t.transitionOpts=i[g]:t.transitionOpts=i[0]:t.transitionOpts=i,g++,t}var y=[],x=null==e,b=Array.isArray(e);if(!x&&!b&&o.isPlainObject(e))y.push({type:\"object\",data:v(o.extendFlat({},e))});else if(x||-1!==[\"string\",\"number\"].indexOf(typeof e))for(d=0;d<n._frames.length;d++)(m=n._frames[d])&&(x||String(m.group)===String(e))&&y.push({type:\"byname\",name:String(m.name),data:v({name:m.name})});else if(b)for(d=0;d<e.length;d++){var w=e[d];-1!==[\"number\",\"string\"].indexOf(typeof w)?(w=String(w),y.push({type:\"byname\",name:w,data:v({name:w})})):o.isPlainObject(w)&&y.push({type:\"object\",data:v(o.extendFlat({},w))})}for(d=0;d<y.length;d++)if(\"byname\"===(m=y[d]).type&&!n._frameHash[m.data.name])return o.warn('animate failure: frame not found: \"'+m.data.name+'\"'),void u();-1!==[\"next\",\"immediate\"].indexOf(r.mode)&&function(){if(0!==n._frameQueue.length){for(;n._frameQueue.length;){var e=n._frameQueue.pop();e.onInterrupt&&e.onInterrupt()}t.emit(\"plotly_animationinterrupted\",[])}}(),\"reverse\"===r.direction&&y.reverse();var T=t._fullLayout._currentFrame;if(T&&r.fromcurrent){var k=-1;for(d=0;d<y.length;d++)if(\"byname\"===(m=y[d]).type&&m.name===T){k=d;break}if(k>0&&k<y.length-1){var A=[];for(d=0;d<y.length;d++)m=y[d],(\"byname\"!==y[d].type||d>k)&&A.push(m);y=A}}y.length>0?function(e){if(0!==e.length){for(var i=0;i<e.length;i++){var o;o=\"byname\"===e[i].type?h.computeFrame(t,e[i].name):e[i].data;var f=l(i),d=s(i);d.duration=Math.min(d.duration,f.duration);var m={frame:o,name:e[i].name,frameOpts:f,transitionOpts:d};i===e.length-1&&(m.onComplete=c(a,2),m.onInterrupt=u),n._frameQueue.push(m)}\"immediate\"===r.mode&&(n._lastFrameAt=-1/0),n._animationRaf||p()}}(y):(t.emit(\"plotly_animated\"),a())}))},r.addFrames=function(t,e,r){if(t=o.getGraphDiv(t),null==e)return Promise.resolve();if(!o.isPlotDiv(t))throw new Error(\"This element is not a Plotly plot: \"+t+\". It's likely that you've failed to create a plot before adding frames. For more details, see https://plotly.com/javascript/animations/\");var n,i,a,s,l=t._transitionData._frames,u=t._transitionData._frameHash;if(!Array.isArray(e))throw new Error(\"addFrames failure: frameList must be an Array of frame definitions\"+e);var f=l.length+2*e.length,p=[],d={};for(n=e.length-1;n>=0;n--)if(o.isPlainObject(e[n])){var m=e[n].name,g=(u[m]||d[m]||{}).name,v=e[n].name,y=u[g]||d[g];g&&v&&\"number\"==typeof v&&y&&A<5&&(A++,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===A&&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: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<e.index?1:0}));var x=[],b=[],_=l.length;for(n=p.length-1;n>=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<l.length&&(l[a]||{}).name!==i.name;a++);x.push({type:\"replace\",index:a,value:i}),b.unshift({type:\"replace\",index:a,value:l[a]})}else s=Math.max(0,Math.min(p[n].index,_)),x.push({type:\"insert\",index:s,value:i}),b.unshift({type:\"delete\",index:s}),_++}var w=h.modifyFrames,T=h.modifyFrames,k=[t,b],M=[t,x];return c&&c.add(t,w,k,T,M),h.modifyFrames(t,x)},r.deleteFrames=function(t,e){if(t=o.getGraphDiv(t),!o.isPlotDiv(t))throw new Error(\"This element is not a Plotly plot: \"+t);var r,n,i=t._transitionData._frames,a=[],s=[];if(!e)for(e=[],r=0;r<i.length;r++)e.push(r);for((e=e.slice()).sort(),r=e.length-1;r>=0;r--)n=e[r],a.push({type:\"delete\",index:n}),s.unshift({type:\"insert\",index:n,value:i[n]});var l=h.modifyFrames,u=h.modifyFrames,f=[t,s],p=[t,a];return c&&c.add(t,l,f,u,p),h.modifyFrames(t,a)},r.addTraces=function t(e,n,i){e=o.getGraphDiv(e);var a,s,l=[],u=r.deleteTraces,f=t,h=[e,l],p=[e,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<e.length;n++)if(\"object\"!=typeof(i=e[n])||Array.isArray(i)||null===i)throw new Error(\"all values in traces array must be non-array objects\");if(void 0===r||Array.isArray(r)||(r=[r]),void 0!==r&&r.length!==e.length)throw new Error(\"if indices is specified, traces.length must equal indices.length\")}(e,n,i),Array.isArray(n)||(n=[n]),n=n.map((function(t){return o.extendFlat({},t)})),_.cleanData(n),a=0;a<n.length;a++)e.data.push(n[a]);for(a=0;a<n.length;a++)l.push(-n.length+a);if(void 0===i)return s=r.redraw(e),c.add(e,u,h,f,p),s;Array.isArray(i)||(i=[i]);try{I(e,l,i)}catch(t){throw e.data.splice(e.data.length-n.length,n.length),t}return c.startSequence(e),c.add(e,u,h,f,p),s=r.moveTraces(e,l,i),c.stopSequence(e),s},r.deleteTraces=function t(e,n){e=o.getGraphDiv(e);var i,a,s=[],l=r.addTraces,u=t,f=[e,s,n],h=[e,n];if(void 0===n)throw new Error(\"indices must be an integer or array of integers.\");for(Array.isArray(n)||(n=[n]),P(e,n,\"indices\"),(n=C(n,e.data.length-1)).sort(o.sorterDes),i=0;i<n.length;i+=1)a=e.data.splice(n[i],1)[0],s.push(a);var p=r.redraw(e);return c.add(e,l,f,u,h),p},r.extendTraces=function t(e,n,i,a){function s(t,e,r){var n,i;if(o.isTypedArray(t))if(r<0){var a=new t.constructor(0),s=z(t,e);r<0?(n=s,i=a):(n=a,i=s)}else if(n=new t.constructor(r),i=new t.constructor(t.length+e.length-r),r===e.length)n.set(e),i.set(t);else if(r<e.length){var l=e.length-r;n.set(e.subarray(l)),i.set(t),i.set(e.subarray(0,l),t.length)}else{var c=r-e.length,u=t.length-c;n.set(t.subarray(u)),n.set(e,c),i.set(t.subarray(0,u))}else n=t.concat(e),i=r>=0&&r<n.length?n.splice(0,n.length-r):[];return[n,i]}var l=O(e=o.getGraphDiv(e),n,i,a,s),u=r.redraw(e),f=[e,l.update,i,l.maxPoints];return c.add(e,r.prependTraces,f,t,arguments),u},r.moveTraces=function t(e,n,i){var a,s=[],l=[],u=t,f=t,h=[e=o.getGraphDiv(e),i,n],p=[e,n,i];if(I(e,n,i),n=Array.isArray(n)?n:[n],void 0===i)for(i=[],a=0;a<n.length;a++)i.push(-n.length+a);for(i=Array.isArray(i)?i:[i],n=C(n,e.data.length-1),i=C(i,e.data.length-1),a=0;a<e.data.length;a++)-1===n.indexOf(a)&&s.push(e.data[a]);for(a=0;a<n.length;a++)l.push({newIndex:i[a],trace:e.data[n[a]]});for(l.sort((function(t,e){return t.newIndex-e.newIndex})),a=0;a<l.length;a+=1)s.splice(l[a].newIndex,0,l[a].trace);e.data=s;var d=r.redraw(e);return c.add(e,u,h,f,p),d},r.prependTraces=function t(e,n,i,a){function s(t,e,r){var n,i;if(o.isTypedArray(t))if(r<=0){var a=new t.constructor(0),s=z(e,t);r<0?(n=s,i=a):(n=a,i=s)}else if(n=new t.constructor(r),i=new t.constructor(t.length+e.length-r),r===e.length)n.set(e),i.set(t);else if(r<e.length){var l=e.length-r;n.set(e.subarray(0,l)),i.set(e.subarray(l)),i.set(t,l)}else{var c=r-e.length;n.set(e),n.set(t.subarray(0,c),e.length),i.set(t.subarray(c))}else n=e.concat(t),i=r>=0&&r<n.length?n.splice(r,n.length):[];return[n,i]}var l=O(e=o.getGraphDiv(e),n,i,a,s),u=r.redraw(e),f=[e,l.update,i,l.maxPoints];return c.add(e,r.extendTraces,f,t,arguments),u},r.newPlot=function(t,e,n,i){return t=o.getGraphDiv(t),h.cleanPlot([],{},t._fullData||[],t._fullLayout||{}),h.purge(t),r._doPlot(t,e,n,i)},r._doPlot=function(t,e,i,a){var s;if(t=o.getGraphDiv(t),l.init(t),o.isPlainObject(e)){var c=e;e=c.data,i=c.layout,a=c.config,s=c.frames}if(!1===l.triggerHandler(t,\"plotly_beforeplot\",[e,i,a]))return Promise.reject();e||i||o.isPlotDiv(t)||o.warn(\"Calling _doPlot as if redrawing but this container doesn't yet have a plot.\",t),L(t,a),i||(i={}),n.select(t).classed(\"js-plotly-plot\",!0),d.makeTester(),Array.isArray(t._promises)||(t._promises=[]);var f=0===(t.data||[]).length&&Array.isArray(e);Array.isArray(e)&&(_.cleanData(e),f?t.data=e:t.data.push.apply(t.data,e),t.empty=!1),t.layout&&!f||(t.layout=_.cleanLayout(i)),h.supplyDefaults(t);var m=t._fullLayout,y=m._has(\"cartesian\");m._replotting=!0,(f||m._shouldCreateBgLayer)&&(!function(t){var e=n.select(t),r=t._fullLayout;if(r._calcInverseTransform=at,r._calcInverseTransform(t),r._container=e.selectAll(\".plot-container\").data([0]),r._container.enter().insert(\"div\",\":first-child\").classed(\"plot-container\",!0).classed(\"plotly\",!0),r._paperdiv=r._container.selectAll(\".svg-container\").data([0]),r._paperdiv.enter().append(\"div\").classed(\"user-select-none\",!0).classed(\"svg-container\",!0).style(\"position\",\"relative\"),r._glcontainer=r._paperdiv.selectAll(\".gl-container\").data([{}]),r._glcontainer.enter().append(\"div\").classed(\"gl-container\",!0),r._paperdiv.selectAll(\".main-svg\").remove(),r._paperdiv.select(\".modebar-container\").remove(),r._paper=r._paperdiv.insert(\"svg\",\":first-child\").classed(\"main-svg\",!0),r._toppaper=r._paperdiv.append(\"svg\").classed(\"main-svg\",!0),r._modebardiv=r._paperdiv.append(\"div\"),delete r._modeBar,r._hoverpaper=r._paperdiv.append(\"svg\").classed(\"main-svg\",!0),!r._uid){var i={};n.selectAll(\"defs\").each((function(){this.id&&(i[this.id.split(\"-\")[1]]=1)})),r._uid=o.randstr(i)}r._paperdiv.selectAll(\".main-svg\").attr(v.svgAttrs),r._defs=r._paper.append(\"defs\").attr(\"id\",\"defs-\"+r._uid),r._clips=r._defs.append(\"g\").classed(\"clips\",!0),r._topdefs=r._toppaper.append(\"defs\").attr(\"id\",\"topdefs-\"+r._uid),r._topclips=r._topdefs.append(\"g\").classed(\"clips\",!0),r._bgLayer=r._paper.append(\"g\").classed(\"bglayer\",!0),r._draggers=r._paper.append(\"g\").classed(\"draglayer\",!0);var a=r._paper.append(\"g\").classed(\"layer-below\",!0);r._imageLowerLayer=a.append(\"g\").classed(\"imagelayer\",!0),r._shapeLowerLayer=a.append(\"g\").classed(\"shapelayer\",!0),r._cartesianlayer=r._paper.append(\"g\").classed(\"cartesianlayer\",!0),r._polarlayer=r._paper.append(\"g\").classed(\"polarlayer\",!0),r._smithlayer=r._paper.append(\"g\").classed(\"smithlayer\",!0),r._ternarylayer=r._paper.append(\"g\").classed(\"ternarylayer\",!0),r._geolayer=r._paper.append(\"g\").classed(\"geolayer\",!0),r._funnelarealayer=r._paper.append(\"g\").classed(\"funnelarealayer\",!0),r._pielayer=r._paper.append(\"g\").classed(\"pielayer\",!0),r._iciclelayer=r._paper.append(\"g\").classed(\"iciclelayer\",!0),r._treemaplayer=r._paper.append(\"g\").classed(\"treemaplayer\",!0),r._sunburstlayer=r._paper.append(\"g\").classed(\"sunburstlayer\",!0),r._indicatorlayer=r._toppaper.append(\"g\").classed(\"indicatorlayer\",!0),r._glimages=r._paper.append(\"g\").classed(\"glimages\",!0);var s=r._toppaper.append(\"g\").classed(\"layer-above\",!0);r._imageUpperLayer=s.append(\"g\").classed(\"imagelayer\",!0),r._shapeUpperLayer=s.append(\"g\").classed(\"shapelayer\",!0),r._infolayer=r._toppaper.append(\"g\").classed(\"infolayer\",!0),r._menulayer=r._toppaper.append(\"g\").classed(\"menulayer\",!0),r._zoomlayer=r._toppaper.append(\"g\").classed(\"zoomlayer\",!0),r._hoverlayer=r._hoverpaper.append(\"g\").classed(\"hoverlayer\",!0),r._modebardiv.classed(\"modebar-container\",!0).style(\"position\",\"absolute\").style(\"top\",\"0px\").style(\"right\",\"0px\"),t.emit(\"plotly_framework\")}(t),m._shouldCreateBgLayer&&delete m._shouldCreateBgLayer),d.initGradients(t),d.initPatterns(t),f&&p.saveShowSpikeInitial(t);var x=!t.calcdata||t.calcdata.length!==(t._fullData||[]).length;x&&h.doCalcdata(t);for(var b=0;b<t.calcdata.length;b++)t.calcdata[b][0].trace=t._fullData[b];t._context.responsive?t._responsiveChartHandler||(t._responsiveChartHandler=function(){o.isHidden(t)||h.resize(t)},window.addEventListener(\"resize\",t._responsiveChartHandler)):o.clearResponsive(t);var T=o.extendFlat({},m._size),k=0;function A(){if(h.clearAutoMarginIds(t),w.drawMarginPushers(t),p.allowAutoMargin(t),m._has(\"pie\"))for(var e=t._fullData,r=0;r<e.length;r++){var n=e[r];\"pie\"===n.type&&n.automargin&&h.allowAutoMargin(t,\"pie.\"+n.uid+\".automargin\")}return h.doAutoMargin(t),h.previousPromises(t)}function S(){t._transitioning||(w.doAutoRangeAndConstraints(t),f&&p.saveRangeInitial(t),u.getComponentMethod(\"rangeslider\",\"calcAutorange\")(t))}var E=[h.previousPromises,function(){if(s)return r.addFrames(t,s)},function e(){for(var r=m._basePlotModules,n=0;n<r.length;n++)r[n].drawFramework&&r[n].drawFramework(t);!m._glcanvas&&m._has(\"gl\")&&(m._glcanvas=m._glcontainer.selectAll(\".gl-canvas\").data([{key:\"contextLayer\",context:!0,pick:!1},{key:\"focusLayer\",context:!1,pick:!1},{key:\"pickLayer\",context:!1,pick:!0}],(function(t){return t.key})),m._glcanvas.enter().append(\"canvas\").attr(\"class\",(function(t){return\"gl-canvas gl-canvas-\"+t.key.replace(\"Layer\",\"\")})).style({position:\"absolute\",top:0,left:0,overflow:\"visible\",\"pointer-events\":\"none\"}));var i=t._context.plotGlPixelRatio;if(m._glcanvas){m._glcanvas.attr(\"width\",m.width*i).attr(\"height\",m.height*i).style(\"width\",m.width+\"px\").style(\"height\",m.height+\"px\");var a=m._glcanvas.data()[0].regl;if(a&&(Math.floor(m.width*i)!==a._gl.drawingBufferWidth||Math.floor(m.height*i)!==a._gl.drawingBufferHeight)){var s=\"WebGL context buffer and canvas dimensions do not match due to browser/WebGL bug.\";if(!k)return o.log(s+\" Clearing graph and plotting again.\"),h.cleanPlot([],{},t._fullData,m),h.supplyDefaults(t),m=t._fullLayout,h.doCalcdata(t),k++,e();o.error(s)}}return\"h\"===m.modebar.orientation?m._modebardiv.style(\"height\",null).style(\"width\",\"100%\"):m._modebardiv.style(\"width\",null).style(\"height\",m.height+\"px\"),h.previousPromises(t)},A,function(){if(h.didMarginChange(T,m._size))return o.syncOrAsync([A,w.layoutStyles],t)}];y&&E.push((function(){if(x)return o.syncOrAsync([u.getComponentMethod(\"shapes\",\"calcAutorange\"),u.getComponentMethod(\"annotations\",\"calcAutorange\"),S],t);S()})),E.push(w.layoutStyles),y&&E.push((function(){return p.draw(t,f?\"\":\"redraw\")}),(function(t){t._fullLayout._insideTickLabelsAutorange&&U(t,t._fullLayout._insideTickLabelsAutorange).then((function(){t._fullLayout._insideTickLabelsAutorange=void 0}))})),E.push(w.drawData,w.finalDraw,g,h.addLinks,h.rehover,h.redrag,h.doAutoMargin,(function(t){t._fullLayout._insideTickLabelsAutorange&&f&&p.saveRangeInitial(t,!0)}),h.previousPromises);var C=o.syncOrAsync(E,t);return C&&C.then||(C=Promise.resolve()),C.then((function(){return M(t),t}))},r.purge=function(t){var e=(t=o.getGraphDiv(t))._fullLayout||{},r=t._fullData||[];return h.cleanPlot([],{},r,e),h.purge(t),l.purge(t),e._container&&e._container.remove(),delete t._context,t},r.react=function(t,e,n,i){var a,l;t=o.getGraphDiv(t),_.clearPromiseQueue(t);var c=t._fullData,p=t._fullLayout;if(o.isPlotDiv(t)&&c&&p){if(o.isPlainObject(e)){var d=e;e=d.data,n=d.layout,i=d.config,a=d.frames}var m=!1;if(i){var g=o.extendDeep({},t._context);t._context=void 0,L(t,i),m=function t(e,r){var n;for(n in e)if(\"_\"!==n.charAt(0)){var i=e[n],a=r[n];if(i!==a)if(o.isPlainObject(i)&&o.isPlainObject(a)){if(t(i,a))return!0}else{if(!Array.isArray(i)||!Array.isArray(a))return!0;if(i.length!==a.length)return!0;for(var s=0;s<i.length;s++)if(i[s]!==a[s]){if(!o.isPlainObject(i[s])||!o.isPlainObject(a[s]))return!0;if(t(i[s],a[s]))return!0}}}}(g,t._context)}t.data=e||[],_.cleanData(t.data),t.layout=n||{},_.cleanLayout(t.layout),function(t,e,r,n){var i,a,l,c,u,f,h,p,d,m,g=n._preGUI,v=[],y={},x={};for(i in g){if(u=$(i,K)){if(d=u.head,m=u.tail,a=u.attr||d+\".uirevision\",(c=(l=s(n,a).get())&&tt(a,e))&&c===l){if(null===(f=g[i])&&(f=void 0),nt(p=(h=s(e,i)).get(),f)){void 0===p&&\"autorange\"===m&&v.push(d),h.set(R(s(n,i).get()));continue}if(\"autorange\"===m||\"range[\"===m.substr(0,6)){var b=g[d+\".range[0]\"],_=g[d+\".range[1]\"],w=g[d+\".autorange\"];if(w||null===w&&null===b&&null===_){if(!(d in y)){var T=s(e,d).get();y[d]=T&&(T.autorange||!1!==T.autorange&&(!T.range||2!==T.range.length))}if(y[d]){h.set(R(s(n,i).get()));continue}}}}}else o.warn(\"unrecognized GUI edit: \"+i);delete g[i],u&&\"range[\"===u.tail.substr(0,6)&&(x[u.head]=1)}for(var k=0;k<v.length;k++){var A=v[k];if(x[A]){var M=s(e,A).get();M&&delete M.autorange}}var S=n._tracePreGUI;for(var E in S){var L,C=S[E],P=null;for(i in C){if(!P){var I=et(E,r);if(I<0){delete S[E];break}var O=rt(E,t,(L=r[I]._fullInput).index);if(O<0){delete S[E];break}P=t[O]}if(u=$(i,Q)){if(u.attr?c=(l=s(n,u.attr).get())&&tt(u.attr,e):(l=L.uirevision,void 0===(c=P.uirevision)&&(c=e.uirevision)),c&&c===l&&(null===(f=C[i])&&(f=void 0),nt(p=(h=s(P,i)).get(),f))){h.set(R(s(L,i).get()));continue}}else o.warn(\"unrecognized GUI edit: \"+i+\" in trace uid \"+E);delete C[i]}}}(t.data,t.layout,c,p),h.supplyDefaults(t,{skipUpdateCalc:!0});var v=t._fullData,y=t._fullLayout,x=void 0===y.datarevision,b=y.transition,k=function(t,e,r,n,i){var a=T.layoutFlags();function o(t){return f.getLayoutValObject(r,t)}a.arrays={},a.rangesAltered={},a.nChanges=0,a.nChangesAnim=0,it(e,r,[],{getValObject:o,flags:a,immutable:n,transition:i,gd:t}),(a.plot||a.calc)&&(a.layoutReplot=!0);i&&a.nChanges&&a.nChangesAnim&&(a.anim=a.nChanges===a.nChangesAnim?\"all\":\"some\");return a}(t,p,y,x,b),A=k.newDataRevision,S=function(t,e,r,n,i,a){var o=e.length===r.length;if(!i&&!o)return{fullReplot:!0,calc:!0};var s,l,c=T.traceFlags();c.arrays={},c.nChanges=0,c.nChangesAnim=0;var u={getValObject:function(t){var e=f.getTraceValObject(l,t);return!l._module.animatable&&e.anim&&(e.anim=!1),e},flags:c,immutable:n,transition:i,newDataRevision:a,gd:t},p={};for(s=0;s<e.length;s++)if(r[s]){if(l=r[s]._fullInput,h.hasMakesDataTransform(l)&&(l=r[s]),p[l.uid])continue;p[l.uid]=1,it(e[s]._fullInput,l,[],u)}(c.calc||c.plot)&&(c.fullReplot=!0);i&&c.nChanges&&c.nChangesAnim&&(c.anim=c.nChanges===c.nChangesAnim&&o?\"all\":\"some\");return c}(t,c,v,x,b,A);if(X(t)&&(k.layoutReplot=!0),S.calc||k.calc){t.calcdata=void 0;for(var E=Object.getOwnPropertyNames(y),C=0;C<E.length;C++){var P=E[C],I=P.substring(0,5);if(\"xaxis\"===I||\"yaxis\"===I){var O=y[P]._emptyCategories;O&&O()}}}else h.supplyDefaultsUpdateCalc(t.calcdata,v);var z=[];if(a&&(t._transitionData={},h.createTransitionData(t),z.push((function(){return r.addFrames(t,a)}))),y.transition&&!m&&(S.anim||k.anim))k.ticks&&z.push(w.doTicksRelayout),h.doCalcdata(t),w.doAutoRangeAndConstraints(t),z.push((function(){return h.transitionFromReact(t,S,k,p)}));else if(S.fullReplot||k.layoutReplot||m)t._fullLayout._skipDefaults=!0,z.push(r._doPlot);else{for(var D in k.arrays){var F=k.arrays[D];if(F.length){var B=u.getComponentMethod(D,\"drawOne\");if(B!==o.noop)for(var N=0;N<F.length;N++)B(t,F[N]);else{var j=u.getComponentMethod(D,\"draw\");if(j===o.noop)throw new Error(\"cannot draw components: \"+D);j(t)}}}z.push(h.previousPromises),S.style&&z.push(w.doTraceStyle),(S.colorbars||k.colorbars)&&z.push(w.doColorBars),k.legend&&z.push(w.doLegend),k.layoutstyle&&z.push(w.layoutStyles),k.axrange&&H(z),k.ticks&&z.push(w.doTicksRelayout),k.modebar&&z.push(w.doModeBar),k.camera&&z.push(w.doCamera),z.push(M)}z.push(h.rehover,h.redrag),(l=o.syncOrAsync(z,t))&&l.then||(l=Promise.resolve(t))}else l=r.newPlot(t,e,n,i);return l.then((function(){return t.emit(\"plotly_react\",{data:e,layout:n}),t}))},r.redraw=function(t){if(t=o.getGraphDiv(t),!o.isPlotDiv(t))throw new Error(\"This element is not a Plotly plot: \"+t);return _.cleanData(t.data),_.cleanLayout(t.layout),t.calcdata=void 0,r._doPlot(t).then((function(){return t.emit(\"plotly_redraw\"),t}))},r.relayout=U,r.restyle=D,r.setPlotConfig=function(t){return o.extendFlat(x,t)},r.update=Z,r._guiRelayout=J(U),r._guiRestyle=J(D),r._guiUpdate=J(Z),r._storeDirectGUIEdit=function(t,e,r){for(var n in r){B(n,s(t,n).get(),r[n],e)}}},{\"../components/color\":366,\"../components/drawing\":388,\"../constants/xmlns_namespaces\":480,\"../lib\":503,\"../lib/events\":492,\"../lib/queue\":519,\"../plots/cartesian/axes\":554,\"../plots/cartesian/constants\":561,\"../plots/cartesian/graph_interact\":564,\"../plots/cartesian/select\":575,\"../plots/plots\":619,\"../registry\":638,\"./edit_types\":536,\"./helpers\":537,\"./manage_arrays\":539,\"./plot_config\":541,\"./plot_schema\":542,\"./subroutines\":544,\"@plotly/d3\":58,\"fast-isnumeric\":190,\"has-hover\":228}],541:[function(t,e,r){\"use strict\";var n={staticPlot:{valType:\"boolean\",dflt:!1},typesetMath:{valType:\"boolean\",dflt:!0},plotlyServerURL:{valType:\"string\",dflt:\"\"},editable:{valType:\"boolean\",dflt:!1},edits:{annotationPosition:{valType:\"boolean\",dflt:!1},annotationTail:{valType:\"boolean\",dflt:!1},annotationText:{valType:\"boolean\",dflt:!1},axisTitleText:{valType:\"boolean\",dflt:!1},colorbarPosition:{valType:\"boolean\",dflt:!1},colorbarTitleText:{valType:\"boolean\",dflt:!1},legendPosition:{valType:\"boolean\",dflt:!1},legendText:{valType:\"boolean\",dflt:!1},shapePosition:{valType:\"boolean\",dflt:!1},titleText:{valType:\"boolean\",dflt:!1}},autosizable:{valType:\"boolean\",dflt:!1},responsive:{valType:\"boolean\",dflt:!1},fillFrame:{valType:\"boolean\",dflt:!1},frameMargins:{valType:\"number\",dflt:0,min:0,max:.5},scrollZoom:{valType:\"flaglist\",flags:[\"cartesian\",\"gl3d\",\"geo\",\"mapbox\"],extras:[!0,!1],dflt:\"gl3d+geo+mapbox\"},doubleClick:{valType:\"enumerated\",values:[!1,\"reset\",\"autosize\",\"reset+autosize\"],dflt:\"reset+autosize\"},doubleClickDelay:{valType:\"number\",dflt:300,min:0},showAxisDragHandles:{valType:\"boolean\",dflt:!0},showAxisRangeEntryBoxes:{valType:\"boolean\",dflt:!0},showTips:{valType:\"boolean\",dflt:!0},showLink:{valType:\"boolean\",dflt:!1},linkText:{valType:\"string\",dflt:\"Edit chart\",noBlank:!0},sendData:{valType:\"boolean\",dflt:!0},showSources:{valType:\"any\",dflt:!1},displayModeBar:{valType:\"enumerated\",values:[\"hover\",!0,!1],dflt:\"hover\"},showSendToCloud:{valType:\"boolean\",dflt:!1},showEditInChartStudio:{valType:\"boolean\",dflt:!1},modeBarButtonsToRemove:{valType:\"any\",dflt:[]},modeBarButtonsToAdd:{valType:\"any\",dflt:[]},modeBarButtons:{valType:\"any\",dflt:!1},toImageButtonOptions:{valType:\"any\",dflt:{}},displaylogo:{valType:\"boolean\",dflt:!0},watermark:{valType:\"boolean\",dflt:!1},plotGlPixelRatio:{valType:\"number\",dflt:2,min:1,max:4},setBackground:{valType:\"any\",dflt:\"transparent\"},topojsonURL:{valType:\"string\",noBlank:!0,dflt:\"https://cdn.plot.ly/\"},mapboxAccessToken:{valType:\"string\",dflt:null},logging:{valType:\"integer\",min:0,max:2,dflt:1},notifyOnLogging:{valType:\"integer\",min:0,max:2,dflt:0},queueLength:{valType:\"integer\",min:0,dflt:0},globalTransforms:{valType:\"any\",dflt:[]},locale:{valType:\"string\",dflt:\"en-US\"},locales:{valType:\"any\",dflt:{}}},i={};!function t(e,r){for(var n in e){var i=e[n];i.valType?r[n]=i.dflt:(r[n]||(r[n]={}),t(i,r[n]))}}(n,i),e.exports={configAttributes:n,dfltConfig:i}},{}],542:[function(t,e,r){\"use strict\";var n=t(\"../registry\"),i=t(\"../lib\"),a=t(\"../plots/attributes\"),o=t(\"../plots/layout_attributes\"),s=t(\"../plots/frame_attributes\"),l=t(\"../plots/animation_attributes\"),c=t(\"./plot_config\").configAttributes,u=t(\"./edit_types\"),f=i.extendDeepAll,h=i.isPlainObject,p=i.isArrayOrTypedArray,d=i.nestedProperty,m=i.valObjectMeta,g=[\"_isSubplotObj\",\"_isLinkedToArray\",\"_arrayAttrRegexps\",\"_deprecated\"];function v(t,e,r){if(!t)return!1;if(t._isLinkedToArray)if(y(e[r]))r++;else if(r<e.length)return!1;for(;r<e.length;r++){var n=t[e[r]];if(!h(n))break;if(t=n,r===e.length-1)break;if(t._isLinkedToArray){if(!y(e[++r]))return!1}else if(\"info_array\"===t.valType){var i=e[++r];if(!y(i))return!1;var a=t.items;if(Array.isArray(a)){if(i>=a.length)return!1;if(2===t.dimensions){if(r++,e.length===r)return t;var o=e[r];if(!y(o))return!1;t=a[i][o]}else t=a[i]}else t=a}}return t}function y(t){return t===Math.round(t)&&t>=0}function x(){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<e.attr.length;i++)w(r,e,e.attr[i]);else w(r,e,\"subplot\"===e.attr?e.name:e.attr)}for(t in n.componentsRegistry){var a=(e=n.componentsRegistry[t]).schema;if(a&&(a.subplots||a.layout)){var s=a.subplots;if(s&&s.xaxis&&!s.yaxis)for(var l in s.xaxis)delete r.yaxis[l]}else\"colorscale\"===e.name?f(r,e.layoutAttributes):e.layoutAttributes&&T(r,e.layoutAttributes,e.name)}return{layoutAttributes:_(r)}}function b(){var t={frames:f({},s)};return _(t),t.frames}function _(t){return function(t){r.crawl(t,(function(t,e,n){r.isValObject(t)?!0!==t.arrayOk&&\"data_array\"!==t.valType||(n[e+\"src\"]={valType:\"string\",editType:\"none\"}):h(t)&&(t.role=\"object\")}))}(t),function(t){r.crawl(t,(function(t,e,r){if(t){var n=t._isLinkedToArray;n&&(delete t._isLinkedToArray,r[e]={items:{}},r[e].items[n]=t,r[e].role=\"object\")}}))}(t),function(t){!function t(e){for(var r in e)if(h(e[r]))t(e[r]);else if(Array.isArray(e[r]))for(var n=0;n<e[r].length;n++)t(e[r][n]);else e[r]instanceof RegExp&&(e[r]=e[r].toString())}(t)}(t),t}function w(t,e,r){var n=d(t,r),i=f({},e.layoutAttributes);i._isSubplotObj=!0,n.set(i)}function T(t,e,r){var n=d(t,r);n.set(f(n.get()||{},e))}r.IS_SUBPLOT_OBJ=\"_isSubplotObj\",r.IS_LINKED_TO_ARRAY=\"_isLinkedToArray\",r.DEPRECATED=\"_deprecated\",r.UNDERSCORE_ATTRS=g,r.get=function(){var t={};n.allTypes.forEach((function(e){t[e]=function(t){var e,i;e=n.modules[t]._module,i=e.basePlotModule;var o={type:null},s=f({},a),l=f({},e.attributes);r.crawl(l,(function(t,e,r,n,i){d(s,i).set(void 0),void 0===t&&d(l,i).set(void 0)})),f(o,s),n.traceIs(t,\"noOpacity\")&&delete o.opacity;n.traceIs(t,\"showLegend\")||(delete o.showlegend,delete o.legendgroup);n.traceIs(t,\"noHover\")&&(delete o.hoverinfo,delete o.hoverlabel);e.selectPoints||delete o.selectedpoints;f(o,l),i.attributes&&f(o,i.attributes);o.type=t;var c={meta:e.meta||{},categories:e.categories||{},animatable:Boolean(e.animatable),type:t,attributes:_(o)};if(e.layoutAttributes){var u={};f(u,e.layoutAttributes),c.layoutAttributes=_(u)}e.animatable||r.crawl(c,(function(t){r.isValObject(t)&&\"anim\"in t&&delete t.anim}));return c}(e)}));var e={};return Object.keys(n.transformsRegistry).forEach((function(t){e[t]=function(t){var e=n.transformsRegistry[t],r=f({},e.attributes);return Object.keys(n.componentsRegistry).forEach((function(e){var i=n.componentsRegistry[e];i.schema&&i.schema.transforms&&i.schema.transforms[t]&&Object.keys(i.schema.transforms[t]).forEach((function(e){T(r,i.schema.transforms[t][e],e)}))})),{attributes:_(r)}}(t)})),{defs:{valObjects:m,metaKeys:g.concat([\"description\",\"role\",\"editType\",\"impliedEdits\"]),editType:{traces:u.traces,layout:u.layout},impliedEdits:{}},traces:t,layout:x(),transforms:e,frames:b(),animation:_(l),config:_(c)}},r.crawl=function(t,e,n,i){var a=n||0;i=i||\"\",Object.keys(t).forEach((function(n){var o=t[n];if(-1===g.indexOf(n)){var s=(i?i+\".\":\"\")+n;e(o,n,t,a,s),r.isValObject(o)||h(o)&&\"impliedEdits\"!==n&&r.crawl(o,e,a+1,s)}}))},r.isValObject=function(t){return t&&void 0!==t.valType},r.findArrayAttributes=function(t){var e,n,i=[],o=[],s=[];function l(t,r,a,l){o=o.slice(0,l).concat([r]),s=s.slice(0,l).concat([t&&t._isLinkedToArray]),t&&(\"data_array\"===t.valType||!0===t.arrayOk)&&!(\"colorbar\"===o[l-1]&&(\"ticktext\"===r||\"tickvals\"===r))&&function t(e,r,a){var l=e[o[r]],c=a+o[r];if(r===o.length-1)p(l)&&i.push(n+c);else if(s[r]){if(Array.isArray(l))for(var u=0;u<l.length;u++)h(l[u])&&t(l[u],r+1,c+\"[\"+u+\"].\")}else h(l)&&t(l,r+1,c+\".\")}(e,0,\"\")}e=t,n=\"\",r.crawl(a,l),t._module&&t._module.attributes&&r.crawl(t._module.attributes,l);var c=t.transforms;if(c)for(var u=0;u<c.length;u++){var f=c[u],d=f._module;d&&(n=\"transforms[\"+u+\"].\",e=f,r.crawl(d.attributes,l))}return i},r.getTraceValObject=function(t,e){var r,i,o=e[0],s=1;if(\"transforms\"===o){if(1===e.length)return a.transforms;var l=t.transforms;if(!Array.isArray(l)||!l.length)return!1;var c=e[1];if(!y(c)||c>=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 f=u.basePlotModule;f&&f.attributes&&(i=f.attributes[o])}i||(i=a[o])}return v(i,e,s)},r.getLayoutValObject=function(t,e){return v(function(t,e){var r,i,a,s,l=t._basePlotModules;if(l){var c;for(r=0;r<l.length;r++){if((a=l[r]).attrRegex&&a.attrRegex.test(e)){if(a.layoutAttrOverrides)return a.layoutAttrOverrides;!c&&a.layoutAttributes&&(c=a.layoutAttributes)}var u=a.baseLayoutAttrOverrides;if(u&&e in u)return u[e]}if(c)return c}var f=t._modules;if(f)for(r=0;r<f.length;r++)if((s=f[r].layoutAttributes)&&e in s)return s[e];for(i in n.componentsRegistry){if(\"colorscale\"===(a=n.componentsRegistry[i]).name&&0===e.indexOf(\"coloraxis\"))return a.layoutAttributes[e];if(!a.schema&&e===a.name)return a.layoutAttributes}return e in o&&o[e]}(t,e[0]),e,1)}},{\"../lib\":503,\"../plots/animation_attributes\":548,\"../plots/attributes\":550,\"../plots/frame_attributes\":586,\"../plots/layout_attributes\":610,\"../registry\":638,\"./edit_types\":536,\"./plot_config\":541}],543:[function(t,e,r){\"use strict\";var n=t(\"../lib\"),i=t(\"../plots/attributes\"),a={name:{valType:\"string\",editType:\"none\"}};function o(t){return t&&\"string\"==typeof t}function s(t){var e=t.length-1;return\"s\"!==t.charAt(e)&&n.warn(\"bad argument to arrayDefaultKey: \"+t),t.substr(0,t.length-1)+\"defaults\"}a.templateitemname={valType:\"string\",editType:\"calc\"},r.templatedArray=function(t,e){return e._isLinkedToArray=t,e.name=a.name,e.templateitemname=a.templateitemname,e},r.traceTemplater=function(t){var e,r,a={};for(e in t)r=t[e],Array.isArray(r)&&r.length&&(a[e]=0);return{newTrace:function(o){var s={type:e=n.coerce(o,{},i,\"type\"),_template:null};if(e in a){r=t[e];var l=a[e]%r.length;a[e]++,s._template=r[l]}return s}}},r.newContainer=function(t,e,r){var i=t._template,a=i&&(i[e]||r&&i[r]);return n.isPlainObject(a)||(a=null),t[e]={_template:a}},r.arrayTemplater=function(t,e,r){var n=t._template,i=n&&n[s(e)],a=n&&n[e];Array.isArray(a)&&a.length||(a=[]);var l={};return{newItem:function(t){var e={name:t.name,_input:t},n=e.templateitemname=t.templateitemname;if(!o(n))return e._template=i,e;for(var s=0;s<a.length;s++){var c=a[s];if(c.name===n)return l[n]=1,e._template=c,e}return e[r]=t[r]||!1,e._template=!1,e},defaultItems:function(){for(var t=[],e=0;e<a.length;e++){var r=a[e],n=r.name;if(o(n)&&!l[n]){var i={_template:r,name:n,_input:{_templateitemname:n}};i.templateitemname=r.templateitemname,t.push(i),l[n]=1}}return t}}},r.arrayDefaultKey=s,r.arrayEditor=function(t,e,r){var i=(n.nestedProperty(t,e).get()||[]).length,a=r._index,o=a>=i&&(r._input||{})._templateitemname;o&&(a=i);var s,l=e+\"[\"+a+\"]\";function c(){s={},o&&(s[l]={},s[l].templateitemname=o)}function u(t,e){o?n.nestedProperty(s[l],t).set(e):s[l+\".\"+t]=e}function f(){var t=s;return c(),t}return c(),{modifyBase:function(t,e){s[t]=e},modifyItem:u,getUpdateObj:f,applyUpdate:function(e,r){e&&u(e,r);var i=f();for(var a in i)n.nestedProperty(t,a).set(i[a])}}}},{\"../lib\":503,\"../plots/attributes\":550}],544:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../registry\"),a=t(\"../plots/plots\"),o=t(\"../lib\"),s=t(\"../lib/clear_gl_canvases\"),l=t(\"../components/color\"),c=t(\"../components/drawing\"),u=t(\"../components/titles\"),f=t(\"../components/modebar\"),h=t(\"../plots/cartesian/axes\"),p=t(\"../constants/alignment\"),d=t(\"../plots/cartesian/constraints\"),m=d.enforce,g=d.clean,v=t(\"../plots/cartesian/autorange\").doAutoRange;function y(t,e,r){for(var n=0;n<r.length;n++){var i=r[n][0],a=r[n][1];if(!(i[0]>=t[1]||i[1]<=t[0])&&(a[0]<e[1]&&a[1]>e[0]))return!0}return!1}function x(t){var e,i,s,u,d,m,g=t._fullLayout,v=g._size,x=v.p,_=h.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),r.drawMainTitle(t),f.manage(t),!g._has(\"cartesian\"))return a.previousPromises(t);function T(t,e,r){var n=t._lw/2;return\"x\"===t._id.charAt(0)?e?\"top\"===r?e._offset-x-n:e._offset+e._length+x+n:v.t+v.h*(1-(t.position||0))+n%1:e?\"right\"===r?e._offset+e._length+x+n:e._offset-x-n:v.l+v.w*(t.position||0)+n%1}for(e=0;e<_.length;e++){var k=(u=_[e])._anchorAxis;u._linepositions={},u._lw=c.crispRound(t,u.linewidth,1),u._mainLinePosition=T(u,k,u.side),u._mainMirrorPosition=u.mirror&&k?T(u,k,p.OPPOSITE_SIDE[u.side]):null}var A=[],M=[],S=[],E=1===l.opacity(g.paper_bgcolor)&&1===l.opacity(g.plot_bgcolor)&&g.paper_bgcolor===g.plot_bgcolor;for(i in g._plots)if((s=g._plots[i]).mainplot)s.bg&&s.bg.remove(),s.bg=void 0;else{var L=s.xaxis.domain,C=s.yaxis.domain,P=s.plotgroup;if(y(L,C,S)){var I=P.node(),O=s.bg=o.ensureSingle(P,\"rect\",\"bg\");I.insertBefore(O.node(),I.childNodes[0]),M.push(i)}else P.select(\"rect.bg\").remove(),S.push([L,C]),E||(A.push(i),M.push(i))}var z,D,R,F,B,N,j,U,V,H,q,G,Y,W=g._bgLayer.selectAll(\".bg\").data(A);for(W.enter().append(\"rect\").classed(\"bg\",!0),W.exit().remove(),W.each((function(t){g._plots[t].bg=n.select(this)})),e=0;e<M.length;e++)s=g._plots[M[e]],d=s.xaxis,m=s.yaxis,s.bg&&void 0!==d._offset&&void 0!==m._offset&&s.bg.call(c.setRect,d._offset-x,m._offset-x,d._length+2*x,m._length+2*x).call(l.fill,g.plot_bgcolor).style(\"stroke-width\",0);if(!g._hasOnlyLargeSploms)for(i in g._plots){s=g._plots[i],d=s.xaxis,m=s.yaxis;var X,Z,J=s.clipId=\"clip\"+g._uid+i+\"plot\",K=o.ensureSingleById(g._clips,\"clipPath\",J,(function(t){t.classed(\"plotclip\",!0).append(\"rect\")}));s.clipRect=K.select(\"rect\").attr({width:d._length,height:m._length}),c.setTranslate(s.plot,d._offset,m._offset),s._hasClipOnAxisFalse?(X=null,Z=J):(X=J,Z=null),c.setClipUrl(s.plot,X,t),s.layerClipId=Z}function Q(t){return\"M\"+z+\",\"+t+\"H\"+D}function $(t){return\"M\"+d._offset+\",\"+t+\"h\"+d._length}function tt(t){return\"M\"+t+\",\"+U+\"V\"+j}function et(t){return\"M\"+t+\",\"+m._offset+\"v\"+m._length}function rt(t,e,r){if(!t.showline||i!==t._mainSubplot)return\"\";if(!t._anchorAxis)return r(t._mainLinePosition);var n=e(t._mainLinePosition);return t.mirror&&(n+=e(t._mainMirrorPosition)),n}for(i in g._plots){s=g._plots[i],d=s.xaxis,m=s.yaxis;var nt=\"M0,0\";b(d,i)&&(B=w(d,\"left\",m,_),z=d._offset-(B?x+B:0),N=w(d,\"right\",m,_),D=d._offset+d._length+(N?x+N:0),R=T(d,m,\"bottom\"),F=T(d,m,\"top\"),!(Y=!d._anchorAxis||i!==d._mainSubplot)||\"allticks\"!==d.mirror&&\"all\"!==d.mirror||(d._linepositions[i]=[R,F]),nt=rt(d,Q,$),Y&&d.showline&&(\"all\"===d.mirror||\"allticks\"===d.mirror)&&(nt+=Q(R)+Q(F)),s.xlines.style(\"stroke-width\",d._lw+\"px\").call(l.stroke,d.showline?d.linecolor:\"rgba(0,0,0,0)\")),s.xlines.attr(\"d\",nt);var it=\"M0,0\";b(m,i)&&(q=w(m,\"bottom\",d,_),j=m._offset+m._length+(q?x:0),G=w(m,\"top\",d,_),U=m._offset-(G?x:0),V=T(m,d,\"left\"),H=T(m,d,\"right\"),!(Y=!m._anchorAxis||i!==m._mainSubplot)||\"allticks\"!==m.mirror&&\"all\"!==m.mirror||(m._linepositions[i]=[V,H]),it=rt(m,tt,et),Y&&m.showline&&(\"all\"===m.mirror||\"allticks\"===m.mirror)&&(it+=tt(V)+tt(H)),s.ylines.style(\"stroke-width\",m._lw+\"px\").call(l.stroke,m.showline?m.linecolor:\"rgba(0,0,0,0)\")),s.ylines.attr(\"d\",it)}return h.makeClipPaths(t),a.previousPromises(t)}function b(t,e){return(t.ticks||t.showline)&&(e===t._mainSubplot||\"all\"===t.mirror||\"allticks\"===t.mirror)}function _(t,e,r){if(!r.showline||!r._lw)return!1;if(\"all\"===r.mirror||\"allticks\"===r.mirror)return!0;var n=r._anchorAxis;if(!n)return!1;var i=p.FROM_BL[e];return r.side===e?n.domain[i]===t.domain[i]:r.mirror&&n.domain[1-i]===t.domain[1-i]}function w(t,e,r,n){if(_(t,e,r))return r._lw;for(var i=0;i<n.length;i++){var a=n[i];if(a._mainAxis===r._mainAxis&&_(t,e,a))return a._lw}return 0}function T(t,e){var r=t.title,n=t._size,i=0;switch(\"start\"===e?i=r.pad.l:\"end\"===e&&(i=-r.pad.r),r.xref){case\"paper\":return n.l+n.w*r.x+i;case\"container\":default:return t.width*r.x+i}}function k(t,e){var r=t.title,n=t._size,i=0;if(\"0em\"!==e&&e?e===p.CAP_SHIFT+\"em\"&&(i=r.pad.t):i=-r.pad.b,\"auto\"===r.y)return n.t/2;switch(r.yref){case\"paper\":return n.t+n.h-n.h*r.y+i;case\"container\":default:return t.height-t.height*r.y+i}}r.layoutStyles=function(t){return o.syncOrAsync([a.doAutoMargin,x],t)},r.drawMainTitle=function(t){var e=t._fullLayout,r=function(t){var e=t.title,r=\"middle\";o.isRightAnchor(e)?r=\"end\":o.isLeftAnchor(e)&&(r=\"start\");return r}(e),n=function(t){var e=t.title,r=\"0em\";o.isTopAnchor(e)?r=p.CAP_SHIFT+\"em\":o.isMiddleAnchor(e)&&(r=p.MID_SHIFT+\"em\");return r}(e);u.draw(t,\"gtitle\",{propContainer:e,propName:\"title.text\",placeholder:e._dfltTitle.plot,attributes:{x:T(e,r),y:k(e,n),\"text-anchor\":r,dy:n}})},r.doTraceStyle=function(t){var e,n=t.calcdata,o=[];for(e=0;e<n.length;e++){var l=n[e],c=l[0]||{},u=c.trace||{},f=u._module||{},h=f.arraysToCalcdata;h&&h(l,u);var p=f.editStyle;p&&o.push({fn:p,cd0:c})}if(o.length){for(e=0;e<o.length;e++){var d=o[e];d.fn(t,d.cd0)}s(t),r.redrawReglTraces(t)}return a.style(t),i.getComponentMethod(\"legend\",\"draw\")(t),a.previousPromises(t)},r.doColorBars=function(t){return i.getComponentMethod(\"colorbar\",\"draw\")(t),a.previousPromises(t)},r.layoutReplot=function(t){var e=t.layout;return t.layout=void 0,i.call(\"_doPlot\",t,\"\",e)},r.doLegend=function(t){return i.getComponentMethod(\"legend\",\"draw\")(t),a.previousPromises(t)},r.doTicksRelayout=function(t){return h.draw(t,\"redraw\"),t._fullLayout._hasOnlyLargeSploms&&(i.subplotsRegistry.splom.updateGrid(t),s(t),r.redrawReglTraces(t)),r.drawMainTitle(t),a.previousPromises(t)},r.doModeBar=function(t){var e=t._fullLayout;f.manage(t);for(var r=0;r<e._basePlotModules.length;r++){var n=e._basePlotModules[r].updateFx;n&&n(t)}return a.previousPromises(t)},r.doCamera=function(t){for(var e=t._fullLayout,r=e._subplots.gl3d,n=0;n<r.length;n++){var i=e[r[n]];i._scene.setViewport(i)}},r.drawData=function(t){var e=t._fullLayout;s(t);for(var n=e._basePlotModules,o=0;o<n.length;o++)n[o].plot(t);return r.redrawReglTraces(t),a.style(t),i.getComponentMethod(\"shapes\",\"draw\")(t),i.getComponentMethod(\"annotations\",\"draw\")(t),i.getComponentMethod(\"images\",\"draw\")(t),e._replotting=!1,a.previousPromises(t)},r.redrawReglTraces=function(t){var e=t._fullLayout;if(e._has(\"regl\")){var r,n,i=t._fullData,a=[],s=[];for(e._hasOnlyLargeSploms&&e._splomGrid.draw(),r=0;r<i.length;r++){var l=i[r];!0===l.visible&&0!==l._length&&(\"splom\"===l.type?e._splomScenes[l.uid].draw():\"scattergl\"===l.type?o.pushUnique(a,l.xaxis+l.yaxis):\"scatterpolargl\"===l.type&&o.pushUnique(s,l.subplot))}for(r=0;r<a.length;r++)(n=e._plots[a[r]])._scene&&n._scene.draw();for(r=0;r<s.length;r++)(n=e[s[r]]._subplot)._scene&&n._scene.draw()}},r.doAutoRangeAndConstraints=function(t){for(var e,r=h.list(t,\"\",!0),n={},i=0;i<r.length;i++)if(!n[(e=r[i])._id]){n[e._id]=1,g(t,e),v(t,e);var a=e._matchGroup;if(a)for(var o in a){var s=h.getFromId(t,o);v(t,s,e.range),n[o]=1}}m(t)},r.finalDraw=function(t){i.getComponentMethod(\"rangeslider\",\"draw\")(t),i.getComponentMethod(\"rangeselector\",\"draw\")(t)},r.drawMarginPushers=function(t){i.getComponentMethod(\"legend\",\"draw\")(t),i.getComponentMethod(\"rangeselector\",\"draw\")(t),i.getComponentMethod(\"sliders\",\"draw\")(t),i.getComponentMethod(\"updatemenus\",\"draw\")(t),i.getComponentMethod(\"colorbar\",\"draw\")(t)}},{\"../components/color\":366,\"../components/drawing\":388,\"../components/modebar\":429,\"../components/titles\":464,\"../constants/alignment\":471,\"../lib\":503,\"../lib/clear_gl_canvases\":487,\"../plots/cartesian/autorange\":553,\"../plots/cartesian/axes\":554,\"../plots/cartesian/constraints\":562,\"../plots/plots\":619,\"../registry\":638,\"@plotly/d3\":58}],545:[function(t,e,r){\"use strict\";var n=t(\"../lib\"),i=n.isPlainObject,a=t(\"./plot_schema\"),o=t(\"../plots/plots\"),s=t(\"../plots/attributes\"),l=t(\"./plot_template\"),c=t(\"./plot_config\").dfltConfig;function u(t,e){t=n.extendDeep({},t);var r,a,o=Object.keys(t).sort();function s(e,r,n){if(i(r)&&i(e))u(e,r);else if(Array.isArray(r)&&Array.isArray(e)){var o=l.arrayTemplater({_template:t},n);for(a=0;a<r.length;a++){var s=r[a],c=o.newItem(s)._template;c&&u(c,s)}var f=o.defaultItems();for(a=0;a<f.length;a++)r.push(f[a]._template);for(a=0;a<r.length;a++)delete r[a].templateitemname}}for(r=0;r<o.length;r++){var c=o[r],h=t[c];if(c in e?s(h,e[c],c):e[c]=h,f(c)===c)for(var p in e){var d=f(p);p===d||d!==c||p in t||s(h,e[p],c)}}}function f(t){return t.replace(/[0-9]+$/,\"\")}function h(t,e,r,a,o){var s=o&&r(o);for(var c in t){var u=t[c],p=m(t,c,a),d=m(t,c,o),g=r(d);if(!g){var v=f(c);v!==c&&(g=r(d=m(t,v,o)))}if((!s||s!==g)&&!(!g||g._noTemplating||\"data_array\"===g.valType||g.arrayOk&&Array.isArray(u)))if(!g.valType&&i(u))h(u,e,r,p,d);else if(g._isLinkedToArray&&Array.isArray(u))for(var y=!1,x=0,b={},_=0;_<u.length;_++){var w=u[_];if(i(w)){var T=w.name;if(T)b[T]||(h(w,e,r,m(u,x,p),m(u,x,d)),x++,b[T]=1);else if(!y){var k=m(t,l.arrayDefaultKey(c),a),A=m(u,x,p);h(w,e,r,A,m(u,x,d));var M=n.nestedProperty(e,A);n.nestedProperty(e,k).set(M.get()),M.set(null),y=!0}}}else{n.nestedProperty(e,p).set(u)}}}function p(t,e){return a.getLayoutValObject(t,n.nestedProperty({},e).parts)}function d(t,e){return a.getTraceValObject(t,n.nestedProperty({},e).parts)}function m(t,e,r){return r?Array.isArray(t)?r+\"[\"+e+\"]\":r+\".\"+e:e}function g(t){for(var e=0;e<t.length;e++)if(i(t[e]))return!0}function v(t){var e;switch(t.code){case\"data\":e=\"The template has no key data.\";break;case\"layout\":e=\"The template has no key layout.\";break;case\"missing\":e=t.path?\"There are no templates for item \"+t.path+\" with name \"+t.templateitemname:\"There are no templates for trace \"+t.index+\", of type \"+t.traceType+\".\";break;case\"unused\":e=t.path?\"The template item at \"+t.path+\" was not used in constructing the plot.\":t.dataCount?\"Some of the templates of type \"+t.traceType+\" were not used. The template has \"+t.templateCount+\" traces, the data only has \"+t.dataCount+\" of this type.\":\"The template has \"+t.templateCount+\" traces of type \"+t.traceType+\" but there are none in the data.\";break;case\"reused\":e=\"Some of the templates of type \"+t.traceType+\" were used more than once. The template has \"+t.templateCount+\" traces, the data has \"+t.dataCount+\" of this type.\"}return t.msg=e,t}r.makeTemplate=function(t){t=n.isPlainObject(t)?t:n.getGraphDiv(t),t=n.extendDeep({_context:c},{data:t.data,layout:t.layout}),o.supplyDefaults(t);var e=t.data||[],r=t.layout||{};r._basePlotModules=t._fullLayout._basePlotModules,r._modules=t._fullLayout._modules;var a={data:{},layout:{}};e.forEach((function(t){var e={};h(t,e,d.bind(null,t));var r=n.coerce(t,{},s,\"type\"),i=a.data[r];i||(i=a.data[r]=[]),i.push(e)})),h(r,a.layout,p.bind(null,r)),delete a.layout.template;var l=r.template;if(i(l)){var f,m,g,v,y,x,b=l.layout;i(b)&&u(b,a.layout);var _=l.data;if(i(_)){for(m in a.data)if(g=_[m],Array.isArray(g)){for(x=(y=a.data[m]).length,v=g.length,f=0;f<x;f++)u(g[f%v],y[f]);for(f=x;f<v;f++)y.push(n.extendDeep({},g[f]))}for(m in _)m in a.data||(a.data[m]=n.extendDeep([],_[m]))}}return a},r.validateTemplate=function(t,e){var r=n.extendDeep({},{_context:c,data:t.data,layout:t.layout}),a=r.layout||{};i(e)||(e=a.template||{});var s=e.layout,l=e.data,u=[];r.layout=a,r.layout.template=e,o.supplyDefaults(r);var h=r._fullLayout,p=r._fullData,d={};if(i(s)?(!function t(e,r){for(var n in e)if(\"_\"!==n.charAt(0)&&i(e[n])){var a,o=f(n),s=[];for(a=0;a<r.length;a++)s.push(m(e,n,r[a])),o!==n&&s.push(m(e,o,r[a]));for(a=0;a<s.length;a++)d[s[a]]=1;t(e[n],s)}}(h,[\"layout\"]),function t(e,r){for(var n in e)if(-1===n.indexOf(\"defaults\")&&i(e[n])){var a=m(e,n,r);d[a]?t(e[n],a):u.push({code:\"unused\",path:a})}}(s,\"layout\")):u.push({code:\"layout\"}),i(l)){for(var y,x={},b=0;b<p.length;b++){var _=p[b];x[y=_.type]=(x[y]||0)+1,_._fullInput._template||u.push({code:\"missing\",index:_._fullInput.index,traceType:y})}for(y in l){var w=l[y].length,T=x[y]||0;w>T?u.push({code:\"unused\",traceType:y,templateCount:w,dataCount:T}):T>w&&u.push({code:\"reused\",traceType:y,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:h},\"\"),u.length)return u.map(v)}},{\"../lib\":503,\"../plots/attributes\":550,\"../plots/plots\":619,\"./plot_config\":541,\"./plot_schema\":542,\"./plot_template\":543}],546:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"./plot_api\"),a=t(\"../plots/plots\"),o=t(\"../lib\"),s=t(\"../snapshot/helpers\"),l=t(\"../snapshot/tosvg\"),c=t(\"../snapshot/svgtoimg\"),u=t(\"../version\").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}};e.exports=function(t,e){var r,h,p,d;function m(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||{}),!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(f.format.values,\", \",\" or \")+\".\");var g={};function v(t,r){return o.coerce(e,g,f,t,r)}var y=v(\"format\"),x=v(\"width\"),b=v(\"height\"),_=v(\"scale\"),w=v(\"setBackground\"),T=v(\"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,y,_),n=k._fullLayout.width,f=k._fullLayout.height;function h(){i.purge(k),document.body.removeChild(k)}if(\"full-json\"===y){var p=a.graphJson(k,!1,\"keepdata\",\"object\",!0,!0);return p.version=u,p=JSON.stringify(p),h(),t(T?p:s.encodeJSON(p))}if(h(),\"svg\"===y)return t(T?r:s.encodeSVG(r));var d=document.createElement(\"canvas\");d.id=o.randstr(),c({format:y,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)}))}))}},{\"../lib\":503,\"../plots/plots\":619,\"../snapshot/helpers\":642,\"../snapshot/svgtoimg\":644,\"../snapshot/tosvg\":646,\"../version\":1123,\"./plot_api\":540,\"fast-isnumeric\":190}],547:[function(t,e,r){\"use strict\";var n=t(\"../lib\"),i=t(\"../plots/plots\"),a=t(\"./plot_schema\"),o=t(\"./plot_config\").dfltConfig,s=n.isPlainObject,l=Array.isArray,c=n.isArrayOrTypedArray;function u(t,e,r,i,a,o){o=o||[];for(var f=Object.keys(t),h=0;h<f.length;h++){var p=f[h];if(\"transforms\"!==p){var v=o.slice();v.push(p);var y=t[p],x=e[p],b=g(r,p),_=(b||{}).valType,w=\"info_array\"===_,T=\"colorscale\"===_,k=(b||{}).items;if(m(r,p))if(s(y)&&s(x)&&\"any\"!==_)u(y,x,b,i,a,v);else if(w&&l(y)){y.length>x.length&&i.push(d(\"unused\",a,v.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;M<C;M++)if(l(y[M])){y[M].length>x[M].length&&i.push(d(\"unused\",a,v.concat(M,x[M].length)));var I=x[M].length;for(A=0;A<(P?Math.min(I,k[M].length):I);A++)S=P?k[M][A]:k,E=y[M][A],L=x[M][A],n.validate(E,S)?L!==E&&L!==+E&&i.push(d(\"dynamic\",a,v.concat(M,A),E,L)):i.push(d(\"value\",a,v.concat(M,A),E))}else i.push(d(\"array\",a,v.concat(M),y[M]));else for(M=0;M<C;M++)S=P?k[M]:k,E=y[M],L=x[M],n.validate(E,S)?L!==E&&L!==+E&&i.push(d(\"dynamic\",a,v.concat(M),E,L)):i.push(d(\"value\",a,v.concat(M),E))}else if(b.items&&!w&&l(y)){var O,z,D=k[Object.keys(k)[0]],R=[];for(O=0;O<x.length;O++){var F=x[O]._index||O;if((z=v.slice()).push(F),s(y[F])&&s(x[O])){R.push(F);var B=y[F],N=x[O];s(B)&&!1!==B.visible&&!1===N.visible?i.push(d(\"invisible\",a,z)):u(B,N,D,i,a,z)}}for(O=0;O<y.length;O++)(z=v.slice()).push(O),s(y[O])?-1===R.indexOf(O)&&i.push(d(\"unused\",a,z)):i.push(d(\"object\",a,z,y[O]))}else!s(y)&&s(x)?i.push(d(\"object\",a,v,y)):c(y)||!c(x)||w||T?p in e?n.validate(y,b)?\"enumerated\"===b.valType&&(b.coerceNumber&&y!==+x||y!==x)&&i.push(d(\"dynamic\",a,v,y,x)):i.push(d(\"value\",a,v,y)):i.push(d(\"unused\",a,v,y)):i.push(d(\"array\",a,v,y));else i.push(d(\"schema\",a,v))}}return i}function f(t,e){for(var r=t.layout.layoutAttributes,i=0;i<e.length;i++){var a=e[i],o=t.traces[a.type],s=o.layoutAttributes;s&&(a.subplot?n.extendFlat(r[o.attributes.subplot.dflt],s):n.extendFlat(r,s))}return r}e.exports=function(t,e){void 0===t&&(t=[]),void 0===e&&(e={});var r,c,h=a.get(),p=[],m={_context:n.extendFlat({},o)};l(t)?(m.data=n.extendDeep([],t),r=t):(m.data=[],r=[],p.push(d(\"array\",\"data\"))),s(e)?(m.layout=n.extendDeep({},e),c=e):(m.layout={},c={},arguments.length>1&&p.push(d(\"object\",\"layout\"))),i.supplyDefaults(m);for(var g=m._fullData,v=r.length,y=0;y<v;y++){var x=r[y],b=[\"data\",y];if(s(x)){var _=g[y],w=_.type,T=h.traces[w].attributes;T.type={valType:\"enumerated\",values:[w]},!1===_.visible&&!1!==x.visible&&p.push(d(\"invisible\",b)),u(x,_,T,p,b);var k=x.transforms,A=_.transforms;if(k){l(k)||p.push(d(\"array\",b,[\"transforms\"])),b.push(\"transforms\");for(var M=0;M<k.length;M++){var S=[\"transforms\",M],E=k[M].type;if(s(k[M])){var L=h.transforms[E]?h.transforms[E].attributes:{};L.type={valType:\"enumerated\",values:Object.keys(h.transforms)},u(k[M],A[M],L,p,b,S)}else p.push(d(\"object\",b,S))}}}else p.push(d(\"object\",b))}var C=m._fullLayout,P=f(h,g);return u(c,C,P,p,\"layout\"),0===p.length?void 0:p};var h={object:function(t,e){return(\"layout\"===t&&\"\"===e?\"The layout argument\":\"data\"===t[0]&&\"\"===e?\"Trace \"+t[1]+\" in the data argument\":p(t)+\"key \"+e)+\" must be linked to an object container\"},array:function(t,e){return(\"data\"===t?\"The data argument\":p(t)+\"key \"+e)+\" must be linked to an array container\"},schema:function(t,e){return p(t)+\"key \"+e+\" is not part of the schema\"},unused:function(t,e,r){var n=s(r)?\"container\":\"key\";return p(t)+n+\" \"+e+\" did not get coerced\"},dynamic:function(t,e,r,n){return[p(t)+\"key\",e,\"(set to '\"+r+\"')\",\"got reset to\",\"'\"+n+\"'\",\"during defaults.\"].join(\" \")},invisible:function(t,e){return(e?p(t)+\"item \"+e:\"Trace \"+t[1])+\" got defaulted to be not visible\"},value:function(t,e,r){return[p(t)+\"key \"+e,\"is set to an invalid value (\"+r+\")\"].join(\" \")}};function p(t){return l(t)?\"In data trace \"+t[1]+\", \":\"In \"+t+\", \"}function d(t,e,r,i,a){var o,s;r=r||\"\",l(e)?(o=e[0],s=e[1]):(o=e,s=null);var c=function(t){if(!l(t))return String(t);for(var e=\"\",r=0;r<t.length;r++){var n=t[r];\"number\"==typeof n?e=e.substr(0,e.length-1)+\"[\"+n+\"]\":e+=n,r<t.length-1&&(e+=\".\")}return e}(r),u=h[t](e,c,i,a);return n.log(u),{code:t,container:o,trace:s,path:r,astr:c,msg:u}}function m(t,e){var r=y(e),n=r.keyMinusId,i=r.id;return!!(n in t&&t[n]._isSubplotObj&&i)||e in t}function g(t,e){return e in t?t[e]:t[y(e).keyMinusId]}var v=n.counterRegex(\"([a-z]+)\");function y(t){var e=t.match(v);return{keyMinusId:e&&e[1],id:e&&e[2]}}},{\"../lib\":503,\"../plots/plots\":619,\"./plot_config\":541,\"./plot_schema\":542}],548:[function(t,e,r){\"use strict\";e.exports={mode:{valType:\"enumerated\",dflt:\"afterall\",values:[\"immediate\",\"next\",\"afterall\"]},direction:{valType:\"enumerated\",values:[\"forward\",\"reverse\"],dflt:\"forward\"},fromcurrent:{valType:\"boolean\",dflt:!1},frame:{duration:{valType:\"number\",min:0,dflt:500},redraw:{valType:\"boolean\",dflt:!0}},transition:{duration:{valType:\"number\",min:0,dflt:500,editType:\"none\"},easing:{valType:\"enumerated\",dflt:\"cubic-in-out\",values:[\"linear\",\"quad\",\"cubic\",\"sin\",\"exp\",\"circle\",\"elastic\",\"back\",\"bounce\",\"linear-in\",\"quad-in\",\"cubic-in\",\"sin-in\",\"exp-in\",\"circle-in\",\"elastic-in\",\"back-in\",\"bounce-in\",\"linear-out\",\"quad-out\",\"cubic-out\",\"sin-out\",\"exp-out\",\"circle-out\",\"elastic-out\",\"back-out\",\"bounce-out\",\"linear-in-out\",\"quad-in-out\",\"cubic-in-out\",\"sin-in-out\",\"exp-in-out\",\"circle-in-out\",\"elastic-in-out\",\"back-in-out\",\"bounce-in-out\"],editType:\"none\"},ordering:{valType:\"enumerated\",values:[\"layout first\",\"traces first\"],dflt:\"layout first\",editType:\"none\"}}}},{}],549:[function(t,e,r){\"use strict\";var n=t(\"../lib\"),i=t(\"../plot_api/plot_template\");e.exports=function(t,e,r){var a,o,s=r.name,l=r.inclusionAttr||\"visible\",c=e[s],u=n.isArrayOrTypedArray(t[s])?t[s]:[],f=e[s]=[],h=i.arrayTemplater(e,s,l);for(a=0;a<u.length;a++){var p=u[a];n.isPlainObject(p)?o=h.newItem(p):(o=h.newItem({}))[l]=!1,o._index=a,!1!==o[l]&&r.handleItemDefaults(p,o,e,r),f.push(o)}var d=h.defaultItems();for(a=0;a<d.length;a++)(o=d[a])._index=f.length,r.handleItemDefaults({},o,e,r,{}),f.push(o);if(n.isArrayOrTypedArray(c)){var m=Math.min(c.length,f.length);for(a=0;a<m;a++)n.relinkPrivateKeys(f[a],c[a])}return f}},{\"../lib\":503,\"../plot_api/plot_template\":543}],550:[function(t,e,r){\"use strict\";var n=t(\"./font_attributes\"),i=t(\"../components/fx/attributes\");e.exports={type:{valType:\"enumerated\",values:[],dflt:\"scatter\",editType:\"calc+clearAxisTypes\",_noTemplating:!0},visible:{valType:\"enumerated\",values:[!0,!1,\"legendonly\"],dflt:!0,editType:\"calc\"},showlegend:{valType:\"boolean\",dflt:!0,editType:\"style\"},legendgroup:{valType:\"string\",dflt:\"\",editType:\"style\"},legendgrouptitle:{text:{valType:\"string\",dflt:\"\",editType:\"style\"},font:n({editType:\"style\"}),editType:\"style\"},legendrank:{valType:\"number\",dflt:1e3,editType:\"style\"},opacity:{valType:\"number\",min:0,max:1,dflt:1,editType:\"style\"},name:{valType:\"string\",editType:\"style\"},uid:{valType:\"string\",editType:\"plot\",anim:!0},ids:{valType:\"data_array\",editType:\"calc\",anim:!0},customdata:{valType:\"data_array\",editType:\"calc\"},meta:{valType:\"any\",arrayOk:!0,editType:\"plot\"},selectedpoints:{valType:\"any\",editType:\"calc\"},hoverinfo:{valType:\"flaglist\",flags:[\"x\",\"y\",\"z\",\"text\",\"name\"],extras:[\"all\",\"none\",\"skip\"],arrayOk:!0,dflt:\"all\",editType:\"none\"},hoverlabel:i.hoverlabel,stream:{token:{valType:\"string\",noBlank:!0,strict:!0,editType:\"calc\"},maxpoints:{valType:\"number\",min:0,max:1e4,dflt:500,editType:\"calc\"},editType:\"calc\"},transforms:{_isLinkedToArray:\"transform\",editType:\"calc\"},uirevision:{valType:\"any\",editType:\"none\"}}},{\"../components/fx/attributes\":397,\"./font_attributes\":585}],551:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../../lib\"),a=i.dateTime2ms,o=i.incrementMonth,s=t(\"../../constants/numerical\").ONEAVGMONTH;e.exports=function(t,e,r,i){if(\"date\"!==e.type)return{vals:i};var l=t[r+\"periodalignment\"];if(!l)return{vals:i};var c,u=t[r+\"period\"];if(n(u)){if((u=+u)<=0)return{vals:i}}else if(\"string\"==typeof u&&\"M\"===u.charAt(0)){var f=+u.substring(1);if(!(f>0&&Math.round(f)===f))return{vals:i};c=f}for(var h=e.calendar,p=\"start\"===l,d=\"end\"===l,m=t[r+\"period0\"],g=a(m,h)||0,v=[],y=[],x=[],b=i.length,_=0;_<b;_++){var w,T,k,A=i[_];if(c){for(w=Math.round((A-g)/(c*s)),k=o(g,c*w,h);k>A;)k=o(k,-c,h);for(;k<=A;)k=o(k,c,h);T=o(k,-c,h)}else{for(k=g+(w=Math.round((A-g)/u))*u;k>A;)k-=u;for(;k<=A;)k+=u;T=k-u}v[_]=p?T:d?k:(T+k)/2,y[_]=T,x[_]=k}return{vals:v,starts:y,ends:x}}},{\"../../constants/numerical\":479,\"../../lib\":503,\"fast-isnumeric\":190}],552:[function(t,e,r){\"use strict\";e.exports={xaxis:{valType:\"subplotid\",dflt:\"x\",editType:\"calc+clearAxisTypes\"},yaxis:{valType:\"subplotid\",dflt:\"y\",editType:\"calc+clearAxisTypes\"}}},{}],553:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"fast-isnumeric\"),a=t(\"../../lib\"),o=t(\"../../constants/numerical\").FP_SAFE,s=t(\"../../registry\"),l=t(\"../../components/drawing\"),c=t(\"./axis_ids\"),u=c.getFromId,f=c.isLinked;function h(t,e){var r,n,i=[],o=t._fullLayout,s=d(o,e,0),l=d(o,e,1),c=m(t,e),u=c.min,f=c.max;if(0===u.length||0===f.length)return a.simpleMap(e.range,e.r2l);var h=u[0].val,g=f[0].val;for(r=1;r<u.length&&h===g;r++)h=Math.min(h,u[r].val);for(r=1;r<f.length&&h===g;r++)g=Math.max(g,f[r].val);var v=!1;if(e.range){var y=a.simpleMap(e.range,e.r2l);v=y[1]<y[0]}\"reversed\"===e.autorange&&(v=!0,e.autorange=!0);var x,b,_,w,T,k,A=e.rangemode,M=\"tozero\"===A,S=\"nonnegative\"===A,E=e._length,L=E/10,C=0;for(r=0;r<u.length;r++)for(x=u[r],n=0;n<f.length;n++)(k=(b=f[n]).val-x.val-p(e,x.val,b.val))>0&&((T=E-s(x)-l(b))>L?k/T>C&&(_=x,w=b,C=k/T):k/E>C&&(_={val:x.val,nopad:1},w={val:b.val,nopad:1},C=k/E));if(h===g){var P=h-1,I=h+1;if(M)if(0===h)i=[0,1];else{var O=(h>0?f:u).reduce((function(t,e){return Math.max(t,l(e))}),0),z=h/(1-Math.min(.5,O/E));i=h>0?[0,z]:[z,0]}else i=S?[Math.max(0,P),Math.max(1,I)]:[P,I]}else M?(_.val>=0&&(_={val:0,nopad:1}),w.val<=0&&(w={val:0,nopad:1})):S&&(_.val-C*s(_)<0&&(_={val:0,nopad:1}),w.val<=0&&(w={val:1,nopad:1})),C=(w.val-_.val-p(e,x.val,b.val))/(E-s(_)-l(w)),i=[_.val-C*s(_),w.val+C*l(w)];return 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;a<i.length;a++){var o=i[a];n+=o.max-o.min}return n}function d(t,e,r){var i=.05*e._length,o=e._anchorAxis||{};if(-1!==(e.ticklabelposition||\"\").indexOf(\"inside\")||-1!==(o.ticklabelposition||\"\").indexOf(\"inside\")){var s=\"reversed\"===e.autorange;if(!s){var c=a.simpleMap(e.range,e.r2l);s=c[1]<c[0]}s&&(r=!r)}var u=0;return f(t,e._id)||(u=function(t,e,r){var i=0,o=\"x\"===e._id.charAt(0);for(var s in t._plots){var c=t._plots[s];if(e._id===c.xaxis._id||e._id===c.yaxis._id){var u=(o?c.yaxis:c.xaxis)||{};if(-1!==(u.ticklabelposition||\"\").indexOf(\"inside\")&&(!r&&(\"left\"===u.side||\"bottom\"===u.side)||r&&(\"top\"===u.side||\"right\"===u.side))){if(u._vals){var f=a.deg2rad(u._tickAngles[u._id+\"tick\"]||0),h=Math.abs(Math.cos(f)),p=Math.abs(Math.sin(f));if(!u._vals[0].bb){var d=u._id+\"tick\";u._selections[d].each((function(t){var e=n.select(this);e.select(\".text-math-group\").empty()&&(t.bb=l.bBox(e.node()))}))}for(var m=0;m<u._vals.length;m++){var g=u._vals[m].bb;if(g){var v=6+g.width,y=6+g.height;i=Math.max(i,o?Math.max(v*h,y*p):Math.max(y*h,v*p))}}}\"inside\"===u.ticks&&\"inside\"===u.ticklabelposition&&(i+=u.ticklen||0)}}}return i}(t,e,r)),i=Math.max(u,i),\"domain\"===e.constrain&&e._inputDomain&&(i*=(e._inputDomain[1]-e._inputDomain[0])/(e.domain[1]-e.domain[0])),function(t){return t.nopad?0:t.pad+(t.extrapad?i:u)}}e.exports={getAutoRange:h,makePadFn:d,doAutoRange:function(t,e,r){if(e.setScale(),e.autorange){e.range=r?r.slice():h(t,e),e._r=e.range.slice(),e._rl=a.simpleMap(e._r,e.r2l);var n=e._input,i={};i[e._attr+\".range\"]=e.range,i[e._attr+\".autorange\"]=e.autorange,s.call(\"_storeDirectGUIEdit\",t.layout,t._fullLayout._preGUI,i),n.range=e.range.slice(),n.autorange=e.autorange}var o=e._anchorAxis;if(o&&o.rangeslider){var l=o.rangeslider[e._name];l&&\"auto\"===l.rangemode&&(l.range=h(t,e)),o._input.rangeslider[e._name]=a.extendFlat({},l)}},findExtremes:function(t,e,r){r||(r={});t._m||t.setScale();var n,a,s,l,c,u,f,h,p,d=[],m=[],y=e.length,b=r.padded||!1,_=r.tozero&&(\"linear\"===t.type||\"-\"===t.type),w=\"log\"===t.type,T=!1,k=r.vpadLinearized||!1;function A(t){if(Array.isArray(t))return T=!0,function(e){return Math.max(Number(t[e]||0),0)};var e=Math.max(Number(t||0),0);return function(){return e}}var M=A((t._m>0?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;n<y;n++)(a=e[n])<h&&a>0&&(h=a),a>p&&a<o&&(p=a);else for(n=0;n<y;n++)(a=e[n])<h&&a>-o&&(h=a),a>p&&a<o&&(p=a);e=[h,p],y=2}var C={tozero:_,extrapad:b};function P(r){s=e[r],i(s)&&(u=M(r),f=S(r),k?(l=t.c2l(s)-L(r),c=t.c2l(s)+E(r)):(h=s-L(r),p=s+E(r),w&&h<p/10&&(h=p/10),l=t.c2l(h),c=t.c2l(p)),_&&(l=Math.min(0,l),c=Math.max(0,c)),x(l)&&g(d,l,f,C),x(c)&&v(m,c,u,C))}var I=Math.min(6,y);for(n=0;n<I;n++)P(n);for(n=y-1;n>=I;n--)P(n);return{min:d,max:m,opts:r}},concatExtremes:m};function m(t,e,r){var n,i,a,o=e._id,s=t._fullData,l=t._fullLayout,c=[],f=[];function h(t,e){for(n=0;n<e.length;n++){var r=t[e[n]],s=(r._extremes||{})[o];if(!0===r.visible&&s){for(i=0;i<s.min.length;i++)a=s.min[i],g(c,a.val,a.pad,{extrapad:a.extrapad});for(i=0;i<s.max.length;i++)a=s.max[i],v(f,a.val,a.pad,{extrapad:a.extrapad})}}}if(h(s,e._traceIndices),h(l.annotations||[],e._annIndices||[]),h(l.shapes||[],e._shapeIndices||[]),e._matchGroup&&!r)for(var p in e._matchGroup)if(p!==e._id){var d=u(t,p),y=m(t,d,!0),x=e._length/d._length;for(i=0;i<y.min.length;i++)a=y.min[i],g(c,a.val,a.pad*x,{extrapad:a.extrapad});for(i=0;i<y.max.length;i++)a=y.max[i],v(f,a.val,a.pad*x,{extrapad:a.extrapad})}return{min:c,max:f}}function g(t,e,r,n){y(t,e,r,n,b)}function v(t,e,r,n){y(t,e,r,n,_)}function y(t,e,r,n,i){for(var a=n.tozero,o=n.extrapad,s=!0,l=0;l<t.length&&s;l++){var c=t[l];if(i(c.val,e)&&c.pad>=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 x(t){return i(t)&&Math.abs(t)<o}function b(t,e){return t<=e}function _(t,e){return t>=e}},{\"../../components/drawing\":388,\"../../constants/numerical\":479,\"../../lib\":503,\"../../registry\":638,\"./axis_ids\":558,\"@plotly/d3\":58,\"fast-isnumeric\":190}],554:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"fast-isnumeric\"),a=t(\"../../plots/plots\"),o=t(\"../../registry\"),s=t(\"../../lib\"),l=s.strTranslate,c=t(\"../../lib/svg_text_utils\"),u=t(\"../../components/titles\"),f=t(\"../../components/color\"),h=t(\"../../components/drawing\"),p=t(\"./layout_attributes\"),d=t(\"./clean_ticks\"),m=t(\"../../constants/numerical\"),g=m.ONEMAXYEAR,v=m.ONEAVGYEAR,y=m.ONEMINYEAR,x=m.ONEMAXQUARTER,b=m.ONEAVGQUARTER,_=m.ONEMINQUARTER,w=m.ONEMAXMONTH,T=m.ONEAVGMONTH,k=m.ONEMINMONTH,A=m.ONEWEEK,M=m.ONEDAY,S=M/2,E=m.ONEHOUR,L=m.ONEMIN,C=m.ONESEC,P=m.MINUS_SIGN,I=m.BADNUM,O={K:\"zeroline\"},z={K:\"gridline\",L:\"path\"},D={K:\"minor-gridline\",L:\"path\"},R={K:\"tick\",L:\"path\"},F={K:\"tick\",L:\"text\"},B=t(\"../../constants/alignment\"),N=B.MID_SHIFT,j=B.CAP_SHIFT,U=B.LINE_SPACING,V=B.OPPOSITE_SIDE,H=e.exports={};H.setConvert=t(\"./set_convert\");var q=t(\"./axis_autotype\"),G=t(\"./axis_ids\"),Y=G.idSort,W=G.isLinked;H.id2name=G.id2name,H.name2id=G.name2id,H.cleanId=G.cleanId,H.list=G.list,H.listIds=G.listIds,H.getFromId=G.getFromId,H.getFromTrace=G.getFromTrace;var X=t(\"./autorange\");H.getAutoRange=X.getAutoRange,H.findExtremes=X.findExtremes;function Z(t){var e=1e-4*(t[1]-t[0]);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\"],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)},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 c=H.getFromId(e,n);l=r(i,a=c.fraction2r(a)),o=c.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),c={},u=0;u<e.length;u++)for(var f=r[H.id2name(e[u])][a],h=0;h<f.length;h++){var p=f[h];if(!c[p]&&(l(t,p),c[p]=1,s))return}}n(\"annotations\",\"drawOne\",\"_annIndices\"),n(\"shapes\",\"drawOne\",\"_shapeIndices\"),n(\"images\",\"draw\",\"_imgIndices\",!0)};var J=H.getDataConversions=function(t,e,r,n){var i,a=\"x\"===r||\"y\"===r||\"z\"===r?r:n;if(Array.isArray(a)){if(i={type:q(n,void 0,{autotypenumbers:t._fullLayout.autotypenumbers}),_categories:[]},H.setConvert(i),\"category\"===i.type)for(var o=0;o<n.length;o++)i.d2c(n[o])}else i=H.getFromTrace(t,e,a);return i?{d2c:i.d2c,c2d:i.c2d}:\"ids\"===a?{d2c:Q,c2d:Q}:{d2c:K,c2d:K}};function K(t){return+t}function Q(t){return String(t)}function $(t,e){return Math.abs((t/e+.5)%1-.5)<.001}function tt(t,e){return Math.abs(t/e-1)<.001}function et(t){return+t.substring(1)}function rt(t){var e=Z(s.simpleMap(t.range,t.r2l)),r=Math.min(e[0],e[1]),n=Math.max(e[0],e[1]),i=\"category\"===t.type?t.d2l_noadd:t.d2l;\"log\"===t.type&&\"L\"!==String(t.dtick).charAt(0)&&(t.dtick=\"L\"+Math.pow(10,Math.floor(Math.min(t.range[0],t.range[1]))-1));for(var a=[],o=0;o<=1;o++)if(!o||t.minor){var l=o?t.minor.tickvals:t.tickvals,c=o?[]:t.ticktext;if(l){Array.isArray(c)||(c=[]);for(var u=0;u<l.length;u++){var f=i(l[u]);if(f>r&&f<n){var h=void 0===c[u]?H.tickText(t,f):ht(t,f,String(c[u]));o&&(h.minor=!0,h.text=\"\"),a.push(h)}}}}return t.rangebreaks&&(a=a.filter((function(e){return t.maskBreaks(e.x)!==I}))),a}H.getDataToCoordFunc=function(t,e,r,n){return J(t,e,r,n).d2c},H.counterLetter=function(t){var e=t.charAt(0);return\"x\"===e?\"y\":\"y\"===e?\"x\":void 0},H.minDtick=function(t,e,r,n){-1===[\"log\",\"category\",\"multicategory\"].indexOf(t.type)&&n?void 0===t._minDtick?(t._minDtick=e,t._forceTick0=r):t._minDtick&&((t._minDtick/e+1e-6)%1<2e-6&&((r-t._forceTick0)/e%1+1.000001)%1<2e-6?(t._minDtick=e,t._forceTick0=r):((e/t._minDtick+1e-6)%1>2e-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<r.length;i++){var a=r[i],o=void 0===a._rangeInitial,s=o||!(a.range[0]===a._rangeInitial[0]&&a.range[1]===a._rangeInitial[1]);(o&&!1===a.autorange||e&&s)&&(a._rangeInitial=a.range.slice(),n=!0)}return n},H.saveShowSpikeInitial=function(t,e){for(var r=H.list(t,\"\",!0),n=!1,i=\"on\",a=0;a<r.length;a++){var o=r[a],s=void 0===o._showSpikeInitial,l=s||!(o.showspikes===o._showspikes);(s||e&&l)&&(o._showSpikeInitial=o.showspikes,n=!0),\"on\"!==i||o.showspikes||(i=\"off\")}return t._fullLayout._cartesianSpikesEnabled=i,n},H.autoBin=function(t,e,r,n,a,o){var l,c=s.aggNums(Math.min,null,t),u=s.aggNums(Math.max,null,t);if(\"category\"===e.type||\"multicategory\"===e.type)return{start:c-.5,end:u+.5,size:Math.max(1,Math.round(o)||1),_dataSpan:u-c};if(a||(a=e.calendar),l=\"log\"===e.type?{type:\"linear\",range:[c,u]}:{type:e.type,range:s.simpleMap([c,u],e.c2r,0,a),calendar:a},H.setConvert(l),o=o&&d.dtick(o,l.type))l.dtick=o,l.tick0=d.tick0(void 0,l.type,a);else{var f;if(r)f=(u-c)/r;else{var h=s.distinctVals(t),p=Math.pow(10,Math.floor(Math.log(h.minDiff)/Math.LN10)),m=p*s.roundUp(h.minDiff/p,[.9,1.9,4.9,9.9],!0);f=Math.max(m,2*s.stdev(t)/Math.pow(t.length,n?.25:.4)),i(f)||(f=1)}H.autoTicks(l,f)}var g,v=l.dtick,y=H.tickIncrement(H.tickFirst(l),v,\"reverse\",a);if(\"number\"==typeof v)g=(y=function(t,e,r,n,a){var o=0,s=0,l=0,c=0;function u(e){return(1+100*(e-t)/r.dtick)%100<2}for(var f=0;f<e.length;f++)e[f]%1==0?l++:i(e[f])||c++,u(e[f])&&o++,u(e[f]+r.dtick/2)&&s++;var h=e.length-c;if(l===h&&\"date\"!==r.type)r.dtick<1?t=n-.5*r.dtick:(t-=.5)+r.dtick<n&&(t+=r.dtick);else if(s<.1*h&&(o>.3*h||u(n)||u(a))){var p=r.dtick/2;t+=t+p<n?p:-p}return t}(y,t,l,c,u))+(1+Math.floor((u-y)/v))*v;else for(\"M\"===l.dtick.charAt(0)&&(y=function(t,e,r,n,i){var a=s.findExactDates(e,i);if(a.exactDays>.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}(y,t,v,c,a)),g=y,0;g<=u;)g=H.tickIncrement(g,v,!1,a);return{start:e.c2r(y,0,a),end:e.c2r(g,0,a),size:v,_dataSpan:u-c}},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 c=i(e.dtick),u=i(t.dtick),f=c?e.dtick:+e.dtick.substring(1),h=u?t.dtick:+t.dtick.substring(1);c&&u?$(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?tt(f/h,2.5)?t.dtick=f/2:t.dtick=f:t.dtick=M:\"M\"===String(e.dtick).charAt(0)?u?t.dtick=\"M1\":$(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)?$(f,h)||(t.dtick=tt(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<E&&(t.dtick=E)):/%p/.test(a)?(e=S,o&&!n&&t.dtick<S&&(t.dtick=S)):/%[Aadejuwx]/.test(a)?(e=M,o&&!n&&t.dtick<M&&(t.dtick=M)):/%[UVW]/.test(a)?(e=A,o&&!n&&t.dtick<A&&(t.dtick=A)):/%[Bbm]/.test(a)?(e=T,o&&(n?et(t.dtick)<1:t.dtick<k)&&(t.dtick=\"M1\")):/%[q]/.test(a)?(e=b,o&&(n?et(t.dtick)<3:t.dtick<_)&&(t.dtick=\"M3\")):/%[Yy]/.test(a)&&(e=v,o&&(n?et(t.dtick)<12:t.dtick<y)&&(t.dtick=\"M12\")))}(n=r())&&t.tick0===t._dowTick0&&(t.tick0=t._rawTick0);t._definedDelta=e}(t),t.tick0||(t.tick0=\"date\"===t.type?\"2000-01-01\":0),\"date\"===t.type&&t.dtick<.1&&(t.dtick=.1),ft(t)},H.calcTicks=function(t,e){for(var r,n,a=t.type,o=t.calendar,l=t.ticklabelstep,c=\"period\"===t.ticklabelmode,u=s.simpleMap(t.range,t.r2l,void 0,void 0,e),f=u[1]<u[0],h=Math.min(u[0],u[1]),p=Math.max(u[0],u[1]),d=Math.max(1e3,t._length||0),m=[],L=[],C=[],P=[],O=t.minor&&(t.minor.ticks||t.minor.showgrid),z=1;z>=(O?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){var F=Z(u),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<B!==f)break;\"category\"!==a&&\"multicategory\"!==a||(N=f?Math.max(-.5,N):Math.min(t._categories.length-.5,N))}var q,G,Y=null,W=V;if(z)j?G=t.dtick:\"date\"===a?\"string\"==typeof t.dtick&&\"M\"===t.dtick.charAt(0)&&(G=T*t.dtick.substring(1)):G=t._roughDTick,q=Math.round((t.r2l(W)-t.r2l(t.tick0))/G)-1;var X=R.dtick;for(R.rangebreaks&&R._tick0Init!==R.tick0&&(W=Ct(W,t),f||(W=H.tickIncrement(W,X,!f,o))),z&&c&&(W=H.tickIncrement(W,X,!f,o),q--);f?W>=N:W<=N;W=H.tickIncrement(W,X,f,o)){if(z&&q++,R.rangebreaks&&!f){if(W<B)continue;if(R.maskBreaks(W)===I&&Ct(W,R)>=p)break}if(C.length>d||W===Y)break;Y=W;var J={value:W};z?(U&&W!==(0|W)&&(J.simpleLabel=!0),l>1&&q%l&&(J.skipLabel=!0),C.push(J)):(J.minor=!0,P.push(J))}}else z?(C=[],m=rt(t)):(P=[],L=rt(t))}if(O&&!(\"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;$<P.length;$++){var tt=P[$],et=tt.value;if(-1===K.indexOf(et)){for(var nt=!1,it=0;!nt&&it<C.length;it++)1e7+C[it].value===1e7+et&&(nt=!0);nt||Q.push(tt)}}P=Q}if(c&&function(t,e,r){for(var n=0;n<t.length;n++){var i=t[n].value,a=n,o=n+1;n<t.length-1?(a=n,o=n+1):n>0?(a=n-1,o=n):(a=n,o=n);var s,l=t[a].value,c=t[o].value,u=Math.abs(c-l),f=r||u,h=0;f>=y?h=u>=y&&u<=g?u:v:r===b&&f>=_?h=u>=_&&u<=x?u:b:f>=k?h=u>=k&&u<=w?u:T:r===A&&f>=A?h=A:f>=M?h=M:r===S&&f>=S?h=S:r===E&&f>=E&&(h=E),h>=u&&(h=u,s=!0);var p=i+h;if(e.rangebreaks&&h>0){for(var d=0,m=0;m<84;m++){var L=(m+.5)/84;e.maskBreaks(i*(1-L)+L*p)!==I&&d++}(h*=d/84)||(t[n].drop=!0),s&&u>A&&(h=u)}(h>0||0===n)&&(t[n].periodX=i+h/2)}}(C,t,t._definedDelta),t.rangebreaks){var at=\"y\"===t._id.charAt(0),ot=1;\"auto\"===t.tickmode&&(ot=t.tickfont?t.tickfont.size:12);var st=NaN;for(r=C.length-1;r>-1;r--)if(C[r].drop)C.splice(r,1);else{C[r].value=Ct(C[r].value,t);var lt=t.c2p(C[r].value);(at?st>lt-ot:st<lt+ot)?C.splice(f?r+1:r,1):st=lt}}Lt(t)&&360===Math.abs(u[1]-u[0])&&C.pop(),t._tmax=(C[C.length-1]||{}).value,t._prevDateHead=\"\",t._inCalcTicks=!0;var ct,ut,ft=function(e){e.text=\"\",t._prevDateHead=n};for(C=C.concat(P),r=0;r<C.length;r++){var ht=C[r].minor,pt=C[r].value;ht?L.push({x:pt,minor:!0}):(n=t._prevDateHead,ct=H.tickText(t,pt,!1,C[r].simpleLabel),void 0!==(ut=C[r].periodX)&&(ct.periodX=ut,(ut>p||ut<h)&&(ut>p&&(ct.periodX=p),ut<h&&(ct.periodX=h),ft(ct))),C[r].skipLabel&&ft(ct),m.push(ct))}return m=m.concat(L),t._inCalcTicks=!1,c&&m.length&&(m[0].noTick=!0),m};var nt=[2,5,10],it=[1,2,3,6,12],at=[1,2,5,10,15,30],ot=[1,2,3,7,14],st=[-.046,0,.301,.477,.602,.699,.778,.845,.903,.954,1],lt=[-.301,0,.301,.699,1],ct=[15,30,45,90,180];function ut(t,e,r){return e*s.roundUp(t/e,r)}function ft(t){var e=t.dtick;if(t._tickexponent=0,i(e)||\"string\"==typeof e||(e=1),\"category\"!==t.type&&\"multicategory\"!==t.type||(t._tickround=null),\"date\"===t.type){var r=t.r2l(t.tick0),n=t.l2r(r).replace(/(^-|i)/g,\"\"),a=n.length;if(\"M\"===String(e).charAt(0))a>10||\"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])),c=Math.floor(Math.log(l)/Math.LN10+.01),u=void 0===t.minexponent?3:t.minexponent;Math.abs(c)>u&&(dt(t.exponentformat)&&!mt(c)?t._tickexponent=3*Math.round((c-1)/3):t._tickexponent=c)}else t._tickround=null}function ht(t,e,r){var n=t.tickfont||{};return{x:e,dx:0,dy:0,text:r||\"\",fontSize:n.size,font:n.family,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>v)e/=v,n=a(10),t.dtick=\"M\"+12*ut(e,n,nt);else if(o>T)e/=T,t.dtick=\"M\"+ut(e,1,it);else if(o>M){if(t.dtick=ut(e,M,t._hasDayOfWeekBreaks?[1,2,7,14]:ot),!r){var l=H.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=ut(e,E,it):o>L?t.dtick=ut(e,L,at):o>C?t.dtick=ut(e,C,at):(n=a(10),t.dtick=ut(e,n,nt))}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 f=1.5*Math.abs((u[1]-u[0])/e);e=Math.abs(Math.pow(10,u[1])-Math.pow(10,u[0]))/f,n=a(10),t.dtick=\"L\"+ut(e,n,nt)}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))):Lt(t)?(t.tick0=0,n=1,t.dtick=ut(e,n,ct)):(t.tick0=0,n=a(10),t.dtick=ut(e,n,nt));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),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?lt:st,f=t+.01*o,h=s.roundUp(s.mod(f,1),u,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]<a[0],l=o?Math.floor:Math.ceil,c=Z(a)[0],u=t.dtick,f=r(t.tick0);if(i(u)){var h=l((c-f)/u)*u+f;return\"category\"!==t.type&&\"multicategory\"!==t.type||(h=s.constrain(h,0,t._categories.length-1)),h}var p=u.charAt(0),d=Number(u.substr(1));if(\"M\"===p){for(var m,g,v,y=0,x=f;y<10;){if(((m=H.tickIncrement(x,u,o,t.calendar))-c)*(x-c)<=0)return o?Math.min(x,m):Math.max(x,m);g=(c-(x+m)/2)/(m-x),v=p+(Math.abs(Math.round(g))||1)*d,x=H.tickIncrement(x,v,g<0?!o:o,t.calendar),y++}return s.error(\"tickFirst did not converge\",t),x}if(\"L\"===p)return Math.log(l((Math.pow(10,c)-f)/d)*d+f)/Math.LN10;if(\"D\"===p){var b=\"D2\"===u?lt:st,_=s.roundUp(s.mod(c,1),b,o);return Math.floor(c)+Math.log(n.round(Math.pow(10,_),1))/Math.LN10}throw\"unrecognized dtick \"+String(u)},H.tickText=function(t,e,r,n){var a,o=ht(t,e),l=\"array\"===t.tickmode,c=r||l,u=t.type,f=\"category\"===u?t.d2l_noadd:t.d2l;if(l&&Array.isArray(t.ticktext)){var h=s.simpleMap(t.range,t.r2l),p=(Math.abs(h[1]-h[0])-(t._lBreaks||0))/1e4;for(a=0;a<t.ticktext.length&&!(Math.abs(e-f(t.tickvals[a]))<p);a++);if(a<t.ticktext.length)return o.text=String(t.ticktext[a]),o}function d(n){if(void 0===n)return!0;if(r)return\"none\"===n;var i={first:t._tmin,last:t._tmax}[n];return\"all\"!==n&&e!==i}var m=r?\"never\":\"none\"!==t.exponentformat&&d(t.showexponent)?\"hide\":\"\";if(\"date\"===u?function(t,e,r,n){var a=t._tickround,o=r&&t.hoverformat||H.getTickFormat(t);n&&(a=i(a)?4:{y:\"m\",m:\"d\",d:\"M\",M:\"S\",S:4}[a]);var l,c=s.formatDate(e.x,o,a,t._dateFormat,t.calendar,t._extraFormat),u=c.indexOf(\"\\n\");-1!==u&&(l=c.substr(u+1),c=c.substr(0,u));n&&(\"00:00:00\"===c||\"00:00\"===c?(c=l,l=\"\"):8===c.length&&(c=c.replace(/:00$/,\"\")));if(l)if(r)\"d\"===a?c+=\", \"+l:c=l+(c?\", \"+c:\"\");else if(t._inCalcTicks&&t._prevDateHead===l){var f=Pt(t),h=t._trueSide||t.side;(!f&&\"top\"===h||f&&\"bottom\"===h)&&(c+=\"<br> \")}else t._prevDateHead=l,c+=\"<br>\"+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);\"never\"===a&&(a=\"\");n&&\"L\"!==u&&(o=\"L3\",u=\"L\");if(c||\"L\"===u)e.text=gt(Math.pow(10,l),t,a,n);else if(i(o)||\"D\"===u&&s.mod(l+.01,1)<.1){var f=Math.round(l),h=Math.abs(f),p=t.exponentformat;\"power\"===p||dt(p)&&mt(f)?(e.text=0===f?1:1===f?\"10\":\"10<sup>\"+(f>1?\"\":P)+h+\"</sup>\",e.fontSize*=1.25):(\"e\"===p||\"E\"===p)&&h>2?e.text=\"1\"+p+(f>0?\"+\":P)+h:(e.text=gt(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,m):\"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):Lt(t)?function(t,e,r,n,i){if(\"radians\"!==t.thetaunit||r)e.text=gt(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=gt(s.deg2rad(e.x),t,i,n);else{var l=e.x<0;1===o[1]?1===o[0]?e.text=\"\\u03c0\":e.text=o[0]+\"\\u03c0\":e.text=[\"<sup>\",o[0],\"</sup>\",\"\\u2044\",\"<sub>\",o[1],\"</sub>\",\"\\u03c0\"].join(\"\"),l&&(e.text=P+e.text)}}}}(t,o,r,c,m):function(t,e,r,n,i){\"never\"===i?i=\"\":\"all\"===t.showexponent&&Math.abs(e.x/t.dtick)<1e-6&&(i=\"hide\");e.text=gt(e.x,t,i,n)}(t,o,0,c,m),n||(t.tickprefix&&!d(t.showtickprefix)&&(o.text=t.tickprefix+o.text),t.ticksuffix&&!d(t.showticksuffix)&&(o.text+=t.ticksuffix)),\"boundaries\"===t.tickson||t.showdividers){var g=function(e){var r=t.l2p(e);return r>=0&&r<=t._length?e:null};o.xbnd=[g(o.x-.5),g(o.x+t.dtick-.5)]}return o},H.hoverLabelText=function(t,e,r){r&&(t=s.extendFlat({},t,{hoverformat:r}));var n=Array.isArray(e)?e[0]:e,i=Array.isArray(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 pt=[\"f\",\"p\",\"n\",\"\\u03bc\",\"m\",\"\",\"k\",\"M\",\"G\",\"T\"];function dt(t){return\"SI\"===t||\"B\"===t}function mt(t){return t>14||t<-15}function gt(t,e,r,n){var a=t<0,o=e._tickround,l=r||e.exponentformat||\"B\",c=e._tickexponent,u=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]};ft(h),o=(Number(h._tickround)||0)+4,c=h._tickexponent,e.hoverformat&&(u=e.hoverformat)}if(u)return e._numFormat(u)(t).replace(/-/g,P);var p,d=Math.pow(10,-o)/2;if(\"none\"===l&&(c=0),(t=Math.abs(t))<d)t=\"0\",a=!1;else{if(t+=d,c&&(t*=Math.pow(10,-c),o+=c),0===o)t=String(Math.floor(t));else if(o<0){t=(t=String(Math.round(t))).substr(0,t.length+o);for(var m=o;m<0;m++)t+=\"0\"}else{var g=(t=String(t)).indexOf(\".\")+1;g&&(t=t.substr(0,g+o).replace(/\\.?0+$/,\"\"))}t=s.numSeparate(t,e._separators,f)}c&&\"hide\"!==l&&(dt(l)&&mt(c)&&(l=\"power\"),p=c<0?P+-c:\"power\"!==l?\"+\"+c:String(c),\"e\"===l||\"E\"===l?t+=l+p:\"power\"===l?t+=\"\\xd710<sup>\"+p+\"</sup>\":\"B\"===l&&9===c?t+=\"B\":dt(l)&&(t+=pt[c/3+5]));return a?P+t:t}function vt(t,e){for(var r=[],n={},i=0;i<e.length;i++){var a=e[i];n[a.text2]?n[a.text2].push(a.x):n[a.text2]=[a.x]}for(var o in n)r.push(ht(t,s.interp(n[o],.5),o));return r}function yt(t){return void 0!==t.periodX?t.periodX:t.x}function xt(t){return[t.text,t.x,t.axInfo,t.font,t.fontSize,t.fontColor].join(\"_\")}function bt(t){var e=t.title.font.size,r=(t.title.text.match(c.BR_TAG_ALL)||[]).length;return t.title.hasOwnProperty(\"standoff\")?r?e*(j+r*U):e*j:r?e*(r+1)*U:e}function _t(t,e){var r=t.l2p(e);return r>1&&r<t._length-1}function wt(t){var e=n.select(t),r=e.select(\".text-math-group\");return r.empty()?e.select(\"text\"):r}function Tt(t){return t._id+\".automargin\"}function kt(t){return Tt(t)+\".mirror\"}function At(t){return t._id+\".rangeslider\"}function Mt(t,e){for(var r=0;r<e.length;r++)-1===t.indexOf(e[r])&&t.push(e[r])}function St(t,e,r){var n,i,a=[],o=[],l=t.layout;for(n=0;n<e.length;n++)a.push(H.getFromId(t,e[n]));for(n=0;n<r.length;n++)o.push(H.getFromId(t,r[n]));var c=Object.keys(p),u=[\"anchor\",\"domain\",\"overlaying\",\"position\",\"side\",\"tickangle\",\"editType\"],f=[\"linear\",\"log\"];for(n=0;n<c.length;n++){var h=c[n],d=a[0][h],m=o[0][h],g=!0,v=!1,y=!1;if(\"_\"!==h.charAt(0)&&\"function\"!=typeof d&&-1===u.indexOf(h)){for(i=1;i<a.length&&g;i++){var x=a[i][h];\"type\"===h&&-1!==f.indexOf(d)&&-1!==f.indexOf(x)&&d!==x?v=!0:x!==d&&(g=!1)}for(i=1;i<o.length&&g;i++){var b=o[i][h];\"type\"===h&&-1!==f.indexOf(m)&&-1!==f.indexOf(b)&&m!==b?y=!0:o[i][h]!==m&&(g=!1)}g&&(v&&(l[a[0]._name].type=\"linear\"),y&&(l[o[0]._name].type=\"linear\"),Et(l,h,a,o,t._fullLayout._dfltTitle))}}for(n=0;n<t._fullLayout.annotations.length;n++){var _=t._fullLayout.annotations[n];-1!==e.indexOf(_.xref)&&-1!==r.indexOf(_.yref)&&s.swapAttrs(l.annotations[n],[\"?\"])}}function Et(t,e,r,n,i){var a,o=s.nestedProperty,l=o(t[r[0]._name],e).get(),c=o(t[n[0]._name],e).get();for(\"title\"===e&&(l&&l.text===i.x&&(l.text=i.y),c&&c.text===i.y&&(c.text=i.x)),a=0;a<r.length;a++)o(t,r[a]._name+\".\"+e).set(c);for(a=0;a<n.length;a++)o(t,n[a]._name+\".\"+e).set(l)}function Lt(t){return\"angularaxis\"===t._id}function Ct(t,e){for(var r=e._rangebreaks.length,n=0;n<r;n++){var i=e._rangebreaks[n];if(t>=i.min&&t<i.max)return i.max}return t}function Pt(t){return-1!==(t.ticklabelposition||\"\").indexOf(\"inside\")}function It(t,e){Pt(t._anchorAxis||{})&&t._hideCounterAxisInsideTickLabels&&t._hideCounterAxisInsideTickLabels(e)}H.getTickFormat=function(t){var e,r,n,i,a,o,s,l;function c(t){return\"string\"!=typeof t?t:Number(t.replace(\"M\",\"\"))*T}function u(t,e){var r=[\"L\",\"D\"];if(typeof t==typeof e){if(\"number\"==typeof t)return t-e;var n=r.indexOf(t.charAt(0)),i=r.indexOf(e.charAt(0));return n===i?Number(t.replace(/(L|D)/g,\"\"))-Number(e.replace(/(L|D)/g,\"\")):n-i}return\"number\"==typeof t?1:-1}function f(t,e){var r=null===e[0],n=null===e[1],i=u(t,e[0])>=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<t.tickformatstops.length;e++)if((n=t.tickformatstops[e]).enabled&&(i=t.dtick,a=n.dtickrange,o=void 0,s=void 0,l=void 0,o=c||function(t){return t},s=a[0],l=a[1],(!s&&\"number\"!=typeof s||o(s)<=o(i))&&(!l&&\"number\"!=typeof l||o(l)>=o(i)))){r=n;break}break;case\"log\":for(e=0;e<t.tickformatstops.length;e++)if((n=t.tickformatstops[e]).enabled&&f(t.dtick,n.dtickrange)){r=n;break}}return r?r.value:t.tickformat},H.getSubplots=function(t,e){var r=t._fullLayout._subplots,n=r.cartesian.concat(r.gl2d||[]),i=e?H.findSubplotsWithAxis(n,e):n;return i.sort((function(t,e){var r=t.substr(1).split(\"y\"),n=e.substr(1).split(\"y\");return r[0]===n[0]?+r[1]-+n[1]:+r[0]-+n[0]})),i},H.findSubplotsWithAxis=function(t,e){for(var r=new RegExp(\"x\"===e._id.charAt(0)?\"^\"+e._id+\"y\":e._id+\"$\"),n=[],i=0;i<t.length;i++){var a=t[i];r.test(a)&&n.push(a)}return n},H.makeClipPaths=function(t){var e=t._fullLayout;if(!e._hasOnlyLargeSploms){var r,i,a={_offset:0,_length:e.width,_id:\"\"},o={_offset:0,_length:e.height,_id:\"\"},s=H.list(t,\"x\",!0),l=H.list(t,\"y\",!0),c=[];for(r=0;r<s.length;r++)for(c.push({x:s[r],y:o}),i=0;i<l.length;i++)0===r&&c.push({x:a,y:l[i]}),c.push({x:s[r],y:l[i]});var u=e._clips.selectAll(\".axesclip\").data(c,(function(t){return t.x._id+t.y._id}));u.enter().append(\"clipPath\").classed(\"axesclip\",!0).attr(\"id\",(function(t){return\"clip\"+e._uid+t.x._id+t.y._id})).append(\"rect\"),u.exit().remove(),u.each((function(t){n.select(this).select(\"rect\").attr({x:t.x._offset||0,y:t.y._offset||0,width:t.x._length||1,height:t.y._length||1})}))}},H.draw=function(t,e,r){var n=t._fullLayout;\"redraw\"===e&&n._paper.selectAll(\"g.subplot\").each((function(t){var e=t[0],r=n._plots[e];if(r){var i=r.xaxis,a=r.yaxis;r.xaxislayer.selectAll(\".\"+i._id+\"tick\").remove(),r.yaxislayer.selectAll(\".\"+a._id+\"tick\").remove(),r.xaxislayer.selectAll(\".\"+i._id+\"tick2\").remove(),r.yaxislayer.selectAll(\".\"+a._id+\"tick2\").remove(),r.xaxislayer.selectAll(\".\"+i._id+\"divider\").remove(),r.yaxislayer.selectAll(\".\"+a._id+\"divider\").remove(),r.minorGridlayer&&r.minorGridlayer.selectAll(\"path\").remove(),r.gridlayer&&r.gridlayer.selectAll(\"path\").remove(),r.zerolinelayer&&r.zerolinelayer.selectAll(\"path\").remove(),n._infolayer.select(\".g-\"+i._id+\"title\").remove(),n._infolayer.select(\".g-\"+a._id+\"title\").remove()}}));var i=e&&\"redraw\"!==e?e:H.listIds(t);return s.syncOrAsync(i.map((function(e){return function(){if(e){var n=H.getFromId(t,e),i=H.drawOne(t,n,r);return n._r=n.range.slice(),n._rl=s.simpleMap(n._r,n.r2l),i}}})))},H.drawOne=function(t,e,r){var n,i,l;r=r||{},e.setScale();var c=t._fullLayout,p=e._id,d=p.charAt(0),m=H.counterLetter(p),g=c._plots[e._mainSubplot];if(g){var v=g[d+\"axislayer\"],y=e._mainLinePosition,x=e._mainMirrorPosition,b=e._vals=H.calcTicks(e),_=[e.mirror,y,x].join(\"_\");for(n=0;n<b.length;n++)b[n].axInfo=_;e._selections={},e._tickAngles&&(e._prevTickAngles=e._tickAngles),e._tickAngles={},e._depth=null;var w={};if(e.visible){var T,k,A=H.makeTransTickFn(e),M=H.makeTransTickLabelFn(e),S=\"inside\"===e.ticks,E=\"outside\"===e.ticks;if(\"boundaries\"===e.tickson){var L=function(t,e){var r,n=[],i=function(t,e){var r=t.xbnd[e];null!==r&&n.push(s.extendFlat({},t,{x:r}))};if(e.length){for(r=0;r<e.length;r++)i(e[r],0);i(e[r-1],1)}return n}(0,b);k=H.clipEnds(e,L),T=S?k:L}else k=H.clipEnds(e,b),T=S&&\"period\"!==e.ticklabelmode?k:b;var C,P=e._gridVals=k,I=function(t,e){var r,n,i=[],a=e.length&&e[e.length-1].x<e[0].x,o=function(t,e){var r=t.xbnd[e];null!==r&&i.push(s.extendFlat({},t,{x:r}))};if(t.showdividers&&e.length){for(r=0;r<e.length;r++){var l=e[r];l.text2!==n&&o(l,a?1:0),n=l.text2}o(e[r-1],a?0:1)}return i}(e,b);if(!c._hasOnlyLargeSploms){var O=e._subplotsWith,z={};for(n=0;n<O.length;n++){i=O[n];var D=(l=c._plots[i])[m+\"axis\"],R=D._mainAxis._id;if(!z[R]){z[R]=1;var F=\"x\"===d?\"M0,\"+D._offset+\"v\"+D._length:\"M\"+D._offset+\",0h\"+D._length;H.drawGrid(t,e,{vals:P,counterAxis:D,layer:l.gridlayer.select(\".\"+p),minorLayer:l.minorGridlayer.select(\".\"+p),path:F,transFn:A}),H.drawZeroLine(t,e,{counterAxis:D,layer:l.zerolinelayer,path:F,transFn:A})}}}var B=H.getTickSigns(e),N=H.getTickSigns(e,\"minor\");if(e.ticks||e.minor&&e.minor.ticks){var j,q,G,Y,W=H.makeTickPath(e,y,B[2]),X=H.makeTickPath(e,y,N[2],{minor:!0});if(e._anchorAxis&&e.mirror&&!0!==e.mirror?(j=H.makeTickPath(e,x,B[3]),q=H.makeTickPath(e,x,N[3],{minor:!0}),G=W+j,Y=X+q):(j=\"\",q=\"\",G=W,Y=X),e.showdividers&&E&&\"boundaries\"===e.tickson){var Z={};for(n=0;n<I.length;n++)Z[I[n].x]=1;C=function(t){return Z[t.x]?j:G}}else C=function(t){return t.minor?Y:G}}if(H.drawTicks(t,e,{vals:T,layer:v,path:C,transFn:A}),\"allticks\"===e.mirror){var J=Object.keys(e._linepositions||{});for(n=0;n<J.length;n++){i=J[n],l=c._plots[i];var K=e._linepositions[i]||[],Q=K[0],$=K[1],tt=K[2],et=H.makeTickPath(e,Q,tt?B[0]:N[0],{minor:tt})+H.makeTickPath(e,$,tt?B[1]:N[1],{minor:tt});H.drawTicks(t,e,{vals:T,layer:l[d+\"axislayer\"],path:et,transFn:A})}}var rt=[];if(rt.push((function(){return H.drawLabels(t,e,{vals:b,layer:v,plotinfo:l,transFn:M,labelFns:H.makeLabelFns(e,y)})})),\"multicategory\"===e.type){var nt={x:2,y:10}[d];rt.push((function(){var r={x:\"height\",y:\"width\"}[d],n=at()[r]+nt+(e._tickAngles[p+\"tick\"]?e.tickfont.size*U:0);return H.drawLabels(t,e,{vals:vt(e,b),layer:v,cls:p+\"tick2\",repositionOnUpdate:!0,secondary:!0,transFn:A,labelFns:H.makeLabelFns(e,y+n*B[4])})})),rt.push((function(){return e._depth=B[4]*(at(\"tick2\")[e.side]-y),function(t,e,r){var n=e._id+\"divider\",i=r.vals,a=r.layer.selectAll(\"path.\"+n).data(i,xt);a.exit().remove(),a.enter().insert(\"path\",\":first-child\").classed(n,1).classed(\"crisp\",1).call(f.stroke,e.dividercolor).style(\"stroke-width\",h.crispRound(t,e.dividerwidth,1)+\"px\"),a.attr(\"transform\",r.transFn).attr(\"d\",r.path)}(t,e,{vals:I,layer:v,path:H.makeTickPath(e,y,B[4],{len:e._depth}),transFn:A})}))}else e.title.hasOwnProperty(\"standoff\")&&rt.push((function(){e._depth=B[4]*(at()[e.side]-y)}));var it=o.getComponentMethod(\"rangeslider\",\"isVisible\")(e);return rt.push((function(){var r,n,i,s,l=e.side.charAt(0),u=V[e.side].charAt(0),f=H.getPxPosition(t,e),h=E?e.ticklen:0;if((e.automargin||it)&&(\"multicategory\"===e.type?r=at(\"tick2\"):(r=at(),\"x\"===d&&\"b\"===l&&(e._depth=Math.max(r.width>0?r.bottom-f:0,h)))),e.automargin){n={x:0,y:0,r:0,l:0,t:0,b:0};var p=[0,1];if(\"x\"===d){if(\"b\"===l?n[l]=e._depth:(n[l]=e._depth=Math.max(r.width>0?f-r.top:0,h),p.reverse()),r.width>0){var g=r.right-(e._offset+e._length);g>0&&(n.xr=1,n.r=g);var v=e._offset-r.left;v>0&&(n.xl=0,n.l=v)}}else if(\"l\"===l?n[l]=e._depth=Math.max(r.height>0?f-r.left:0,h):(n[l]=e._depth=Math.max(r.height>0?r.right-f:0,h),p.reverse()),r.height>0){var y=r.bottom-(e._offset+e._length);y>0&&(n.yb=0,n.b=y);var x=e._offset-r.top;x>0&&(n.yt=1,n.t=x)}n[m]=\"free\"===e.anchor?e.position:e._anchorAxis.domain[p[0]],e.title.text!==c._dfltTitle[d]&&(n[l]+=bt(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]+=h),!0===e.mirror||\"ticks\"===e.mirror?i[m]=e._anchorAxis.domain[p[1]]:\"all\"!==e.mirror&&\"allticks\"!==e.mirror||(i[m]=[e._counterDomainMin,e._counterDomainMax][p[1]]))}it&&(s=o.getComponentMethod(\"rangeslider\",\"autoMarginOpts\")(t,e)),a.autoMargin(t,Tt(e),n),a.autoMargin(t,kt(e),i),a.autoMargin(t,At(e),s)})),r.skipTitle||it&&\"bottom\"===e.side||rt.push((function(){return function(t,e){var r,n=t._fullLayout,i=e._id,a=i.charAt(0),o=e.title.font.size;if(e.title.hasOwnProperty(\"standoff\"))r=e._depth+e.title.standoff+bt(e);else{var s=Pt(e);if(\"multicategory\"===e.type)r=e._depth;else{var l=1.5*o;s&&(l=.5*o,\"outside\"===e.ticks&&(l+=e.ticklen)),r=10+l+(e.linewidth?e.linewidth-1:0)}s||(r+=\"x\"===a?\"top\"===e.side?o*(e.showticklabels?1:0):o*(e.showticklabels?1.5:.5):\"right\"===e.side?o*(e.showticklabels?1:.5):o*(e.showticklabels?.5:0))}var c,f,p,d,m=H.getPxPosition(t,e);\"x\"===a?(f=e._offset+e._length/2,p=\"top\"===e.side?m-r:m+r):(p=e._offset+e._length/2,f=\"right\"===e.side?m+r:m-r,c={rotate:\"-90\",offset:0});if(\"multicategory\"!==e.type){var g=e._selections[e._id+\"tick\"];if(d={selection:g,side:e.side},g&&g.node()&&g.node().parentNode){var v=h.getTranslate(g.node().parentNode);d.offsetLeft=v.x,d.offsetTop=v.y}e.title.hasOwnProperty(\"standoff\")&&(d.pad=0)}return u.draw(t,i+\"title\",{propContainer:e,propName:e._name+\".title.text\",placeholder:n._dfltTitle[a],avoid:d,transform:c,attributes:{x:f,y:p,\"text-anchor\":\"middle\"}})}(t,e)})),s.syncOrAsync(rt)}}function at(t){var r=p+(t||\"tick\");return w[r]||(w[r]=function(t,e){var r,n,i,a;t._selections[e].size()?(r=1/0,n=-1/0,i=1/0,a=-1/0,t._selections[e].each((function(){var t=wt(this),e=h.bBox(t.node().parentNode);r=Math.min(r,e.top),n=Math.max(n,e.bottom),i=Math.min(i,e.left),a=Math.max(a,e.right)}))):(r=0,n=0,i=0,a=0);return{top:r,bottom:n,left:i,right:a,height:n-r,width:a-i}}(e,r)),w[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 c=t.side,u=l?(t.tickwidth||0)/2:0,f=3,h=t.tickfont?t.tickfont.size:12;(o||n)&&(u+=h*j,f+=(t.linewidth||0)/2);(i||a)&&(u+=(t.linewidth||0)/2,f+=3);s&&\"top\"===c&&(f-=h*(1-j));(i||n)&&(u=-u);\"bottom\"!==c&&\"right\"!==c||(f=-f);return[l?u: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(yt(e)),n)}:function(e){return l(n,r+t._offset+t.l2p(yt(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\"),c=a(\"right\"),u=a(\"bottom\")||l||o||c,f=a(\"inside\"),h=\"inside\"===n&&\"inside\"===t.ticks||!f&&\"outside\"===t.ticks&&\"boundaries\"!==t.tickson,p=0,d=0,m=h?t.ticklen:0;if(f?m*=-1:u&&(m=0),h&&(p+=m,r)){var g=s.deg2rad(r);p=m*Math.cos(g)+1,d=m*Math.sin(g)}t.showticklabels&&(h||t.showline)&&(p+=.2*t.tickfont.size);var v,y,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),v=d*b,y=e+p*b,x=_?1:-.2,90===Math.abs(M)&&(f?x+=N:x=-90===M&&\"bottom\"===k?j:90===M&&\"top\"===k?N:.5,T=N/2*(M/90)),w.xFn=function(t){return t.dx+v+T*t.fontSize},w.yFn=function(t){return t.dy+y+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*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),v=p,y=d*b,x=0,f||90!==Math.abs(M)||(x=-90===M&&\"left\"===k||90===M&&\"right\"===k?j:.5),f){var S=i(M)?+M:0;if(0!==S){var E=s.deg2rad(S);T=Math.abs(Math.sin(E))*j*b,x=0}}w.xFn=function(t){return t.dx+e-(v+t.fontSize*x)*b+T*t.fontSize},w.yFn=function(t){return t.dy+y+t.fontSize*N},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,xt);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),It(e,[R]),o.attr(\"transform\",r.transFn)},H.drawGrid=function(t,e,r){r=r||{};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 c=\"array\"===e.tickmode,u=0;u<s.length;u++){var p=s[u].x;if(c?!p:Math.abs(p)<e.dtick/100){if(s=s.slice(0,u).concat(s.slice(u+1)),!c)break;u--}}e._gw=h.crispRound(t,e.gridwidth,1);for(var d=a?h.crispRound(t,e.minor.gridwidth,1):0,m=r.layer,g=r.minorLayer,v=1;v>=0;v--){var y=v?m:g;if(y){var x=y.selectAll(\"path.\"+i).data(v?s:o,xt);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)}}It(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),It(e,[O])},H.drawLabels=function(t,e,r){r=r||{};var a=t._fullLayout,o=e._id,u=o.charAt(0),f=r.cls||o+\"tick\",p=r.vals.filter((function(t){return t.text})),d=r.labelFns,m=r.secondary?0:e.tickangle,g=(e._prevTickAngles||{})[f],v=r.layer.selectAll(\"g.\"+f).data(e.showticklabels?p:[],xt),y=[];function x(t,a){t.each((function(t){var o=n.select(this),s=o.select(\".text-math-group\"),u=d.anchorFn(t,a),f=r.transFn.call(o.node(),t)+(i(a)&&0!=+a?\" rotate(\"+a+\",\"+d.xFn(t)+\",\"+(d.yFn(t)-t.fontSize/2)+\")\":\"\"),p=c.lineCount(o),m=U*t.fontSize,g=d.heightFn(t,i(a)?+a:0,(p-1)*m);if(g&&(f+=l(0,g)),s.empty()){var v=o.select(\"text\");v.attr({transform:f,\"text-anchor\":u}),v.style(\"opacity\",1),e._adjustTickLabelsOverflow&&e._adjustTickLabelsOverflow()}else{var y=h.bBox(s.node()).width*{end:-.5,start:.5}[u];s.attr(\"transform\",f+l(y,0))}}))}v.enter().append(\"g\").classed(f,1).append(\"text\").attr(\"text-anchor\",\"middle\").each((function(e){var r=n.select(this),i=t._promises.length;r.call(c.positionText,d.xFn(e),d.yFn(e)).call(h.font,e.font,e.fontSize,e.fontColor).text(e.text).call(c.convertToTspans,t),t._promises[i]?y.push(t._promises.pop().then((function(){x(r,m)}))):x(r,m)})),It(e,[F]),v.exit().remove(),r.repositionOnUpdate&&v.each((function(t){n.select(this).select(\"text\").call(c.positionText,d.xFn(t),d.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 f=Math.min(l,c),p=Math.max(l,c),d=e.side,m=1/0,g=-1/0;for(var y in v.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.left<f)&&(s=1):(a.bottom>p||a.top+(e.tickangle?0:t.fontSize/4)<f)&&(s=1);var l=r.select(\"text\");s?i&&l.style(\"opacity\",0):(l.style(\"opacity\",1),m=\"bottom\"===d||\"right\"===d?Math.min(m,o?a.top:a.left):-1/0,g=\"top\"===d||\"left\"===d?Math.max(g,o?a.bottom:a.right):1/0)}})),a._plots){var x=a._plots[y];if(e._id===x.xaxis._id||e._id===x.yaxis._id){var b=o?x.yaxis:x.xaxis;b&&(b[\"_visibleLabelMin_\"+e._id]=m,b[\"_visibleLabelMax_\"+e._id]=g)}}}},e._hideCounterAxisInsideTickLabels=function(t){var r=\"x\"===e._id.charAt(0),i=[];for(var o in a._plots){var s=a._plots[o];e._id!==s.xaxis._id&&e._id!==s.yaxis._id||i.push(r?s.yaxis:s.xaxis)}i.forEach((function(r,i){r&&Pt(r)&&(t||[O,D,z,R,F]).forEach((function(t){var o=\"tick\"===t.K&&\"text\"===t.L&&\"period\"===e.ticklabelmode,s=a._plots[e._mainSubplot];(t.K===O.K?s.zerolinelayer.selectAll(\".\"+e._id+\"zl\"):t.K===D.K?s.minorGridlayer.selectAll(\".\"+e._id):t.K===z.K?s.gridlayer.selectAll(\".\"+e._id):s[e._id.charAt(0)+\"axislayer\"]).each((function(){var a=n.select(this);t.L&&(a=a.selectAll(t.L)),a.each((function(a){var s=e.l2p(o?yt(a):a.x)+e._offset,l=n.select(this);s<e[\"_visibleLabelMax_\"+r._id]&&s>e[\"_visibleLabelMin_\"+r._id]?l.style(\"display\",\"none\"):\"tick\"!==t.K||i||l.style(\"display\",null)}))}))}))}))},x(v,g+1?g:m);var b=null;e._selections&&(e._selections[f]=v);var _=[function(){return y.length&&Promise.all(y)}];e.automargin&&a._redrawFromAutoMarginCount&&90===g?(b=90,_.push((function(){x(v,g)}))):_.push((function(){if(x(v,m),p.length&&\"x\"===u&&!i(m)&&(\"log\"!==e.type||\"D\"!==String(e.dtick).charAt(0))){b=0;var t,n=0,a=[];if(v.each((function(t){n=Math.max(n,t.fontSize);var r=e.l2p(t.x),i=wt(this),o=h.bBox(i.node());a.push({top:0,bottom:10,height:10,left:r-o.width/2,right:r+o.width/2+2,width:o.width+2})})),\"boundaries\"!==e.tickson&&!e.showdividers||r.secondary){var o=p.length,l=Math.abs((p[o-1].x-p[0].x)*e._m)/(o-1),c=e.ticklabelposition||\"\",f=function(t){return-1!==c.indexOf(t)},d=f(\"top\"),g=f(\"left\"),y=f(\"right\"),_=f(\"bottom\")||g||d||y?(e.tickwidth||0)+6:0,w=l<2.5*n||\"multicategory\"===e.type||\"realaxis\"===e._name;for(t=0;t<a.length-1;t++)if(s.bBoxIntersect(a[t],a[t+1],_)){b=w?90:30;break}}else{var T=2;for(e.ticks&&(T+=e.tickwidth/2),t=0;t<a.length;t++){var k=p[t].xbnd,A=a[t];if(null!==k[0]&&A.left-e.l2p(k[0])<T||null!==k[1]&&e.l2p(k[1])-A.right<T){b=90;break}}}b&&x(v,b)}})),e._tickAngles&&_.push((function(){e._tickAngles[f]=null===b?i(m)?m:0:b}));var w=e._anchorAxis;w&&w.autorange&&Pt(e)&&!W(a,e._id)&&(a._insideTickLabelsAutorange||(a._insideTickLabelsAutorange={}),a._insideTickLabelsAutorange[w._name+\".autorange\"]=w.autorange,_.push((function(){v.each((function(t,r){var n=wt(this);n.select(\".text-math-group\").empty()&&(e._vals[r].bb=h.bBox(n.node()))}))})));var T=s.syncOrAsync(_);return T&&T.then&&t._promises.push(T),T},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,_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)===I)&&(_t(e,0)||!function(t,e,r,n){var i=r._mainAxis;if(!i)return;var a=t._fullLayout,o=e._id.charAt(0),s=H.counterLetter(e._id),l=e._offset+(Math.abs(n[0])<Math.abs(n[1])==(\"x\"===o)?0:e._length);function c(t){if(!t.showline||!t.linewidth)return!1;var r=Math.max((t.linewidth+e.zerolinewidth)/2,1);function n(t){return\"number\"==typeof t&&Math.abs(t-l)<r}if(n(t._mainLinePosition)||n(t._mainMirrorPosition))return!0;var i=t._linepositions||{};for(var a in i)if(n(i[a][0])||n(i[a][1]))return!0}var u=a._plots[r._mainSubplot];if(!(u.mainplotinfo||u).overlays.length)return c(r);for(var f=H.list(t,s),h=0;h<f.length;h++){var p=f[h];if(p._mainAxis===i&&c(p))return!0}}(t,e,r,n)||function(t,e){for(var r=t._fullData,n=e._mainSubplot,i=e._id.charAt(0),a=0;a<r.length;a++){var s=r[a];if(!0===s.visible&&s.xaxis+s.yaxis===n){if(o.traceIs(s,\"bar-like\")&&s.orientation==={x:\"h\",y:\"v\"}[i])return!0;if(s.fill&&s.fill.charAt(s.fill.length-1)===i)return!0}}return!1}(t,e))},H.clipEnds=function(t,e){return e.filter((function(e){return _t(t,e.x)}))},H.allowAutoMargin=function(t){for(var e=H.list(t,\"\",!0),r=0;r<e.length;r++){var n=e[r];n.automargin&&(a.allowAutoMargin(t,Tt(n)),n.mirror&&a.allowAutoMargin(t,kt(n))),o.getComponentMethod(\"rangeslider\",\"isVisible\")(n)&&a.allowAutoMargin(t,At(n))}},H.swap=function(t,e){for(var r=function(t,e){var r,n,i=[];for(r=0;r<e.length;r++){var a=[],o=t._fullData[e[r]].xaxis,s=t._fullData[e[r]].yaxis;if(o&&s){for(n=0;n<i.length;n++)-1===i[n].x.indexOf(o)&&-1===i[n].y.indexOf(s)||a.push(n);if(a.length){var l,c=i[a[0]];if(a.length>1)for(n=1;n<a.length;n++)l=i[a[n]],Mt(c.x,l.x),Mt(c.y,l.y);Mt(c.x,[o]),Mt(c.y,[s])}else i.push({x:[o],y:[s]})}}return i}(t,e),n=0;n<r.length;n++)St(t,r[n].x,r[n].y)}},{\"../../components/color\":366,\"../../components/drawing\":388,\"../../components/titles\":464,\"../../constants/alignment\":471,\"../../constants/numerical\":479,\"../../lib\":503,\"../../lib/svg_text_utils\":529,\"../../plots/plots\":619,\"../../registry\":638,\"./autorange\":553,\"./axis_autotype\":555,\"./axis_ids\":558,\"./clean_ticks\":560,\"./layout_attributes\":569,\"./set_convert\":576,\"@plotly/d3\":58,\"fast-isnumeric\":190}],555:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../../lib\"),a=t(\"../../constants/numerical\").BADNUM,o=i.isArrayOrTypedArray,s=i.isDateTime,l=i.cleanNumber,c=Math.round;function u(t,e){return e?n(t):\"number\"==typeof t}function f(t){return Math.max(1,(t-1)/1e3)}e.exports=function(t,e,r){var i=t,h=r.noMultiCategory;if(o(i)&&!i.length)return\"-\";if(!h&&function(t){return o(t[0])&&o(t[1])}(i))return\"multicategory\";if(h&&Array.isArray(i[0])){for(var p=[],d=0;d<i.length;d++)if(o(i[d]))for(var m=0;m<i[d].length;m++)p.push(i[d][m]);i=p}if(function(t,e){for(var r=t.length,i=f(r),a=0,o=0,l={},u=0;u<r;u+=i){var h=c(u),p=t[h],d=String(p);l[d]||(l[d]=1,s(p,e)&&a++,n(p)&&o++)}return a>2*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={},u=0;u<r;u+=n){var h=c(u),p=t[h],d=String(p);if(!s[d]){s[d]=1;var m=typeof p;\"boolean\"===m?o++:(e?l(p)!==a:\"number\"===m)?i++:\"string\"===m&&o++}}return o>2*i}(i,g)?\"category\":function(t,e){for(var r=t.length,n=0;n<r;n++)if(u(t[n],e))return!0;return!1}(i,g)?\"linear\":\"-\"}},{\"../../constants/numerical\":479,\"../../lib\":503,\"fast-isnumeric\":190}],556:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../../registry\"),a=t(\"../../lib\"),o=t(\"../../plot_api/plot_template\"),s=t(\"../array_container_defaults\"),l=t(\"./layout_attributes\"),c=t(\"./tick_value_defaults\"),u=t(\"./tick_mark_defaults\"),f=t(\"./tick_label_defaults\"),h=t(\"./prefix_suffix_defaults\"),p=t(\"./category_order_defaults\"),d=t(\"./line_grid_defaults\"),m=t(\"./set_convert\"),g=t(\"./constants\").WEEKDAY_PATTERN,v=t(\"./constants\").HOUR_PATTERN;function y(t,e,r){function i(r,n){return a.coerce(t,e,l.rangebreaks,r,n)}if(i(\"enabled\")){var o=i(\"bounds\");if(o&&o.length>=2){var s,c,u=\"\";if(2===o.length)for(s=0;s<2;s++)if(c=b(o[s])){u=g;break}var f=i(\"pattern\",u);if(f===g)for(s=0;s<2;s++)(c=b(o[s]))&&(e.bounds[s]=o[s]=c-1);if(f)for(s=0;s<2;s++)switch(c=o[s],f){case g: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 h=r.range;if(h[0]<h[1]){if(o[0]<h[0]&&o[1]>h[1])return void(e.enabled=!1)}else if(o[0]>h[0]&&o[1]<h[1])return void(e.enabled=!1)}}else{var p=i(\"values\");if(!p||!p.length)return void(e.enabled=!1);i(\"dvalue\")}}}e.exports=function(t,e,r,n,v){var x,b=n.letter,_=n.font||{},w=n.splomStash||{},T=r(\"visible\",!n.visibleDflt),k=e._template||{},A=e.type||k.type||\"-\";\"date\"===A&&(i.getComponentMethod(\"calendars\",\"handleDefaults\")(t,e,\"calendar\",n.calendar),n.noTicklabelmode||(x=r(\"ticklabelmode\")));var M=\"\";n.noTicklabelposition&&\"multicategory\"!==A||(M=a.coerce(t,e,{ticklabelposition:{valType:\"enumerated\",dflt:\"outside\",values:\"period\"===x?[\"outside\",\"inside\"]:\"x\"===b?[\"outside\",\"inside\",\"outside left\",\"inside left\",\"outside right\",\"inside right\"]:[\"outside\",\"inside\",\"outside top\",\"inside top\",\"outside bottom\",\"inside bottom\"]}},\"ticklabelposition\")),n.noTicklabeloverflow||r(\"ticklabeloverflow\",-1!==M.indexOf(\"inside\")?\"hide past domain\":\"category\"===A||\"multicategory\"===A?\"allow\":\"hide past div\"),m(e,v);var S=!e.isValidRange(t.range);S&&n.reverseDflt&&(S=\"reversed\"),!r(\"autorange\",S)||\"linear\"!==A&&\"-\"!==A||r(\"rangemode\"),r(\"range\"),e.cleanRange(),p(t,e,r,n),\"category\"===A||n.noHover||r(\"hoverformat\");var E=r(\"color\"),L=E!==l.color.dflt?E:_.color,C=w.label||v._dfltTitle[b];if(h(t,e,r,A,n),!T)return e;r(\"title.text\",C),a.coerceFont(r,\"title.font\",{family:_.family,size:a.bigFont(_.size),color:L}),c(t,e,r,A);var P=n.hasMinor;if(P&&(o.newContainer(e,\"minor\"),c(t,e,r,A,{isMinor:!0})),f(t,e,r,A,n),u(t,e,r,n),P){var I=n.isMinor;n.isMinor=!0,u(t,e,r,n),n.isMinor=I}d(t,e,r,{dfltColor:E,bgColor:n.bgColor,showGrid:n.showGrid,hasMinor:P,attributes:l}),!P||e.minor.ticks||e.minor.showgrid||delete e.minor,(e.showline||e.ticks)&&r(\"mirror\"),n.automargin&&r(\"automargin\");var O,z=\"multicategory\"===A;n.noTickson||\"category\"!==A&&!z||!e.ticks&&!e.showgrid||(z&&(O=\"boundaries\"),\"boundaries\"===r(\"tickson\",O)&&delete e.ticklabelposition);z&&(r(\"showdividers\")&&(r(\"dividercolor\"),r(\"dividerwidth\")));if(\"date\"===A)if(s(t,e,{name:\"rangebreaks\",inclusionAttr:\"enabled\",handleItemDefaults:y}),e.rangebreaks.length){for(var D=0;D<e.rangebreaks.length;D++)if(e.rangebreaks[D].pattern===g){e._hasDayOfWeekBreaks=!0;break}if(m(e,v),v._has(\"scattergl\")||v._has(\"splom\"))for(var R=0;R<n.data.length;R++){var F=n.data[R];\"scattergl\"!==F.type&&\"splom\"!==F.type||(F.visible=!1,a.warn(F.type+\" traces do not work on axes with rangebreaks. Setting trace \"+F.index+\" to `visible: false`.\"))}}else delete e.rangebreaks;return e};var x={sun:1,mon:2,tue:3,wed:4,thu:5,fri:6,sat:7};function b(t){if(\"string\"==typeof t)return x[t.substr(0,3).toLowerCase()]}},{\"../../lib\":503,\"../../plot_api/plot_template\":543,\"../../registry\":638,\"../array_container_defaults\":549,\"./category_order_defaults\":559,\"./constants\":561,\"./layout_attributes\":569,\"./line_grid_defaults\":571,\"./prefix_suffix_defaults\":573,\"./set_convert\":576,\"./tick_label_defaults\":578,\"./tick_mark_defaults\":579,\"./tick_value_defaults\":580,\"fast-isnumeric\":190}],557:[function(t,e,r){\"use strict\";var n=t(\"../../constants/docs\"),i=n.FORMAT_LINK,a=n.DATE_FORMAT_LINK;function o(t,e){return[\"Sets the \"+t+\" formatting rule\"+(e?\"for `\"+e+\"` \":\"\"),\"using d3 formatting mini-languages\",\"which are very similar to those in Python. For numbers, see: \"+i+\".\"].join(\" \")}function s(t,e){return o(t,e)+[\" And for dates see: \"+a+\".\",\"We add two items to d3's date formatter:\",\"*%h* for half of the year as a decimal number as well as\",\"*%{n}f* for fractional seconds\",\"with n digits. For example, *2016-10-13 09:15:23.456* with tickformat\",\"*%H~%M~%S.%2f* would display *09~15~23.46*\"].join(\" \")}e.exports={axisHoverFormat:function(t,e){return{valType:\"string\",dflt:\"\",editType:\"none\",description:(e?o:s)(\"hover text\",t)+[\"By default the values are formatted using \"+(e?\"generic number format\":\"`\"+t+\"axis.hoverformat`\")+\".\"].join(\" \")}},descriptionOnlyNumbers:o,descriptionWithDates:s}},{\"../../constants/docs\":474}],558:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),i=t(\"./constants\");function a(t,e){if(e&&e.length)for(var r=0;r<e.length;r++)if(e[r][t])return!0;return!1}r.id2name=function(t){if(\"string\"==typeof t&&t.match(i.AX_ID_PATTERN)){var e=t.split(\" \")[0].substr(1);return\"1\"===e&&(e=\"\"),t.charAt(0)+\"axis\"+e}},r.name2id=function(t){if(t.match(i.AX_NAME_PATTERN)){var e=t.substr(5);return\"1\"===e&&(e=\"\"),t.charAt(0)+e}},r.cleanId=function(t,e,r){var n=/( domain)$/.test(t);if(\"string\"==typeof t&&t.match(i.AX_ID_PATTERN)&&(!e||t.charAt(0)===e)&&(!n||r)){var a=t.split(\" \")[0].substr(1).replace(/^0+/,\"\");return\"1\"===a&&(a=\"\"),t.charAt(0)+a+(n&&r?\" domain\":\"\")}},r.list=function(t,e,n){var i=t._fullLayout;if(!i)return[];var a,o=r.listIds(t,e),s=new Array(o.length);for(a=0;a<o.length;a++){var l=o[a];s[a]=i[l.charAt(0)+\"axis\"+l.substr(1)]}if(!n){var c=i._subplots.gl3d||[];for(a=0;a<c.length;a++){var u=i[c[a]];e?s.push(u[e+\"axis\"]):s.push(u.xaxis,u.yaxis,u.zaxis)}}return s},r.listIds=function(t,e){var r=t._fullLayout;if(!r)return[];var n=r._subplots;return e?n[e+\"axis\"]:n.xaxis.concat(n.yaxis)},r.getFromId=function(t,e,n){var i=t._fullLayout;return e=void 0===e||\"string\"!=typeof e?e:e.replace(\" domain\",\"\"),\"x\"===n?e=e.replace(/y[0-9]*/,\"\"):\"y\"===n&&(e=e.replace(/x[0-9]*/,\"\")),i[r.id2name(e)]},r.getFromTrace=function(t,e,i){var a=t._fullLayout,o=null;if(n.traceIs(e,\"gl3d\")){var s=e.scene;\"scene\"===s.substr(0,5)&&(o=a[s][i+\"axis\"])}else o=r.getFromId(t,e[i+\"axis\"]||i);return o},r.idSort=function(t,e){var r=t.charAt(0),n=e.charAt(0);return r!==n?r>n?1:-1:+(t.substr(1)||1)-+(e.substr(1)||1)},r.ref2id=function(t){return!!/^[xyz]/.test(t)&&t.split(\" \")[0]},r.isLinked=function(t,e){return a(e,t._axisMatchGroups)||a(e,t._axisConstraintGroups)}},{\"../../registry\":638,\"./constants\":561}],559:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,n){if(\"category\"===e.type){var i,a=t.categoryarray,o=Array.isArray(a)&&a.length>0;o&&(i=\"array\");var s,l=r(\"categoryorder\",i);\"array\"===l&&(s=r(\"categoryarray\")),o||\"array\"!==l||(l=e.categoryorder=\"trace\"),\"trace\"===l?e._initialCategories=[]:\"array\"===l?e._initialCategories=s.slice():(s=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;n<e.data.length;n++){var s=e.data[n];s[a+\"axis\"]===t._id&&r.push(s)}for(n=0;n<r.length;n++){var l=r[n][a];for(i=0;i<l.length;i++){var c=l[i];null!=c&&(o[c]=1)}}return Object.keys(o)}(e,n).sort(),\"category ascending\"===l?e._initialCategories=s:\"category descending\"===l&&(e._initialCategories=s.reverse()))}}},{}],560:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../../lib\"),a=t(\"../../constants/numerical\"),o=a.ONEDAY,s=a.ONEWEEK;r.dtick=function(t,e){var r=\"log\"===e,i=\"date\"===e,a=\"category\"===e,s=i?o:1;if(!t)return s;if(n(t))return(t=Number(t))<=0?s:a?Math.max(1,Math.round(t)):i?Math.max(.1,t):t;if(\"string\"!=typeof t||!i&&!r)return s;var l=t.charAt(0),c=t.substr(1);return(c=n(c)?Number(c):0)<=0||!(i&&\"M\"===l&&c===Math.round(c)||r&&\"L\"===l||r&&\"D\"===l&&(1===c||2===c))?s:t},r.tick0=function(t,e,r,a){return\"date\"===e?i.cleanDate(t,i.dateTick0(r,a%s==0?1:0)):\"D1\"!==a&&\"D2\"!==a?n(t)?Number(t):0:void 0}},{\"../../constants/numerical\":479,\"../../lib\":503,\"fast-isnumeric\":190}],561:[function(t,e,r){\"use strict\";var n=t(\"../../lib/regex\").counter;e.exports={idRegex:{x:n(\"x\",\"( domain)?\"),y:n(\"y\",\"( domain)?\")},attrRegex:n(\"[xy]axis\"),xAxisMatch:n(\"xaxis\"),yAxisMatch:n(\"yaxis\"),AX_ID_PATTERN:/^[xyz][0-9]*( domain)?$/,AX_NAME_PATTERN:/^[xyz]axis[0-9]*$/,SUBPLOT_PATTERN:/^x([0-9]*)y([0-9]*)$/,HOUR_PATTERN:\"hour\",WEEKDAY_PATTERN:\"day of week\",MINDRAG:8,MINSELECT:12,MINZOOM:20,DRAGGERSIZE:20,BENDPX:1.5,REDRAWDELAY:50,SELECTDELAY:100,SELECTID:\"-select\",DFLTRANGEX:[-1,6],DFLTRANGEY:[-1,4],traceLayerClasses:[\"imagelayer\",\"heatmaplayer\",\"contourcarpetlayer\",\"contourlayer\",\"funnellayer\",\"waterfalllayer\",\"barlayer\",\"carpetlayer\",\"violinlayer\",\"boxlayer\",\"ohlclayer\",\"scattercarpetlayer\",\"scatterlayer\"],clipOnAxisFalseQuery:[\".scatterlayer\",\".barlayer\",\".funnellayer\",\".waterfalllayer\"],layerValue2layerClass:{\"above traces\":\"above\",\"below traces\":\"below\"}}},{\"../../lib/regex\":520}],562:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./autorange\"),a=t(\"./axis_ids\").id2name,o=t(\"./layout_attributes\"),s=t(\"./scale_zoom\"),l=t(\"./set_convert\"),c=t(\"../../constants/numerical\").ALMOST_EQUAL,u=t(\"../../constants/alignment\").FROM_BL;function f(t,e,r){var i=r.axIds,s=r.layoutOut,l=r.hasImage,c=s._axisConstraintGroups,u=s._axisMatchGroups,f=e._id,m=f.charAt(0),g=((s._splomAxes||{})[m]||{})[f]||{},v=e._id,y=\"x\"===v.charAt(0);function x(r,i){return n.coerce(t,e,o,r,i)}e._matchGroup=null,e._constraintGroup=null,x(\"constrain\",l?\"domain\":\"range\"),n.coerce(t,e,{constraintoward:{valType:\"enumerated\",values:y?[\"left\",\"center\",\"right\"]:[\"bottom\",\"middle\",\"top\"],dflt:y?\"center\":\"middle\"}},\"constraintoward\");var b,_,w=e.type,T=[];for(b=0;b<i.length;b++){if((_=i[b])!==v)s[a(_)].type===w&&T.push(_)}var k=p(c,v);if(k){var A=[];for(b=0;b<T.length;b++)k[_=T[b]]||A.push(_);T=A}var M,S,E=T.length;E&&(t.matches||g.matches)&&(M=n.coerce(t,e,{matches:{valType:\"enumerated\",values:T,dflt:-1!==T.indexOf(g.matches)?g.matches:void 0}},\"matches\"));var L=l&&!y?e.anchor:void 0;if(E&&!M&&(t.scaleanchor||L)&&(S=n.coerce(t,e,{scaleanchor:{valType:\"enumerated\",values:T}},\"scaleanchor\",L)),M){e._matchGroup=d(u,v,M,1);var C=s[a(M)],P=h(s,e)/h(s,C);y!==(\"x\"===M.charAt(0))&&(P=(y?\"x\":\"y\")+P),d(c,v,M,P)}else t.matches&&-1!==i.indexOf(t.matches)&&n.warn(\"ignored \"+e._name+'.matches: \"'+t.matches+'\" to avoid an infinite loop');if(S){var I=x(\"scaleratio\");I||(I=e.scaleratio=1),d(c,v,S,I)}else t.scaleanchor&&-1!==i.indexOf(t.scaleanchor)&&n.warn(\"ignored \"+e._name+'.scaleanchor: \"'+t.scaleanchor+'\" to avoid either an infinite loop and possibly inconsistent scaleratios, or because this axis declares a *matches* constraint.')}function h(t,e){var r=e.domain;return r||(r=t[a(e.overlaying)].domain),r[1]-r[0]}function p(t,e){for(var r=0;r<t.length;r++)if(t[r][e])return t[r];return null}function d(t,e,r,n){var i,a,o,s,l,c=p(t,e);null===c?((c={})[e]=1,l=t.length,t.push(c)):l=t.indexOf(c);var u=Object.keys(c);for(i=0;i<t.length;i++)if(o=t[i],i!==l&&o[r]){var f=o[r];for(a=0;a<u.length;a++)o[s=u[a]]=m(f,m(n,c[s]));return void t.splice(l,1)}if(1!==n)for(a=0;a<u.length;a++){var h=u[a];c[h]=m(n,c[h])}c[r]=1}function m(t,e){var r,n,i=\"\",a=\"\";\"string\"==typeof t&&(r=(i=t.match(/^[xy]*/)[0]).length,t=+t.substr(r)),\"string\"==typeof e&&(n=(a=e.match(/^[xy]*/)[0]).length,e=+e.substr(n));var o=t*e;return r||n?r&&n&&i.charAt(0)!==a.charAt(0)?r===n?o:(r>n?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;o<a.length;o++){var s=a[o],l=t[s];if(\"string\"==typeof l){var c=l.match(/^[xy]*/)[0],u=c.length;l=+l.substr(u);for(var f=\"y\"===c.charAt(0)?n:1/n,h=0;h<u;h++)l*=f}i[s]=l}return i}function v(t,e){var r=t._inputDomain,n=u[t.constraintoward],i=r[0]+(r[1]-r[0])*n;t.domain=t._input.domain=[i+(r[0]-i)/e,i+(r[1]-i)/e],t.setScale()}r.handleDefaults=function(t,e,r){var i,o,s,c,u,h,p,d,m=r.axIds,g=r.axHasImage,v=e._axisConstraintGroups=[],y=e._axisMatchGroups=[];for(i=0;i<m.length;i++)f(u=t[c=a(m[i])],h=e[c],{axIds:m,layoutOut:e,hasImage:g[c]});function x(t,r){for(i=0;i<t.length;i++)for(s in o=t[i])e[a(s)][r]=o}for(x(y,\"_matchGroup\"),i=0;i<v.length;i++)for(s in o=v[i])if((h=e[a(s)]).fixedrange){for(var b in o){var _=a(b);!1===(t[_]||{}).fixedrange&&n.warn(\"fixedrange was specified as false for axis \"+_+\" but was overridden because another axis in its constraint group has fixedrange true\"),e[_].fixedrange=!0}break}for(i=0;i<v.length;){for(s in o=v[i]){(h=e[a(s)])._matchGroup&&Object.keys(h._matchGroup).length===Object.keys(o).length&&(v.splice(i,1),i--);break}i++}x(v,\"_constraintGroup\");var w=[\"constrain\",\"range\",\"autorange\",\"rangemode\",\"rangebreaks\",\"categoryorder\",\"categoryarray\"],T=!1,k=!1;function A(){d=h[p],\"rangebreaks\"===p&&(k=h._hasDayOfWeekBreaks)}for(i=0;i<y.length;i++){o=y[i];for(var M=0;M<w.length;M++){var S;for(s in p=w[M],d=null,o)if(u=t[c=a(s)],h=e[c],p in h){if(!h.matches&&(S=h,p in u)){A();break}null===d&&p in u&&A()}if(\"range\"===p&&d&&(T=!0),\"autorange\"===p&&null===d&&T&&(d=!1),null===d&&p in S&&(d=S[p]),null!==d)for(s in o)(h=e[a(s)])[p]=\"range\"===p?d.slice():d,\"rangebreaks\"===p&&(h._hasDayOfWeekBreaks=k,l(h,e))}}},r.enforce=function(t){var e,r,n,o,l,u,f,h,p=t._fullLayout,d=p._axisConstraintGroups||[];for(e=0;e<d.length;e++){n=g(d[e],p);var m=Object.keys(n),y=1/0,x=0,b=1/0,_={},w={},T=!1;for(r=0;r<m.length;r++)w[o=m[r]]=l=p[a(o)],l._inputDomain?l.domain=l._inputDomain.slice():l._inputDomain=l.domain.slice(),l._inputRange||(l._inputRange=l.range.slice()),l.setScale(),_[o]=u=Math.abs(l._m)/n[o],y=Math.min(y,u),\"domain\"!==l.constrain&&l._constraintShrinkable||(b=Math.min(b,u)),delete l._constraintShrinkable,x=Math.max(x,u),\"domain\"===l.constrain&&(T=!0);if(!(y>c*x)||T)for(r=0;r<m.length;r++)if(u=_[o=m[r]],f=(l=w[o]).constrain,u!==b||\"domain\"===f)if(h=u/b,\"range\"===f)s(l,h);else{var k=l._inputDomain,A=(l.domain[1]-l.domain[0])/(k[1]-k[0]),M=(l.r2l(l.range[1])-l.r2l(l.range[0]))/(l.r2l(l._inputRange[1])-l.r2l(l._inputRange[0]));if((h/=A)*M<1){l.domain=l._input.domain=k.slice(),s(l,h);continue}if(M<1&&(l.range=l._input.range=l._inputRange.slice(),h*=M),l.autorange){var S=l.r2l(l.range[0]),E=l.r2l(l.range[1]),L=(S+E)/2,C=L,P=L,I=Math.abs(E-L),O=L-I*h*1.0001,z=L+I*h*1.0001,D=i.makePadFn(p,l,0),R=i.makePadFn(p,l,1);v(l,h);var F,B,N=Math.abs(l._m),j=i.concatExtremes(t,l),U=j.min,V=j.max;for(B=0;B<U.length;B++)(F=U[B].val-D(U[B])/N)>O&&F<C&&(C=F);for(B=0;B<V.length;B++)(F=V[B].val+R(V[B])/N)<z&&F>P&&(P=F);h/=(P-C)/(2*I),C=l.l2r(C),P=l.l2r(P),l.range=l._input.range=S<E?[C,P]:[P,C]}v(l,h)}}},r.getAxisGroup=function(t,e){for(var r=t._axisMatchGroups,n=0;n<r.length;n++){if(r[n][e])return\"g\"+n}return e},r.clean=function(t,e){if(e._inputDomain){for(var r=!1,n=e._id,i=t._fullLayout._axisConstraintGroups,a=0;a<i.length;a++)if(i[a][n]){r=!0;break}r&&\"domain\"===e.constrain||(e._input.domain=e.domain=e._inputDomain,delete e._inputDomain)}}},{\"../../constants/alignment\":471,\"../../constants/numerical\":479,\"../../lib\":503,\"./autorange\":553,\"./axis_ids\":558,\"./layout_attributes\":569,\"./scale_zoom\":574,\"./set_convert\":576}],563:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../../lib\"),a=i.numberFormat,o=t(\"tinycolor2\"),s=t(\"has-passive-events\"),l=t(\"../../registry\"),c=i.strTranslate,u=t(\"../../lib/svg_text_utils\"),f=t(\"../../components/color\"),h=t(\"../../components/drawing\"),p=t(\"../../components/fx\"),d=t(\"./axes\"),m=t(\"../../lib/setcursor\"),g=t(\"../../components/dragelement\"),v=t(\"../../components/dragelement/helpers\"),y=v.selectingOrDrawing,x=v.freeMode,b=t(\"../../constants/alignment\").FROM_TL,_=t(\"../../lib/clear_gl_canvases\"),w=t(\"../../plot_api/subroutines\").redrawReglTraces,T=t(\"../plots\"),k=t(\"./axis_ids\").getFromId,A=t(\"./select\").prepSelect,M=t(\"./select\").clearSelect,S=t(\"./select\").selectOnClick,E=t(\"./scale_zoom\"),L=t(\"./constants\"),C=L.MINDRAG,P=L.MINZOOM,I=!0;function O(t,e,r,n){var a=i.ensureSingle(t.draglayer,e,r,(function(e){e.classed(\"drag\",!0).style({fill:\"transparent\",\"stroke-width\":0}).attr(\"data-subplot\",t.id)}));return a.call(m,n),a.node()}function z(t,e,r,i,a,o,s){var l=O(t,\"rect\",e,r);return n.select(l).call(h.setRect,i,a,o,s),l}function D(t,e){for(var r=0;r<t.length;r++)if(!t[r].fixedrange)return e;return\"\"}function R(t,e,r,n,i){for(var a=0;a<t.length;a++){var o=t[a];if(!o.fixedrange)if(o.rangebreaks){var s=\"y\"===o._id.charAt(0),l=s?1-e:e,c=s?1-r:r;n[o._name+\".range[0]\"]=o.l2r(o.p2l(l*o._length)),n[o._name+\".range[1]\"]=o.l2r(o.p2l(c*o._length))}else{var u=o._rl[0],f=o._rl[1]-u;n[o._name+\".range[0]\"]=o.l2r(u+f*e),n[o._name+\".range[1]\"]=o.l2r(u+f*r)}}if(i&&i.length){var h=(e+(1-r))/2;R(i,h,1-h,n,[])}}function F(t,e){for(var r=0;r<t.length;r++){var n=t[r];if(!n.fixedrange)if(n.rangebreaks){var i=n._length,a=(n.p2l(0+e)-n.p2l(0)+(n.p2l(i+e)-n.p2l(i)))/2;n.range=[n.l2r(n._rl[0]-a),n.l2r(n._rl[1]-a)]}else n.range=[n.l2r(n._rl[0]-e/n._m),n.l2r(n._rl[1]-e/n._m)]}}function B(t){return 1-(t>=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:f.background,stroke:f.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 H(t){n.select(t).selectAll(\".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners\").remove()}function q(t){I&&t.data&&t._context.showTips&&(i.notifier(i._(t,\"Double-click to zoom back out\"),\"long\"),I=!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 Y(t,e,r,n,a){for(var o,s,l,c,u=!1,f={},h={},p=(a||{}).xaHash,d=(a||{}).yaHash,m=0;m<e.length;m++){var g=e[m];for(o in r)if(g[o]){for(l in g)a&&(p[l]||d[l])||(\"x\"===l.charAt(0)?r:n)[l]||(f[l]=o);for(s in n)a&&(p[s]||d[s])||!g[s]||(u=!0)}for(s in n)if(g[s])for(c in g)a&&(p[c]||d[c])||(\"x\"===c.charAt(0)?r:n)[c]||(h[c]=s)}u&&(i.extendFlat(f,h),h={});var v={},y=[];for(l in f){var x=k(t,l);y.push(x),v[x._id]=x}var b={},_=[];for(c in h){var w=k(t,c);_.push(w),b[w._id]=w}return{xaHash:v,yaHash:b,xaxes:y,yaxes:_,xLinks:f,yLinks:h,isSubplotConstrained:u}}function W(t,e){if(s){var r=void 0!==t.onwheel?\"wheel\":\"mousewheel\";t._onwheel&&t.removeEventListener(r,t._onwheel),t._onwheel=e,t.addEventListener(r,e,{passive:!1})}else void 0!==t.onwheel?t.onwheel=e:void 0!==t.onmousewheel?t.onmousewheel=e:t.isAddedWheelEvent||(t.isAddedWheelEvent=!0,t.addEventListener(\"wheel\",e,{passive:!1}))}function X(t){var e=[];for(var r in t)e.push(t[r]);return e}e.exports={makeDragBox:function(t,e,r,s,c,f,m,v){var I,O,V,Z,J,K,Q,$,tt,et,rt,nt,it,at,ot,st,lt,ct,ut,ft,ht,pt,dt,mt=t._fullLayout._zoomlayer,gt=m+v===\"nsew\",vt=1===(m+v).length;function yt(){if(I=e.xaxis,O=e.yaxis,tt=I._length,et=O._length,Q=I._offset,$=O._offset,(V={})[I._id]=I,(Z={})[O._id]=O,m&&v)for(var r=e.overlays,n=0;n<r.length;n++){var i=r[n].xaxis;V[i._id]=i;var a=r[n].yaxis;Z[a._id]=a}J=X(V),K=X(Z),it=D(J,v),at=D(K,m),ot=!at&&!it,nt=Y(t,t._fullLayout._axisMatchGroups,V,Z);var o=(rt=Y(t,t._fullLayout._axisConstraintGroups,V,Z,nt)).isSubplotConstrained||nt.isSubplotConstrained;st=v||o,lt=m||o;var s=t._fullLayout;ct=s._has(\"scattergl\"),ut=s._has(\"splom\"),ft=s._has(\"svg\")}yt();var xt=function(t,e,r){if(!t)return\"pointer\";if(\"nsew\"===t)return r?\"\":\"pan\"===e?\"move\":\"crosshair\";return t.toLowerCase()+\"-resize\"}(at+it,t._fullLayout.dragmode,gt),bt=z(e,m+v+\"drag\",xt,r,s,c,f);if(ot&&!gt)return bt.onmousedown=null,bt.style.pointerEvents=\"none\",bt;var _t,wt,Tt,kt,At,Mt,St,Et,Lt,Ct,Pt={element:bt,gd:t,plotinfo:e};function It(){Pt.plotinfo.selection=!1,M(t)}function Ot(t,r){var i=Pt.gd;if(i._fullLayout._activeShapeIndex>=0)i._fullLayout._deactivateShape(i);else{var o=i._fullLayout.clickmode;if(H(i),2!==t||vt||qt(),gt)o.indexOf(\"select\")>-1&&S(r,i,J,K,e.id,Pt),o.indexOf(\"event\")>-1&&p.click(i,r,e.id);else if(1===t&&vt){var s=m?O:I,c=\"s\"===m||\"w\"===v?0:1,f=s._name+\".range[\"+c+\"]\",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,c),d=\"left\",g=\"middle\";if(s.fixedrange)return;m?(g=\"n\"===m?\"top\":\"bottom\",\"right\"===s.side&&(d=\"right\")):\"e\"===v&&(d=\"right\"),i._context.showAxisRangeEntryBoxes&&n.select(bt).call(u.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),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,Lt.attr(\"d\",G(Tt))}else s();else!at||o<Math.min(Math.max(.6*a,C),P)?a<C||!it?s():(Tt.t=0,Tt.b=et,St=\"x\",Lt.attr(\"d\",function(t,e){return\"M\"+(t.l-.5)+\",\"+(e-P-.5)+\"h-3v\"+(2*P+1)+\"h3ZM\"+(t.r+.5)+\",\"+(e-P-.5)+\"h3v\"+(2*P+1)+\"h-3Z\"}(Tt,wt))):!it||a<Math.min(.6*o,P)?(Tt.l=0,Tt.r=tt,St=\"y\",Lt.attr(\"d\",function(t,e){return\"M\"+(e-P-.5)+\",\"+(t.t-.5)+\"v-3h\"+(2*P+1)+\"v3ZM\"+(e-P-.5)+\",\"+(t.b+.5)+\"v3h\"+(2*P+1)+\"v-3Z\"}(Tt,_t))):(St=\"xy\",Lt.attr(\"d\",G(Tt)));Tt.w=Tt.r-Tt.l,Tt.h=Tt.b-Tt.t,St&&(Ct=!0),t._dragged=Ct,U(Et,Lt,Tt,At,Mt,kt),Dt(),t.emit(\"plotly_relayouting\",ht),Mt=!0}function Dt(){ht={},\"xy\"!==St&&\"x\"!==St||(R(J,Tt.l/tt,Tt.r/tt,ht,rt.xaxes),Vt(\"x\",ht)),\"xy\"!==St&&\"y\"!==St||(R(K,(et-Tt.b)/et,(et-Tt.t)/et,ht,rt.yaxes),Vt(\"y\",ht))}function Rt(){Dt(),H(t),Gt(),q(t)}Pt.prepFn=function(e,r,n){var a=Pt.dragmode,s=t._fullLayout.dragmode;s!==a&&(Pt.dragmode=s),yt(),pt=t._fullLayout._invScaleX,dt=t._fullLayout._invScaleY,ot||(gt?e.shiftKey?\"pan\"===s?s=\"zoom\":y(s)||(s=\"pan\"):e.ctrlKey&&(s=\"pan\"):s=\"pan\"),x(s)?Pt.minDrag=1:Pt.minDrag=void 0,y(s)?(Pt.xaxes=J,Pt.yaxes=K,A(e,r,n,Pt,s)):(Pt.clickFn=Ot,y(a)&&It(),ot||(\"zoom\"===s?(Pt.moveFn=zt,Pt.doneFn=Rt,Pt.minDrag=1,function(e,r,n){var a=bt.getBoundingClientRect();_t=r-a.left,wt=n-a.top,t._fullLayout._calcInverseTransform(t);var s=i.apply3DTransform(t._fullLayout._invTransform)(_t,wt);_t=s[0],wt=s[1],Tt={l:_t,r:_t,w:0,t:wt,b:wt,h:0},kt=t._hmpixcount?t._hmlumcount/t._hmpixcount:o(t._fullLayout.plot_bgcolor).getLuminance(),Mt=!1,St=\"xy\",Ct=!1,Et=N(mt,kt,Q,$,At=\"M0,0H\"+tt+\"V\"+et+\"H0V0\"),Lt=j(mt,Q,$)}(0,r,n)):\"pan\"===s&&(Pt.moveFn=Ut,Pt.doneFn=Gt))),t._fullLayout._redrag=function(){var e=t._dragdata;if(e&&e.element===bt){var r=t._fullLayout.dragmode;y(r)||(yt(),Yt([0,0,tt,et]),Pt.moveFn(e.dx,e.dy))}}},g.init(Pt);var Ft=[0,0,tt,et],Bt=null,Nt=L.REDRAWDELAY,jt=e.mainplot?t._fullLayout._plots[e.mainplot]:e;function Ut(e,r){if(e*=pt,r*=dt,!t._transitioningWithDuration){if(t._fullLayout._replotting=!0,\"ew\"===it||\"ns\"===at){var n=it?-e:0,i=at?-r:0;if(nt.isSubplotConstrained){if(it&&at){var a=(e/tt-r/et)/2;n=-(e=a*tt),i=-(r=-a*et)}at?n=-i*tt/et:i=-n*et/tt}return it&&(F(J,e),Vt(\"x\")),at&&(F(K,r),Vt(\"y\")),Yt([n,i,tt,et]),Ht(),void t.emit(\"plotly_relayouting\",ht)}var o,s,l=\"w\"===it==(\"n\"===at)?1:-1;if(it&&at&&(rt.isSubplotConstrained||nt.isSubplotConstrained)){var c=(e/tt+l*r/et)/2;e=c*tt,r=l*c*et}if(\"w\"===it?e=p(J,0,e):\"e\"===it?e=p(J,1,-e):it||(e=0),\"n\"===at?r=p(K,1,r):\"s\"===at?r=p(K,0,-r):at||(r=0),o=\"w\"===it?e:0,s=\"n\"===at?r:0,rt.isSubplotConstrained&&!nt.isSubplotConstrained||nt.isSubplotConstrained&&it&&at&&l>0){var u;if(nt.isSubplotConstrained||!it&&1===at.length){for(u=0;u<J.length;u++)J[u].range=J[u]._r.slice(),E(J[u],1-r/et);o=(e=r*tt/et)/2}if(nt.isSubplotConstrained||!at&&1===it.length){for(u=0;u<K.length;u++)K[u].range=K[u]._r.slice(),E(K[u],1-e/tt);s=(r=e*et/tt)/2}}nt.isSubplotConstrained&&at||Vt(\"x\"),nt.isSubplotConstrained&&it||Vt(\"y\");var f=tt-e,h=et-r;!nt.isSubplotConstrained||it&&at||(it?(s=o?0:e*et/tt,h=f*et/tt):(o=s?0:r*tt/et,f=h*tt/et)),Yt([o,s,f,h]),Ht(),t.emit(\"plotly_relayouting\",ht)}function p(t,e,r){for(var n,i,a=1-e,o=0;o<t.length;o++){var s=t[o];if(!s.fixedrange){n=s,i=s._rl[a]+(s._rl[e]-s._rl[a])/B(r/s._length);var l=s.l2r(i);!1!==l&&void 0!==l&&(s.range[e]=l)}}return n._length*(n._rl[e]-i)/(n._rl[e]-n._rl[a])}}function Vt(t,e){for(var r=nt.isSubplotConstrained?{x:K,y:J}[t]:nt[t+\"axes\"],n=nt.isSubplotConstrained?{x:J,y:K}[t]:[],i=0;i<r.length;i++){var a=r[i],o=a._id,s=nt.xLinks[o]||nt.yLinks[o],l=n[0]||V[s]||Z[s];l&&(e?(e[a._name+\".range[0]\"]=e[l._name+\".range[0]\"],e[a._name+\".range[1]\"]=e[l._name+\".range[1]\"]):a.range=l.range.slice())}}function Ht(){var e,r=[];function n(t){for(e=0;e<t.length;e++)t[e].fixedrange||r.push(t[e]._id)}for(st&&(n(J),n(rt.xaxes),n(nt.xaxes)),lt&&(n(K),n(rt.yaxes),n(nt.yaxes)),ht={},e=0;e<r.length;e++){var i=r[e],a=k(t,i);d.drawOne(t,a,{skipTitle:!0}),ht[a._name+\".range[0]\"]=a.range[0],ht[a._name+\".range[1]\"]=a.range[1]}d.redrawComponents(t,r)}function qt(){if(!t._transitioningWithDuration){var e=t._context.doubleClick,r=[];it&&(r=r.concat(J)),at&&(r=r.concat(K)),nt.xaxes&&(r=r.concat(nt.xaxes)),nt.yaxes&&(r=r.concat(nt.yaxes));var n,i,a,o={};if(\"reset+autosize\"===e)for(e=\"autosize\",i=0;i<r.length;i++)if((n=r[i])._rangeInitial&&(n.range[0]!==n._rangeInitial[0]||n.range[1]!==n._rangeInitial[1])||!n._rangeInitial&&!n.autorange){e=\"reset\";break}if(\"autosize\"===e)for(i=0;i<r.length;i++)(n=r[i]).fixedrange||(o[n._name+\".autorange\"]=!0);else if(\"reset\"===e)for((it||rt.isSubplotConstrained)&&(r=r.concat(rt.xaxes)),at&&!rt.isSubplotConstrained&&(r=r.concat(rt.yaxes)),rt.isSubplotConstrained&&(it?at||(r=r.concat(K)):r=r.concat(J)),i=0;i<r.length;i++)(n=r[i]).fixedrange||(n._rangeInitial?(a=n._rangeInitial,o[n._name+\".range[0]\"]=a[0],o[n._name+\".range[1]\"]=a[1]):o[n._name+\".autorange\"]=!0);t.emit(\"plotly_doubleclick\",null),l.call(\"_guiRelayout\",t,o)}}function Gt(){Yt([0,0,tt,et]),i.syncOrAsync([T.previousPromises,function(){t._fullLayout._replotting=!1,l.call(\"_guiRelayout\",t,ht)}],t)}function Yt(e){var r,n,a,o,s=t._fullLayout,c=s._plots,u=s._subplots.cartesian;if(ut&&l.subplotsRegistry.splom.drag(t),ct)for(r=0;r<u.length;r++)if(a=(n=c[u[r]]).xaxis,o=n.yaxis,n._scene){var f=i.simpleMap(a.range,a.r2l),p=i.simpleMap(o.range,o.r2l);n._scene.update({range:[f[0],p[0],f[1],p[1]]})}if((ut||ct)&&(_(t),w(t)),ft){var d=e[2]/I._length,g=e[3]/O._length;for(r=0;r<u.length;r++){a=(n=c[u[r]]).xaxis,o=n.yaxis;var y,x,b,T,k=(st||nt.isSubplotConstrained)&&!a.fixedrange&&V[a._id],A=(lt||nt.isSubplotConstrained)&&!o.fixedrange&&Z[o._id];if(k?(y=d,b=v||nt.isSubplotConstrained?e[0]:Zt(a,y)):nt.xaHash[a._id]?(y=d,b=e[0]*a._length/I._length):nt.yaHash[a._id]?(y=g,b=\"ns\"===at?-e[1]*a._length/O._length:Zt(a,y,{n:\"top\",s:\"bottom\"}[at])):b=Xt(a,y=Wt(a,d,g)),A?(x=g,T=m||nt.isSubplotConstrained?e[1]:Zt(o,x)):nt.yaHash[o._id]?(x=g,T=e[1]*o._length/O._length):nt.xaHash[o._id]?(x=d,T=\"ew\"===it?-e[0]*o._length/I._length:Zt(o,x,{e:\"right\",w:\"left\"}[it])):T=Xt(o,x=Wt(o,d,g)),y||x){y||(y=1),x||(x=1);var M=a._offset-b/y,S=o._offset-T/x;n.clipRect.call(h.setTranslate,b,T).call(h.setScale,y,x),n.plot.call(h.setTranslate,M,S).call(h.setScale,1/y,1/x),y===n.xScaleFactor&&x===n.yScaleFactor||(h.setPointGroupScale(n.zoomScalePts,y,x),h.setTextPointsScale(n.zoomScaleTxt,y,x)),h.hideOutsideRangePoints(n.clipOnAxisFalseTraces,n),n.xScaleFactor=y,n.yScaleFactor=x}}}}function Wt(t,e,r){return t.fixedrange?0:st&&rt.xaHash[t._id]?e:lt&&(rt.isSubplotConstrained?rt.xaHash:rt.yaHash)[t._id]?r:0}function Xt(t,e){return e?(t.range=t._r.slice(),E(t,e),Zt(t,e)):0}function Zt(t,e,r){return t._length*(1-e)*b[r||t.constraintoward||\"middle\"]}return m.length*v.length!=1&&W(bt,(function(e){if(t._context._scrollZoom.cartesian||t._fullLayout._enablescrollzoom){if(It(),t._transitioningWithDuration)return e.preventDefault(),void e.stopPropagation();yt(),clearTimeout(Bt);var r=-e.deltaY;if(isFinite(r)||(r=e.wheelDelta/10),isFinite(r)){var n,a=Math.exp(-Math.min(Math.max(r,-20),20)/200),o=jt.draglayer.select(\".nsewdrag\").node().getBoundingClientRect(),s=(e.clientX-o.left)/o.width,l=(o.bottom-e.clientY)/o.height;if(st){for(v||(s=.5),n=0;n<J.length;n++)c(J[n],s,a);Vt(\"x\"),Ft[2]*=a,Ft[0]+=Ft[2]*s*(1/a-1)}if(lt){for(m||(l=.5),n=0;n<K.length;n++)c(K[n],l,a);Vt(\"y\"),Ft[3]*=a,Ft[1]+=Ft[3]*(1-l)*(1/a-1)}Yt(Ft),Ht(),t.emit(\"plotly_relayouting\",ht),Bt=setTimeout((function(){t._fullLayout&&(Ft=[0,0,tt,et],Gt())}),Nt),e.preventDefault()}else i.log(\"Did not find wheel motion attributes: \",e)}function c(t,e,r){if(!t.fixedrange){var n=i.simpleMap(t.range,t.r2l),a=n[0]+(n[1]-n[0])*e;t.range=n.map((function(e){return t.l2r(a+(e-a)*r)}))}}})),bt},makeDragger:O,makeRectDragger:z,makeZoombox:N,makeCorners:j,updateZoombox:U,xyCorners:G,transitionZoombox:V,removeZoombox:H,showDoubleClickNotifier:q,attachWheelEventHandler:W}},{\"../../components/color\":366,\"../../components/dragelement\":385,\"../../components/dragelement/helpers\":384,\"../../components/drawing\":388,\"../../components/fx\":406,\"../../constants/alignment\":471,\"../../lib\":503,\"../../lib/clear_gl_canvases\":487,\"../../lib/setcursor\":524,\"../../lib/svg_text_utils\":529,\"../../plot_api/subroutines\":544,\"../../registry\":638,\"../plots\":619,\"./axes\":554,\"./axis_ids\":558,\"./constants\":561,\"./scale_zoom\":574,\"./select\":575,\"@plotly/d3\":58,\"has-passive-events\":229,tinycolor2:312}],564:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../../components/fx\"),a=t(\"../../components/dragelement\"),o=t(\"../../lib/setcursor\"),s=t(\"./dragbox\").makeDragBox,l=t(\"./constants\").DRAGGERSIZE;r.initInteractions=function(t){var e=t._fullLayout;if(t._context.staticPlot)n.select(t).selectAll(\".drag\").remove();else if(e._has(\"cartesian\")||e._has(\"splom\")){Object.keys(e._plots||{}).sort((function(t,r){if((e._plots[t].mainplot&&!0)===(e._plots[r].mainplot&&!0)){var n=t.split(\"y\"),i=r.split(\"y\");return n[0]===i[0]?Number(n[1]||1)-Number(i[1]||1):Number(n[0]||1)-Number(i[0]||1)}return e._plots[t].mainplot?1:-1})).forEach((function(r){var n=e._plots[r],o=n.xaxis,c=n.yaxis;if(!n.mainplot){var u=s(t,n,o._offset,c._offset,o._length,c._length,\"ns\",\"ew\");u.onmousemove=function(e){t._fullLayout._rehover=function(){t._fullLayout._hoversubplot===r&&t._fullLayout._plots[r]&&i.hover(t,e,r)},i.hover(t,e,r),t._fullLayout._lasthover=u,t._fullLayout._hoversubplot=r},u.onmouseout=function(e){t._dragging||(t._fullLayout._hoversubplot=null,a.unhover(t,e))},t._context.showAxisDragHandles&&(s(t,n,o._offset-l,c._offset-l,l,l,\"n\",\"w\"),s(t,n,o._offset+o._length,c._offset-l,l,l,\"n\",\"e\"),s(t,n,o._offset-l,c._offset+c._length,l,l,\"s\",\"w\"),s(t,n,o._offset+o._length,c._offset+c._length,l,l,\"s\",\"e\"))}if(t._context.showAxisDragHandles){if(r===o._mainSubplot){var f=o._mainLinePosition;\"top\"===o.side&&(f-=l),s(t,n,o._offset+.1*o._length,f,.8*o._length,l,\"\",\"ew\"),s(t,n,o._offset,f,.1*o._length,l,\"\",\"w\"),s(t,n,o._offset+.9*o._length,f,.1*o._length,l,\"\",\"e\")}if(r===c._mainSubplot){var h=c._mainLinePosition;\"right\"!==c.side&&(h-=l),s(t,n,h,c._offset+.1*c._length,l,.8*c._length,\"ns\",\"\"),s(t,n,h,c._offset+.9*c._length,l,.1*c._length,\"s\",\"\"),s(t,n,h,c._offset,l,.1*c._length,\"n\",\"\")}}}));var o=e._hoverlayer.node();o.onmousemove=function(r){r.target=t._fullLayout._lasthover,i.hover(t,r,e._hoversubplot)},o.onclick=function(e){e.target=t._fullLayout._lasthover,i.click(t,e)},o.onmousedown=function(e){t._fullLayout._lasthover.onmousedown(e)},r.updateFx(t)}},r.updateFx=function(t){var e=t._fullLayout,r=\"pan\"===e.dragmode?\"move\":\"crosshair\";o(e._draggers,r)}},{\"../../components/dragelement\":385,\"../../components/fx\":406,\"../../lib/setcursor\":524,\"./constants\":561,\"./dragbox\":563,\"@plotly/d3\":58}],565:[function(t,e,r){\"use strict\";e.exports={clearOutlineControllers:function(t){var e=t._fullLayout._zoomlayer;e&&e.selectAll(\".outline-controllers\").remove()},clearSelect:function(t){var e=t._fullLayout._zoomlayer;e&&e.selectAll(\".select-outline\").remove(),t._fullLayout._drawing=!1}}},{}],566:[function(t,e,r){\"use strict\";var n=t(\"../../lib\").strTranslate;function i(t,e){switch(t.type){case\"log\":return t.p2d(e);case\"date\":return t.p2r(e,0,t.calendar);default:return t.p2r(e)}}e.exports={p2r:i,r2p:function(t,e){switch(t.type){case\"log\":return t.d2p(e);case\"date\":return t.r2p(e,0,t.calendar);default:return t.r2p(e)}},axValue:function(t){var e=\"y\"===t._id.charAt(0)?1:0;return function(r){return i(t,r[e])}},getTransform:function(t){return n(t.xaxis._offset,t.yaxis._offset)}}},{\"../../lib\":503}],567:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),i=t(\"../../lib\"),a=t(\"./axis_ids\");e.exports=function(t){return function(e,r){var o=e[t];if(Array.isArray(o))for(var s=n.subplotsRegistry.cartesian,l=s.idRegex,c=r._subplots,u=c.xaxis,f=c.yaxis,h=c.cartesian,p=r._has(\"cartesian\")||r._has(\"gl2d\"),d=0;d<o.length;d++){var m=o[d];if(i.isPlainObject(m)){var g=a.cleanId(m.xref,\"x\",!1),v=a.cleanId(m.yref,\"y\",!1),y=l.x.test(g),x=l.y.test(v);if(y||x){p||i.pushUnique(r._basePlotModules,s);var b=!1;y&&-1===u.indexOf(g)&&(u.push(g),b=!0),x&&-1===f.indexOf(v)&&(f.push(v),b=!0),b&&y&&x&&h.push(g+v)}}}}}},{\"../../lib\":503,\"../../registry\":638,\"./axis_ids\":558}],568:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../../registry\"),a=t(\"../../lib\"),o=t(\"../plots\"),s=t(\"../../components/drawing\"),l=t(\"../get_data\").getModuleCalcData,c=t(\"./axis_ids\"),u=t(\"./constants\"),f=t(\"../../constants/xmlns_namespaces\"),h=a.ensureSingle;function p(t,e,r){return a.ensureSingle(t,e,r,(function(t){t.datum(r)}))}function d(t,e,r,a,o){for(var c,f,h,p=u.traceLayerClasses,d=t._fullLayout,m=d._modules,g=[],v=[],y=0;y<m.length;y++){var x=(c=m[y]).name,b=i.modules[x].categories;if(b.svg){var _=c.layerName||x+\"layer\",w=c.plot;h=(f=l(r,w))[0],r=f[1],h.length&&g.push({i:p.indexOf(_),className:_,plotMethod:w,cdModule:h}),b.zoomScale&&v.push(\".\"+_)}}g.sort((function(t,e){return t.i-e.i}));var T=e.plot.selectAll(\"g.mlayer\").data(g,(function(t){return t.className}));if(T.enter().append(\"g\").attr(\"class\",(function(t){return t.className})).classed(\"mlayer\",!0).classed(\"rangeplot\",e.isRangePlot),T.exit().remove(),T.order(),T.each((function(r){var i=n.select(this),l=r.className;r.plotMethod(t,e,r.cdModule,i,a,o),-1===u.clipOnAxisFalseQuery.indexOf(\".\"+l)&&s.setClipUrl(i,e.layerClipId,t)})),d._has(\"scattergl\")&&(c=i.getModule(\"scattergl\"),h=l(r,c)[0],c.plot(t,e,h)),!t._context.staticPlot&&(e._hasClipOnAxisFalse&&(e.clipOnAxisFalseTraces=e.plot.selectAll(u.clipOnAxisFalseQuery.join(\",\")).selectAll(\".trace\")),v.length)){var k=e.plot.selectAll(v.join(\",\")).selectAll(\".trace\");e.zoomScalePts=k.selectAll(\"path.point\"),e.zoomScaleTxt=k.selectAll(\".textpoint\")}}function m(t,e){var r=e.plotgroup,n=e.id,i=u.layerValue2layerClass[e.xaxis.layer],a=u.layerValue2layerClass[e.yaxis.layer],o=t._fullLayout._hasOnlyLargeSploms;if(e.mainplot){var s=e.mainplotinfo,l=s.plotgroup,f=n+\"-x\",d=n+\"-y\";e.minorGridlayer=s.minorGridlayer,e.gridlayer=s.gridlayer,e.zerolinelayer=s.zerolinelayer,h(s.overlinesBelow,\"path\",f),h(s.overlinesBelow,\"path\",d),h(s.overaxesBelow,\"g\",f),h(s.overaxesBelow,\"g\",d),e.plot=h(s.overplot,\"g\",n),h(s.overlinesAbove,\"path\",f),h(s.overlinesAbove,\"path\",d),h(s.overaxesAbove,\"g\",f),h(s.overaxesAbove,\"g\",d),e.xlines=l.select(\".overlines-\"+i).select(\".\"+f),e.ylines=l.select(\".overlines-\"+a).select(\".\"+d),e.xaxislayer=l.select(\".overaxes-\"+i).select(\".\"+f),e.yaxislayer=l.select(\".overaxes-\"+a).select(\".\"+d)}else if(o)e.xlines=h(r,\"path\",\"xlines-above\"),e.ylines=h(r,\"path\",\"ylines-above\"),e.xaxislayer=h(r,\"g\",\"xaxislayer-above\"),e.yaxislayer=h(r,\"g\",\"yaxislayer-above\");else{var m=h(r,\"g\",\"layer-subplot\");e.shapelayer=h(m,\"g\",\"shapelayer\"),e.imagelayer=h(m,\"g\",\"imagelayer\"),e.minorGridlayer=h(r,\"g\",\"minor-gridlayer\"),e.gridlayer=h(r,\"g\",\"gridlayer\"),e.zerolinelayer=h(r,\"g\",\"zerolinelayer\"),h(r,\"path\",\"xlines-below\"),h(r,\"path\",\"ylines-below\"),e.overlinesBelow=h(r,\"g\",\"overlines-below\"),h(r,\"g\",\"xaxislayer-below\"),h(r,\"g\",\"yaxislayer-below\"),e.overaxesBelow=h(r,\"g\",\"overaxes-below\"),e.plot=h(r,\"g\",\"plot\"),e.overplot=h(r,\"g\",\"overplot\"),e.xlines=h(r,\"path\",\"xlines-above\"),e.ylines=h(r,\"path\",\"ylines-above\"),e.overlinesAbove=h(r,\"g\",\"overlines-above\"),h(r,\"g\",\"xaxislayer-above\"),h(r,\"g\",\"yaxislayer-above\"),e.overaxesAbove=h(r,\"g\",\"overaxes-above\"),e.xlines=r.select(\".xlines-\"+i),e.ylines=r.select(\".ylines-\"+a),e.xaxislayer=r.select(\".xaxislayer-\"+i),e.yaxislayer=r.select(\".yaxislayer-\"+a)}o||(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 g(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;o<a.length;o++){var s=a[o];r[s.id]&&s.plot.selectAll(\".trace\").remove()}}}function v(t,e){e._draggers.selectAll(\"g.\"+t).remove(),e._defs.select(\"#clip\"+e._uid+t+\"plot\").remove()}r.name=\"cartesian\",r.attr=[\"xaxis\",\"yaxis\"],r.idRoot=[\"x\",\"y\"],r.idRegex=u.idRegex,r.attrRegex=u.attrRegex,r.attributes=t(\"./attributes\"),r.layoutAttributes=t(\"./layout_attributes\"),r.supplyLayoutDefaults=t(\"./layout_defaults\"),r.transitionAxes=t(\"./transition_axes\"),r.finalizeSubplots=function(t,e){var r,n,i,o=e._subplots,s=o.xaxis,l=o.yaxis,f=o.cartesian,h=f.concat(o.gl2d||[]),p={},d={};for(r=0;r<h.length;r++){var m=h[r].split(\"y\");p[m[0]]=1,d[\"y\"+m[1]]=1}for(r=0;r<s.length;r++)p[n=s[r]]||(i=(t[c.id2name(n)]||{}).anchor,u.idRegex.y.test(i)||(i=\"y\"),f.push(n+i),h.push(n+i),d[i]||(d[i]=1,a.pushUnique(l,i)));for(r=0;r<l.length;r++)d[i=l[r]]||(n=(t[c.id2name(i)]||{}).anchor,u.idRegex.x.test(n)||(n=\"x\"),f.push(n+i),h.push(n+i),p[n]||(p[n]=1,a.pushUnique(s,n)));if(!h.length){for(var g in n=\"\",i=\"\",t){if(u.attrRegex.test(g))\"x\"===g.charAt(0)?(!n||+g.substr(5)<+n.substr(5))&&(n=g):(!i||+g.substr(5)<+i.substr(5))&&(i=g)}n=n?c.name2id(n):\"x\",i=i?c.name2id(i):\"y\",s.push(n),l.push(i),f.push(n+i)}},r.plot=function(t,e,r,n){var i,a=t._fullLayout,o=a._subplots.cartesian,s=t.calcdata;if(!Array.isArray(e))for(e=[],i=0;i<s.length;i++)e.push(i);for(i=0;i<o.length;i++){for(var l,c=o[i],u=a._plots[c],f=[],h=0;h<s.length;h++){var p=s[h],m=p[0].trace;m.xaxis+m.yaxis===c&&((-1!==e.indexOf(m.index)||m.carpet)&&(l&&l[0].trace.xaxis+l[0].trace.yaxis===c&&-1!==[\"tonextx\",\"tonexty\",\"tonext\"].indexOf(m.fill)&&-1===f.indexOf(l)&&f.push(l),f.push(p)),l=p)}d(t,u,f,r,n)}},r.clean=function(t,e,r,n){var i,a,o,s=n._plots||{},l=e._plots||{},u=n._subplots||{};if(n._hasOnlyLargeSploms&&!e._hasOnlyLargeSploms)for(o in s)(i=s[o]).plotgroup&&i.plotgroup.remove();var f=n._has&&n._has(\"gl\"),h=e._has&&e._has(\"gl\");if(f&&!h)for(o in s)(i=s[o])._scene&&i._scene.destroy();if(u.xaxis&&u.yaxis){var p=c.listIds({_fullLayout:n});for(a=0;a<p.length;a++){var d=p[a];e[c.id2name(d)]||n._infolayer.selectAll(\".g-\"+d+\"title\").remove()}}var m=n._has&&n._has(\"cartesian\"),y=e._has&&e._has(\"cartesian\");if(m&&!y)g(n._cartesianlayer.selectAll(\".subplot\"),n),n._defs.selectAll(\".axesclip\").remove(),delete n._axisConstraintGroups,delete n._axisMatchGroups;else if(u.cartesian)for(a=0;a<u.cartesian.length;a++){var x=u.cartesian[a];if(!l[x]){var b=\".\"+x+\",.\"+x+\"-x,.\"+x+\"-y\";n._cartesianlayer.selectAll(b).remove(),v(x,n)}}},r.drawFramework=function(t){var e=t._fullLayout,r=function(t){var e,r,n,i,a,o,s=t._fullLayout,l=s._subplots.cartesian,c=l.length,u=[],f=[];for(e=0;e<c;e++){n=l[e],i=s._plots[n],a=i.xaxis,o=i.yaxis;var h=a._mainAxis,p=o._mainAxis,d=h._id+p._id,m=s._plots[d];i.overlays=[],d!==n&&m?(i.mainplot=d,i.mainplotinfo=m,f.push(n)):(i.mainplot=void 0,i.mainplotinfo=void 0,u.push(n))}for(e=0;e<f.length;e++)n=f[e],(i=s._plots[n]).mainplotinfo.overlays.push(i);var g=u.concat(f),v=new Array(c);for(e=0;e<c;e++){n=g[e],i=s._plots[n],a=i.xaxis,o=i.yaxis;var y=[n,a.layer,o.layer,a.overlaying||\"\",o.overlaying||\"\"];for(r=0;r<i.overlays.length;r++)y.push(i.overlays[r].id);v[e]=y}return v}(t),i=e._cartesianlayer.selectAll(\".subplot\").data(r,String);i.enter().append(\"g\").attr(\"class\",(function(t){return\"subplot \"+t[0]})),i.order(),i.exit().call(g,e),i.each((function(r){var i=r[0],a=e._plots[i];a.plotgroup=n.select(this),m(t,a),a.draglayer=h(e._draggers,\"g\",i)}))},r.rangePlot=function(t,e,r){m(t,e),d(t,e,r),o.style(t)},r.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.toDataURL(\"image/png\");e.append(\"svg:image\").attr({xmlns:f.svg,\"xlink:href\":t,preserveAspectRatio:\"none\",x:0,y:0,width:this.style.width,height:this.style.height})}))},r.updateFx=t(\"./graph_interact\").updateFx},{\"../../components/drawing\":388,\"../../constants/xmlns_namespaces\":480,\"../../lib\":503,\"../../registry\":638,\"../get_data\":593,\"../plots\":619,\"./attributes\":552,\"./axis_ids\":558,\"./constants\":561,\"./graph_interact\":564,\"./layout_attributes\":569,\"./layout_defaults\":570,\"./transition_axes\":581,\"@plotly/d3\":58}],569:[function(t,e,r){\"use strict\";var n=t(\"../font_attributes\"),i=t(\"../../components/color/attributes\"),a=t(\"../../components/drawing/attributes\").dash,o=t(\"../../lib/extend\").extendFlat,s=t(\"../../plot_api/plot_template\").templatedArray,l=t(\"../../plots/cartesian/axis_format_attributes\").descriptionWithDates,c=t(\"../../constants/numerical\").ONEDAY,u=t(\"./constants\"),f=u.HOUR_PATTERN,h=u.WEEKDAY_PATTERN,p={valType:\"enumerated\",values:[\"auto\",\"linear\",\"array\"],editType:\"ticks\",impliedEdits:{tick0:void 0,dtick:void 0}};function d(t){return{valType:\"integer\",min:0,dflt:t?5:0,editType:\"ticks\"}}var m={valType:\"any\",editType:\"ticks\",impliedEdits:{tickmode:\"linear\"}},g={valType:\"any\",editType:\"ticks\",impliedEdits:{tickmode:\"linear\"}},v={valType:\"data_array\",editType:\"ticks\"},y={valType:\"enumerated\",values:[\"outside\",\"inside\",\"\"],editType:\"ticks\"};function x(t){var e={valType:\"number\",min:0,editType:\"ticks\"};return t||(e.dflt=5),e}function b(t){var e={valType:\"number\",min:0,editType:\"ticks\"};return t||(e.dflt=1),e}var _={valType:\"color\",dflt:i.defaultLine,editType:\"ticks\"},w={valType:\"color\",dflt:i.lightLine,editType:\"ticks\"};function T(t){var e={valType:\"number\",min:0,editType:\"ticks\"};return t||(e.dflt=1),e}var k=o({},a,{editType:\"ticks\"}),A={valType:\"boolean\",editType:\"ticks\"};e.exports={visible:{valType:\"boolean\",editType:\"plot\"},color:{valType:\"color\",dflt:i.defaultLine,editType:\"ticks\"},title:{text:{valType:\"string\",editType:\"ticks\"},font:n({editType:\"ticks\"}),standoff:{valType:\"number\",min:0,editType:\"ticks\"},editType:\"ticks\"},type:{valType:\"enumerated\",values:[\"-\",\"linear\",\"log\",\"date\",\"category\",\"multicategory\"],dflt:\"-\",editType:\"calc\",_noTemplating:!0},autotypenumbers:{valType:\"enumerated\",values:[\"convert types\",\"strict\"],dflt:\"convert types\",editType:\"calc\"},autorange:{valType:\"enumerated\",values:[!0,!1,\"reversed\"],dflt:!0,editType:\"axrange\",impliedEdits:{\"range[0]\":void 0,\"range[1]\":void 0}},rangemode:{valType:\"enumerated\",values:[\"normal\",\"tozero\",\"nonnegative\"],dflt:\"normal\",editType:\"plot\"},range:{valType:\"info_array\",items:[{valType:\"any\",editType:\"axrange\",impliedEdits:{\"^autorange\":!1},anim:!0},{valType:\"any\",editType:\"axrange\",impliedEdits:{\"^autorange\":!1},anim:!0}],editType:\"axrange\",impliedEdits:{autorange:!1},anim:!0},fixedrange:{valType:\"boolean\",dflt:!1,editType:\"calc\"},scaleanchor:{valType:\"enumerated\",values:[u.idRegex.x.toString(),u.idRegex.y.toString()],editType:\"plot\"},scaleratio:{valType:\"number\",min:0,dflt:1,editType:\"plot\"},constrain:{valType:\"enumerated\",values:[\"range\",\"domain\"],editType:\"plot\"},constraintoward:{valType:\"enumerated\",values:[\"left\",\"center\",\"right\",\"top\",\"middle\",\"bottom\"],editType:\"plot\"},matches:{valType:\"enumerated\",values:[u.idRegex.x.toString(),u.idRegex.y.toString()],editType:\"calc\"},rangebreaks:s(\"rangebreak\",{enabled:{valType:\"boolean\",dflt:!0,editType:\"calc\"},bounds:{valType:\"info_array\",items:[{valType:\"any\",editType:\"calc\"},{valType:\"any\",editType:\"calc\"}],editType:\"calc\"},pattern:{valType:\"enumerated\",values:[h,f,\"\"],editType:\"calc\"},values:{valType:\"info_array\",freeLength:!0,editType:\"calc\",items:{valType:\"any\",editType:\"calc\"}},dvalue:{valType:\"number\",editType:\"calc\",min:0,dflt:c},editType:\"calc\"}),tickmode:p,nticks:d(),tick0:m,dtick:g,ticklabelstep:{valType:\"integer\",min:1,dflt:1,editType:\"ticks\"},tickvals:v,ticktext:{valType:\"data_array\",editType:\"ticks\"},ticks:y,tickson:{valType:\"enumerated\",values:[\"labels\",\"boundaries\"],dflt:\"labels\",editType:\"ticks\"},ticklabelmode:{valType:\"enumerated\",values:[\"instant\",\"period\"],dflt:\"instant\",editType:\"ticks\"},ticklabelposition:{valType:\"enumerated\",values:[\"outside\",\"inside\",\"outside top\",\"inside top\",\"outside left\",\"inside left\",\"outside right\",\"inside right\",\"outside bottom\",\"inside bottom\"],dflt:\"outside\",editType:\"calc\"},ticklabeloverflow:{valType:\"enumerated\",values:[\"allow\",\"hide past div\",\"hide past domain\"],editType:\"calc\"},mirror:{valType:\"enumerated\",values:[!0,\"ticks\",!1,\"all\",\"allticks\"],dflt:!1,editType:\"ticks+layoutstyle\"},ticklen:x(),tickwidth:b(),tickcolor:_,showticklabels:{valType:\"boolean\",dflt:!0,editType:\"ticks\"},automargin:{valType:\"boolean\",dflt:!1,editType:\"ticks\"},showspikes:{valType:\"boolean\",dflt:!1,editType:\"modebar\"},spikecolor:{valType:\"color\",dflt:null,editType:\"none\"},spikethickness:{valType:\"number\",dflt:3,editType:\"none\"},spikedash:o({},a,{dflt:\"dash\",editType:\"none\"}),spikemode:{valType:\"flaglist\",flags:[\"toaxis\",\"across\",\"marker\"],dflt:\"toaxis\",editType:\"none\"},spikesnap:{valType:\"enumerated\",values:[\"data\",\"cursor\",\"hovered data\"],dflt:\"hovered data\",editType:\"none\"},tickfont:n({editType:\"ticks\"}),tickangle:{valType:\"angle\",dflt:\"auto\",editType:\"ticks\"},tickprefix:{valType:\"string\",dflt:\"\",editType:\"ticks\"},showtickprefix:{valType:\"enumerated\",values:[\"all\",\"first\",\"last\",\"none\"],dflt:\"all\",editType:\"ticks\"},ticksuffix:{valType:\"string\",dflt:\"\",editType:\"ticks\"},showticksuffix:{valType:\"enumerated\",values:[\"all\",\"first\",\"last\",\"none\"],dflt:\"all\",editType:\"ticks\"},showexponent:{valType:\"enumerated\",values:[\"all\",\"first\",\"last\",\"none\"],dflt:\"all\",editType:\"ticks\"},exponentformat:{valType:\"enumerated\",values:[\"none\",\"e\",\"E\",\"power\",\"SI\",\"B\"],dflt:\"B\",editType:\"ticks\"},minexponent:{valType:\"number\",dflt:3,min:0,editType:\"ticks\"},separatethousands:{valType:\"boolean\",dflt:!1,editType:\"ticks\"},tickformat:{valType:\"string\",dflt:\"\",editType:\"ticks\",description:l(\"tick label\")},tickformatstops:s(\"tickformatstop\",{enabled:{valType:\"boolean\",dflt:!0,editType:\"ticks\"},dtickrange:{valType:\"info_array\",items:[{valType:\"any\",editType:\"ticks\"},{valType:\"any\",editType:\"ticks\"}],editType:\"ticks\"},value:{valType:\"string\",dflt:\"\",editType:\"ticks\"},editType:\"ticks\"}),hoverformat:{valType:\"string\",dflt:\"\",editType:\"none\",description:l(\"hover text\")},showline:{valType:\"boolean\",dflt:!1,editType:\"ticks+layoutstyle\"},linecolor:{valType:\"color\",dflt:i.defaultLine,editType:\"layoutstyle\"},linewidth:{valType:\"number\",min:0,dflt:1,editType:\"ticks+layoutstyle\"},showgrid:A,gridcolor:w,gridwidth:T(),griddash:k,zeroline:{valType:\"boolean\",editType:\"ticks\"},zerolinecolor:{valType:\"color\",dflt:i.defaultLine,editType:\"ticks\"},zerolinewidth:{valType:\"number\",dflt:1,editType:\"ticks\"},showdividers:{valType:\"boolean\",dflt:!0,editType:\"ticks\"},dividercolor:{valType:\"color\",dflt:i.defaultLine,editType:\"ticks\"},dividerwidth:{valType:\"number\",dflt:1,editType:\"ticks\"},anchor:{valType:\"enumerated\",values:[\"free\",u.idRegex.x.toString(),u.idRegex.y.toString()],editType:\"plot\"},side:{valType:\"enumerated\",values:[\"top\",\"bottom\",\"left\",\"right\"],editType:\"plot\"},overlaying:{valType:\"enumerated\",values:[\"free\",u.idRegex.x.toString(),u.idRegex.y.toString()],editType:\"plot\"},minor:{tickmode:p,nticks:d(\"minor\"),tick0:m,dtick:g,tickvals:v,ticks:y,ticklen:x(\"minor\"),tickwidth:b(\"minor\"),tickcolor:_,gridcolor:w,gridwidth:T(\"minor\"),griddash:k,showgrid:A,editType:\"ticks\"},layer:{valType:\"enumerated\",values:[\"above traces\",\"below traces\"],dflt:\"above traces\",editType:\"plot\"},domain:{valType:\"info_array\",items:[{valType:\"number\",min:0,max:1,editType:\"plot\"},{valType:\"number\",min:0,max:1,editType:\"plot\"}],dflt:[0,1],editType:\"plot\"},position:{valType:\"number\",min:0,max:1,dflt:0,editType:\"plot\"},categoryorder:{valType:\"enumerated\",values:[\"trace\",\"category ascending\",\"category descending\",\"array\",\"total ascending\",\"total descending\",\"min ascending\",\"min descending\",\"max ascending\",\"max descending\",\"sum ascending\",\"sum descending\",\"mean ascending\",\"mean descending\",\"median ascending\",\"median descending\"],dflt:\"trace\",editType:\"calc\"},categoryarray:{valType:\"data_array\",editType:\"calc\"},uirevision:{valType:\"any\",editType:\"none\"},editType:\"calc\",_deprecated:{autotick:{valType:\"boolean\",editType:\"ticks\"},title:{valType:\"string\",editType:\"ticks\"},titlefont:n({editType:\"ticks\"})}}},{\"../../components/color/attributes\":365,\"../../components/drawing/attributes\":387,\"../../constants/numerical\":479,\"../../lib/extend\":493,\"../../plot_api/plot_template\":543,\"../../plots/cartesian/axis_format_attributes\":557,\"../font_attributes\":585,\"./constants\":561}],570:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../components/color\"),a=t(\"../../components/fx/helpers\").isUnifiedHover,o=t(\"../../components/fx/hovermode_defaults\"),s=t(\"../../plot_api/plot_template\"),l=t(\"../layout_attributes\"),c=t(\"./layout_attributes\"),u=t(\"./type_defaults\"),f=t(\"./axis_defaults\"),h=t(\"./constraints\"),p=t(\"./position_defaults\"),d=t(\"./axis_ids\"),m=d.id2name,g=d.name2id,v=t(\"./constants\").AX_ID_PATTERN,y=t(\"../../registry\"),x=y.traceIs,b=y.getComponentMethod;function _(t,e,r){Array.isArray(t[e])?t[e].push(r):t[e]=[r]}e.exports=function(t,e,r){var y,w,T=e.autotypenumbers,k={},A={},M={},S={},E={},L={},C={},P={},I={},O={};for(y=0;y<r.length;y++){var z=r[y];if(x(z,\"cartesian\")||x(z,\"gl2d\")){var D,R;if(z.xaxis)D=m(z.xaxis),_(k,D,z);else if(z.xaxes)for(w=0;w<z.xaxes.length;w++)_(k,m(z.xaxes[w]),z);if(z.yaxis)R=m(z.yaxis),_(k,R,z);else if(z.yaxes)for(w=0;w<z.yaxes.length;w++)_(k,m(z.yaxes[w]),z);if(\"funnel\"===z.type?\"h\"===z.orientation?(D&&(A[D]=!0),R&&(C[R]=!0)):R&&(M[R]=!0):\"image\"===z.type?(R&&(P[R]=!0),D&&(P[D]=!0)):(R&&(E[R]=!0,L[R]=!0),x(z,\"carpet\")&&(\"carpet\"!==z.type||z._cheater)||D&&(S[D]=!0)),\"carpet\"===z.type&&z._cheater&&D&&(A[D]=!0),x(z,\"2dMap\")&&(I[D]=!0,I[R]=!0),x(z,\"oriented\"))O[\"h\"===z.orientation?R:D]=!0}}var F=e._subplots,B=F.xaxis,N=F.yaxis,j=n.simpleMap(B,m),U=n.simpleMap(N,m),V=j.concat(U),H=i.background;B.length&&N.length&&(H=n.coerce(t,e,l,\"plot_bgcolor\"));var q,G,Y,W,X,Z=i.combine(H,e.paper_bgcolor);function J(){var t=k[q]||[];X._traceIndices=t.map((function(t){return t._expandedIndex})),X._annIndices=[],X._shapeIndices=[],X._imgIndices=[],X._subplotsWith=[],X._counterAxes=[],X._name=X._attr=q,X._id=G}function K(t,e){return n.coerce(W,X,c,t,e)}function Q(t,e){return n.coerce2(W,X,c,t,e)}function $(t){return\"x\"===t?N:B}function tt(e,r){for(var n=\"x\"===e?j:U,i=[],a=0;a<n.length;a++){var o=n[a];o===r||(t[o]||{}).overlaying||i.push(g(o))}return i}var et={x:$(\"x\"),y:$(\"y\")},rt=et.x.concat(et.y),nt={},it=[];function at(){var t=W.matches;v.test(t)&&-1===rt.indexOf(t)&&(nt[t]=W.type,it=Object.keys(nt))}var ot=o(t,e),st=a(ot);for(y=0;y<V.length;y++){q=V[y],G=g(q),Y=q.charAt(0),n.isPlainObject(t[q])||(t[q]={}),W=t[q],X=s.newContainer(e,q,Y+\"axis\"),J();var lt=\"x\"===Y&&!S[q]&&A[q]||\"y\"===Y&&!E[q]&&M[q],ct=\"y\"===Y&&(!L[q]&&C[q]||P[q]),ut={hasMinor:!0,letter:Y,font:e.font,outerTicks:I[q],showGrid:!O[q],data:k[q]||[],bgColor:Z,calendar:e.calendar,automargin:!0,visibleDflt:lt,reverseDflt:ct,autotypenumbersDflt:T,splomStash:((e._splomAxes||{})[Y]||{})[G]};K(\"uirevision\",e.uirevision),u(W,X,K,ut),f(W,X,K,ut,e);var ft=st&&Y===ot.charAt(0),ht=Q(\"spikecolor\",st?X.color:void 0),pt=Q(\"spikethickness\",st?1.5:void 0),dt=Q(\"spikedash\",st?\"dot\":void 0),mt=Q(\"spikemode\",st?\"across\":void 0),gt=Q(\"spikesnap\");K(\"showspikes\",!!(ft||ht||pt||dt||mt||gt))||(delete X.spikecolor,delete X.spikethickness,delete X.spikedash,delete X.spikemode,delete X.spikesnap),p(W,X,K,{letter:Y,counterAxes:et[Y],overlayableAxes:tt(Y,q),grid:e.grid}),K(\"title.standoff\"),at(),X._input=W}for(y=0;y<it.length;){G=it[y++],Y=(q=m(G)).charAt(0),n.isPlainObject(t[q])||(t[q]={}),W=t[q],X=s.newContainer(e,q,Y+\"axis\"),J();var vt={letter:Y,font:e.font,outerTicks:I[q],showGrid:!O[q],data:[],bgColor:Z,calendar:e.calendar,automargin:!0,visibleDflt:!1,reverseDflt:!1,autotypenumbersDflt:T,splomStash:((e._splomAxes||{})[Y]||{})[G]};K(\"uirevision\",e.uirevision),X.type=nt[G]||\"linear\",f(W,X,K,vt,e),p(W,X,K,{letter:Y,counterAxes:et[Y],overlayableAxes:tt(Y,q),grid:e.grid}),K(\"fixedrange\"),at(),X._input=W}var yt=b(\"rangeslider\",\"handleDefaults\"),xt=b(\"rangeselector\",\"handleDefaults\");for(y=0;y<j.length;y++)q=j[y],W=t[q],X=e[q],yt(t,e,q),\"date\"===X.type&&xt(W,X,e,U,X.calendar),K(\"fixedrange\");for(y=0;y<U.length;y++){q=U[y],W=t[q],X=e[q];var bt=e[m(X.anchor)];K(\"fixedrange\",b(\"rangeslider\",\"isVisible\")(bt))}h.handleDefaults(t,e,{axIds:rt.concat(it).sort(d.idSort),axHasImage:P})}},{\"../../components/color\":366,\"../../components/fx/helpers\":402,\"../../components/fx/hovermode_defaults\":405,\"../../lib\":503,\"../../plot_api/plot_template\":543,\"../../registry\":638,\"../layout_attributes\":610,\"./axis_defaults\":556,\"./axis_ids\":558,\"./constants\":561,\"./constraints\":562,\"./layout_attributes\":569,\"./position_defaults\":572,\"./type_defaults\":582}],571:[function(t,e,r){\"use strict\";var n=t(\"tinycolor2\").mix,i=t(\"../../components/color/attributes\"),a=t(\"../../lib\");e.exports=function(t,e,r,o){var s=(o=o||{}).dfltColor;function l(r,n){return a.coerce2(t,e,o.attributes,r,n)}var c=l(\"linecolor\",s),u=l(\"linewidth\");r(\"showline\",o.showLine||!!c||!!u)||(delete e.linecolor,delete e.linewidth);var f=l(\"gridcolor\",n(s,o.bgColor,o.blend||i.lightFraction).toRgbString()),h=l(\"gridwidth\"),p=l(\"griddash\");if(r(\"showgrid\",o.showGrid||!!f||!!h||!!p)||(delete e.gridcolor,delete e.gridwidth,delete e.griddash),o.hasMinor){var d=l(\"minor.gridcolor\",n(e.gridcolor,o.bgColor,67).toRgbString()),m=l(\"minor.gridwidth\",e.gridwidth||1),g=l(\"minor.griddash\",e.griddash||\"solid\");r(\"minor.showgrid\",!!d||!!m||!!g)||(delete e.minor.gridcolor,delete e.minor.gridwidth,delete e.minor.griddash)}if(!o.noZeroLine){var v=l(\"zerolinecolor\",s),y=l(\"zerolinewidth\");r(\"zeroline\",o.showGrid||!!v||!!y)||(delete e.zerolinecolor,delete e.zerolinewidth)}}},{\"../../components/color/attributes\":365,\"../../lib\":503,tinycolor2:312}],572:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../../lib\");e.exports=function(t,e,r,a){var o,s,l,c,u=a.counterAxes||[],f=a.overlayableAxes||[],h=a.letter,p=a.grid;p&&(s=p._domains[h][p._axisMap[e._id]],o=p._anchors[e._id],s&&(l=p[h+\"side\"].split(\" \")[0],c=p.domain[h][\"right\"===l||\"top\"===l?1:0])),s=s||[0,1],o=o||(n(t.position)?\"free\":u[0]||\"free\"),l=l||(\"x\"===h?\"bottom\":\"left\"),c=c||0,\"free\"===i.coerce(t,e,{anchor:{valType:\"enumerated\",values:[\"free\"].concat(u),dflt:o}},\"anchor\")&&r(\"position\",c),i.coerce(t,e,{side:{valType:\"enumerated\",values:\"x\"===h?[\"bottom\",\"top\"]:[\"left\",\"right\"],dflt:l}},\"side\");var d=!1;if(f.length&&(d=i.coerce(t,e,{overlaying:{valType:\"enumerated\",values:[!1].concat(f),dflt:!1}},\"overlaying\")),!d){var m=r(\"domain\",s);m[0]>m[1]-1/4096&&(e.domain=s),i.noneOrAll(t.domain,e.domain,s)}return r(\"layer\"),e}},{\"../../lib\":503,\"fast-isnumeric\":190}],573:[function(t,e,r){\"use strict\";var n=t(\"./show_dflt\");e.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)}},{\"./show_dflt\":577}],574:[function(t,e,r){\"use strict\";var n=t(\"../../constants/alignment\").FROM_BL;e.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()}},{\"../../constants/alignment\":471}],575:[function(t,e,r){\"use strict\";var n=t(\"polybooljs\"),i=t(\"../../registry\"),a=t(\"../../components/drawing\").dashStyle,o=t(\"../../components/color\"),s=t(\"../../components/fx\"),l=t(\"../../components/fx/helpers\").makeEventData,c=t(\"../../components/dragelement/helpers\"),u=c.freeMode,f=c.rectMode,h=c.drawMode,p=c.openMode,d=c.selectMode,m=t(\"../../components/shapes/draw_newshape/display_outlines\"),g=t(\"../../components/shapes/draw_newshape/helpers\").handleEllipse,v=t(\"../../components/shapes/draw_newshape/newshapes\"),y=t(\"../../lib\"),x=t(\"../../lib/polygon\"),b=t(\"../../lib/throttle\"),_=t(\"./axis_ids\").getFromId,w=t(\"../../lib/clear_gl_canvases\"),T=t(\"../../plot_api/subroutines\").redrawReglTraces,k=t(\"./constants\"),A=k.MINSELECT,M=x.filter,S=x.tester,E=t(\"./handle_outline\").clearSelect,L=t(\"./helpers\"),C=L.p2r,P=L.axValue,I=L.getTransform;function O(t,e,r,n,i,a,o){var s,l,c,u,f,h,d,g,v,y=e._hoverdata,x=e._fullLayout.clickmode.indexOf(\"event\")>-1,b=[];if(function(t){return t&&Array.isArray(t)&&!0!==t[0].hoverOnBox}(y)){F(t,e,a);var _=function(t,e){var r,n,i=t[0],a=-1,o=[];for(n=0;n<e.length;n++)if(r=e[n],i.fullData._expandedIndex===r.cd[0].trace._expandedIndex){if(!0===i.hoverOnBox)break;void 0!==i.pointNumber?a=i.pointNumber:void 0!==i.binNumber&&(a=i.binNumber,o=i.pointNumbers);break}return{pointNumber:a,pointNumbers:o,searchInfo:r}}(y,s=N(e,r,n,i));if(_.pointNumbers.length>0?function(t,e){var r,n,i,a=[];for(i=0;i<t.length;i++)(r=t[i]).cd[0].trace.selectedpoints&&r.cd[0].trace.selectedpoints.length>0&&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;i<e.pointNumbers.length;i++)if(n.selectedpoints.indexOf(e.pointNumbers[i])<0)return!1;return!0}return!1}(s,_):function(t){var e,r,n,i=0;for(n=0;n<t.length;n++)if(e=t[n],(r=e.cd[0].trace).selectedpoints){if(r.selectedpoints.length>1)return!1;if((i+=r.selectedpoints.length)>1)return!1}return 1===i}(s)&&(h=j(_))){for(o&&o.remove(),v=0;v<s.length;v++)(l=s[v])._module.selectPoints(l,!1);U(e,s),B(a),x&&e.emit(\"plotly_deselect\",null)}else{for(d=t.shiftKey&&(void 0!==h?h:j(_)),c=function(t,e,r){return{pointNumber:t,searchInfo:e,subtract:r}}(_.pointNumber,_.searchInfo,d),u=R(a.selectionDefs.concat([c])),v=0;v<s.length;v++)if(f=V(s[v]._module.selectPoints(s[v],u),s[v]),b.length)for(var w=0;w<f.length;w++)b.push(f[w]);else b=f;if(U(e,s,g={points:b}),c&&a&&a.selectionDefs.push(c),o){var T=a.mergedPolygons,k=p(a.dragmode);m(H(T,k),o,a)}x&&e.emit(\"plotly_selected\",g)}}}function z(t){return\"pointNumber\"in t&&\"searchInfo\"in t}function D(t){return{xmin:0,xmax:0,ymin:0,ymax:0,pts:[],contains:function(e,r,n,i){var a=t.searchInfo.cd[0].trace._expandedIndex;return i.cd[0].trace._expandedIndex===a&&n===t.pointNumber},isRect:!1,degenerate:!1,subtract:t.subtract}}function R(t){for(var e=[],r=z(t[0])?0:t[0][0][0],n=r,i=z(t[0])?0:t[0][0][1],a=i,o=0;o<t.length;o++)if(z(t[o]))e.push(D(t[o]));else{var s=x.tester(t[o]);s.subtract=t[o].subtract,e.push(s),r=Math.min(r,s.xmin),n=Math.max(n,s.xmax),i=Math.min(i,s.ymin),a=Math.max(a,s.ymax)}return{xmin:r,xmax:n,ymin:i,ymax:a,pts:[],contains:function(t,r,n,i){for(var a=!1,o=0;o<e.length;o++)e[o].contains(t,r,n,i)&&(a=!1===e[o].subtract);return a},isRect:!1,degenerate:!1}}function F(t,e,r){e._fullLayout._drawing=!1;var n=e._fullLayout,i=r.plotinfo,a=r.dragmode,o=n._lastSelectedSubplot&&n._lastSelectedSubplot===i.id,s=(t.shiftKey||t.altKey)&&!(h(a)&&p(a));o&&s&&i.selection&&i.selection.selectionDefs&&!r.selectionDefs?(r.selectionDefs=i.selection.selectionDefs,r.mergedPolygons=i.selection.mergedPolygons):s&&i.selection||B(r),o||(E(e),n._lastSelectedSubplot=i.id)}function B(t){var e=t.dragmode,r=t.plotinfo,n=t.gd;if(n._fullLayout._activeShapeIndex>=0&&n._fullLayout._deactivateShape(n),h(e)){var a=n._fullLayout._zoomlayer.selectAll(\".select-outline-\"+r.id);if(a&&n._fullLayout._drawing){var o=v(a,t);o&&i.call(\"_guiRelayout\",n,{shapes:o}),n._fullLayout._drawing=!1}}r.selection={},r.selection.selectionDefs=t.selectionDefs=[],r.selection.mergedPolygons=t.mergedPolygons=[]}function N(t,e,r,n){var i,a,o,s=[],l=e.map((function(t){return t._id})),c=r.map((function(t){return t._id}));for(o=0;o<t.calcdata.length;o++)if(!0===(a=(i=t.calcdata[o])[0].trace).visible&&a._module&&a._module.selectPoints)if(!n||a.subplot!==n&&a.geo!==n)if(\"splom\"===a.type&&a._xaxes[l[0]]&&a._yaxes[c[0]]){var u=h(a._module,i,e[0],r[0]);u.scene=t._fullLayout._splomScenes[a.uid],s.push(u)}else if(\"sankey\"===a.type){var f=h(a._module,i,e[0],r[0]);s.push(f)}else{if(-1===l.indexOf(a.xaxis))continue;if(-1===c.indexOf(a.yaxis))continue;s.push(h(a._module,i,_(t,a.xaxis),_(t,a.yaxis)))}else s.push(h(a._module,i,e[0],r[0]));return s;function h(t,e,r,n){return{_module:t,cd:e,xaxis:r,yaxis:n}}}function j(t){var e=t.searchInfo.cd[0].trace,r=t.pointNumber,n=t.pointNumbers,i=n.length>0?n[0]:r;return!!e.selectedpoints&&e.selectedpoints.indexOf(i)>-1}function U(t,e,r){var n,a,o,s;for(n=0;n<e.length;n++){var l=e[n].cd[0].trace._fullInput,c=t._fullLayout._tracePreGUI[l.uid]||{};void 0===c.selectedpoints&&(c.selectedpoints=l._input.selectedpoints||null)}if(r){var u=r.points||[];for(n=0;n<e.length;n++)(s=e[n].cd[0].trace)._input.selectedpoints=s._fullInput.selectedpoints=[],s._fullInput!==s&&(s.selectedpoints=[]);for(n=0;n<u.length;n++){var f=u[n],h=f.data,p=f.fullData;f.pointIndices?([].push.apply(h.selectedpoints,f.pointIndices),s._fullInput!==s&&[].push.apply(p.selectedpoints,f.pointIndices)):(h.selectedpoints.push(f.pointIndex),s._fullInput!==s&&p.selectedpoints.push(f.pointIndex))}}else for(n=0;n<e.length;n++)delete(s=e[n].cd[0].trace).selectedpoints,delete s._input.selectedpoints,s._fullInput!==s&&delete s._fullInput.selectedpoints;var d=!1;for(n=0;n<e.length;n++){s=(o=(a=e[n]).cd)[0].trace,i.traceIs(s,\"regl\")&&(d=!0);var m=a._module,g=m.styleOnSelect||m.style;g&&(g(t,o,o[0].node3),o[0].nodeRangePlot3&&g(t,o,o[0].nodeRangePlot3))}d&&(w(t),T(t))}function V(t,e){if(Array.isArray(t))for(var r=e.cd,n=e.cd[0].trace,i=0;i<t.length;i++)t[i]=l(t[i],n,r);return t}function H(t,e){for(var r=[],n=0;n<t.length;n++){r[n]=[];for(var i=0;i<t[n].length;i++){r[n][i]=[],r[n][i][0]=i?\"L\":\"M\";for(var a=0;a<t[n][i].length;a++)r[n][i].push(t[n][i][a])}e||r[n].push([\"Z\",r[n][0][1],r[n][0][2]])}return r}e.exports={prepSelect:function(t,e,r,i,l){var c=u(l),v=f(l),x=p(l),_=h(l),w=d(l),T=\"drawcircle\"===l,E=\"drawline\"===l||T,L=i.gd,z=L._fullLayout,D=z._zoomlayer,j=i.element.getBoundingClientRect(),q=i.plotinfo,G=I(q),Y=e-j.left,W=r-j.top;z._calcInverseTransform(L);var X=y.apply3DTransform(z._invTransform)(Y,W);Y=X[0],W=X[1];var Z,J,K,Q,$,tt,et,rt=z._invScaleX,nt=z._invScaleY,it=Y,at=W,ot=\"M\"+Y+\",\"+W,st=i.xaxes[0]._length,lt=i.yaxes[0]._length,ct=i.xaxes.concat(i.yaxes),ut=t.altKey&&!(h(l)&&x);F(t,L,i),c&&(Z=M([[Y,W]],k.BENDPX));var ft=D.selectAll(\"path.select-outline-\"+q.id).data(_?[0]:[1,2]),ht=z.newshape;ft.enter().append(\"path\").attr(\"class\",(function(t){return\"select-outline select-outline-\"+t+\" select-outline-\"+q.id})).style(_?{opacity:ht.opacity/2,fill:x?void 0:ht.fillcolor,stroke:ht.line.color,\"stroke-dasharray\":a(ht.line.dash,ht.line.width),\"stroke-width\":ht.line.width+\"px\"}:{}).attr(\"fill-rule\",ht.fillrule).classed(\"cursor-move\",!!_).attr(\"transform\",G).attr(\"d\",ot+\"Z\");var pt,dt=D.append(\"path\").attr(\"class\",\"zoombox-corners\").style({fill:o.background,stroke:o.defaultLine,\"stroke-width\":1}).attr(\"transform\",G).attr(\"d\",\"M0,0Z\"),mt=z._uid+k.SELECTID,gt=[],vt=N(L,i.xaxes,i.yaxes,i.subplot);function yt(t,e){return t-e}pt=q.fillRangeItems?q.fillRangeItems:v?function(t,e){var r=t.range={};for($=0;$<ct.length;$++){var n=ct[$],i=n._id.charAt(0);r[n._id]=[C(n,e[i+\"min\"]),C(n,e[i+\"max\"])].sort(yt)}}:function(t,e,r){var n=t.lassoPoints={};for($=0;$<ct.length;$++){var i=ct[$];n[i._id]=r.filtered.map(P(i))}},i.moveFn=function(t,e){it=Math.max(0,Math.min(st,rt*t+Y)),at=Math.max(0,Math.min(lt,nt*e+W));var r=Math.abs(it-Y),a=Math.abs(at-W);if(v){var o,s,l;if(w){var u=z.selectdirection;switch(o=\"any\"===u?a<Math.min(.6*r,A)?\"h\":r<Math.min(.6*a,A)?\"v\":\"d\":u){case\"h\":s=T?lt/2:0,l=lt;break;case\"v\":s=T?st/2:0,l=st}}if(_)switch(z.newshape.drawdirection){case\"vertical\":o=\"h\",s=T?lt/2:0,l=lt;break;case\"horizontal\":o=\"v\",s=T?st/2:0,l=st;break;case\"ortho\":r<a?(o=\"h\",s=W,l=at):(o=\"v\",s=Y,l=it);break;default:o=\"d\"}\"h\"===o?((Q=E?g(T,[it,s],[it,l]):[[Y,s],[Y,l],[it,l],[it,s]]).xmin=E?it:Math.min(Y,it),Q.xmax=E?it:Math.max(Y,it),Q.ymin=Math.min(s,l),Q.ymax=Math.max(s,l),dt.attr(\"d\",\"M\"+Q.xmin+\",\"+(W-A)+\"h-4v\"+2*A+\"h4ZM\"+(Q.xmax-1)+\",\"+(W-A)+\"h4v\"+2*A+\"h-4Z\")):\"v\"===o?((Q=E?g(T,[s,at],[l,at]):[[s,W],[s,at],[l,at],[l,W]]).xmin=Math.min(s,l),Q.xmax=Math.max(s,l),Q.ymin=E?at:Math.min(W,at),Q.ymax=E?at:Math.max(W,at),dt.attr(\"d\",\"M\"+(Y-A)+\",\"+Q.ymin+\"v-4h\"+2*A+\"v4ZM\"+(Y-A)+\",\"+(Q.ymax-1)+\"v4h\"+2*A+\"v-4Z\")):\"d\"===o&&((Q=E?g(T,[Y,W],[it,at]):[[Y,W],[Y,at],[it,at],[it,W]]).xmin=Math.min(Y,it),Q.xmax=Math.max(Y,it),Q.ymin=Math.min(W,at),Q.ymax=Math.max(W,at),dt.attr(\"d\",\"M0,0Z\"))}else c&&(Z.addPt([it,at]),Q=Z.filtered);i.selectionDefs&&i.selectionDefs.length?(K=function(t,e,r){if(r)return n.difference({regions:t,inverted:!1},{regions:[e],inverted:!1}).regions;return n.union({regions:t,inverted:!1},{regions:[e],inverted:!1}).regions}(i.mergedPolygons,Q,ut),Q.subtract=ut,J=R(i.selectionDefs.concat([Q]))):(K=[Q],J=S(Q)),m(H(K,x),ft,i),w&&b.throttle(mt,k.SELECTDELAY,(function(){var t;gt=[];var e,r=[];for($=0;$<vt.length;$++)if(e=(tt=vt[$])._module.selectPoints(tt,J),r.push(e),t=V(e,tt),gt.length)for(var n=0;n<t.length;n++)gt.push(t[n]);else gt=t;U(L,vt,et={points:gt}),pt(et,Q,Z),i.gd.emit(\"plotly_selecting\",et)}))},i.clickFn=function(t,e){if(dt.remove(),L._fullLayout._activeShapeIndex>=0)L._fullLayout._deactivateShape(L);else if(!_){var r=z.clickmode;b.done(mt).then((function(){if(b.clear(mt),2===t){for(ft.remove(),$=0;$<vt.length;$++)(tt=vt[$])._module.selectPoints(tt,!1);U(L,vt),B(i),L.emit(\"plotly_deselect\",null)}else r.indexOf(\"select\")>-1&&O(e,L,i.xaxes,i.yaxes,i.subplot,i,ft),\"event\"===r&&L.emit(\"plotly_selected\",void 0);s.click(L,e)})).catch(y.error)}},i.doneFn=function(){dt.remove(),b.done(mt).then((function(){b.clear(mt),i.gd.emit(\"plotly_selected\",et),Q&&i.selectionDefs&&(Q.subtract=ut,i.selectionDefs.push(Q),i.mergedPolygons.length=0,[].push.apply(i.mergedPolygons,K)),i.doneFnCompleted&&i.doneFnCompleted(gt)})).catch(y.error),_&&B(i)}},clearSelect:E,clearSelectionsCache:B,selectOnClick:O}},{\"../../components/color\":366,\"../../components/dragelement/helpers\":384,\"../../components/drawing\":388,\"../../components/fx\":406,\"../../components/fx/helpers\":402,\"../../components/shapes/draw_newshape/display_outlines\":454,\"../../components/shapes/draw_newshape/helpers\":455,\"../../components/shapes/draw_newshape/newshapes\":456,\"../../lib\":503,\"../../lib/clear_gl_canvases\":487,\"../../lib/polygon\":515,\"../../lib/throttle\":530,\"../../plot_api/subroutines\":544,\"../../registry\":638,\"./axis_ids\":558,\"./constants\":561,\"./handle_outline\":565,\"./helpers\":566,polybooljs:254}],576:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"d3-time-format\").utcFormat,a=t(\"../../lib\"),o=a.numberFormat,s=t(\"fast-isnumeric\"),l=a.cleanNumber,c=a.ms2DateTime,u=a.dateTime2ms,f=a.ensureNumber,h=a.isArrayOrTypedArray,p=t(\"../../constants/numerical\"),d=p.FP_SAFE,m=p.BADNUM,g=p.LOG_CLIP,v=p.ONEWEEK,y=p.ONEDAY,x=p.ONEHOUR,b=p.ONEMIN,_=p.ONESEC,w=t(\"./axis_ids\"),T=t(\"./constants\"),k=T.HOUR_PATTERN,A=T.WEEKDAY_PATTERN;function M(t){return Math.pow(10,t)}function S(t){return null!=t}e.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 L(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 C(e,r,n){return c(e,r,n||t.calendar)}function P(e){return t._categories[Math.round(e)]}function I(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 O(e){if(t._categoriesMap)return t._categoriesMap[e]}function z(t){var e=O(t);return void 0!==e?e:s(t)?+t:void 0}function D(t){return s(t)?+t:O(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;l<r;l++){var c=i*t._rangebreaks[l].min,u=i*t._rangebreaks[l].max;if(a<c)break;if(!(a>u)){o=a<(c+u)/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;i<r&&!(e<t._rangebreaks[i].pmin);i++)e>t._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,m,t.calendar)}):\"category\"===t.type?(t.d2c=t.d2l=I,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=O,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 c in l)if(c!==r){var u=e[w.id2name(c)];s=s.concat(u._traceIndices)}var f=[[0,{}],[0,{}]],d=[];for(i=0;i<s.length;i++){var m=n[s[i]];if(p in m){var g=m[p],v=m._length||a.minRowLength(g);if(h(g[0])&&h(g[1]))for(o=0;o<v;o++){var y=g[0][o],x=g[1][o];S(y)&&S(x)&&(d.push([y,x]),y in f[0][1]||(f[0][1][y]=f[0][0]++),x in f[1][1]||(f[1][1][x]=f[1][0]++))}}}for(d.sort((function(t,e){var r=f[0][1],n=r[t[0]]-r[e[0]];if(n)return n;var i=f[1][1];return i[t[1]]-i[e[1]]})),i=0;i<d.length;i++)I(d[i])}),t.fraction2r=function(e){var r=t.r2l(t.range[0]),n=t.r2l(t.range[1]);return t.l2r(r+e*(n-r))},t.r2fraction=function(e){var r=t.r2l(t.range[0]),n=t.r2l(t.range[1]);return(t.r2l(e)-r)/(n-r)},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)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 l=a.constrain(t.r2l(o[0]),a.MIN_MS+1e3,a.MAX_MS-1e3);o[0]=t.l2r(l-1e3),o[1]=t.l2r(l+1e3);break}}else{if(!s(o[n])){if(!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 c=Math.max(1,Math.abs(1e-6*o[0]));o[0]-=c,o[1]+=c}}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),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/(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;s<t._rangebreaks.length;s++)l=t._rangebreaks[s],t._lBreaks+=Math.abs(l.max-l.min);var h=f;c>u&&(h=!h),h&&t._rangebreaks.reverse();var d=h?-1:1;for(t._m2=d*t._length/(Math.abs(u-c)-t._lBreaks),t._B.push(-t._m2*(f?u:c)),s=0;s<t._rangebreaks.length;s++)l=t._rangebreaks[s],t._B.push(t._B[t._B.length-1]-d*t._m2*(l.max-l.min));for(s=0;s<t._rangebreaks.length;s++)(l=t._rangebreaks[s]).pmin=B(l.min),l.pmax=B(l.max)}if(!isFinite(t._m)||!isFinite(t._b)||t._length<0)throw e._replotting=!1,new Error(\"Something went wrong with axis scaling\")},t.maskBreaks=function(e){var r,n,i,o,s,c=t.rangebreaks||[];c._cachedPatterns||(c._cachedPatterns=c.map((function(e){return e.enabled&&e.bounds?a.simpleMap(e.bounds,e.pattern?l:t.d2c):null}))),c._cachedValues||(c._cachedValues=c.map((function(e){return e.enabled&&e.values?a.simpleMap(e.values,t.d2c).sort(a.sorterAsc):null})));for(var u=0;u<c.length;u++){var f=c[u];if(f.enabled)if(f.bounds){var h=f.pattern;switch(n=(r=c._cachedPatterns[u])[0],i=r[1],h){case A:o=(s=new Date(e)).getUTCDay(),n>i&&(i+=7,o<n&&(o+=7));break;case k:o=(s=new Date(e)).getUTCHours()+(s.getUTCMinutes()/60+s.getUTCSeconds()/3600+s.getUTCMilliseconds()/36e5),n>i&&(i+=24,o<n&&(o+=24));break;case\"\":o=e}if(o>=n&&o<i)return m}else for(var p=c._cachedValues[u],d=0;d<p.length;d++)if(i=(n=p[d])+f.dvalue,e>=n&&e<i)return m}return e},t.locateBreaks=function(e,r){var n,i,o,s,c=[];if(!t.rangebreaks)return c;var u=t.rangebreaks.slice().sort((function(t,e){return t.pattern===A&&e.pattern===k?-1:e.pattern===A&&t.pattern===k?1:0})),f=function(t,n){if((t=a.constrain(t,e,r))!==(n=a.constrain(n,e,r))){for(var i=!0,o=0;o<c.length;o++){var s=c[o];t<s.max&&n>=s.min&&(t<s.min&&(s.min=t),n>s.max&&(s.max=n),i=!1)}i&&c.push({min:t,max:n})}};for(n=0;n<u.length;n++){var h=u[n];if(h.enabled)if(h.bounds){var p=e,d=r;h.pattern&&(p=Math.floor(p)),o=(i=a.simpleMap(h.bounds,h.pattern?l:t.r2l))[0],s=i[1];var m,g,w=new Date(p);switch(h.pattern){case A:g=v,m=(s-o+(s<o?7:0))*y,p+=o*y-(w.getUTCDay()*y+w.getUTCHours()*x+w.getUTCMinutes()*b+w.getUTCSeconds()*_+w.getUTCMilliseconds());break;case k:g=y,m=(s-o+(s<o?24:0))*x,p+=o*x-(w.getUTCHours()*x+w.getUTCMinutes()*b+w.getUTCSeconds()*_+w.getUTCMilliseconds());break;default:p=Math.min(i[0],i[1]),m=g=(d=Math.max(i[0],i[1]))-p}for(var T=p;T<d;T+=g)f(T,T+m)}else for(var M=a.simpleMap(h.values,t.d2c),S=0;S<M.length;S++)f(o=M[S],s=o+h.dvalue)}return c.sort((function(t,e){return t.min-e.min})),c},t.makeCalcdata=function(e,r,n){var i,o,s,l,c=t.type,u=\"date\"===c&&e[r+\"calendar\"];if(r in e){if(i=e[r],l=e._length||a.minRowLength(i),a.isTypedArray(i)&&(\"linear\"===c||\"log\"===c)){if(l===i.length)return i;if(i.subarray)return i.subarray(0,l)}if(\"multicategory\"===c)return function(t,e){for(var r=new Array(e),n=0;n<e;n++){var i=(t[0]||[])[n],a=(t[1]||[])[n];r[n]=O([i,a])}return r}(i,l);for(o=new Array(l),s=0;s<l;s++)o[s]=t.d2c(i[s],0,u,n)}else{var f=r+\"0\"in e?t.d2c(e[r+\"0\"],0,u):0,h=e[\"d\"+r]?Number(e[\"d\"+r]):1;for(i=e[{x:\"y\",y:\"x\"}[r]],l=e._length||i.length,o=new Array(l),s=0;s<l;s++)o[s]=f+s*h}if(t.rangebreaks)for(s=0;s<l;s++)o[s]=t.maskBreaks(o[s]);return o},t.isValidRange=function(e){return Array.isArray(e)&&2===e.length&&s(t.r2l(e[0]))&&s(t.r2l(e[1]))},t.isPtWithinRange=function(e,r){var n=t.c2l(e[p],null,r),i=t.r2l(t.range[0]),a=t.r2l(t.range[1]);return i<a?i<=n&&n<=a:a<=n&&n<=i},t._emptyCategories=function(){t._categories=[],t._categoriesMap={}},t.clearCalc=function(){var r=t._matchGroup;if(r){var n=null,i=null;for(var a in r){var o=e[w.id2name(a)];if(o._categories){n=o._categories,i=o._categoriesMap;break}}n&&i?(t._categories=n,t._categoriesMap=i):t._emptyCategories()}else t._emptyCategories();if(t._initialCategories)for(var s=0;s<t._initialCategories.length;s++)I(t._initialCategories[s])},t.sortByInitialCategories=function(){var n=[];if(t._emptyCategories(),t._initialCategories)for(var i=0;i<t._initialCategories.length;i++)I(t._initialCategories[i]);n=n.concat(t._traceIndices);var a=t._matchGroup;for(var o in a)if(r!==o){var s=e[w.id2name(o)];s._categories=t._categories,s._categoriesMap=t._categoriesMap,n=n.concat(s._traceIndices)}return n};var U=e._d3locale;\"date\"===t.type&&(t._dateFormat=U?U.timeFormat:i,t._extraFormat=e._extraFormat),t._separators=e.separators,t._numFormat=U?U.numberFormat:o,delete t._minDtick,delete t._forceTick0}},{\"../../constants/numerical\":479,\"../../lib\":503,\"./axis_ids\":558,\"./constants\":561,\"@plotly/d3\":58,\"d3-time-format\":120,\"fast-isnumeric\":190}],577:[function(t,e,r){\"use strict\";e.exports=function(t){var e=[\"showexponent\",\"showtickprefix\",\"showticksuffix\"].filter((function(e){return void 0!==t[e]}));if(e.every((function(r){return t[r]===t[e[0]]}))||1===e.length)return t[e[0]]}},{}],578:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../components/color\").contrast,a=t(\"./layout_attributes\"),o=t(\"./show_dflt\"),s=t(\"../array_container_defaults\");function l(t,e){function r(r,i){return n.coerce(t,e,a.tickformatstops,r,i)}r(\"enabled\")&&(r(\"dtickrange\"),r(\"value\"))}e.exports=function(t,e,r,c,u){u||(u={});var f=o(t);if(r(\"showticklabels\")){var h=u.font||{},p=e.color,d=-1!==(e.ticklabelposition||\"\").indexOf(\"inside\")?i(u.bgColor):p&&p!==a.color.dflt?p:h.color;if(n.coerceFont(r,\"tickfont\",{family:h.family,size:h.size,color:d}),u.noTicklabelstep||\"multicategory\"===c||\"log\"===c||r(\"ticklabelstep\"),u.noAng||r(\"tickangle\"),\"category\"!==c){var m=r(\"tickformat\");s(t,e,{name:\"tickformatstops\",inclusionAttr:\"enabled\",handleItemDefaults:l}),e.tickformatstops.length||delete e.tickformatstops,u.noExp||m||\"date\"===c||(r(\"showexponent\",f),r(\"exponentformat\"),r(\"minexponent\"),r(\"separatethousands\"))}}}},{\"../../components/color\":366,\"../../lib\":503,\"../array_container_defaults\":549,\"./layout_attributes\":569,\"./show_dflt\":577}],579:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./layout_attributes\");e.exports=function(t,e,r,a){var o=a.isMinor,s=o?t.minor||{}:t,l=o?e.minor:e,c=o?i.minor:i,u=o?\"minor.\":\"\",f=n.coerce2(s,l,c,\"ticklen\",o?.6*(e.ticklen||5):void 0),h=n.coerce2(s,l,c,\"tickwidth\",o?e.tickwidth||1:void 0),p=n.coerce2(s,l,c,\"tickcolor\",(o?e.tickcolor:void 0)||l.color);r(u+\"ticks\",!o&&a.outerTicks||f||h||p?\"outside\":\"\")||(delete l.ticklen,delete l.tickwidth,delete l.tickcolor)}},{\"../../lib\":503,\"./layout_attributes\":569}],580:[function(t,e,r){\"use strict\";var n=t(\"./clean_ticks\"),i=t(\"../../lib\").isArrayOrTypedArray;e.exports=function(t,e,r,a,o){o||(o={});var s=o.isMinor,l=s?t.minor||{}:t,c=s?e.minor:e,u=s?\"minor.\":\"\";function f(t){var e=l[t];return void 0!==e?e:(c._template||{})[t]}var h=f(\"tick0\"),p=f(\"dtick\"),d=f(\"tickvals\"),m=r(u+\"tickmode\",i(d)?\"array\":p?\"linear\":\"auto\");if(\"auto\"===m)r(u+\"nticks\");else if(\"linear\"===m){var g=c.dtick=n.dtick(p,a);c.tick0=n.tick0(h,a,e.calendar,g)}else if(\"multicategory\"!==a){void 0===r(u+\"tickvals\")?c.tickmode=\"auto\":s||r(\"ticktext\")}}},{\"../../lib\":503,\"./clean_ticks\":560}],581:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../../registry\"),a=t(\"../../lib\"),o=t(\"../../components/drawing\"),s=t(\"./axes\");e.exports=function(t,e,r,l){var c=t._fullLayout;if(0!==e.length){var u,f,h,p;l&&(u=l());var d=n.ease(r.easing);return t._transitionData._interruptCallbacks.push((function(){return window.cancelAnimationFrame(p),p=null,function(){for(var r={},n=0;n<e.length;n++){var a=e[n],o=a.plotinfo.xaxis,s=a.plotinfo.yaxis;a.xr0&&(r[o._name+\".range\"]=a.xr0.slice()),a.yr0&&(r[s._name+\".range\"]=a.yr0.slice())}return i.call(\"relayout\",t,r).then((function(){for(var t=0;t<e.length;t++)m(e[t].plotinfo)}))}()})),f=Date.now(),p=window.requestAnimationFrame((function n(){h=Date.now();for(var a=Math.min(1,(h-f)/r.duration),o=d(a),s=0;s<e.length;s++)g(e[s],o);h-f>r.duration?(!function(){for(var r={},n=0;n<e.length;n++){var a=e[n],o=a.plotinfo.xaxis,s=a.plotinfo.yaxis;a.xr1&&(r[o._name+\".range\"]=a.xr1.slice()),a.yr1&&(r[s._name+\".range\"]=a.yr1.slice())}u&&u(),i.call(\"relayout\",t,r).then((function(){for(var t=0;t<e.length;t++)m(e[t].plotinfo)}))}(),p=window.cancelAnimationFrame(n)):p=window.requestAnimationFrame(n)})),Promise.resolve()}function m(t){var e=t.xaxis,r=t.yaxis;c._defs.select(\"#\"+t.clipId+\"> 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,f=!!e.xr1,h=!!e.yr1,p=[];if(f){var d=a.simpleMap(e.xr0,i.r2l),m=a.simpleMap(e.xr1,i.r2l),g=d[1]-d[0],v=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*v/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(h){var y=a.simpleMap(e.yr0,l.r2l),x=a.simpleMap(e.yr1,l.r2l),b=y[1]-y[0],_=x[1]-x[0];p[1]=(y[1]*(1-r)+r*x[1]-y[1])/(y[0]-y[1])*u,p[3]=u*(1-r+r*_/b),l.range[0]=i.l2r(y[0]*(1-r)+r*x[0]),l.range[1]=l.l2r(y[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=f?c/p[2]:1,T=h?u/p[3]:1,k=f?p[0]:0,A=h?p[1]:0,M=f?p[0]/p[2]*c:0,S=h?p[1]/p[3]*u: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)}},{\"../../components/drawing\":388,\"../../lib\":503,\"../../registry\":638,\"./axes\":554,\"@plotly/d3\":58}],582:[function(t,e,r){\"use strict\";var n=t(\"../../registry\").traceIs,i=t(\"./axis_autotype\");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\"]}e.exports=function(t,e,r,s){r(\"autotypenumbers\",s.autotypenumbersDflt),\"-\"===r(\"type\",(s.splomStash||{}).type)&&(!function(t,e){if(\"-\"!==t.type)return;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;n<t.length;n++){var i=t[n];if(\"splom\"===i.type&&i._length>0&&(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)return;if(\"histogram\"===c.type&&l==={v:\"y\",h:\"x\"}[c.orientation||\"v\"])return void(t.type=\"linear\");var u=l+\"calendar\",f=c[u],h={noMultiCategory:!n(c,\"cartesian\")||n(c,\"noMultiCategory\")};\"box\"===c.type&&c._hasPreCompStats&&l==={h:\"x\",v:\"y\"}[c.orientation||\"v\"]&&(h.noMultiCategory=!0);if(h.autotypenumbers=t.autotypenumbers,o(c,l)){var p=a(c),d=[];for(r=0;r<e.length;r++){var m=e[r];n(m,\"box-violin\")&&(m[l+\"axis\"]||l)===s&&(void 0!==m[p]?d.push(m[p][0]):void 0!==m.name?d.push(m.name):d.push(\"text\"),m[u]!==f&&(f=void 0))}t.type=i(d,f,h)}else if(\"splom\"===c.type){var g=c.dimensions[c._axesDim[s]];g.visible&&(t.type=i(g.values,f,h))}else t.type=i(c[l]||[c[l+\"0\"]],f,h)}(e,s.data),\"-\"===e.type?e.type=\"linear\":t.type=e.type)}},{\"../../registry\":638,\"./axis_autotype\":555}],583:[function(t,e,r){\"use strict\";var n=t(\"../registry\"),i=t(\"../lib\");function a(t,e,r){var n,a,o,s=!1;if(\"data\"===e.type)n=t._fullData[null!==e.traces?e.traces[0]:0];else{if(\"layout\"!==e.type)return!1;n=t._fullLayout}return a=i.nestedProperty(n,e.prop).get(),(o=r[e.type]=r[e.type]||{}).hasOwnProperty(e.prop)&&o[e.prop]!==a&&(s=!0),o[e.prop]=a,{changed:s,value:a}}function o(t,e){var r=[],n=e[0],a={};if(\"string\"==typeof n)a[n]=e[1];else{if(!i.isPlainObject(n))return r;a=n}return l(a,(function(t,e,n){r.push({type:\"layout\",prop:t,value:n})}),\"\",0),r}function s(t,e){var r,n,a,o,s=[];if(n=e[0],a=e[1],r=e[2],o={},\"string\"==typeof n)o[n]=a;else{if(!i.isPlainObject(n))return s;o=n,void 0===r&&(r=a)}return void 0===r&&(r=null),l(o,(function(e,n,i){var a,o;if(Array.isArray(i)){o=i.slice();var l=Math.min(o.length,t.data.length);r&&(l=Math.min(l,r.length)),a=[];for(var c=0;c<l;c++)a[c]=r?r[c]:c}else o=i,a=r?r.slice():null;if(null===a)Array.isArray(o)&&(o=o[0]);else if(Array.isArray(a)){if(!Array.isArray(o)){var u=o;o=[];for(var f=0;f<a.length;f++)o[f]=u}o.length=Math.min(a.length,o.length)}s.push({type:\"data\",prop:e,traces:a,value:o})}),\"\",0),s}function l(t,e,r,n){Object.keys(t).forEach((function(a){var o=t[a];if(\"_\"!==a[0]){var s=r+(n>0?\".\":\"\")+a;i.isPlainObject(o)?l(o,e,s,n+1):e(s,a,o)}}))}r.manageCommandObserver=function(t,e,n,o){var s={},l=!0;e&&e._commandObserver&&(s=e._commandObserver),s.cache||(s.cache={}),s.lookupTable={};var c=r.hasSimpleAPICommandBindings(t,n,s.lookupTable);if(e&&e._commandObserver){if(c)return s;if(e._commandObserver.remove)return e._commandObserver.remove(),e._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\"],f=0;f<u.length;f++)t._internalOn(u[f],s.check);s.remove=function(){for(var e=0;e<u.length;e++)t._removeInternalListener(u[e],s.check)}}else i.log(\"Unable to automatically bind plot updates to API command\"),s.lookupTable={},s.remove=function(){};return s.disable=function(){l=!1},s.enable=function(){l=!0},e&&(e._commandObserver=s),s},r.hasSimpleAPICommandBindings=function(t,e,n){var i,a,o=e.length;for(i=0;i<o;i++){var s,l=e[i],c=l.method,u=l.args;if(Array.isArray(u)||(u=[]),!c)return!1;var f=r.computeAPICommandBindings(t,c,u);if(1!==f.length)return!1;if(a){if((s=f[0]).type!==a.type)return!1;if(s.prop!==a.prop)return!1;if(Array.isArray(a.traces)){if(!Array.isArray(s.traces))return!1;s.traces.sort();for(var h=0;h<a.traces.length;h++)if(a.traces[h]!==s.traces[h])return!1}else if(s.prop!==a.prop)return!1}else a=f[0],Array.isArray(a.traces)&&a.traces.sort();var p=(s=f[0]).value;if(Array.isArray(p)){if(1!==p.length)return!1;p=p[0]}n&&(n[p]=i)}return a},r.executeAPICommand=function(t,e,r){if(\"skip\"===e)return Promise.resolve();var a=n.apiMethodRegistry[e],o=[t];Array.isArray(r)||(r=[]);for(var s=0;s<r.length;s++)o.push(r[s]);return a.apply(null,o).catch((function(t){return i.warn(\"API call to Plotly.\"+e+\" rejected.\",t),Promise.reject(t)}))},r.computeAPICommandBindings=function(t,e,r){var n;switch(Array.isArray(r)||(r=[]),e){case\"restyle\":n=s(t,r);break;case\"relayout\":n=o(t,r);break;case\"update\":n=s(t,[r[0],r[2]]).concat(o(t,[r[1]]));break;case\"animate\":n=function(t,e){return Array.isArray(e[0])&&1===e[0].length&&-1!==[\"string\",\"number\"].indexOf(typeof e[0][0])?[{type:\"layout\",prop:\"_currentFrame\",value:e[0][0].toString()}]:[]}(0,r);break;default:n=[]}return n}},{\"../lib\":503,\"../registry\":638}],584:[function(t,e,r){\"use strict\";var n=t(\"../lib/extend\").extendFlat;r.attributes=function(t,e){e=e||{};var r={valType:\"info_array\",editType:(t=t||{}).editType,items:[{valType:\"number\",min:0,max:1,editType:t.editType},{valType:\"number\",min:0,max:1,editType:t.editType}],dflt:[0,1]},i=(t.name&&t.name,t.trace,e.description&&e.description,{x:n({},r,{}),y:n({},r,{}),editType:t.editType});return t.noGridCell||(i.row={valType:\"integer\",min:0,dflt:0,editType:t.editType},i.column={valType:\"integer\",min:0,dflt:0,editType:t.editType}),i},r.defaults=function(t,e,r,n){var i=n&&n.x||[0,1],a=n&&n.y||[0,1],o=e.grid;if(o){var s=r(\"domain.column\");void 0!==s&&(s<o.columns?i=o._domains.x[s]:delete t.domain.column);var l=r(\"domain.row\");void 0!==l&&(l<o.rows?a=o._domains.y[l]:delete t.domain.row)}var c=r(\"domain.x\",i),u=r(\"domain.y\",a);c[0]<c[1]||(t.domain.x=i.slice()),u[0]<u[1]||(t.domain.y=a.slice())}},{\"../lib/extend\":493}],585:[function(t,e,r){\"use strict\";e.exports=function(t){var e=t.editType,r=t.colorEditType;void 0===r&&(r=e);var n={family:{valType:\"string\",noBlank:!0,strict:!0,editType:e},size:{valType:\"number\",min:1,editType:e},color:{valType:\"color\",editType:r},editType:e};return t.autoSize&&(n.size.dflt=\"auto\"),t.autoColor&&(n.color.dflt=\"auto\"),t.arrayOk&&(n.family.arrayOk=!0,n.size.arrayOk=!0,n.color.arrayOk=!0),n}},{}],586:[function(t,e,r){\"use strict\";e.exports={_isLinkedToArray:\"frames_entry\",group:{valType:\"string\"},name:{valType:\"string\"},traces:{valType:\"any\"},baseframe:{valType:\"string\"},data:{valType:\"any\"},layout:{valType:\"any\"}}},{}],587:[function(t,e,r){\"use strict\";r.projNames={airy:\"airy\",aitoff:\"aitoff\",\"albers usa\":\"albersUsa\",albers:\"albers\",august:\"august\",\"azimuthal equal area\":\"azimuthalEqualArea\",\"azimuthal equidistant\":\"azimuthalEquidistant\",baker:\"baker\",bertin1953:\"bertin1953\",boggs:\"boggs\",bonne:\"bonne\",bottomley:\"bottomley\",bromley:\"bromley\",collignon:\"collignon\",\"conic conformal\":\"conicConformal\",\"conic equal area\":\"conicEqualArea\",\"conic equidistant\":\"conicEquidistant\",craig:\"craig\",craster:\"craster\",\"cylindrical equal area\":\"cylindricalEqualArea\",\"cylindrical stereographic\":\"cylindricalStereographic\",eckert1:\"eckert1\",eckert2:\"eckert2\",eckert3:\"eckert3\",eckert4:\"eckert4\",eckert5:\"eckert5\",eckert6:\"eckert6\",eisenlohr:\"eisenlohr\",equirectangular:\"equirectangular\",fahey:\"fahey\",\"foucaut sinusoidal\":\"foucautSinusoidal\",foucaut:\"foucaut\",ginzburg4:\"ginzburg4\",ginzburg5:\"ginzburg5\",ginzburg6:\"ginzburg6\",ginzburg8:\"ginzburg8\",ginzburg9:\"ginzburg9\",gnomonic:\"gnomonic\",\"gringorten quincuncial\":\"gringortenQuincuncial\",gringorten:\"gringorten\",guyou:\"guyou\",hammer:\"hammer\",hill:\"hill\",homolosine:\"homolosine\",hufnagel:\"hufnagel\",hyperelliptical:\"hyperelliptical\",kavrayskiy7:\"kavrayskiy7\",lagrange:\"lagrange\",larrivee:\"larrivee\",laskowski:\"laskowski\",loximuthal:\"loximuthal\",mercator:\"mercator\",miller:\"miller\",mollweide:\"mollweide\",\"mt flat polar parabolic\":\"mtFlatPolarParabolic\",\"mt flat polar quartic\":\"mtFlatPolarQuartic\",\"mt flat polar sinusoidal\":\"mtFlatPolarSinusoidal\",\"natural earth\":\"naturalEarth\",\"natural earth1\":\"naturalEarth1\",\"natural earth2\":\"naturalEarth2\",\"nell hammer\":\"nellHammer\",nicolosi:\"nicolosi\",orthographic:\"orthographic\",patterson:\"patterson\",\"peirce quincuncial\":\"peirceQuincuncial\",polyconic:\"polyconic\",\"rectangular polyconic\":\"rectangularPolyconic\",robinson:\"robinson\",satellite:\"satellite\",\"sinu mollweide\":\"sinuMollweide\",sinusoidal:\"sinusoidal\",stereographic:\"stereographic\",times:\"times\",\"transverse mercator\":\"transverseMercator\",\"van der grinten\":\"vanDerGrinten\",\"van der grinten2\":\"vanDerGrinten2\",\"van der grinten3\":\"vanDerGrinten3\",\"van der grinten4\":\"vanDerGrinten4\",wagner4:\"wagner4\",wagner6:\"wagner6\",wiechel:\"wiechel\",\"winkel tripel\":\"winkel3\",winkel3:\"winkel3\"},r.axesNames=[\"lonaxis\",\"lataxis\"],r.lonaxisSpan={orthographic:180,\"azimuthal equal area\":360,\"azimuthal equidistant\":360,\"conic conformal\":180,gnomonic:160,stereographic:180,\"transverse mercator\":180,\"*\":360},r.lataxisSpan={\"conic conformal\":150,stereographic:179.5,\"*\":180},r.scopeDefaults={world:{lonaxisRange:[-180,180],lataxisRange:[-90,90],projType:\"equirectangular\",projRotate:[0,0,0]},usa:{lonaxisRange:[-180,-50],lataxisRange:[15,80],projType:\"albers usa\"},europe:{lonaxisRange:[-30,60],lataxisRange:[30,85],projType:\"conic conformal\",projRotate:[15,0,0],projParallels:[0,60]},asia:{lonaxisRange:[22,160],lataxisRange:[-15,55],projType:\"mercator\",projRotate:[0,0,0]},africa:{lonaxisRange:[-30,60],lataxisRange:[-40,40],projType:\"mercator\",projRotate:[0,0,0]},\"north america\":{lonaxisRange:[-180,-45],lataxisRange:[5,85],projType:\"conic conformal\",projRotate:[-100,0,0],projParallels:[29.5,45.5]},\"south america\":{lonaxisRange:[-100,-30],lataxisRange:[-60,15],projType:\"mercator\",projRotate:[0,0,0]}},r.clipPad=.001,r.precision=.1,r.landColor=\"#F0DC82\",r.waterColor=\"#3399FF\",r.locationmodeToLayer={\"ISO-3\":\"countries\",\"USA-states\":\"subunits\",\"country names\":\"countries\"},r.sphereSVG={type:\"Sphere\"},r.fillLayers={ocean:1,land:1,lakes:1},r.lineLayers={subunits:1,countries:1,coastlines:1,rivers:1,frame:1},r.layers=[\"bg\",\"ocean\",\"land\",\"lakes\",\"subunits\",\"countries\",\"coastlines\",\"rivers\",\"lataxis\",\"lonaxis\",\"frame\",\"backplot\",\"frontplot\"],r.layersForChoropleth=[\"bg\",\"ocean\",\"land\",\"subunits\",\"countries\",\"coastlines\",\"lataxis\",\"lonaxis\",\"frame\",\"backplot\",\"rivers\",\"lakes\",\"frontplot\"],r.layerNameToAdjective={ocean:\"ocean\",land:\"land\",lakes:\"lake\",subunits:\"subunit\",countries:\"country\",coastlines:\"coastline\",rivers:\"river\",frame:\"frame\"}},{}],588:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"d3-geo\"),a=i.geoPath,o=i.geoDistance,s=t(\"d3-geo-projection\"),l=t(\"../../registry\"),c=t(\"../../lib\"),u=c.strTranslate,f=t(\"../../components/color\"),h=t(\"../../components/drawing\"),p=t(\"../../components/fx\"),d=t(\"../plots\"),m=t(\"../cartesian/axes\"),g=t(\"../cartesian/autorange\").getAutoRange,v=t(\"../../components/dragelement\"),y=t(\"../cartesian/select\").prepSelect,x=t(\"../cartesian/select\").clearSelect,b=t(\"../cartesian/select\").selectOnClick,_=t(\"./zoom\"),w=t(\"./constants\"),T=t(\"../../lib/geo_location_utils\"),k=t(\"../../lib/topojson_utils\"),A=t(\"topojson-client\").feature;function M(t){this.id=t.id,this.graphDiv=t.graphDiv,this.container=t.container,this.topojsonURL=t.topojsonURL,this.isStatic=t.staticPlot,this.topojsonName=null,this.topojson=null,this.projection=null,this.scope=null,this.viewInitial=null,this.fitScale=null,this.bounds=null,this.midPt=null,this.hasChoropleth=!1,this.traceHash={},this.layers={},this.basePaths={},this.dataPaths={},this.dataPoints={},this.clipDef=null,this.clipRect=null,this.bgRect=null,this.makeFramework()}var S=M.prototype;function E(t,e){var r=w.clipPad,n=t[0]+r,i=t[1]-r,a=e[0]+r,o=e[1]-r;n>0&&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]]]}}e.exports=function(t){return new M(t)},S.plot=function(t,e,r){var n=this,i=e[this.id],a=[],o=!1;for(var s in w.layerNameToAdjective)if(\"frame\"!==s&&i[\"show\"+s]){o=!0;break}for(var l=0;l<t.length;l++)if(t[0][0].trace.locationmode){o=!0;break}if(o){var c=k.getTopojsonName(i);null!==n.topojson&&c===n.topojsonName||(n.topojsonName=c,void 0===PlotlyGeoAssets.topojson[n.topojsonName]&&a.push(n.fetchTopojson()))}a=a.concat(T.fetchTraceGeoData(t)),r.push(new Promise((function(r,i){Promise.all(a).then((function(){n.topojson=PlotlyGeoAssets.topojson[n.topojsonName],n.update(t,e),r()})).catch(i)})))},S.fetchTopojson=function(){var t=this,e=k.getTopojsonPath(t.topojsonURL,t.topojsonName);return new Promise((function(r,i){n.json(e,(function(n,a){if(n)return 404===n.status?i(new Error([\"plotly.js could not find topojson file at\",e+\".\",\"Make sure the *topojsonURL* plot config option\",\"is set properly.\"].join(\" \"))):i(new Error([\"unexpected error while fetching topojson file at\",e].join(\" \")));PlotlyGeoAssets.topojson[t.topojsonName]=a,r()}))}))},S.update=function(t,e){var r=e[this.id];this.hasChoropleth=!1;for(var n=0;n<t.length;n++){var i=t[n],a=i[0].trace;\"choropleth\"===a.type&&(this.hasChoropleth=!0),!0===a.visible&&a._length>0&&a._module.calcGeoJSON(i,e)}if(!this.updateProjection(t,e)){this.viewInitial&&this.scope===r.scope||this.saveViewInitial(r),this.scope=r.scope,this.updateBaseLayers(e,r),this.updateDims(e,r),this.updateFx(e,r),d.generalUpdatePerTraceModule(this.graphDiv,this,t,r);var o=this.layers.frontplot.select(\".scatterlayer\");this.dataPoints.point=o.selectAll(\".point\"),this.dataPoints.text=o.selectAll(\"text\"),this.dataPaths.line=o.selectAll(\".js-line\");var s=this.layers.backplot.select(\".choroplethlayer\");this.dataPaths.choropleth=s.selectAll(\"path\"),this.render()}},S.updateProjection=function(t,e){var r=this.graphDiv,n=e[this.id],l=e._size,u=n.domain,f=n.projection,h=n.lonaxis,p=n.lataxis,d=h._ax,m=p._ax,v=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,f=[\"center\",\"rotate\",\"parallels\",\"clipExtent\"],h=function(t){return t?l:[]},p=0;p<f.length;p++){var d=f[p];\"function\"!=typeof l[d]&&(l[d]=h)}l.isLonLatOverEdges=function(t){if(null===l(t))return!0;if(u){var e=l.rotate();return o(t,[-e[0],-e[1]])>u*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);return l}(n),y=[[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||{},b=f.rotation||{},_=h.range||[],T=p.range||[];if(n.fitbounds){d._length=y[1][0]-y[0][0],m._length=y[1][1]-y[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},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}}v.center([x.lon-b.lon,x.lat-b.lat]).rotate([-b.lon,-b.lat,b.roll]).parallels(f.parallels);var C=E(_,T);v.fitExtent(y,C);var P=this.bounds=v.getBounds(C),I=this.fitScale=v.scale(),O=v.translate();if(n.fitbounds){var z=v.getBounds(E(d.range,m.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)?v.scale(D*I):c.warn(\"Something went wrong during\"+this.id+\"fitbounds computations.\")}else v.scale(f.scale*I);var R=this.midPt=[(P[0][0]+P[1][0])/2,(P[0][1]+P[1][1])/2];if(v.translate([O[0]+(R[0]-O[0]),O[1]+(R[1]-O[1])]).clipExtent(P),n._isAlbersUsa){var F=v([x.lon,x.lat]),B=v.translate();v.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,f=new Array(u),h=0;h<u;h++)for(var p=c[h].x,d=f[h]=[],g=i[0];g<i[1]+2.5;g+=2.5)d.push(a(p,g));return{type:\"MultiLineString\",coordinates:f}}(r,e,t)).call(f.stroke,e[r].gridcolor).call(h.dashLine,e[r].griddash,e[r].gridwidth),l(r)?n.call(f.stroke,e[a+\"color\"]).call(h.dashLine,\"\",e[a+\"width\"]):c(r)&&n.call(f.fill,e[a+\"color\"])}))},S.updateDims=function(t,e){var r=this.bounds,n=(e.framewidth||0)/2,i=r[0][0]-n,a=r[0][1]-n,o=r[1][0]-i+n,s=r[1][1]-a+n;h.setRect(this.clipRect,i,a,o,s),this.bgRect.call(h.setRect,i,a,o,s).call(f.fill,e.bgcolor),this.xaxis._offset=i,this.xaxis._length=o,this.yaxis._offset=a,this.yaxis._length=s},S.updateFx=function(t,e){var r=this,i=r.graphDiv,a=r.bgRect,o=t.dragmode,s=t.clickmode;if(!r.isStatic){var u;\"select\"===o?u=function(t,e){(t.range={})[r.id]=[h([e.xmin,e.ymin]),h([e.xmax,e.ymax])]}:\"lasso\"===o&&(u=function(t,e,n){(t.lassoPoints={})[r.id]=n.filtered.map(h)});var f={element:r.bgRect.node(),gd:i,plotinfo:{id:r.id,xaxis:r.xaxis,yaxis:r.yaxis,fillRangeItems:u},xaxes:[r.xaxis],yaxes:[r.yaxis],subplot:r.id,clickFn:function(t){2===t&&x(i)}};\"pan\"===o?(a.node().onmousedown=null,a.call(_(r,e)),a.on(\"dblclick.zoom\",(function(){var t=r.viewInitial,e={};for(var n in t)e[r.id+\".\"+n]=t[n];l.call(\"_guiRelayout\",i,e),i.emit(\"plotly_doubleclick\",null)})),i._context._scrollZoom.geo||a.on(\"wheel.zoom\",null)):\"select\"!==o&&\"lasso\"!==o||(a.on(\".zoom\",null),f.prepFn=function(t,e,r){y(t,e,r,f,o)},v.init(f)),a.on(\"mousemove\",(function(){var t=r.projection.invert(c.getPositionFromD3Event());if(!t)return v.unhover(i,n.event);r.xaxis.p2c=function(){return t[0]},r.yaxis.p2c=function(){return t[1]},p.hover(i,n.event,r.id)})),a.on(\"mouseout\",(function(){i._dragging||v.unhover(i,n.event)})),a.on(\"click\",(function(){\"select\"!==o&&\"lasso\"!==o&&(s.indexOf(\"select\")>-1&&b(n.event,i,[r.xaxis],[r.yaxis],r.id,f),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(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\"},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(){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)}},{\"../../components/color\":366,\"../../components/dragelement\":385,\"../../components/drawing\":388,\"../../components/fx\":406,\"../../lib\":503,\"../../lib/geo_location_utils\":496,\"../../lib/topojson_utils\":532,\"../../registry\":638,\"../cartesian/autorange\":553,\"../cartesian/axes\":554,\"../cartesian/select\":575,\"../plots\":619,\"./constants\":587,\"./zoom\":592,\"@plotly/d3\":58,\"d3-geo\":114,\"d3-geo-projection\":113,\"topojson-client\":315}],589:[function(t,e,r){\"use strict\";var n=t(\"../../plots/get_data\").getSubplotCalcData,i=t(\"../../lib\").counterRegex,a=t(\"./geo\"),o=\"geo\",s=i(o),l={};l.geo={valType:\"subplotid\",dflt:o,editType:\"calc\"},e.exports={attr:o,name:o,idRoot:o,idRegex:s,attrRegex:s,attributes:l,layoutAttributes:t(\"./layout_attributes\"),supplyLayoutDefaults:t(\"./layout_defaults\"),plot:function(t){for(var e=t._fullLayout,r=t.calcdata,i=e._subplots.geo,s=0;s<i.length;s++){var l=i[s],c=n(r,o,l),u=e[l]._subplot;u||(u=a({id:l,graphDiv:t,container:e._geolayer.node(),topojsonURL:t._context.topojsonURL,staticPlot:t._context.staticPlot}),e[l]._subplot=u),u.plot(c,e,t._promises)}},updateFx:function(t){for(var e=t._fullLayout,r=e._subplots.geo,n=0;n<r.length;n++){var i=e[r[n]];i._subplot.updateFx(e,i)}},clean:function(t,e,r,n){for(var i=n._subplots.geo||[],a=0;a<i.length;a++){var o=i[a],s=n[o]._subplot;!e[o]&&s&&(s.framework.remove(),s.clipDef.remove())}}}},{\"../../lib\":503,\"../../plots/get_data\":593,\"./geo\":588,\"./layout_attributes\":590,\"./layout_defaults\":591}],590:[function(t,e,r){\"use strict\";var n=t(\"../../components/color/attributes\"),i=t(\"../domain\").attributes,a=t(\"../../components/drawing/attributes\").dash,o=t(\"./constants\"),s=t(\"../../plot_api/edit_types\").overrideAll,l=t(\"../../lib/sort_object_keys\"),c={range:{valType:\"info_array\",items:[{valType:\"number\"},{valType:\"number\"}]},showgrid:{valType:\"boolean\",dflt:!1},tick0:{valType:\"number\",dflt:0},dtick:{valType:\"number\"},gridcolor:{valType:\"color\",dflt:n.lightLine},gridwidth:{valType:\"number\",min:0,dflt:1},griddash:a};(e.exports=s({domain:i({name:\"geo\"},{}),fitbounds:{valType:\"enumerated\",values:[!1,\"locations\",\"geojson\"],dflt:!1,editType:\"plot\"},resolution:{valType:\"enumerated\",values:[110,50],dflt:110,coerceNumber:!0},scope:{valType:\"enumerated\",values:l(o.scopeDefaults),dflt:\"world\"},projection:{type:{valType:\"enumerated\",values:l(o.projNames)},rotation:{lon:{valType:\"number\"},lat:{valType:\"number\"},roll:{valType:\"number\"}},tilt:{valType:\"number\",dflt:0},distance:{valType:\"number\",min:1.001,dflt:2},parallels:{valType:\"info_array\",items:[{valType:\"number\"},{valType:\"number\"}]},scale:{valType:\"number\",min:0,dflt:1}},center:{lon:{valType:\"number\"},lat:{valType:\"number\"}},visible:{valType:\"boolean\",dflt:!0},showcoastlines:{valType:\"boolean\"},coastlinecolor:{valType:\"color\",dflt:n.defaultLine},coastlinewidth:{valType:\"number\",min:0,dflt:1},showland:{valType:\"boolean\",dflt:!1},landcolor:{valType:\"color\",dflt:o.landColor},showocean:{valType:\"boolean\",dflt:!1},oceancolor:{valType:\"color\",dflt:o.waterColor},showlakes:{valType:\"boolean\",dflt:!1},lakecolor:{valType:\"color\",dflt:o.waterColor},showrivers:{valType:\"boolean\",dflt:!1},rivercolor:{valType:\"color\",dflt:o.waterColor},riverwidth:{valType:\"number\",min:0,dflt:1},showcountries:{valType:\"boolean\"},countrycolor:{valType:\"color\",dflt:n.defaultLine},countrywidth:{valType:\"number\",min:0,dflt:1},showsubunits:{valType:\"boolean\"},subunitcolor:{valType:\"color\",dflt:n.defaultLine},subunitwidth:{valType:\"number\",min:0,dflt:1},showframe:{valType:\"boolean\"},framecolor:{valType:\"color\",dflt:n.defaultLine},framewidth:{valType:\"number\",min:0,dflt:1},bgcolor:{valType:\"color\",dflt:n.background},lonaxis:c,lataxis:c},\"plot\",\"from-root\")).uirevision={valType:\"any\",editType:\"none\"}},{\"../../components/color/attributes\":365,\"../../components/drawing/attributes\":387,\"../../lib/sort_object_keys\":526,\"../../plot_api/edit_types\":536,\"../domain\":584,\"./constants\":587}],591:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../subplot_defaults\"),a=t(\"../get_data\").getSubplotData,o=t(\"./constants\"),s=t(\"./layout_attributes\"),l=o.axesNames;function c(t,e,r,i){var s=a(i.fullData,\"geo\",i.id).map((function(t){return t._expandedIndex})),c=r(\"resolution\"),u=r(\"scope\"),f=o.scopeDefaults[u],h=r(\"projection.type\",f.projType),p=e._isAlbersUsa=\"albers usa\"===h;p&&(u=e.scope=\"usa\");var d=e._isScoped=\"world\"!==u,m=e._isSatellite=\"satellite\"===h,g=e._isConic=-1!==h.indexOf(\"conic\")||\"albers\"===h,v=e._isClipped=!!o.lonaxisSpan[h];if(!1===t.visible){var y=n.extendDeep({},e._template);y.showcoastlines=!1,y.showcountries=!1,y.showframe=!1,y.showlakes=!1,y.showland=!1,y.showocean=!1,y.showrivers=!1,y.showsubunits=!1,y.lonaxis&&(y.lonaxis.showgrid=!1),y.lataxis&&(y.lataxis.showgrid=!1),e._template=y}for(var x=r(\"visible\"),b=0;b<l.length;b++){var _,w=l[b],T=[30,10][b];if(d)_=f[w+\"Range\"];else{var k=o[w+\"Span\"],A=(k[h]||k[\"*\"])/2,M=r(\"projection.rotation.\"+w.substr(0,3),f.projRotate[b]);_=[M-A,M+A]}var S=r(w+\".range\",_);r(w+\".tick0\"),r(w+\".dtick\",T),r(w+\".showgrid\",!!x&&void 0)&&(r(w+\".gridcolor\"),r(w+\".gridwidth\"),r(w+\".griddash\")),e[w]._ax={type:\"linear\",_id:w.slice(0,3),_traceIndices:s,setScale:n.identity,c2l:n.identity,r2l:n.identity,autorange:!0,range:S.slice(),_m:1,_input:{}}}var E=e.lonaxis.range,L=e.lataxis.range,C=E[0],P=E[1];C>0&&P<0&&(P+=360);var I,O,z,D=(C+P)/2;if(!p){var R=d?f.projRotate:[D,0,0];I=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?(O=-96.6,z=38.7):(O=d?D:I,z=(L[0]+L[1])/2),r(\"center.lon\",O),r(\"center.lat\",z),m&&(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\"!==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):v?(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))}e.exports=function(t,e,r){i(t,e,r,{type:\"geo\",attributes:s,handleDefaults:c,fullData:r,partition:\"y\"})}},{\"../../lib\":503,\"../get_data\":593,\"../subplot_defaults\":632,\"./constants\":587,\"./layout_attributes\":590}],592:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../../lib\"),a=t(\"../../registry\"),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 f(t,e,r){var n=t.id,o=t.graphDiv,s=o.layout,l=s[n],c=o._fullLayout,u=c[n],f={},h={};function p(t,e){f[n+\".\"+t]=i.nestedProperty(l,t).get(),a.call(\"_storeDirectGUIEdit\",s,c._preGUI,f);var r=i.nestedProperty(u,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=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();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),f(t,e,i)})),r}function p(t,e){var r,i,a,o,s,h,p,d,m,g=u(0,e);function v(t){return e.invert(t)}function y(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=v(r)})).on(\"zoom\",(function(){if(h=n.mouse(this),function(t){var r=v(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?v(h)&&(d=v(h),p=[o[0]+(d[0]-s[0]),i[1],i[2]],e.rotate(p),o=p):s=v(r=h),m=!0,t.render();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&&f(t,e,y)})),g}function d(t,e){var r,i={r:e.rotate(),k:e.scale()},a=u(0,e),o=function(t){var e=0,r=arguments.length,i=[];for(;++e<r;)i.push(arguments[e]);var a=n.dispatch.apply(null,i);return a.of=function(e,r){return function(i){var o;try{o=i.sourceEvent=n.event,i.target=t,n.event=i,a[i.type].apply(e,r)}finally{n.event=o}}},a}(a,\"zoomstart\",\"zoom\",\"zoomend\"),s=0,h=a.on;function p(t){s++||t({type:\"zoomstart\"})}function d(t){t({type:\"zoom\"})}function b(t){--s||t({type:\"zoomend\"})}function _(t){var r=e.rotate();t(\"projection.rotation.lon\",-r[0]),t(\"projection.rotation.lat\",-r[1])}return a.on(\"zoomstart\",(function(){n.select(this).style(l);var t=n.mouse(this),s=e.rotate(),c=s,u=e.translate(),f=g(s);r=m(e,t),h.call(a,\"zoom\",(function(){var a=n.mouse(this);if(e.scale(i.k=n.event.scale),r){if(m(e,a)){e.rotate(s).translate(u);var l=m(e,a),h=y(r,l),p=T(v(f,h)),g=i.r=x(p,r,c);isFinite(g[0])&&isFinite(g[1])&&isFinite(g[2])||(g=c),e.rotate(g),c=g}}else r=m(e,t=a);d(o.of(this,arguments))})),p(o.of(this,arguments))})).on(\"zoomend\",(function(){n.select(this).style(c),h.call(a,\"zoom\",null),b(o.of(this,arguments)),f(t,e,_)})).on(\"zoom.redraw\",(function(){t.render();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,o,\"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){var e=.5*t[0]*o,r=.5*t[1]*o,n=.5*t[2]*o,i=Math.sin(e),a=Math.cos(e),s=Math.sin(r),l=Math.cos(r),c=Math.sin(n),u=Math.cos(n);return[a*l*u+i*s*c,i*l*u-a*s*c,a*s*u+i*l*c,a*l*c-i*s*u]}function v(t,e){var r=t[0],n=t[1],i=t[2],a=t[3],o=e[0],s=e[1],l=e[2],c=e[3];return[r*o-n*s-i*l-a*c,r*s+n*o+i*c-a*l,r*l-n*c+i*o+a*s,r*c+n*l-i*s+a*o]}function y(t,e){if(t&&e){var r=function(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]]}(t,e),n=Math.sqrt(k(r,r)),i=.5*Math.acos(Math.max(-1,Math.min(1,k(t,e)))),a=Math.sin(i)/n;return n&&[Math.cos(i),r[2]*a,-r[1]*a,r[0]*a]}}function x(t,e,r){var n=w(e,2,t[0]);n=w(n,1,t[1]),n=w(n,0,t[2]-r[2]);var i,a,o=e[0],l=e[1],c=e[2],u=n[0],f=n[1],h=n[2],p=Math.atan2(l,o)*s,d=Math.sqrt(o*o+l*l);Math.abs(f)>d?(a=(f>0?90:-90)-p,i=0):(a=Math.asin(f/d)*s-p,i=Math.sqrt(d*d-f*f));var m=180-a-2*p,g=(Math.atan2(h,u)-Math.atan2(c,i))*s,v=(Math.atan2(h,u)-Math.atan2(c,-i))*s;return b(r[0],r[1],a,g)<=b(r[0],r[1],m,v)?[a,g,r[2]]:[m,v,r[2]]}function b(t,e,r,n){var i=_(r-t),a=_(n-e);return Math.sqrt(i*i+a*a)}function _(t){return(t%360+540)%360-180}function w(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 T(t){return[Math.atan2(2*(t[0]*t[1]+t[2]*t[3]),1-2*(t[1]*t[1]+t[2]*t[2]))*s,Math.asin(Math.max(-1,Math.min(1,2*(t[0]*t[2]-t[3]*t[1]))))*s,Math.atan2(2*(t[0]*t[3]+t[1]*t[2]),1-2*(t[2]*t[2]+t[3]*t[3]))*s]}function k(t,e){for(var r=0,n=0,i=t.length;n<i;++n)r+=t[n]*e[n];return r}e.exports=function(t,e){var r=t.projection;return(e._isScoped?h:e._isClipped?d:p)(t,r)}},{\"../../lib\":503,\"../../registry\":638,\"@plotly/d3\":58}],593:[function(t,e,r){\"use strict\";var n=t(\"../registry\"),i=t(\"./cartesian/constants\").SUBPLOT_PATTERN;r.getSubplotCalcData=function(t,e,r){var i=n.subplotsRegistry[e];if(!i)return[];for(var a=i.attr,o=[],s=0;s<t.length;s++){var l=t[s];l[0].trace[a]===r&&o.push(l)}return o},r.getModuleCalcData=function(t,e){var r,i=[],a=[];if(!(r=\"string\"==typeof e?n.getModule(e).plot:\"function\"==typeof e?e:e.plot))return[i,t];for(var o=0;o<t.length;o++){var s=t[o],l=s[0].trace;!0===l.visible&&0!==l._length&&(l._module.plot===r?i.push(s):a.push(s))}return[i,a]},r.getSubplotData=function(t,e,r){if(!n.subplotsRegistry[e])return[];var a,o,s,l=n.subplotsRegistry[e].attr,c=[];if(\"gl2d\"===e){var u=r.match(i);o=\"x\"+u[1],s=\"y\"+u[2]}for(var f=0;f<t.length;f++)a=t[f],\"gl2d\"===e&&n.traceIs(a,\"gl2d\")?a[l[0]]===o&&a[l[1]]===s&&c.push(a):a[l]===r&&c.push(a);return c}},{\"../registry\":638,\"./cartesian/constants\":561}],594:[function(t,e,r){\"use strict\";var n=t(\"mouse-change\"),i=t(\"mouse-wheel\"),a=t(\"mouse-event-offset\"),o=t(\"../cartesian/constants\"),s=t(\"has-passive-events\");function l(t,e){this.element=t,this.plot=e,this.mouseListener=null,this.wheelListener=null,this.lastInputTime=Date.now(),this.lastPos=[0,0],this.boxEnabled=!1,this.boxInited=!1,this.boxStart=[0,0],this.boxEnd=[0,0],this.dragStart=[0,0]}e.exports=function(t){var e=t.mouseContainer,r=t.glplot,c=new l(e,r);function u(){t.xaxis.autorange=!1,t.yaxis.autorange=!1}function f(e,n,i){var a,s,l=t.calcDataBox(),f=r.viewBox,h=c.lastPos[0],p=c.lastPos[1],d=o.MINDRAG*r.pixelRatio,m=o.MINZOOM*r.pixelRatio;function g(e,r,n){var i=Math.min(r,n),a=Math.max(r,n);i!==a?(l[e]=i,l[e+2]=a,c.dataBox=l,t.setRanges(l)):(t.selectBox.selectBox=[0,0,1,1],t.glplot.setDirty())}switch(n*=r.pixelRatio,i*=r.pixelRatio,i=f[3]-f[1]-i,t.fullLayout.dragmode){case\"zoom\":if(e){var v=n/(f[2]-f[0])*(l[2]-l[0])+l[0],y=i/(f[3]-f[1])*(l[3]-l[1])+l[1];c.boxInited||(c.boxStart[0]=v,c.boxStart[1]=y,c.dragStart[0]=n,c.dragStart[1]=i),c.boxEnd[0]=v,c.boxEnd[1]=y,c.boxInited=!0,c.boxEnabled||c.boxStart[0]===c.boxEnd[0]&&c.boxStart[1]===c.boxEnd[1]||(c.boxEnabled=!0);var x=Math.abs(c.dragStart[0]-n)<m,b=Math.abs(c.dragStart[1]-i)<m;if(!function(){for(var e=t.graphDiv._fullLayout._axisConstraintGroups,r=t.xaxis._id,n=t.yaxis._id,i=0;i<e.length;i++)if(-1!==e[i][r]){if(-1!==e[i][n])return!0;break}return!1}()||x&&b)x&&(c.boxEnd[0]=c.boxStart[0]),b&&(c.boxEnd[1]=c.boxStart[1]);else{a=c.boxEnd[0]-c.boxStart[0],s=c.boxEnd[1]-c.boxStart[1];var _=(l[3]-l[1])/(l[2]-l[0]);Math.abs(a*_)>Math.abs(s)?(c.boxEnd[1]=c.boxStart[1]+Math.abs(a)*_*(s>=0?1:-1),c.boxEnd[1]<l[1]?(c.boxEnd[1]=l[1],c.boxEnd[0]=c.boxStart[0]+(l[1]-c.boxStart[1])/Math.abs(_)):c.boxEnd[1]>l[3]&&(c.boxEnd[1]=l[3],c.boxEnd[0]=c.boxStart[0]+(l[3]-c.boxStart[1])/Math.abs(_))):(c.boxEnd[0]=c.boxStart[0]+Math.abs(s)/_*(a>=0?1:-1),c.boxEnd[0]<l[0]?(c.boxEnd[0]=l[0],c.boxEnd[1]=c.boxStart[1]+(l[0]-c.boxStart[0])*Math.abs(_)):c.boxEnd[0]>l[2]&&(c.boxEnd[0]=l[2],c.boxEnd[1]=c.boxStart[1]+(l[2]-c.boxStart[0])*Math.abs(_)))}}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)<d&&(n=c.dragStart[0]),Math.abs(c.dragStart[1]-i)<d&&(i=c.dragStart[1]),a=(h-n)*(l[2]-l[0])/(r.viewBox[2]-r.viewBox[0]),s=(p-i)*(l[3]-l[1])/(r.viewBox[3]-r.viewBox[1]),l[0]+=a,l[2]+=a,l[1]+=s,l[3]+=s,t.setRanges(l),c.panning=!0,c.lastInputTime=Date.now(),u(),t.cameraChanged(),t.handleAnnotations()):c.panning&&(c.panning=!1,t.relayoutCallback())}c.lastPos[0]=n,c.lastPos[1]=i}return c.mouseListener=n(e,f),e.addEventListener(\"touchstart\",(function(t){var r=a(t.changedTouches[0],e);f(0,r[0],r[1]),f(1,r[0],r[1]),t.preventDefault()}),!!s&&{passive:!1}),e.addEventListener(\"touchmove\",(function(t){t.preventDefault();var r=a(t.changedTouches[0],e);f(1,r[0],r[1]),t.preventDefault()}),!!s&&{passive:!1}),e.addEventListener(\"touchend\",(function(t){f(0,c.lastPos[0],c.lastPos[1]),t.preventDefault()}),!!s&&{passive:!1}),c.wheelListener=i(e,(function(e,n){if(!t.scrollZoom)return!1;var i=t.calcDataBox(),a=r.viewBox,o=c.lastPos[0],s=c.lastPos[1],l=Math.exp(5*n/(a[3]-a[1])),f=o/(a[2]-a[0])*(i[2]-i[0])+i[0],h=s/(a[3]-a[1])*(i[3]-i[1])+i[1];return i[0]=(i[0]-f)*l+f,i[2]=(i[2]-f)*l+f,i[1]=(i[1]-h)*l+h,i[3]=(i[3]-h)*l+h,t.setRanges(i),c.lastInputTime=Date.now(),u(),t.cameraChanged(),t.handleAnnotations(),t.relayoutCallback(),!0}),!0),c}},{\"../cartesian/constants\":561,\"has-passive-events\":229,\"mouse-change\":241,\"mouse-event-offset\":242,\"mouse-wheel\":244}],595:[function(t,e,r){\"use strict\";var n=t(\"../cartesian/axes\"),i=t(\"../../lib/str2rgbarray\");function a(t){this.scene=t,this.gl=t.gl,this.pixelRatio=t.pixelRatio,this.screenBox=[0,0,1,1],this.viewBox=[0,0,1,1],this.dataBox=[-1,-1,1,1],this.borderLineEnable=[!1,!1,!1,!1],this.borderLineWidth=[1,1,1,1],this.borderLineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.ticks=[[],[]],this.tickEnable=[!0,!0,!1,!1],this.tickPad=[15,15,15,15],this.tickAngle=[0,0,0,0],this.tickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.tickMarkLength=[0,0,0,0],this.tickMarkWidth=[0,0,0,0],this.tickMarkColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.labels=[\"x\",\"y\"],this.labelEnable=[!0,!0,!1,!1],this.labelAngle=[0,Math.PI/2,0,3*Math.PI/2],this.labelPad=[15,15,15,15],this.labelSize=[12,12],this.labelFont=[\"sans-serif\",\"sans-serif\"],this.labelColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.title=\"\",this.titleEnable=!0,this.titleCenter=[0,0,0,0],this.titleAngle=0,this.titleColor=[0,0,0,1],this.titleFont=\"sans-serif\",this.titleSize=18,this.gridLineEnable=[!0,!0],this.gridLineColor=[[0,0,0,.5],[0,0,0,.5]],this.gridLineWidth=[1,1],this.zeroLineEnable=[!0,!0],this.zeroLineWidth=[1,1],this.zeroLineColor=[[0,0,0,1],[0,0,0,1]],this.borderColor=[0,0,0,0],this.backgroundColor=[0,0,0,0],this.static=this.scene.staticPlot}var o=a.prototype,s=[\"xaxis\",\"yaxis\"];o.merge=function(t){var e,r,n,a,o,l,c,u,f,h,p;for(this.titleEnable=!1,this.backgroundColor=i(t.plot_bgcolor),h=0;h<2;++h){var d=(e=s[h]).charAt(0);for(n=(r=t[this.scene[e]._name]).title.text===this.scene.fullLayout._dfltTitle[d]?\"\":r.title.text,p=0;p<=2;p+=2)this.labelEnable[h+p]=!1,this.labels[h+p]=n,this.labelColor[h+p]=i(r.title.font.color),this.labelFont[h+p]=r.title.font.family,this.labelSize[h+p]=r.title.font.size,this.labelPad[h+p]=this.getLabelPad(e,r),this.tickEnable[h+p]=!1,this.tickColor[h+p]=i((r.tickfont||{}).color),this.tickAngle[h+p]=\"auto\"===r.tickangle?0:Math.PI*-r.tickangle/180,this.tickPad[h+p]=this.getTickPad(r),this.tickMarkLength[h+p]=0,this.tickMarkWidth[h+p]=r.tickwidth||0,this.tickMarkColor[h+p]=i(r.tickcolor),this.borderLineEnable[h+p]=!1,this.borderLineColor[h+p]=i(r.linecolor),this.borderLineWidth[h+p]=r.linewidth||0;c=this.hasSharedAxis(r),o=this.hasAxisInDfltPos(e,r)&&!c,l=this.hasAxisInAltrPos(e,r)&&!c,a=r.mirror||!1,u=c?-1!==String(a).indexOf(\"all\"):!!a,f=c?\"allticks\"===a:-1!==String(a).indexOf(\"ticks\"),o?this.labelEnable[h]=!0:l&&(this.labelEnable[h+2]=!0),o?this.tickEnable[h]=r.showticklabels:l&&(this.tickEnable[h+2]=r.showticklabels),(o||u)&&(this.borderLineEnable[h]=r.showline),(l||u)&&(this.borderLineEnable[h+2]=r.showline),(o||f)&&(this.tickMarkLength[h]=this.getTickMarkLength(r)),(l||f)&&(this.tickMarkLength[h+2]=this.getTickMarkLength(r)),this.gridLineEnable[h]=r.showgrid,this.gridLineColor[h]=i(r.gridcolor),this.gridLineWidth[h]=r.gridwidth,this.zeroLineEnable[h]=r.zeroline,this.zeroLineColor[h]=i(r.zerolinecolor),this.zeroLineWidth[h]=r.zerolinewidth}},o.hasSharedAxis=function(t){var e=this.scene,r=e.fullLayout._subplots.gl2d;return 0!==n.findSubplotsWithAxis(r,t).indexOf(e.id)},o.hasAxisInDfltPos=function(t,e){var r=e.side;return\"xaxis\"===t?\"bottom\"===r:\"yaxis\"===t?\"left\"===r:void 0},o.hasAxisInAltrPos=function(t,e){var r=e.side;return\"xaxis\"===t?\"top\"===r:\"yaxis\"===t?\"right\"===r:void 0},o.getLabelPad=function(t,e){var r=e.title.font.size,n=e.showticklabels;return\"xaxis\"===t?\"top\"===e.side?r*(1.5+(n?1:0))-10:r*(1.5+(n?.5:0))-10:\"yaxis\"===t?\"right\"===e.side?10+r*(1.5+(n?1:.5)):10+r*(1.5+(n?.5:0)):void 0},o.getTickPad=function(t){return\"outside\"===t.ticks?10+t.ticklen:15},o.getTickMarkLength=function(t){if(!t.ticks)return 0;var e=t.ticklen;return\"inside\"===t.ticks?-e:e},e.exports=function(t){return new a(t)}},{\"../../lib/str2rgbarray\":528,\"../cartesian/axes\":554}],596:[function(t,e,r){\"use strict\";var n=t(\"../../plot_api/edit_types\").overrideAll,i=t(\"./scene2d\"),a=t(\"../layout_attributes\"),o=t(\"../../constants/xmlns_namespaces\"),s=t(\"../cartesian/constants\"),l=t(\"../cartesian\"),c=t(\"../../components/fx/layout_attributes\"),u=t(\"../get_data\").getSubplotData;r.name=\"gl2d\",r.attr=[\"xaxis\",\"yaxis\"],r.idRoot=[\"x\",\"y\"],r.idRegex=s.idRegex,r.attrRegex=s.attrRegex,r.attributes=t(\"../cartesian/attributes\"),r.supplyLayoutDefaults=function(t,e,r){e._has(\"cartesian\")||l.supplyLayoutDefaults(t,e,r)},r.layoutAttrOverrides=n(l.layoutAttributes,\"plot\",\"from-root\"),r.baseLayoutAttrOverrides=n({plot_bgcolor:a.plot_bgcolor,hoverlabel:c.hoverlabel},\"plot\",\"nested\"),r.plot=function(t){for(var e=t._fullLayout,r=t._fullData,n=e._subplots.gl2d,a=0;a<n.length;a++){var o=n[a],s=e._plots[o],l=u(r,\"gl2d\",o),c=s._scene2d;void 0===c&&(c=new i({id:o,graphDiv:t,container:t.querySelector(\".gl-container\"),staticPlot:t._context.staticPlot,plotGlPixelRatio:t._context.plotGlPixelRatio},e),s._scene2d=c),c.plot(l,t.calcdata,e,t.layout)}},r.clean=function(t,e,r,n){for(var i=n._subplots.gl2d||[],a=0;a<i.length;a++){var o=i[a],s=n._plots[o];if(s._scene2d){var c=u(t,\"gl2d\",o);0===c.length&&(s._scene2d.destroy(),delete n._plots[o])}}l.clean.apply(this,arguments)},r.drawFramework=function(t){t._context.staticPlot||l.drawFramework(t)},r.toSVG=function(t){for(var e=t._fullLayout,r=e._subplots.gl2d,n=0;n<r.length;n++){var i=e._plots[r[n]]._scene2d,a=i.toImage(\"png\");e._glimages.append(\"svg:image\").attr({xmlns:o.svg,\"xlink:href\":a,x:0,y:0,width:\"100%\",height:\"100%\",preserveAspectRatio:\"none\"}),i.destroy()}},r.updateFx=function(t){for(var e=t._fullLayout,r=e._subplots.gl2d,n=0;n<r.length;n++){e._plots[r[n]]._scene2d.updateFx(e.dragmode)}}},{\"../../components/fx/layout_attributes\":407,\"../../constants/xmlns_namespaces\":480,\"../../plot_api/edit_types\":536,\"../cartesian\":568,\"../cartesian/attributes\":552,\"../cartesian/constants\":561,\"../get_data\":593,\"../layout_attributes\":610,\"./scene2d\":597}],597:[function(t,e,r){\"use strict\";var n,i,a=t(\"../../registry\"),o=t(\"../../plots/cartesian/axes\"),s=t(\"../../components/fx\"),l=t(\"../../../stackgl_modules\").gl_plot2d,c=t(\"../../../stackgl_modules\").gl_spikes2d,u=t(\"../../../stackgl_modules\").gl_select_box,f=t(\"webgl-context\"),h=t(\"./convert\"),p=t(\"./camera\"),d=t(\"../../lib/show_no_webgl_msg\"),m=t(\"../cartesian/constraints\"),g=m.enforce,v=m.clean,y=t(\"../cartesian/autorange\").doAutoRange,x=t(\"../../components/dragelement/helpers\"),b=x.drawMode,_=x.selectMode,w=[\"xaxis\",\"yaxis\"],T=t(\"../cartesian/constants\").SUBPLOT_PATTERN;function k(t,e){this.container=t.container,this.graphDiv=t.graphDiv,this.pixelRatio=t.plotGlPixelRatio||window.devicePixelRatio,this.id=t.id,this.staticPlot=!!t.staticPlot,this.scrollZoom=this.graphDiv._context._scrollZoom.cartesian,this.fullData=null,this.updateRefs(e),this.makeFramework(),this.stopped||(this.glplotOptions=h(this),this.glplotOptions.merge(e),this.glplot=l(this.glplotOptions),this.camera=p(this),this.traces={},this.spikes=c(this.glplot),this.selectBox=u(this.glplot,{innerFill:!1,outerFill:!0}),this.lastButtonState=0,this.pickResult=null,this.isMouseOver=!0,this.stopped=!1,this.redraw=this.draw.bind(this),this.redraw())}e.exports=k;var A=k.prototype;A.makeFramework=function(){if(this.staticPlot){if(!(i||(n=document.createElement(\"canvas\"),i=f({canvas:n,preserveDrawingBuffer:!1,premultipliedAlpha:!0,antialias:!0}))))throw new Error(\"Error creating static canvas/context for image server\");this.canvas=n,this.gl=i}else{var t=this.container.querySelector(\".gl-canvas-focus\"),e=f({canvas:t,preserveDrawingBuffer:!0,premultipliedAlpha:!0});if(!e)return d(this),void(this.stopped=!0);this.canvas=t,this.gl=e}var r=this.canvas;r.style.width=\"100%\",r.style.height=\"100%\",r.style.position=\"absolute\",r.style.top=\"0px\",r.style.left=\"0px\",r.style[\"pointer-events\"]=\"none\",this.updateSize(r);var a=this.svgContainer=document.createElementNS(\"http://www.w3.org/2000/svg\",\"svg\");a.style.position=\"absolute\",a.style.top=a.style.left=\"0px\",a.style.width=a.style.height=\"100%\",a.style[\"z-index\"]=20,a.style[\"pointer-events\"]=\"none\";var o=this.mouseContainer=document.createElement(\"div\");o.style.position=\"absolute\",o.style[\"pointer-events\"]=\"auto\",this.pickCanvas=this.container.querySelector(\".gl-canvas-pick\");var s=this.container;s.appendChild(a),s.appendChild(o);var l=this;o.addEventListener(\"mouseout\",(function(){l.isMouseOver=!1,l.unhover()})),o.addEventListener(\"mouseover\",(function(){l.isMouseOver=!0}))},A.toImage=function(t){t||(t=\"png\"),this.stopped=!0,this.staticPlot&&this.container.appendChild(n),this.updateSize(this.canvas);var e=this.glplot.gl,r=e.drawingBufferWidth,i=e.drawingBufferHeight;e.clearColor(1,1,1,0),e.clear(e.COLOR_BUFFER_BIT|e.DEPTH_BUFFER_BIT),this.glplot.setDirty(),this.glplot.draw(),e.bindFramebuffer(e.FRAMEBUFFER,null);var a=new Uint8Array(r*i*4);e.readPixels(0,0,r,i,e.RGBA,e.UNSIGNED_BYTE,a);for(var o=0,s=i-1;o<s;++o,--s)for(var l=0;l<r;++l)for(var c=0;c<4;++c){var u=a[4*(r*o+l)+c];a[4*(r*o+l)+c]=a[4*(r*s+l)+c],a[4*(r*s+l)+c]=u}var f=document.createElement(\"canvas\");f.width=r,f.height=i;var h,p=f.getContext(\"2d\",{willReadFrequently:!0}),d=p.createImageData(r,i);switch(d.data.set(a),p.putImageData(d,0,0),t){case\"jpeg\":h=f.toDataURL(\"image/jpeg\");break;case\"webp\":h=f.toDataURL(\"image/webp\");break;default:h=f.toDataURL(\"image/png\")}return this.staticPlot&&this.container.removeChild(n),h},A.updateSize=function(t){t||(t=this.canvas);var e=this.pixelRatio,r=this.fullLayout,n=r.width,i=r.height,a=0|Math.ceil(e*n),o=0|Math.ceil(e*i);return t.width===a&&t.height===o||(t.width=a,t.height=o),t},A.computeTickMarks=function(){this.xaxis.setScale(),this.yaxis.setScale();for(var t=[o.calcTicks(this.xaxis),o.calcTicks(this.yaxis)],e=0;e<2;++e)for(var r=0;r<t[e].length;++r)t[e][r].text=t[e][r].text+\"\";return t},A.updateRefs=function(t){this.fullLayout=t;var e=this.id.match(T),r=\"xaxis\"+e[1],n=\"yaxis\"+e[2];this.xaxis=this.fullLayout[r],this.yaxis=this.fullLayout[n]},A.relayoutCallback=function(){var t=this.graphDiv,e=this.xaxis,r=this.yaxis,n=t.layout,i={},o=i[e._name+\".range\"]=e.range.slice(),s=i[r._name+\".range\"]=r.range.slice();i[e._name+\".autorange\"]=e.autorange,i[r._name+\".autorange\"]=r.autorange,a.call(\"_storeDirectGUIEdit\",t.layout,t._fullLayout._preGUI,i);var l=n[e._name];l.range=o,l.autorange=e.autorange;var c=n[r._name];c.range=s,c.autorange=r.autorange,i.lastInputTime=this.camera.lastInputTime,t.emit(\"plotly_relayout\",i)},A.cameraChanged=function(){var t=this.camera;this.glplot.setDataBox(this.calcDataBox());var e=this.computeTickMarks();(function(t,e){for(var r=0;r<2;++r){var n=t[r],i=e[r];if(n.length!==i.length)return!0;for(var a=0;a<n.length;++a)if(n[a].x!==i[a].x)return!0}return!1})(e,this.glplotOptions.ticks)&&(this.glplotOptions.ticks=e,this.glplotOptions.dataBox=t.dataBox,this.glplot.update(this.glplotOptions),this.handleAnnotations())},A.handleAnnotations=function(){for(var t=this.graphDiv,e=this.fullLayout.annotations,r=0;r<e.length;r++){var n=e[r];n.xref===this.xaxis._id&&n.yref===this.yaxis._id&&a.getComponentMethod(\"annotations\",\"drawOne\")(t,r)}},A.destroy=function(){if(this.glplot){var t=this.traces;t&&Object.keys(t).map((function(e){t[e].dispose(),delete t[e]})),this.glplot.dispose(),this.container.removeChild(this.svgContainer),this.container.removeChild(this.mouseContainer),this.fullData=null,this.glplot=null,this.stopped=!0,this.camera.mouseListener.enabled=!1,this.mouseContainer.removeEventListener(\"wheel\",this.camera.wheelListener),this.camera=null}},A.plot=function(t,e,r){var n=this.glplot;this.updateRefs(r),this.xaxis.clearCalc(),this.yaxis.clearCalc(),this.updateTraces(t,e),this.updateFx(r.dragmode);var i=r.width,a=r.height;this.updateSize(this.canvas);var o=this.glplotOptions;o.merge(r),o.screenBox=[0,0,i,a];var s={_fullLayout:{_axisConstraintGroups:r._axisConstraintGroups,xaxis:this.xaxis,yaxis:this.yaxis,_size:r._size}};v(s,this.xaxis),v(s,this.yaxis);var l,c,u=r._size,f=this.xaxis.domain,h=this.yaxis.domain;for(o.viewBox=[u.l+f[0]*u.w,u.b+h[0]*u.h,i-u.r-(1-f[1])*u.w,a-u.t-(1-h[1])*u.h],this.mouseContainer.style.width=u.w*(f[1]-f[0])+\"px\",this.mouseContainer.style.height=u.h*(h[1]-h[0])+\"px\",this.mouseContainer.height=u.h*(h[1]-h[0]),this.mouseContainer.style.left=u.l+f[0]*u.w+\"px\",this.mouseContainer.style.top=u.t+(1-h[1])*u.h+\"px\",c=0;c<2;++c)(l=this[w[c]])._length=o.viewBox[c+2]-o.viewBox[c],y(this.graphDiv,l),l.setScale();g(s),o.ticks=this.computeTickMarks(),o.dataBox=this.calcDataBox(),o.merge(r),n.update(o),this.glplot.draw()},A.calcDataBox=function(){var t=this.xaxis,e=this.yaxis,r=t.range,n=e.range,i=t.r2l,a=e.r2l;return[i(r[0]),a(n[0]),i(r[1]),a(n[1])]},A.setRanges=function(t){var e=this.xaxis,r=this.yaxis,n=e.l2r,i=r.l2r;e.range=[n(t[0]),n(t[2])],r.range=[i(t[1]),i(t[3])]},A.updateTraces=function(t,e){var r,n,i,a=Object.keys(this.traces);this.fullData=t;t:for(r=0;r<a.length;r++){var o=a[r],s=this.traces[o];for(n=0;n<t.length;n++)if((i=t[n]).uid===o&&i.type===s.type)continue t;s.dispose(),delete this.traces[o]}for(r=0;r<t.length;r++){i=t[r];var l=e[r],c=this.traces[i.uid];c?c.update(i,l):(c=i._module.plot(this,i,l),this.traces[i.uid]=c)}this.glplot.objects.sort((function(t,e){return t._trace.index-e._trace.index}))},A.updateFx=function(t){_(t)||b(t)?(this.pickCanvas.style[\"pointer-events\"]=\"none\",this.mouseContainer.style[\"pointer-events\"]=\"none\"):(this.pickCanvas.style[\"pointer-events\"]=\"auto\",this.mouseContainer.style[\"pointer-events\"]=\"auto\"),this.mouseContainer.style.cursor=\"pan\"===t?\"move\":\"zoom\"===t?\"crosshair\":null},A.emitPointAction=function(t,e){for(var r,n=t.trace.uid,i=t.pointIndex,a=0;a<this.fullData.length;a++)this.fullData[a].uid===n&&(r=this.fullData[a]);var o={x:t.traceCoord[0],y:t.traceCoord[1],curveNumber:r.index,pointNumber:i,data:r._input,fullData:this.fullData,xaxis:this.xaxis,yaxis:this.yaxis};s.appendArrayPointValue(o,r,i),this.graphDiv.emit(e,{points:[o]})},A.draw=function(){if(!this.stopped){requestAnimationFrame(this.redraw);var t=this.glplot,e=this.camera,r=e.mouseListener,n=1===this.lastButtonState&&0===r.buttons,i=this.fullLayout;this.lastButtonState=r.buttons,this.cameraChanged();var a,o=r.x*t.pixelRatio,l=this.canvas.height-t.pixelRatio*r.y;if(e.boxEnabled&&\"zoom\"===i.dragmode){this.selectBox.enabled=!0;for(var c=this.selectBox.selectBox=[Math.min(e.boxStart[0],e.boxEnd[0]),Math.min(e.boxStart[1],e.boxEnd[1]),Math.max(e.boxStart[0],e.boxEnd[0]),Math.max(e.boxStart[1],e.boxEnd[1])],u=0;u<2;u++)e.boxStart[u]===e.boxEnd[u]&&(c[u]=t.dataBox[u],c[u+2]=t.dataBox[u+2]);t.setDirty()}else if(!e.panning&&this.isMouseOver){this.selectBox.enabled=!1;var f=i._size,h=this.xaxis.domain,p=this.yaxis.domain,d=(a=t.pick(o/t.pixelRatio+f.l+h[0]*f.w,l/t.pixelRatio-(f.t+(1-p[1])*f.h)))&&a.object._trace.handlePick(a);if(d&&n&&this.emitPointAction(d,\"plotly_click\"),a&&\"skip\"!==a.object._trace.hoverinfo&&i.hovermode&&d&&(!this.lastPickResult||this.lastPickResult.traceUid!==d.trace.uid||this.lastPickResult.dataCoord[0]!==d.dataCoord[0]||this.lastPickResult.dataCoord[1]!==d.dataCoord[1])){var m=d;this.lastPickResult={traceUid:d.trace?d.trace.uid:null,dataCoord:d.dataCoord.slice()},this.spikes.update({center:a.dataCoord}),m.screenCoord=[((t.viewBox[2]-t.viewBox[0])*(a.dataCoord[0]-t.dataBox[0])/(t.dataBox[2]-t.dataBox[0])+t.viewBox[0])/t.pixelRatio,(this.canvas.height-(t.viewBox[3]-t.viewBox[1])*(a.dataCoord[1]-t.dataBox[1])/(t.dataBox[3]-t.dataBox[1])-t.viewBox[1])/t.pixelRatio],this.emitPointAction(d,\"plotly_hover\");var g=this.fullData[m.trace.index]||{},v=m.pointIndex,y=s.castHoverinfo(g,i,v);if(y&&\"all\"!==y){var x=y.split(\"+\");-1===x.indexOf(\"x\")&&(m.traceCoord[0]=void 0),-1===x.indexOf(\"y\")&&(m.traceCoord[1]=void 0),-1===x.indexOf(\"z\")&&(m.traceCoord[2]=void 0),-1===x.indexOf(\"text\")&&(m.textLabel=void 0),-1===x.indexOf(\"name\")&&(m.name=void 0)}s.loneHover({x:m.screenCoord[0],y:m.screenCoord[1],xLabel:this.hoverFormatter(\"xaxis\",m.traceCoord[0]),yLabel:this.hoverFormatter(\"yaxis\",m.traceCoord[1]),zLabel:m.traceCoord[2],text:m.textLabel,name:m.name,color:s.castHoverOption(g,v,\"bgcolor\")||m.color,borderColor:s.castHoverOption(g,v,\"bordercolor\"),fontFamily:s.castHoverOption(g,v,\"font.family\"),fontSize:s.castHoverOption(g,v,\"font.size\"),fontColor:s.castHoverOption(g,v,\"font.color\"),nameLength:s.castHoverOption(g,v,\"namelength\"),textAlign:s.castHoverOption(g,v,\"align\")},{container:this.svgContainer,gd:this.graphDiv})}}a||this.unhover(),t.draw()}},A.unhover=function(){this.lastPickResult&&(this.spikes.update({}),this.lastPickResult=null,this.graphDiv.emit(\"plotly_unhover\"),s.loneUnhover(this.svgContainer))},A.hoverFormatter=function(t,e){if(void 0!==e){var r=this[t];return o.tickText(r,r.c2l(e),\"hover\").text}}},{\"../../../stackgl_modules\":1124,\"../../components/dragelement/helpers\":384,\"../../components/fx\":406,\"../../lib/show_no_webgl_msg\":525,\"../../plots/cartesian/axes\":554,\"../../registry\":638,\"../cartesian/autorange\":553,\"../cartesian/constants\":561,\"../cartesian/constraints\":562,\"./camera\":594,\"./convert\":595,\"webgl-context\":331}],598:[function(t,e,r){\"use strict\";var n=t(\"../../plot_api/edit_types\").overrideAll,i=t(\"../../components/fx/layout_attributes\"),a=t(\"./scene\"),o=t(\"../get_data\").getSubplotData,s=t(\"../../lib\"),l=t(\"../../constants/xmlns_namespaces\");r.name=\"gl3d\",r.attr=\"scene\",r.idRoot=\"scene\",r.idRegex=r.attrRegex=s.counterRegex(\"scene\"),r.attributes=t(\"./layout/attributes\"),r.layoutAttributes=t(\"./layout/layout_attributes\"),r.baseLayoutAttrOverrides=n({hoverlabel:i.hoverlabel},\"plot\",\"nested\"),r.supplyLayoutDefaults=t(\"./layout/defaults\"),r.plot=function(t){for(var e=t._fullLayout,r=t._fullData,n=e._subplots.gl3d,i=0;i<n.length;i++){var s=n[i],l=o(r,\"gl3d\",s),c=e[s],u=c.camera,f=c._scene;f||(f=new a({id:s,graphDiv:t,container:t.querySelector(\".gl-container\"),staticPlot:t._context.staticPlot,plotGlPixelRatio:t._context.plotGlPixelRatio,camera:u},e),c._scene=f),f.viewInitial||(f.viewInitial={up:{x:u.up.x,y:u.up.y,z:u.up.z},eye:{x:u.eye.x,y:u.eye.y,z:u.eye.z},center:{x:u.center.x,y:u.center.y,z:u.center.z}}),f.plot(l,e,t.layout)}},r.clean=function(t,e,r,n){for(var i=n._subplots.gl3d||[],a=0;a<i.length;a++){var o=i[a];!e[o]&&n[o]._scene&&(n[o]._scene.destroy(),n._infolayer&&n._infolayer.selectAll(\".annotation-\"+o).remove())}},r.toSVG=function(t){for(var e=t._fullLayout,r=e._subplots.gl3d,n=e._size,i=0;i<r.length;i++){var a=e[r[i]],o=a.domain,s=a._scene,c=s.toImage(\"png\");e._glimages.append(\"svg:image\").attr({xmlns:l.svg,\"xlink:href\":c,x:n.l+n.w*o.x[0],y:n.t+n.h*(1-o.y[1]),width:n.w*(o.x[1]-o.x[0]),height:n.h*(o.y[1]-o.y[0]),preserveAspectRatio:\"none\"}),s.destroy()}},r.cleanId=function(t){if(t.match(/^scene[0-9]*$/)){var e=t.substr(5);return\"1\"===e&&(e=\"\"),\"scene\"+e}},r.updateFx=function(t){for(var e=t._fullLayout,r=e._subplots.gl3d,n=0;n<r.length;n++){e[r[n]]._scene.updateFx(e.dragmode,e.hovermode)}}},{\"../../components/fx/layout_attributes\":407,\"../../constants/xmlns_namespaces\":480,\"../../lib\":503,\"../../plot_api/edit_types\":536,\"../get_data\":593,\"./layout/attributes\":599,\"./layout/defaults\":603,\"./layout/layout_attributes\":604,\"./scene\":608}],599:[function(t,e,r){\"use strict\";e.exports={scene:{valType:\"subplotid\",dflt:\"scene\",editType:\"calc+clearAxisTypes\"}}},{}],600:[function(t,e,r){\"use strict\";var n=t(\"../../../components/color\"),i=t(\"../../cartesian/layout_attributes\"),a=t(\"../../../lib/extend\").extendFlat,o=t(\"../../../plot_api/edit_types\").overrideAll;e.exports=o({visible:i.visible,showspikes:{valType:\"boolean\",dflt:!0},spikesides:{valType:\"boolean\",dflt:!0},spikethickness:{valType:\"number\",min:0,dflt:2},spikecolor:{valType:\"color\",dflt:n.defaultLine},showbackground:{valType:\"boolean\",dflt:!1},backgroundcolor:{valType:\"color\",dflt:\"rgba(204, 204, 204, 0.5)\"},showaxeslabels:{valType:\"boolean\",dflt:!0},color:i.color,categoryorder:i.categoryorder,categoryarray:i.categoryarray,title:{text:i.title.text,font:i.title.font},type:a({},i.type,{values:[\"-\",\"linear\",\"log\",\"date\",\"category\"]}),autotypenumbers:i.autotypenumbers,autorange:i.autorange,rangemode:i.rangemode,range:a({},i.range,{items:[{valType:\"any\",editType:\"plot\",impliedEdits:{\"^autorange\":!1}},{valType:\"any\",editType:\"plot\",impliedEdits:{\"^autorange\":!1}}],anim:!1}),tickmode:i.tickmode,nticks:i.nticks,tick0:i.tick0,dtick:i.dtick,tickvals:i.tickvals,ticktext:i.ticktext,ticks:i.ticks,mirror:i.mirror,ticklen:i.ticklen,tickwidth:i.tickwidth,tickcolor:i.tickcolor,showticklabels:i.showticklabels,tickfont:i.tickfont,tickangle:i.tickangle,tickprefix:i.tickprefix,showtickprefix:i.showtickprefix,ticksuffix:i.ticksuffix,showticksuffix:i.showticksuffix,showexponent:i.showexponent,exponentformat:i.exponentformat,minexponent:i.minexponent,separatethousands:i.separatethousands,tickformat:i.tickformat,tickformatstops:i.tickformatstops,hoverformat:i.hoverformat,showline:i.showline,linecolor:i.linecolor,linewidth:i.linewidth,showgrid:i.showgrid,gridcolor:a({},i.gridcolor,{dflt:\"rgb(204, 204, 204)\"}),gridwidth:i.gridwidth,zeroline:i.zeroline,zerolinecolor:i.zerolinecolor,zerolinewidth:i.zerolinewidth,_deprecated:{title:i._deprecated.title,titlefont:i._deprecated.titlefont}},\"plot\",\"from-root\")},{\"../../../components/color\":366,\"../../../lib/extend\":493,\"../../../plot_api/edit_types\":536,\"../../cartesian/layout_attributes\":569}],601:[function(t,e,r){\"use strict\";var n=t(\"tinycolor2\").mix,i=t(\"../../../lib\"),a=t(\"../../../plot_api/plot_template\"),o=t(\"./axis_attributes\"),s=t(\"../../cartesian/type_defaults\"),l=t(\"../../cartesian/axis_defaults\"),c=[\"xaxis\",\"yaxis\",\"zaxis\"];e.exports=function(t,e,r){var u,f;function h(t,e){return i.coerce(u,f,o,t,e)}for(var p=0;p<c.length;p++){var d=c[p];u=t[d]||{},(f=a.newContainer(e,d))._id=d[0]+r.scene,f._name=d,s(u,f,h,r),l(u,f,h,{font:r.font,letter:d[0],data:r.data,showGrid:!0,noTickson:!0,noTicklabelmode:!0,noTicklabelstep:!0,noTicklabelposition:!0,noTicklabeloverflow:!0,bgColor:r.bgColor,calendar:r.calendar},r.fullLayout),h(\"gridcolor\",n(f.color,r.bgColor,13600/187).toRgbString()),h(\"title.text\",d[0]),f.setScale=i.noop,h(\"showspikes\")&&(h(\"spikesides\"),h(\"spikethickness\"),h(\"spikecolor\",f.color)),h(\"showaxeslabels\"),h(\"showbackground\")&&h(\"backgroundcolor\")}}},{\"../../../lib\":503,\"../../../plot_api/plot_template\":543,\"../../cartesian/axis_defaults\":556,\"../../cartesian/type_defaults\":582,\"./axis_attributes\":600,tinycolor2:312}],602:[function(t,e,r){\"use strict\";var n=t(\"../../../lib/str2rgbarray\"),i=t(\"../../../lib\"),a=[\"xaxis\",\"yaxis\",\"zaxis\"];function o(){this.bounds=[[-10,-10,-10],[10,10,10]],this.ticks=[[],[],[]],this.tickEnable=[!0,!0,!0],this.tickFont=[\"sans-serif\",\"sans-serif\",\"sans-serif\"],this.tickSize=[12,12,12],this.tickAngle=[0,0,0],this.tickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.tickPad=[18,18,18],this.labels=[\"x\",\"y\",\"z\"],this.labelEnable=[!0,!0,!0],this.labelFont=[\"Open Sans\",\"Open Sans\",\"Open Sans\"],this.labelSize=[20,20,20],this.labelColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.labelPad=[30,30,30],this.lineEnable=[!0,!0,!0],this.lineMirror=[!1,!1,!1],this.lineWidth=[1,1,1],this.lineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.lineTickEnable=[!0,!0,!0],this.lineTickMirror=[!1,!1,!1],this.lineTickLength=[10,10,10],this.lineTickWidth=[1,1,1],this.lineTickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.gridEnable=[!0,!0,!0],this.gridWidth=[1,1,1],this.gridColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.zeroEnable=[!0,!0,!0],this.zeroLineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.zeroLineWidth=[2,2,2],this.backgroundEnable=[!0,!0,!0],this.backgroundColor=[[.8,.8,.8,.5],[.8,.8,.8,.5],[.8,.8,.8,.5]],this._defaultTickPad=this.tickPad.slice(),this._defaultLabelPad=this.labelPad.slice(),this._defaultLineTickLength=this.lineTickLength.slice()}o.prototype.merge=function(t,e){for(var r=0;r<3;++r){var o=e[a[r]];o.visible?(this.labels[r]=t._meta?i.templateString(o.title.text,t._meta):o.title.text,\"font\"in o.title&&(o.title.font.color&&(this.labelColor[r]=n(o.title.font.color)),o.title.font.family&&(this.labelFont[r]=o.title.font.family),o.title.font.size&&(this.labelSize[r]=o.title.font.size)),\"showline\"in o&&(this.lineEnable[r]=o.showline),\"linecolor\"in o&&(this.lineColor[r]=n(o.linecolor)),\"linewidth\"in o&&(this.lineWidth[r]=o.linewidth),\"showgrid\"in o&&(this.gridEnable[r]=o.showgrid),\"gridcolor\"in o&&(this.gridColor[r]=n(o.gridcolor)),\"gridwidth\"in o&&(this.gridWidth[r]=o.gridwidth),\"log\"===o.type?this.zeroEnable[r]=!1:\"zeroline\"in o&&(this.zeroEnable[r]=o.zeroline),\"zerolinecolor\"in o&&(this.zeroLineColor[r]=n(o.zerolinecolor)),\"zerolinewidth\"in o&&(this.zeroLineWidth[r]=o.zerolinewidth),\"ticks\"in o&&o.ticks?this.lineTickEnable[r]=!0:this.lineTickEnable[r]=!1,\"ticklen\"in o&&(this.lineTickLength[r]=this._defaultLineTickLength[r]=o.ticklen),\"tickcolor\"in o&&(this.lineTickColor[r]=n(o.tickcolor)),\"tickwidth\"in o&&(this.lineTickWidth[r]=o.tickwidth),\"tickangle\"in o&&(this.tickAngle[r]=\"auto\"===o.tickangle?-3600:Math.PI*-o.tickangle/180),\"showticklabels\"in o&&(this.tickEnable[r]=o.showticklabels),\"tickfont\"in o&&(o.tickfont.color&&(this.tickColor[r]=n(o.tickfont.color)),o.tickfont.family&&(this.tickFont[r]=o.tickfont.family),o.tickfont.size&&(this.tickSize[r]=o.tickfont.size)),\"mirror\"in o?-1!==[\"ticks\",\"all\",\"allticks\"].indexOf(o.mirror)?(this.lineTickMirror[r]=!0,this.lineMirror[r]=!0):!0===o.mirror?(this.lineTickMirror[r]=!1,this.lineMirror[r]=!0):(this.lineTickMirror[r]=!1,this.lineMirror[r]=!1):this.lineMirror[r]=!1,\"showbackground\"in o&&!1!==o.showbackground?(this.backgroundEnable[r]=!0,this.backgroundColor[r]=n(o.backgroundcolor)):this.backgroundEnable[r]=!1):(this.tickEnable[r]=!1,this.labelEnable[r]=!1,this.lineEnable[r]=!1,this.lineTickEnable[r]=!1,this.gridEnable[r]=!1,this.zeroEnable[r]=!1,this.backgroundEnable[r]=!1)}},e.exports=function(t,e){var r=new o;return r.merge(t,e),r}},{\"../../../lib\":503,\"../../../lib/str2rgbarray\":528}],603:[function(t,e,r){\"use strict\";var n=t(\"../../../lib\"),i=t(\"../../../components/color\"),a=t(\"../../../registry\"),o=t(\"../../subplot_defaults\"),s=t(\"./axis_defaults\"),l=t(\"./layout_attributes\"),c=t(\"../../get_data\").getSubplotData;function u(t,e,r,n){for(var o=r(\"bgcolor\"),l=i.combine(o,n.paper_bgcolor),u=[\"up\",\"center\",\"eye\"],f=0;f<u.length;f++)r(\"camera.\"+u[f]+\".x\"),r(\"camera.\"+u[f]+\".y\"),r(\"camera.\"+u[f]+\".z\");r(\"camera.projection.type\");var h=!!r(\"aspectratio.x\")&&!!r(\"aspectratio.y\")&&!!r(\"aspectratio.z\"),p=r(\"aspectmode\",h?\"manual\":\"auto\");h||(t.aspectratio=e.aspectratio={x:1,y:1,z:1},\"manual\"===p&&(e.aspectmode=\"auto\"),t.aspectmode=e.aspectmode);var d=c(n.fullData,\"gl3d\",n.id);s(t,e,{font:n.font,scene:n.id,data:d,bgColor:l,calendar:n.calendar,autotypenumbersDflt:n.autotypenumbersDflt,fullLayout:n.fullLayout}),a.getComponentMethod(\"annotations3d\",\"handleDefaults\")(t,e,n);var m=n.getDfltFromLayout(\"dragmode\");if(!1!==m&&!m)if(m=\"orbit\",t.camera&&t.camera.up){var g=t.camera.up.x,v=t.camera.up.y,y=t.camera.up.z;0!==y&&(g&&v&&y?y/Math.sqrt(g*g+v*v+y*y)>.999&&(m=\"turntable\"):m=\"turntable\")}else m=\"turntable\";r(\"dragmode\",m),r(\"hovermode\",n.getDfltFromLayout(\"hovermode\"))}e.exports=function(t,e,r){var i=e._basePlotModules.length>1;o(t,e,r,{type:\"gl3d\",attributes:l,handleDefaults:u,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})}},{\"../../../components/color\":366,\"../../../lib\":503,\"../../../registry\":638,\"../../get_data\":593,\"../../subplot_defaults\":632,\"./axis_defaults\":601,\"./layout_attributes\":604}],604:[function(t,e,r){\"use strict\";var n=t(\"./axis_attributes\"),i=t(\"../../domain\").attributes,a=t(\"../../../lib/extend\").extendFlat,o=t(\"../../../lib\").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\"}}e.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\"}}}},{\"../../../lib\":503,\"../../../lib/extend\":493,\"../../domain\":584,\"./axis_attributes\":600}],605:[function(t,e,r){\"use strict\";var n=t(\"../../../lib/str2rgbarray\"),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)}},e.exports=function(t){var e=new a;return e.merge(t),e}},{\"../../../lib/str2rgbarray\":528}],606:[function(t,e,r){\"use strict\";e.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 f=u.tickmode;if(\"auto\"===u.tickmode){u.tickmode=\"linear\";var h=u.nticks||i.constrain(u._length/40,4,9);n.autoTicks(u,Math.abs(u.range[1]-u.range[0])/h)}for(var p=n.calcTicks(u,{msUTC:!0}),d=0;d<p.length;++d)p[d].x=p[d].x*t.dataScale[c],\"date\"===u.type&&(p[d].text=p[d].text.replace(/\\<br\\>/g,\" \"));l[c]=p,u.tickmode=f}}e.ticks=l;for(c=0;c<3;++c){o[c]=.5*(t.glplot.bounds[0][c]+t.glplot.bounds[1][c]);for(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;a<n.length;++a)i[a]=n[a].x;e[r]=i}return e}(l)};var n=t(\"../../cartesian/axes\"),i=t(\"../../../lib\"),a=[\"xaxis\",\"yaxis\",\"zaxis\"],o=[0,0,0]},{\"../../../lib\":503,\"../../cartesian/axes\":554}],607:[function(t,e,r){\"use strict\";function n(t,e){var r,n,i=[0,0,0,0];for(r=0;r<4;++r)for(n=0;n<4;++n)i[n]+=t[4*r+n]*e[r];return i}e.exports=function(t,e){return n(t.projection,n(t.view,n(t.model,[e[0],e[1],e[2],1])))}},{}],608:[function(t,e,r){\"use strict\";var n,i,a=t(\"../../../stackgl_modules\").gl_plot3d,o=a.createCamera,s=a.createScene,l=t(\"webgl-context\"),c=t(\"has-passive-events\"),u=t(\"../../registry\"),f=t(\"../../lib\"),h=f.preserveDrawingBuffer(),p=t(\"../../plots/cartesian/axes\"),d=t(\"../../components/fx\"),m=t(\"../../lib/str2rgbarray\"),g=t(\"../../lib/show_no_webgl_msg\"),v=t(\"./project\"),y=t(\"./layout/convert\"),x=t(\"./layout/spikes\"),b=t(\"./layout/tick_marks\");function _(t,e){var r=document.createElement(\"div\"),n=t.container;this.graphDiv=t.graphDiv;var i=document.createElementNS(\"http://www.w3.org/2000/svg\",\"svg\");i.style.position=\"absolute\",i.style.top=i.style.left=\"0px\",i.style.width=i.style.height=\"100%\",i.style[\"z-index\"]=20,i.style[\"pointer-events\"]=\"none\",r.appendChild(i),this.svgContainer=i,r.id=t.id,r.style.position=\"absolute\",r.style.top=r.style.left=\"0px\",r.style.width=r.style.height=\"100%\",n.appendChild(r),this.fullLayout=e,this.id=t.id||\"scene\",this.fullSceneLayout=e[this.id],this.plotArgs=[[],{},{}],this.axesOptions=y(e,e[this.id]),this.spikeOptions=x(e[this.id]),this.container=r,this.staticMode=!!t.staticPlot,this.pixelRatio=this.pixelRatio||t.plotGlPixelRatio||2,this.dataScale=[1,1,1],this.contourLevels=[[],[],[]],this.convertAnnotations=u.getComponentMethod(\"annotations3d\",\"convert\"),this.drawAnnotations=u.getComponentMethod(\"annotations3d\",\"draw\"),this.initializeGLPlot()}var w=_.prototype;w.prepareOptions=function(){var t={canvas:this.canvas,gl:this.gl,glOptions:{preserveDrawingBuffer:h,premultipliedAlpha:!0,antialias:!0},container:this.container,axes:this.axesOptions,spikes:this.spikeOptions,pickRadius:10,snapToData:!0,autoScale:!0,autoBounds:!1,cameraObject:this.camera,pixelRatio:this.pixelRatio};if(this.staticMode){if(!(i||(n=document.createElement(\"canvas\"),i=l({canvas:n,preserveDrawingBuffer:!0,premultipliedAlpha:!0,antialias:!0}))))throw new Error(\"error creating static canvas/context for image server\");t.gl=i,t.canvas=n}return t};var T=!0;w.tryCreatePlot=function(){var t=this.prepareOptions(),e=!0;try{this.glplot=s(t)}catch(r){if(this.staticMode||!T||h)e=!1;else{f.warn([\"webgl setup failed possibly due to\",\"false preserveDrawingBuffer config.\",\"The mobile/tablet device may not be detected by is-mobile module.\",\"Enabling preserveDrawingBuffer in second attempt to create webgl scene...\"].join(\" \"));try{h=t.glOptions.preserveDrawingBuffer=!0,this.glplot=s(t)}catch(r){h=t.glOptions.preserveDrawingBuffer=!1,e=!1}}}return T=!1,e},w.initializeGLCamera=function(){var t=this.fullSceneLayout.camera,e=\"orthographic\"===t.projection.type;this.camera=o(this.container,{center:[t.center.x,t.center.y,t.center.z],eye:[t.eye.x,t.eye.y,t.eye.z],up:[t.up.x,t.up.y,t.up.z],_ortho:e,zoomMin:.01,zoomMax:100,mode:\"orbit\"})},w.initializeGLPlot=function(){var t=this;if(t.initializeGLCamera(),!t.tryCreatePlot())return g(t);t.traces={},t.make4thDimension();var e=t.graphDiv,r=e.layout,n=function(){var e={};return t.isCameraChanged(r)&&(e[t.id+\".camera\"]=t.getCamera()),t.isAspectChanged(r)&&(e[t.id+\".aspectratio\"]=t.glplot.getAspectratio(),\"manual\"!==r[t.id].aspectmode&&(t.fullSceneLayout.aspectmode=r[t.id].aspectmode=e[t.id+\".aspectmode\"]=\"manual\")),e},i=function(t){if(!1!==t.fullSceneLayout.dragmode){var e=n();t.saveLayout(r),t.graphDiv.emit(\"plotly_relayout\",e)}};return t.glplot.canvas&&(t.glplot.canvas.addEventListener(\"mouseup\",(function(){i(t)})),t.glplot.canvas.addEventListener(\"wheel\",(function(r){if(e._context._scrollZoom.gl3d){if(t.camera._ortho){var n=r.deltaX>r.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},w.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 c=Object.keys(e.traces),u=null,h=e.glplot.selection,m=0;m<c.length;++m)\"skip\"!==(t=e.traces[c[m]]).data.hoverinfo&&t.handlePick(h)&&(u=t),t.setContourLevels&&t.setContourLevels();function g(t,r,n){var i=e.fullSceneLayout[t+\"axis\"];return\"log\"!==i.type&&(r=i.d2l(r)),p.hoverLabelText(i,r,n)}if(null!==u){var y=v(e.glplot.cameraParams,h.dataCoordinate);t=u.data;var x,_=r._fullData[t.index],w=h.index,T={xLabel:g(\"x\",h.traceCoordinate[0],t.xhoverformat),yLabel:g(\"y\",h.traceCoordinate[1],t.yhoverformat),zLabel:g(\"z\",h.traceCoordinate[2],t.zhoverformat)},k=d.castHoverinfo(_,e.fullLayout,w),A=(k||\"\").split(\"+\"),M=k&&\"all\"===k;_.hovertemplate||M||(-1===A.indexOf(\"x\")&&(T.xLabel=void 0),-1===A.indexOf(\"y\")&&(T.yLabel=void 0),-1===A.indexOf(\"z\")&&(T.zLabel=void 0),-1===A.indexOf(\"text\")&&(h.textLabel=void 0),-1===A.indexOf(\"name\")&&(u.name=void 0));var S=[];\"cone\"===t.type||\"streamtube\"===t.type?(T.uLabel=g(\"x\",h.traceCoordinate[3],t.uhoverformat),(M||-1!==A.indexOf(\"u\"))&&S.push(\"u: \"+T.uLabel),T.vLabel=g(\"y\",h.traceCoordinate[4],t.vhoverformat),(M||-1!==A.indexOf(\"v\"))&&S.push(\"v: \"+T.vLabel),T.wLabel=g(\"z\",h.traceCoordinate[5],t.whoverformat),(M||-1!==A.indexOf(\"w\"))&&S.push(\"w: \"+T.wLabel),T.normLabel=h.traceCoordinate[6].toPrecision(3),(M||-1!==A.indexOf(\"norm\"))&&S.push(\"norm: \"+T.normLabel),\"streamtube\"===t.type&&(T.divergenceLabel=h.traceCoordinate[7].toPrecision(3),(M||-1!==A.indexOf(\"divergence\"))&&S.push(\"divergence: \"+T.divergenceLabel)),h.textLabel&&S.push(h.textLabel),x=S.join(\"<br>\")):\"isosurface\"===t.type||\"volume\"===t.type?(T.valueLabel=p.hoverLabelText(e._mockAxis,e._mockAxis.d2l(h.traceCoordinate[3]),t.valuehoverformat),S.push(\"value: \"+T.valueLabel),h.textLabel&&S.push(h.textLabel),x=S.join(\"<br>\")):x=h.textLabel;var E={x:h.traceCoordinate[0],y:h.traceCoordinate[1],z:h.traceCoordinate[2],data:_._input,fullData:_,curveNumber:_.index,pointNumber:w};d.appendArrayPointValue(E,_,w),t._module.eventData&&(E=_._module.eventData(E,h,_,{},w));var L={points:[E]};if(e.fullSceneLayout.hovermode){var C=[];d.loneHover({trace:_,x:(.5+.5*y[0]/y[3])*s,y:(.5-.5*y[1]/y[3])*l,xLabel:T.xLabel,yLabel:T.yLabel,zLabel:T.zLabel,text:x,name:u.name,color:d.castHoverOption(_,w,\"bgcolor\")||u.color,borderColor:d.castHoverOption(_,w,\"bordercolor\"),fontFamily:d.castHoverOption(_,w,\"font.family\"),fontSize:d.castHoverOption(_,w,\"font.size\"),fontColor:d.castHoverOption(_,w,\"font.color\"),nameLength:d.castHoverOption(_,w,\"namelength\"),textAlign:d.castHoverOption(_,w,\"align\"),hovertemplate:f.castOption(_,w,\"hovertemplate\"),hovertemplateLabels:f.extendFlat({},E,T),eventData:[E]},{container:n,gd:r,inOut_bbox:C}),E.bbox=C[0]}h.buttons&&h.distance<5?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)},w.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 k=[\"xaxis\",\"yaxis\",\"zaxis\"];function A(t,e,r){for(var n=t.fullSceneLayout,i=0;i<3;i++){var a=k[i],o=a.charAt(0),s=n[a],l=e[o],c=e[o+\"calendar\"],u=e[\"_\"+o+\"length\"];if(f.isArrayOrTypedArray(l))for(var h,p=0;p<(u||l.length);p++)if(f.isArrayOrTypedArray(l[p]))for(var d=0;d<l[p].length;++d)h=s.d2l(l[p][d],0,c),!isNaN(h)&&isFinite(h)&&(r[0][i]=Math.min(r[0][i],h),r[1][i]=Math.max(r[1][i],h));else h=s.d2l(l[p],0,c),!isNaN(h)&&isFinite(h)&&(r[0][i]=Math.min(r[0][i],h),r[1][i]=Math.max(r[1][i],h));else r[0][i]=Math.min(r[0][i],0),r[1][i]=Math.max(r[1][i],u-1)}}w.plot=function(t,e,r){if(this.plotArgs=[t,e,r],!this.glplot.contextLost){var n,i,a,o,s,l,c=e[this.id],u=r[this.id];this.fullLayout=e,this.fullSceneLayout=c,this.axesOptions.merge(e,c),this.spikeOptions.merge(c),this.setViewport(c),this.updateFx(c.dragmode,c.hovermode),this.camera.enableWheel=this.graphDiv._context._scrollZoom.gl3d,this.glplot.setClearColor(m(c.bgcolor)),this.setConvert(s),t?Array.isArray(t)||(t=[t]):t=[];var f=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]];for(a=0;a<t.length;++a)!0===(n=t[a]).visible&&0!==n._length&&A(this,n,f);!function(t,e){for(var r=t.fullSceneLayout,n=r.annotations||[],i=0;i<3;i++)for(var a=k[i],o=a.charAt(0),s=r[a],l=0;l<n.length;l++){var c=n[l];if(c.visible){var u=s.r2l(c[o]);!isNaN(u)&&isFinite(u)&&(e[0][i]=Math.min(e[0][i],u),e[1][i]=Math.max(e[1][i],u))}}}(this,f);var h=[1,1,1];for(o=0;o<3;++o)f[1][o]===f[0][o]?h[o]=1:h[o]=1/(f[1][o]-f[0][o]);for(this.dataScale=h,this.convertAnnotations(this),a=0;a<t.length;++a)!0===(n=t[a]).visible&&0!==n._length&&((i=this.traces[n.uid])?i.data.type===n.type?i.update(n):(i.dispose(),i=n._module.plot(this,n),this.traces[n.uid]=i):(i=n._module.plot(this,n),this.traces[n.uid]=i),i.name=n.name);var p=Object.keys(this.traces);t:for(a=0;a<p.length;++a){for(o=0;o<t.length;++o)if(t[o].uid===p[a]&&!0===t[o].visible&&0!==t[o]._length)continue t;(i=this.traces[p[a]]).dispose(),delete this.traces[p[a]]}this.glplot.objects.sort((function(t,e){return t._trace.data.index-e._trace.data.index}));var d,g=[[0,0,0],[0,0,0]],v=[],y={};for(a=0;a<3;++a){if((l=(s=c[k[a]]).type)in y?(y[l].acc*=h[a],y[l].count+=1):y[l]={acc:h[a],count:1},s.autorange){g[0][a]=1/0,g[1][a]=-1/0;var x=this.glplot.objects,b=this.fullSceneLayout.annotations||[],_=s._name.charAt(0);for(o=0;o<x.length;o++){var w=x[o],T=w.bounds,M=w._trace.data._pad||0;\"ErrorBars\"===w.constructor.name&&s._lowerLogErrorBound?g[0][a]=Math.min(g[0][a],s._lowerLogErrorBound):g[0][a]=Math.min(g[0][a],T[0][a]/h[a]-M),g[1][a]=Math.max(g[1][a],T[1][a]/h[a]+M)}for(o=0;o<b.length;o++){var S=b[o];if(S.visible){var E=s.r2l(S[_]);g[0][a]=Math.min(g[0][a],E),g[1][a]=Math.max(g[1][a],E)}}if(\"rangemode\"in s&&\"tozero\"===s.rangemode&&(g[0][a]=Math.min(g[0][a],0),g[1][a]=Math.max(g[1][a],0)),g[0][a]>g[1][a])g[0][a]=-1,g[1][a]=1;else{var L=g[1][a]-g[0][a];g[0][a]-=L/32,g[1][a]+=L/32}if(\"reversed\"===s.autorange){var C=g[0][a];g[0][a]=g[1][a],g[1][a]=C}}else{var P=s.range;g[0][a]=s.r2l(P[0]),g[1][a]=s.r2l(P[1])}g[0][a]===g[1][a]&&(g[0][a]-=1,g[1][a]+=1),v[a]=g[1][a]-g[0][a],this.glplot.setBounds(a,{min:g[0][a]*h[a],max:g[1][a]*h[a]})}var I=c.aspectmode;if(\"cube\"===I)d=[1,1,1];else if(\"manual\"===I){var O=c.aspectratio;d=[O.x,O.y,O.z]}else{if(\"auto\"!==I&&\"data\"!==I)throw new Error(\"scene.js aspectRatio was not one of the enumerated types\");var z=[1,1,1];for(a=0;a<3;++a){var D=y[l=(s=c[k[a]]).type];z[a]=Math.pow(D.acc,1/D.count)/h[a]}d=\"data\"===I||Math.max.apply(null,z)/Math.min.apply(null,z)<=4?z:[1,1,1]}c.aspectratio.x=u.aspectratio.x=d[0],c.aspectratio.y=u.aspectratio.y=d[1],c.aspectratio.z=u.aspectratio.z=d[2],this.glplot.setAspectratio(c.aspectratio),this.viewInitial.aspectratio||(this.viewInitial.aspectratio={x:c.aspectratio.x,y:c.aspectratio.y,z:c.aspectratio.z}),this.viewInitial.aspectmode||(this.viewInitial.aspectmode=c.aspectmode);var R=c.domain||null,F=e._size||null;if(R&&F){var B=this.container.style;B.position=\"absolute\",B.left=F.l+R.x[0]*F.w+\"px\",B.top=F.t+(1-R.y[1])*F.h+\"px\",B.width=F.w*(R.x[1]-R.x[0])+\"px\",B.height=F.h*(R.y[1]-R.y[0])+\"px\"}this.glplot.redraw()}},w.destroy=function(){this.glplot&&(this.camera.mouseListener.enabled=!1,this.container.removeEventListener(\"wheel\",this.camera.wheelListener),this.camera=null,this.glplot.dispose(),this.container.parentNode.removeChild(this.container),this.glplot=null)},w.getCamera=function(){var t;return this.camera.view.recalcMatrix(this.camera.view.lastT()),{up:{x:(t=this.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\"}}},w.setViewport=function(t){var e,r=t.camera;this.camera.lookAt.apply(this,[[(e=r).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]]),this.glplot.setAspectratio(t.aspectratio),\"orthographic\"===r.projection.type!==this.camera._ortho&&(this.glplot.redraw(),this.glplot.clearRGBA(),this.glplot.dispose(),this.initializeGLPlot())},w.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},w.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},w.saveLayout=function(t){var e,r,n,i,a,o,s=this.fullLayout,l=this.isCameraChanged(t),c=this.isAspectChanged(t),h=l||c;if(h){var p={};if(l&&(e=this.getCamera(),n=(r=f.nestedProperty(t,this.id+\".camera\")).get(),p[this.id+\".camera\"]=n),c&&(i=this.glplot.getAspectratio(),o=(a=f.nestedProperty(t,this.id+\".aspectratio\")).get(),p[this.id+\".aspectratio\"]=o),u.call(\"_storeDirectGUIEdit\",t,s._preGUI,p),l)r.set(e),f.nestedProperty(s,this.id+\".camera\").set(e);if(c)a.set(i),f.nestedProperty(s,this.id+\".aspectratio\").set(i),this.glplot.redraw()}return h},w.updateFx=function(t,e){var r=this.camera;if(r)if(\"orbit\"===t)r.mode=\"orbit\",r.keyBindingMode=\"rotate\";else if(\"turntable\"===t){r.up=[0,0,1],r.mode=\"turntable\",r.keyBindingMode=\"rotate\";var n=this.graphDiv,i=n._fullLayout,a=this.fullSceneLayout.camera,o=a.up.x,s=a.up.y,l=a.up.z;if(l/Math.sqrt(o*o+s*s+l*l)<.999){var c=this.id+\".camera.up\",h={x:0,y:0,z:1},p={};p[c]=h;var d=n.layout;u.call(\"_storeDirectGUIEdit\",d,i._preGUI,p),a.up=h,f.nestedProperty(d,c).set(h)}}else r.keyBindingMode=t;this.fullSceneLayout.hovermode=e},w.toImage=function(t){t||(t=\"png\"),this.staticMode&&this.container.appendChild(n),this.glplot.redraw();var e=this.glplot.gl,r=e.drawingBufferWidth,i=e.drawingBufferHeight;e.bindFramebuffer(e.FRAMEBUFFER,null);var a=new Uint8Array(r*i*4);e.readPixels(0,0,r,i,e.RGBA,e.UNSIGNED_BYTE,a),function(t,e,r){for(var n=0,i=r-1;n<i;++n,--i)for(var a=0;a<e;++a)for(var o=0;o<4;++o){var s=4*(e*n+a)+o,l=4*(e*i+a)+o,c=t[s];t[s]=t[l],t[l]=c}}(a,r,i),function(t,e,r){for(var n=0;n<r;++n)for(var i=0;i<e;++i){var a=4*(e*n+i),o=t[a+3];if(o>0)for(var s=255/o,l=0;l<3;++l)t[a+l]=Math.min(s*t[a+l],255)}}(a,r,i);var o=document.createElement(\"canvas\");o.width=r,o.height=i;var s,l=o.getContext(\"2d\",{willReadFrequently:!0}),c=l.createImageData(r,i);switch(c.data.set(a),l.putImageData(c,0,0),t){case\"jpeg\":s=o.toDataURL(\"image/jpeg\");break;case\"webp\":s=o.toDataURL(\"image/webp\");break;default:s=o.toDataURL(\"image/png\")}return this.staticMode&&this.container.removeChild(n),s},w.setConvert=function(){for(var t=0;t<3;t++){var e=this.fullSceneLayout[k[t]];p.setConvert(e,this.fullLayout),e.setScale=f.noop}},w.make4thDimension=function(){var t=this.graphDiv._fullLayout;this._mockAxis={type:\"linear\",showexponent:\"all\",exponentformat:\"B\"},p.setConvert(this._mockAxis,t)},e.exports=_},{\"../../../stackgl_modules\":1124,\"../../components/fx\":406,\"../../lib\":503,\"../../lib/show_no_webgl_msg\":525,\"../../lib/str2rgbarray\":528,\"../../plots/cartesian/axes\":554,\"../../registry\":638,\"./layout/convert\":602,\"./layout/spikes\":605,\"./layout/tick_marks\":606,\"./project\":607,\"has-passive-events\":229,\"webgl-context\":331}],609:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,n){n=n||t.length;for(var i=new Array(n),a=0;a<n;a++)i[a]=[t[a],e[a],r[a]];return i}},{}],610:[function(t,e,r){\"use strict\";var n=t(\"./font_attributes\"),i=t(\"./animation_attributes\"),a=t(\"../components/color/attributes\"),o=t(\"../components/shapes/draw_newshape/attributes\"),s=t(\"./pad_attributes\"),l=t(\"../lib/extend\").extendFlat,c=n({editType:\"calc\"});c.family.dflt='\"Open Sans\", verdana, arial, sans-serif',c.size.dflt=12,c.color.dflt=a.defaultLine,e.exports={font:c,title:{text:{valType:\"string\",editType:\"layoutstyle\"},font:n({editType:\"layoutstyle\"}),xref:{valType:\"enumerated\",dflt:\"container\",values:[\"container\",\"paper\"],editType:\"layoutstyle\"},yref:{valType:\"enumerated\",dflt:\"container\",values:[\"container\",\"paper\"],editType:\"layoutstyle\"},x:{valType:\"number\",min:0,max:1,dflt:.5,editType:\"layoutstyle\"},y:{valType:\"number\",min:0,max:1,dflt:\"auto\",editType:\"layoutstyle\"},xanchor:{valType:\"enumerated\",dflt:\"auto\",values:[\"auto\",\"left\",\"center\",\"right\"],editType:\"layoutstyle\"},yanchor:{valType:\"enumerated\",dflt:\"auto\",values:[\"auto\",\"top\",\"middle\",\"bottom\"],editType:\"layoutstyle\"},pad:l(s({editType:\"layoutstyle\"}),{}),editType:\"layoutstyle\"},uniformtext:{mode:{valType:\"enumerated\",values:[!1,\"hide\",\"show\"],dflt:!1,editType:\"plot\"},minsize:{valType:\"number\",min:0,dflt:0,editType:\"plot\"},editType:\"plot\"},autosize:{valType:\"boolean\",dflt:!1,editType:\"none\"},width:{valType:\"number\",min:10,dflt:700,editType:\"plot\"},height:{valType:\"number\",min:10,dflt:450,editType:\"plot\"},margin:{l:{valType:\"number\",min:0,dflt:80,editType:\"plot\"},r:{valType:\"number\",min:0,dflt:80,editType:\"plot\"},t:{valType:\"number\",min:0,dflt:100,editType:\"plot\"},b:{valType:\"number\",min:0,dflt:80,editType:\"plot\"},pad:{valType:\"number\",min:0,dflt:0,editType:\"plot\"},autoexpand:{valType:\"boolean\",dflt:!0,editType:\"plot\"},editType:\"plot\"},computed:{valType:\"any\",editType:\"none\"},paper_bgcolor:{valType:\"color\",dflt:a.background,editType:\"plot\"},plot_bgcolor:{valType:\"color\",dflt:a.background,editType:\"layoutstyle\"},autotypenumbers:{valType:\"enumerated\",values:[\"convert types\",\"strict\"],dflt:\"convert types\",editType:\"calc\"},separators:{valType:\"string\",editType:\"plot\"},hidesources:{valType:\"boolean\",dflt:!1,editType:\"plot\"},showlegend:{valType:\"boolean\",editType:\"legend\"},colorway:{valType:\"colorlist\",dflt:a.defaults,editType:\"calc\"},datarevision:{valType:\"any\",editType:\"calc\"},uirevision:{valType:\"any\",editType:\"none\"},editrevision:{valType:\"any\",editType:\"none\"},selectionrevision:{valType:\"any\",editType:\"none\"},template:{valType:\"any\",editType:\"calc\"},newshape:o.newshape,activeshape:o.activeshape,meta:{valType:\"any\",arrayOk:!0,editType:\"plot\"},transition:l({},i.transition,{editType:\"none\"}),_deprecated:{title:{valType:\"string\",editType:\"layoutstyle\"},titlefont:n({editType:\"layoutstyle\"})}}},{\"../components/color/attributes\":365,\"../components/shapes/draw_newshape/attributes\":451,\"../lib/extend\":493,\"./animation_attributes\":548,\"./font_attributes\":585,\"./pad_attributes\":618}],611:[function(t,e,r){\"use strict\";var n=t(\"../../lib/sort_object_keys\"),i='\\xa9 <a target=\"_blank\" href=\"https://www.openstreetmap.org/copyright\">OpenStreetMap</a> contributors',a=['\\xa9 <a target=\"_blank\" href=\"https://carto.com/\">Carto</a>',i].join(\" \"),o=['Map tiles by <a target=\"_blank\" href=\"https://stamen.com\">Stamen Design</a>','under <a target=\"_blank\" href=\"https://creativecommons.org/licenses/by/3.0\">CC BY 3.0</a>',\"|\",'Data by <a target=\"_blank\" href=\"https://openstreetmap.org\">OpenStreetMap</a> contributors','under <a target=\"_blank\" href=\"https://www.openstreetmap.org/copyright\">ODbL</a>'].join(\" \"),s={\"open-street-map\":{id:\"osm\",version:8,sources:{\"plotly-osm-tiles\":{type:\"raster\",attribution:i,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}]},\"white-bg\":{id:\"white-bg\",version:8,sources:{},layers:[{id:\"white-bg\",type:\"background\",paint:{\"background-color\":\"#FFFFFF\"},minzoom:0,maxzoom:22}]},\"carto-positron\":{id:\"carto-positron\",version:8,sources:{\"plotly-carto-positron\":{type:\"raster\",attribution:a,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}]},\"carto-darkmatter\":{id:\"carto-darkmatter\",version:8,sources:{\"plotly-carto-darkmatter\":{type:\"raster\",attribution:a,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}]},\"stamen-terrain\":{id:\"stamen-terrain\",version:8,sources:{\"plotly-stamen-terrain\":{type:\"raster\",attribution:o,tiles:[\"https://stamen-tiles.a.ssl.fastly.net/terrain/{z}/{x}/{y}.png\"],tileSize:256}},layers:[{id:\"plotly-stamen-terrain\",type:\"raster\",source:\"plotly-stamen-terrain\",minzoom:0,maxzoom:22}]},\"stamen-toner\":{id:\"stamen-toner\",version:8,sources:{\"plotly-stamen-toner\":{type:\"raster\",attribution:o,tiles:[\"https://stamen-tiles.a.ssl.fastly.net/toner/{z}/{x}/{y}.png\"],tileSize:256}},layers:[{id:\"plotly-stamen-toner\",type:\"raster\",source:\"plotly-stamen-toner\",minzoom:0,maxzoom:22}]},\"stamen-watercolor\":{id:\"stamen-watercolor\",version:8,sources:{\"plotly-stamen-watercolor\":{type:\"raster\",attribution:['Map tiles by <a target=\"_blank\" href=\"https://stamen.com\">Stamen Design</a>','under <a target=\"_blank\" href=\"https://creativecommons.org/licenses/by/3.0\">CC BY 3.0</a>',\"|\",'Data by <a target=\"_blank\" href=\"https://openstreetmap.org\">OpenStreetMap</a> contributors','under <a target=\"_blank\" href=\"https://creativecommons.org/licenses/by-sa/3.0\">CC BY SA</a>'].join(\" \"),tiles:[\"https://stamen-tiles.a.ssl.fastly.net/watercolor/{z}/{x}/{y}.png\"],tileSize:256}},layers:[{id:\"plotly-stamen-watercolor\",type:\"raster\",source:\"plotly-stamen-watercolor\",minzoom:0,maxzoom:22}]}},l=n(s);e.exports={requiredVersion:\"1.10.1\",styleUrlPrefix:\"mapbox://styles/mapbox/\",styleUrlSuffix:\"v9\",styleValuesMapbox:[\"basic\",\"streets\",\"outdoors\",\"light\",\"dark\",\"satellite\",\"satellite-streets\"],styleValueDflt:\"basic\",stylesNonMapbox:s,styleValuesNonMapbox:l,traceLayerPrefix:\"plotly-trace-layer-\",layoutLayerPrefix:\"plotly-layout-layer-\",wrongVersionErrorMsg:[\"Your custom plotly.js bundle is not using the correct mapbox-gl version\",\"Please install mapbox-gl@1.10.1.\"].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:\",l.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\\')'}}},{\"../../lib/sort_object_keys\":526}],612:[function(t,e,r){\"use strict\";var n=t(\"../../lib\");e.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}}},{\"../../lib\":503}],613:[function(t,e,r){\"use strict\";var n=t(\"mapbox-gl/dist/mapbox-gl-unminified\"),i=t(\"../../lib\"),a=i.strTranslate,o=i.strScale,s=t(\"../../plots/get_data\").getSubplotCalcData,l=t(\"../../constants/xmlns_namespaces\"),c=t(\"@plotly/d3\"),u=t(\"../../components/drawing\"),f=t(\"../../lib/svg_text_utils\"),h=t(\"./mapbox\"),p=r.constants=t(\"./constants\");function d(t){return\"string\"==typeof t&&(-1!==p.styleValuesMapbox.indexOf(t)||0===t.indexOf(\"mapbox://\"))}r.name=\"mapbox\",r.attr=\"subplot\",r.idRoot=\"mapbox\",r.idRegex=r.attrRegex=i.counterRegex(\"mapbox\"),r.attributes={subplot:{valType:\"subplotid\",dflt:\"mapbox\",editType:\"calc\"}},r.layoutAttributes=t(\"./layout_attributes\"),r.supplyLayoutDefaults=t(\"./layout_defaults\"),r.plot=function(t){var e=t._fullLayout,r=t.calcdata,a=e._subplots.mapbox;if(n.version!==p.requiredVersion)throw new Error(p.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;l<e.length;l++){var c=r[e[l]],u=c.accesstoken;d(c.style)&&(u?i.pushUnique(n,u):(d(c._input.style)&&(i.error(\"Uses Mapbox map style, but did not set an access token.\"),o=!0),s=!0)),u&&i.pushUnique(a,u)}if(s){var f=o?p.noAccessTokenErrorMsg:p.missingStyleErrorMsg;throw i.error(f),new Error(f)}return n.length?(n.length>1&&i.warn(p.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;l<a.length;l++){var c=a[l],u=s(r,\"mapbox\",c),f=e[c],m=f._subplot;m||(m=new h(t,c),e[c]._subplot=m),m.viewInitial||(m.viewInitial={center:i.extendFlat({},f.center),zoom:f.zoom,bearing:f.bearing,pitch:f.pitch}),m.plot(u,e,t._promises)}},r.clean=function(t,e,r,n){for(var i=n._subplots.mapbox||[],a=0;a<i.length;a++){var o=i[a];!e[o]&&n[o]._subplot&&n[o]._subplot.destroy()}},r.toSVG=function(t){for(var e=t._fullLayout,r=e._subplots.mapbox,n=e._size,i=0;i<r.length;i++){var s=e[r[i]],h=s.domain,d=s._subplot.toImage(\"png\");e._glimages.append(\"svg:image\").attr({xmlns:l.svg,\"xlink:href\":d,x:n.l+n.w*h.x[0],y:n.t+n.h*(1-h.y[1]),width:n.w*(h.x[1]-h.x[0]),height:n.h*(h.y[1]-h.y[0]),preserveAspectRatio:\"none\"});var m=c.select(s._subplot.div);if(!(null===m.select(\".mapboxgl-ctrl-logo\").node().offsetParent)){var g=e._glimages.append(\"g\");g.attr(\"transform\",a(n.l+n.w*h.x[0]+10,n.t+n.h*(1-h.y[0])-31)),g.append(\"path\").attr(\"d\",p.mapboxLogo.path0).style({opacity:.9,fill:\"#ffffff\",\"enable-background\":\"new\"}),g.append(\"path\").attr(\"d\",p.mapboxLogo.path1).style(\"opacity\",.35).style(\"enable-background\",\"new\"),g.append(\"path\").attr(\"d\",p.mapboxLogo.path2).style(\"opacity\",.35).style(\"enable-background\",\"new\"),g.append(\"polygon\").attr(\"points\",p.mapboxLogo.polygon).style({opacity:.9,fill:\"#ffffff\",\"enable-background\":\"new\"})}var v=m.select(\".mapboxgl-ctrl-attrib\").text().replace(\"Improve this map\",\"\"),y=e._glimages.append(\"g\"),x=y.append(\"text\");x.text(v).classed(\"static-attribution\",!0).attr({\"font-size\":12,\"font-family\":\"Arial\",color:\"rgba(0, 0, 0, 0.75)\",\"text-anchor\":\"end\",\"data-unformatted\":v});var b=u.bBox(x.node()),_=n.w*(h.x[1]-h.x[0]);if(b.width>_/2){var w=v.split(\"|\").join(\"<br>\");x.text(w).attr(\"data-unformatted\",w).call(f.convertToTspans,t),b=u.bBox(x.node())}x.attr(\"transform\",a(-3,8-b.height)),y.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 T=1;b.width+6>_&&(T=_/(b.width+6));var k=[n.l+n.w*h.x[1],n.t+n.h*(1-h.y[0])];y.attr(\"transform\",a(k[0],k[1])+o(T))}},r.updateFx=function(t){for(var e=t._fullLayout,r=e._subplots.mapbox,n=0;n<r.length;n++){e[r[n]]._subplot.updateFx(e)}}},{\"../../components/drawing\":388,\"../../constants/xmlns_namespaces\":480,\"../../lib\":503,\"../../lib/svg_text_utils\":529,\"../../plots/get_data\":593,\"./constants\":611,\"./layout_attributes\":615,\"./layout_defaults\":616,\"./mapbox\":617,\"@plotly/d3\":58,\"mapbox-gl/dist/mapbox-gl-unminified\":239}],614:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../lib/svg_text_utils\").sanitizeHTML,a=t(\"./convert_text_opts\"),o=t(\"./constants\");function s(t,e){this.subplot=t,this.uid=t.uid+\"-\"+e,this.index=e,this.idSource=\"source-\"+this.uid,this.idLayer=o.layoutLayerPrefix+this.uid,this.sourceType=null,this.source=null,this.layerType=null,this.below=null,this.visible=!1}var l=s.prototype;function c(t){if(!t.visible)return!1;var e=t.source;if(Array.isArray(e)&&e.length>0){for(var r=0;r<e.length;r++)if(\"string\"!=typeof e[r]||0===e[r].length)return!1;return!0}return n.isPlainObject(e)||\"string\"==typeof e&&e.length>0}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};\"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));return a}(t);e.addSource(this.idSource,r)}},l.findFollowingMapboxLayerId=function(t){if(\"traces\"===t)for(var e=this.subplot.getMapLayers(),r=0;r<e.length;r++){var n=e[r].id;if(\"string\"==typeof n&&0===n.indexOf(o.traceLayerPrefix)){t=n;break}}return t},l.updateLayer=function(t){var e=this.subplot,r=u(t),n=this.lookupBelow(),i=this.findFollowingMapboxLayerId(n);this.removeLayer(),c(t)&&e.addLayer({id:this.idLayer,source:this.idSource,\"source-layer\":t.sourcelayer||\"\",type:t.type,minzoom:t.minzoom,maxzoom:t.maxzoom,layout:r.layout,paint:r.paint},i),this.layerType=t.type,this.below=n},l.updateStyle=function(t){if(c(t)){var e=u(t);this.subplot.setOptions(this.idLayer,\"setLayoutProperty\",e.layout),this.subplot.setOptions(this.idLayer,\"setPaintProperty\",e.paint)}},l.removeLayer=function(){var t=this.subplot.map;t.getLayer(this.idLayer)&&t.removeLayer(this.idLayer)},l.dispose=function(){var t=this.subplot.map;t.getLayer(this.idLayer)&&t.removeLayer(this.idLayer),t.getSource(this.idSource)&&t.removeSource(this.idSource)},e.exports=function(t,e,r){var n=new s(t,e);return n.update(r),n}},{\"../../lib\":503,\"../../lib/svg_text_utils\":529,\"./constants\":611,\"./convert_text_opts\":612}],615:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../components/color\").defaultLine,a=t(\"../domain\").attributes,o=t(\"../font_attributes\"),s=t(\"../../traces/scatter/attributes\").textposition,l=t(\"../../plot_api/edit_types\").overrideAll,c=t(\"../../plot_api/plot_template\").templatedArray,u=t(\"./constants\"),f=o({});f.family.dflt=\"Open Sans Regular, Arial Unicode MS Regular\",(e.exports=l({_arrayAttrRegexps:[n.counterRegex(\"mapbox\",\".layers\",!0)],domain:a({name:\"mapbox\"}),accesstoken:{valType:\"string\",noBlank:!0,strict:!0},style:{valType:\"any\",values:u.styleValuesMapbox.concat(u.styleValuesNonMapbox),dflt:u.styleValueDflt},center:{lon:{valType:\"number\",dflt:0},lat:{valType:\"number\",dflt:0}},zoom:{valType:\"number\",dflt:1},bearing:{valType:\"number\",dflt:0},pitch:{valType:\"number\",dflt:0},layers:c(\"layer\",{visible:{valType:\"boolean\",dflt:!0},sourcetype:{valType:\"enumerated\",values:[\"geojson\",\"vector\",\"raster\",\"image\"],dflt:\"geojson\"},source:{valType:\"any\"},sourcelayer:{valType:\"string\",dflt:\"\"},sourceattribution:{valType:\"string\"},type:{valType:\"enumerated\",values:[\"circle\",\"line\",\"fill\",\"symbol\",\"raster\"],dflt:\"circle\"},coordinates:{valType:\"any\"},below:{valType:\"string\"},color:{valType:\"color\",dflt:i},opacity:{valType:\"number\",min:0,max:1,dflt:1},minzoom:{valType:\"number\",min:0,max:24,dflt:0},maxzoom:{valType:\"number\",min:0,max:24,dflt:24},circle:{radius:{valType:\"number\",dflt:15}},line:{width:{valType:\"number\",dflt:2},dash:{valType:\"data_array\"}},fill:{outlinecolor:{valType:\"color\",dflt:i}},symbol:{icon:{valType:\"string\",dflt:\"marker\"},iconsize:{valType:\"number\",dflt:10},text:{valType:\"string\",dflt:\"\"},placement:{valType:\"enumerated\",values:[\"point\",\"line\",\"line-center\"],dflt:\"point\"},textfont:f,textposition:n.extendFlat({},s,{arrayOk:!1})}})},\"plot\",\"from-root\")).uirevision={valType:\"any\",editType:\"none\"}},{\"../../components/color\":366,\"../../lib\":503,\"../../plot_api/edit_types\":536,\"../../plot_api/plot_template\":543,\"../../traces/scatter/attributes\":927,\"../domain\":584,\"../font_attributes\":585,\"./constants\":611}],616:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../subplot_defaults\"),a=t(\"../array_container_defaults\"),o=t(\"./layout_attributes\");function s(t,e,r,n){r(\"accesstoken\",n.accessToken),r(\"style\"),r(\"center.lon\"),r(\"center.lat\"),r(\"zoom\"),r(\"bearing\"),r(\"pitch\"),a(t,e,{name:\"layers\",handleItemDefaults:l}),e._input=t}function l(t,e){function r(r,i){return n.coerce(t,e,o.layers,r,i)}if(r(\"visible\")){var i,a=r(\"sourcetype\"),s=\"raster\"===a||\"image\"===a;r(\"source\"),r(\"sourceattribution\"),\"vector\"===a&&r(\"sourcelayer\"),\"image\"===a&&r(\"coordinates\"),s&&(i=\"raster\");var l=r(\"type\",i);s&&\"raster\"!==l&&(l=e.type=\"raster\",n.log(\"Source types *raster* and *image* must drawn *raster* layer type.\")),r(\"below\"),r(\"color\"),r(\"opacity\"),r(\"minzoom\"),r(\"maxzoom\"),\"circle\"===l&&r(\"circle.radius\"),\"line\"===l&&(r(\"line.width\"),r(\"line.dash\")),\"fill\"===l&&r(\"fill.outlinecolor\"),\"symbol\"===l&&(r(\"symbol.icon\"),r(\"symbol.iconsize\"),r(\"symbol.text\"),n.coerceFont(r,\"symbol.textfont\"),r(\"symbol.textposition\"),r(\"symbol.placement\"))}}e.exports=function(t,e,r){i(t,e,r,{type:\"mapbox\",attributes:o,handleDefaults:s,partition:\"y\",accessToken:e._mapboxAccessToken})}},{\"../../lib\":503,\"../array_container_defaults\":549,\"../subplot_defaults\":632,\"./layout_attributes\":615}],617:[function(t,e,r){\"use strict\";var n=t(\"mapbox-gl/dist/mapbox-gl-unminified\"),i=t(\"../../lib\"),a=t(\"../../lib/geo_location_utils\"),o=t(\"../../registry\"),s=t(\"../cartesian/axes\"),l=t(\"../../components/dragelement\"),c=t(\"../../components/fx\"),u=t(\"../../components/dragelement/helpers\"),f=u.rectMode,h=u.drawMode,p=u.selectMode,d=t(\"../cartesian/select\").prepSelect,m=t(\"../cartesian/select\").clearSelect,g=t(\"../cartesian/select\").clearSelectionsCache,v=t(\"../cartesian/select\").selectOnClick,y=t(\"./constants\"),x=t(\"./layers\");function b(t,e){this.id=e,this.gd=t;var r=t._fullLayout,n=t._context;this.container=r._glcontainer.node(),this.isStatic=n.staticPlot,this.uid=r._uid+\"-\"+this.id,this.div=null,this.xaxis=null,this.yaxis=null,this.createFramework(r),this.map=null,this.accessToken=null,this.styleObj=null,this.traceHash={},this.layerList=[],this.belowLookup={},this.dragging=!1,this.wheeling=!1}var _=b.prototype;_.plot=function(t,e,r){var n,i=this,a=e[i.id];i.map&&a.accesstoken!==i.accessToken&&(i.map.remove(),i.map=null,i.styleObj=null,i.traceHash={},i.layerList=[]),n=i.map?new Promise((function(r,n){i.updateMap(t,e,r,n)})):new Promise((function(r,n){i.createMap(t,e,r,n)})),r.push(n)},_.createMap=function(t,e,r,i){var o=this,s=e[o.id],l=o.styleObj=T(s.style);o.accessToken=s.accesstoken;var c=o.map=new n.Map({container:o.div,style:l.style,center:A(s.center),zoom:s.zoom,bearing:s.bearing,pitch:s.pitch,interactive:!o.isStatic,preserveDrawingBuffer:o.isStatic,doubleClickZoom:!1,boxZoom:!1,attributionControl:!1}).addControl(new n.AttributionControl({compact:!0}));c._canvas.style.left=\"0px\",c._canvas.style.top=\"0px\",o.rejectOnError(i),o.isStatic||o.initFx(t,e);var u=[];u.push(new Promise((function(t){c.once(\"load\",t)}))),u=u.concat(a.fetchTraceGeoData(t)),Promise.all(u).then((function(){o.fillBelowLookup(t,e),o.updateData(t),o.updateLayout(e),o.resolveOnRender(r)})).catch(i)},_.updateMap=function(t,e,r,n){var i=this,o=i.map,s=e[this.id];i.rejectOnError(n);var l=[],c=T(s.style);JSON.stringify(i.styleObj)!==JSON.stringify(c)&&(i.styleObj=c,o.setStyle(c.style),i.traceHash={},l.push(new Promise((function(t){o.once(\"styledata\",t)})))),l=l.concat(a.fetchTraceGeoData(t)),Promise.all(l).then((function(){i.fillBelowLookup(t,e),i.updateData(t),i.updateLayout(e),i.resolveOnRender(r)})).catch(n)},_.fillBelowLookup=function(t,e){var r,n,i=e[this.id].layers,a=this.belowLookup={},o=!1;for(r=0;r<t.length;r++){var s=t[r][0].trace,l=s._module;\"string\"==typeof s.below?n=s.below:l.getBelow&&(n=l.getBelow(s,this)),\"\"===n&&(o=!0),a[\"trace-\"+s.uid]=n||\"\"}for(r=0;r<i.length;r++){var c=i[r];n=\"string\"==typeof c.below?c.below:o?\"traces\":\"\",a[\"layout-\"+r]=n}var u,f,h={};for(u in a)h[n=a[u]]?h[n].push(u):h[n]=[u];for(n in h){var p=h[n];if(p.length>1)for(r=0;r<p.length;r++)0===(u=p[r]).indexOf(\"trace-\")?(f=u.split(\"trace-\")[1],this.traceHash[f]&&(this.traceHash[f].below=null)):0===u.indexOf(\"layout-\")&&(f=u.split(\"layout-\")[1],this.layerList[f]&&(this.layerList[f].below=null))}};var w={choroplethmapbox:0,densitymapbox:1,scattermapbox:2};function T(t){var e={};return i.isPlainObject(t)?(e.id=t.id,e.style=t):\"string\"==typeof t?(e.id=t,-1!==y.styleValuesMapbox.indexOf(t)?e.style=k(t):y.stylesNonMapbox[t]?e.style=y.stylesNonMapbox[t]:e.style=t):(e.id=y.styleValueDflt,e.style=k(y.styleValueDflt)),e.transition={duration:0,delay:0},e}function k(t){return y.styleUrlPrefix+t+\"-\"+y.styleUrlSuffix}function A(t){return[t.lon,t.lat]}_.updateData=function(t){var e,r,n,i,a=this.traceHash,o=t.slice().sort((function(t,e){return w[t[0].trace.type]-w[e[0].trace.type]}));for(n=0;n<o.length;n++){var s=o[n],l=!1;(e=a[(r=s[0].trace).uid])&&(e.type===r.type?(e.update(s),l=!0):e.dispose()),!l&&r._module&&(a[r.uid]=r._module.plot(this,s))}var c=Object.keys(a);t:for(n=0;n<c.length;n++){var u=c[n];for(i=0;i<t.length;i++)if(u===(r=t[i][0].trace).uid)continue t;(e=a[u]).dispose(),delete a[u]}},_.updateLayout=function(t){var e=this.map,r=t[this.id];this.dragging||this.wheeling||(e.setCenter(A(r.center)),e.setZoom(r.zoom),e.setBearing(r.bearing),e.setPitch(r.pitch)),this.updateLayers(t),this.updateFramework(t),this.updateFx(t),this.map.resize(),this.gd._context._scrollZoom.mapbox?e.scrollZoom.enable():e.scrollZoom.disable()},_.resolveOnRender=function(t){var e=this.map;e.on(\"render\",(function r(){e.loaded()&&(e.off(\"render\",r),setTimeout(t,10))}))},_.rejectOnError=function(t){var e=this.map;function r(){t(new Error(y.mapOnErrorMsg))}e.once(\"error\",r),e.once(\"style.error\",r),e.once(\"source.error\",r),e.once(\"tile.error\",r),e.once(\"layer.error\",r)},_.createFramework=function(t){var e=this,r=e.div=document.createElement(\"div\");r.id=e.uid,r.style.position=\"absolute\",e.container.appendChild(r),e.xaxis={_id:\"x\",c2p:function(t){return e.project(t).x}},e.yaxis={_id:\"y\",c2p:function(t){return e.project(t).y}},e.updateFramework(t),e.mockAxis={type:\"linear\",showexponent:\"all\",exponentformat:\"B\"},s.setConvert(e.mockAxis,t)},_.initFx=function(t,e){var r=this,n=r.gd,i=r.map;function a(){c.loneUnhover(e._hoverlayer)}function s(){var t=r.getView();n.emit(\"plotly_relayouting\",r.getViewEditsWithDerived(t))}i.on(\"moveend\",(function(t){if(r.map){var e=n._fullLayout;if(t.originalEvent||r.wheeling){var i=e[r.id];o.call(\"_storeDirectGUIEdit\",n.layout,e._preGUI,r.getViewEdits(i));var a=r.getView();i._input.center=i.center=a.center,i._input.zoom=i.zoom=a.zoom,i._input.bearing=i.bearing=a.bearing,i._input.pitch=i.pitch=a.pitch,n.emit(\"plotly_relayout\",r.getViewEditsWithDerived(a))}t.originalEvent&&\"mouseup\"===t.originalEvent.type?r.dragging=!1:r.wheeling&&(r.wheeling=!1),e._rehover&&e._rehover()}})),i.on(\"wheel\",(function(){r.wheeling=!0})),i.on(\"mousemove\",(function(t){var e=r.div.getBoundingClientRect(),a=[t.originalEvent.offsetX,t.originalEvent.offsetY];t.target.getBoundingClientRect=function(){return e},r.xaxis.p2c=function(){return i.unproject(a).lng},r.yaxis.p2c=function(){return i.unproject(a).lat},n._fullLayout._rehover=function(){n._fullLayout._hoversubplot===r.id&&n._fullLayout[r.id]&&c.hover(n,t,r.id)},c.hover(n,t,r.id),n._fullLayout._hoversubplot=r.id})),i.on(\"dragstart\",(function(){r.dragging=!0,a()})),i.on(\"zoomstart\",a),i.on(\"mouseout\",(function(){n._fullLayout._hoversubplot=null})),i.on(\"drag\",s),i.on(\"zoom\",s),i.on(\"dblclick\",(function(){var t=n._fullLayout[r.id];o.call(\"_storeDirectGUIEdit\",n.layout,n._fullLayout._preGUI,r.getViewEdits(t));var e=r.viewInitial;i.setCenter(A(e.center)),i.setZoom(e.zoom),i.setBearing(e.bearing),i.setPitch(e.pitch);var a=r.getView();t._input.center=t.center=a.center,t._input.zoom=t.zoom=a.zoom,t._input.bearing=t.bearing=a.bearing,t._input.pitch=t.pitch=a.pitch,n.emit(\"plotly_doubleclick\",null),n.emit(\"plotly_relayout\",r.getViewEditsWithDerived(a))})),r.clearSelect=function(){g(r.dragOptions),m(r.dragOptions.gd)},r.onClickInPanFn=function(t){return function(e){var i=n._fullLayout.clickmode;i.indexOf(\"select\")>-1&&v(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=f(o)?function(t,r){(t.range={})[e.id]=[c([r.xmin,r.ymin]),c([r.xmax,r.ymax])]}:function(t,r,n){(t.lassoPoints={})[e.id]=n.filtered.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),p(o)||h(o)?(r.dragPan.disable(),r.on(\"zoomstart\",e.clearSelect),e.dragOptions.prepFn=function(t,r,n){d(t,r,n,e.dragOptions,o)},l.init(e.dragOptions)):(r.dragPan.enable(),r.off(\"zoomstart\",e.clearSelect),e.div.onmousedown=null,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<n.length;e++)n[e].dispose();for(n=this.layerList=[],e=0;e<r.length;e++)n.push(x(this,e,r[e]))}else for(e=0;e<r.length;e++)n[e].update(r[e])},_.destroy=function(){this.map&&(this.map.remove(),this.map=null,this.container.removeChild(this.div))},_.toImage=function(){return this.map.stop(),this.map.getCanvas().toDataURL()},_.setOptions=function(t,e,r){for(var n in r)this.map[e](t,n,r[n])},_.getMapLayers=function(){return this.map.getStyle().layers},_.addLayer=function(t,e){var r=this.map;if(\"string\"==typeof e){if(\"\"===e)return void r.addLayer(t,e);for(var n=this.getMapLayers(),a=0;a<n.length;a++)if(e===n[a].id)return void r.addLayer(t,e);i.warn([\"Trying to add layer with *below* value\",e,\"referencing a layer that does not exist\",\"or that does not yet exist.\"].join(\" \"))}r.addLayer(t)},_.project=function(t){return this.map.project(new n.LngLat(t[0],t[1]))},_.getView=function(){var t=this.map,e=t.getCenter(),r={lon:e.lng,lat:e.lat},n=t.getCanvas(),i=parseInt(n.style.width),a=parseInt(n.style.height);return{center:r,zoom:t.getZoom(),bearing:t.getBearing(),pitch:t.getPitch(),_derived:{coordinates:[t.unproject([0,0]).toArray(),t.unproject([i,0]).toArray(),t.unproject([i,a]).toArray(),t.unproject([0,a]).toArray()]}}},_.getViewEdits=function(t){for(var e=this.id,r=[\"center\",\"zoom\",\"bearing\",\"pitch\"],n={},i=0;i<r.length;i++){var a=r[i];n[e+\".\"+a]=t[a]}return n},_.getViewEditsWithDerived=function(t){var e=this.id,r=this.getViewEdits(t);return r[e+\"._derived\"]=t._derived,r},e.exports=b},{\"../../components/dragelement\":385,\"../../components/dragelement/helpers\":384,\"../../components/fx\":406,\"../../lib\":503,\"../../lib/geo_location_utils\":496,\"../../registry\":638,\"../cartesian/axes\":554,\"../cartesian/select\":575,\"./constants\":611,\"./layers\":614,\"mapbox-gl/dist/mapbox-gl-unminified\":239}],618:[function(t,e,r){\"use strict\";e.exports=function(t){var e=t.editType;return{t:{valType:\"number\",dflt:0,editType:e},r:{valType:\"number\",dflt:0,editType:e},b:{valType:\"number\",dflt:0,editType:e},l:{valType:\"number\",dflt:0,editType:e},editType:e}}},{}],619:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"d3-time-format\").timeFormatLocale,a=t(\"d3-format\").formatLocale,o=t(\"fast-isnumeric\"),s=t(\"../registry\"),l=t(\"../plot_api/plot_schema\"),c=t(\"../plot_api/plot_template\"),u=t(\"../lib\"),f=t(\"../components/color\"),h=t(\"../constants/numerical\").BADNUM,p=t(\"./cartesian/axis_ids\"),d=t(\"./cartesian/handle_outline\").clearSelect,m=t(\"./animation_attributes\"),g=t(\"./frame_attributes\"),v=t(\"../plots/get_data\").getModuleCalcData,y=u.relinkPrivateKeys,x=u._,b=e.exports={};u.extendFlat(b,s),b.attributes=t(\"./attributes\"),b.attributes.type.values=b.allTypes,b.fontAttrs=t(\"./font_attributes\"),b.layoutAttributes=t(\"./layout_attributes\"),b.fontWeight=\"normal\";var _=b.transformsRegistry,w=t(\"./command\");b.executeAPICommand=w.executeAPICommand,b.computeAPICommandBindings=w.computeAPICommandBindings,b.manageCommandObserver=w.manageCommandObserver,b.hasSimpleAPICommandBindings=w.hasSimpleAPICommandBindings,b.redrawText=function(t){return t=u.getGraphDiv(t),new Promise((function(e){setTimeout((function(){t._fullLayout&&(s.getComponentMethod(\"annotations\",\"draw\")(t),s.getComponentMethod(\"legend\",\"draw\")(t),s.getComponentMethod(\"colorbar\",\"draw\")(t),e(b.previousPromises(t)))}),300)}))},b.resize=function(t){var e;t=u.getGraphDiv(t);var r=new Promise((function(r,n){t&&!u.isHidden(t)||n(new Error(\"Resize must be passed a displayed plot div element.\")),t._redrawTimer&&clearTimeout(t._redrawTimer),t._resolveResize&&(e=t._resolveResize),t._resolveResize=r,t._redrawTimer=setTimeout((function(){if(!t.layout||t.layout.width&&t.layout.height||u.isHidden(t))r(t);else{delete t.layout.width,delete t.layout.height;var e=t.changed;t.autoplay=!0,s.call(\"relayout\",t,{autosize:!0}).then((function(){t.changed=e,t._resolveResize===r&&(delete t._resolveResize,r(t))}))}}),100)}));return e&&e(r),r},b.previousPromises=function(t){if((t._promises||[]).length)return Promise.all(t._promises).then((function(){t._promises=[]}))},b.addLinks=function(t){if(t._context.showLink||t._context.showSources){var e=t._fullLayout,r=u.ensureSingle(e._paper,\"text\",\"js-plot-link-container\",(function(t){t.style({\"font-family\":'\"Open Sans\", Arial, sans-serif',\"font-size\":\"12px\",fill:f.defaultLine,\"pointer-events\":\"all\"}).each((function(){var t=n.select(this);t.append(\"tspan\").classed(\"js-link-to-tool\",!0),t.append(\"tspan\").classed(\"js-link-spacer\",!0),t.append(\"tspan\").classed(\"js-sourcelinks\",!0)}))})),i=r.node(),a={y:e._paper.attr(\"height\")-9};document.body.contains(i)&&i.getComputedTextLength()>=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(){b.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()?\" - \":\"\")}},b.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=b.graphJson(t,!1,\"keepdata\"),i.node().submit(),r.remove(),t.emit(\"plotly_afterexport\"),!1}};var T=[\"days\",\"shortDays\",\"months\",\"shortMonths\",\"periods\",\"dateTime\",\"date\",\"time\",\"decimal\",\"thousands\",\"grouping\",\"currency\"],k=[\"year\",\"month\",\"dayMonth\",\"dayMonthYear\"];function A(t,e){var r=t._context.locale;r||(r=\"en-US\");var n=!1,i={};function a(t){for(var r=!0,a=0;a<e.length;a++){var o=e[a];i[o]||(t[o]?i[o]=t[o]:r=!1)}r&&(n=!0)}for(var o=0;o<2;o++){for(var l=t._context.locales,c=0;c<2;c++){var u=(l[r]||{}).format;if(u&&(a(u),n))break;l=s.localeRegistry}var f=r.split(\"-\")[0];if(n||f===r)break;r=f}return n||a(s.localeRegistry.en.format),i}function M(t,e){var r={_fullLayout:e},n=\"x\"===t._id.charAt(0),i=t._mainAxis._anchorAxis,a=\"\",o=\"\",s=\"\";if(i&&(s=i._mainAxis._id,a=n?t._id+s:s+t._id),!a||!e._plots[a]){a=\"\";for(var l=t._counterAxes,c=0;c<l.length;c++){var u=l[c],f=n?t._id+u:u+t._id;o||(o=f);var h=p.getFromId(r,u);if(s&&h.overlaying===s){a=f;break}}}return a||o}function S(t){var e=t.transforms;if(Array.isArray(e)&&e.length)for(var r=0;r<e.length;r++){var n=e[r],i=n._module||_[n.type];if(i&&i.makesData)return!0}return!1}function E(t,e,r,n){for(var i=t.transforms,a=[t],o=0;o<i.length;o++){var s=i[o],l=_[s.type];l&&l.transform&&(a=l.transform(a,{transform:s,fullTrace:t,fullData:e,layout:r,fullLayout:n,transformIndex:o}))}return a}function L(t){return\"string\"==typeof t&&\"px\"===t.substr(t.length-2)&&parseFloat(t)}function C(t){var e=t.margin;if(!t._size){var r=t._size={l:Math.round(e.l),r:Math.round(e.r),t:Math.round(e.t),b:Math.round(e.b),p:Math.round(e.pad)};r.w=Math.round(t.width)-r.l-r.r,r.h=Math.round(t.height)-r.t-r.b}t._pushmargin||(t._pushmargin={}),t._pushmarginIds||(t._pushmarginIds={})}b.supplyDefaults=function(t,e){var r=e&&e.skipUpdateCalc,n=t._fullLayout||{};if(n._skipDefaults)delete n._skipDefaults;else{var o,l=t._fullLayout={},c=t.layout||{},f=t._fullData||[],h=t._fullData=[],p=t.data||[],m=t.calcdata||[],g=t._context||{};t._transitionData||b.createTransitionData(t),l._dfltTitle={plot:x(t,\"Click to enter Plot title\"),x:x(t,\"Click to enter X axis title\"),y:x(t,\"Click to enter Y axis title\"),colorbar:x(t,\"Click to enter Colorscale title\"),annotation:x(t,\"new text\")},l._traceWord=x(t,\"trace\");var v=A(t,T);if(l._mapboxAccessToken=g.mapboxAccessToken,n._initialAutoSizeIsDone){var _=n.width,w=n.height;b.supplyLayoutGlobalDefaults(c,l,v),c.width||(l.width=_),c.height||(l.height=w),b.sanitizeMargins(l)}else{b.supplyLayoutGlobalDefaults(c,l,v);var M=!c.width||!c.height,S=l.autosize,E=g.autosizable;M&&(S||E)?b.plotAutoSize(t,c,l):M&&b.sanitizeMargins(l),!S&&M&&(c.width=l.width,c.height=l.height)}l._d3locale=function(t,e){return t.decimal=e.charAt(0),t.thousands=e.charAt(1),{numberFormat:function(e){try{e=a(t).format(u.adjustFormat(e))}catch(t){return u.warnBadFormat(e),u.noFormat}return e},timeFormat:i(t).utcFormat}}(v,l.separators),l._extraFormat=A(t,k),l._initialAutoSizeIsDone=!0,l._dataLength=p.length,l._modules=[],l._visibleModules=[],l._basePlotModules=[];var L=l._subplots=function(){var t,e,r=s.collectableSubplotTypes,n={};if(!r){r=[];var i=s.subplotsRegistry;for(var a in i){var o=i[a].attr;if(o&&(r.push(a),Array.isArray(o)))for(e=0;e<o.length;e++)u.pushUnique(r,o[e])}}for(t=0;t<r.length;t++)n[r[t]]=[];return n}(),P=l._splomAxes={x:{},y:{}},I=l._splomSubplots={};l._splomGridDflt={},l._scatterStackOpts={},l._firstScatter={},l._alignmentOpts={},l._colorAxes={},l._requestRangeslider={},l._traceUids=function(t,e){var r,n,i=e.length,a=[];for(r=0;r<t.length;r++){var o=t[r]._fullInput;o!==n&&a.push(o),n=o}var s=a.length,l=new Array(i),c={};function f(t,e){l[e]=t,c[t]=1}function h(t,e){if(t&&\"string\"==typeof t&&!c[t])return f(t,e),!0}for(r=0;r<i;r++){var p=e[r].uid;\"number\"==typeof p&&(p=String(p)),h(p,r)||(r<s&&h(a[r].uid,r)||f(u.randstr(c),r))}return l}(f,p),l._globalTransforms=(t._context||{}).globalTransforms,b.supplyDataDefaults(p,h,c,l);var O=Object.keys(P.x),z=Object.keys(P.y);if(O.length>1&&z.length>1){for(s.getComponentMethod(\"grid\",\"sizeDefaults\")(c,l),o=0;o<O.length;o++)u.pushUnique(L.xaxis,O[o]);for(o=0;o<z.length;o++)u.pushUnique(L.yaxis,z[o]);for(var D in I)u.pushUnique(L.cartesian,D)}if(l._has=b._hasPlotType.bind(l),f.length===h.length)for(o=0;o<h.length;o++)y(h[o],f[o]);b.supplyLayoutModuleDefaults(c,l,h,t._transitionData);var R=l._visibleModules,F=[];for(o=0;o<R.length;o++){var B=R[o].crossTraceDefaults;B&&u.pushUnique(F,B)}for(o=0;o<F.length;o++)F[o](h,l);l._hasOnlyLargeSploms=1===l._basePlotModules.length&&\"splom\"===l._basePlotModules[0].name&&O.length>15&&z.length>15&&0===l.shapes.length&&0===l.images.length,b.linkSubplots(h,l,f,n),b.cleanPlot(h,l,f,n);var N=!(!n._has||!n._has(\"gl2d\")),j=!(!l._has||!l._has(\"gl2d\")),U=!(!n._has||!n._has(\"cartesian\"))||N,V=!(!l._has||!l._has(\"cartesian\"))||j;U&&!V?n._bgLayer.remove():V&&!U&&(l._shouldCreateBgLayer=!0),n._zoomlayer&&!t._dragging&&d({_fullLayout:n}),function(t,e){var r,n=[];e.meta&&(r=e._meta={meta:e.meta,layout:{meta:e.meta}});for(var i=0;i<t.length;i++){var a=t[i];a.meta?n[a.index]=a._meta={meta:a.meta}:e.meta&&(a._meta={meta:e.meta}),e.meta&&(a._meta.layout={meta:e.meta})}n.length&&(r||(r=e._meta={}),r.data=n)}(h,l),y(l,n),s.getComponentMethod(\"colorscale\",\"crossTraceDefaults\")(h,l),l._preGUI||(l._preGUI={}),l._tracePreGUI||(l._tracePreGUI={});var H,q=l._tracePreGUI,G={};for(H in q)G[H]=\"old\";for(o=0;o<h.length;o++)G[H=h[o]._fullInput.uid]||(q[H]={}),G[H]=\"new\";for(H in G)\"old\"===G[H]&&delete q[H];C(l),s.getComponentMethod(\"rangeslider\",\"makeData\")(l),r||m.length!==h.length||b.supplyDefaultsUpdateCalc(m,h)}},b.supplyDefaultsUpdateCalc=function(t,e){for(var r=0;r<e.length;r++){var n=e[r],i=(t[r]||[])[0];if(i&&i.trace){var a=i.trace;if(a._hasCalcTransform){var o,s,l,c=a._arrayAttrs;for(o=0;o<c.length;o++)s=c[o],l=u.nestedProperty(a,s).get().slice(),u.nestedProperty(n,s).set(l)}i.trace=n}}},b.createTransitionData=function(t){t._transitionData||(t._transitionData={}),t._transitionData._frames||(t._transitionData._frames=[]),t._transitionData._frameHash||(t._transitionData._frameHash={}),t._transitionData._counter||(t._transitionData._counter=0),t._transitionData._interruptCallbacks||(t._transitionData._interruptCallbacks=[])},b._hasPlotType=function(t){var e,r=this._basePlotModules||[];for(e=0;e<r.length;e++)if(r[e].name===t)return!0;var n=this._modules||[];for(e=0;e<n.length;e++){var i=n[e].name;if(i===t)return!0;var a=s.modules[i];if(a&&a.categories[t])return!0}return!1},b.cleanPlot=function(t,e,r,n){var i,a,o=n._basePlotModules||[];for(i=0;i<o.length;i++){var s=o[i];s.clean&&s.clean(t,e,r,n)}var l=n._has&&n._has(\"gl\"),c=e._has&&e._has(\"gl\");l&&!c&&void 0!==n._glcontainer&&(n._glcontainer.selectAll(\".gl-canvas\").remove(),n._glcontainer.selectAll(\".no-webgl\").remove(),n._glcanvas=null);var u=!!n._infolayer;t:for(i=0;i<r.length;i++){var f=r[i].uid;for(a=0;a<t.length;a++){if(f===t[a].uid)continue t}u&&n._infolayer.select(\".cb\"+f).remove()}},b.linkSubplots=function(t,e,r,n){var i,a,o=n._plots||{},l=e._plots={},c=e._subplots,f={_fullData:t,_fullLayout:e},h=c.cartesian.concat(c.gl2d||[]);for(i=0;i<h.length;i++){var d,m=h[i],g=o[m],v=p.getFromId(f,m,\"x\"),y=p.getFromId(f,m,\"y\");for(g?d=l[m]=g:(d=l[m]={}).id=m,v._counterAxes.push(y._id),y._counterAxes.push(v._id),v._subplotsWith.push(m),y._subplotsWith.push(m),d.xaxis=v,d.yaxis=y,d._hasClipOnAxisFalse=!1,a=0;a<t.length;a++){var x=t[a];if(x.xaxis===d.xaxis._id&&x.yaxis===d.yaxis._id&&!1===x.cliponaxis){d._hasClipOnAxisFalse=!0;break}}}var b,_=p.list(f,null,!0);for(i=0;i<_.length;i++){var w=null;(b=_[i]).overlaying&&(w=p.getFromId(f,b.overlaying))&&w.overlaying&&(b.overlaying=!1,w=null),b._mainAxis=w||b,w&&(b.domain=w.domain.slice()),b._anchorAxis=\"free\"===b.anchor?null:p.getFromId(f,b.anchor)}for(i=0;i<_.length;i++)if((b=_[i])._counterAxes.sort(p.idSort),b._subplotsWith.sort(u.subplotSort),b._mainSubplot=M(b,e),b._counterAxes.length&&(b.spikemode&&-1!==b.spikemode.indexOf(\"across\")||b.automargin&&b.mirror&&\"free\"!==b.anchor||s.getComponentMethod(\"rangeslider\",\"isVisible\")(b))){var T=1,k=0;for(a=0;a<b._counterAxes.length;a++){var A=p.getFromId(f,b._counterAxes[a]);T=Math.min(T,A.domain[0]),k=Math.max(k,A.domain[1])}T<k&&(b._counterDomainMin=T,b._counterDomainMax=k)}},b.clearExpandedTraceDefaultColors=function(t){var e,r,n;for(r=[],(e=t._module._colorAttrs)||(t._module._colorAttrs=e=[],l.crawl(t._module.attributes,(function(t,n,i,a){r[a]=n,r.length=a+1,\"color\"===t.valType&&void 0===t.dflt&&e.push(r.join(\".\"))}))),n=0;n<e.length;n++){u.nestedProperty(t,\"_input.\"+e[n]).get()||u.nestedProperty(t,e[n]).set(null)}},b.supplyDataDefaults=function(t,e,r,n){var i,a,o,l=n._modules,f=n._visibleModules,h=n._basePlotModules,p=0,d=0;function m(t){e.push(t);var r=t._module;r&&(u.pushUnique(l,r),!0===t.visible&&u.pushUnique(f,r),u.pushUnique(h,t._module.basePlotModule),p++,!1!==t._input.visible&&d++)}n._transformModules=[];var g={},v=[],x=(r.template||{}).data||{},_=c.traceTemplater(x);for(i=0;i<t.length;i++){if(o=t[i],(a=_.newTrace(o)).uid=n._traceUids[i],b.supplyTraceDefaults(o,a,d,n,i),a.index=i,a._input=o,a._expandedIndex=p,a.transforms&&a.transforms.length)for(var w=!1!==o.visible&&!1===a.visible,T=E(a,e,r,n),k=0;k<T.length;k++){var A=T[k],M={_template:a._template,type:a.type,uid:a.uid+k};w&&!1===A.visible&&delete A.visible,b.supplyTraceDefaults(A,M,p,n,i),y(M,A),M.index=i,M._input=o,M._fullInput=a,M._expandedIndex=p,M._expandedInput=A,m(M)}else a._fullInput=a,a._expandedInput=a,m(a);s.traceIs(a,\"carpetAxis\")&&(g[a.carpet]=a),s.traceIs(a,\"carpetDependent\")&&v.push(i)}for(i=0;i<v.length;i++)if((a=e[v[i]]).visible){var S=g[a.carpet];a._carpet=S,S&&S.visible?(a.xaxis=S.xaxis,a.yaxis=S.yaxis):a.visible=!1}},b.supplyAnimationDefaults=function(t){var e;t=t||{};var r={};function n(e,n){return u.coerce(t||{},r,m,e,n)}if(n(\"mode\"),n(\"direction\"),n(\"fromcurrent\"),Array.isArray(t.frame))for(r.frame=[],e=0;e<t.frame.length;e++)r.frame[e]=b.supplyAnimationFrameDefaults(t.frame[e]||{});else r.frame=b.supplyAnimationFrameDefaults(t.frame||{});if(Array.isArray(t.transition))for(r.transition=[],e=0;e<t.transition.length;e++)r.transition[e]=b.supplyAnimationTransitionDefaults(t.transition[e]||{});else r.transition=b.supplyAnimationTransitionDefaults(t.transition||{});return r},b.supplyAnimationFrameDefaults=function(t){var e={};function r(r,n){return u.coerce(t||{},e,m.frame,r,n)}return r(\"duration\"),r(\"redraw\"),e},b.supplyAnimationTransitionDefaults=function(t){var e={};function r(r,n){return u.coerce(t||{},e,m.transition,r,n)}return r(\"duration\"),r(\"easing\"),e},b.supplyFrameDefaults=function(t){var e={};function r(r,n){return u.coerce(t,e,g,r,n)}return r(\"group\"),r(\"name\"),r(\"traces\"),r(\"baseframe\"),r(\"data\"),r(\"layout\"),e},b.supplyTraceDefaults=function(t,e,r,n,i){var a,o=n.colorway||f.defaults,l=o[r%o.length];function c(r,n){return u.coerce(t,e,b.attributes,r,n)}var h=c(\"visible\");c(\"type\"),c(\"name\",n._traceWord+\" \"+i),c(\"uirevision\",n.uirevision);var p=b.getModule(e);if(e._module=p,p){var d=p.basePlotModule,m=d.attr,g=d.attributes;if(m&&g){var v=n._subplots,y=\"\";if(h||\"gl2d\"!==d.name){if(Array.isArray(m))for(a=0;a<m.length;a++){var x=m[a],_=u.coerce(t,e,g,x);v[x]&&u.pushUnique(v[x],_),y+=_}else y=u.coerce(t,e,g,m);v[d.name]&&u.pushUnique(v[d.name],y)}}}return h&&(c(\"customdata\"),c(\"ids\"),c(\"meta\"),s.traceIs(e,\"showLegend\")?(u.coerce(t,e,p.attributes.showlegend?p.attributes:b.attributes,\"showlegend\"),c(\"legendgroup\"),c(\"legendgrouptitle.text\"),c(\"legendrank\"),e._dfltShowLegend=!0):e._dfltShowLegend=!1,p&&p.supplyDefaults(t,e,l,n),s.traceIs(e,\"noOpacity\")||c(\"opacity\"),s.traceIs(e,\"notLegendIsolatable\")&&(e.visible=!!e.visible),s.traceIs(e,\"noHover\")||(e.hovertemplate||u.coerceHoverinfo(t,e,n),\"parcats\"!==e.type&&s.getComponentMethod(\"fx\",\"supplyDefaults\")(t,e,l,n)),p&&p.selectPoints&&c(\"selectedpoints\"),b.supplyTransformDefaults(t,e,n)),e},b.hasMakesDataTransform=S,b.supplyTransformDefaults=function(t,e,r){if(e._length||S(t)){var n=r._globalTransforms||[],i=r._transformModules||[];if(Array.isArray(t.transforms)||0!==n.length)for(var a=t.transforms||[],o=n.concat(a),s=e.transforms=[],l=0;l<o.length;l++){var c,f=o[l],h=f.type,p=_[h],d=!(f._module&&f._module===p),m=p&&\"function\"==typeof p.transform;p||u.warn(\"Unrecognized transform type \"+h+\".\"),p&&p.supplyDefaults&&(d||m)?((c=p.supplyDefaults(f,e,r,t)).type=h,c._module=p,u.pushUnique(i,p)):c=u.extendFlat({},f),s.push(c)}}},b.supplyLayoutGlobalDefaults=function(t,e,r){function n(r,n){return u.coerce(t,e,b.layoutAttributes,r,n)}var i=t.template;u.isPlainObject(i)&&(e.template=i,e._template=i.layout,e._dataTemplate=i.data),n(\"autotypenumbers\");var a=u.coerceFont(n,\"font\"),o=a.size;u.coerceFont(n,\"title.font\",u.extendFlat({},a,{size:Math.round(1.4*o)})),n(\"title.text\",e._dfltTitle.plot),n(\"title.xref\"),n(\"title.yref\"),n(\"title.x\"),n(\"title.y\"),n(\"title.xanchor\"),n(\"title.yanchor\"),n(\"title.pad.t\"),n(\"title.pad.r\"),n(\"title.pad.b\"),n(\"title.pad.l\"),n(\"uniformtext.mode\")&&n(\"uniformtext.minsize\"),n(\"autosize\",!(t.width&&t.height)),n(\"width\"),n(\"height\"),n(\"margin.l\"),n(\"margin.r\"),n(\"margin.t\"),n(\"margin.b\"),n(\"margin.pad\"),n(\"margin.autoexpand\"),t.width&&t.height&&b.sanitizeMargins(e),s.getComponentMethod(\"grid\",\"sizeDefaults\")(t,e),n(\"paper_bgcolor\"),n(\"separators\",r.decimal+r.thousands),n(\"hidesources\"),n(\"colorway\"),n(\"datarevision\");var l=n(\"uirevision\");n(\"editrevision\",l),n(\"selectionrevision\",l),s.getComponentMethod(\"modebar\",\"supplyLayoutDefaults\")(t,e),s.getComponentMethod(\"shapes\",\"supplyDrawNewShapeDefaults\")(t,e,n),n(\"meta\"),u.isPlainObject(t.transition)&&(n(\"transition.duration\"),n(\"transition.easing\"),n(\"transition.ordering\")),s.getComponentMethod(\"calendars\",\"handleDefaults\")(t,e,\"calendar\"),s.getComponentMethod(\"fx\",\"supplyLayoutGlobalDefaults\")(t,e,n)},b.plotAutoSize=function(t,e,r){var n,i,a=t._context||{},s=a.frameMargins,l=u.isPlotDiv(t);if(l&&t.emit(\"plotly_autosize\"),a.fillFrame)n=window.innerWidth,i=window.innerHeight,document.body.style.overflow=\"hidden\";else{var c=l?window.getComputedStyle(t):{};if(n=L(c.width)||L(c.maxWidth)||r.width,i=L(c.height)||L(c.maxHeight)||r.height,o(s)&&s>0){var f=1-2*s;n=Math.round(f*n),i=Math.round(f*i)}}var h=b.layoutAttributes.width.min,p=b.layoutAttributes.height.min;n<h&&(n=h),i<p&&(i=p);var d=!e.width&&Math.abs(r.width-n)>1,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}),b.sanitizeMargins(r)},b.supplyLayoutModuleDefaults=function(t,e,r,n){var i,a,o,l=s.componentsRegistry,c=e._basePlotModules,f=s.subplotsRegistry.cartesian;for(i in l)(o=l[i]).includeBasePlot&&o.includeBasePlot(t,e);for(var h in c.length||c.push(f),e._has(\"cartesian\")&&(s.getComponentMethod(\"grid\",\"contentDefaults\")(t,e),f.finalizeSubplots(t,e)),e._subplots)e._subplots[h].sort(u.subplotSort);for(a=0;a<c.length;a++)(o=c[a]).supplyLayoutDefaults&&o.supplyLayoutDefaults(t,e,r);var p=e._modules;for(a=0;a<p.length;a++)(o=p[a]).supplyLayoutDefaults&&o.supplyLayoutDefaults(t,e,r);var d=e._transformModules;for(a=0;a<d.length;a++)(o=d[a]).supplyLayoutDefaults&&o.supplyLayoutDefaults(t,e,r,n);for(i in l)(o=l[i]).supplyLayoutDefaults&&o.supplyLayoutDefaults(t,e,r)},b.purge=function(t){var e=t._fullLayout||{};void 0!==e._glcontainer&&(e._glcontainer.selectAll(\".gl-canvas\").remove(),e._glcontainer.remove(),e._glcanvas=null),e._modeBar&&e._modeBar.destroy(),t._transitionData&&(t._transitionData._interruptCallbacks&&(t._transitionData._interruptCallbacks.length=0),t._transitionData._animationRaf&&window.cancelAnimationFrame(t._transitionData._animationRaf)),u.clearThrottle(),u.clearResponsive(t),delete t.data,delete t.layout,delete t._fullData,delete t._fullLayout,delete t.calcdata,delete t.empty,delete t.fid,delete t.undoqueue,delete t.undonum,delete t.autoplay,delete t.changed,delete t._promises,delete t._redrawTimer,delete t._hmlumcount,delete t._hmpixcount,delete t._transitionData,delete t._transitioning,delete t._initialAutoSize,delete t._transitioningWithDuration,delete t._dragging,delete t._dragged,delete t._dragdata,delete t._hoverdata,delete t._snapshotInProgress,delete t._editing,delete t._mouseDownTime,delete t._legendMouseDownTime,t.removeAllListeners&&t.removeAllListeners()},b.style=function(t){var e,r=t._fullLayout._visibleModules,n=[];for(e=0;e<r.length;e++){var i=r[e];i.style&&u.pushUnique(n,i.style)}for(e=0;e<n.length;e++)n[e](t)},b.sanitizeMargins=function(t){if(t&&t.margin){var e,r=t.width,n=t.height,i=t.margin,a=r-(i.l+i.r),o=n-(i.t+i.b);a<0&&(e=(r-1)/(i.l+i.r),i.l=Math.floor(e*i.l),i.r=Math.floor(e*i.r)),o<0&&(e=(n-1)/(i.t+i.b),i.t=Math.floor(e*i.t),i.b=Math.floor(e*i.b))}},b.clearAutoMarginIds=function(t){t._fullLayout._pushmarginIds={}},b.allowAutoMargin=function(t,e){t._fullLayout._pushmarginIds[e]=1};b.autoMargin=function(t,e,r){var n=t._fullLayout,i=n.width,a=n.height,o=n.margin,s=u.constrain(i-o.l-o.r,2,64),l=u.constrain(a-o.t-o.b,2,64),c=Math.max(0,i-s),f=Math.max(0,a-l),h=n._pushmargin,p=n._pushmarginIds;if(!1!==o.autoexpand){if(r){var d=r.pad;if(void 0===d&&(d=Math.min(12,o.l,o.r,o.t,o.b)),c){var m=(r.l+r.r)/c;m>1&&(r.l/=m,r.r/=m)}if(f){var g=(r.t+r.b)/f;g>1&&(r.t/=g,r.b/=g)}var v=void 0!==r.xl?r.xl:r.x,y=void 0!==r.xr?r.xr:r.x,x=void 0!==r.yt?r.yt:r.y,_=void 0!==r.yb?r.yb:r.y;h[e]={l:{val:v,size:r.l+d},r:{val:y,size:r.r+d},b:{val:_,size:r.b+d},t:{val:x,size:r.t+d}},p[e]=1}else delete h[e],delete p[e];if(!n._replotting)return b.doAutoMargin(t)}},b.doAutoMargin=function(t){var e=t._fullLayout,r=e.width,n=e.height;e._size||(e._size={}),C(e);var i=e._size,a=e.margin,l=u.extendFlat({},i),c=a.l,f=a.r,h=a.t,d=a.b,m=e._pushmargin,g=e._pushmarginIds;if(!1!==e.margin.autoexpand){for(var v in m)g[v]||delete m[v];for(var y in m.base={l:{val:0,size:c},r:{val:1,size:f},t:{val:1,size:h},b:{val:0,size:d}},m){var x=m[y].l||{},_=m[y].b||{},w=x.val,T=x.size,k=_.val,A=_.size;for(var M in m){if(o(T)&&m[M].r){var S=m[M].r.val,E=m[M].r.size;if(S>w){var L=(T*S+(E-r)*w)/(S-w),P=(E*(1-w)+(T-r)*(1-S))/(S-w);L+P>c+f&&(c=L,f=P)}}if(o(A)&&m[M].t){var I=m[M].t.val,O=m[M].t.size;if(I>k){var z=(A*I+(O-n)*k)/(I-k),D=(O*(1-k)+(A-n)*(1-I))/(I-k);z+D>d+h&&(d=z,h=D)}}}}}var R=u.constrain(r-a.l-a.r,2,64),F=u.constrain(n-a.t-a.b,2,64),B=Math.max(0,r-R),N=Math.max(0,n-F);if(B){var j=(c+f)/B;j>1&&(c/=j,f/=j)}if(N){var U=(d+h)/N;U>1&&(d/=U,h/=U)}if(i.l=Math.round(c),i.r=Math.round(f),i.t=Math.round(h),i.b=Math.round(d),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&&b.didMarginChange(l,i)){\"_redrawFromAutoMarginCount\"in e?e._redrawFromAutoMarginCount++:e._redrawFromAutoMarginCount=1;var V=3*(1+Object.keys(g).length);if(e._redrawFromAutoMarginCount<V)return s.call(\"_doPlot\",t);e._size=l,u.warn(\"Too many auto-margin redraws.\")}!function(t){var e=p.list(t,\"\",!0);[\"_adjustTickLabelsOverflow\",\"_hideCounterAxisInsideTickLabels\"].forEach((function(t){for(var r=0;r<e.length;r++){var n=e[r][t];n&&n()}}))}(t)};var P=[\"l\",\"r\",\"t\",\"b\",\"p\",\"w\",\"h\"];function I(t,e,r){var n=!1;var i=[b.previousPromises,function(){if(t._transitionData)return t._transitioning=!1,function(t){var e=Promise.resolve();if(!t)return e;for(;t.length;)e=e.then(t.shift());return e}(t._transitionData._interruptCallbacks)},r.prepareFn,b.rehover,function(){return t.emit(\"plotly_transitioning\",[]),new Promise((function(i){t._transitioning=!0,e.duration>0&&(t._transitioningWithDuration=!0),t._transitionData._interruptCallbacks.push((function(){n=!0})),r.redraw&&t._transitionData._interruptCallbacks.push((function(){return s.call(\"redraw\",t)})),t._transitionData._interruptCallbacks.push((function(){t.emit(\"plotly_transitioninterrupted\",[])}));var a=0,o=0;function l(){return a++,function(){o++,n||o!==a||function(e){if(!t._transitionData)return;(function(t){if(t)for(;t.length;)t.shift()})(t._transitionData._interruptCallbacks),Promise.resolve().then((function(){if(r.redraw)return s.call(\"redraw\",t)})).then((function(){t._transitioning=!1,t._transitioningWithDuration=!1,t.emit(\"plotly_transitioned\",[])})).then(e)}(i)}}r.runFn(l),setTimeout(l())}))}],a=u.syncOrAsync(i,t);return a&&a.then||(a=Promise.resolve()),a.then((function(){return t}))}b.didMarginChange=function(t,e){for(var r=0;r<P.length;r++){var n=P[r],i=t[n],a=e[n];if(!o(i)||Math.abs(a-i)>1)return!0}return!1},b.graphJson=function(t,e,r,n,i,a){(i&&e&&!t._fullData||i&&!e&&!t._fullLayout)&&b.supplyDefaults(t);var o=i?t._fullData:t.data,s=i?t._fullLayout:t.layout,l=(t._transitionData||{})._frames;function c(t,e){if(\"function\"==typeof t)return e?\"_function_\":null;if(u.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&&!u.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}return Array.isArray(t)?t.map((function(t){return c(t,e)})):u.isTypedArray(t)?u.simpleMap(t,u.identity):u.isJSDate(t)?u.ms2DateTimeLocal(+t):t}var f={data:(o||[]).map((function(t){var r=c(t);return e&&delete r.fit,r}))};if(!e&&(f.layout=c(s),i)){var h=s._size;f.layout.computed={margin:{b:h.b,l:h.l,r:h.r,t:h.t}}}return l&&(f.frames=c(l)),a&&(f.config=c(t._context,!0)),\"object\"===n?f:JSON.stringify(f)},b.modifyFrames=function(t,e){var r,n,i,a=t._transitionData._frames,o=t._transitionData._frameHash;for(r=0;r<e.length;r++)switch((n=e[r]).type){case\"replace\":i=n.value;var s=(a[n.index]||{}).name,l=i.name;a[n.index]=o[l]=i,l!==s&&(delete o[s],o[l]=i);break;case\"insert\":o[(i=n.value).name]=i,a.splice(n.index,0,i);break;case\"delete\":delete o[(i=a[n.index]).name],a.splice(n.index,1)}return Promise.resolve()},b.computeFrame=function(t,e){var r,n,i,a,o=t._transitionData._frameHash;if(!e)throw new Error(\"computeFrame must be given a string frame name\");var s=o[e.toString()];if(!s)return!1;for(var l=[s],c=[s.name];s.baseframe&&(s=o[s.baseframe.toString()])&&-1===c.indexOf(s.name);)l.push(s),c.push(s.name);for(var u={};s=l.pop();)if(s.layout&&(u.layout=b.extendLayout(u.layout,s.layout)),s.data){if(u.data||(u.data=[]),!(n=s.traces))for(n=[],r=0;r<s.data.length;r++)n[r]=r;for(u.traces||(u.traces=[]),r=0;r<s.data.length;r++)null!=(i=n[r])&&(-1===(a=u.traces.indexOf(i))&&(a=u.data.length,u.traces[a]=i),u.data[a]=b.extendTrace(u.data[a],s.data[r]))}return u},b.recomputeFrameHash=function(t){for(var e=t._transitionData._frameHash={},r=t._transitionData._frames,n=0;n<r.length;n++){var i=r[n];i&&i.name&&(e[i.name]=i)}},b.extendObjectWithContainers=function(t,e,r){var n,i,a,o,s,l,c,f=u.extendDeepNoArrays({},e||{}),h=u.expandObjectPaths(f),p={};if(r&&r.length)for(a=0;a<r.length;a++)void 0===(i=(n=u.nestedProperty(h,r[a])).get())?u.nestedProperty(p,r[a]).set(null):(n.set(null),u.nestedProperty(p,r[a]).set(i));if(t=u.extendDeepNoArrays(t||{},h),r&&r.length)for(a=0;a<r.length;a++)if(l=u.nestedProperty(p,r[a]).get()){for(c=(s=u.nestedProperty(t,r[a])).get(),Array.isArray(c)||(c=[],s.set(c)),o=0;o<l.length;o++){var d=l[o];c[o]=null===d?null:b.extendObjectWithContainers(c[o],d)}s.set(c)}return t},b.dataArrayContainers=[\"transforms\",\"dimensions\"],b.layoutArrayContainers=s.layoutArrayContainers,b.extendTrace=function(t,e){return b.extendObjectWithContainers(t,e,b.dataArrayContainers)},b.extendLayout=function(t,e){return b.extendObjectWithContainers(t,e,b.layoutArrayContainers)},b.transition=function(t,e,r,n,i,a){var o={redraw:i.redraw},s={},l=[];return o.prepareFn=function(){for(var i=Array.isArray(e)?e.length:0,a=n.slice(0,i),o=0;o<a.length;o++){var c=a[o],f=t._fullData[c]._module;if(f){if(f.animatable){var h=f.basePlotModule.name;s[h]||(s[h]=[]),s[h].push(c)}t.data[a[o]]=b.extendTrace(t.data[a[o]],e[o])}}var p=u.expandObjectPaths(u.extendDeepNoArrays({},r)),d=/^[xy]axis[0-9]*$/;for(var m in p)d.test(m)&&delete p[m].range;b.extendLayout(t.layout,p),delete t.calcdata,b.supplyDefaults(t),b.doCalcdata(t);var g=u.expandObjectPaths(r);if(g){var v=t._fullLayout._plots;for(var y in v){var x=v[y],_=x.xaxis,w=x.yaxis,T=_.range.slice(),k=w.range.slice(),A=null,M=null,S=null,E=null;Array.isArray(g[_._name+\".range\"])?A=g[_._name+\".range\"].slice():Array.isArray((g[_._name]||{}).range)&&(A=g[_._name].range.slice()),Array.isArray(g[w._name+\".range\"])?M=g[w._name+\".range\"].slice():Array.isArray((g[w._name]||{}).range)&&(M=g[w._name].range.slice()),T&&A&&(_.r2l(T[0])!==_.r2l(A[0])||_.r2l(T[1])!==_.r2l(A[1]))&&(S={xr0:T,xr1:A}),k&&M&&(w.r2l(k[0])!==w.r2l(M[0])||w.r2l(k[1])!==w.r2l(M[1]))&&(E={yr0:k,yr1:M}),(S||E)&&l.push(u.extendFlat({plotinfo:x},S,E))}}return Promise.resolve()},o.runFn=function(e){var n,i,o=t._fullLayout._basePlotModules,c=l.length;if(r)for(i=0;i<o.length;i++)o[i].transitionAxes&&o[i].transitionAxes(t,l,a,e);for(var f in c?((n=u.extendFlat({},a)).duration=0,delete s.cartesian):n=a,s){var h=s[f];t._fullData[h[0]]._module.basePlotModule.plot(t,h,n,e)}},I(t,a,o)},b.transitionFromReact=function(t,e,r,n){var i=t._fullLayout,a=i.transition,o={},s=[];return o.prepareFn=function(){var t=i._plots;for(var a in o.redraw=!1,\"some\"===e.anim&&(o.redraw=!0),\"some\"===r.anim&&(o.redraw=!0),t){var l=t[a],c=l.xaxis,f=l.yaxis,h=n[c._name].range.slice(),p=n[f._name].range.slice(),d=c.range.slice(),m=f.range.slice();c.setScale(),f.setScale();var g=null,v=null;c.r2l(h[0])===c.r2l(d[0])&&c.r2l(h[1])===c.r2l(d[1])||(g={xr0:h,xr1:d}),f.r2l(p[0])===f.r2l(m[0])&&f.r2l(p[1])===f.r2l(m[1])||(v={yr0:p,yr1:m}),(g||v)&&s.push(u.extendFlat({plotinfo:l},g,v))}return Promise.resolve()},o.runFn=function(r){for(var n,i,o,l=t._fullData,c=t._fullLayout._basePlotModules,f=[],h=0;h<l.length;h++)f.push(h);function p(){if(t._fullLayout)for(var e=0;e<c.length;e++)c[e].transitionAxes&&c[e].transitionAxes(t,s,n,r)}function d(){if(t._fullLayout)for(var e=0;e<c.length;e++)c[e].plot(t,o,i,r)}s.length&&e.anim?\"traces first\"===a.ordering?(n=u.extendFlat({},a,{duration:0}),o=f,i=a,setTimeout(p,a.duration),d()):(n=a,o=null,i=u.extendFlat({},a,{duration:0}),setTimeout(d,n.duration),p()):s.length?(n=a,p()):e.anim&&(o=f,i=a,d())},I(t,a,o)},b.doCalcdata=function(t,e){var r,n,i,a,o=p.list(t),c=t._fullData,f=t._fullLayout,d=new Array(c.length),m=(t.calcdata||[]).slice();for(t.calcdata=d,f._numBoxes=0,f._numViolins=0,f._violinScaleGroupStats={},t._hmpixcount=0,t._hmlumcount=0,f._piecolormap={},f._sunburstcolormap={},f._treemapcolormap={},f._iciclecolormap={},f._funnelareacolormap={},i=0;i<c.length;i++)Array.isArray(e)&&-1===e.indexOf(i)&&(d[i]=m[i]);for(i=0;i<c.length;i++)(r=c[i])._arrayAttrs=l.findArrayAttributes(r),r._extremes={};var g=f._subplots.polar||[];for(i=0;i<g.length;i++)o.push(f[g[i]].radialaxis,f[g[i]].angularaxis);for(var v in f._colorAxes){var y=f[v];!1!==y.cauto&&(delete y.cmin,delete y.cmax)}var x=!1;function b(e){if(r=c[e],n=r._module,!0===r.visible&&r.transforms){if(n&&n.calc){var i=n.calc(t,r);i[0]&&i[0].t&&i[0].t._scene&&delete i[0].t._scene.dirty}for(a=0;a<r.transforms.length;a++){var o=r.transforms[a];(n=_[o.type])&&n.calcTransform&&(r._hasCalcTransform=!0,x=!0,n.calcTransform(t,r,o))}}}function w(e,i){if(r=c[e],!!(n=r._module).isContainer===i){var o=[];if(!0===r.visible&&0!==r._length){delete r._indexToPoints;var s=r.transforms||[];for(a=s.length-1;a>=0;a--)if(s[a].enabled){r._indexToPoints=s[a]._indexToPoints;break}n&&n.calc&&(o=n.calc(t,r))}Array.isArray(o)&&o[0]||(o=[{x:h,y:h}]),o[0].t||(o[0].t={}),o[0].trace=r,d[e]=o}}for(z(o,c,f),i=0;i<c.length;i++)w(i,!0);for(i=0;i<c.length;i++)b(i);for(x&&z(o,c,f),i=0;i<c.length;i++)w(i,!0);for(i=0;i<c.length;i++)w(i,!1);D(t);var T=function(t,e){var r,n,i,a,o,l=[];function c(t,r,n){var i=r._id.charAt(0);if(\"histogram2dcontour\"===t){var a=r._counterAxes[0],o=p.getFromId(e,a),s=\"x\"===i||\"x\"===a&&\"category\"===o.type,l=\"y\"===i||\"y\"===a&&\"category\"===o.type;return function(t,e){return 0===t||0===e||s&&t===n[e].length-1||l&&e===n.length-1?-1:(\"y\"===i?e:t)-1}}return function(t,e){return\"y\"===i?e:t}}var f={min:function(t){return u.aggNums(Math.min,null,t)},max:function(t){return u.aggNums(Math.max,null,t)},sum:function(t){return u.aggNums((function(t,e){return t+e}),null,t)},total:function(t){return u.aggNums((function(t,e){return t+e}),null,t)},mean:function(t){return u.mean(t)},median:function(t){return u.median(t)}};for(r=0;r<t.length;r++){var h=t[r];if(\"category\"===h.type){var d=h.categoryorder.match(O);if(d){var m=d[1],g=d[2],v=h._id.charAt(0),y=\"x\"===v,x=[];for(n=0;n<h._categories.length;n++)x.push([h._categories[n],[]]);for(n=0;n<h._traceIndices.length;n++){var b=h._traceIndices[n],_=e._fullData[b];if(!0===_.visible){var w=_.type;s.traceIs(_,\"histogram\")&&(delete _._xautoBinFinished,delete _._yautoBinFinished);var T=\"splom\"===w,k=\"scattergl\"===w,A=e.calcdata[b];for(i=0;i<A.length;i++){var M,S,E=A[i];if(T){var L=_._axesDim[h._id];if(!y){var C=_._diag[L][0];C&&(h=e._fullLayout[p.id2name(C)])}var P=E.trace.dimensions[L].values;for(a=0;a<P.length;a++)for(M=h._categoriesMap[P[a]],o=0;o<E.trace.dimensions.length;o++)if(o!==L){var I=E.trace.dimensions[o];x[M][1].push(I.values[a])}}else if(k){for(a=0;a<E.t.x.length;a++)y?(M=E.t.x[a],S=E.t.y[a]):(M=E.t.y[a],S=E.t.x[a]),x[M][1].push(S);E.t&&E.t._scene&&delete E.t._scene.dirty}else if(E.hasOwnProperty(\"z\")){S=E.z;var z=c(_.type,h,S);for(a=0;a<S.length;a++)for(o=0;o<S[a].length;o++)(M=z(o,a))+1&&x[M][1].push(S[a][o])}else for(void 0===(M=E.p)&&(M=E[v]),void 0===(S=E.s)&&(S=E.v),void 0===S&&(S=y?E.y:E.x),Array.isArray(S)||(S=void 0===S?[]:[S]),a=0;a<S.length;a++)x[M][1].push(S[a])}}}h._categoriesValue=x;var D=[];for(n=0;n<x.length;n++)D.push([x[n][0],f[m](x[n][1])]);D.sort((function(t,e){return t[1]-e[1]})),h._categoriesAggregatedValue=D,h._initialCategories=D.map((function(t){return t[0]})),\"descending\"===g&&h._initialCategories.reverse(),l=l.concat(h.sortByInitialCategories())}}}return l}(o,t);if(T.length){for(f._numBoxes=0,f._numViolins=0,i=0;i<T.length;i++)w(T[i],!0);for(i=0;i<T.length;i++)w(T[i],!1);D(t)}s.getComponentMethod(\"fx\",\"calc\")(t),s.getComponentMethod(\"errorbars\",\"calc\")(t)};var O=/(total|sum|min|max|mean|median) (ascending|descending)/;function z(t,e,r){var n={};function i(t){t.clearCalc(),\"multicategory\"===t.type&&t.setupMultiCategory(e),n[t._id]=1}u.simpleMap(t,i);for(var a=r._axisMatchGroups||[],o=0;o<a.length;o++)for(var s in a[o])n[s]||i(r[p.id2name(s)])}function D(t){var e,r,n,i=t._fullLayout,a=i._visibleModules,o={};for(r=0;r<a.length;r++){var s=a[r],l=s.crossTraceCalc;if(l){var c=s.basePlotModule.name;o[c]?u.pushUnique(o[c],l):o[c]=[l]}}for(n in o){var f=o[n],h=i._subplots[n];if(Array.isArray(h))for(e=0;e<h.length;e++){var p=h[e],d=\"cartesian\"===n?i._plots[p]:i[p];for(r=0;r<f.length;r++)f[r](t,d,p)}else for(r=0;r<f.length;r++)f[r](t)}}b.rehover=function(t){t._fullLayout._rehover&&t._fullLayout._rehover()},b.redrag=function(t){t._fullLayout._redrag&&t._fullLayout._redrag()},b.generalUpdatePerTraceModule=function(t,e,r,n){var i,a=e.traceHash,o={};for(i=0;i<r.length;i++){var s=r[i],l=s[0].trace;l.visible&&(o[l.type]=o[l.type]||[],o[l.type].push(s))}for(var c in a)if(!o[c]){var f=a[c][0];f[0].trace.visible=!1,o[c]=[f]}for(var h in o){var p=o[h];p[0][0].trace._module.plot(t,e,u.filterVisible(p),n)}e.traceHash=o},b.plotBasePlot=function(t,e,r,n,i){var a=s.getModule(t),o=v(e.calcdata,a)[0];a.plot(e,o,n,i)},b.cleanBasePlot=function(t,e,r,n,i){var a=i._has&&i._has(t),o=r._has&&r._has(t);a&&!o&&i[\"_\"+t+\"layer\"].selectAll(\"g.trace\").remove()}},{\"../components/color\":366,\"../constants/numerical\":479,\"../lib\":503,\"../plot_api/plot_schema\":542,\"../plot_api/plot_template\":543,\"../plots/get_data\":593,\"../registry\":638,\"./animation_attributes\":548,\"./attributes\":550,\"./cartesian/axis_ids\":558,\"./cartesian/handle_outline\":565,\"./command\":583,\"./font_attributes\":585,\"./frame_attributes\":586,\"./layout_attributes\":610,\"@plotly/d3\":58,\"d3-format\":112,\"d3-time-format\":120,\"fast-isnumeric\":190}],620:[function(t,e,r){\"use strict\";e.exports={attr:\"subplot\",name:\"polar\",axisNames:[\"angularaxis\",\"radialaxis\"],axisName2dataArray:{angularaxis:\"theta\",radialaxis:\"r\"},layerNames:[\"draglayer\",\"plotbg\",\"backplot\",\"angular-grid\",\"radial-grid\",\"frontplot\",\"angular-line\",\"radial-line\",\"angular-axis\",\"radial-axis\"],radialDragBoxSize:50,angularDragBoxSize:30,cornerLen:25,cornerHalfWidth:2,MINDRAG:8,MINZOOM:20,OFFEDGE:20}},{}],621:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../lib/polygon\").tester,a=n.findIndexOfMin,o=n.isAngleInsideSector,s=n.angleDelta,l=n.angleDist;function c(t,e,r,n){var i,a,o=n[0],s=n[1],l=f(Math.sin(e)-Math.sin(t)),c=f(Math.cos(e)-Math.cos(t)),u=Math.tan(r),h=f(1/u),p=l/c,d=s-p*o;return h?l&&c?a=u*(i=d/(u-p)):c?(i=s*h,a=s):(i=o,a=o*u):l&&c?(i=0,a=d):c?(i=0,a=s):i=a=NaN,[i,a]}function u(t,e,r,i){return n.isFullCircle([e,r])?function(t,e){var r,n=e.length,i=new Array(n+1);for(r=0;r<n;r++){var a=e[r];i[r]=[t*Math.cos(a),t*Math.sin(a)]}return i[r]=i[0].slice(),i}(t,i):function(t,e,r,i){var s,u,f=i.length,h=[];function p(e){return[t*Math.cos(e),t*Math.sin(e)]}function d(t,e,r){return c(t,e,r,p(t))}function m(t){return n.mod(t,f)}function g(t){return o(t,[e,r])}var v=a(i,(function(t){return g(t)?l(t,e):1/0})),y=d(i[v],i[m(v-1)],e);for(h.push(y),s=v,u=0;u<f;s++,u++){var x=i[m(s)];if(!g(x))break;h.push(p(x))}var b=a(i,(function(t){return g(t)?l(t,r):1/0})),_=d(i[b],i[m(b+1)],r);return h.push(_),h.push([0,0]),h.push(h[0].slice()),h}(t,e,r,i)}function f(t){return Math.abs(t)>1e-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;a<n;a++){var o=t[a];i[a]=[e+o[0],r-o[1]]}return i}e.exports={isPtInsidePolygon:function(t,e,r,n,a){if(!o(e,n))return!1;var s,l;r[0]<r[1]?(s=r[0],l=r[1]):(s=r[1],l=r[0]);var c=i(u(s,n[0],n[1],a)),f=i(u(l,n[0],n[1],a)),h=[t*Math.cos(e),t*Math.sin(e)];return f.contains(h)&&!c.contains(h)},findPolygonOffset:function(t,e,r,n){for(var i=1/0,a=1/0,o=u(t,e,r,n),s=0;s<o.length;s++){var l=o[s];i=Math.min(i,l[0]),a=Math.min(a,-l[1])}return[i,a]},findEnclosingVertexAngles:function(t,e){var r=a(e,(function(e){var r=s(e,t);return r>0?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:f,pathPolygon:function(t,e,r,n,i,a){return\"M\"+h(u(t,e,r,n),i,a).join(\"L\")},pathPolygonAnnulus:function(t,e,r,n,i,a,o){var s,l;t<e?(s=t,l=e):(s=e,l=t);var c=h(u(s,r,n,i),a,o);return\"M\"+h(u(l,r,n,i),a,o).reverse().join(\"L\")+\"M\"+c.join(\"L\")}}},{\"../../lib\":503,\"../../lib/polygon\":515}],622:[function(t,e,r){\"use strict\";var n=t(\"../get_data\").getSubplotCalcData,i=t(\"../../lib\").counterRegex,a=t(\"./polar\"),o=t(\"./constants\"),s=o.attr,l=o.name,c=i(l),u={};u[s]={valType:\"subplotid\",dflt:l,editType:\"calc\"},e.exports={attr:s,name:l,idRoot:l,idRegex:c,attrRegex:c,attributes:u,layoutAttributes:t(\"./layout_attributes\"),supplyLayoutDefaults:t(\"./layout_defaults\"),plot:function(t){for(var e=t._fullLayout,r=t.calcdata,i=e._subplots[l],o=0;o<i.length;o++){var s=i[o],c=n(r,l,s),u=e[s]._subplot;u||(u=a(t,s),e[s]._subplot=u),u.plot(c,e,t._promises)}},clean:function(t,e,r,n){for(var i=n._subplots[l]||[],a=n._has&&n._has(\"gl\"),o=e._has&&e._has(\"gl\"),s=a&&!o,c=0;c<i.length;c++){var u=i[c],f=n[u]._subplot;if(!e[u]&&f)for(var h in f.framework.remove(),f.layers[\"radial-axis-title\"].remove(),f.clipPaths)f.clipPaths[h].remove();s&&f._scene&&(f._scene.destroy(),f._scene=null)}},toSVG:t(\"../cartesian\").toSVG}},{\"../../lib\":503,\"../cartesian\":568,\"../get_data\":593,\"./constants\":620,\"./layout_attributes\":623,\"./layout_defaults\":624,\"./polar\":625}],623:[function(t,e,r){\"use strict\";var n=t(\"../../components/color/attributes\"),i=t(\"../cartesian/layout_attributes\"),a=t(\"../domain\").attributes,o=t(\"../../lib\").extendFlat,s=t(\"../../plot_api/edit_types\").overrideAll,l=s({color:i.color,showline:o({},i.showline,{dflt:!0}),linecolor:i.linecolor,linewidth:i.linewidth,showgrid:o({},i.showgrid,{dflt:!0}),gridcolor:i.gridcolor,gridwidth:i.gridwidth,griddash:i.griddash},\"plot\",\"from-root\"),c=s({tickmode:i.tickmode,nticks:i.nticks,tick0:i.tick0,dtick:i.dtick,tickvals:i.tickvals,ticktext:i.ticktext,ticks:i.ticks,ticklen:i.ticklen,tickwidth:i.tickwidth,tickcolor:i.tickcolor,ticklabelstep:i.ticklabelstep,showticklabels:i.showticklabels,showtickprefix:i.showtickprefix,tickprefix:i.tickprefix,showticksuffix:i.showticksuffix,ticksuffix:i.ticksuffix,showexponent:i.showexponent,exponentformat:i.exponentformat,minexponent:i.minexponent,separatethousands:i.separatethousands,tickfont:i.tickfont,tickangle:i.tickangle,tickformat:i.tickformat,tickformatstops:i.tickformatstops,layer:i.layer},\"plot\",\"from-root\"),u={visible:o({},i.visible,{dflt:!0}),type:o({},i.type,{values:[\"-\",\"linear\",\"log\",\"date\",\"category\"]}),autotypenumbers:i.autotypenumbers,autorange:o({},i.autorange,{editType:\"plot\"}),rangemode:{valType:\"enumerated\",values:[\"tozero\",\"nonnegative\",\"normal\"],dflt:\"tozero\",editType:\"calc\"},range:o({},i.range,{items:[{valType:\"any\",editType:\"plot\",impliedEdits:{\"^autorange\":!1}},{valType:\"any\",editType:\"plot\",impliedEdits:{\"^autorange\":!1}}],editType:\"plot\"}),categoryorder:i.categoryorder,categoryarray:i.categoryarray,angle:{valType:\"angle\",editType:\"plot\"},side:{valType:\"enumerated\",values:[\"clockwise\",\"counterclockwise\"],dflt:\"clockwise\",editType:\"plot\"},title:{text:o({},i.title.text,{editType:\"plot\",dflt:\"\"}),font:o({},i.title.font,{editType:\"plot\"}),editType:\"plot\"},hoverformat:i.hoverformat,uirevision:{valType:\"any\",editType:\"none\"},editType:\"calc\",_deprecated:{title:i._deprecated.title,titlefont:i._deprecated.titlefont}};o(u,l,c);var f={visible:o({},i.visible,{dflt:!0}),type:{valType:\"enumerated\",values:[\"-\",\"linear\",\"category\"],dflt:\"-\",editType:\"calc\",_noTemplating:!0},autotypenumbers:i.autotypenumbers,categoryorder:i.categoryorder,categoryarray:i.categoryarray,thetaunit:{valType:\"enumerated\",values:[\"radians\",\"degrees\"],dflt:\"degrees\",editType:\"calc\"},period:{valType:\"number\",editType:\"calc\",min:0},direction:{valType:\"enumerated\",values:[\"counterclockwise\",\"clockwise\"],dflt:\"counterclockwise\",editType:\"calc\"},rotation:{valType:\"angle\",editType:\"calc\"},hoverformat:i.hoverformat,uirevision:{valType:\"any\",editType:\"none\"},editType:\"calc\"};o(f,l,c),e.exports={domain:a({name:\"polar\",editType:\"plot\"}),sector:{valType:\"info_array\",items:[{valType:\"number\",editType:\"plot\"},{valType:\"number\",editType:\"plot\"}],dflt:[0,360],editType:\"plot\"},hole:{valType:\"number\",min:0,max:1,dflt:0,editType:\"plot\"},bgcolor:{valType:\"color\",editType:\"plot\",dflt:n.background},radialaxis:u,angularaxis:f,gridshape:{valType:\"enumerated\",values:[\"circular\",\"linear\"],dflt:\"circular\",editType:\"plot\"},uirevision:{valType:\"any\",editType:\"none\"},editType:\"calc\"}},{\"../../components/color/attributes\":365,\"../../lib\":503,\"../../plot_api/edit_types\":536,\"../cartesian/layout_attributes\":569,\"../domain\":584}],624:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../components/color\"),a=t(\"../../plot_api/plot_template\"),o=t(\"../subplot_defaults\"),s=t(\"../get_data\").getSubplotData,l=t(\"../cartesian/tick_value_defaults\"),c=t(\"../cartesian/tick_mark_defaults\"),u=t(\"../cartesian/tick_label_defaults\"),f=t(\"../cartesian/prefix_suffix_defaults\"),h=t(\"../cartesian/category_order_defaults\"),p=t(\"../cartesian/line_grid_defaults\"),d=t(\"../cartesian/axis_autotype\"),m=t(\"./layout_attributes\"),g=t(\"./set_convert\"),v=t(\"./constants\"),y=v.axisNames;function x(t,e,r,o){var d=r(\"bgcolor\");o.bgColor=i.combine(d,o.paper_bgcolor);var x=r(\"sector\");r(\"hole\");var _,w=s(o.fullData,v.name,o.id),T=o.layoutOut;function k(t,e){return r(_+\".\"+t,e)}for(var A=0;A<y.length;A++){_=y[A],n.isPlainObject(t[_])||(t[_]={});var M=t[_],S=a.newContainer(e,_);S._id=S._name=_,S._attr=o.id+\".\"+_,S._traceIndices=w.map((function(t){return t._expandedIndex}));var E=v.axisName2dataArray[_],L=b(M,S,k,w,E,o);h(M,S,k,{axData:w,dataAttr:E});var C=k(\"visible\");switch(g(S,e,T),k(\"uirevision\",e.uirevision),S._m=1,_){case\"radialaxis\":var P=k(\"autorange\",!S.isValidRange(M.range));M.autorange=P,!P||\"linear\"!==L&&\"-\"!==L||k(\"rangemode\"),\"reversed\"===P&&(S._m=-1),k(\"range\"),S.cleanRange(\"range\",{dfltRange:[0,1]});break;case\"angularaxis\":if(\"date\"===L){n.log(\"Polar plots do not support date angular axes yet.\");for(var I=0;I<w.length;I++)w[I].visible=!1;L=M.type=S.type=\"linear\"}k(\"linear\"===L?\"thetaunit\":\"period\");var O=k(\"direction\");k(\"rotation\",{counterclockwise:0,clockwise:90}[O])}if(f(M,S,k,S.type,{tickSuffixDflt:\"degrees\"===S.thetaunit?\"\\xb0\":void 0}),C){var z,D,R,F,B=o.font||{};D=(z=k(\"color\"))===M.color?z:B.color,R=B.size,F=B.family,l(M,S,k,S.type),u(M,S,k,S.type,{font:{color:D,size:R,family:F}}),c(M,S,k,{outerTicks:!0}),p(M,S,k,{dfltColor:z,bgColor:o.bgColor,blend:60,showLine:!0,showGrid:!0,noZeroLine:!0,attributes:m[_]}),k(\"layer\"),\"radialaxis\"===_&&(k(\"side\"),k(\"angle\",x[0]),k(\"title.text\"),n.coerceFont(k,\"title.font\",{color:D,size:n.bigFont(R),family:F}))}\"category\"!==L&&k(\"hoverformat\"),S._input=M}\"category\"===e.angularaxis.type&&r(\"gridshape\")}function b(t,e,r,n,i,a){var o=r(\"autotypenumbers\",a.autotypenumbersDflt);if(\"-\"===r(\"type\")){for(var s,l=0;l<n.length;l++)if(n[l].visible){s=n[l];break}s&&s[i]&&(e.type=d(s[i],\"gregorian\",{noMultiCategory:!0,autotypenumbers:o})),\"-\"===e.type?e.type=\"linear\":t.type=e.type}return e.type}e.exports=function(t,e,r){o(t,e,r,{type:v.name,attributes:m,handleDefaults:x,font:e.font,autotypenumbersDflt:e.autotypenumbers,paper_bgcolor:e.paper_bgcolor,fullData:r,layoutOut:e})}},{\"../../components/color\":366,\"../../lib\":503,\"../../plot_api/plot_template\":543,\"../cartesian/axis_autotype\":555,\"../cartesian/category_order_defaults\":559,\"../cartesian/line_grid_defaults\":571,\"../cartesian/prefix_suffix_defaults\":573,\"../cartesian/tick_label_defaults\":578,\"../cartesian/tick_mark_defaults\":579,\"../cartesian/tick_value_defaults\":580,\"../get_data\":593,\"../subplot_defaults\":632,\"./constants\":620,\"./layout_attributes\":623,\"./set_convert\":626}],625:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"tinycolor2\"),a=t(\"../../registry\"),o=t(\"../../lib\"),s=o.strRotate,l=o.strTranslate,c=t(\"../../components/color\"),u=t(\"../../components/drawing\"),f=t(\"../plots\"),h=t(\"../../plots/cartesian/axes\"),p=t(\"../cartesian/set_convert\"),d=t(\"./set_convert\"),m=t(\"../cartesian/autorange\").doAutoRange,g=t(\"../cartesian/dragbox\"),v=t(\"../../components/dragelement\"),y=t(\"../../components/fx\"),x=t(\"../../components/titles\"),b=t(\"../cartesian/select\").prepSelect,_=t(\"../cartesian/select\").selectOnClick,w=t(\"../cartesian/select\").clearSelect,T=t(\"../../lib/setcursor\"),k=t(\"../../lib/clear_gl_canvases\"),A=t(\"../../plot_api/subroutines\").redrawReglTraces,M=t(\"../../constants/alignment\").MID_SHIFT,S=t(\"./constants\"),E=t(\"./helpers\"),L=t(\"../smith/helpers\"),C=L.smith,P=L.reactanceArc,I=L.resistanceArc,O=L.smithTransform,z=o._,D=o.mod,R=o.deg2rad,F=o.rad2deg;function B(t,e,r){this.isSmith=r||!1,this.id=e,this.gd=t,this._hasClipOnAxisFalse=null,this.vangles=null,this.radialAxisAngle=null,this.traceHash={},this.layers={},this.clipPaths={},this.clipIds={},this.viewInitial={};var n=t._fullLayout,i=\"clip\"+n._uid+e;this.clipIds.forTraces=i+\"-for-traces\",this.clipPaths.forTraces=n._clips.append(\"clipPath\").attr(\"id\",this.clipIds.forTraces),this.clipPaths.forTraces.append(\"path\"),this.framework=n[\"_\"+(r?\"smith\":\"polar\")+\"layer\"].append(\"g\").attr(\"class\",e),this.getHole=function(t){return this.isSmith?0:t.hole},this.getSector=function(t){return this.isSmith?[0,360]:t.sector},this.getRadial=function(t){return this.isSmith?t.realaxis:t.radialaxis},this.getAngular=function(t){return this.isSmith?t.imaginaryaxis:t.angularaxis},r||(this.radialTickLayout=null,this.angularTickLayout=null)}var N=B.prototype;function j(t){var e=t.ticks+String(t.ticklen)+String(t.showticklabels);return\"side\"in t&&(e+=t.side),e}function U(t,e){return e[o.findIndexOfMin(e,(function(e){return o.angleDist(t,e)}))]}function V(t,e,r){return e?(t.attr(\"display\",null),t.attr(r)):t&&t.attr(\"display\",\"none\"),t}e.exports=function(t,e,r){return new B(t,e,r)},N.plot=function(t,e){for(var r=e[this.id],n=!1,i=0;i<t.length;i++){if(!1===t[i][0].trace.cliponaxis){n=!0;break}}this._hasClipOnAxisFalse=n,this.updateLayers(e,r),this.updateLayout(e,r),f.generalUpdatePerTraceModule(this.gd,this,t,r),this.updateFx(e,r),this.isSmith&&(delete r.realaxis.range,delete r.imaginaryaxis.range)},N.updateLayers=function(t,e){var r=this.isSmith,i=this.layers,a=this.getRadial(e),o=this.getAngular(e),s=S.layerNames,l=s.indexOf(\"frontplot\"),c=s.slice(0,l),u=\"below traces\"===o.layer,f=\"below traces\"===a.layer;u&&c.push(\"angular-line\"),f&&c.push(\"radial-line\"),u&&c.push(\"angular-axis\"),f&&c.push(\"radial-axis\"),c.push(\"frontplot\"),u||c.push(\"angular-line\"),f||c.push(\"radial-line\"),u||c.push(\"angular-axis\"),f||c.push(\"radial-axis\");var h=(r?\"smith\":\"polar\")+\"sublayer\",p=this.framework.selectAll(\".\"+h).data(c,String);p.enter().append(\"g\").attr(\"class\",(function(t){return h+\" \"+t})).each((function(t){var e=i[t]=n.select(this);switch(t){case\"frontplot\":r||e.append(\"g\").classed(\"barlayer\",!0),e.append(\"g\").classed(\"scatterlayer\",!0);break;case\"backplot\":e.append(\"g\").classed(\"maplayer\",!0);break;case\"plotbg\":i.bg=e.append(\"path\");break;case\"radial-grid\":case\"angular-grid\":e.style(\"fill\",\"none\");break;case\"radial-line\":e.append(\"line\").style(\"fill\",\"none\");break;case\"angular-line\":e.append(\"path\").style(\"fill\",\"none\")}})),p.order()},N.updateLayout=function(t,e){var r=this.layers,n=t._size,i=this.getRadial(e),a=this.getAngular(e),o=e.domain.x,s=e.domain.y;this.xOffset=n.l+n.w*o[0],this.yOffset=n.t+n.h*(1-s[1]);var f=this.xLength=n.w*(o[1]-o[0]),h=this.yLength=n.h*(s[1]-s[0]),p=this.getSector(e);this.sectorInRad=p.map(R);var d,m,g,v,y,x=this.sectorBBox=function(t){var e,r,n,i,a=t[0],o=t[1]-a,s=D(a,360),l=s+o,c=Math.cos(R(s)),u=Math.sin(R(s)),f=Math.cos(R(l)),h=Math.sin(R(l));i=s<=90&&l>=90||s>90&&l>=450?1:u<=0&&h<=0?0:Math.max(u,h);e=s<=180&&l>=180||s>180&&l>=540?-1:c>=0&&f>=0?0:Math.min(c,f);r=s<=270&&l>=270||s>270&&l>=630?-1:u>=0&&h>=0?0:Math.min(u,h);n=l>=360?1:c<=0&&f<=0?0:Math.max(c,f);return[e,r,n,i]}(p),b=x[2]-x[0],_=x[3]-x[1],w=h/f,T=Math.abs(_/b);w>T?(d=f,y=(h-(m=f*T))/n.h/2,g=[o[0],o[1]],v=[s[0]+y,s[1]-y]):(m=h,y=(f-(d=h/T))/n.w/2,g=[o[0]+y,o[1]-y],v=[s[0],s[1]]),this.xLength2=d,this.yLength2=m,this.xDomain2=g,this.yDomain2=v;var k,A=this.xOffset2=n.l+n.w*g[0],M=this.yOffset2=n.t+n.h*(1-v[1]),S=this.radius=d/b,E=this.innerRadius=this.getHole(e)*S,L=this.cx=A-S*x[0],C=this.cy=M+S*x[3],P=this.cxx=L-A,I=this.cyy=C-M,O=i.side;\"counterclockwise\"===O?(k=O,O=\"top\"):\"clockwise\"===O&&(k=O,O=\"bottom\"),this.radialAxis=this.mockAxis(t,e,i,{_id:\"x\",side:O,_trueSide:k,domain:[E/n.w,S/n.w]}),this.angularAxis=this.mockAxis(t,e,a,{side:\"right\",domain:[0,Math.PI],autorange:!1}),this.doAutoRange(t,e),this.updateAngularAxis(t,e),this.updateRadialAxis(t,e),this.updateRadialAxisTitle(t,e),this.xaxis=this.mockCartesianAxis(t,e,{_id:\"x\",domain:g}),this.yaxis=this.mockCartesianAxis(t,e,{_id:\"y\",domain:v});var z=this.pathSubplot();this.clipPaths.forTraces.select(\"path\").attr(\"d\",z).attr(\"transform\",l(P,I)),r.frontplot.attr(\"transform\",l(A,M)).call(u.setClipUrl,this._hasClipOnAxisFalse?null:this.clipIds.forTraces,this.gd),r.bg.attr(\"d\",z).attr(\"transform\",l(L,C)).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.gd,n=this.radialAxis,i=this.getRadial(e);m(r,n);var a=n.range;i.range=a.slice(),i._input.range=a.slice(),n._rl=[n.r2l(a[0],null,\"gregorian\"),n.r2l(a[1],null,\"gregorian\")]},N.updateRadialAxis=function(t,e){var r=this,n=r.gd,i=r.layers,a=r.radius,u=r.innerRadius,f=r.cx,p=r.cy,d=r.getRadial(e),m=D(r.getSector(e)[0],360),g=r.radialAxis,v=u<a,y=r.isSmith;y||(r.fillViewInitialKey(\"radialaxis.angle\",d.angle),r.fillViewInitialKey(\"radialaxis.range\",g.range.slice()),g.setGeometry()),\"auto\"===g.tickangle&&m>90&&m<=270&&(g.tickangle=180);var x=y?function(t){var e=O(r,C([t.x,0]));return l(e[0]-f,e[1]-p)}:function(t){return l(g.l2p(t.x)+u,0)},b=y?function(t){return I(r,t.x,-1/0,1/0)}:function(t){return r.pathArc(g.r2p(t.x)+u)},_=j(d);if(r.radialTickLayout!==_&&(i[\"radial-axis\"].selectAll(\".xtick\").remove(),r.radialTickLayout=_),v){g.setScale();var w=0,T=y?(g.tickvals||[]).filter((function(t){return t>=0})).map((function(t){return h.tickText(g,t,!0,!1)})):h.calcTicks(g),k=y?T:h.clipEnds(g,T),A=h.getTickSigns(g)[2];y&&((\"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\"],v&&(d.showticklabels||d.ticks),{transform:E}),V(i[\"radial-grid\"],v&&d.showgrid,{transform:y?\"\":S}),V(i[\"radial-line\"].select(\"line\"),v&&d.showline,{x1:y?-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.gd,i=this.radius,a=this.cx,o=this.cy,s=this.getRadial(e),l=this.id+\"title\",c=0;if(s.title){var f=u.bBox(this.layers[\"radial-axis\"].node()).height,h=s.title.font.size,p=s.side;c=\"top\"===p?h:\"counterclockwise\"===p?-(f+.4*h):f+.8*h}var d=void 0!==r?r:this.radialAxisAngle,m=R(d),g=Math.cos(m),v=Math.sin(m),y=a+i/2*g+c*v,b=o-i/2*v+c*g;this.layers[\"radial-axis-title\"]=x.draw(n,l,{propContainer:s,propName:this.id+\".radialaxis.title\",placeholder:z(n,\"Click to enter radial axis title\"),attributes:{x:y,y:b,\"text-anchor\":\"middle\"},transform:{rotate:-d}})}},N.updateAngularAxis=function(t,e){var r=this,n=r.gd,i=r.layers,a=r.radius,u=r.innerRadius,f=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 v=g?function(t){var e=O(r,C([0,t.x]));return Math.atan2(e[0]-f,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 y=function(t){return l(f+a*Math.cos(t),p-a*Math.sin(t))},x=g?function(t){var e=O(r,C([0,t.x]));return l(e[0],e[1])}:function(t){return y(v(t))},b=g?function(t){var e=O(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=v(t);return y(e)+s(-F(e))},_=g?function(t){return P(r,t.x,0,1/0)}:function(t){var e=v(t),r=Math.cos(e),n=Math.sin(e);return\"M\"+[f+u*r,p-u*n]+\"L\"+[f+a*r,p-a*n]},w=h.makeLabelFns(m,0).labelStandoff,T={xFn:function(t){var e=v(t);return Math.cos(e)*w},yFn:function(t){var e=v(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=v(t),r=Math.cos(e);return Math.abs(r)<.1?\"middle\":r>0?\"start\":\"end\"},heightFn:function(t,e,r){var n=v(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 h.tickText(m,t,!0,!1)})):h.calcTicks(m);if(g&&(S[0].text=\"\\u221e\",S[0].fontSize*=1.75),\"linear\"===e.gridshape?(A=S.map(v),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(v(t),r.sectorInRad)}))),m.visible){var E=\"inside\"===m.ticks?-1:1,L=(m.linewidth||1)/2;h.drawTicks(n,m,{vals:S,layer:i[\"angular-axis\"],path:\"M\"+E*L+\",0h\"+E*m.ticklen,transFn:b,crisp:!1}),h.drawGrid(n,m,{vals:S,layer:i[\"angular-grid\"],path:_,transFn:o.noop,crisp:!1}),h.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(f,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,f=s.layers,h=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,L=s.sectorInRad,C=s.vangles,P=s.radialAxis,I=E.clampTiny,O=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){y.hover(u,t,s.id),u._fullLayout._lasthover=F,u._fullLayout._hoversubplot=s.id},F.onmouseout=function(t){u._dragging||v.unhover(u,t)};var B,N,j,U,V,H,q,G,Y,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 X(t,e){return Math.sqrt(t*t+e*e)}function Z(t,e){return X(t-A,e-M)}function J(t,e){return Math.atan2(M-e,t-A)}function K(t,e){return[t*Math.cos(e),t*Math.sin(-e)]}function Q(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\"+K(o,n)+\"A\"+[o,o]+\" 0,0,0 \"+K(o,i)+\"L\"+K(l,i)+\"A\"+[l,l]+\" 0,0,1 \"+K(l,n)+\"Z\"}function $(t,e,r){if(0===t)return s.pathSector(2*D);var n,i,a=K(t,e),o=K(t,r),l=I((a[0]+o[0])/2),c=I((a[1]+o[1])/2);if(l&&c){var u=c/l,f=-1/u,h=O(D,u,l,c);n=O(R,f,h[0][0],h[0][1]),i=O(R,f,h[1][0],h[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),t<d?t=0:m-t<d?t=m:e<d?e=0:m-e<d&&(e=m),Math.abs(e-t)>p?(t<e?(j=t,U=e):(j=e,U=t),!0):(j=null,U=null,!1)}function et(t,e){t=t||V,e=e||\"M0,0Z\",G.attr(\"d\",t),Y.attr(\"d\",e),g.transitionZoombox(G,Y,H,q),H=!0;var r={};ot(r),u.emit(\"plotly_relayouting\",r)}function rt(t,n){var i,a,o=B+(t*=e),l=N+(n*=r),c=Z(B,N),u=Math.min(Z(o,l),m),f=J(B,N);tt(c,u)&&(i=V+s.pathSector(U),j&&(i+=s.pathSector(j)),a=Q(j,f)+Q(U,f)),et(i,a)}function nt(t,e,r,n){var i=E.findIntersectionXY(r,n,r,[t-A,M-e]);return X(i[0],i[1])}function it(t,e){var r,n,i=B+t,a=N+e,o=J(B,N),l=J(i,a),c=z(o,C),u=z(l,C);tt(nt(B,N,c[0],c[1]),Math.min(nt(i,a,u[0],u[1]),m))&&(r=V+s.pathSector(U),j&&(r+=s.pathSector(j)),n=[$(j,c[0],c[1]),$(U,c[0],c[1])].join(\" \")),et(r,n)}function at(){if(g.removeZoombox(u),null!==j&&null!==U){var t={};ot(t),g.showDoubleClickNotifier(u),a.call(\"_guiRelayout\",u,t)}}function ot(t){var e=P._rl,r=(e[1]-e[0])/(1-x/m)/m,n=[e[0]+(j-x)*r,e[0]+(U-x)*r];t[s.id+\".radialaxis.range\"]=n}function st(t,e){var r=u._fullLayout.clickmode;if(g.removeZoombox(u),2===t){var n={};for(var i in s.viewInitial)n[s.id+\".\"+i]=s.viewInitial[i];u.emit(\"plotly_doubleclick\",null),a.call(\"_guiRelayout\",u,n)}r.indexOf(\"select\")>-1&&1===t&&_(e,u,[s.xaxis],[s.yaxis],s.id,W),r.indexOf(\"event\")>-1&&y.click(u,e,s.id)}W.prepFn=function(t,n,a){var l=u._fullLayout.dragmode,f=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-f.left,a-f.top);if(B=d[0],N=d[1],C){var v=E.findPolygonOffset(m,L[0],L[1],C);B+=A+v[0],N+=M+v[1]}switch(l){case\"zoom\":W.clickFn=st,c||(W.moveFn=C?it:rt,W.doneFn=at,function(){j=null,U=null,V=s.pathSubplot(),H=!1;var t=u._fullLayout[s.id];q=i(t.bgcolor).getLuminance(),(G=g.makeZoombox(h,q,T,k,V)).attr(\"fill-rule\",\"evenodd\"),Y=g.makeCorners(h,T,k),w(u)}());break;case\"select\":case\"lasso\":b(t,n,a,W,l)}},v.init(W)},N.updateRadialDrag=function(t,e,r){var i=this,c=i.gd,u=i.layers,f=i.radius,h=i.innerRadius,p=i.cx,d=i.cy,m=i.radialAxis,y=S.radialDragBoxSize,x=y/2;if(m.visible){var b,_,T,M=R(i.radialAxisAngle),E=m._rl,L=E[0],C=E[1],P=E[r],I=.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 O,z,D,B=g.makeRectDragger(u,T,\"crosshair\",-x,-x,y,y),N={element:B,gd:c};!1===t.dragmode&&(N.dragmode=!1),V(n.select(B),m.visible&&h<f,{transform:l(b,_)}),N.prepFn=function(){O=null,z=null,D=null,N.moveFn=j,N.doneFn=H,w(c)},N.clampFn=function(t,e){return Math.sqrt(t*t+e*e)<S.MINDRAG&&(t=0,e=0),[t,e]},v.init(N)}function j(t,e){if(O)O(t,e);else{var n=[t,-e],a=[Math.cos(M),Math.sin(M)],s=Math.abs(o.dot(n,a)/Math.sqrt(o.dot(n,n)));isNaN(s)||(O=s<.5?q:G)}var l={};!function(t){null!==z?t[i.id+\".radialaxis.angle\"]=z:null!==D&&(t[i.id+\".radialaxis.range[\"+r+\"]\"]=D)}(l),c.emit(\"plotly_relayouting\",l)}function H(){null!==z?a.call(\"_guiRelayout\",c,i.id+\".radialaxis.angle\",z):null!==D&&a.call(\"_guiRelayout\",c,i.id+\".radialaxis.range[\"+r+\"]\",D)}function q(t,e){if(0!==r){var n=b+t,a=_+e;z=Math.atan2(d-a,n-p),i.vangles&&(z=U(z,i.vangles)),z=F(z);var o=l(p,d)+s(-z);u[\"radial-axis\"].attr(\"transform\",o),u[\"radial-line\"].select(\"line\").attr(\"transform\",o);var c=i.gd._fullLayout,f=c[i.id];i.updateRadialAxisTitle(c,f,z)}}function G(t,e){var n=o.dot([t,-e],[Math.cos(M),Math.sin(M)]);if(D=P-I*n,I>0==(r?D>L:D<C)){var s=c._fullLayout,l=s[i.id];m.range[r]=D,m._rl[r]=D,i.updateRadialAxis(s,l),i.xaxis.setRange(),i.xaxis.setScale(),i.yaxis.setRange(),i.yaxis.setScale();var u=!1;for(var f in i.traceHash){var h=i.traceHash[f],p=o.filterVisible(h);h[0][0].trace._module.plot(c,i,p,l),a.traceIs(f,\"gl\")&&p.length&&(u=!0)}u&&(k(c),A(c))}else D=null}},N.updateAngularDrag=function(t){var e=this,r=e.gd,i=e.layers,c=e.radius,f=e.angularAxis,h=e.cx,p=e.cy,d=e.cxx,m=e.cyy,y=S.angularDragBoxSize,x=g.makeDragger(i,\"path\",\"angulardrag\",!1===t.dragmode?\"none\":\"move\"),b={element:x,gd:r};function _(t,e){return Math.atan2(m+y-e,t-d-y)}!1===t.dragmode?b.dragmode=!1:n.select(x).attr(\"d\",e.pathAnnulus(c,c+y)).attr(\"transform\",l(h,p)).call(T,\"move\");var M,E,L,C,P,I,O=i.frontplot.select(\".scatterlayer\").selectAll(\".trace\"),z=O.selectAll(\".point\"),D=O.selectAll(\".textpoint\");function R(c,g){var v=e.gd._fullLayout,y=v[e.id],x=_(M+c*t._invScaleX,E+g*t._invScaleY),b=F(x-I);if(C=L+b,i.frontplot.attr(\"transform\",l(e.xOffset2,e.yOffset2)+s([-b,d,m])),e.vangles){P=e.radialAxisAngle+b;var w=l(h,p)+s(-b),T=l(h,p)+s(-P);i.bg.attr(\"transform\",w),i[\"radial-grid\"].attr(\"transform\",w),i[\"radial-axis\"].attr(\"transform\",T),i[\"radial-line\"].select(\"line\").attr(\"transform\",T),e.updateRadialAxisTitle(v,y,P)}else e.clipPaths.forTraces.select(\"path\").attr(\"transform\",l(d,m)+s(b));z.each((function(){var t=n.select(this),e=u.getTranslate(t);t.attr(\"transform\",l(e.x,e.y)+s([b]))})),D.each((function(){var t=n.select(this),e=t.select(\"text\"),r=u.getTranslate(t);t.attr(\"transform\",s([b,e.attr(\"x\"),e.attr(\"y\")])+l(r.x,r.y))})),f.rotation=o.modHalf(C,360),e.updateAngularAxis(v,y),e._hasClipOnAxisFalse&&!o.isFullCircle(e.sectorInRad)&&O.call(u.hideOutsideRangePoints,e);var S=!1;for(var R in e.traceHash)if(a.traceIs(R,\"gl\")){var N=e.traceHash[R],j=o.filterVisible(N);N[0][0].trace._module.plot(r,e,j,y),j.length&&(S=!0)}S&&(k(r),A(r));var U={};B(U),r.emit(\"plotly_relayouting\",U)}function B(t){t[e.id+\".angularaxis.rotation\"]=C,e.vangles&&(t[e.id+\".radialaxis.angle\"]=P)}function N(){D.select(\"text\").attr(\"transform\",null);var t={};B(t),a.call(\"_guiRelayout\",r,t)}b.prepFn=function(n,i,a){var s=t[e.id];L=s.angularaxis.rotation;var l=x.getBoundingClientRect();M=i-l.left,E=a-l.top,r._fullLayout._calcInverseTransform(r);var c=o.apply3DTransform(t._invTransform)(M,E);M=c[0],E=c[1],I=_(M,E),b.moveFn=R,b.doneFn=N,w(r)},e.vangles&&!o.isFullCircle(e.sectorInRad)&&(b.prepFn=o.noop,T(n.select(x),null)),v.init(b)},N.isPtInside=function(t){if(this.isSmith)return!0;var e=this.sectorInRad,r=this.vangles,n=this.angularAxis.c2g(t.theta),i=this.radialAxis,a=i.c2l(t.r),s=i._rl;return(r?E.isPtInsidePolygon:o.isPtInsideSector)(a,n,s,e,r)},N.pathArc=function(t){var e=this.sectorInRad,r=this.vangles;return(r?E.pathPolygon:o.pathArc)(t,e[0],e[1],r)},N.pathSector=function(t){var e=this.sectorInRad,r=this.vangles;return(r?E.pathPolygon:o.pathSector)(t,e[0],e[1],r)},N.pathAnnulus=function(t,e){var r=this.sectorInRad,n=this.vangles;return(n?E.pathPolygonAnnulus:o.pathAnnulus)(t,e,r[0],r[1],n)},N.pathSubplot=function(){var t=this.innerRadius,e=this.radius;return t?this.pathAnnulus(t,e):this.pathSector(e)},N.fillViewInitialKey=function(t,e){t in this.viewInitial||(this.viewInitial[t]=e)}},{\"../../components/color\":366,\"../../components/dragelement\":385,\"../../components/drawing\":388,\"../../components/fx\":406,\"../../components/titles\":464,\"../../constants/alignment\":471,\"../../lib\":503,\"../../lib/clear_gl_canvases\":487,\"../../lib/setcursor\":524,\"../../plot_api/subroutines\":544,\"../../plots/cartesian/axes\":554,\"../../registry\":638,\"../cartesian/autorange\":553,\"../cartesian/dragbox\":563,\"../cartesian/select\":575,\"../cartesian/set_convert\":576,\"../plots\":619,\"../smith/helpers\":628,\"./constants\":620,\"./helpers\":621,\"./set_convert\":626,\"@plotly/d3\":58,tinycolor2:312}],626:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../cartesian/set_convert\"),a=n.deg2rad,o=n.rad2deg;e.exports=function(t,e,r){switch(i(t,r),t._id){case\"x\":case\"radialaxis\":!function(t,e){var r=e._subplot;t.setGeometry=function(){var e=t._rl[0],n=t._rl[1],i=r.innerRadius,a=(r.radius-i)/(n-e),o=i/a,s=e>n?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,i){var a,o,s=e[i],l=e._length,c=function(r){return t.d2c(r,e.thetaunit)};if(s){if(n.isTypedArray(s)&&\"linear\"===r){if(l===s.length)return s;if(s.subarray)return s.subarray(0,l)}for(a=new Array(l),o=0;o<l;o++)a[o]=c(s[o])}else{var u=i+\"0\",f=\"d\"+i,h=u in e?c(e[u]):0,p=e[f]?c(e[f]):(t.period||2*Math.PI)/l;for(a=new Array(l),o=0;o<l;o++)a[o]=h+o*p}return a},t.setGeometry=function(){var i,s,l,c,u=e.sector,f=u.map(a),h={clockwise:-1,counterclockwise:1}[t.direction],p=a(t.rotation),d=function(t){return h*t+p},m=function(t){return(t-p)/h};switch(r){case\"linear\":s=i=n.identity,c=a,l=o,t.range=n.isFullCircle(f)?[u[0],u[0]+360]:f.map(m).map(o);break;case\"category\":var g=t._categories.length,v=t.period?Math.max(t.period,g):g;0===v&&(v=1),s=c=function(t){return 2*t*Math.PI/v},i=l=function(t){return t*v/Math.PI/2},t.range=[0,v]}t.c2g=function(t){return d(s(t))},t.g2c=function(t){return i(m(t))},t.t2g=function(t){return d(c(t))},t.g2t=function(t){return l(m(t))}}}(t,e)}}},{\"../../lib\":503,\"../cartesian/set_convert\":576}],627:[function(t,e,r){\"use strict\";e.exports={attr:\"subplot\",name:\"smith\",axisNames:[\"realaxis\",\"imaginaryaxis\"],axisName2dataArray:{imaginaryaxis:\"imag\",realaxis:\"real\"}}},{}],628:[function(t,e,r){\"use strict\";function n(t){return t<0?-1:t>0?1:0}function i(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 a(t,e){var r=e[0],n=e[1];return[r*t.radius+t.cx,-n*t.radius+t.cy]}function o(t,e){return e*t.radius}e.exports={smith:i,reactanceArc:function(t,e,r,n){var s=a(t,i([r,e])),l=s[0],c=s[1],u=a(t,i([n,e])),f=u[0],h=u[1];if(0===e)return[\"M\"+l+\",\"+c,\"L\"+f+\",\"+h].join(\" \");var p=o(t,1/Math.abs(e));return[\"M\"+l+\",\"+c,\"A\"+p+\",\"+p+\" 0 0,\"+(e<0?1:0)+\" \"+f+\",\"+h].join(\" \")},resistanceArc:function(t,e,r,s){var l=o(t,1/(e+1)),c=a(t,i([e,r])),u=c[0],f=c[1],h=a(t,i([e,s])),p=h[0],d=h[1];if(n(r)!==n(s)){var m=a(t,i([e,0]));return[\"M\"+u+\",\"+f,\"A\"+l+\",\"+l+\" 0 0,\"+(0<r?0:1)+\" \"+m[0]+\",\"+m[1],\"A\"+l+\",\"+l+\" 0 0,\"+(s<0?0:1)+p+\",\"+d].join(\" \")}return[\"M\"+u+\",\"+f,\"A\"+l+\",\"+l+\" 0 0,\"+(s<r?0:1)+\" \"+p+\",\"+d].join(\" \")},smithTransform:a}},{}],629:[function(t,e,r){\"use strict\";var n=t(\"../get_data\").getSubplotCalcData,i=t(\"../../lib\").counterRegex,a=t(\"../polar/polar\"),o=t(\"./constants\"),s=o.attr,l=o.name,c=i(l),u={};u[s]={valType:\"subplotid\",dflt:l,editType:\"calc\"},e.exports={attr:s,name:l,idRoot:l,idRegex:c,attrRegex:c,attributes:u,layoutAttributes:t(\"./layout_attributes\"),supplyLayoutDefaults:t(\"./layout_defaults\"),plot:function(t){for(var e=t._fullLayout,r=t.calcdata,i=e._subplots[l],o=0;o<i.length;o++){var s=i[o],c=n(r,l,s),u=e[s]._subplot;u||(u=a(t,s,!0),e[s]._subplot=u),u.plot(c,e,t._promises)}},clean:function(t,e,r,n){for(var i=n._subplots[l]||[],a=0;a<i.length;a++){var o=i[a],s=n[o]._subplot;if(!e[o]&&s)for(var c in s.framework.remove(),s.clipPaths)s.clipPaths[c].remove()}},toSVG:t(\"../cartesian\").toSVG}},{\"../../lib\":503,\"../cartesian\":568,\"../get_data\":593,\"../polar/polar\":625,\"./constants\":627,\"./layout_attributes\":630,\"./layout_defaults\":631}],630:[function(t,e,r){\"use strict\";var n=t(\"../../components/color/attributes\"),i=t(\"../cartesian/layout_attributes\"),a=t(\"../domain\").attributes,o=t(\"../../lib\").extendFlat,s=t(\"../../plot_api/edit_types\").overrideAll,l=s({color:i.color,showline:o({},i.showline,{dflt:!0}),linecolor:i.linecolor,linewidth:i.linewidth,showgrid:o({},i.showgrid,{dflt:!0}),gridcolor:i.gridcolor,gridwidth:i.gridwidth,griddash:i.griddash},\"plot\",\"from-root\"),c=s({ticklen:i.ticklen,tickwidth:o({},i.tickwidth,{dflt:2}),tickcolor:i.tickcolor,showticklabels:i.showticklabels,showtickprefix:i.showtickprefix,tickprefix:i.tickprefix,showticksuffix:i.showticksuffix,ticksuffix:i.ticksuffix,tickfont:i.tickfont,tickformat:i.tickformat,hoverformat:i.hoverformat,layer:i.layer},\"plot\",\"from-root\"),u=o({visible:o({},i.visible,{dflt:!0}),tickvals:{dflt:[.2,.5,1,2,5],valType:\"data_array\",editType:\"plot\"},tickangle:o({},i.tickangle,{dflt:90}),ticks:{valType:\"enumerated\",values:[\"top\",\"bottom\",\"\"],editType:\"ticks\"},side:{valType:\"enumerated\",values:[\"top\",\"bottom\"],dflt:\"top\",editType:\"plot\"},editType:\"calc\"},l,c),f=o({visible:o({},i.visible,{dflt:!0}),tickvals:{valType:\"data_array\",editType:\"plot\"},ticks:i.ticks,editType:\"calc\"},l,c);e.exports={domain:a({name:\"smith\",editType:\"plot\"}),bgcolor:{valType:\"color\",editType:\"plot\",dflt:n.background},realaxis:u,imaginaryaxis:f,editType:\"calc\"}},{\"../../components/color/attributes\":365,\"../../lib\":503,\"../../plot_api/edit_types\":536,\"../cartesian/layout_attributes\":569,\"../domain\":584}],631:[function(t,e,r){\"use strict\";var n,i,a,o=t(\"../../lib\"),s=t(\"../../components/color\"),l=t(\"../../plot_api/plot_template\"),c=t(\"../subplot_defaults\"),u=t(\"../get_data\").getSubplotData,f=t(\"../cartesian/prefix_suffix_defaults\"),h=t(\"../cartesian/tick_label_defaults\"),p=t(\"../cartesian/line_grid_defaults\"),d=t(\"../cartesian/set_convert\"),m=t(\"./layout_attributes\"),g=t(\"./constants\"),v=g.axisNames,y=(n=function(t){return t.slice().reverse().map((function(t){return-t})).concat([0]).concat(t)},i=String,a={},function(t){var e=i?i(t):t;if(e in a)return a[e];var r=n(t);return a[e]=r,r});function x(t,e,r,n){var i=r(\"bgcolor\");n.bgColor=s.combine(i,n.paper_bgcolor);var a,c=u(n.fullData,g.name,n.id),x=n.layoutOut;function b(t,e){return r(a+\".\"+t,e)}for(var _=0;_<v.length;_++){a=v[_],o.isPlainObject(t[a])||(t[a]={});var w=t[a],T=l.newContainer(e,a);T._id=T._name=a,T._attr=n.id+\".\"+a,T._traceIndices=c.map((function(t){return t._expandedIndex}));var k=b(\"visible\");if(T.type=\"linear\",d(T,x),f(w,T,b,T.type),k){var A,M,S,E,L=\"realaxis\"===a;if(L&&b(\"side\"),L)b(\"tickvals\");else b(\"tickvals\",y(e.realaxis.tickvals||m.realaxis.tickvals.dflt));var C=n.font||{};k&&(M=(A=b(\"color\"))===w.color?A:C.color,S=C.size,E=C.family),h(w,T,b,T.type,{noTicklabelstep:!0,noAng:!L,noExp:!0,font:{color:M,size:S,family:E}}),o.coerce2(t,e,m,a+\".ticklen\"),o.coerce2(t,e,m,a+\".tickwidth\"),o.coerce2(t,e,m,a+\".tickcolor\",e.color),b(\"ticks\")||(delete e[a].ticklen,delete e[a].tickwidth,delete e[a].tickcolor),p(w,T,b,{dfltColor:A,bgColor:n.bgColor,blend:60,showLine:!0,showGrid:!0,noZeroLine:!0,attributes:m[a]}),b(\"layer\")}b(\"hoverformat\"),delete T.type,T._input=w}}e.exports=function(t,e,r){c(t,e,r,{noUirevision:!0,type:g.name,attributes:m,handleDefaults:x,font:e.font,paper_bgcolor:e.paper_bgcolor,fullData:r,layoutOut:e})}},{\"../../components/color\":366,\"../../lib\":503,\"../../plot_api/plot_template\":543,\"../cartesian/line_grid_defaults\":571,\"../cartesian/prefix_suffix_defaults\":573,\"../cartesian/set_convert\":576,\"../cartesian/tick_label_defaults\":578,\"../get_data\":593,\"../subplot_defaults\":632,\"./constants\":627,\"./layout_attributes\":630}],632:[function(t,e,r){\"use strict\";var n=t(\"../lib\"),i=t(\"../plot_api/plot_template\"),a=t(\"./domain\").defaults;e.exports=function(t,e,r,o){var s,l,c=o.type,u=o.attributes,f=o.handleDefaults,h=o.partition||\"x\",p=e._subplots[c],d=p.length,m=d&&p[0].replace(/\\d+$/,\"\");function g(t,e){return n.coerce(s,l,u,t,e)}for(var v=0;v<d;v++){var y=p[v];s=t[y]?t[y]:t[y]={},l=i.newContainer(e,y,m),o.noUirevision||g(\"uirevision\",e.uirevision);var x={};x[h]=[v/d,(v+1)/d],a(l,e,g,x),o.id=y,f(s,l,g,o)}}},{\"../lib\":503,\"../plot_api/plot_template\":543,\"./domain\":584}],633:[function(t,e,r){\"use strict\";var n=t(\"../constants/docs\");n.FORMAT_LINK,n.DATE_FORMAT_LINK;function i(t){var e=t.description?\" \"+t.description:\"\",r=t.keys||[];if(r.length>0){for(var n=[],i=0;i<r.length;i++)n[i]=\"`\"+r[i]+\"`\";e+=\"Finally, the template string has access to \",e=1===r.length?\"variable \"+n[0]:\"variables \"+n.slice(0,-1).join(\", \")+\" and \"+n.slice(-1)+\".\"}return e}r.hovertemplateAttrs=function(t,e){t=t||{};i(e=e||{});var r={valType:\"string\",dflt:\"\",editType:t.editType||\"none\"};return!1!==t.arrayOk&&(r.arrayOk=!0),r},r.texttemplateAttrs=function(t,e){t=t||{};i(e=e||{});var r={valType:\"string\",dflt:\"\",editType:t.editType||\"calc\"};return!1!==t.arrayOk&&(r.arrayOk=!0),r}},{\"../constants/docs\":474}],634:[function(t,e,r){\"use strict\";var n=t(\"./ternary\"),i=t(\"../../plots/get_data\").getSubplotCalcData,a=t(\"../../lib\").counterRegex;r.name=\"ternary\";var o=r.attr=\"subplot\";r.idRoot=\"ternary\",r.idRegex=r.attrRegex=a(\"ternary\"),(r.attributes={})[o]={valType:\"subplotid\",dflt:\"ternary\",editType:\"calc\"},r.layoutAttributes=t(\"./layout_attributes\"),r.supplyLayoutDefaults=t(\"./layout_defaults\"),r.plot=function(t){for(var e=t._fullLayout,r=t.calcdata,a=e._subplots.ternary,o=0;o<a.length;o++){var s=a[o],l=i(r,\"ternary\",s),c=e[s]._subplot;c||(c=new n({id:s,graphDiv:t,container:e._ternarylayer.node()},e),e[s]._subplot=c),c.plot(l,e,t._promises)}},r.clean=function(t,e,r,n){for(var i=n._subplots.ternary||[],a=0;a<i.length;a++){var o=i[a],s=n[o]._subplot;!e[o]&&s&&(s.plotContainer.remove(),s.clipDef.remove(),s.clipDefRelative.remove(),s.layers[\"a-title\"].remove(),s.layers[\"b-title\"].remove(),s.layers[\"c-title\"].remove())}}},{\"../../lib\":503,\"../../plots/get_data\":593,\"./layout_attributes\":635,\"./layout_defaults\":636,\"./ternary\":637}],635:[function(t,e,r){\"use strict\";var n=t(\"../../components/color/attributes\"),i=t(\"../domain\").attributes,a=t(\"../cartesian/layout_attributes\"),o=t(\"../../plot_api/edit_types\").overrideAll,s=t(\"../../lib/extend\").extendFlat,l={title:{text:a.title.text,font:a.title.font},color:a.color,tickmode:a.tickmode,nticks:s({},a.nticks,{dflt:6,min:1}),tick0:a.tick0,dtick:a.dtick,tickvals:a.tickvals,ticktext:a.ticktext,ticks:a.ticks,ticklen:a.ticklen,tickwidth:a.tickwidth,tickcolor:a.tickcolor,ticklabelstep:a.ticklabelstep,showticklabels:a.showticklabels,showtickprefix:a.showtickprefix,tickprefix:a.tickprefix,showticksuffix:a.showticksuffix,ticksuffix:a.ticksuffix,showexponent:a.showexponent,exponentformat:a.exponentformat,minexponent:a.minexponent,separatethousands:a.separatethousands,tickfont:a.tickfont,tickangle:a.tickangle,tickformat:a.tickformat,tickformatstops:a.tickformatstops,hoverformat:a.hoverformat,showline:s({},a.showline,{dflt:!0}),linecolor:a.linecolor,linewidth:a.linewidth,showgrid:s({},a.showgrid,{dflt:!0}),gridcolor:a.gridcolor,gridwidth:a.gridwidth,griddash:a.griddash,layer:a.layer,min:{valType:\"number\",dflt:0,min:0},_deprecated:{title:a._deprecated.title,titlefont:a._deprecated.titlefont}},c=e.exports=o({domain:i({name:\"ternary\"}),bgcolor:{valType:\"color\",dflt:n.background},sum:{valType:\"number\",dflt:1,min:0},aaxis:l,baxis:l,caxis:l},\"plot\",\"from-root\");c.uirevision={valType:\"any\",editType:\"none\"},c.aaxis.uirevision=c.baxis.uirevision=c.caxis.uirevision={valType:\"any\",editType:\"none\"}},{\"../../components/color/attributes\":365,\"../../lib/extend\":493,\"../../plot_api/edit_types\":536,\"../cartesian/layout_attributes\":569,\"../domain\":584}],636:[function(t,e,r){\"use strict\";var n=t(\"../../components/color\"),i=t(\"../../plot_api/plot_template\"),a=t(\"../../lib\"),o=t(\"../subplot_defaults\"),s=t(\"../cartesian/tick_label_defaults\"),l=t(\"../cartesian/prefix_suffix_defaults\"),c=t(\"../cartesian/tick_mark_defaults\"),u=t(\"../cartesian/tick_value_defaults\"),f=t(\"../cartesian/line_grid_defaults\"),h=t(\"./layout_attributes\"),p=[\"aaxis\",\"baxis\",\"caxis\"];function d(t,e,r,a){var o,s,l,c=r(\"bgcolor\"),u=r(\"sum\");a.bgColor=n.combine(c,a.paper_bgcolor);for(var f=0;f<p.length;f++)s=t[o=p[f]]||{},(l=i.newContainer(e,o))._name=o,m(s,l,a,e);var h=e.aaxis,d=e.baxis,g=e.caxis;h.min+d.min+g.min>=u&&(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 m(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,m=e._name.charAt(0).toUpperCase(),g=\"Component \"+m,v=o(\"title.text\",g);e._hovertitle=v===g?v:m,a.coerceFont(o,\"title.font\",{family:r.font.family,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\"),c(t,e,o,{outerTicks:!0}),o(\"showticklabels\")&&(a.coerceFont(o,\"tickfont\",{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\")}e.exports=function(t,e,r){o(t,e,r,{type:\"ternary\",attributes:h,handleDefaults:d,font:e.font,paper_bgcolor:e.paper_bgcolor})}},{\"../../components/color\":366,\"../../lib\":503,\"../../plot_api/plot_template\":543,\"../cartesian/line_grid_defaults\":571,\"../cartesian/prefix_suffix_defaults\":573,\"../cartesian/tick_label_defaults\":578,\"../cartesian/tick_mark_defaults\":579,\"../cartesian/tick_value_defaults\":580,\"../subplot_defaults\":632,\"./layout_attributes\":635}],637:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"tinycolor2\"),a=t(\"../../registry\"),o=t(\"../../lib\"),s=o.strTranslate,l=o._,c=t(\"../../components/color\"),u=t(\"../../components/drawing\"),f=t(\"../cartesian/set_convert\"),h=t(\"../../lib/extend\").extendFlat,p=t(\"../plots\"),d=t(\"../cartesian/axes\"),m=t(\"../../components/dragelement\"),g=t(\"../../components/fx\"),v=t(\"../../components/dragelement/helpers\"),y=v.freeMode,x=v.rectMode,b=t(\"../../components/titles\"),_=t(\"../cartesian/select\").prepSelect,w=t(\"../cartesian/select\").selectOnClick,T=t(\"../cartesian/select\").clearSelect,k=t(\"../cartesian/select\").clearSelectionsCache,A=t(\"../cartesian/constants\");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}e.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=e[this.id],n=e._size;this._hasClipOnAxisFalse=!1;for(var i=0;i<t.length;i++){if(!1===t[i][0].trace.cliponaxis){this._hasClipOnAxisFalse=!0;break}}this.updateLayers(r),this.adjustLayout(r,n),p.generalUpdatePerTraceModule(this.graphDiv,this,t,r),this.layers.plotbg.select(\"path\").call(c.fill,r.bgcolor)},S.makeFramework=function(t){var e=this.graphDiv,r=t[this.id],n=this.clipId=\"clip\"+this.layoutId+this.id,i=this.clipIdRelative=\"clip-relative\"+this.layoutId+this.id;this.clipDef=o.ensureSingleById(t._clips,\"clipPath\",n,(function(t){t.append(\"path\").attr(\"d\",\"M0,0Z\")})),this.clipDefRelative=o.ensureSingleById(t._clips,\"clipPath\",i,(function(t){t.append(\"path\").attr(\"d\",\"M0,0Z\")})),this.plotContainer=o.ensureSingle(this.container,\"g\",this.id),this.updateLayers(r),u.setClipUrl(this.layers.backplot,n,e),u.setClipUrl(this.layers.grids,n,e)},S.updateLayers=function(t){var e=this.layers,r=[\"draglayer\",\"plotbg\",\"backplot\",\"grids\"];\"below traces\"===t.aaxis.layer&&r.push(\"aaxis\",\"aline\"),\"below traces\"===t.baxis.layer&&r.push(\"baxis\",\"bline\"),\"below traces\"===t.caxis.layer&&r.push(\"caxis\",\"cline\"),r.push(\"frontplot\"),\"above traces\"===t.aaxis.layer&&r.push(\"aaxis\",\"aline\"),\"above traces\"===t.baxis.layer&&r.push(\"baxis\",\"bline\"),\"above traces\"===t.caxis.layer&&r.push(\"caxis\",\"cline\");var i=this.plotContainer.selectAll(\"g.toplevel\").data(r,String),a=[\"agrid\",\"bgrid\",\"cgrid\"];i.enter().append(\"g\").attr(\"class\",(function(t){return\"toplevel \"+t})).each((function(t){var r=n.select(this);e[t]=r,\"frontplot\"===t?r.append(\"g\").classed(\"scatterlayer\",!0):\"backplot\"===t?r.append(\"g\").classed(\"maplayer\",!0):\"plotbg\"===t?r.append(\"path\").attr(\"d\",\"M0,0Z\"):\"aline\"===t||\"bline\"===t||\"cline\"===t?r.append(\"path\"):\"grids\"===t&&a.forEach((function(t){e[t]=r.append(\"g\").classed(\"grid \"+t,!0)}))})),i.order()};var E=Math.sqrt(4/3);S.adjustLayout=function(t,e){var r,n,i,a,o,l,p=this,d=t.domain,m=(d.x[0]+d.x[1])/2,g=(d.y[0]+d.y[1])/2,v=d.x[1]-d.x[0],y=d.y[1]-d.y[0],x=v*e.w,b=y*e.h,_=t.sum,w=t.aaxis.min,T=t.baxis.min,k=t.caxis.min;x>E*b?i=(a=b)*E:a=(i=x)/E,o=v*i/x,l=y*a/b,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=_,p.xaxis={type:\"linear\",range:[w+2*k-_,_-w-2*T],domain:[m-o/2,m+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 I=s(r,n);p.plotContainer.selectAll(\".scatterlayer,.maplayer\").attr(\"transform\",I),p.clipDefRelative.select(\"path\").attr(\"transform\",null);var O=s(r-S._offset,n+a);p.layers.baxis.attr(\"transform\",O),p.layers.bgrid.attr(\"transform\",O);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(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\",L.showline?\"M\"+(r+i/2)+\",\"+n+\"l\"+i/2+\",\"+a:\"M0,0\").call(c.stroke,L.linecolor||\"#000\").style(\"stroke-width\",(L.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.graphDiv,r=this.id.substr(7)+\"title\",n=this.layers,i=this.aaxis,a=this.baxis,o=this.caxis;if(this.drawAx(i),this.drawAx(a),this.drawAx(o),t){var s=Math.max(i.showticklabels?i.tickfont.size/2:0,(o.showticklabels?.75*o.tickfont.size:0)+(\"outside\"===o.ticks?.87*o.ticklen:0)),c=(a.showticklabels?a.tickfont.size:0)+(\"outside\"===a.ticks?a.ticklen:0)+3;n[\"a-title\"]=b.draw(e,\"a\"+r,{propContainer:i,propName:this.id+\".aaxis.title\",placeholder:l(e,\"Click to enter Component A title\"),attributes:{x:this.x0+this.w/2,y:this.y0-i.title.font.size/3-s,\"text-anchor\":\"middle\"}}),n[\"b-title\"]=b.draw(e,\"b\"+r,{propContainer:a,propName:this.id+\".baxis.title\",placeholder:l(e,\"Click to enter Component B title\"),attributes:{x:this.x0-c,y:this.y0+this.h+.83*a.title.font.size+c,\"text-anchor\":\"middle\"}}),n[\"c-title\"]=b.draw(e,\"c\"+r,{propContainer:o,propName:this.id+\".caxis.title\",placeholder:l(e,\"Click to enter Component C title\"),attributes:{x:this.x0+this.w+c,y:this.y0+this.h+.83*o.title.font.size+c,\"text-anchor\":\"middle\"}})}},S.drawAx=function(t){var e,r=this.graphDiv,n=t._name,i=n.charAt(0),a=t._id,s=this.layers[n],l=i+\"tickLayout\",c=(e=t).ticks+String(e.ticklen)+String(e.showticklabels);this[l]!==c&&(s.selectAll(\".\"+a+\"tick\").remove(),this[l]=c),t.setScale();var u=d.calcTicks(t),f=d.clipEnds(t,u),h=d.makeTransTickFn(t),p=d.getTickSigns(t)[2],m=o.deg2rad(30),g=p*(t.linewidth||1)/2,v=p*t.ticklen,y=this.w,x=this.h,b=\"b\"===i?\"M0,\"+g+\"l\"+Math.sin(m)*v+\",\"+Math.cos(m)*v:\"M\"+g+\",0l\"+Math.cos(m)*v+\",\"+-Math.sin(m)*v,_={a:\"M0,0l\"+x+\",-\"+y/2,b:\"M0,0l-\"+y/2+\",-\"+x,c:\"M0,0l-\"+x+\",\"+y/2}[i];d.drawTicks(r,t,{vals:\"inside\"===t.ticks?f:u,layer:s,path:b,transFn:h,crisp:!1}),d.drawGrid(r,t,{vals:f,layer:this.layers[i+\"grid\"],path:_,transFn:h,crisp:!1}),d.drawLabels(r,t,{vals:u,layer:s,transFn:h,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\",I=\"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\",O=!0;function z(t){n.select(t).selectAll(\".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners\").remove()}S.clearSelect=function(){k(this.dragOptions),T(this.dragOptions.gd)},S.initInteractions=function(){var t,e,r,n,f,h,p,d,v,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))),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,y=(m+g)/2,x=g-m,_=(1-l)*M.h,w=_-x/E;x<A.MINZOOM?(p=f,T.attr(\"d\",v),k.attr(\"d\",\"M0,0Z\")):(p={a:f.a+l*h,b:f.b+c*h,c:f.c+u*h},T.attr(\"d\",v+\"M\"+m+\",\"+_+\"H\"+g+\"L\"+y+\",\"+w+\"L\"+m+\",\"+_+\"Z\"),k.attr(\"d\",\"M\"+r+\",\"+n+\"m0.5,0.5h5v-2h-5v-5h-2v5h-5v2h5v5h2ZM\"+m+\",\"+_+C+\"M\"+g+\",\"+_+P+\"M\"+y+\",\"+w+I)),b||(T.transition().style(\"fill\",d>.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)),O&&L.data&&L._context.showTips&&(o.notifier(l(L,\"Double-click to zoom back out\"),\"long\"),O=!1))}function H(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),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=(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(u.hideOutsideRangePoints,M),L.emit(\"plotly_relayouting\",R(p))}function q(){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,u){M.dragOptions.xaxes=[M.xaxis],M.dragOptions.yaxes=[M.yaxis],t=L._fullLayout._invScaleX,e=L._fullLayout._invScaleY;var m=M.dragOptions.dragmode=L._fullLayout.dragmode;y(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,L._fullLayout._calcInverseTransform(L);var u=L._fullLayout._invTransform,m=o.apply3DTransform(u)(r,n);r=m[0],n=m[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(),v=\"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\",v),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.clearSelect(L)}(0,l,u)):\"pan\"===m?(M.dragOptions.moveFn=H,M.dragOptions.clickFn=F,M.dragOptions.doneFn=q,f={a:M.aaxis.range[0],b:M.baxis.range[1],c:M.caxis.range[1]},p=f,M.clearSelect(L)):(x(m)||y(m))&&_(a,l,u,M.dragOptions,m)}},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||m.unhover(L,t)},m.init(this.dragOptions)}},{\"../../components/color\":366,\"../../components/dragelement\":385,\"../../components/dragelement/helpers\":384,\"../../components/drawing\":388,\"../../components/fx\":406,\"../../components/titles\":464,\"../../lib\":503,\"../../lib/extend\":493,\"../../registry\":638,\"../cartesian/axes\":554,\"../cartesian/constants\":561,\"../cartesian/select\":575,\"../cartesian/set_convert\":576,\"../plots\":619,\"@plotly/d3\":58,tinycolor2:312}],638:[function(t,e,r){\"use strict\";var n=t(\"./lib/loggers\"),i=t(\"./lib/noop\"),a=t(\"./lib/push_unique\"),o=t(\"./lib/is_plain_object\"),s=t(\"./lib/dom\").addStyleRule,l=t(\"./lib/extend\"),c=t(\"./plots/attributes\"),u=t(\"./plots/layout_attributes\"),f=l.extendFlat,h=l.extendDeepAll;function p(t){var e=t.name,i=t.categories,a=t.meta;if(r.modules[e])n.log(\"Type \"+e+\" already registered\");else{r.subplotsRegistry[t.basePlotModule.name]||function(t){var e=t.name;if(r.subplotsRegistry[e])return void n.log(\"Plot type \"+e+\" already registered.\");for(var i in v(t),r.subplotsRegistry[e]=t,r.componentsRegistry)b(i,t.name)}(t.basePlotModule);for(var o={},l=0;l<i.length;l++)o[i[l]]=!0,r.allCategories[i[l]]=!0;for(var c in r.modules[e]={_module:t,categories:o},a&&Object.keys(a).length&&(r.modules[e].meta=a),r.allTypes.push(e),r.componentsRegistry)y(c,e);t.layoutAttributes&&f(r.traceLayoutAttributes,t.layoutAttributes);var u=t.basePlotModule,h=u.name;if(\"mapbox\"===h){var p=u.constants.styleRules;for(var d in p)s(\".js-plotly-plot .plotly .mapboxgl-\"+d,p[d])}\"geo\"!==h&&\"mapbox\"!==h||void 0!==window.PlotlyGeoAssets||(window.PlotlyGeoAssets={topojson:{}})}}function d(t){if(\"string\"!=typeof t.name)throw new Error(\"Component module *name* must be a string.\");var e=t.name;for(var n in r.componentsRegistry[e]=t,t.layoutAttributes&&(t.layoutAttributes._isLinkedToArray&&a(r.layoutArrayContainers,e),v(t)),r.modules)y(e,n);for(var i in r.subplotsRegistry)b(e,i);for(var o in r.transformsRegistry)x(e,o);t.schema&&t.schema.layout&&h(u,t.schema.layout)}function m(t){if(\"string\"!=typeof t.name)throw new Error(\"Transform module *name* must be a string.\");var e=\"Transform module \"+t.name,i=\"function\"==typeof t.transform,a=\"function\"==typeof t.calcTransform;if(!i&&!a)throw new Error(e+\" is missing a *transform* or *calcTransform* method.\");for(var s in i&&a&&n.log([e+\" has both a *transform* and *calcTransform* methods.\",\"Please note that all *transform* methods are executed\",\"before all *calcTransform* methods.\"].join(\" \")),o(t.attributes)||n.log(e+\" registered without an *attributes* object.\"),\"function\"!=typeof t.supplyDefaults&&n.log(e+\" registered without a *supplyDefaults* method.\"),r.transformsRegistry[t.name]=t,r.componentsRegistry)x(s,t.name)}function g(t){var e=t.name,n=e.split(\"-\")[0],i=t.dictionary,a=t.format,o=i&&Object.keys(i).length,s=a&&Object.keys(a).length,l=r.localeRegistry,c=l[e];if(c||(l[e]=c={}),n!==e){var u=l[n];u||(l[n]=u={}),o&&u.dictionary===c.dictionary&&(u.dictionary=i),s&&u.format===c.format&&(u.format=a)}o&&(c.dictionary=i),s&&(c.format=a)}function v(t){if(t.layoutAttributes){var e=t.layoutAttributes._arrayAttrRegexps;if(e)for(var n=0;n<e.length;n++)a(r.layoutArrayRegexes,e[n])}}function y(t,e){var n=r.componentsRegistry[t].schema;if(n&&n.traces){var i=n.traces[e];i&&h(r.modules[e]._module.attributes,i)}}function x(t,e){var n=r.componentsRegistry[t].schema;if(n&&n.transforms){var i=n.transforms[e];i&&h(r.transformsRegistry[e].attributes,i)}}function b(t,e){var n=r.componentsRegistry[t].schema;if(n&&n.subplots){var i=r.subplotsRegistry[e],a=i.layoutAttributes,o=\"subplot\"===i.attr?i.name:i.attr;Array.isArray(o)&&(o=o[0]);var s=n.subplots[o];a&&s&&h(a,s)}}function _(t){return\"object\"==typeof t&&(t=t.type),t}r.modules={},r.allCategories={},r.allTypes=[],r.subplotsRegistry={},r.transformsRegistry={},r.componentsRegistry={},r.layoutArrayContainers=[],r.layoutArrayRegexes=[],r.traceLayoutAttributes={},r.localeRegistry={},r.apiMethodRegistry={},r.collectableSubplotTypes=null,r.register=function(t){if(r.collectableSubplotTypes=null,!t)throw new Error(\"No argument passed to Plotly.register.\");t&&!Array.isArray(t)&&(t=[t]);for(var e=0;e<t.length;e++){var n=t[e];if(!n)throw new Error(\"Invalid module was attempted to be registered!\");switch(n.moduleType){case\"trace\":p(n);break;case\"transform\":m(n);break;case\"component\":d(n);break;case\"locale\":g(n);break;case\"apiMethod\":var i=n.name;r.apiMethodRegistry[i]=n.fn;break;default:throw new Error(\"Invalid module was attempted to be registered!\")}}},r.getModule=function(t){var e=r.modules[_(t)];return!!e&&e._module},r.traceIs=function(t,e){if(\"various\"===(t=_(t)))return!1;var i=r.modules[t];return i||(t&&n.log(\"Unrecognized trace type \"+t+\".\"),i=r.modules[c.type.dflt]),!!i.categories[e]},r.getTransformIndices=function(t,e){for(var r=[],n=t.transforms||[],i=0;i<n.length;i++)n[i].type===e&&r.push(i);return r},r.hasTransform=function(t,e){for(var r=t.transforms||[],n=0;n<r.length;n++)if(r[n].type===e)return!0;return!1},r.getComponentMethod=function(t,e){var n=r.componentsRegistry[t];return n&&n[e]||i},r.call=function(){var t=arguments[0],e=[].slice.call(arguments,1);return r.apiMethodRegistry[t].apply(null,e)}},{\"./lib/dom\":491,\"./lib/extend\":493,\"./lib/is_plain_object\":504,\"./lib/loggers\":507,\"./lib/noop\":512,\"./lib/push_unique\":518,\"./plots/attributes\":550,\"./plots/layout_attributes\":610}],639:[function(t,e,r){\"use strict\";var n=t(\"../registry\"),i=t(\"../lib\"),a=i.extendFlat,o=i.extendDeep;function s(t){var e;switch(t){case\"themes__thumb\":e={autosize:!0,width:150,height:150,title:{text:\"\"},showlegend:!1,margin:{l:5,r:5,t:5,b:5,pad:0},annotations:[]};break;case\"thumbnail\":e={title:{text:\"\"},hidesources:!0,showlegend:!1,borderwidth:0,bordercolor:\"\",margin:{l:1,r:1,t:1,b:1,pad:0},annotations:[]};break;default:e={}}return e}e.exports=function(t,e){var r,i,l=t.data,c=t.layout,u=o([],l),f=o({},c,s(e.tileClass)),h=t._context||{};if(e.width&&(f.width=e.width),e.height&&(f.height=e.height),\"thumbnail\"===e.tileClass||\"themes__thumb\"===e.tileClass){f.annotations=[];var p=Object.keys(f);for(r=0;r<p.length;r++)i=p[r],[\"xaxis\",\"yaxis\",\"zaxis\"].indexOf(i.slice(0,5))>-1&&(f[p[r]].title={text:\"\"});for(r=0;r<u.length;r++){var d=u[r];d.showscale=!1,d.marker&&(d.marker.showscale=!1),n.traceIs(d,\"pie-like\")&&(d.textposition=\"none\")}}if(Array.isArray(e.annotations))for(r=0;r<e.annotations.length;r++)f.annotations.push(e.annotations[r]);var m=Object.keys(f).filter((function(t){return t.match(/^scene\\d*$/)}));if(m.length){var g={};for(\"thumbnail\"===e.tileClass&&(g={title:{text:\"\"},showaxeslabels:!1,showticklabels:!1,linetickenable:!1}),r=0;r<m.length;r++){var v=f[m[r]];v.xaxis||(v.xaxis={}),v.yaxis||(v.yaxis={}),v.zaxis||(v.zaxis={}),a(v.xaxis,g),a(v.yaxis,g),a(v.zaxis,g),v._scene=null}}var y=document.createElement(\"div\");e.tileClass&&(y.className=e.tileClass);var x={gd:y,td:y,layout:f,data:u,config:{staticPlot:void 0===e.staticPlot||e.staticPlot,plotGlPixelRatio:void 0===e.plotGlPixelRatio?2:e.plotGlPixelRatio,displaylogo:e.displaylogo||!1,showLink:e.showLink||!1,showTips:e.showTips||!1,mapboxAccessToken:h.mapboxAccessToken}};return\"transparent\"!==e.setBackground&&(x.config.setBackground=e.setBackground||\"opaque\"),x.gd.defaultLayout=s(e.tileClass),x}},{\"../lib\":503,\"../registry\":638}],640:[function(t,e,r){\"use strict\";var n=t(\"../lib\"),i=t(\"../plot_api/to_image\"),a=t(\"./filesaver\"),o=t(\"./helpers\");e.exports=function(t,e){var r;return n.isPlainObject(t)||(r=n.getGraphDiv(t)),(e=e||{}).format=e.format||\"png\",e.width=e.width||null,e.height=e.height||null,e.imageDataOnly=!0,new Promise((function(s,l){r&&r._snapshotInProgress&&l(new Error(\"Snapshotting already in progress.\")),n.isIE()&&\"svg\"!==e.format&&l(new Error(o.MSG_IE_BAD_FORMAT)),r&&(r._snapshotInProgress=!0);var c=i(t,e),u=e.filename||t.fn||\"newplot\";u+=\".\"+e.format.replace(\"-\",\".\"),c.then((function(t){return r&&(r._snapshotInProgress=!1),a(t,u,e.format)})).then((function(t){s(t)})).catch((function(t){r&&(r._snapshotInProgress=!1),l(t)}))}))}},{\"../lib\":503,\"../plot_api/to_image\":546,\"./filesaver\":641,\"./helpers\":642}],641:[function(t,e,r){\"use strict\";var n=t(\"../lib\"),i=t(\"./helpers\");e.exports=function(t,e,r){var a=document.createElement(\"a\"),o=\"download\"in a;return new Promise((function(s,l){var c,u;if(n.isIE())return c=i.createBlob(t,\"svg\"),window.navigator.msSaveBlob(c,e),c=null,s(e);if(o)return c=i.createBlob(t,r),u=i.createObjectURL(c),a.href=u,a.download=e,document.body.appendChild(a),a.click(),document.body.removeChild(a),i.revokeObjectURL(u),c=null,s(e);if(n.isSafari()){var f=\"svg\"===r?\",\":\";base64,\";return i.octetStream(f+encodeURIComponent(t)),s(e)}l(new Error(\"download error\"))}))}},{\"../lib\":503,\"./helpers\":642}],642:[function(t,e,r){\"use strict\";var n=t(\"../registry\");r.getDelay=function(t){return t._has&&(t._has(\"gl3d\")||t._has(\"gl2d\")||t._has(\"mapbox\"))?500:0},r.getRedrawFunc=function(t){return function(){n.getComponentMethod(\"colorbar\",\"draw\")(t)}},r.encodeSVG=function(t){return\"data:image/svg+xml,\"+encodeURIComponent(t)},r.encodeJSON=function(t){return\"data:application/json,\"+encodeURIComponent(t)};var i=window.URL||window.webkitURL;r.createObjectURL=function(t){return i.createObjectURL(t)},r.revokeObjectURL=function(t){return i.revokeObjectURL(t)},r.createBlob=function(t,e){if(\"svg\"===e)return new window.Blob([t],{type:\"image/svg+xml;charset=utf-8\"});if(\"full-json\"===e)return new window.Blob([t],{type:\"application/json;charset=utf-8\"});var r=function(t){for(var e=t.length,r=new ArrayBuffer(e),n=new Uint8Array(r),i=0;i<e;i++)n[i]=t.charCodeAt(i);return r}(window.atob(t));return new window.Blob([r],{type:\"image/\"+e})},r.octetStream=function(t){document.location.href=\"data:application/octet-stream\"+t},r.IMAGE_URL_PREFIX=/^data:image\\/\\w+;base64,/,r.MSG_IE_BAD_FORMAT=\"Sorry IE does not support downloading from canvas. Try {format:'svg'} instead.\"},{\"../registry\":638}],643:[function(t,e,r){\"use strict\";var n=t(\"./helpers\"),i={getDelay:n.getDelay,getRedrawFunc:n.getRedrawFunc,clone:t(\"./cloneplot\"),toSVG:t(\"./tosvg\"),svgToImg:t(\"./svgtoimg\"),toImage:t(\"./toimage\"),downloadImage:t(\"./download\")};e.exports=i},{\"./cloneplot\":639,\"./download\":640,\"./helpers\":642,\"./svgtoimg\":644,\"./toimage\":645,\"./tosvg\":646}],644:[function(t,e,r){\"use strict\";var n=t(\"../lib\"),i=t(\"events\").EventEmitter,a=t(\"./helpers\");e.exports=function(t){var e=t.emitter||new i,r=new Promise((function(i,o){var s=window.Image,l=t.svg,c=t.format||\"png\";if(n.isIE()&&\"svg\"!==c){var u=new Error(a.MSG_IE_BAD_FORMAT);return o(u),t.promise?r:e.emit(\"error\",u)}var f,h,p=t.canvas,d=t.scale||1,m=t.width||300,g=t.height||150,v=d*m,y=d*g,x=p.getContext(\"2d\",{willReadFrequently:!0}),b=new s;\"svg\"===c||n.isSafari()?h=a.encodeSVG(l):(f=a.createBlob(l,\"svg\"),h=a.createObjectURL(f)),p.width=v,p.height=y,b.onload=function(){var r;switch(f=null,a.revokeObjectURL(h),\"svg\"!==c&&x.drawImage(b,0,0,v,y),c){case\"jpeg\":r=p.toDataURL(\"image/jpeg\");break;case\"png\":r=p.toDataURL(\"image/png\");break;case\"webp\":r=p.toDataURL(\"image/webp\");break;case\"svg\":r=h;break;default:var n=\"Image format is not jpeg, png, svg or webp.\";if(o(new Error(n)),!t.promise)return e.emit(\"error\",n)}i(r),t.promise||e.emit(\"success\",r)},b.onerror=function(r){if(f=null,a.revokeObjectURL(h),o(r),!t.promise)return e.emit(\"error\",r)},b.src=h}));return t.promise?r:e}},{\"../lib\":503,\"./helpers\":642,events:84}],645:[function(t,e,r){\"use strict\";var n=t(\"events\").EventEmitter,i=t(\"../registry\"),a=t(\"../lib\"),o=t(\"./helpers\"),s=t(\"./cloneplot\"),l=t(\"./tosvg\"),c=t(\"./svgtoimg\");e.exports=function(t,e){var r=new n,u=s(t,{format:\"png\"}),f=u.gd;f.style.position=\"absolute\",f.style.left=\"-5000px\",document.body.appendChild(f);var h=o.getRedrawFunc(f);return i.call(\"_doPlot\",f,u.data,u.layout,u.config).then(h).then((function(){var t=o.getDelay(f._fullLayout);setTimeout((function(){var t=l(f),n=document.createElement(\"canvas\");n.id=a.randstr(),(r=c({format:e.format,width:f._fullLayout.width,height:f._fullLayout.height,canvas:n,emitter:r,svg:t})).clean=function(){f&&document.body.removeChild(f)}}),t)})).catch((function(t){r.emit(\"error\",t)})),r}},{\"../lib\":503,\"../registry\":638,\"./cloneplot\":639,\"./helpers\":642,\"./svgtoimg\":644,\"./tosvg\":646,events:84}],646:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../lib\"),a=t(\"../components/drawing\"),o=t(\"../components/color\"),s=t(\"../constants/xmlns_namespaces\"),l=/\"/g,c=new RegExp('(\"TOBESTRIPPED)|(TOBESTRIPPED\")',\"g\");e.exports=function(t,e,r){var u,f=t._fullLayout,h=f._paper,p=f._toppaper,d=f.width,m=f.height;h.insert(\"rect\",\":first-child\").call(a.setRect,0,0,d,m).call(o.fill,f.paper_bgcolor);var g=f._basePlotModules||[];for(u=0;u<g.length;u++){var v=g[u];v.toSVG&&v.toSVG(t)}if(p){var y=p.node().childNodes,x=Array.prototype.slice.call(y);for(u=0;u<x.length;u++){var b=x[u];b.childNodes.length&&h.node().appendChild(b)}}f._draggers&&f._draggers.remove(),h.node().style.background=\"\",h.selectAll(\"text\").attr({\"data-unformatted\":null,\"data-math\":null}).each((function(){var t=n.select(this);if(\"hidden\"!==this.style.visibility&&\"none\"!==this.style.display){t.style({visibility:null,display:null});var e=this.style.fontFamily;e&&-1!==e.indexOf('\"')&&t.style(\"font-family\",e.replace(l,\"TOBESTRIPPED\"))}else t.remove()})),h.selectAll(\".gradient_filled,.pattern_filled\").each((function(){var t=n.select(this),e=this.style.fill;e&&-1!==e.indexOf(\"url(\")&&t.style(\"fill\",e.replace(l,\"TOBESTRIPPED\"));var r=this.style.stroke;r&&-1!==r.indexOf(\"url(\")&&t.style(\"stroke\",r.replace(l,\"TOBESTRIPPED\"))})),\"pdf\"!==e&&\"eps\"!==e||h.selectAll(\"#MathJax_SVG_glyphs path\").attr(\"stroke-width\",0),h.node().setAttributeNS(s.xmlns,\"xmlns\",s.svg),h.node().setAttributeNS(s.xmlns,\"xmlns:xlink\",s.xlink),\"svg\"===e&&r&&(h.attr(\"width\",r*d),h.attr(\"height\",r*m),h.attr(\"viewBox\",\"0 0 \"+d+\" \"+m));var _=(new window.XMLSerializer).serializeToString(h.node());return _=function(t){var e=n.select(\"body\").append(\"div\").style({display:\"none\"}).html(\"\"),r=t.replace(/(&[^;]*;)/gi,(function(t){return\"&lt;\"===t?\"&#60;\":\"&rt;\"===t?\"&#62;\":-1!==t.indexOf(\"<\")||-1!==t.indexOf(\">\")?\"\":e.html(t).text()}));return e.remove(),r}(_),_=(_=_.replace(/&(?!\\w+;|\\#[0-9]+;| \\#x[0-9A-F]+;)/g,\"&amp;\")).replace(c,\"'\"),i.isIE()&&(_=(_=(_=_.replace(/\"/gi,\"'\")).replace(/(\\('#)([^']*)('\\))/gi,'(\"#$2\")')).replace(/(\\\\')/gi,'\"')),_}},{\"../components/color\":366,\"../components/drawing\":388,\"../constants/xmlns_namespaces\":480,\"../lib\":503,\"@plotly/d3\":58}],647:[function(t,e,r){\"use strict\";var n=t(\"../../lib\");e.exports=function(t,e){for(var r=0;r<t.length;r++)t[r].i=r;n.mergeArray(e.text,t,\"tx\"),n.mergeArray(e.hovertext,t,\"htx\");var i=e.marker;if(i){n.mergeArray(i.opacity,t,\"mo\",!0),n.mergeArray(i.color,t,\"mc\");var a=i.line;a&&(n.mergeArray(a.color,t,\"mlc\"),n.mergeArrayCastPositive(a.width,t,\"mlw\"))}}},{\"../../lib\":503}],648:[function(t,e,r){\"use strict\";var n=t(\"../scatter/attributes\"),i=t(\"../../plots/cartesian/axis_format_attributes\").axisHoverFormat,a=t(\"../../plots/template_attributes\").hovertemplateAttrs,o=t(\"../../plots/template_attributes\").texttemplateAttrs,s=t(\"../../components/colorscale/attributes\"),l=t(\"../../plots/font_attributes\"),c=t(\"./constants\"),u=t(\"../../components/drawing/attributes\").pattern,f=t(\"../../lib/extend\").extendFlat,h=l({editType:\"calc\",arrayOk:!0,colorEditType:\"style\"}),p=f({},n.marker.line.width,{dflt:0}),d=f({width:p,editType:\"calc\"},s(\"marker.line\")),m=f({line:d,editType:\"calc\"},s(\"marker\"),{opacity:{valType:\"number\",arrayOk:!0,dflt:1,min:0,max:1,editType:\"style\"},pattern:u});e.exports={x:n.x,x0:n.x0,dx:n.dx,y:n.y,y0:n.y0,dy:n.dy,xperiod:n.xperiod,yperiod:n.yperiod,xperiod0:n.xperiod0,yperiod0:n.yperiod0,xperiodalignment:n.xperiodalignment,yperiodalignment:n.yperiodalignment,xhoverformat:i(\"x\"),yhoverformat:i(\"y\"),text:n.text,texttemplate:o({editType:\"plot\"},{keys:c.eventDataKeys}),hovertext:n.hovertext,hovertemplate:a({},{keys:c.eventDataKeys}),textposition:{valType:\"enumerated\",values:[\"inside\",\"outside\",\"auto\",\"none\"],dflt:\"auto\",arrayOk:!0,editType:\"calc\"},insidetextanchor:{valType:\"enumerated\",values:[\"end\",\"middle\",\"start\"],dflt:\"end\",editType:\"plot\"},textangle:{valType:\"angle\",dflt:\"auto\",editType:\"plot\"},textfont:f({},h,{}),insidetextfont:f({},h,{}),outsidetextfont:f({},h,{}),constraintext:{valType:\"enumerated\",values:[\"inside\",\"outside\",\"both\",\"none\"],dflt:\"both\",editType:\"calc\"},cliponaxis:f({},n.cliponaxis,{}),orientation:{valType:\"enumerated\",values:[\"v\",\"h\"],editType:\"calc+clearAxisTypes\"},base:{valType:\"any\",dflt:null,arrayOk:!0,editType:\"calc\"},offset:{valType:\"number\",dflt:null,arrayOk:!0,editType:\"calc\"},width:{valType:\"number\",dflt:null,min:0,arrayOk:!0,editType:\"calc\"},marker:m,offsetgroup:{valType:\"string\",dflt:\"\",editType:\"calc\"},alignmentgroup:{valType:\"string\",dflt:\"\",editType:\"calc\"},selected:{marker:{opacity:n.selected.marker.opacity,color:n.selected.marker.color,editType:\"style\"},textfont:n.selected.textfont,editType:\"style\"},unselected:{marker:{opacity:n.unselected.marker.opacity,color:n.unselected.marker.color,editType:\"style\"},textfont:n.unselected.textfont,editType:\"style\"},_deprecated:{bardir:{valType:\"enumerated\",editType:\"calc\",values:[\"v\",\"h\"]}}}},{\"../../components/colorscale/attributes\":373,\"../../components/drawing/attributes\":387,\"../../lib/extend\":493,\"../../plots/cartesian/axis_format_attributes\":557,\"../../plots/font_attributes\":585,\"../../plots/template_attributes\":633,\"../scatter/attributes\":927,\"./constants\":650}],649:[function(t,e,r){\"use strict\";var n=t(\"../../plots/cartesian/axes\"),i=t(\"../../plots/cartesian/align_period\"),a=t(\"../../components/colorscale/helpers\").hasColorscale,o=t(\"../../components/colorscale/calc\"),s=t(\"./arrays_to_calcdata\"),l=t(\"../scatter/calc_selection\");e.exports=function(t,e){var r,c,u,f,h,p,d=n.getFromId(t,e.xaxis||\"x\"),m=n.getFromId(t,e.yaxis||\"y\"),g={msUTC:!(!e.base&&0!==e.base)};\"h\"===e.orientation?(r=d.makeCalcdata(e,\"x\",g),u=m.makeCalcdata(e,\"y\"),f=i(e,m,\"y\",u),h=!!e.yperiodalignment,p=\"y\"):(r=m.makeCalcdata(e,\"y\",g),u=d.makeCalcdata(e,\"x\"),f=i(e,d,\"x\",u),h=!!e.xperiodalignment,p=\"x\"),c=f.vals;for(var v=Math.min(c.length,r.length),y=new Array(v),x=0;x<v;x++)y[x]={p:c[x],s:r[x]},h&&(y[x].orig_p=u[x],y[x][p+\"End\"]=f.ends[x],y[x][p+\"Start\"]=f.starts[x]),e.ids&&(y[x].id=String(e.ids[x]));return a(e,\"marker\")&&o(t,e,{vals:e.marker.color,containerStr:\"marker\",cLetter:\"c\"}),a(e,\"marker.line\")&&o(t,e,{vals:e.marker.line.color,containerStr:\"marker.line\",cLetter:\"c\"}),s(y,e),l(y,e),y}},{\"../../components/colorscale/calc\":374,\"../../components/colorscale/helpers\":377,\"../../plots/cartesian/align_period\":551,\"../../plots/cartesian/axes\":554,\"../scatter/calc_selection\":929,\"./arrays_to_calcdata\":647}],650:[function(t,e,r){\"use strict\";e.exports={TEXTPAD:3,eventDataKeys:[\"value\",\"label\"]}},{}],651:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../../lib\").isArrayOrTypedArray,a=t(\"../../constants/numerical\").BADNUM,o=t(\"../../registry\"),s=t(\"../../plots/cartesian/axes\"),l=t(\"../../plots/cartesian/constraints\").getAxisGroup,c=t(\"./sieve.js\");function u(t,e,r,o,u){if(o.length){var b,_,w,T;switch(function(t,e){var r,a;for(r=0;r<e.length;r++){var o,s=e[r],l=s[0].trace,c=\"funnel\"===l.type?l._base:l.base,u=\"h\"===l.orientation?l.xcalendar:l.ycalendar,f=\"category\"===t.type||\"multicategory\"===t.type?function(){return null}:t.d2c;if(i(c)){for(a=0;a<Math.min(c.length,s.length);a++)o=f(c[a],0,u),n(o)?(s[a].b=+o,s[a].hasB=1):s[a].b=0;for(;a<s.length;a++)s[a].b=0}else{o=f(c,0,u);var h=n(o);for(o=h?o:0,a=0;a<s.length;a++)s[a].b=o,h&&(s[a].hasB=1)}}}(r,o),u.mode){case\"overlay\":f(e,r,o,u);break;case\"group\":for(b=[],_=[],w=0;w<o.length;w++)void 0===(T=o[w])[0].trace.offset?_.push(T):b.push(T);_.length&&function(t,e,r,n,i){var o=new c(n,{posAxis:e,sepNegVal:!1,overlapNoMerge:!i.norm});(function(t,e,r,n){for(var i=t._fullLayout,a=r.positions,o=r.distinctPositions,s=r.minDiff,c=r.traces,u=c.length,f=a.length!==o.length,h=s*(1-n.gap),g=l(i,e._id)+c[0][0].trace.orientation,v=i._alignmentOpts[g]||{},y=0;y<u;y++){var x,b,_=c[y],w=_[0].trace,T=v[w.alignmentgroup]||{},k=Object.keys(T.offsetGroups||{}).length,A=(x=k?h/k:f?h/u:h)*(1-(n.groupgap||0));b=k?((2*w._offsetIndex+1-k)*x-A)/2:f?((2*y+1-u)*x-A)/2:-A/2;var M=_[0].t;M.barwidth=A,M.poffset=b,M.bargroupwidth=h,M.bardelta=s}r.binWidth=c[0][0].t.barwidth/100,p(r),d(e,r),m(e,r,f)})(t,e,o,i),function(t,e){for(var r=t.traces,n=0;n<r.length;n++){var i=r[n];if(void 0===i[0].trace.base)for(var o=new c([i],{posAxis:e,sepNegVal:!0,overlapNoMerge:!0}),s=0;s<i.length;s++){var l=i[s];if(l.p!==a){var u=o.put(l.p,l.b+l.s);u&&(l.b=u)}}}}(o,e),i.norm?(v(o),y(r,o,i)):g(r,o)}(t,e,r,_,u),b.length&&f(e,r,b,u);break;case\"stack\":case\"relative\":for(b=[],_=[],w=0;w<o.length;w++)void 0===(T=o[w])[0].trace.base?_.push(T):b.push(T);_.length&&function(t,e,r,n,i){var o=new c(n,{posAxis:e,sepNegVal:\"relative\"===i.mode,overlapNoMerge:!(i.norm||\"stack\"===i.mode||\"relative\"===i.mode)});h(e,o,i),function(t,e,r){var n,i,o,l,c,u,f=x(t),h=e.traces;for(l=0;l<h.length;l++)if(n=h[l],\"funnel\"===(i=n[0].trace).type)for(c=0;c<n.length;c++)(u=n[c]).s!==a&&e.put(u.p,-.5*u.s);for(l=0;l<h.length;l++){n=h[l],i=n[0].trace,o=\"funnel\"===i.type;var p=[];for(c=0;c<n.length;c++)if((u=n[c]).s!==a){var d;d=o?u.s:u.s+u.b;var m=e.put(u.p,d),g=m+d;u.b=m,u[f]=g,r.norm||(p.push(g),u.hasB&&p.push(m))}r.norm||(i._extremes[t._id]=s.findExtremes(t,p,{tozero:!0,padded:!0}))}}(r,o,i);for(var l=0;l<n.length;l++)for(var u=n[l],f=0;f<u.length;f++){var p=u[f];if(p.s!==a)p.b+p.s===o.get(p.p,p.s)&&(p._outmost=!0)}i.norm&&y(r,o,i)}(0,e,r,_,u),b.length&&f(e,r,b,u)}!function(t,e){var r,i,a,o=x(e),s={},l=1/0,c=-1/0;for(r=0;r<t.length;r++)for(a=t[r],i=0;i<a.length;i++){var u=a[i].p;n(u)&&(l=Math.min(l,u),c=Math.max(c,u))}var f=1e4/(c-l),h=s.round=function(t){return String(Math.round(f*(t-l)))};for(r=0;r<t.length;r++){(a=t[r])[0].t.extents=s;var p=a[0].t.poffset,d=Array.isArray(p);for(i=0;i<a.length;i++){var m=a[i],g=m[o]-m.w/2;if(n(g)){var v=m[o]+m.w/2,y=h(m.p);s[y]?s[y]=[Math.min(g,s[y][0]),Math.max(v,s[y][1])]:s[y]=[g,v]}m.p0=m.p+(d?p[i]:p),m.p1=m.p0+m.w,m.s0=m.b,m.s1=m.s0+m.s}}}(o,e)}}function f(t,e,r,n){for(var i=0;i<r.length;i++){var a=r[i],o=new c([a],{posAxis:t,sepNegVal:!1,overlapNoMerge:!n.norm});h(t,o,n),n.norm?(v(o),y(e,o,n)):g(e,o)}}function h(t,e,r){for(var n=e.minDiff,i=e.traces,a=n*(1-r.gap),o=a*(1-(r.groupgap||0)),s=-o/2,l=0;l<i.length;l++){var c=i[l][0].t;c.barwidth=o,c.poffset=s,c.bargroupwidth=a,c.bardelta=n}e.binWidth=i[0][0].t.barwidth/100,p(e),d(t,e),m(t,e)}function p(t){var e,r,a=t.traces;for(e=0;e<a.length;e++){var o,s=a[e],l=s[0],c=l.trace,u=l.t,f=c._offset||c.offset,h=u.poffset;if(i(f)){for(o=Array.prototype.slice.call(f,0,s.length),r=0;r<o.length;r++)n(o[r])||(o[r]=h);for(r=o.length;r<s.length;r++)o.push(h);u.poffset=o}else void 0!==f&&(u.poffset=f);var p=c._width||c.width,d=u.barwidth;if(i(p)){var m=Array.prototype.slice.call(p,0,s.length);for(r=0;r<m.length;r++)n(m[r])||(m[r]=d);for(r=m.length;r<s.length;r++)m.push(d);if(u.barwidth=m,void 0===f){for(o=[],r=0;r<s.length;r++)o.push(h+(d-m[r])/2);u.poffset=o}}else void 0!==p&&(u.barwidth=p,void 0===f&&(u.poffset=h+(d-p)/2))}}function d(t,e){for(var r=e.traces,n=x(t),i=0;i<r.length;i++)for(var a=r[i],o=a[0].t,s=o.poffset,l=Array.isArray(s),c=o.barwidth,u=Array.isArray(c),f=0;f<a.length;f++){var h=a[f],p=h.w=u?c[f]:c;h[n]=h.p+(l?s[f]:s)+p/2}}function m(t,e,r){var n=e.traces,i=e.minDiff/2;s.minDtick(t,e.minDiff,e.distinctPositions[0],r);for(var a=0;a<n.length;a++){var o,l,c,u,f=n[a],h=f[0],p=h.trace,d=[];for(u=0;u<f.length;u++)l=(o=f[u]).p-i,c=o.p+i,d.push(l,c);if(p.width||p.offset){var m=h.t,g=m.poffset,v=m.barwidth,y=Array.isArray(g),x=Array.isArray(v);for(u=0;u<f.length;u++){o=f[u];var b=y?g[u]:g,_=x?v[u]:v;c=(l=o.p+b)+_,d.push(l,c)}}p._extremes[t._id]=s.findExtremes(t,d,{padded:!1})}}function g(t,e){for(var r=e.traces,n=x(t),i=0;i<r.length;i++){for(var a=r[i],o=a[0].trace,l=[],c=!1,u=0;u<a.length;u++){var f=a[u],h=f.b,p=h+f.s;f[n]=p,l.push(p),f.hasB&&l.push(h),f.hasB&&f.b||(c=!0)}o._extremes[t._id]=s.findExtremes(t,l,{tozero:c,padded:!0})}}function v(t){for(var e=t.traces,r=0;r<e.length;r++)for(var n=e[r],i=0;i<n.length;i++){var o=n[i];o.s!==a&&t.put(o.p,o.b+o.s)}}function y(t,e,r){var i=e.traces,o=x(t),l=\"fraction\"===r.norm?1:100,c=l/1e9,u=t.l2c(t.c2l(0)),f=\"stack\"===r.mode?l:u;function h(e){return n(t.c2l(e))&&(e<u-c||e>f+c||!n(u))}for(var p=0;p<i.length;p++){for(var d=i[p],m=d[0].trace,g=[],v=!1,y=!1,b=0;b<d.length;b++){var _=d[b];if(_.s!==a){var w=Math.abs(l/e.get(_.p,_.s));_.b*=w,_.s*=w;var T=_.b,k=T+_.s;_[o]=k,g.push(k),y=y||h(k),_.hasB&&(g.push(T),y=y||h(T)),_.hasB&&_.b||(v=!0)}}m._extremes[t._id]=s.findExtremes(t,g,{tozero:v,padded:y})}}function x(t){return t._id.charAt(0)}e.exports={crossTraceCalc:function(t,e){for(var r=e.xaxis,n=e.yaxis,i=t._fullLayout,a=t._fullData,s=t.calcdata,l=[],c=[],f=0;f<a.length;f++){var h=a[f];if(!0===h.visible&&o.traceIs(h,\"bar\")&&h.xaxis===r._id&&h.yaxis===n._id&&(\"h\"===h.orientation?l.push(s[f]):c.push(s[f]),h._computePh))for(var p=t.calcdata[f],d=0;d<p.length;d++)\"function\"==typeof p[d].ph0&&(p[d].ph0=p[d].ph0()),\"function\"==typeof p[d].ph1&&(p[d].ph1=p[d].ph1())}var m={xCat:\"category\"===r.type||\"multicategory\"===r.type,yCat:\"category\"===n.type||\"multicategory\"===n.type,mode:i.barmode,norm:i.barnorm,gap:i.bargap,groupgap:i.bargroupgap};u(t,r,n,c,m),u(t,n,r,l,m)},setGroupPositions:u}},{\"../../constants/numerical\":479,\"../../lib\":503,\"../../plots/cartesian/axes\":554,\"../../plots/cartesian/constraints\":562,\"../../registry\":638,\"./sieve.js\":661,\"fast-isnumeric\":190}],652:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../components/color\"),a=t(\"../../registry\"),o=t(\"../scatter/xy_defaults\"),s=t(\"../scatter/period_defaults\"),l=t(\"./style_defaults\"),c=t(\"../../plots/cartesian/constraints\").getAxisGroup,u=t(\"./attributes\"),f=n.coerceFont;function h(t,e,r,n){var i=e.orientation,a=e[{v:\"x\",h:\"y\"}[i]+\"axis\"],o=c(r,a)+i,s=r._alignmentOpts||{},l=n(\"alignmentgroup\"),u=s[o];u||(u=s[o]={});var f=u[l];f?f.traces.push(e):f=u[l]={traces:[e],alignmentIndex:Object.keys(u).length,offsetGroups:{}};var h=n(\"offsetgroup\"),p=f.offsetGroups,d=p[h];h&&(d||(d=p[h]={offsetIndex:Object.keys(p).length}),e._offsetIndex=d.offsetIndex)}function p(t,e,r,i,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,v=m||\"outside\"===a;if(g||v){var y=f(i,\"textfont\",r.font),x=n.extendFlat({},y),b=!(t.textfont&&t.textfont.color);if(b&&delete x.color,f(i,\"insidetextfont\",x),d){var _=n.extendFlat({},y);b&&delete _.color,f(i,\"pathbar.textfont\",_)}v&&f(i,\"outsidetextfont\",y),s&&i(\"selected.textfont.color\"),l&&i(\"unselected.textfont.color\"),c&&i(\"constraintext\"),u&&i(\"cliponaxis\"),h&&i(\"textangle\"),i(\"texttemplate\")}g&&p&&i(\"insidetextanchor\")}e.exports={supplyDefaults:function(t,e,r,c){function f(r,i){return n.coerce(t,e,u,r,i)}if(o(t,e,c,f)){s(t,e,c,f),f(\"xhoverformat\"),f(\"yhoverformat\"),f(\"orientation\",e.x&&!e.y?\"h\":\"v\"),f(\"base\"),f(\"offset\"),f(\"width\"),f(\"text\"),f(\"hovertext\"),f(\"hovertemplate\");var h=f(\"textposition\");p(t,e,c,f,h,{moduleHasSelected:!0,moduleHasUnselected:!0,moduleHasConstrain:!0,moduleHasCliponaxis:!0,moduleHasTextangle:!0,moduleHasInsideanchor:!0}),l(t,e,f,r,c);var d=(e.marker.line||{}).color,m=a.getComponentMethod(\"errorbars\",\"supplyDefaults\");m(t,e,d||i.defaultLine,{axis:\"y\"}),m(t,e,d||i.defaultLine,{axis:\"x\",inherit:\"y\"}),n.coerceSelectionMarkerOpacity(e,f)}else e.visible=!1},crossTraceDefaults:function(t,e){var r;function i(t){return n.coerce(r._input,r,u,t)}if(\"group\"===e.barmode)for(var a=0;a<t.length;a++)\"bar\"===(r=t[a]).type&&(r._input,h(0,r,e,i))},handleGroupingDefaults:h,handleText:p}},{\"../../components/color\":366,\"../../lib\":503,\"../../plots/cartesian/constraints\":562,\"../../registry\":638,\"../scatter/period_defaults\":947,\"../scatter/xy_defaults\":954,\"./attributes\":648,\"./style_defaults\":663}],653:[function(t,e,r){\"use strict\";e.exports=function(t,e,r){return t.x=\"xVal\"in e?e.xVal:e.x,t.y=\"yVal\"in e?e.yVal:e.y,e.xa&&(t.xaxis=e.xa),e.ya&&(t.yaxis=e.ya),\"h\"===r.orientation?(t.label=t.y,t.value=t.x):(t.label=t.x,t.value=t.y),t}},{}],654:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"tinycolor2\"),a=t(\"../../lib\").isArrayOrTypedArray;r.coerceString=function(t,e,r){if(\"string\"==typeof e){if(e||!t.noBlank)return e}else if((\"number\"==typeof e||!0===e)&&!t.strict)return String(e);return void 0!==r?r:t.dflt},r.coerceNumber=function(t,e,r){if(n(e)){e=+e;var i=t.min,a=t.max;if(!(void 0!==i&&e<i||void 0!==a&&e>a))return e}return void 0!==r?r:t.dflt},r.coerceColor=function(t,e,r){return i(e).isValid()?e:void 0!==r?r:t.dflt},r.coerceEnumerated=function(t,e,r){return t.coerceNumber&&(e=+e),-1!==t.values.indexOf(e)?e:void 0!==r?r:t.dflt},r.getValue=function(t,e){var r;return Array.isArray(t)?e<t.length&&(r=t[e]):r=t,r},r.getLineWidth=function(t,e){return 0<e.mlw?e.mlw:a(t.marker.line.width)?0:t.marker.line.width}},{\"../../lib\":503,\"fast-isnumeric\":190,tinycolor2:312}],655:[function(t,e,r){\"use strict\";var n=t(\"../../components/fx\"),i=t(\"../../registry\"),a=t(\"../../components/color\"),o=t(\"../../lib\").fillText,s=t(\"./helpers\").getLineWidth,l=t(\"../../plots/cartesian/axes\").hoverLabelText,c=t(\"../../constants/numerical\").BADNUM;function u(t,e,r,i,a){var s,u,f,h,p,d,m,g=t.cd,v=g[0].trace,y=g[0].t,x=\"closest\"===i,b=\"waterfall\"===v.type,_=t.maxHoverDistance,w=t.maxSpikeDistance;\"h\"===v.orientation?(s=r,u=e,f=\"y\",h=\"x\",p=z,d=I):(s=e,u=r,f=\"x\",h=\"y\",d=z,p=I);var T=v[f+\"period\"],k=x||T;function A(t){return S(t,-1)}function M(t){return S(t,1)}function S(t,e){var r=t.w;return t[f]+e*r/2}function E(t){return t[f+\"End\"]-t[f+\"Start\"]}var L=x?A:T?function(t){return t.p-E(t)/2}:function(t){return Math.min(A(t),t.p-y.bardelta/2)},C=x?M:T?function(t){return t.p+E(t)/2}:function(t){return Math.max(M(t),t.p+y.bardelta/2)};function P(t,e,r){return a.finiteRange&&(r=0),n.inbox(t-s,e-s,r+Math.min(1,Math.abs(e-t)/m)-1)}function I(t){return P(L(t),C(t),_)}function O(t){var e=t[h];if(b){var r=Math.abs(t.rawS)||0;u>0?e+=r:u<0&&(e-=r)}return e}function z(t){var e=u,r=t.b,i=O(t);return n.inbox(r-e,i-e,_+(i-e)/(i-r)-1)}var D=t[f+\"a\"],R=t[h+\"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||(L=function(t){return Math.min(A(t),t.p-y.bargroupwidth/2)},C=function(t){return Math.max(M(t),t.p+y.bargroupwidth/2)});var B=g[t.index],N=v.base?B.b+B.s:B.s;t[h+\"0\"]=t[h+\"1\"]=R.c2p(B[h],!0),t[h+\"LabelVal\"]=N;var j=y.extents[y.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\"],v[f+\"hoverformat\"]),t.valueLabel=l(R,t[h+\"LabelVal\"],v[h+\"hoverformat\"]),t.baseLabel=l(R,B.b,v[h+\"hoverformat\"]),t.spikeDistance=(function(t){var e=u,r=t.b,i=O(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,v,t),t.hovertemplate=v.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}e.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=f(l,c),i.getComponentMethod(\"errorbars\",\"hoverInfo\")(c,l,o),[o]}},hoverOnBars:u,getTraceColor:f}},{\"../../components/color\":366,\"../../components/fx\":406,\"../../constants/numerical\":479,\"../../lib\":503,\"../../plots/cartesian/axes\":554,\"../../registry\":638,\"./helpers\":654}],656:[function(t,e,r){\"use strict\";e.exports={attributes:t(\"./attributes\"),layoutAttributes:t(\"./layout_attributes\"),supplyDefaults:t(\"./defaults\").supplyDefaults,crossTraceDefaults:t(\"./defaults\").crossTraceDefaults,supplyLayoutDefaults:t(\"./layout_defaults\"),calc:t(\"./calc\"),crossTraceCalc:t(\"./cross_trace_calc\").crossTraceCalc,colorbar:t(\"../scatter/marker_colorbar\"),arraysToCalcdata:t(\"./arrays_to_calcdata\"),plot:t(\"./plot\").plot,style:t(\"./style\").style,styleOnSelect:t(\"./style\").styleOnSelect,hoverPoints:t(\"./hover\").hoverPoints,eventData:t(\"./event_data\"),selectPoints:t(\"./select\"),moduleType:\"trace\",name:\"bar\",basePlotModule:t(\"../../plots/cartesian\"),categories:[\"bar-like\",\"cartesian\",\"svg\",\"bar\",\"oriented\",\"errorBarsOK\",\"showLegend\",\"zoomScale\"],animatable:!0,meta:{}}},{\"../../plots/cartesian\":568,\"../scatter/marker_colorbar\":945,\"./arrays_to_calcdata\":647,\"./attributes\":648,\"./calc\":649,\"./cross_trace_calc\":651,\"./defaults\":652,\"./event_data\":653,\"./hover\":655,\"./layout_attributes\":657,\"./layout_defaults\":658,\"./plot\":659,\"./select\":660,\"./style\":662}],657:[function(t,e,r){\"use strict\";e.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\"}}},{}],658:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),i=t(\"../../plots/cartesian/axes\"),a=t(\"../../lib\"),o=t(\"./layout_attributes\");e.exports=function(t,e,r){function s(r,n){return a.coerce(t,e,o,r,n)}for(var l=!1,c=!1,u=!1,f={},h=s(\"barmode\"),p=0;p<r.length;p++){var d=r[p];if(n.traceIs(d,\"bar\")&&d.visible){if(l=!0,\"group\"===h){var m=d.xaxis+d.yaxis;f[m]&&(u=!0),f[m]=!0}if(d.visible&&\"histogram\"===d.type)\"category\"!==i.getFromId({_fullLayout:e},d[\"v\"===d.orientation?\"xaxis\":\"yaxis\"]).type&&(c=!0)}}l?(\"overlay\"!==h&&s(\"barnorm\"),s(\"bargap\",c&&!u?0:.2),s(\"bargroupgap\")):delete e.barmode}},{\"../../lib\":503,\"../../plots/cartesian/axes\":554,\"../../registry\":638,\"./layout_attributes\":657}],659:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"fast-isnumeric\"),a=t(\"../../lib\"),o=t(\"../../lib/svg_text_utils\"),s=t(\"../../components/color\"),l=t(\"../../components/drawing\"),c=t(\"../../registry\"),u=t(\"../../plots/cartesian/axes\").tickText,f=t(\"./uniform_text\"),h=f.recordMinTextSize,p=f.clearMinTextSize,d=t(\"./style\"),m=t(\"./helpers\"),g=t(\"./constants\"),v=t(\"./attributes\"),y=v.text,x=v.textposition,b=t(\"../../components/fx/helpers\").appendArrayPointValue,_=g.TEXTPAD;function w(t){return t.id}function T(t){if(t.ids)return w}function k(t,e){return t<e?1:-1}function A(t,e,r,n){var i;return!e.uniformtext.mode&&M(r)?(n&&(i=n()),t.transition().duration(r.duration).ease(r.easing).each(\"end\",(function(){i&&i()})).each(\"interrupt\",(function(){i&&i()}))):t}function M(t){return t&&t.duration>0}function S(t){return\"auto\"===t?0:t}function E(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 L(t,e,r,n,i,a){var o=!!a.isHorizontal,s=!!a.constrained,l=a.angle||0,c=a.anchor||\"end\",u=\"end\"===c,f=\"start\"===c,h=((a.leftToRight||0)+1)/2,p=1-h,d=i.width,m=i.height,g=Math.abs(e-t),v=Math.abs(n-r),y=g>2*_&&v>2*_?_:0;g-=2*y,v-=2*y;var x=S(l);\"auto\"!==l||d<=g&&m<=v||!(d>g||m>v)||(d>v||m>g)&&d<m==g<v||(x+=90);var b=E(i,x),w=1;s&&(w=Math.min(1,g/b.x,v/b.y));var T=i.left*p+i.right*h,A=(i.top+i.bottom)/2,M=(t+_)*p+(e-_)*h,L=(r+n)/2,C=0,P=0;if(f||u){var I=(o?b.x:b.y)/2,O=o?k(t,e):k(r,n);o?f?(M=t+O*y,C=-O*I):(M=e-O*y,C=O*I):f?(L=r+O*y,P=-O*I):(L=n-O*y,P=O*I)}return{textX:T,textY:A,targetX:M,targetY:L,anchorX:C,anchorY:P,scale:w,rotate:x}}e.exports={plot:function(t,e,r,f,g,v){var w=e.xaxis,C=e.yaxis,P=t._fullLayout;g||(g={mode:P.barmode,norm:P.barmode,gap:P.bargap,groupgap:P.bargroupgap},p(\"bar\",P));var I=a.makeTraceGroups(f,r,\"trace bars\").each((function(r){var c=n.select(this),f=r[0].trace,p=\"waterfall\"===f.type,I=\"funnel\"===f.type,O=\"bar\"===f.type||I,z=0;p&&f.connector.visible&&\"between\"===f.connector.mode&&(z=f.connector.line.width/2);var D=\"h\"===f.orientation,R=M(g),F=a.ensureSingle(c,\"g\",\"points\"),B=T(f),N=F.selectAll(\"g.point\").data(a.identity,B);N.enter().append(\"g\").classed(\"point\",!0),N.exit().remove(),N.each((function(c,p){var T,M,I=n.select(this),F=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,C,D),B=F[0][0],N=F[0][1],j=F[1][0],U=F[1][1],V=0==(D?N-B:U-j);if(V&&O&&m.getLineWidth(f,c)&&(V=!1),V||(V=!(i(B)&&i(N)&&i(j)&&i(U))),c.isBlank=V,V&&(D?N=B:U=j),z&&!V&&(D?(B-=k(B,N)*z,N+=k(B,N)*z):(j-=k(j,U)*z,U+=k(j,U)*z)),\"waterfall\"===f.type){if(!V){var H=f[c.dir].marker;T=H.line.width,M=H.color}}else T=m.getLineWidth(f,c),M=c.mc||f.marker.color;function q(t){var e=n.round(T/2%1,2);return 0===g.gap&&0===g.groupgap?n.round(Math.round(t)-e,2):t}if(!t._context.staticPlot){var G=s.opacity(M)<1||T>.01?q:function(t,e,r){return r&&t===e?t:Math.abs(t-e)>=2?q(t):t>e?Math.ceil(t):Math.floor(t)};B=G(B,N,D),N=G(N,B,D),j=G(j,U,!D),U=G(U,j,!D)}var Y=A(a.ensureSingle(I,\"path\"),P,g,v);if(Y.style(\"vector-effect\",\"non-scaling-stroke\").attr(\"d\",isNaN((N-B)*(U-j))||V&&t._context.staticPlot?\"M0,0Z\":\"M\"+B+\",\"+j+\"V\"+U+\"H\"+N+\"V\"+j+\"Z\").call(l.setClipUrl,e.layerClipId,t),!P.uniformtext.mode&&R){var W=l.makePointStyleFns(f);l.singlePointStyle(c,Y,f,W,t)}!function(t,e,r,n,i,s,c,f,p,g,v){var w,T=e.xaxis,M=e.yaxis,C=t._fullLayout;function P(e,r,n){return a.ensureSingle(e,\"text\").text(r).attr({class:\"bartext bartext-\"+w,\"text-anchor\":\"middle\",\"data-notex\":1}).call(l.font,n).call(o.convertToTspans,t)}var I=n[0].trace,O=\"h\"===I.orientation,z=function(t,e,r,n,i){var o,s=e[0].trace;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,f,h,p=\"histogram\"===o.type,d=\"waterfall\"===o.type,m=\"funnel\"===o.type,g=\"h\"===o.orientation;g?(l=\"y\",c=i,f=\"x\",h=n):(l=\"x\",c=n,f=\"y\",h=i);function v(t){return u(h,h.c2l(t),!0).text}var y=e[r],x={};x.label=y.p,x.labelLabel=x[l+\"Label\"]=(_=y.p,u(c,c.c2l(_),!0).text);var _;var w=a.castOption(o,y.i,\"text\");(0===w||w)&&(x.text=w);x.value=y.s,x.valueLabel=x[f+\"Label\"]=v(y.s);var T={};b(T,o,y.i),(p||void 0===T.x)&&(T.x=g?x.value:x.label);(p||void 0===T.y)&&(T.y=g?x.label:x.value);(p||void 0===T.xLabel)&&(T.xLabel=g?x.valueLabel:x.labelLabel);(p||void 0===T.yLabel)&&(T.yLabel=g?x.labelLabel:x.valueLabel);d&&(x.delta=+y.rawS||y.s,x.deltaLabel=v(x.delta),x.final=y.v,x.finalLabel=v(x.final),x.initial=x.final-x.delta,x.initialLabel=v(x.initial));m&&(x.value=y.s,x.valueLabel=v(x.value),x.percentInitial=y.begR,x.percentInitialLabel=a.formatPercent(y.begR),x.percentPrevious=y.difR,x.percentPreviousLabel=a.formatPercent(y.difR),x.percentTotal=y.sumR,x.percenTotalLabel=a.formatPercent(y.sumR));var k=a.castOption(o,y.i,\"customdata\");k&&(x.customdata=k);return a.texttemplateString(s,x,t._d3locale,T,x,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 f,h=i.textinfo,p=t[e],d=h.split(\"+\"),m=[],g=function(t){return-1!==d.indexOf(t)};g(\"label\")&&m.push((v=t[e].p,u(o?n:r,v,!0).text));var v;g(\"text\")&&(0===(f=a.castOption(i,p.i,\"text\"))||f)&&m.push(f);if(s){var y=+p.rawS||p.s,x=p.v,b=x-y;g(\"initial\")&&m.push(c(b)),g(\"delta\")&&m.push(c(y)),g(\"final\")&&m.push(c(x))}if(l){g(\"value\")&&m.push(c(p.s));var _=0;g(\"percent initial\")&&_++,g(\"percent previous\")&&_++,g(\"percent total\")&&_++;var w=_>1;g(\"percent initial\")&&(f=a.formatPercent(p.begR),w&&(f+=\" of initial\"),m.push(f)),g(\"percent previous\")&&(f=a.formatPercent(p.difR),w&&(f+=\" of previous\"),m.push(f)),g(\"percent total\")&&(f=a.formatPercent(p.sumR),w&&(f+=\" of total\"),m.push(f))}return m.join(\"<br>\")}(e,r,n,i):m.getValue(s.text,r);return m.coerceString(y,o)}(C,n,i,T,M);w=function(t,e){var r=m.getValue(t.textposition,e);return m.coerceEnumerated(x,r)}(I,i);var D=\"stack\"===g.mode||\"relative\"===g.mode,R=n[i],F=!D||R._outmost;if(!z||\"none\"===w||(R.isBlank||s===c||f===p)&&(\"auto\"===w||\"inside\"===w))return void r.select(\"text\").remove();var B=C.font,N=d.getBarColor(n[i],I),j=d.getInsideTextFont(I,i,B,N),U=d.getOutsideTextFont(I,i,B),V=r.datum();O?\"log\"===T.type&&V.s0<=0&&(s=T.range[0]<T.range[1]?0:T._length):\"log\"===M.type&&V.s0<=0&&(f=M.range[0]<M.range[1]?M._length:0);var H,q,G,Y,W,X=Math.abs(c-s)-2*_,Z=Math.abs(p-f)-2*_;\"outside\"===w&&(F||R.hasB||(w=\"inside\"));if(\"auto\"===w)if(F){w=\"inside\",W=a.ensureUniformFontSize(t,j),H=P(r,z,W),q=l.bBox(H.node()),G=q.width,Y=q.height;var J=G<=X&&Y<=Z,K=G<=Z&&Y<=X,Q=O?X>=G*(Z/Y):Z>=Y*(X/G);G>0&&Y>0&&(J||K||Q)?w=\"inside\":(w=\"outside\",H.remove(),H=null)}else w=\"inside\";if(!H){W=a.ensureUniformFontSize(t,\"outside\"===w?U:j);var $=(H=P(r,z,W)).attr(\"transform\");if(H.attr(\"transform\",\"\"),q=l.bBox(H.node()),G=q.width,Y=q.height,H.attr(\"transform\",$),G<=0||Y<=0)return void H.remove()}var tt,et,rt=I.textangle;\"outside\"===w?(et=\"both\"===I.constraintext||\"outside\"===I.constraintext,tt=function(t,e,r,n,i,a){var o,s=!!a.isHorizontal,l=!!a.constrained,c=a.angle||0,u=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/u));var m=S(c),g=E(i,m),v=(s?g.x:g.y)/2,y=(i.left+i.right)/2,x=(i.top+i.bottom)/2,b=(t+e)/2,w=(r+n)/2,T=0,A=0,M=s?k(e,t):k(r,n);s?(b=e-M*o,T=M*v):(w=n+M*o,A=-M*v);return{textX:y,textY:x,targetX:b,targetY:w,anchorX:T,anchorY:A,scale:d,rotate:m}}(s,c,f,p,q,{isHorizontal:O,constrained:et,angle:rt})):(et=\"both\"===I.constraintext||\"inside\"===I.constraintext,tt=L(s,c,f,p,q,{isHorizontal:O,constrained:et,angle:rt,anchor:I.insidetextanchor}));tt.fontSize=W.size,h(\"histogram\"===I.type?\"bar\":I.type,tt,C),R.transform=tt,A(H,C,g,v).attr(\"transform\",a.getTextTransform(tt))}(t,e,I,r,p,B,N,j,U,g,v),e.layerClipId&&l.hideOutsideRangePoint(c,I.select(\"text\"),w,C,f.xcalendar,f.ycalendar)}));var j=!1===f.cliponaxis;l.setClipUrl(c,j?null:e.layerClipId,t)}));c.getComponentMethod(\"errorbars\",\"plot\")(t,I,e,g)},toMoveInsideBar:L}},{\"../../components/color\":366,\"../../components/drawing\":388,\"../../components/fx/helpers\":402,\"../../lib\":503,\"../../lib/svg_text_utils\":529,\"../../plots/cartesian/axes\":554,\"../../registry\":638,\"./attributes\":648,\"./constants\":650,\"./helpers\":654,\"./style\":662,\"./uniform_text\":664,\"@plotly/d3\":58,\"fast-isnumeric\":190}],660:[function(t,e,r){\"use strict\";function n(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]}e.exports=function(t,e){var r,i=t.cd,a=t.xaxis,o=t.yaxis,s=i[0].trace,l=\"funnel\"===s.type,c=\"h\"===s.orientation,u=[];if(!1===e)for(r=0;r<i.length;r++)i[r].selected=0;else for(r=0;r<i.length;r++){var f=i[r],h=\"ct\"in f?f.ct:n(f,a,o,c,l);e.contains(h,!1,r,t)?(u.push({pointNumber:r,x:a.c2d(f.x),y:o.c2d(f.y)}),f.selected=1):f.selected=0}return u}},{}],661:[function(t,e,r){\"use strict\";e.exports=a;var n=t(\"../../lib\").distinctVals,i=t(\"../../constants/numerical\").BADNUM;function a(t,e){this.traces=t,this.sepNegVal=e.sepNegVal,this.overlapNoMerge=e.overlapNoMerge;for(var r=1/0,a=[],o=0;o<t.length;o++){for(var s=t[o],l=0;l<s.length;l++){var c=s[l];c.p!==i&&a.push(c.p)}s[0]&&s[0].width1&&(r=Math.min(s[0].width1,r))}this.positions=a;var u=n(a);this.distinctPositions=u.vals,1===u.vals.length&&r!==1/0?this.minDiff=r:this.minDiff=Math.min(u.minDiff,r);var f=(e.posAxis||{}).type;\"category\"!==f&&\"multicategory\"!==f||(this.minDiff=1),this.binWidth=this.minDiff,this.bins={}}a.prototype.put=function(t,e){var r=this.getLabel(t,e),n=this.bins[r]||0;return this.bins[r]=n+e,n},a.prototype.get=function(t,e){var r=this.getLabel(t,e);return this.bins[r]||0},a.prototype.getLabel=function(t,e){return(e<0&&this.sepNegVal?\"v\":\"^\")+(this.overlapNoMerge?t:Math.round(t/this.binWidth))}},{\"../../constants/numerical\":479,\"../../lib\":503}],662:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../../components/color\"),a=t(\"../../components/drawing\"),o=t(\"../../lib\"),s=t(\"../../registry\"),l=t(\"./uniform_text\").resizeText,c=t(\"./attributes\"),u=c.textfont,f=c.insidetextfont,h=c.outsidetextfont,p=t(\"./helpers\");function d(t,e,r){a.pointStyle(t.selectAll(\"path\"),e,r),m(t,e,r)}function m(t,e,r){t.selectAll(\"text\").each((function(t){var i=n.select(this),s=o.ensureUniformFontSize(r,g(i,t,e,r));a.font(i,s)}))}function g(t,e,r,n){var i=n._fullLayout.font,a=r.textfont;if(t.classed(\"bartext-inside\")){var o=_(e,r);a=y(r,e.i,i,o)}else t.classed(\"bartext-outside\")&&(a=x(r,e.i,i));return a}function v(t,e,r){return b(u,t.textfont,e,r)}function y(t,e,r,n){var a=v(t,e,r);return(void 0===t._input.textfont||void 0===t._input.textfont.color||Array.isArray(t.textfont.color)&&void 0===t.textfont.color[e])&&(a={color:i.contrast(n),family:a.family,size:a.size}),b(f,t.insidetextfont,e,a)}function x(t,e,r){var n=v(t,e,r);return b(h,t.outsidetextfont,e,n)}function b(t,e,r,n){e=e||{};var i=p.getValue(e.family,r),a=p.getValue(e.size,r),o=p.getValue(e.color,r);return{family:p.coerceString(t.family,i,n.family),size:p.coerceNumber(t.size,a,n.size),color:p.coerceColor(t.color,o,n.color)}}function _(t,e){return\"waterfall\"===e.type?e[t.dir].marker.color:t.mcc||t.mc||e.marker.color}e.exports={style:function(t){var e=n.select(t).selectAll(\"g.barlayer\").selectAll(\"g.trace\");l(t,e,\"bar\");var r=e.size(),i=t._fullLayout;e.style(\"opacity\",(function(t){return t[0].trace.opacity})).each((function(t){(\"stack\"===i.barmode&&r>1||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:y,getOutsideTextFont:x,getBarColor:_,resizeText:l}},{\"../../components/color\":366,\"../../components/drawing\":388,\"../../lib\":503,\"../../registry\":638,\"./attributes\":648,\"./helpers\":654,\"./uniform_text\":664,\"@plotly/d3\":58}],663:[function(t,e,r){\"use strict\";var n=t(\"../../components/color\"),i=t(\"../../components/colorscale/helpers\").hasColorscale,a=t(\"../../components/colorscale/defaults\"),o=t(\"../../lib\").coercePattern;e.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\")}},{\"../../components/color\":366,\"../../components/colorscale/defaults\":376,\"../../components/colorscale/helpers\":377,\"../../lib\":503}],664:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../../lib\");function a(t){return\"_\"+t+\"Text_minsize\"}e.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<i,r[n]=r[n]||1/0,e.hide||(r[n]=Math.min(r[n],Math.max(o,i)))}},clearMinTextSize:function(t,e){e[a(t)]=void 0},resizeText:function(t,e,r){var a=t._fullLayout,o=a[\"_\"+r+\"Text_minsize\"];if(o){var s,l=\"hide\"===a.uniformtext.mode;switch(r){case\"funnelarea\":case\"pie\":case\"sunburst\":s=\"g.slice\";break;case\"treemap\":case\"icicle\":s=\"g.slice, g.pathbar\";break;default:s=\"g.points > g.point\"}e.selectAll(s).each((function(t){var e=t.transform;e&&(e.scale=l&&e.hide?0:o/e.fontSize,n.select(this).select(\"text\").attr(\"transform\",i.getTextTransform(e)))}))}}}},{\"../../lib\":503,\"@plotly/d3\":58}],665:[function(t,e,r){\"use strict\";var n=t(\"../../plots/template_attributes\").hovertemplateAttrs,i=t(\"../../lib/extend\").extendFlat,a=t(\"../scatterpolar/attributes\"),o=t(\"../bar/attributes\");e.exports={r:a.r,theta:a.theta,r0:a.r0,dr:a.dr,theta0:a.theta0,dtheta:a.dtheta,thetaunit:a.thetaunit,base:i({},o.base,{}),offset:i({},o.offset,{}),width:i({},o.width,{}),text:i({},o.text,{}),hovertext:i({},o.hovertext,{}),marker:o.marker,hoverinfo:a.hoverinfo,hovertemplate:n(),selected:o.selected,unselected:o.unselected}},{\"../../lib/extend\":493,\"../../plots/template_attributes\":633,\"../bar/attributes\":648,\"../scatterpolar/attributes\":1002}],666:[function(t,e,r){\"use strict\";var n=t(\"../../components/colorscale/helpers\").hasColorscale,i=t(\"../../components/colorscale/calc\"),a=t(\"../bar/arrays_to_calcdata\"),o=t(\"../bar/cross_trace_calc\").setGroupPositions,s=t(\"../scatter/calc_selection\"),l=t(\"../../registry\").traceIs,c=t(\"../../lib\").extendFlat;e.exports={calc:function(t,e){for(var r=t._fullLayout,o=e.subplot,l=r[o].radialaxis,c=r[o].angularaxis,u=l.makeCalcdata(e,\"r\"),f=c.makeCalcdata(e,\"theta\"),h=e._length,p=new Array(h),d=u,m=f,g=0;g<h;g++)p[g]={p:m[g],s:d[g]};function v(t){var r=e[t];void 0!==r&&(e[\"_\"+t]=Array.isArray(r)?c.makeCalcdata(e,t):c.d2c(r,e.thetaunit))}return\"linear\"===c.type&&(v(\"width\"),v(\"offset\")),n(e,\"marker\")&&i(t,e,{vals:e.marker.color,containerStr:\"marker\",cLetter:\"c\"}),n(e,\"marker.line\")&&i(t,e,{vals:e.marker.line.color,containerStr:\"marker.line\",cLetter:\"c\"}),a(p,e),s(p,e),p},crossTraceCalc:function(t,e,r){for(var n=t.calcdata,i=[],a=0;a<n.length;a++){var s=n[a],u=s[0].trace;!0===u.visible&&l(u,\"bar\")&&u.subplot===r&&i.push(s)}var f=c({},e.radialaxis,{_id:\"x\"}),h=e.angularaxis;o(t,h,f,i,{mode:e.barmode,norm:e.barnorm,gap:e.bargap,groupgap:e.bargroupgap})}}},{\"../../components/colorscale/calc\":374,\"../../components/colorscale/helpers\":377,\"../../lib\":503,\"../../registry\":638,\"../bar/arrays_to_calcdata\":647,\"../bar/cross_trace_calc\":651,\"../scatter/calc_selection\":929}],667:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../scatterpolar/defaults\").handleRThetaDefaults,a=t(\"../bar/style_defaults\"),o=t(\"./attributes\");e.exports=function(t,e,r,s){function l(r,i){return n.coerce(t,e,o,r,i)}i(t,e,s,l)?(l(\"thetaunit\"),l(\"base\"),l(\"offset\"),l(\"width\"),l(\"text\"),l(\"hovertext\"),l(\"hovertemplate\"),a(t,e,l,r,s),n.coerceSelectionMarkerOpacity(e,l)):e.visible=!1}},{\"../../lib\":503,\"../bar/style_defaults\":663,\"../scatterpolar/defaults\":1004,\"./attributes\":665}],668:[function(t,e,r){\"use strict\";var n=t(\"../../components/fx\"),i=t(\"../../lib\"),a=t(\"../bar/hover\").getTraceColor,o=i.fillText,s=t(\"../scatterpolar/hover\").makeHoverPointText,l=t(\"../../plots/polar/helpers\").isPtInsidePolygon;e.exports=function(t,e,r){var c=t.cd,u=c[0].trace,f=t.subplot,h=f.radialAxis,p=f.angularAxis,d=f.vangles,m=d?l:i.isPtInsideSector,g=t.maxHoverDistance,v=p._period||2*Math.PI,y=Math.abs(h.g2p(Math.sqrt(e*e+r*r))),x=Math.atan2(r,e);h.range[0]>h.range[1]&&(x+=Math.PI);if(n.getClosest(c,(function(t){return m(y,x,[t.rp0,t.rp1],[t.thetag0,t.thetag1],d)?g+Math.min(1,Math.abs(t.thetag1-t.thetag0)/v)-1+(t.rp1-y)/(t.rp1-t.rp0)-1:1/0}),t),!1!==t.index){var b=c[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,u,t),s(_,u,f,t),t.hovertemplate=u.hovertemplate,t.color=a(u,b),t.xLabelVal=t.yLabelVal=void 0,b.s<0&&(t.idealAlign=\"left\"),[t]}}},{\"../../components/fx\":406,\"../../lib\":503,\"../../plots/polar/helpers\":621,\"../bar/hover\":655,\"../scatterpolar/hover\":1006}],669:[function(t,e,r){\"use strict\";e.exports={moduleType:\"trace\",name:\"barpolar\",basePlotModule:t(\"../../plots/polar\"),categories:[\"polar\",\"bar\",\"showLegend\"],attributes:t(\"./attributes\"),layoutAttributes:t(\"./layout_attributes\"),supplyDefaults:t(\"./defaults\"),supplyLayoutDefaults:t(\"./layout_defaults\"),calc:t(\"./calc\").calc,crossTraceCalc:t(\"./calc\").crossTraceCalc,plot:t(\"./plot\"),colorbar:t(\"../scatter/marker_colorbar\"),formatLabels:t(\"../scatterpolar/format_labels\"),style:t(\"../bar/style\").style,styleOnSelect:t(\"../bar/style\").styleOnSelect,hoverPoints:t(\"./hover\"),selectPoints:t(\"../bar/select\"),meta:{}}},{\"../../plots/polar\":622,\"../bar/select\":660,\"../bar/style\":662,\"../scatter/marker_colorbar\":945,\"../scatterpolar/format_labels\":1005,\"./attributes\":665,\"./calc\":666,\"./defaults\":667,\"./hover\":668,\"./layout_attributes\":670,\"./layout_defaults\":671,\"./plot\":672}],670:[function(t,e,r){\"use strict\";e.exports={barmode:{valType:\"enumerated\",values:[\"stack\",\"overlay\"],dflt:\"stack\",editType:\"calc\"},bargap:{valType:\"number\",dflt:.1,min:0,max:1,editType:\"calc\"}}},{}],671:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./layout_attributes\");e.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;l<r.length;l++){var c=r[l];\"barpolar\"===c.type&&!0===c.visible&&(o[a=c.subplot]||(s(\"barmode\"),s(\"bargap\"),o[a]=1))}}},{\"../../lib\":503,\"./layout_attributes\":670}],672:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"fast-isnumeric\"),a=t(\"../../lib\"),o=t(\"../../components/drawing\"),s=t(\"../../plots/polar/helpers\");e.exports=function(t,e,r){var l=e.xaxis,c=e.yaxis,u=e.radialAxis,f=e.angularAxis,h=function(t){var e=t.cxx,r=t.cyy;if(t.vangles)return function(n,i,o,l){var c,u;a.angleDelta(o,l)>0?(c=o,u=l):(c=l,u=o);var f=[s.findEnclosingVertexAngles(c,t.vangles)[0],(c+u)/2,s.findEnclosingVertexAngles(u,t.vangles)[1]];return s.pathPolygonAnnulus(n,i,c,u,f,e,r)};return function(t,n,i,o){return a.pathAnnulus(t,n,i,o,e,r)}}(e),p=e.layers.frontplot.select(\"g.barlayer\");a.makeTraceGroups(p,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\",\"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=u.c2p(t.s0),s=t.rp1=u.c2p(t.s1),p=t.thetag0=f.c2g(t.p0),d=t.thetag1=f.c2g(t.p1);if(i(o)&&i(s)&&i(p)&&i(d)&&o!==s&&p!==d){var m=u.c2g(t.s1),g=(p+d)/2;t.ct=[l.c2p(m*Math.cos(g)),c.c2p(m*Math.sin(g))],e=h(o,s,p,d)}else e=\"M0,0Z\";a.ensureSingle(r,\"path\").attr(\"d\",e)})),o.setClipUrl(r,e._hasClipOnAxisFalse?e.clipIds.forTraces:null,t)}))}},{\"../../components/drawing\":388,\"../../lib\":503,\"../../plots/polar/helpers\":621,\"@plotly/d3\":58,\"fast-isnumeric\":190}],673:[function(t,e,r){\"use strict\";var n=t(\"../scatter/attributes\"),i=t(\"../bar/attributes\"),a=t(\"../../components/color/attributes\"),o=t(\"../../plots/cartesian/axis_format_attributes\").axisHoverFormat,s=t(\"../../plots/template_attributes\").hovertemplateAttrs,l=t(\"../../lib/extend\").extendFlat,c=n.marker,u=c.line;e.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:n.xperiod,yperiod:n.yperiod,xperiod0:n.xperiod0,yperiod0:n.yperiod0,xperiodalignment:n.xperiodalignment,yperiodalignment:n.yperiodalignment,xhoverformat:o(\"x\"),yhoverformat:o(\"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\"},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:l({},c.symbol,{arrayOk:!1,editType:\"plot\"}),opacity:l({},c.opacity,{arrayOk:!1,dflt:1,editType:\"style\"}),size:l({},c.size,{arrayOk:!1,editType:\"calc\"}),color:l({},c.color,{arrayOk:!1,editType:\"style\"}),line:{color:l({},u.color,{arrayOk:!1,dflt:a.defaultLine,editType:\"style\"}),width:l({},u.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.fillcolor,whiskerwidth:{valType:\"number\",min:0,max:1,dflt:.5,editType:\"calc\"},offsetgroup:i.offsetgroup,alignmentgroup:i.alignmentgroup,selected:{marker:n.selected.marker,editType:\"style\"},unselected:{marker:n.unselected.marker,editType:\"style\"},text:l({},n.text,{}),hovertext:l({},n.hovertext,{}),hovertemplate:s({}),hoveron:{valType:\"flaglist\",flags:[\"boxes\",\"points\"],dflt:\"boxes+points\",editType:\"style\"}}},{\"../../components/color/attributes\":365,\"../../lib/extend\":493,\"../../plots/cartesian/axis_format_attributes\":557,\"../../plots/template_attributes\":633,\"../bar/attributes\":648,\"../scatter/attributes\":927}],674:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../../plots/cartesian/axes\"),a=t(\"../../plots/cartesian/align_period\"),o=t(\"../../lib\"),s=t(\"../../constants/numerical\").BADNUM,l=o._;e.exports=function(t,e){var r,c,y,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?(y=k,x=\"x\",b=A,_=\"y\",w=!!e.yperiodalignment):(y=A,x=\"y\",b=k,_=\"x\",w=!!e.xperiodalignment);var E,L,C,P,I,O,z=function(t,e,r,i){var s,l=e+\"0\"in t,c=\"d\"+e in t;if(e in t||l&&c){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 f=\"multicategory\"===r.type?r.r2c_just_indices(s):r.d2c(s,0,t[e+\"calendar\"]),h=t._length,p=new Array(h),d=0;d<h;d++)p[d]=f;return[p]}(e,_,b,T[S]),D=z[0],R=z[1],F=o.distinctVals(D,b),B=F.vals,N=F.minDiff/2,j=\"all\"===(e.boxpoints||e.points)?o.identity:function(t){return t.v<E.lf||t.v>E.uf};if(e._hasPreCompStats){var U=e[x],V=function(t){return y.d2c((e[t]||[])[r])},H=1/0,q=-1/0;for(r=0;r<e._length;r++){var G=D[r];if(n(G)){if((E={}).pos=E[_]=G,w&&R&&(E.orig_p=R[r]),E.q1=V(\"q1\"),E.med=V(\"median\"),E.q3=V(\"q3\"),L=[],U&&o.isArrayOrTypedArray(U[r]))for(c=0;c<U[r].length;c++)(O=y.d2c(U[r][c]))!==s&&(u(I={v:O,i:[r,c]},e,[r,c]),L.push(I));if(E.pts=L.sort(f),P=(C=E[x]=L.map(h)).length,E.med!==s&&E.q1!==s&&E.q3!==s&&E.med>=E.q1&&E.q3>=E.med){var Y=V(\"lowerfence\");E.lf=Y!==s&&Y<=E.q1?Y:p(E,C,P);var W=V(\"upperfence\");E.uf=W!==s&&W>=E.q3?W: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=m(E),E.uo=g(E);var J=V(\"notchspan\");J=J!==s&&J>0?J:v(E,P),E.ln=E.med-J,E.un=E.med+J;var K=E.lf,Q=E.uf;e.boxpoints&&C.length&&(K=Math.min(K,C[0]),Q=Math.max(Q,C[P-1])),e.notched&&(K=Math.min(K,E.ln),Q=Math.max(Q,E.un)),E.min=K,E.max=Q}else{var $;o.warn([\"Invalid input - make sure that q1 <= median <= q3\",\"q1 = \"+E.q1,\"median = \"+E.med,\"q3 = \"+E.q3].join(\"\\n\")),$=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=$,E.q1=E.q3=$,E.lf=E.uf=$,E.mean=E.sd=$,E.ln=E.un=$,E.min=E.max=$}H=Math.min(H,E.min),q=Math.max(q,E.max),E.pts2=L.filter(j),M.push(E)}}e._extremes[y._id]=i.findExtremes(y,[H,q],{padded:!0})}else{var tt=y.makeCalcdata(e,x),et=function(t,e){for(var r=t.length,n=new Array(r+1),i=0;i<r;i++)n[i]=t[i]-e;return n[r]=t[r-1]+e,n}(B,N),rt=B.length,nt=function(t){for(var e=new Array(t),r=0;r<t;r++)e[r]=[];return e}(rt);for(r=0;r<e._length;r++)if(O=tt[r],n(O)){var it=o.findBin(D[r],et);it>=0&&it<rt&&(u(I={v:O,i:r},e,r),nt[it].push(I))}var at=1/0,ot=-1/0,st=e.quartilemethod,lt=\"exclusive\"===st,ct=\"inclusive\"===st;for(r=0;r<rt;r++)if(nt[r].length>0){var ut,ft;if((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.med=o.interp(C,.5),P%2&&(lt||ct))lt?(ut=C.slice(0,P/2),ft=C.slice(P/2+1)):ct&&(ut=C.slice(0,P/2+1),ft=C.slice(P/2)),E.q1=o.interp(ut,.5),E.q3=o.interp(ft,.5);else 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=m(E),E.uo=g(E);var ht=v(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._extremes[y._id]=i.findExtremes(y,e.notched?tt.concat([at,ot]):tt,{padded:!0})}return function(t,e){if(o.isArrayOrTypedArray(e.selectedpoints))for(var r=0;r<t.length;r++){for(var n=t[r].pts||[],i={},a=0;a<n.length;a++)i[n[a].i]=a;o.tagSelected(n,e,i)}}(M,e),M.length>0?(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?l(t,\"mean \\xb1 \\u03c3:\"):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 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 m(t){return 4*t.q1-3*t.q3}function g(t){return 4*t.q3-3*t.q1}function v(t,e){return 0===e?0:1.57*(t.q3-t.q1)/Math.sqrt(e)}},{\"../../constants/numerical\":479,\"../../lib\":503,\"../../plots/cartesian/align_period\":551,\"../../plots/cartesian/axes\":554,\"fast-isnumeric\":190}],675:[function(t,e,r){\"use strict\";var n=t(\"../../plots/cartesian/axes\"),i=t(\"../../lib\"),a=t(\"../../plots/cartesian/constraints\").getAxisGroup,o=[\"v\",\"h\"];function s(t,e,r,o){var s,l,c,u=e.calcdata,f=e._fullLayout,h=o._id,p=h.charAt(0),d=[],m=0;for(s=0;s<r.length;s++)for(c=u[r[s]],l=0;l<c.length;l++)d.push(o.c2l(c[l].pos,!0)),m+=(c[l].pts2||[]).length;if(d.length){var g=i.distinctVals(d);\"category\"!==o.type&&\"multicategory\"!==o.type||(g.minDiff=1);var v=g.minDiff/2;n.minDtick(o,g.minDiff,g.vals[0],!0);var y=f[\"violin\"===t?\"_numViolins\":\"_numBoxes\"],x=\"group\"===f[t+\"mode\"]&&y>1,b=1-f[t+\"gap\"],_=1-f[t+\"groupgap\"];for(s=0;s<r.length;s++){var w,T,k,A,M,S,E=(c=u[r[s]])[0].trace,L=c[0].t,C=E.width,P=E.side;if(C)w=T=A=C/2,k=0;else if(w=v,x){var I=a(f,o._id)+E.orientation,O=(f._alignmentOpts[I]||{})[E.alignmentgroup]||{},z=Object.keys(O.offsetGroups||{}).length,D=z||y;T=w*b*_/D,k=2*w*(((z?E._offsetIndex:L.num)+.5)/D-.5)*b,A=w*b/D}else T=w*b*_,k=0,A=w;L.dPos=w,L.bPos=k,L.bdPos=T,L.wHover=A;var R,F,B,N,j,U,V=k+T,H=Boolean(C);if(\"positive\"===P?(M=w*(C?1:.5),R=V,S=R=k):\"negative\"===P?(M=R=k,S=w*(C?1:.5),F=V):(M=S=w,R=F=V),(E.boxpoints||E.points)&&m>0){var q=E.pointpos,G=E.jitter,Y=E.marker.size/2,W=0;q+G>=0&&((W=V*(q+G))>M?(H=!0,j=Y,B=W):W>R&&(j=Y,B=M)),W<=M&&(B=M);var X=0;q-G<=0&&((X=-V*(q-G))>S?(H=!0,U=Y,N=X):X>F&&(U=Y,N=S)),X<=S&&(N=S)}else B=M,N=S;var Z=new Array(c.length);for(l=0;l<c.length;l++)Z[l]=c[l].pos;E._extremes[h]=n.findExtremes(o,Z,{padded:H,vpadminus:N,vpadplus:B,vpadLinearized:!0,ppadminus:{x:U,y:j}[p],ppadplus:{x:j,y:U}[p]})}}}e.exports={crossTraceCalc:function(t,e){for(var r=t.calcdata,n=e.xaxis,i=e.yaxis,a=0;a<o.length;a++){for(var l=o[a],c=\"h\"===l?i:n,u=[],f=0;f<r.length;f++){var h=r[f],p=h[0].t,d=h[0].trace;!0!==d.visible||\"box\"!==d.type&&\"candlestick\"!==d.type||p.empty||(d.orientation||\"v\")!==l||d.xaxis!==n._id||d.yaxis!==i._id||u.push(f)}s(\"box\",t,u,c)}},setPositionOffset:s}},{\"../../lib\":503,\"../../plots/cartesian/axes\":554,\"../../plots/cartesian/constraints\":562}],676:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../registry\"),a=t(\"../../components/color\"),o=t(\"../scatter/period_defaults\"),s=t(\"../bar/defaults\").handleGroupingDefaults,l=t(\"../../plots/cartesian/axis_autotype\"),c=t(\"./attributes\");function u(t,e,r,a){function o(t){var e=0;return t&&t.length&&(e+=1,n.isArrayOrTypedArray(t[0])&&t[0].length&&(e+=1)),e}function s(e){return n.validate(t[e],c[e])}var u,f=r(\"y\"),h=r(\"x\");if(\"box\"===e.type){var p=r(\"q1\"),d=r(\"median\"),m=r(\"q3\");e._hasPreCompStats=p&&p.length&&d&&d.length&&m&&m.length,u=Math.min(n.minRowLength(p),n.minRowLength(d),n.minRowLength(m))}var g,v,y=o(f),x=o(h),b=y&&n.minRowLength(f),_=x&&n.minRowLength(h),w=a.calendar,T={autotypenumbers:a.autotypenumbers};if(e._hasPreCompStats)switch(String(x)+String(y)){case\"00\":var k=s(\"x0\")||s(\"dx\");g=(s(\"y0\")||s(\"dy\"))&&!k?\"h\":\"v\",v=u;break;case\"10\":g=\"v\",v=Math.min(u,_);break;case\"20\":g=\"h\",v=Math.min(u,h.length);break;case\"01\":g=\"h\",v=Math.min(u,b);break;case\"02\":g=\"v\",v=Math.min(u,f.length);break;case\"12\":g=\"v\",v=Math.min(u,_,f.length);break;case\"21\":g=\"h\",v=Math.min(u,h.length,b);break;case\"11\":v=0;break;case\"22\":var A,M=!1;for(A=0;A<h.length;A++)if(\"category\"===l(h[A],w,T)){M=!0;break}if(M)g=\"v\",v=Math.min(u,_,f.length);else{for(A=0;A<f.length;A++)if(\"category\"===l(f[A],w,T)){M=!0;break}M?(g=\"h\",v=Math.min(u,h.length,b)):(g=\"v\",v=Math.min(u,_,f.length))}}else y>0?(g=\"v\",v=x>0?Math.min(_,b):Math.min(b)):x>0?(g=\"h\",v=Math.min(_)):v=0;if(v){e._length=v;var S=r(\"orientation\",g);e._hasPreCompStats?\"v\"===S&&0===x?(r(\"x0\",0),r(\"dx\",1)):\"h\"===S&&0===y&&(r(\"y0\",0),r(\"dy\",1)):\"v\"===S&&0===x?r(\"x0\"):\"h\"===S&&0===y&&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,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.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 f=r(\"hoveron\");\"all\"!==f&&-1===f.indexOf(\"points\")||r(\"hovertemplate\"),n.coerceSelectionMarkerOpacity(e,r)}e.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 h=!1;if(l){var p=s(\"mean\"),d=s(\"sd\");p&&p.length&&(h=!0,d&&d.length&&(h=\"sd\"))}s(\"boxmean\",h),s(\"whiskerwidth\"),s(\"width\"),s(\"quartilemethod\");var m=!1;if(l){var g=s(\"notchspan\");g&&g.length&&(m=!0)}else n.validate(t.notchwidth,c.notchwidth)&&(m=!0);s(\"notched\",m)&&s(\"notchwidth\"),f(t,e,s,{prefix:\"box\"})}},crossTraceDefaults:function(t,e){var r,i;function a(t){return n.coerce(i._input,i,c,t)}for(var o=0;o<t.length;o++){var l=(i=t[o]).type;\"box\"!==l&&\"violin\"!==l||(r=i._input,\"group\"===e[l+\"mode\"]&&s(r,i,e,a))}},handleSampleDefaults:u,handlePointsDefaults:f}},{\"../../components/color\":366,\"../../lib\":503,\"../../plots/cartesian/axis_autotype\":555,\"../../registry\":638,\"../bar/defaults\":652,\"../scatter/period_defaults\":947,\"./attributes\":673}],677:[function(t,e,r){\"use strict\";e.exports=function(t,e){return e.hoverOnBox&&(t.hoverOnBox=e.hoverOnBox),\"xVal\"in e&&(t.x=e.xVal),\"yVal\"in e&&(t.y=e.yVal),e.xa&&(t.xaxis=e.xa),e.ya&&(t.yaxis=e.ya),t}},{}],678:[function(t,e,r){\"use strict\";var n=t(\"../../plots/cartesian/axes\"),i=t(\"../../lib\"),a=t(\"../../components/fx\"),o=t(\"../../components/color\"),s=i.fillText;function l(t,e,r,s){var l,c,u,f,h,p,d,m,g,v,y,x,b,_,w=t.cd,T=t.xa,k=t.ya,A=w[0].trace,M=w[0].t,S=\"violin\"===A.type,E=[],L=M.bdPos,C=M.wHover,P=function(t){return u.c2l(t.pos)+M.bPos-u.c2l(p)};S&&\"both\"!==A.side?(\"positive\"===A.side&&(g=function(t){var e=P(t);return a.inbox(e,e+C,v)},x=L,b=0),\"negative\"===A.side&&(g=function(t){var e=P(t);return a.inbox(e-C,e,v)},x=0,b=L)):(g=function(t){var e=P(t);return a.inbox(e-C,e+C,v)},x=b=L),_=S?function(t){return a.inbox(t.span[0]-h,t.span[1]-h,v)}:function(t){return a.inbox(t.min-h,t.max-h,v)},\"h\"===A.orientation?(h=e,p=r,d=_,m=g,l=\"y\",u=k,c=\"x\",f=T):(h=r,p=e,d=g,m=_,l=\"x\",u=T,c=\"y\",f=k);var I=Math.min(1,L/Math.abs(u.r2c(u.range[1])-u.r2c(u.range[0])));function O(t){return(d(t)+m(t))/2}v=t.maxHoverDistance-I,y=t.maxSpikeDistance-I;var z=a.getDistanceFunction(s,d,m,O);if(a.getClosest(w,z,t),!1===t.index)return[];var D=w[t.index],R=A.line.color,F=(A.marker||{}).color;o.opacity(R)&&A.line.width?t.color=R:o.opacity(F)&&A.boxpoints?t.color=F:t.color=A.fillcolor,t[l+\"0\"]=u.c2p(D.pos+M.bPos-b,!0),t[l+\"1\"]=u.c2p(D.pos+M.bPos+x,!0),t[l+\"LabelVal\"]=void 0!==D.orig_p?D.orig_p:D.pos;var B=l+\"Spike\";t.spikeDistance=O(D)*y/v,t[B]=u.c2p(D.pos,!0);var N={},j=[\"med\",\"q1\",\"q3\",\"min\",\"max\"];(A.boxmean||(A.meanline||{}).visible)&&j.push(\"mean\"),(A.boxpoints||A.points)&&j.push(\"lf\",\"uf\");for(var U=0;U<j.length;U++){var V=j[U];if(V in D&&!(D[V]in N)){N[D[V]]=!0;var H=D[V],q=f.c2p(H,!0),G=i.extendFlat({},t);G.attr=V,G[c+\"0\"]=G[c+\"1\"]=q,G[c+\"LabelVal\"]=H,G[c+\"Label\"]=(M.labels?M.labels[V]+\" \":\"\")+n.hoverLabelText(f,H,A[c+\"hoverformat\"]),G.hoverOnBox=!0,\"mean\"===V&&\"sd\"in D&&\"sd\"===A.boxmean&&(G[c+\"err\"]=D.sd),t.name=\"\",t.spikeDistance=void 0,t[B]=void 0,G.hovertemplate=!1,E.push(G)}}return E}function c(t,e,r){for(var n,o,l,c=t.cd,u=t.xa,f=t.ya,h=c[0].trace,p=u.c2p(e),d=f.c2p(r),m=a.quadrature((function(t){var e=Math.max(3,t.mrc||0);return Math.max(Math.abs(u.c2p(t.x)-p)-e,1-3/e)}),(function(t){var e=Math.max(3,t.mrc||0);return Math.max(Math.abs(f.c2p(t.y)-d)-e,1-3/e)})),g=!1,v=0;v<c.length;v++){o=c[v];for(var y=0;y<(o.pts||[]).length;y++){var x=m(l=o.pts[y]);x<=t.distance&&(t.distance=x,g=[v,y])}}if(!g)return!1;l=(o=c[g[0]]).pts[g[1]];var b=u.c2p(l.x,!0),_=f.c2p(l.y,!0),w=l.mrc||1;n=i.extendFlat({},t,{index:l.i,color:(h.marker||{}).color,name:h.name,x0:b-w,x1:b+w,y0:_-w,y1:_+w,spikeDistance:t.distance,hovertemplate:h.hovertemplate});var T,k=o.orig_p,A=void 0!==k?k:o.pos;return\"h\"===h.orientation?(T=f,n.xLabelVal=l.x,n.yLabelVal=A):(T=u,n.xLabelVal=A,n.yLabelVal=l.y),n[T._id.charAt(0)+\"Spike\"]=T.c2p(o.pos,!0),s(l,h,n),n}e.exports={hoverPoints:function(t,e,r,n){var i,a=t.cd[0].trace.hoveron,o=[];return-1!==a.indexOf(\"boxes\")&&(o=o.concat(l(t,e,r,n))),-1!==a.indexOf(\"points\")&&(i=c(t,e,r)),\"closest\"===n?i?[i]:o:i?(o.push(i),o):o},hoverOnBoxes:l,hoverOnPoints:c}},{\"../../components/color\":366,\"../../components/fx\":406,\"../../lib\":503,\"../../plots/cartesian/axes\":554}],679:[function(t,e,r){\"use strict\";e.exports={attributes:t(\"./attributes\"),layoutAttributes:t(\"./layout_attributes\"),supplyDefaults:t(\"./defaults\").supplyDefaults,crossTraceDefaults:t(\"./defaults\").crossTraceDefaults,supplyLayoutDefaults:t(\"./layout_defaults\").supplyLayoutDefaults,calc:t(\"./calc\"),crossTraceCalc:t(\"./cross_trace_calc\").crossTraceCalc,plot:t(\"./plot\").plot,style:t(\"./style\").style,styleOnSelect:t(\"./style\").styleOnSelect,hoverPoints:t(\"./hover\").hoverPoints,eventData:t(\"./event_data\"),selectPoints:t(\"./select\"),moduleType:\"trace\",name:\"box\",basePlotModule:t(\"../../plots/cartesian\"),categories:[\"cartesian\",\"svg\",\"symbols\",\"oriented\",\"box-violin\",\"showLegend\",\"boxLayout\",\"zoomScale\"],meta:{}}},{\"../../plots/cartesian\":568,\"./attributes\":673,\"./calc\":674,\"./cross_trace_calc\":675,\"./defaults\":676,\"./event_data\":677,\"./hover\":678,\"./layout_attributes\":680,\"./layout_defaults\":681,\"./plot\":682,\"./select\":683,\"./style\":684}],680:[function(t,e,r){\"use strict\";e.exports={boxmode:{valType:\"enumerated\",values:[\"group\",\"overlay\"],dflt:\"overlay\",editType:\"calc\"},boxgap:{valType:\"number\",min:0,max:1,dflt:.3,editType:\"calc\"},boxgroupgap:{valType:\"number\",min:0,max:1,dflt:.3,editType:\"calc\"}}},{}],681:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),i=t(\"../../lib\"),a=t(\"./layout_attributes\");function o(t,e,r,i,a){for(var o=a+\"Layout\",s=!1,l=0;l<r.length;l++){var c=r[l];if(n.traceIs(c,o)){s=!0;break}}s&&(i(a+\"mode\"),i(a+\"gap\"),i(a+\"groupgap\"))}e.exports={supplyLayoutDefaults:function(t,e,r){o(0,0,r,(function(r,n){return i.coerce(t,e,a,r,n)}),\"box\")},_supply:o}},{\"../../lib\":503,\"../../registry\":638,\"./layout_attributes\":680}],682:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../../lib\"),a=t(\"../../components/drawing\");function o(t,e,r,a){var o,s,l=\"h\"===r.orientation,c=e.val,u=e.pos,f=!!u.rangebreaks,h=a.bPos,p=a.wdPos||0,d=a.bPosPxOffset||0,m=r.whiskerwidth||0,g=r.notched||!1,v=g?1-2*r.notchwidth:1;Array.isArray(a.bdPos)?(o=a.bdPos[0],s=a.bdPos[1]):(o=a.bdPos,s=a.bdPos);var y=t.selectAll(\"path.box\").data(\"violin\"!==r.type||r.box.visible?i.identity:[]);y.enter().append(\"path\").style(\"vector-effect\",\"non-scaling-stroke\").attr(\"class\",\"box\"),y.exit().remove(),y.each((function(t){if(t.empty)return\"M0,0Z\";var e=u.c2l(t.pos+h,!0),a=u.l2p(e-o)+d,y=u.l2p(e+s)+d,x=f?(a+y)/2:u.l2p(e)+d,b=r.whiskerwidth,_=f?a*b+(1-b)*x:u.l2p(e-p)+d,w=f?y*b+(1-b)*x:u.l2p(e+p)+d,T=u.l2p(e-o*v)+d,k=u.l2p(e+s*v)+d,A=c.c2p(t.q1,!0),M=c.c2p(t.q3,!0),S=i.constrain(c.c2p(t.med,!0),Math.min(A,M)+1,Math.max(A,M)-1),E=void 0===t.lf||!1===r.boxpoints,L=c.c2p(E?t.min:t.lf,!0),C=c.c2p(E?t.max:t.uf,!0),P=c.c2p(t.ln,!0),I=c.c2p(t.un,!0);l?n.select(this).attr(\"d\",\"M\"+S+\",\"+T+\"V\"+k+\"M\"+A+\",\"+a+\"V\"+y+(g?\"H\"+P+\"L\"+S+\",\"+k+\"L\"+I+\",\"+y:\"\")+\"H\"+M+\"V\"+a+(g?\"H\"+I+\"L\"+S+\",\"+T+\"L\"+P+\",\"+a:\"\")+\"ZM\"+A+\",\"+x+\"H\"+L+\"M\"+M+\",\"+x+\"H\"+C+(0===m?\"\":\"M\"+L+\",\"+_+\"V\"+w+\"M\"+C+\",\"+_+\"V\"+w)):n.select(this).attr(\"d\",\"M\"+T+\",\"+S+\"H\"+k+\"M\"+a+\",\"+A+\"H\"+y+(g?\"V\"+P+\"L\"+k+\",\"+S+\"L\"+y+\",\"+I:\"\")+\"V\"+M+\"H\"+a+(g?\"V\"+I+\"L\"+T+\",\"+S+\"L\"+a+\",\"+P:\"\")+\"ZM\"+x+\",\"+A+\"V\"+L+\"M\"+x+\",\"+M+\"V\"+C+(0===m?\"\":\"M\"+_+\",\"+L+\"H\"+w+\"M\"+_+\",\"+C+\"H\"+w))}))}function s(t,e,r,n){var o=e.x,s=e.y,l=n.bdPos,c=n.bPos,u=r.boxpoints||r.points;i.seedPseudoRandom();var f=t.selectAll(\"g.points\").data(u?function(t){return t.forEach((function(t){t.t=n,t.trace=r})),t}:[]);f.enter().append(\"g\").attr(\"class\",\"points\"),f.exit().remove();var h=f.selectAll(\"path\").data((function(t){var e,n,a=t.pts2,o=Math.max((t.max-t.min)/10,t.q3-t.q1),s=1e-9*o,f=.01*o,h=[],p=0;if(r.jitter){if(0===o)for(p=1,h=new Array(a.length),e=0;e<a.length;e++)h[e]=1;else for(e=0;e<a.length;e++){var d=Math.max(0,e-5),m=a[d].v,g=Math.min(a.length-1,e+5),v=a[g].v;\"all\"!==u&&(a[e].v<t.lf?v=Math.min(v,t.lf):m=Math.max(m,t.uf));var y=Math.sqrt(f*(g-d)/(v-m+s))||0;y=i.constrain(Math.abs(y),0,1),h.push(y),p=Math.max(y,p)}n=2*r.jitter/(p||1)}for(e=0;e<a.length;e++){var x=a[e],b=x.v,_=r.jitter?n*h[e]*(i.pseudoRandom()-.5):0,w=t.pos+c+l*(r.pointpos+_);\"h\"===r.orientation?(x.y=w,x.x=b):(x.x=w,x.y=b),\"suspectedoutliers\"===u&&b<t.uo&&b>t.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,c=e.pos,u=!!c.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=c.c2l(t.pos+f,!0),i=c.l2p(e-o)+h,a=c.l2p(e+s)+h,d=u?(i+a)/2:c.l2p(e)+h,m=l.c2p(t.mean,!0),g=l.c2p(t.mean-t.sd,!0),v=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\"+v+\",\"+d+\"Z\":\"\")):n.select(this).attr(\"d\",\"M\"+i+\",\"+m+\"H\"+a+(\"sd\"===p?\"m0,0L\"+d+\",\"+g+\"L\"+i+\",\"+m+\"L\"+d+\",\"+v+\"Z\":\"\"))}))}e.exports={plot:function(t,e,r,a){var c=e.xaxis,u=e.yaxis;i.makeTraceGroups(a,r,\"trace boxes\").each((function(t){var e,r,i=n.select(this),a=t[0],f=a.t,h=a.trace;(f.wdPos=f.bdPos*h.whiskerwidth,!0!==h.visible||f.empty)?i.remove():(\"h\"===h.orientation?(e=u,r=c):(e=c,r=u),o(i,{pos:e,val:r},h,f),s(i,{x:c,y:u},h,f),l(i,{pos:e,val:r},h,f))}))},plotBoxAndWhiskers:o,plotPoints:s,plotBoxMean:l}},{\"../../components/drawing\":388,\"../../lib\":503,\"@plotly/d3\":58}],683:[function(t,e,r){\"use strict\";e.exports=function(t,e){var r,n,i=t.cd,a=t.xaxis,o=t.yaxis,s=[];if(!1===e)for(r=0;r<i.length;r++)for(n=0;n<(i[r].pts||[]).length;n++)i[r].pts[n].selected=0;else for(r=0;r<i.length;r++)for(n=0;n<(i[r].pts||[]).length;n++){var l=i[r].pts[n],c=a.c2p(l.x),u=o.c2p(l.y);e.contains([c,u],null,l.i,t)?(s.push({pointNumber:l.i,x:a.c2d(l.x),y:o.c2d(l.y)}),l.selected=1):l.selected=0}return s}},{}],684:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../../components/color\"),a=t(\"../../components/drawing\");e.exports={style:function(t,e,r){var o=r||n.select(t).selectAll(\"g.trace.boxes\");o.style(\"opacity\",(function(t){return t[0].trace.opacity})),o.each((function(e){var r=n.select(this),o=e[0].trace,s=o.line.width;function l(t,e,r,n){t.style(\"stroke-width\",e+\"px\").call(i.stroke,r).call(i.fill,n)}var c=r.selectAll(\"path.box\");if(\"candlestick\"===o.type)c.each((function(t){if(!t.empty){var e=n.select(this),r=o[t.dir];l(e,r.line.width,r.line.color,r.fillcolor),e.style(\"opacity\",o.selectedpoints&&!t.selected?.3:1)}}));else{l(c,s,o.line.color,o.fillcolor),r.selectAll(\"path.mean\").style({\"stroke-width\":s,\"stroke-dasharray\":2*s+\"px,\"+s+\"px\"}).call(i.stroke,o.line.color);var u=r.selectAll(\"path.point\");a.pointStyle(u,o,t)}}))},styleOnSelect:function(t,e,r){var n=e[0].trace,i=r.selectAll(\"path.point\");n.selectedpoints?a.selectedPointStyle(i,n):a.pointStyle(i,n,t)}}},{\"../../components/color\":366,\"../../components/drawing\":388,\"@plotly/d3\":58}],685:[function(t,e,r){\"use strict\";var n=t(\"../../lib\").extendFlat,i=t(\"../../plots/cartesian/axis_format_attributes\").axisHoverFormat,a=t(\"../ohlc/attributes\"),o=t(\"../box/attributes\");function s(t){return{line:{color:n({},o.line.color,{dflt:t}),width:o.line.width,editType:\"style\"},fillcolor:o.fillcolor,editType:\"style\"}}e.exports={xperiod:a.xperiod,xperiod0:a.xperiod0,xperiodalignment:a.xperiodalignment,xhoverformat:i(\"x\"),yhoverformat:i(\"y\"),x:a.x,open:a.open,high:a.high,low:a.low,close:a.close,line:{width:n({},o.line.width,{}),editType:\"style\"},increasing:s(a.increasing.line.color.dflt),decreasing:s(a.decreasing.line.color.dflt),text:a.text,hovertext:a.hovertext,whiskerwidth:n({},o.whiskerwidth,{dflt:0}),hoverlabel:a.hoverlabel}},{\"../../lib\":503,\"../../plots/cartesian/axis_format_attributes\":557,\"../box/attributes\":673,\"../ohlc/attributes\":872}],686:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../plots/cartesian/axes\"),a=t(\"../../plots/cartesian/align_period\"),o=t(\"../ohlc/calc\").calcCommon;function s(t,e,r,n){return{min:r,q1:Math.min(t,n),med:n,q3:Math.max(t,n),max:e}}e.exports=function(t,e){var r=t._fullLayout,l=i.getFromId(t,e.xaxis),c=i.getFromId(t,e.yaxis),u=l.makeCalcdata(e,\"x\"),f=a(e,l,\"x\",u).vals,h=o(t,e,u,f,c,s);return h.length?(n.extendFlat(h[0].t,{num:r._numBoxes,dPos:n.distinctVals(f).minDiff/2,posLetter:\"x\",valLetter:\"y\"}),r._numBoxes++,h):[{t:{empty:!0}}]}},{\"../../lib\":503,\"../../plots/cartesian/align_period\":551,\"../../plots/cartesian/axes\":554,\"../ohlc/calc\":873}],687:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../components/color\"),a=t(\"../ohlc/ohlc_defaults\"),o=t(\"../scatter/period_defaults\"),s=t(\"./attributes\");function l(t,e,r,n){var a=r(n+\".line.color\");r(n+\".line.width\",e.line.width),r(n+\".fillcolor\",i.addOpacity(a,.5))}e.exports=function(t,e,r,i){function c(r,i){return n.coerce(t,e,s,r,i)}a(t,e,c,i)?(o(t,e,i,c,{x:!0}),c(\"xhoverformat\"),c(\"yhoverformat\"),c(\"line.width\"),l(t,e,c,\"increasing\"),l(t,e,c,\"decreasing\"),c(\"text\"),c(\"hovertext\"),c(\"whiskerwidth\"),i._requestRangeslider[e.xaxis]=!0):e.visible=!1}},{\"../../components/color\":366,\"../../lib\":503,\"../ohlc/ohlc_defaults\":877,\"../scatter/period_defaults\":947,\"./attributes\":685}],688:[function(t,e,r){\"use strict\";e.exports={moduleType:\"trace\",name:\"candlestick\",basePlotModule:t(\"../../plots/cartesian\"),categories:[\"cartesian\",\"svg\",\"showLegend\",\"candlestick\",\"boxLayout\"],meta:{},attributes:t(\"./attributes\"),layoutAttributes:t(\"../box/layout_attributes\"),supplyLayoutDefaults:t(\"../box/layout_defaults\").supplyLayoutDefaults,crossTraceCalc:t(\"../box/cross_trace_calc\").crossTraceCalc,supplyDefaults:t(\"./defaults\"),calc:t(\"./calc\"),plot:t(\"../box/plot\").plot,layerName:\"boxlayer\",style:t(\"../box/style\").style,hoverPoints:t(\"../ohlc/hover\").hoverPoints,selectPoints:t(\"../ohlc/select\")}},{\"../../plots/cartesian\":568,\"../box/cross_trace_calc\":675,\"../box/layout_attributes\":680,\"../box/layout_defaults\":681,\"../box/plot\":682,\"../box/style\":684,\"../ohlc/hover\":875,\"../ohlc/select\":879,\"./attributes\":685,\"./calc\":686,\"./defaults\":687}],689:[function(t,e,r){\"use strict\";var n=t(\"./axis_defaults\"),i=t(\"../../plot_api/plot_template\");e.exports=function(t,e,r,a,o){a(\"a\")||(a(\"da\"),a(\"a0\")),a(\"b\")||(a(\"db\"),a(\"b0\")),function(t,e,r,a){[\"aaxis\",\"baxis\"].forEach((function(o){var s=o.charAt(0),l=t[o]||{},c=i.newContainer(e,o),u={noTicklabelstep:!0,tickfont:\"x\",id:s+\"axis\",letter:s,font:e.font,name:o,data:t[s],calendar:e.calendar,dfltColor:a,bgColor:r.paper_bgcolor,autotypenumbersDflt:r.autotypenumbers,fullLayout:r};n(l,c,u),c._categories=c._categories||[],t[o]||\"-\"===l.type||(t[o]={type:l.type})}))}(t,e,r,o)}},{\"../../plot_api/plot_template\":543,\"./axis_defaults\":694}],690:[function(t,e,r){\"use strict\";var n=t(\"../../lib\").isArrayOrTypedArray;e.exports=function(t){return function t(e,r){if(!n(e)||r>=10)return null;for(var i=1/0,a=-1/0,o=e.length,s=0;s<o;s++){var l=e[s];if(n(l)){var c=t(l,r+1);c&&(i=Math.min(c[0],i),a=Math.max(c[1],a))}else i=Math.min(l,i),a=Math.max(l,a)}return[i,a]}(t,0)}},{\"../../lib\":503}],691:[function(t,e,r){\"use strict\";var n=t(\"../../plots/font_attributes\"),i=t(\"./axis_attributes\"),a=t(\"../../components/color/attributes\"),o=n({editType:\"calc\"});o.family.dflt='\"Open Sans\", verdana, arial, sans-serif',o.size.dflt=12,o.color.dflt=a.defaultLine,e.exports={carpet:{valType:\"string\",editType:\"calc\"},x:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},y:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},a:{valType:\"data_array\",editType:\"calc\"},a0:{valType:\"number\",dflt:0,editType:\"calc\"},da:{valType:\"number\",dflt:1,editType:\"calc\"},b:{valType:\"data_array\",editType:\"calc\"},b0:{valType:\"number\",dflt:0,editType:\"calc\"},db:{valType:\"number\",dflt:1,editType:\"calc\"},cheaterslope:{valType:\"number\",dflt:1,editType:\"calc\"},aaxis:i,baxis:i,font:o,color:{valType:\"color\",dflt:a.defaultLine,editType:\"plot\"},transforms:void 0}},{\"../../components/color/attributes\":365,\"../../plots/font_attributes\":585,\"./axis_attributes\":693}],692:[function(t,e,r){\"use strict\";var n=t(\"../../lib\").isArrayOrTypedArray;e.exports=function(t,e,r,i){var a,o,s,l,c,u,f,h,p,d,m,g,v,y=n(r)?\"a\":\"b\",x=(\"a\"===y?t.aaxis:t.baxis).smoothing,b=\"a\"===y?t.a2i:t.b2j,_=\"a\"===y?r:i,w=\"a\"===y?i:r,T=\"a\"===y?e.a.length:e.b.length,k=\"a\"===y?e.b.length:e.a.length,A=Math.floor(\"a\"===y?t.b2j(w):t.a2i(w)),M=\"a\"===y?function(e){return t.evalxy([],e,A)}:function(e){return t.evalxy([],A,e)};x&&(s=Math.max(0,Math.min(k-2,A)),l=A-s,o=\"a\"===y?function(e,r){return t.dxydi([],e,s,r,l)}:function(e,r){return t.dxydj([],s,e,l,r)});var S=b(_[0]),E=b(_[1]),L=S<E?1:-1,C=1e-8*(E-S),P=L>0?Math.floor:Math.ceil,I=L>0?Math.ceil:Math.floor,O=L>0?Math.min:Math.max,z=L>0?Math.max:Math.min,D=P(S+C),R=I(E-C),F=[[f=M(S)]];for(a=D;a*L<R*L;a+=L)c=[],m=z(S,a),v=(g=O(E,a+L))-m,u=Math.max(0,Math.min(T-2,Math.floor(.5*(m+g)))),h=M(g),x&&(p=o(u,m-u),d=o(u,g-u),c.push([f[0]+p[0]/3*v,f[1]+p[1]/3*v]),c.push([h[0]-d[0]/3*v,h[1]-d[1]/3*v])),c.push(h),F.push(c),f=h;return F}},{\"../../lib\":503}],693:[function(t,e,r){\"use strict\";var n=t(\"../../plots/font_attributes\"),i=t(\"../../components/color/attributes\"),a=t(\"../../plots/cartesian/layout_attributes\"),o=t(\"../../plots/cartesian/axis_format_attributes\").descriptionWithDates,s=t(\"../../plot_api/edit_types\").overrideAll,l=t(\"../../components/drawing/attributes\").dash,c=t(\"../../lib/extend\").extendFlat;e.exports={color:{valType:\"color\",editType:\"calc\"},smoothing:{valType:\"number\",dflt:1,min:0,max:1.3,editType:\"calc\"},title:{text:{valType:\"string\",dflt:\"\",editType:\"calc\"},font:n({editType:\"calc\"}),offset:{valType:\"number\",dflt:10,editType:\"calc\"},editType:\"calc\"},type:{valType:\"enumerated\",values:[\"-\",\"linear\",\"date\",\"category\"],dflt:\"-\",editType:\"calc\"},autotypenumbers:a.autotypenumbers,autorange:{valType:\"enumerated\",values:[!0,!1,\"reversed\"],dflt:!0,editType:\"calc\"},rangemode:{valType:\"enumerated\",values:[\"normal\",\"tozero\",\"nonnegative\"],dflt:\"normal\",editType:\"calc\"},range:{valType:\"info_array\",editType:\"calc\",items:[{valType:\"any\",editType:\"calc\"},{valType:\"any\",editType:\"calc\"}]},fixedrange:{valType:\"boolean\",dflt:!1,editType:\"calc\"},cheatertype:{valType:\"enumerated\",values:[\"index\",\"value\"],dflt:\"value\",editType:\"calc\"},tickmode:{valType:\"enumerated\",values:[\"linear\",\"array\"],dflt:\"array\",editType:\"calc\"},nticks:{valType:\"integer\",min:0,dflt:0,editType:\"calc\"},tickvals:{valType:\"data_array\",editType:\"calc\"},ticktext:{valType:\"data_array\",editType:\"calc\"},showticklabels:{valType:\"enumerated\",values:[\"start\",\"end\",\"both\",\"none\"],dflt:\"start\",editType:\"calc\"},tickfont:n({editType:\"calc\"}),tickangle:{valType:\"angle\",dflt:\"auto\",editType:\"calc\"},tickprefix:{valType:\"string\",dflt:\"\",editType:\"calc\"},showtickprefix:{valType:\"enumerated\",values:[\"all\",\"first\",\"last\",\"none\"],dflt:\"all\",editType:\"calc\"},ticksuffix:{valType:\"string\",dflt:\"\",editType:\"calc\"},showticksuffix:{valType:\"enumerated\",values:[\"all\",\"first\",\"last\",\"none\"],dflt:\"all\",editType:\"calc\"},showexponent:{valType:\"enumerated\",values:[\"all\",\"first\",\"last\",\"none\"],dflt:\"all\",editType:\"calc\"},exponentformat:{valType:\"enumerated\",values:[\"none\",\"e\",\"E\",\"power\",\"SI\",\"B\"],dflt:\"B\",editType:\"calc\"},minexponent:{valType:\"number\",dflt:3,min:0,editType:\"calc\"},separatethousands:{valType:\"boolean\",dflt:!1,editType:\"calc\"},tickformat:{valType:\"string\",dflt:\"\",editType:\"calc\",description:o(\"tick label\")},tickformatstops:s(a.tickformatstops,\"calc\",\"from-root\"),categoryorder:{valType:\"enumerated\",values:[\"trace\",\"category ascending\",\"category descending\",\"array\"],dflt:\"trace\",editType:\"calc\"},categoryarray:{valType:\"data_array\",editType:\"calc\"},labelpadding:{valType:\"integer\",dflt:10,editType:\"calc\"},labelprefix:{valType:\"string\",editType:\"calc\"},labelsuffix:{valType:\"string\",dflt:\"\",editType:\"calc\"},showline:{valType:\"boolean\",dflt:!1,editType:\"calc\"},linecolor:{valType:\"color\",dflt:i.defaultLine,editType:\"calc\"},linewidth:{valType:\"number\",min:0,dflt:1,editType:\"calc\"},gridcolor:{valType:\"color\",editType:\"calc\"},gridwidth:{valType:\"number\",min:0,dflt:1,editType:\"calc\"},griddash:c({},l,{editType:\"calc\"}),showgrid:{valType:\"boolean\",dflt:!0,editType:\"calc\"},minorgridcount:{valType:\"integer\",min:0,dflt:0,editType:\"calc\"},minorgridwidth:{valType:\"number\",min:0,dflt:1,editType:\"calc\"},minorgriddash:c({},l,{editType:\"calc\"}),minorgridcolor:{valType:\"color\",dflt:i.lightLine,editType:\"calc\"},startline:{valType:\"boolean\",editType:\"calc\"},startlinecolor:{valType:\"color\",editType:\"calc\"},startlinewidth:{valType:\"number\",dflt:1,editType:\"calc\"},endline:{valType:\"boolean\",editType:\"calc\"},endlinewidth:{valType:\"number\",dflt:1,editType:\"calc\"},endlinecolor:{valType:\"color\",editType:\"calc\"},tick0:{valType:\"number\",min:0,dflt:0,editType:\"calc\"},dtick:{valType:\"number\",min:0,dflt:1,editType:\"calc\"},arraytick0:{valType:\"integer\",min:0,dflt:0,editType:\"calc\"},arraydtick:{valType:\"integer\",min:1,dflt:1,editType:\"calc\"},_deprecated:{title:{valType:\"string\",editType:\"calc\"},titlefont:n({editType:\"calc\"}),titleoffset:{valType:\"number\",dflt:10,editType:\"calc\"}},editType:\"calc\"}},{\"../../components/color/attributes\":365,\"../../components/drawing/attributes\":387,\"../../lib/extend\":493,\"../../plot_api/edit_types\":536,\"../../plots/cartesian/axis_format_attributes\":557,\"../../plots/cartesian/layout_attributes\":569,\"../../plots/font_attributes\":585}],694:[function(t,e,r){\"use strict\";var n=t(\"./attributes\"),i=t(\"../../components/color\").addOpacity,a=t(\"../../registry\"),o=t(\"../../lib\"),s=t(\"../../plots/cartesian/tick_value_defaults\"),l=t(\"../../plots/cartesian/tick_label_defaults\"),c=t(\"../../plots/cartesian/prefix_suffix_defaults\"),u=t(\"../../plots/cartesian/category_order_defaults\"),f=t(\"../../plots/cartesian/set_convert\"),h=t(\"../../plots/cartesian/axis_autotype\");e.exports=function(t,e,r){var p=r.letter,d=r.font||{},m=n[p+\"axis\"];function g(r,n){return o.coerce(t,e,m,r,n)}function v(r,n){return o.coerce2(t,e,m,r,n)}r.name&&(e._name=r.name,e._id=r.name),g(\"autotypenumbers\",r.autotypenumbersDflt);var y=g(\"type\");(\"-\"===y&&(r.data&&function(t,e){if(\"-\"!==t.type)return;var r=t._id.charAt(0),n=t[r+\"calendar\"];t.type=h(e,n,{autotypenumbers:t.autotypenumbers})}(e,r.data),\"-\"===e.type?e.type=\"linear\":y=t.type=e.type),g(\"smoothing\"),g(\"cheatertype\"),g(\"showticklabels\"),g(\"labelprefix\",p+\" = \"),g(\"labelsuffix\"),g(\"showtickprefix\"),g(\"showticksuffix\"),g(\"separatethousands\"),g(\"tickformat\"),g(\"exponentformat\"),g(\"minexponent\"),g(\"showexponent\"),g(\"categoryorder\"),g(\"tickmode\"),g(\"tickvals\"),g(\"ticktext\"),g(\"tick0\"),g(\"dtick\"),\"array\"===e.tickmode&&(g(\"arraytick0\"),g(\"arraydtick\")),g(\"labelpadding\"),e._hovertitle=p,\"date\"===y)&&a.getComponentMethod(\"calendars\",\"handleDefaults\")(t,e,\"calendar\",r.calendar);f(e,r.fullLayout),e.c2p=o.identity;var x=g(\"color\",r.dfltColor),b=x===t.color?x:d.color;g(\"title.text\")&&(o.coerceFont(g,\"title.font\",{family:d.family,size:o.bigFont(d.size),color:b}),g(\"title.offset\")),g(\"tickangle\"),g(\"autorange\",!e.isValidRange(t.range))&&g(\"rangemode\"),g(\"range\"),e.cleanRange(),g(\"fixedrange\"),s(t,e,g,y),c(t,e,g,y,r),l(t,e,g,y,r),u(t,e,g,{data:r.data,dataAttr:p});var _=v(\"gridcolor\",i(x,.3)),w=v(\"gridwidth\"),T=v(\"griddash\"),k=g(\"showgrid\");k||(delete e.gridcolor,delete e.gridwidth,delete e.griddash);var A=v(\"startlinecolor\",x),M=v(\"startlinewidth\",w);g(\"startline\",e.showgrid||!!A||!!M)||(delete e.startlinecolor,delete e.startlinewidth);var S=v(\"endlinecolor\",x),E=v(\"endlinewidth\",w);return g(\"endline\",e.showgrid||!!S||!!E)||(delete e.endlinecolor,delete e.endlinewidth),k?(g(\"minorgridcount\"),g(\"minorgridwidth\",w),g(\"minorgriddash\",T),g(\"minorgridcolor\",i(_,.06)),e.minorgridcount||(delete e.minorgridwidth,delete e.minorgriddash,delete e.minorgridcolor)):(delete e.gridcolor,delete e.gridwidth,delete e.griddash),\"none\"===e.showticklabels&&(delete e.tickfont,delete e.tickangle,delete e.showexponent,delete e.exponentformat,delete e.minexponent,delete e.tickformat,delete e.showticksuffix,delete e.showtickprefix),e.showticksuffix||delete e.ticksuffix,e.showtickprefix||delete e.tickprefix,g(\"tickmode\"),e}},{\"../../components/color\":366,\"../../lib\":503,\"../../plots/cartesian/axis_autotype\":555,\"../../plots/cartesian/category_order_defaults\":559,\"../../plots/cartesian/prefix_suffix_defaults\":573,\"../../plots/cartesian/set_convert\":576,\"../../plots/cartesian/tick_label_defaults\":578,\"../../plots/cartesian/tick_value_defaults\":580,\"../../registry\":638,\"./attributes\":691}],695:[function(t,e,r){\"use strict\";var n=t(\"../../plots/cartesian/axes\"),i=t(\"../../lib\").isArray1D,a=t(\"./cheater_basis\"),o=t(\"./array_minmax\"),s=t(\"./calc_gridlines\"),l=t(\"./calc_labels\"),c=t(\"./calc_clippath\"),u=t(\"../heatmap/clean_2d_array\"),f=t(\"./smooth_fill_2d_array\"),h=t(\"../heatmap/convert_column_xyz\"),p=t(\"./set_convert\");e.exports=function(t,e){var r=n.getFromId(t,e.xaxis),d=n.getFromId(t,e.yaxis),m=e.aaxis,g=e.baxis,v=e.x,y=e.y,x=[];v&&i(v)&&x.push(\"x\"),y&&i(y)&&x.push(\"y\"),x.length&&h(e,m,g,\"a\",\"b\",x);var b=e._a=e._a||e.a,_=e._b=e._b||e.b;v=e._x||e.x,y=e._y||e.y;var w={};if(e._cheater){var T=\"index\"===m.cheatertype?b.length:b,k=\"index\"===g.cheatertype?_.length:_;v=a(T,k,e.cheaterslope)}e._x=v=u(v),e._y=y=u(y),f(v,b,_),f(y,b,_),p(e),e.setScale();var A=o(v),M=o(y),S=.5*(A[1]-A[0]),E=.5*(A[1]+A[0]),L=.5*(M[1]-M[0]),C=.5*(M[1]+M[0]);return A=[E-1.3*S,E+1.3*S],M=[C-1.3*L,C+1.3*L],e._extremes[r._id]=n.findExtremes(r,A,{padded:!0}),e._extremes[d._id]=n.findExtremes(d,M,{padded:!0}),s(e,\"a\",\"b\"),s(e,\"b\",\"a\"),l(e,m),l(e,g),w.clipsegments=c(e._xctrl,e._yctrl,m,g),w.x=v,w.y=y,w.a=b,w.b=_,[w]}},{\"../../lib\":503,\"../../plots/cartesian/axes\":554,\"../heatmap/clean_2d_array\":794,\"../heatmap/convert_column_xyz\":796,\"./array_minmax\":690,\"./calc_clippath\":696,\"./calc_gridlines\":697,\"./calc_labels\":698,\"./cheater_basis\":700,\"./set_convert\":713,\"./smooth_fill_2d_array\":714}],696:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,n){var i,a,o,s=[],l=!!r.smoothing,c=!!n.smoothing,u=t[0].length-1,f=t.length-1;for(i=0,a=[],o=[];i<=u;i++)a[i]=t[0][i],o[i]=e[0][i];for(s.push({x:a,y:o,bicubic:l}),i=0,a=[],o=[];i<=f;i++)a[i]=t[i][u],o[i]=e[i][u];for(s.push({x:a,y:o,bicubic:c}),i=u,a=[],o=[];i>=0;i--)a[u-i]=t[f][i],o[u-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:c}),s}},{}],697:[function(t,e,r){\"use strict\";var n=t(\"../../plots/cartesian/axes\"),i=t(\"../../lib/extend\").extendFlat;e.exports=function(t,e,r){var a,o,s,l,c,u,f,h,p,d,m,g,v,y,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 I=b.smoothing?3:1;function O(n){var i,a,o,s,l,c,u,f,p,d,m,g,v=[],y=[],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;i<C;i++)c=Math.min(C-2,i),u=i-c,f=t.evalxy([],i,a),A.smoothing&&i>0&&(p=t.dxydi([],i-1,o,0,s),v.push(l[0]+p[0]/3),y.push(l[1]+p[1]/3),d=t.dxydi([],i-1,o,1,s),v.push(f[0]-d[0]/3),y.push(f[1]-d[1]/3)),v.push(f[0]),y.push(f[1]),l=f;else for(i=t.a2i(n),c=Math.floor(Math.max(0,Math.min(C-2,i))),u=i-c,x.length=C,x.crossLength=P,x.xy=function(e){return t.evalxy([],i,e)},x.dxy=function(e,r){return t.dxydj([],c,e,u,r)},a=0;a<P;a++)o=Math.min(P-2,a),s=a-o,f=t.evalxy([],i,a),A.smoothing&&a>0&&(m=t.dxydj([],c,a-1,u,0),v.push(l[0]+m[0]/3),y.push(l[1]+m[1]/3),g=t.dxydj([],c,a-1,u,1),v.push(f[0]-g[0]/3),y.push(f[1]-g[1]/3)),v.push(f[0]),y.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=v,x.y=y,x.smoothing=A.smoothing,x}function z(n){var i,a,o,s,l,c=[],u=[],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;i<E;i++)c[i]=M[n*I][i],u[i]=S[n*I][i];else for(a=Math.max(0,Math.min(C-2,n)),s=Math.min(1,Math.max(0,n-a)),f.xy=function(e){return t.evalxy([],n,e)},f.dxy=function(e,r){return t.dxydj([],a,e,s,r)},i=0;i<L;i++)c[i]=M[i][n*I],u[i]=S[i][n*I];return f.axisLetter=e,f.axis=b,f.crossAxis=A,f.value=x[n],f.constvar=r,f.index=n,f.x=c,f.y=u,f.smoothing=A.smoothing,f}if(\"array\"===b.tickmode){for(l=5e-15,u=(c=[Math.floor((x.length-1-b.arraytick0)/b.arraydtick*(1+l)),Math.ceil(-b.arraytick0/b.arraydtick/(1+l))].sort((function(t,e){return t-e})))[0]-1,f=c[1]+1,h=u;h<f;h++)(o=b.arraytick0+b.arraydtick*h)<0||o>x.length-1||_.push(i(z(o),{color:b.gridcolor,width:b.gridwidth,dash:b.griddash}));for(h=u;h<f;h++)if(s=b.arraytick0+b.arraydtick*h,m=Math.min(s+b.arraydtick,x.length-1),!(s<0||s>x.length-1||m<0||m>x.length-1))for(g=x[s],v=x[m],a=0;a<b.minorgridcount;a++)(y=m-s)<=0||(d=g+(v-g)*(a+1)/(b.minorgridcount+1)*(b.arraydtick/y))<x[0]||d>x[x.length-1]||w.push(i(O(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,u=(c=[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=c[1],h=u;h<=f;h++)p=b.tick0+b.dtick*h,_.push(i(O(p),{color:b.gridcolor,width:b.gridwidth,dash:b.griddash}));for(h=u-1;h<f+1;h++)for(p=b.tick0+b.dtick*h,a=0;a<b.minorgridcount;a++)(d=p+b.dtick*(a+1)/(b.minorgridcount+1))<x[0]||d>x[x.length-1]||w.push(i(O(d),{color:b.minorgridcolor,width:b.minorgridwidth,dash:b.minorgriddash}));b.startline&&T.push(i(O(x[0]),{color:b.startlinecolor,width:b.startlinewidth})),b.endline&&T.push(i(O(x[x.length-1]),{color:b.endlinecolor,width:b.endlinewidth}))}}},{\"../../lib/extend\":493,\"../../plots/cartesian/axes\":554}],698:[function(t,e,r){\"use strict\";var n=t(\"../../plots/cartesian/axes\"),i=t(\"../../lib/extend\").extendFlat;e.exports=function(t,e){var r,a,o,s=e._labels=[],l=e._gridlines;for(r=0;r<l.length;r++)o=l[r],-1!==[\"start\",\"both\"].indexOf(e.showticklabels)&&(a=n.tickText(e,o.value),i(a,{prefix:void 0,suffix:void 0,endAnchor:!0,xy:o.xy(0),dxy:o.dxy(0,0),axis:o.axis,length:o.crossAxis.length,font:o.axis.tickfont,isFirst:0===r,isLast:r===l.length-1}),s.push(a)),-1!==[\"end\",\"both\"].indexOf(e.showticklabels)&&(a=n.tickText(e,o.value),i(a,{endAnchor:!1,xy:o.xy(o.crossLength-1),dxy:o.dxy(o.crossLength-2,1),axis:o.axis,length:o.crossAxis.length,font:o.axis.tickfont,isFirst:0===r,isLast:r===l.length-1}),s.push(a))}},{\"../../lib/extend\":493,\"../../plots/cartesian/axes\":554}],699:[function(t,e,r){\"use strict\";e.exports=function(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,f=(c*c*a-l*l*s)*n,h=c*(l+c)*3,p=l*(l+c)*3;return[[e[0]+(h&&u/h),e[1]+(h&&f/h)],[e[0]-(p&&u/p),e[1]-(p&&f/p)]]}},{}],700:[function(t,e,r){\"use strict\";var n=t(\"../../lib\").isArrayOrTypedArray;e.exports=function(t,e,r){var i,a,o,s,l,c,u=[],f=n(t)?t.length:t,h=n(e)?e.length:e,p=n(t)?t:null,d=n(e)?e:null;p&&(o=(p.length-1)/(p[p.length-1]-p[0])/(f-1)),d&&(s=(d.length-1)/(d[d.length-1]-d[0])/(h-1));var m=1/0,g=-1/0;for(a=0;a<h;a++)for(u[a]=[],l=d?(d[a]-d[0])*s:a/(h-1),i=0;i<f;i++)c=(p?(p[i]-p[0])*o:i/(f-1))-l*r,m=Math.min(c,m),g=Math.max(c,g),u[a][i]=c;var v=1/(g-m),y=-m*v;for(a=0;a<h;a++)for(i=0;i<f;i++)u[a][i]=v*u[a][i]+y;return u}},{\"../../lib\":503}],701:[function(t,e,r){\"use strict\";var n=t(\"./catmull_rom\"),i=t(\"../../lib\").ensureArray;function a(t,e,r){var n=-.5*r[0]+1.5*e[0],i=-.5*r[1]+1.5*e[1];return[(2*n+t[0])/3,(2*i+t[1])/3]}e.exports=function(t,e,r,o,s,l){var c,u,f,h,p,d,m,g,v,y,x=r[0].length,b=r.length,_=s?3*x-2:x,w=l?3*b-2:b;for(t=i(t,w),e=i(e,w),f=0;f<w;f++)t[f]=i(t[f],_),e[f]=i(e[f],_);for(u=0,h=0;u<b;u++,h+=l?3:1)for(p=t[h],d=e[h],m=r[u],g=o[u],c=0,f=0;c<x;c++,f+=s?3:1)p[f]=m[c],d[f]=g[c];if(s)for(u=0,h=0;u<b;u++,h+=l?3:1){for(c=1,f=3;c<x-1;c++,f+=3)v=n([r[u][c-1],o[u][c-1]],[r[u][c],o[u][c]],[r[u][c+1],o[u][c+1]],s),t[h][f-1]=v[0][0],e[h][f-1]=v[0][1],t[h][f+1]=v[1][0],e[h][f+1]=v[1][1];y=a([t[h][0],e[h][0]],[t[h][2],e[h][2]],[t[h][3],e[h][3]]),t[h][1]=y[0],e[h][1]=y[1],y=a([t[h][_-1],e[h][_-1]],[t[h][_-3],e[h][_-3]],[t[h][_-4],e[h][_-4]]),t[h][_-2]=y[0],e[h][_-2]=y[1]}if(l)for(f=0;f<_;f++){for(h=3;h<w-3;h+=3)v=n([t[h-3][f],e[h-3][f]],[t[h][f],e[h][f]],[t[h+3][f],e[h+3][f]],l),t[h-1][f]=v[0][0],e[h-1][f]=v[0][1],t[h+1][f]=v[1][0],e[h+1][f]=v[1][1];y=a([t[0][f],e[0][f]],[t[2][f],e[2][f]],[t[3][f],e[3][f]]),t[1][f]=y[0],e[1][f]=y[1],y=a([t[w-1][f],e[w-1][f]],[t[w-3][f],e[w-3][f]],[t[w-4][f],e[w-4][f]]),t[w-2][f]=y[0],e[w-2][f]=y[1]}if(s&&l)for(h=1;h<w;h+=(h+1)%3==0?2:1){for(f=3;f<_-3;f+=3)v=n([t[h][f-3],e[h][f-3]],[t[h][f],e[h][f]],[t[h][f+3],e[h][f+3]],s),t[h][f-1]=.5*(t[h][f-1]+v[0][0]),e[h][f-1]=.5*(e[h][f-1]+v[0][1]),t[h][f+1]=.5*(t[h][f+1]+v[1][0]),e[h][f+1]=.5*(e[h][f+1]+v[1][1]);y=a([t[h][0],e[h][0]],[t[h][2],e[h][2]],[t[h][3],e[h][3]]),t[h][1]=.5*(t[h][1]+y[0]),e[h][1]=.5*(e[h][1]+y[1]),y=a([t[h][_-1],e[h][_-1]],[t[h][_-3],e[h][_-3]],[t[h][_-4],e[h][_-4]]),t[h][_-2]=.5*(t[h][_-2]+y[0]),e[h][_-2]=.5*(e[h][_-2]+y[1])}return[t,e]}},{\"../../lib\":503,\"./catmull_rom\":699}],702:[function(t,e,r){\"use strict\";e.exports={RELATIVE_CULL_TOLERANCE:1e-6}},{}],703:[function(t,e,r){\"use strict\";e.exports=function(t,e,r){return e&&r?function(e,r,n,i,a){var o,s,l,c,u,f;e||(e=[]),r*=3,n*=3;var h=i*i,p=1-i,d=p*p,m=p*i*2,g=-3*d,v=3*(d-m),y=3*(m-h),x=3*h,b=a*a,_=b*a,w=1-a,T=w*w,k=T*w;for(f=0;f<t.length;f++)o=g*(u=t[f])[n][r]+v*u[n][r+1]+y*u[n][r+2]+x*u[n][r+3],s=g*u[n+1][r]+v*u[n+1][r+1]+y*u[n+1][r+2]+x*u[n+1][r+3],l=g*u[n+2][r]+v*u[n+2][r+1]+y*u[n+2][r+2]+x*u[n+2][r+3],c=g*u[n+3][r]+v*u[n+3][r+1]+y*u[n+3][r+2]+x*u[n+3][r+3],e[f]=k*o+3*(T*a*s+w*b*l)+_*c;return e}:e?function(e,r,n,i,a){var o,s,l,c;e||(e=[]),r*=3;var u=i*i,f=1-i,h=f*f,p=f*i*2,d=-3*h,m=3*(h-p),g=3*(p-u),v=3*u,y=1-a;for(l=0;l<t.length;l++)o=d*(c=t[l])[n][r]+m*c[n][r+1]+g*c[n][r+2]+v*c[n][r+3],s=d*c[n+1][r]+m*c[n+1][r+1]+g*c[n+1][r+2]+v*c[n+1][r+3],e[l]=y*o+a*s;return e}:r?function(e,r,n,i,a){var o,s,l,c,u,f;e||(e=[]),n*=3;var h=a*a,p=h*a,d=1-a,m=d*d,g=m*d;for(u=0;u<t.length;u++)o=(f=t[u])[n][r+1]-f[n][r],s=f[n+1][r+1]-f[n+1][r],l=f[n+2][r+1]-f[n+2][r],c=f[n+3][r+1]-f[n+3][r],e[u]=g*o+3*(m*a*s+d*h*l)+p*c;return e}:function(e,r,n,i,a){var o,s,l,c;e||(e=[]);var u=1-a;for(l=0;l<t.length;l++)o=(c=t[l])[n][r+1]-c[n][r],s=c[n+1][r+1]-c[n+1][r],e[l]=u*o+a*s;return e}}},{}],704:[function(t,e,r){\"use strict\";e.exports=function(t,e,r){return e&&r?function(e,r,n,i,a){var o,s,l,c,u,f;e||(e=[]),r*=3,n*=3;var h=i*i,p=h*i,d=1-i,m=d*d,g=m*d,v=a*a,y=1-a,x=y*y,b=y*a*2,_=-3*x,w=3*(x-b),T=3*(b-v),k=3*v;for(f=0;f<t.length;f++)o=_*(u=t[f])[n][r]+w*u[n+1][r]+T*u[n+2][r]+k*u[n+3][r],s=_*u[n][r+1]+w*u[n+1][r+1]+T*u[n+2][r+1]+k*u[n+3][r+1],l=_*u[n][r+2]+w*u[n+1][r+2]+T*u[n+2][r+2]+k*u[n+3][r+2],c=_*u[n][r+3]+w*u[n+1][r+3]+T*u[n+2][r+3]+k*u[n+3][r+3],e[f]=g*o+3*(m*i*s+d*h*l)+p*c;return e}:e?function(e,r,n,i,a){var o,s,l,c,u,f;e||(e=[]),r*=3;var h=a*a,p=h*a,d=1-a,m=d*d,g=m*d;for(u=0;u<t.length;u++)o=(f=t[u])[n+1][r]-f[n][r],s=f[n+1][r+1]-f[n][r+1],l=f[n+1][r+2]-f[n][r+2],c=f[n+1][r+3]-f[n][r+3],e[u]=g*o+3*(m*a*s+d*h*l)+p*c;return e}:r?function(e,r,n,i,a){var o,s,l,c;e||(e=[]),n*=3;var u=1-i,f=a*a,h=1-a,p=h*h,d=h*a*2,m=-3*p,g=3*(p-d),v=3*(d-f),y=3*f;for(l=0;l<t.length;l++)o=m*(c=t[l])[n][r]+g*c[n+1][r]+v*c[n+2][r]+y*c[n+3][r],s=m*c[n][r+1]+g*c[n+1][r+1]+v*c[n+2][r+1]+y*c[n+3][r+1],e[l]=u*o+i*s;return e}:function(e,r,n,i,a){var o,s,l,c;e||(e=[]);var u=1-i;for(l=0;l<t.length;l++)o=(c=t[l])[n+1][r]-c[n][r],s=c[n+1][r+1]-c[n][r+1],e[l]=u*o+i*s;return e}}},{}],705:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,n,i){var a=e-2,o=r-2;return n&&i?function(e,r,n){var i,s,l,c,u,f;e||(e=[]);var h=Math.max(0,Math.min(Math.floor(r),a)),p=Math.max(0,Math.min(Math.floor(n),o)),d=Math.max(0,Math.min(1,r-h)),m=Math.max(0,Math.min(1,n-p));h*=3,p*=3;var g=d*d,v=g*d,y=1-d,x=y*y,b=x*y,_=m*m,w=_*m,T=1-m,k=T*T,A=k*T;for(f=0;f<t.length;f++)i=b*(u=t[f])[p][h]+3*(x*d*u[p][h+1]+y*g*u[p][h+2])+v*u[p][h+3],s=b*u[p+1][h]+3*(x*d*u[p+1][h+1]+y*g*u[p+1][h+2])+v*u[p+1][h+3],l=b*u[p+2][h]+3*(x*d*u[p+2][h+1]+y*g*u[p+2][h+2])+v*u[p+2][h+3],c=b*u[p+3][h]+3*(x*d*u[p+3][h+1]+y*g*u[p+3][h+2])+v*u[p+3][h+3],e[f]=A*i+3*(k*m*s+T*_*l)+w*c;return e}:n?function(e,r,n){e||(e=[]);var i,s,l,c,u,f,h=Math.max(0,Math.min(Math.floor(r),a)),p=Math.max(0,Math.min(Math.floor(n),o)),d=Math.max(0,Math.min(1,r-h)),m=Math.max(0,Math.min(1,n-p));h*=3;var g=d*d,v=g*d,y=1-d,x=y*y,b=x*y,_=1-m;for(u=0;u<t.length;u++)i=_*(f=t[u])[p][h]+m*f[p+1][h],s=_*f[p][h+1]+m*f[p+1][h+1],l=_*f[p][h+2]+m*f[p+1][h+1],c=_*f[p][h+3]+m*f[p+1][h+1],e[u]=b*i+3*(x*d*s+y*g*l)+v*c;return e}:i?function(e,r,n){e||(e=[]);var i,s,l,c,u,f,h=Math.max(0,Math.min(Math.floor(r),a)),p=Math.max(0,Math.min(Math.floor(n),o)),d=Math.max(0,Math.min(1,r-h)),m=Math.max(0,Math.min(1,n-p));p*=3;var g=m*m,v=g*m,y=1-m,x=y*y,b=x*y,_=1-d;for(u=0;u<t.length;u++)i=_*(f=t[u])[p][h]+d*f[p][h+1],s=_*f[p+1][h]+d*f[p+1][h+1],l=_*f[p+2][h]+d*f[p+2][h+1],c=_*f[p+3][h]+d*f[p+3][h+1],e[u]=b*i+3*(x*m*s+y*g*l)+v*c;return e}:function(e,r,n){e||(e=[]);var i,s,l,c,u=Math.max(0,Math.min(Math.floor(r),a)),f=Math.max(0,Math.min(Math.floor(n),o)),h=Math.max(0,Math.min(1,r-u)),p=Math.max(0,Math.min(1,n-f)),d=1-p,m=1-h;for(l=0;l<t.length;l++)i=m*(c=t[l])[f][u]+h*c[f][u+1],s=m*c[f+1][u]+h*c[f+1][u+1],e[l]=d*i+p*s;return e}}},{}],706:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./xy_defaults\"),a=t(\"./ab_defaults\"),o=t(\"./attributes\"),s=t(\"../../components/color/attributes\");e.exports=function(t,e,r,l){function c(r,i){return n.coerce(t,e,o,r,i)}e._clipPathId=\"clip\"+e.uid+\"carpet\";var u=c(\"color\",s.defaultLine);(n.coerceFont(c,\"font\"),c(\"carpet\"),a(t,e,l,c,u),e.a&&e.b)?(e.a.length<3&&(e.aaxis.smoothing=0),e.b.length<3&&(e.baxis.smoothing=0),i(t,e,c)||(e.visible=!1),e._cheater&&c(\"cheaterslope\")):e.visible=!1}},{\"../../components/color/attributes\":365,\"../../lib\":503,\"./ab_defaults\":689,\"./attributes\":691,\"./xy_defaults\":715}],707:[function(t,e,r){\"use strict\";e.exports={attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\"),plot:t(\"./plot\"),calc:t(\"./calc\"),animatable:!0,isContainer:!0,moduleType:\"trace\",name:\"carpet\",basePlotModule:t(\"../../plots/cartesian\"),categories:[\"cartesian\",\"svg\",\"carpet\",\"carpetAxis\",\"notLegendIsolatable\",\"noMultiCategory\",\"noHover\",\"noSortingByValue\"],meta:{}}},{\"../../plots/cartesian\":568,\"./attributes\":691,\"./calc\":695,\"./defaults\":706,\"./plot\":712}],708:[function(t,e,r){\"use strict\";e.exports=function(t,e){for(var r,n=t._fullData.length,i=0;i<n;i++){var a=t._fullData[i];if(a.index!==e.index&&(\"carpet\"===a.type&&(r||(r=a),a.carpet===e.carpet)))return a}return r}},{}],709:[function(t,e,r){\"use strict\";e.exports=function(t,e,r){if(0===t.length)return\"\";var n,i=[],a=r?3:1;for(n=0;n<t.length;n+=a)i.push(t[n]+\",\"+e[n]),r&&n<t.length-a&&(i.push(\"C\"),i.push([t[n+1]+\",\"+e[n+1],t[n+2]+\",\"+e[n+2]+\" \"].join(\" \")));return i.join(r?\"\":\"L\")}},{}],710:[function(t,e,r){\"use strict\";var n=t(\"../../lib\").isArrayOrTypedArray;e.exports=function(t,e,r){var i;for(n(t)?t.length>e.length&&(t=t.slice(0,e.length)):t=[],i=0;i<e.length;i++)t[i]=r(e[i]);return t}},{\"../../lib\":503}],711:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,n,i,a){var o=i[0]*t.dpdx(e),s=i[1]*t.dpdy(r),l=1,c=1;if(a){var u=Math.sqrt(i[0]*i[0]+i[1]*i[1]),f=Math.sqrt(a[0]*a[0]+a[1]*a[1]),h=(i[0]*a[0]+i[1]*a[1])/u/f;c=Math.max(0,h)}var p=180*Math.atan2(s,o)/Math.PI;return p<-90?(p+=180,l=-l):p>90&&(p-=180,l=-l),{angle:p,flip:l,p:t.c2p(n,e,r),offsetMultplier:c}}},{}],712:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../../components/drawing\"),a=t(\"./map_1d_array\"),o=t(\"./makepath\"),s=t(\"./orient_text\"),l=t(\"../../lib/svg_text_utils\"),c=t(\"../../lib\"),u=c.strRotate,f=c.strTranslate,h=t(\"../../constants/alignment\");function p(t,e,r,s,l,c){var u=\"const-\"+l+\"-lines\",f=r.selectAll(\".\"+u).data(c);f.enter().append(\"path\").classed(u,!0).style(\"vector-effect\",\"non-scaling-stroke\"),f.each((function(r){var s=r,l=s.x,c=s.y,u=a([],l,t.c2p),f=a([],c,e.c2p),h=\"M\"+o(u,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\")})),f.exit().remove()}function d(t,e,r,a,o,c,h,p){var d=c.selectAll(\"text.\"+p).data(h);d.enter().append(\"text\").classed(p,!0);var m=0,g={};return d.each((function(o,c){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)])}c||(g={angle:h.angle,flip:h.flip});var d=(o.endAnchor?-1:1)*h.flip,v=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),y=i.bBox(this);v.attr(\"transform\",f(h.p[0],h.p[1])+u(h.angle)+f(o.axis.labelpadding*d,.3*y.height)),m=Math.max(m,y.width+o.axis.labelpadding)})),d.exit().remove(),g.maxExtent=m,g}e.exports=function(t,e,r,i){var l=e.xaxis,u=e.yaxis,f=t._fullLayout._clips;c.makeTraceGroups(i,r,\"trace\").each((function(e){var r=n.select(this),i=e[0],h=i.trace,m=h.aaxis,g=h.baxis,y=c.ensureSingle(r,\"g\",\"minorlayer\"),x=c.ensureSingle(r,\"g\",\"majorlayer\"),b=c.ensureSingle(r,\"g\",\"boundarylayer\"),_=c.ensureSingle(r,\"g\",\"labellayer\");r.style(\"opacity\",h.opacity),p(l,u,x,m,\"a\",m._gridlines),p(l,u,x,g,\"b\",g._gridlines),p(l,u,y,m,\"a\",m._minorgridlines),p(l,u,y,g,\"b\",g._minorgridlines),p(l,u,b,m,\"a-boundary\",m._boundarylines),p(l,u,b,g,\"b-boundary\",g._boundarylines);var w=d(t,l,u,h,i,_,m._labels,\"a-label\"),T=d(t,l,u,h,i,_,g._labels,\"b-label\");!function(t,e,r,n,i,a,o,l){var u,f,h,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),y=c.aggNums(Math.max,null,r.b);u=.5*(d+m),f=g,h=r.ab2xy(u,f,!0),p=r.dxyda_rough(u,f),void 0===o.angle&&c.extendFlat(o,s(r,i,a,h,r.dxydb_rough(u,f)));v(t,e,r,n,h,p,r.aaxis,i,a,o,\"a-title\"),u=d,f=.5*(g+y),h=r.ab2xy(u,f,!0),p=r.dxydb_rough(u,f),void 0===l.angle&&c.extendFlat(l,s(r,i,a,h,r.dxyda_rough(u,f)));v(t,e,r,n,h,p,r.baxis,i,a,l,\"b-title\")}(t,_,h,i,l,u,w,T),function(t,e,r,n,i){var s,l,u,f,h=r.select(\"#\"+t._clipPathId);h.size()||(h=r.append(\"clipPath\").classed(\"carpetclip\",!0));var p=c.ensureSingle(h,\"path\",\"carpetboundary\"),d=e.clipsegments,m=[];for(f=0;f<d.length;f++)s=d[f],l=a([],s.x,n.c2p),u=a([],s.y,i.c2p),m.push(o(l,u,s.bicubic));var g=\"M\"+m.join(\"L\")+\"Z\";h.attr(\"id\",t._clipPathId),p.attr(\"d\",g)}(h,i,f,l,u)}))};var m=h.LINE_SPACING,g=(1-h.MID_SHIFT)/m+1;function v(t,e,r,a,o,c,h,p,d,v,y){var x=[];h.title.text&&x.push(h.title.text);var b=e.selectAll(\"text.\"+y).data(x),_=v.maxExtent;b.enter().append(\"text\").classed(y,!0),b.each((function(){var e=s(r,p,d,o,c);-1===[\"start\",\"both\"].indexOf(h.showticklabels)&&(_=0);var a=h.title.font.size;_+=a+h.title.offset;var y=(v.angle+(v.flip<0?180:0)-e.angle+450)%360,x=y>90&&y<270,b=n.select(this);b.text(h.title.text).call(l.convertToTspans,t),x&&(_=(-l.lineCount(b)+g)*m*a-_),b.attr(\"transform\",f(e.p[0],e.p[1])+u(e.angle)+f(0,_)).attr(\"text-anchor\",\"middle\").call(i.font,h.title.font)})),b.exit().remove()}},{\"../../components/drawing\":388,\"../../constants/alignment\":471,\"../../lib\":503,\"../../lib/svg_text_utils\":529,\"./makepath\":709,\"./map_1d_array\":710,\"./orient_text\":711,\"@plotly/d3\":58}],713:[function(t,e,r){\"use strict\";var n=t(\"./constants\"),i=t(\"../../lib/search\").findBin,a=t(\"./compute_control_points\"),o=t(\"./create_spline_evaluator\"),s=t(\"./create_i_derivative_evaluator\"),l=t(\"./create_j_derivative_evaluator\");e.exports=function(t){var e=t._a,r=t._b,c=e.length,u=r.length,f=t.aaxis,h=t.baxis,p=e[0],d=e[c-1],m=r[0],g=r[u-1],v=e[e.length-1]-e[0],y=r[r.length-1]-r[0],x=v*n.RELATIVE_CULL_TOLERANCE,b=y*n.RELATIVE_CULL_TOLERANCE;p-=x,d+=x,m-=b,g+=b,t.isVisible=function(t,e){return t>p&&t<d&&e>m&&e<g},t.isOccluded=function(t,e){return t<p||t>d||e<m||e>g},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],c,u,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]),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&&(n<e[0]||n>e[c-1]|i<r[0]||i>r[u-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,m=0,g=0,v=[];n<e[0]?(f=0,h=0,m=(n-e[0])/(e[1]-e[0])):n>e[c-1]?(f=c-2,h=1,m=(n-e[c-1])/(e[c-1]-e[c-2])):h=o-(f=Math.max(0,Math.min(c-2,Math.floor(o)))),i<r[0]?(p=0,d=0,g=(i-r[0])/(r[1]-r[0])):i>r[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(v,f,p,h,d),l[0]+=v[0]*m,l[1]+=v[1]*m),g&&(t.dxydj(v,f,p,h,d),l[0]+=v[0]*g,l[1]+=v[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=v*(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=y*(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}}},{\"../../lib/search\":523,\"./compute_control_points\":701,\"./constants\":702,\"./create_i_derivative_evaluator\":703,\"./create_j_derivative_evaluator\":704,\"./create_spline_evaluator\":705}],714:[function(t,e,r){\"use strict\";var n=t(\"../../lib\");e.exports=function(t,e,r){var i,a,o,s=[],l=[],c=t[0].length,u=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),e<c-1&&void 0!==(n=t[r][e+1])&&(a++,i+=n),r>0&&void 0!==(n=t[r-1][e])&&(a++,i+=n),r<u-1&&void 0!==(n=t[r+1][e])&&(a++,i+=n),i/Math.max(1,a)}var h,p,d,m,g,v,y,x,b,_,w,T=0;for(i=0;i<c;i++)for(a=0;a<u;a++)void 0===t[a][i]&&(s.push(i),l.push(a),t[a][i]=f(i,a)),T=Math.max(T,Math.abs(t[a][i]));if(!s.length)return t;var k=0,A=0,M=s.length;do{for(k=0,o=0;o<M;o++){i=s[o],a=l[o];var S,E,L,C,P,I,O=0,z=0;0===i?(L=e[P=Math.min(c-1,2)],C=e[1],S=t[a][P],z+=(E=t[a][1])+(E-S)*(e[0]-C)/(C-L),O++):i===c-1&&(L=e[P=Math.max(0,c-3)],C=e[c-2],S=t[a][P],z+=(E=t[a][c-2])+(E-S)*(e[c-1]-C)/(C-L),O++),(0===i||i===c-1)&&a>0&&a<u-1&&(h=r[a+1]-r[a],z+=((p=r[a]-r[a-1])*t[a+1][i]+h*t[a-1][i])/(p+h),O++),0===a?(L=r[I=Math.min(u-1,2)],C=r[1],S=t[I][i],z+=(E=t[1][i])+(E-S)*(r[0]-C)/(C-L),O++):a===u-1&&(L=r[I=Math.max(0,u-3)],C=r[u-2],S=t[I][i],z+=(E=t[u-2][i])+(E-S)*(r[u-1]-C)/(C-L),O++),(0===a||a===u-1)&&i>0&&i<c-1&&(h=e[i+1]-e[i],z+=((p=e[i]-e[i-1])*t[a][i+1]+h*t[a][i-1])/(p+h),O++),O?z/=O:(d=e[i+1]-e[i],m=e[i]-e[i-1],x=(g=r[a+1]-r[a])*(v=r[a]-r[a-1])*(g+v),z=((y=d*m*(d+m))*(v*t[a+1][i]+g*t[a-1][i])+x*(m*t[a][i+1]+d*t[a][i-1]))/(x*(m+d)+y*(v+g))),k+=(_=(b=z-t[a][i])/T)*_,w=O?0:.85,t[a][i]+=b*(1+w)}k=Math.sqrt(k)}while(A++<100&&k>1e-5);return n.log(\"Smoother converged to\",k,\"after\",A,\"iterations\"),t}},{\"../../lib\":503}],715:[function(t,e,r){\"use strict\";var n=t(\"../../lib\").isArray1D;e.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}},{\"../../lib\":503}],716:[function(t,e,r){\"use strict\";var n=t(\"../../plots/template_attributes\").hovertemplateAttrs,i=t(\"../scattergeo/attributes\"),a=t(\"../../components/colorscale/attributes\"),o=t(\"../../plots/attributes\"),s=t(\"../../components/color/attributes\").defaultLine,l=t(\"../../lib/extend\").extendFlat,c=i.marker.line;e.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\"}))},{\"../../components/color/attributes\":365,\"../../components/colorscale/attributes\":373,\"../../lib/extend\":493,\"../../plots/attributes\":550,\"../../plots/template_attributes\":633,\"../scattergeo/attributes\":969}],717:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../../constants/numerical\").BADNUM,a=t(\"../../components/colorscale/calc\"),o=t(\"../scatter/arrays_to_calcdata\"),s=t(\"../scatter/calc_selection\");function l(t){return t&&\"string\"==typeof t}e.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 f=0;f<c;f++){var h=u[f]={},p=e.locations[f],d=e.z[f];r(p)&&n(d)?(h.loc=p,h.z=d):(h.loc=null,h.z=i),h.index=f}return o(u,e),a(t,e,{vals:e.z,containerStr:\"\",cLetter:\"z\"}),s(u,e),u}},{\"../../components/colorscale/calc\":374,\"../../constants/numerical\":479,\"../scatter/arrays_to_calcdata\":926,\"../scatter/calc_selection\":929,\"fast-isnumeric\":190}],718:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../components/colorscale/defaults\"),a=t(\"./attributes\");e.exports=function(t,e,r,o){function s(r,i){return n.coerce(t,e,a,r,i)}var l=s(\"locations\"),c=s(\"z\");if(l&&l.length&&n.isArrayOrTypedArray(c)&&c.length){e._length=Math.min(l.length,c.length);var u,f=s(\"geojson\");(\"string\"==typeof f&&\"\"!==f||n.isPlainObject(f))&&(u=\"geojson-id\"),\"geojson-id\"===s(\"locationmode\",u)&&s(\"featureidkey\"),s(\"text\"),s(\"hovertext\"),s(\"hovertemplate\"),s(\"marker.line.width\")&&s(\"marker.line.color\"),s(\"marker.opacity\"),i(t,e,o,s,{prefix:\"\",cLetter:\"z\"}),n.coerceSelectionMarkerOpacity(e,s)}else e.visible=!1}},{\"../../components/colorscale/defaults\":376,\"../../lib\":503,\"./attributes\":716}],719:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,n,i){t.location=e.location,t.z=e.z;var a=n[i];return a.fIn&&a.fIn.properties&&(t.properties=a.fIn.properties),t.ct=a.ct,t}},{}],720:[function(t,e,r){\"use strict\";var n=t(\"../../plots/cartesian/axes\"),i=t(\"./attributes\"),a=t(\"../../lib\").fillText;e.exports=function(t,e,r){var o,s,l,c,u=t.cd,f=u[0].trace,h=t.subplot,p=[e,r],d=[e+360,r];for(s=0;s<u.length;s++)if(c=!1,(o=u[s])._polygons){for(l=0;l<o._polygons.length;l++)o._polygons[l].contains(p)&&(c=!c),o._polygons[l].contains(d)&&(c=!c);if(c)break}if(c&&o)return t.x0=t.x1=t.xa.c2p(o.ct),t.y0=t.y1=t.ya.c2p(o.ct),t.index=o.index,t.location=o.loc,t.z=o.z,t.zLabel=n.tickText(h.mockAxis,h.mockAxis.c2l(o.z),\"hover\").text,t.hovertemplate=o.hovertemplate,function(t,e,r){if(e.hovertemplate)return;var n=r.hi||e.hoverinfo,o=String(r.loc),s=\"all\"===n?i.hoverinfo.flags:n.split(\"+\"),l=-1!==s.indexOf(\"name\"),c=-1!==s.indexOf(\"location\"),u=-1!==s.indexOf(\"z\"),f=-1!==s.indexOf(\"text\"),h=[];!l&&c?t.nameOverride=o:(l&&(t.nameOverride=e.name),c&&h.push(o));u&&h.push(t.zLabel);f&&a(r,e,h);t.extraText=h.join(\"<br>\")}(t,f,o),[t]}},{\"../../lib\":503,\"../../plots/cartesian/axes\":554,\"./attributes\":716}],721:[function(t,e,r){\"use strict\";e.exports={attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\"),colorbar:t(\"../heatmap/colorbar\"),calc:t(\"./calc\"),calcGeoJSON:t(\"./plot\").calcGeoJSON,plot:t(\"./plot\").plot,style:t(\"./style\").style,styleOnSelect:t(\"./style\").styleOnSelect,hoverPoints:t(\"./hover\"),eventData:t(\"./event_data\"),selectPoints:t(\"./select\"),moduleType:\"trace\",name:\"choropleth\",basePlotModule:t(\"../../plots/geo\"),categories:[\"geo\",\"noOpacity\",\"showLegend\"],meta:{}}},{\"../../plots/geo\":589,\"../heatmap/colorbar\":795,\"./attributes\":716,\"./calc\":717,\"./defaults\":718,\"./event_data\":719,\"./hover\":720,\"./plot\":722,\"./select\":723,\"./style\":724}],722:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../../lib\"),a=t(\"../../lib/geo_location_utils\"),o=t(\"../../lib/topojson_utils\").getTopojsonFeatures,s=t(\"../../plots/cartesian/autorange\").findExtremes,l=t(\"./style\").style;e.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),f=[],h=[],p=0;p<c;p++){var d=t[p],m=\"geojson-id\"===l?d.fOut:a.locationToFeature(l,d.loc,u);if(m){d.geojson=m,d.ct=m.properties.ct,d._polygons=a.feature2polygons(m);var g=a.computeBbox(m);f.push(g[0],g[2]),h.push(g[1],g[3])}else d.geojson=null}if(\"geojson\"===n.fitbounds&&\"geojson-id\"===l){var v=a.computeBbox(a.getTraceGeojson(r));f=[v[0],v[2]],h=[v[1],v[3]]}var y={padded:!0};r._extremes.lon=s(n.lonaxis._ax,f,y),r._extremes.lat=s(n.lataxis._ax,h,y)},plot:function(t,e,r){var a=e.layers.backplot.select(\".choroplethlayer\");i.makeTraceGroups(a,r,\"trace choropleth\").each((function(e){var r=n.select(this).selectAll(\"path.choroplethlocation\").data(i.identity);r.enter().append(\"path\").classed(\"choroplethlocation\",!0),r.exit().remove(),l(t,e)}))}}},{\"../../lib\":503,\"../../lib/geo_location_utils\":496,\"../../lib/topojson_utils\":532,\"../../plots/cartesian/autorange\":553,\"./style\":724,\"@plotly/d3\":58}],723:[function(t,e,r){\"use strict\";e.exports=function(t,e){var r,n,i,a,o,s=t.cd,l=t.xaxis,c=t.yaxis,u=[];if(!1===e)for(r=0;r<s.length;r++)s[r].selected=0;else for(r=0;r<s.length;r++)(i=(n=s[r]).ct)&&(a=l.c2p(i),o=c.c2p(i),e.contains([a,o],null,r,t)?(u.push({pointNumber:r,lon:i[0],lat:i[1]}),n.selected=1):n.selected=0);return u}},{}],724:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../../components/color\"),a=t(\"../../components/drawing\"),o=t(\"../../components/colorscale\");function s(t,e){var r=e[0].trace,s=e[0].node3.selectAll(\".choroplethlocation\"),l=r.marker||{},c=l.line||{},u=o.makeColorScaleFuncFromTrace(r);s.each((function(t){n.select(this).attr(\"fill\",u(t.z)).call(i.stroke,t.mlc||c.color).call(a.dashLine,\"\",t.mlw||c.width||0).style(\"opacity\",l.opacity)})),a.selectedPointStyle(s,r,t)}e.exports={style:function(t,e){e&&s(t,e)},styleOnSelect:function(t,e){var r=e[0].node3,n=e[0].trace;n.selectedpoints?a.selectedPointStyle(r.selectAll(\".choroplethlocation\"),n,t):s(t,e)}}},{\"../../components/color\":366,\"../../components/colorscale\":378,\"../../components/drawing\":388,\"@plotly/d3\":58}],725:[function(t,e,r){\"use strict\";var n=t(\"../choropleth/attributes\"),i=t(\"../../components/colorscale/attributes\"),a=t(\"../../plots/template_attributes\").hovertemplateAttrs,o=t(\"../../plots/attributes\"),s=t(\"../../lib/extend\").extendFlat;e.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\"}))},{\"../../components/colorscale/attributes\":373,\"../../lib/extend\":493,\"../../plots/attributes\":550,\"../../plots/template_attributes\":633,\"../choropleth/attributes\":716}],726:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../../lib\"),a=t(\"../../components/colorscale\"),o=t(\"../../components/drawing\"),s=t(\"../../lib/geojson_utils\").makeBlank,l=t(\"../../lib/geo_location_utils\");function c(t){var e,r=t[0].trace,n=r._opts;if(r.selectedpoints){for(var a=o.makeSelectedPointStyleFns(r),s=0;s<t.length;s++){var l=t[s];l.fOut&&(l.fOut.properties.mo2=a.selectedOpacityFn(l))}e={type:\"identity\",property:\"mo2\"}}else e=i.isArrayOrTypedArray(r.marker.opacity)?{type:\"identity\",property:\"mo\"}:r.marker.opacity;return i.extendFlat(n.fill.paint,{\"fill-opacity\":e}),i.extendFlat(n.line.paint,{\"line-opacity\":e}),n}e.exports={convert:function(t){var e=t[0].trace,r=!0===e.visible&&0!==e._length,o={layout:{visibility:\"none\"},paint:{}},u={layout:{visibility:\"none\"},paint:{}},f=e._opts={fill:o,line:u,geojson:s()};if(!r)return f;var h=l.extractTraceFeature(t);if(!h)return f;var p,d,m,g=a.makeColorScaleFuncFromTrace(e),v=e.marker,y=v.line||{};i.isArrayOrTypedArray(v.opacity)&&(p=function(t){var e=t.mo;return n(e)?+i.constrain(e,0,1):0}),i.isArrayOrTypedArray(y.color)&&(d=function(t){return t.mlc}),i.isArrayOrTypedArray(y.width)&&(m=function(t){return t.mlw});for(var x=0;x<t.length;x++){var b=t[x],_=b.fOut;if(_){var w=_.properties;w.fc=g(b.z),p&&(w.mo=p(b)),d&&(w.mlc=d(b)),m&&(w.mlw=m(b)),b.ct=w.ct,b._polygons=l.feature2polygons(_)}}var T=p?{type:\"identity\",property:\"mo\"}:v.opacity;return i.extendFlat(o.paint,{\"fill-color\":{type:\"identity\",property:\"fc\"},\"fill-opacity\":T}),i.extendFlat(u.paint,{\"line-color\":d?{type:\"identity\",property:\"mlc\"}:y.color,\"line-width\":m?{type:\"identity\",property:\"mlw\"}:y.width,\"line-opacity\":T}),o.layout.visibility=\"visible\",u.layout.visibility=\"visible\",f.geojson={type:\"FeatureCollection\",features:h},c(t),f},convertOnSelect:c}},{\"../../components/colorscale\":378,\"../../components/drawing\":388,\"../../lib\":503,\"../../lib/geo_location_utils\":496,\"../../lib/geojson_utils\":497,\"fast-isnumeric\":190}],727:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../components/colorscale/defaults\"),a=t(\"./attributes\");e.exports=function(t,e,r,o){function s(r,i){return n.coerce(t,e,a,r,i)}var l=s(\"locations\"),c=s(\"z\"),u=s(\"geojson\");n.isArrayOrTypedArray(l)&&l.length&&n.isArrayOrTypedArray(c)&&c.length&&(\"string\"==typeof u&&\"\"!==u||n.isPlainObject(u))?(s(\"featureidkey\"),e._length=Math.min(l.length,c.length),s(\"below\"),s(\"text\"),s(\"hovertext\"),s(\"hovertemplate\"),s(\"marker.line.width\")&&s(\"marker.line.color\"),s(\"marker.opacity\"),i(t,e,o,s,{prefix:\"\",cLetter:\"z\"}),n.coerceSelectionMarkerOpacity(e,s)):e.visible=!1}},{\"../../components/colorscale/defaults\":376,\"../../lib\":503,\"./attributes\":725}],728:[function(t,e,r){\"use strict\";e.exports={attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\"),colorbar:t(\"../heatmap/colorbar\"),calc:t(\"../choropleth/calc\"),plot:t(\"./plot\"),hoverPoints:t(\"../choropleth/hover\"),eventData:t(\"../choropleth/event_data\"),selectPoints:t(\"../choropleth/select\"),styleOnSelect:function(t,e){e&&e[0].trace._glTrace.updateOnSelect(e)},getBelow:function(t,e){for(var r=e.getMapLayers(),n=r.length-2;n>=0;n--){var i=r[n].id;if(\"string\"==typeof i&&0===i.indexOf(\"water\"))for(var a=n+1;a<r.length;a++)if(\"string\"==typeof(i=r[a].id)&&-1===i.indexOf(\"plotly-\"))return i}},moduleType:\"trace\",name:\"choroplethmapbox\",basePlotModule:t(\"../../plots/mapbox\"),categories:[\"mapbox\",\"gl\",\"noOpacity\",\"showLegend\"],meta:{hr_name:\"choropleth_mapbox\"}}},{\"../../plots/mapbox\":613,\"../choropleth/calc\":717,\"../choropleth/event_data\":719,\"../choropleth/hover\":720,\"../choropleth/select\":723,\"../heatmap/colorbar\":795,\"./attributes\":725,\"./defaults\":727,\"./plot\":729}],729:[function(t,e,r){\"use strict\";var n=t(\"./convert\").convert,i=t(\"./convert\").convertOnSelect,a=t(\"../../plots/mapbox/constants\").traceLayerPrefix;function o(t,e){this.type=\"choroplethmapbox\",this.subplot=t,this.uid=e,this.sourceId=\"source-\"+e,this.layerList=[[\"fill\",a+e+\"-fill\"],[\"line\",a+e+\"-line\"]],this.below=null}var s=o.prototype;s.update=function(t){this._update(n(t))},s.updateOnSelect=function(t){this._update(i(t))},s._update=function(t){var e=this.subplot,r=this.layerList,n=e.belowLookup[\"trace-\"+this.uid];e.map.getSource(this.sourceId).setData(t.geojson),n!==this.below&&(this._removeLayers(),this._addLayers(t,n),this.below=n);for(var i=0;i<r.length;i++){var a=r[i],o=a[0],s=a[1],l=t[o];e.setOptions(s,\"setLayoutProperty\",l.layout),\"visible\"===l.layout.visibility&&e.setOptions(s,\"setPaintProperty\",l.paint)}},s._addLayers=function(t,e){for(var r=this.subplot,n=this.layerList,i=this.sourceId,a=0;a<n.length;a++){var o=n[a],s=o[0],l=t[s];r.addLayer({type:s,id:o[1],source:i,layout:l.layout,paint:l.paint},e)}},s._removeLayers=function(){for(var t=this.subplot.map,e=this.layerList,r=e.length-1;r>=0;r--)t.removeLayer(e[r][1])},s.dispose=function(){var t=this.subplot.map;this._removeLayers(),t.removeSource(this.sourceId)},e.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}},{\"../../plots/mapbox/constants\":611,\"./convert\":726}],730:[function(t,e,r){\"use strict\";var n=t(\"../../components/colorscale/attributes\"),i=t(\"../../plots/cartesian/axis_format_attributes\").axisHoverFormat,a=t(\"../../plots/template_attributes\").hovertemplateAttrs,o=t(\"../mesh3d/attributes\"),s=t(\"../../plots/attributes\"),l=t(\"../../lib/extend\").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\"],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,e.exports=c},{\"../../components/colorscale/attributes\":373,\"../../lib/extend\":493,\"../../plots/attributes\":550,\"../../plots/cartesian/axis_format_attributes\":557,\"../../plots/template_attributes\":633,\"../mesh3d/attributes\":867}],731:[function(t,e,r){\"use strict\";var n=t(\"../../components/colorscale/calc\");e.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;c<o;c++){var u=r[c],f=i[c],h=a[c],p=Math.sqrt(u*u+f*f+h*h);s=Math.max(s,p),l=Math.min(l,p)}e._len=o,e._normMax=s,n(t,e,{vals:[l,s],containerStr:\"\",cLetter:\"c\"})}},{\"../../components/colorscale/calc\":374}],732:[function(t,e,r){\"use strict\";var n=t(\"../../../stackgl_modules\").gl_cone3d,i=t(\"../../../stackgl_modules\").gl_cone3d.createConeMesh,a=t(\"../../lib\").simpleMap,o=t(\"../../lib/gl_format_color\").parseColorScale,s=t(\"../../components/colorscale\").extractOpts,l=t(\"../../plots/gl3d/zip3\");function c(t,e){this.scene=t,this.uid=e,this.mesh=null,this.data=null}var u=c.prototype;u.handlePick=function(t){if(t.object===this.mesh){var e=t.index=t.data.index,r=this.data.x[e],n=this.data.y[e],i=this.data.z[e],a=this.data.u[e],o=this.data.v[e],s=this.data.w[e];t.traceCoordinate=[r,n,i,a,o,s,Math.sqrt(a*a+o*o+s*s)];var l=this.data.hovertext||this.data.text;return Array.isArray(l)&&void 0!==l[e]?t.textLabel=l[e]:l&&(t.textLabel=l),!0}};var f={xaxis:0,yaxis:1,zaxis:2},h={tip:1,tail:0,cm:.25,center:.5},p={tip:1,tail:1,cm:.75,center:.5};function d(t,e){var r=t.fullSceneLayout,i=t.dataScale,c={};function u(t,e){var n=r[e],o=i[f[e]];return a(t,(function(t){return n.d2l(t)*o}))}c.vectors=l(u(e.u,\"xaxis\"),u(e.v,\"yaxis\"),u(e.w,\"zaxis\"),e._len),c.positions=l(u(e.x,\"xaxis\"),u(e.y,\"yaxis\"),u(e.z,\"zaxis\"),e._len);var d=s(e);c.colormap=o(e),c.vertexIntensityBounds=[d.min/e._normMax,d.max/e._normMax],c.coneOffset=h[e.anchor],\"scaled\"===e.sizemode?c.coneSize=e.sizeref||.5:c.coneSize=e.sizeref&&e._normMax?e.sizeref/e._normMax:.5;var m=n(c),g=e.lightposition;return m.lightPosition=[g.x,g.y,g.z],m.ambient=e.lighting.ambient,m.diffuse=e.lighting.diffuse,m.specular=e.lighting.specular,m.roughness=e.lighting.roughness,m.fresnel=e.lighting.fresnel,m.opacity=e.opacity,e._pad=p[e.anchor]*m.vectorScale*m.coneScale*e._normMax,m}u.update=function(t){this.data=t;var e=d(this.scene,t);this.mesh.update(e)},u.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()},e.exports=function(t,e){var r=t.glplot.gl,n=d(t,e),a=i(r,n),o=new c(t,e.uid);return o.mesh=a,o.data=e,a._trace=o,t.glplot.add(a),o}},{\"../../../stackgl_modules\":1124,\"../../components/colorscale\":378,\"../../lib\":503,\"../../lib/gl_format_color\":499,\"../../plots/gl3d/zip3\":609}],733:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../components/colorscale/defaults\"),a=t(\"./attributes\");e.exports=function(t,e,r,o){function s(r,i){return n.coerce(t,e,a,r,i)}var l=s(\"u\"),c=s(\"v\"),u=s(\"w\"),f=s(\"x\"),h=s(\"y\"),p=s(\"z\");l&&l.length&&c&&c.length&&u&&u.length&&f&&f.length&&h&&h.length&&p&&p.length?(s(\"sizeref\"),s(\"sizemode\"),s(\"anchor\"),s(\"lighting.ambient\"),s(\"lighting.diffuse\"),s(\"lighting.specular\"),s(\"lighting.roughness\"),s(\"lighting.fresnel\"),s(\"lightposition.x\"),s(\"lightposition.y\"),s(\"lightposition.z\"),i(t,e,o,s,{prefix:\"\",cLetter:\"c\"}),s(\"text\"),s(\"hovertext\"),s(\"hovertemplate\"),s(\"uhoverformat\"),s(\"vhoverformat\"),s(\"whoverformat\"),s(\"xhoverformat\"),s(\"yhoverformat\"),s(\"zhoverformat\"),e._length=null):e.visible=!1}},{\"../../components/colorscale/defaults\":376,\"../../lib\":503,\"./attributes\":730}],734:[function(t,e,r){\"use strict\";e.exports={moduleType:\"trace\",name:\"cone\",basePlotModule:t(\"../../plots/gl3d\"),categories:[\"gl3d\",\"showLegend\"],attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\"),colorbar:{min:\"cmin\",max:\"cmax\"},calc:t(\"./calc\"),plot:t(\"./convert\"),eventData:function(t,e){return t.norm=e.traceCoordinate[6],t},meta:{}}},{\"../../plots/gl3d\":598,\"./attributes\":730,\"./calc\":731,\"./convert\":732,\"./defaults\":733}],735:[function(t,e,r){\"use strict\";var n=t(\"../heatmap/attributes\"),i=t(\"../scatter/attributes\"),a=t(\"../../plots/cartesian/axis_format_attributes\"),o=a.axisHoverFormat,s=a.descriptionOnlyNumbers,l=t(\"../../components/colorscale/attributes\"),c=t(\"../../components/drawing/attributes\").dash,u=t(\"../../plots/font_attributes\"),f=t(\"../../lib/extend\").extendFlat,h=t(\"../../constants/filter_ops\"),p=h.COMPARISON_OPS2,d=h.INTERVAL_OPS,m=i.line;e.exports=f({z:n.z,x:n.x,x0:n.x0,dx:n.dx,y:n.y,y0:n.y0,dy:n.dy,xperiod:n.xperiod,yperiod:n.yperiod,xperiod0:i.xperiod0,yperiod0:i.yperiod0,xperiodalignment:n.xperiodalignment,yperiodalignment:n.yperiodalignment,text:n.text,hovertext:n.hovertext,transpose:n.transpose,xtype:n.xtype,ytype:n.ytype,xhoverformat:o(\"x\"),yhoverformat:o(\"y\"),zhoverformat:o(\"z\",1),hovertemplate:n.hovertemplate,texttemplate:f({},n.texttemplate,{}),textfont:f({},n.textfont,{}),hoverongaps:n.hoverongaps,connectgaps:f({},n.connectgaps,{}),fillcolor:{valType:\"color\",editType:\"calc\"},autocontour:{valType:\"boolean\",dflt:!0,editType:\"calc\",impliedEdits:{\"contours.start\":void 0,\"contours.end\":void 0,\"contours.size\":void 0}},ncontours:{valType:\"integer\",dflt:15,min:1,editType:\"calc\"},contours:{type:{valType:\"enumerated\",values:[\"levels\",\"constraint\"],dflt:\"levels\",editType:\"calc\"},start:{valType:\"number\",dflt:null,editType:\"plot\",impliedEdits:{\"^autocontour\":!1}},end:{valType:\"number\",dflt:null,editType:\"plot\",impliedEdits:{\"^autocontour\":!1}},size:{valType:\"number\",dflt:null,min:0,editType:\"plot\",impliedEdits:{\"^autocontour\":!1}},coloring:{valType:\"enumerated\",values:[\"fill\",\"heatmap\",\"lines\",\"none\"],dflt:\"fill\",editType:\"calc\"},showlines:{valType:\"boolean\",dflt:!0,editType:\"plot\"},showlabels:{valType:\"boolean\",dflt:!1,editType:\"plot\"},labelfont:u({editType:\"plot\",colorEditType:\"style\"}),labelformat:{valType:\"string\",dflt:\"\",editType:\"plot\",description:s(\"contour label\")},operation:{valType:\"enumerated\",values:[].concat(p).concat(d),dflt:\"=\",editType:\"calc\"},value:{valType:\"any\",dflt:0,editType:\"calc\"},editType:\"calc\",impliedEdits:{autocontour:!1}},line:{color:f({},m.color,{editType:\"style+colorbars\"}),width:{valType:\"number\",min:0,editType:\"style+colorbars\"},dash:c,smoothing:f({},m.smoothing,{}),editType:\"plot\"}},l(\"\",{cLetter:\"z\",autoColorDflt:!1,editTypeOverride:\"calc\"}))},{\"../../components/colorscale/attributes\":373,\"../../components/drawing/attributes\":387,\"../../constants/filter_ops\":475,\"../../lib/extend\":493,\"../../plots/cartesian/axis_format_attributes\":557,\"../../plots/font_attributes\":585,\"../heatmap/attributes\":792,\"../scatter/attributes\":927}],736:[function(t,e,r){\"use strict\";var n=t(\"../../components/colorscale\"),i=t(\"../heatmap/calc\"),a=t(\"./set_contours\"),o=t(\"./end_plus\");e.exports=function(t,e){var r=i(t,e),s=r[0].z;a(e,s);var l,c=e.contours,u=n.extractOpts(e);if(\"heatmap\"===c.coloring&&u.auto&&!1===e.autocontour){var f=c.start,h=o(c),p=c.size||1,d=Math.floor((h-f)/p)+1;isFinite(p)||(p=1,d=1);var m=f-p/2;l=[m,m+d*p]}else l=s;return n.calc(t,e,{vals:l,cLetter:\"z\"}),r}},{\"../../components/colorscale\":378,\"../heatmap/calc\":793,\"./end_plus\":746,\"./set_contours\":754}],737:[function(t,e,r){\"use strict\";e.exports=function(t,e){var r,n=t[0],i=n.z;switch(e.type){case\"levels\":var a=Math.min(i[0][0],i[0][1]);for(r=0;r<t.length;r++){var o=t[r];o.prefixBoundary=!o.edgepaths.length&&(a>o.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<l;r++)u=Math.min(u,i[r][0]),u=Math.min(u,i[r][s-1]),c=Math.max(c,i[r][0]),c=Math.max(c,i[r][s-1]);for(r=1;r<s-1;r++)u=Math.min(u,i[0][r]),u=Math.min(u,i[l-1][r]),c=Math.max(c,i[0][r]),c=Math.max(c,i[l-1][r]);var f,h,p=e.value;switch(e._operation){case\">\":p>c&&(n.prefixBoundary=!0);break;case\"<\":(p<u||n.starts.length&&p===u)&&(n.prefixBoundary=!0);break;case\"[]\":f=Math.min(p[0],p[1]),((h=Math.max(p[0],p[1]))<u||f>c||n.starts.length&&h===u)&&(n.prefixBoundary=!0);break;case\"][\":f=Math.min(p[0],p[1]),h=Math.max(p[0],p[1]),f<u&&h>c&&(n.prefixBoundary=!0)}}}},{}],738:[function(t,e,r){\"use strict\";var n=t(\"../../components/colorscale\"),i=t(\"./make_color_map\"),a=t(\"./end_plus\");e.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 f=n.extractOpts(e);r._fillgradient=f.reversescale?n.flipScale(f.colorscale):f.colorscale,r._zrange=[f.min,f.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}}}},{\"../../components/colorscale\":378,\"./end_plus\":746,\"./make_color_map\":751}],739:[function(t,e,r){\"use strict\";e.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}}},{}],740:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"./label_defaults\"),a=t(\"../../components/color\"),o=a.addOpacity,s=a.opacity,l=t(\"../../constants/filter_ops\"),c=l.CONSTRAINT_REDUCTION,u=l.COMPARISON_OPS2;e.exports=function(t,e,r,a,l,f){var h,p,d,m=e.contours,g=r(\"contours.operation\");(m._operation=c[g],function(t,e){var r;-1===u.indexOf(e.operation)?(t(\"contours.value\",[0,1]),Array.isArray(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)||(Array.isArray(e.value)?e.value=parseFloat(e.value[0]):e.value=0))}(r,m),\"=\"===g?h=m.showlines=!0:(h=r(\"contours.showlines\"),d=r(\"fillcolor\",o((t.line||{}).color||l,.5))),h)&&(p=r(\"line.color\",d&&s(d)?o(e.fillcolor,1):l),r(\"line.width\",2),r(\"line.dash\"));r(\"line.smoothing\"),i(r,a,p,f)}},{\"../../components/color\":366,\"../../constants/filter_ops\":475,\"./label_defaults\":750,\"fast-isnumeric\":190}],741:[function(t,e,r){\"use strict\";var n=t(\"../../constants/filter_ops\"),i=t(\"fast-isnumeric\");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}}}e.exports={\"[]\":o(\"[]\"),\"][\":o(\"][\"),\">\":s(\">\"),\"<\":s(\"<\"),\"=\":s(\"=\")}},{\"../../constants/filter_ops\":475,\"fast-isnumeric\":190}],742:[function(t,e,r){\"use strict\";e.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\")}},{}],743:[function(t,e,r){\"use strict\";var n=t(\"../../lib\");function i(t){return n.extendFlat({},t,{edgepaths:n.extendDeep([],t.edgepaths),paths:n.extendDeep([],t.paths),starts:n.extendDeep([],t.starts)})}e.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;r<a.edgepaths.length;r++)a.edgepaths[r]=s(a.edgepaths[r]);for(r=0;r<a.paths.length;r++)a.paths[r]=s(a.paths[r]);for(r=0;r<a.starts.length;r++)a.starts[r]=s(a.starts[r]);return t;case\"][\":var c=s;s=l,l=c;case\"[]\":for(2!==t.length&&n.warn(\"Contour data invalid for the specified inequality range operation.\"),a=i(t[0]),o=i(t[1]),r=0;r<a.edgepaths.length;r++)a.edgepaths[r]=s(a.edgepaths[r]);for(r=0;r<a.paths.length;r++)a.paths[r]=s(a.paths[r]);for(r=0;r<a.starts.length;r++)a.starts[r]=s(a.starts[r]);for(;o.edgepaths.length;)a.edgepaths.push(l(o.edgepaths.shift()));for(;o.paths.length;)a.paths.push(l(o.paths.shift()));for(;o.starts.length;)a.starts.push(l(o.starts.shift()));return[a]}}},{\"../../lib\":503}],744:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../heatmap/xyz_defaults\"),a=t(\"../scatter/period_defaults\"),o=t(\"./constraint_defaults\"),s=t(\"./contours_defaults\"),l=t(\"./style_defaults\"),c=t(\"../heatmap/label_defaults\"),u=t(\"./attributes\");e.exports=function(t,e,r,f){function h(r,i){return n.coerce(t,e,u,r,i)}if(i(t,e,h,f)){a(t,e,f,h),h(\"xhoverformat\"),h(\"yhoverformat\"),h(\"text\"),h(\"hovertext\"),h(\"hoverongaps\"),h(\"hovertemplate\");var p=\"constraint\"===h(\"contours.type\");h(\"connectgaps\",n.isArray1D(e.z)),p?o(t,e,h,f,r):(s(t,e,h,(function(r){return n.coerce2(t,e,u,r)})),l(t,e,h,f)),e.contours&&\"heatmap\"===e.contours.coloring&&c(h,f)}else e.visible=!1}},{\"../../lib\":503,\"../heatmap/label_defaults\":802,\"../heatmap/xyz_defaults\":807,\"../scatter/period_defaults\":947,\"./attributes\":735,\"./constraint_defaults\":740,\"./contours_defaults\":742,\"./style_defaults\":756}],745:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./constraint_mapping\"),a=t(\"./end_plus\");e.exports=function(t,e,r){for(var o=\"constraint\"===t.type?i[t._operation](t.value):t,s=o.size,l=[],c=a(o),u=r.trace._carpetTrace,f=u?{xaxis:u.aaxis,yaxis:u.baxis,x:r.a,y:r.b}:{xaxis:e.xaxis,yaxis:e.yaxis,x:r.x,y:r.y},h=o.start;h<c;h+=s)if(l.push(n.extendFlat({level:h,crossings:{},starts:[],edgepaths:[],paths:[],z:r.z,smoothing:r.trace.line.smoothing},f)),l.length>1e3){n.warn(\"Too many contours, clipping at 1000\",t);break}return l}},{\"../../lib\":503,\"./constraint_mapping\":741,\"./end_plus\":746}],746:[function(t,e,r){\"use strict\";e.exports=function(t){return t.end+t.size/1e6}},{}],747:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./constants\");function a(t,e,r,n){return Math.abs(t[0]-e[0])<r&&Math.abs(t[1]-e[1])<n}function o(t,e,r,o,l){var c,u=e.join(\",\"),f=t.crossings[u],h=function(t,e,r){var n=0,a=0;t>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;return[n,a]}(f,r,e),p=[s(t,e,[-h[0],-h[1]])],d=t.z.length,m=t.z[0].length,g=e.slice(),v=h.slice();for(c=0;c<1e4;c++){if(f>20?(f=i.CHOOSESADDLE[f][(h[0]||h[1])<0?0:1],t.crossings[u]=i.SADDLEREMAINDER[f]):delete t.crossings[u],!(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],u=e.join(\",\"),a(p[p.length-1],p[p.length-2],o,l)&&p.pop();var y=h[0]&&(e[0]<0||e[0]>m-2)||h[1]&&(e[1]<0||e[1]>d-2);if(e[0]===g[0]&&e[1]===g[1]&&h[0]===v[0]&&h[1]===v[1]||r&&y)break;f=t.crossings[u]}1e4===c&&n.log(\"Infinite loop in contour?\");var x,b,_,w,T,k,A,M,S,E,L,C,P,I,O,z=a(p[0],p[p.length-1],o,l),D=0,R=.2*t.smoothing,F=[],B=0;for(c=1;c<p.length;c++)C=p[c],P=p[c-1],I=void 0,O=void 0,I=C[2]-P[2],O=C[3]-P[3],D+=A=Math.sqrt(I*I+O*O),F.push(A);var N=D/F.length*R;function j(t){return p[t%p.length]}for(c=p.length-2;c>=B;c--)if((x=F[c])<N){for(_=0,b=c-1;b>=B&&x+F[b]<N;b--)x+=F[b];if(z&&c===p.length-2)for(_=0;_<b&&x+F[_]<N;_++)x+=F[_];T=c-b+_+1,k=Math.floor((c+b+_+2)/2),w=z||c!==p.length-2?z||-1!==b?T%2?j(k):[(j(k)[0]+j(k+1)[0])/2,(j(k)[1]+j(k+1)[1])/2]:p[0]:p[p.length-1],p.splice(b+1,c-b+1,w),c=b+1,_&&(B=_),z&&(c===p.length-2?p[_]=p[p.length-1]:0===c&&(p[p.length-1]=p[0]))}for(p.splice(0,B),c=0;c<p.length;c++)p[c].length=2;if(!(p.length<2))if(z)p.pop(),t.paths.push(p);else{r||n.log(\"Unclosed interior contour?\",t.level,g.join(\",\"),p.join(\"L\"));var U=!1;for(M=0;M<t.edgepaths.length;M++)if(E=t.edgepaths[M],!U&&a(E[0],p[p.length-1],o,l)){p.pop(),U=!0;var V=!1;for(S=0;S<t.edgepaths.length;S++)if(a((L=t.edgepaths[S])[L.length-1],p[0],o,l)){V=!0,p.shift(),t.edgepaths.splice(M,1),S===M?t.paths.push(p.concat(L)):(S>M&&S--,t.edgepaths[S]=L.concat(p,E));break}V||(t.edgepaths[M]=p.concat(E))}for(M=0;M<t.edgepaths.length&&!U;M++)a((E=t.edgepaths[M])[E.length-1],p[0],o,l)&&(p.shift(),t.edgepaths[M]=E.concat(p),U=!0);U||t.edgepaths.push(p)}}function s(t,e,r){var n=e[0]+Math.max(r[0],0),i=e[1]+Math.max(r[1],0),a=t.z[i][n],o=t.xaxis,s=t.yaxis;if(r[1]){var l=(t.level-a)/(t.z[i][n+1]-a),c=(1!==l?(1-l)*o.c2l(t.x[n]):0)+(0!==l?l*o.c2l(t.x[n+1]):0);return[o.c2p(o.l2c(c),!0),s.c2p(t.y[i],!0),n+l,i]}var u=(t.level-a)/(t.z[i+1][n]-a),f=(1!==u?(1-u)*s.c2l(t.y[i]):0)+(0!==u?u*s.c2l(t.y[i+1]):0);return[o.c2p(t.x[n],!0),s.c2p(s.l2c(f),!0),n,i+u]}e.exports=function(t,e,r){var i,a,s,l;for(e=e||.01,r=r||.01,a=0;a<t.length;a++){for(s=t[a],l=0;l<s.starts.length;l++)o(s,s.starts[l],\"edge\",e,r);for(i=0;Object.keys(s.crossings).length&&i<1e4;)i++,o(s,Object.keys(s.crossings)[0].split(\",\").map(Number),void 0,e,r);1e4===i&&n.log(\"Infinite loop in contour?\")}}},{\"../../lib\":503,\"./constants\":739}],748:[function(t,e,r){\"use strict\";var n=t(\"../../components/color\"),i=t(\"../heatmap/hover\");e.exports=function(t,e,r,a,o){o||(o={}),o.isContour=!0;var s=i(t,e,r,a,o);return s&&s.forEach((function(t){var e=t.trace;\"constraint\"===e.contours.type&&(e.fillcolor&&n.opacity(e.fillcolor)?t.color=n.addOpacity(e.fillcolor,1):e.contours.showlines&&n.opacity(e.line.color)&&(t.color=n.addOpacity(e.line.color,1)))})),s}},{\"../../components/color\":366,\"../heatmap/hover\":799}],749:[function(t,e,r){\"use strict\";e.exports={attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\"),calc:t(\"./calc\"),plot:t(\"./plot\").plot,style:t(\"./style\"),colorbar:t(\"./colorbar\"),hoverPoints:t(\"./hover\"),moduleType:\"trace\",name:\"contour\",basePlotModule:t(\"../../plots/cartesian\"),categories:[\"cartesian\",\"svg\",\"2dMap\",\"contour\",\"showLegend\"],meta:{}}},{\"../../plots/cartesian\":568,\"./attributes\":735,\"./calc\":736,\"./colorbar\":738,\"./defaults\":744,\"./hover\":748,\"./plot\":753,\"./style\":755}],750:[function(t,e,r){\"use strict\";var n=t(\"../../lib\");e.exports=function(t,e,r,i){if(i||(i={}),t(\"contours.showlabels\")){var a=e.font;n.coerceFont(t,\"contours.labelfont\",{family:a.family,size:a.size,color:r}),t(\"contours.labelformat\")}!1!==i.hasHover&&t(\"zhoverformat\")}},{\"../../lib\":503}],751:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../../components/colorscale\"),a=t(\"./end_plus\");e.exports=function(t){var e=t.contours,r=e.start,o=a(e),s=e.size||1,l=Math.floor((o-r)/s)+1,c=\"lines\"===e.coloring?0:1,u=i.extractOpts(t);isFinite(s)||(s=1,l=1);var f,h,p=u.reversescale?i.flipScale(u.colorscale):u.colorscale,d=p.length,m=new Array(d),g=new Array(d);if(\"heatmap\"===e.coloring){var v=u.min,y=u.max;for(h=0;h<d;h++)f=p[h],m[h]=f[0]*(y-v)+v,g[h]=f[1];var x=n.extent([v,y,e.start,e.start+s*(l-1)]),b=x[v<y?0:1],_=x[v<y?1:0];b!==v&&(m.splice(0,0,b),g.splice(0,0,g[0])),_!==y&&(m.push(_),g.push(g[g.length-1]))}else for(h=0;h<d;h++)f=p[h],m[h]=(f[0]*(l+c-1)-c/2)*s+r,g[h]=f[1];return i.makeColorScaleFunc({domain:m,range:g},{noNumericCheck:!0})}},{\"../../components/colorscale\":378,\"./end_plus\":746,\"@plotly/d3\":58}],752:[function(t,e,r){\"use strict\";var n=t(\"./constants\");function i(t,e){var r=(e[0][0]>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}e.exports=function(t){var e,r,a,o,s,l,c,u,f,h=t[0].z,p=h.length,d=h[0].length,m=2===p||2===d;for(r=0;r<p-1;r++)for(o=[],0===r&&(o=o.concat(n.BOTTOMSTART)),r===p-2&&(o=o.concat(n.TOPSTART)),e=0;e<d-1;e++)for(a=o.slice(),0===e&&(a=a.concat(n.LEFTSTART)),e===d-2&&(a=a.concat(n.RIGHTSTART)),s=e+\",\"+r,l=[[h[r][e],h[r][e+1]],[h[r+1][e],h[r+1][e+1]]],f=0;f<t.length;f++)(c=i((u=t[f]).level,l))&&(u.crossings[s]=c,-1!==a.indexOf(c)&&(u.starts.push([e,r]),m&&-1!==a.indexOf(c,a.indexOf(c)+1)&&u.starts.push([e,r])))}},{\"./constants\":739}],753:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../../lib\"),a=t(\"../../components/drawing\"),o=t(\"../../components/colorscale\"),s=t(\"../../lib/svg_text_utils\"),l=t(\"../../plots/cartesian/axes\"),c=t(\"../../plots/cartesian/set_convert\"),u=t(\"../heatmap/plot\"),f=t(\"./make_crossings\"),h=t(\"./find_all_paths\"),p=t(\"./empty_pathinfo\"),d=t(\"./convert_to_constraints\"),m=t(\"./close_boundaries\"),g=t(\"./constants\"),v=g.LABELOPTIMIZER;function y(t,e){var r,n,o,s,l,c,u,f=\"\",h=0,p=t.edgepaths.map((function(t,e){return e})),d=!0;function m(t){return Math.abs(t[1]-e[2][1])<.01}function g(t){return Math.abs(t[0]-e[0][0])<.01}function v(t){return Math.abs(t[0]-e[2][0])<.01}for(;p.length;){for(c=a.smoothopen(t.edgepaths[h],t.smoothing),f+=d?c:c.replace(/^M/,\"L\"),p.splice(p.indexOf(h),1),r=t.edgepaths[h][t.edgepaths[h].length-1],s=-1,o=0;o<4;o++){if(!r){i.log(\"Missing end?\",h,t);break}for(u=r,Math.abs(u[1]-e[0][1])<.01&&!v(r)?n=e[1]:g(r)?n=e[0]:m(r)?n=e[3]:v(r)&&(n=e[2]),l=0;l<t.edgepaths.length;l++){var y=t.edgepaths[l][0];Math.abs(r[0]-n[0])<.01?Math.abs(r[0]-y[0])<.01&&(y[1]-r[1])*(n[1]-y[1])>=0&&(n=y,s=l):Math.abs(r[1]-n[1])<.01?Math.abs(r[1]-y[1])<.01&&(y[0]-r[0])*(n[0]-y[0])>=0&&(n=y,s=l):i.log(\"endpt to newendpt is not vert. or horz.\",r,n,y)}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;h<t.paths.length;h++)f+=a.smoothclosed(t.paths[h],t.smoothing);return f}function x(t,e,r,n){var a=e.width/2,o=e.height/2,s=t.x,l=t.y,c=t.theta,u=Math.cos(c)*a,f=Math.sin(c)*a,h=(s>n.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(f)+Math.cos(c)*o);if(h<1||p<1)return 1/0;var d=v.EDGECOST*(1/(h-1)+1/(p-1));d+=v.ANGLECOST*c*c;for(var m=s-u,g=l-f,y=s+u,x=l+f,b=0;b<r.length;b++){var _=r[b],w=Math.cos(_.theta)*_.width/2,T=Math.sin(_.theta)*_.width/2,k=2*i.segmentDistance(m,g,y,x,_.x-w,_.y-T,_.x+w,_.y+T)/(e.height+_.height),A=_.level===e.level,M=A?v.SAMELEVELDISTANCE:1;if(k<=M)return 1/0;d+=v.NEIGHBORCOST*(A?v.SAMELEVELFACTOR:1)/(k-M)}return d}function b(t){var e,r,n=t.trace._emptypoints,i=[],a=t.z.length,o=t.z[0].length,s=[];for(e=0;e<o;e++)s.push(1);for(e=0;e<a;e++)i.push(s.slice());for(e=0;e<n.length;e++)i[(r=n[e])[0]][r[1]]=0;return t.zmask=i,i}r.plot=function(t,e,o,s){var l=e.xaxis,c=e.yaxis;i.makeTraceGroups(s,o,\"contour\").each((function(o){var s=n.select(this),v=o[0],x=v.trace,_=v.x,w=v.y,T=x.contours,k=p(T,e,v),A=i.ensureSingle(s,\"g\",\"heatmapcoloring\"),M=[];\"heatmap\"===T.coloring&&(M=[o]),u(t,e,M,A),f(k),h(k);var S=l.c2p(_[0],!0),E=l.c2p(_[_.length-1],!0),L=c.c2p(w[0],!0),C=c.c2p(w[w.length-1],!0),P=[[S,C],[E,C],[E,L],[S,L]],I=k;\"constraint\"===T.type&&(I=d(k,T._operation)),function(t,e,r){var n=i.ensureSingle(t,\"g\",\"contourbg\").selectAll(\"path\").data(\"fill\"===r.coloring?[0]:[]);n.enter().append(\"path\"),n.exit().remove(),n.attr(\"d\",\"M\"+e.join(\"L\")+\"Z\").style(\"stroke\",\"none\")}(s,P,T),function(t,e,r,a){var o=\"fill\"===a.coloring||\"constraint\"===a.type&&\"=\"!==a._operation,s=\"M\"+r.join(\"L\")+\"Z\";o&&m(e,a);var l=i.ensureSingle(t,\"g\",\"contourfill\").selectAll(\"path\").data(o?e:[]);l.enter().append(\"path\"),l.exit().remove(),l.each((function(t){var e=(t.prefixBoundary?s:\"\")+y(t,r);e?n.select(this).attr(\"d\",e).style(\"stroke\",\"none\"):n.select(this).remove()}))}(s,I,P,T),function(t,e,o,s,l){var c=i.ensureSingle(t,\"g\",\"contourlines\"),u=!1!==l.showlines,f=l.showlabels,h=u&&f,p=r.createLines(c,u||f,e),d=r.createLineClip(c,h,o,s.trace.uid),m=t.selectAll(\"g.contourlabels\").data(f?[0]:[]);if(m.exit().remove(),m.enter().append(\"g\").classed(\"contourlabels\",!0),f){var v=[],y=[];i.clearLocationCache();var x=r.labelFormatter(o,s),b=a.tester.append(\"text\").attr(\"data-notex\",1).call(a.font,l.labelfont),_=e[0].xaxis,w=e[0].yaxis,T=_._length,k=w._length,A=_.range,M=w.range,S=i.aggNums(Math.min,null,s.x),E=i.aggNums(Math.max,null,s.x),L=i.aggNums(Math.min,null,s.y),C=i.aggNums(Math.max,null,s.y),P=Math.max(_.c2p(S,!0),0),I=Math.min(_.c2p(E,!0),T),O=Math.max(w.c2p(C,!0),0),z=Math.min(w.c2p(L,!0),k),D={};A[0]<A[1]?(D.left=P,D.right=I):(D.left=I,D.right=P),M[0]<M[1]?(D.top=O,D.bottom=z):(D.top=z,D.bottom=O),D.middle=(D.top+D.bottom)/2,D.center=(D.left+D.right)/2,v.push([[D.left,D.top],[D.right,D.top],[D.right,D.bottom],[D.left,D.bottom]]);var R=Math.sqrt(T*T+k*k),F=g.LABELDISTANCE*R/Math.max(1,e.length/g.LABELINCREASE);p.each((function(t){var e=r.calcTextOpts(t.level,x,b,o);n.select(this).selectAll(\"path\").each((function(){var t=i.getVisibleSegment(this,D,e.height/2);if(t&&!(t.len<(e.width+e.height)*g.LABELMIN))for(var n=Math.min(Math.ceil(t.len/F),g.LABELMAX),a=0;a<n;a++){var o=r.findBestTextLocation(this,t,e,y,D);if(!o)break;r.addLabelData(o,e,y,v)}}))})),b.remove(),r.drawLabels(m,y,o,d,h?v:null)}f&&!u&&p.remove()}(s,k,t,v,T),function(t,e,r,n,o){var s=n.trace,l=r._fullLayout._clips,c=\"clip\"+s.uid,u=l.selectAll(\"#\"+c).data(s.connectgaps?[]:[0]);if(u.enter().append(\"clipPath\").classed(\"contourclip\",!0).attr(\"id\",c),u.exit().remove(),!1===s.connectgaps){var p={level:.9,crossings:{},starts:[],edgepaths:[],paths:[],xaxis:e.xaxis,yaxis:e.yaxis,x:n.x,y:n.y,z:b(n),smoothing:0};f([p]),h([p]),m([p],{type:\"levels\"}),i.ensureSingle(u,\"path\",\"\").attr(\"d\",(p.prefixBoundary?\"M\"+o.join(\"L\")+\"Z\":\"\")+y(p,o))}else c=null;a.setClipUrl(t,c,r)}(s,e,t,v,P)}))},r.createLines=function(t,e,r){var n=r[0].smoothing,i=t.selectAll(\"g.contourlevel\").data(e?r:[]);if(i.exit().remove(),i.enter().append(\"g\").classed(\"contourlevel\",!0),e){var o=i.selectAll(\"path.openline\").data((function(t){return t.pedgepaths||t.edgepaths}));o.exit().remove(),o.enter().append(\"path\").classed(\"openline\",!0),o.attr(\"d\",(function(t){return a.smoothopen(t,n)})).style(\"stroke-miterlimit\",1).style(\"vector-effect\",\"non-scaling-stroke\");var s=i.selectAll(\"path.closedline\").data((function(t){return t.ppaths||t.paths}));s.exit().remove(),s.enter().append(\"path\").classed(\"closedline\",!0),s.attr(\"d\",(function(t){return a.smoothclosed(t,n)})).style(\"stroke-miterlimit\",1).style(\"vector-effect\",\"non-scaling-stroke\")}return i},r.createLineClip=function(t,e,r,n){var i=e?\"clipline\"+n:null,o=r._fullLayout._clips.selectAll(\"#\"+i).data(e?[0]:[]);return o.exit().remove(),o.enter().append(\"clipPath\").classed(\"contourlineclip\",!0).attr(\"id\",i),a.setClipUrl(t,i,r),o},r.labelFormatter=function(t,e){var r=t._fullLayout,n=e.trace,i=n.contours,a={type:\"linear\",_id:\"ycontour\",showexponent:\"all\",exponentformat:\"B\"};if(i.labelformat)a.tickformat=i.labelformat,c(a,r);else{var s=o.extractOpts(n);if(s&&s.colorbar&&s.colorbar._axis)a=s.colorbar._axis;else{if(\"constraint\"===i.type){var u=i.value;Array.isArray(u)?a.range=[u[0],u[u.length-1]]:a.range=[u,u]}else a.range=[i.start,i.end],a.nticks=(i.end-i.start)/i.size;a.range[0]===a.range[1]&&(a.range[1]+=a.range[0]||1),a.nticks||(a.nticks=1e3),c(a,r),l.prepTicks(a),a._tmin=null,a._tmax=null}}return function(t){return l.tickText(a,t).text}},r.calcTextOpts=function(t,e,r,n){var i=e(t);r.text(i).call(s.convertToTspans,n);var o=r.node(),l=a.bBox(o,!0);return{text:i,width:l.width,height:l.height,fontSize:+o.style[\"font-size\"].replace(\"px\",\"\"),level:t,dy:(l.top+l.bottom)/2}},r.findBestTextLocation=function(t,e,r,n,a){var o,s,l,c,u,f=r.width;e.isClosed?(s=e.len/v.INITIALSEARCHPOINTS,o=e.min+s/2,l=e.max):(s=(e.len-f)/(v.INITIALSEARCHPOINTS+1),o=e.min+s+f/2,l=e.max-(s+f)/2);for(var h=1/0,p=0;p<v.ITERATIONS;p++){for(var d=o;d<l;d+=s){var m=i.getTextLocation(t,e.total,d,f),g=x(m,r,n,a);g<h&&(h=g,u=m,c=d)}if(h>2*v.MAXCOST)break;p&&(s/=2),l=(o=c-s/2)+1.5*s}if(h<=v.MAXCOST)return u},r.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),f=Math.cos(c),h=function(t,e){return[s+t*f-e*u,l+t*u+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:c,level:e.level,width:a,height:o}),n.push(p)},r.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;u<o.length;u++)c+=\"M\"+o[u].join(\"L\")+\"Z\";i.ensureSingle(a,\"path\",\"\").attr(\"d\",c)}}},{\"../../components/colorscale\":378,\"../../components/drawing\":388,\"../../lib\":503,\"../../lib/svg_text_utils\":529,\"../../plots/cartesian/axes\":554,\"../../plots/cartesian/set_convert\":576,\"../heatmap/plot\":804,\"./close_boundaries\":737,\"./constants\":739,\"./convert_to_constraints\":743,\"./empty_pathinfo\":745,\"./find_all_paths\":747,\"./make_crossings\":752,\"@plotly/d3\":58}],754:[function(t,e,r){\"use strict\";var n=t(\"../../plots/cartesian/axes\"),i=t(\"../../lib\");function a(t,e,r){var i={type:\"linear\",range:[t,e]};return n.autoTicks(i,(e-t)/(r||15)),i}e.exports=function(t,e){var r=t.contours;if(t.autocontour){var o=t.zmin,s=t.zmax;(t.zauto||void 0===o)&&(o=i.aggNums(Math.min,null,e)),(t.zauto||void 0===s)&&(s=i.aggNums(Math.max,null,e));var l=a(o,s,t.ncontours);r.size=l.dtick,r.start=n.tickFirst(l),l.range.reverse(),r.end=n.tickFirst(l),r.start===o&&(r.start+=r.size),r.end===s&&(r.end-=r.size),r.start>r.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,f=r.end,h=t._input.contours;if(u>f&&(r.start=h.start=f,f=r.end=h.end=u,u=r.start),!(r.size>0))c=u===f?1:a(u,f,t.ncontours).dtick,h.size=r.size=c}}},{\"../../lib\":503,\"../../plots/cartesian/axes\":554}],755:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../../components/drawing\"),a=t(\"../heatmap/style\"),o=t(\"./make_color_map\");e.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,f=!u&&\"lines\"===a.coloring,h=!u&&\"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),{family:d.family,size:d.size,color:d.color||(f?p(t.level):s.color)})})),u)e.selectAll(\"g.contourfill path\").style(\"fill\",r.fillcolor);else if(h){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)}},{\"../../components/drawing\":388,\"../heatmap/style\":805,\"./make_color_map\":751,\"@plotly/d3\":58}],756:[function(t,e,r){\"use strict\";var n=t(\"../../components/colorscale/defaults\"),i=t(\"./label_defaults\");e.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)}},{\"../../components/colorscale/defaults\":376,\"./label_defaults\":750}],757:[function(t,e,r){\"use strict\";var n=t(\"../heatmap/attributes\"),i=t(\"../contour/attributes\"),a=t(\"../../components/colorscale/attributes\"),o=t(\"../../lib/extend\").extendFlat,s=i.contours;e.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\"},transforms:void 0},a(\"\",{cLetter:\"z\",autoColorDflt:!1}))},{\"../../components/colorscale/attributes\":373,\"../../lib/extend\":493,\"../contour/attributes\":735,\"../heatmap/attributes\":792}],758:[function(t,e,r){\"use strict\";var n=t(\"../../components/colorscale/calc\"),i=t(\"../../lib\"),a=t(\"../heatmap/convert_column_xyz\"),o=t(\"../heatmap/clean_2d_array\"),s=t(\"../heatmap/interp2d\"),l=t(\"../heatmap/find_empties\"),c=t(\"../heatmap/make_bound_array\"),u=t(\"./defaults\"),f=t(\"../carpet/lookup_carpetid\"),h=t(\"../contour/set_contours\");e.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),u(d,e,e._defaultColor,t._fullLayout)}var m=function(t,e){var r,u,f,h,p,d,m,g=e._carpetTrace,v=g.aaxis,y=g.baxis;v._minDtick=0,y._minDtick=0,i.isArray1D(e.z)&&a(e,v,y,\"a\",\"b\",[\"z\"]);r=e._a=e._a||e.a,h=e._b=e._b||e.b,r=r?v.makeCalcdata(e,\"_a\"):[],h=h?y.makeCalcdata(e,\"_b\"):[],u=e.a0||0,f=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),b=\"scaled\"===e.xtype?\"\":r,_=c(e,b,u,f,x,v),w=\"scaled\"===e.ytype?\"\":h,T=c(e,w,p,d,m.length,y),k={a:_,b:T,z:m};\"levels\"===e.contours.type&&\"none\"!==e.contours.coloring&&n(t,e,{vals:m,containerStr:\"\",cLetter:\"z\"});return[k]}(t,e);return h(e,e._z),m}}},{\"../../components/colorscale/calc\":374,\"../../lib\":503,\"../carpet/lookup_carpetid\":708,\"../contour/set_contours\":754,\"../heatmap/clean_2d_array\":794,\"../heatmap/convert_column_xyz\":796,\"../heatmap/find_empties\":798,\"../heatmap/interp2d\":801,\"../heatmap/make_bound_array\":803,\"./defaults\":759}],759:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../heatmap/xyz_defaults\"),a=t(\"./attributes\"),o=t(\"../contour/constraint_defaults\"),s=t(\"../contour/contours_defaults\"),l=t(\"../contour/style_defaults\");e.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}},{\"../../lib\":503,\"../contour/constraint_defaults\":740,\"../contour/contours_defaults\":742,\"../contour/style_defaults\":756,\"../heatmap/xyz_defaults\":807,\"./attributes\":757}],760:[function(t,e,r){\"use strict\";e.exports={attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\"),colorbar:t(\"../contour/colorbar\"),calc:t(\"./calc\"),plot:t(\"./plot\"),style:t(\"../contour/style\"),moduleType:\"trace\",name:\"contourcarpet\",basePlotModule:t(\"../../plots/cartesian\"),categories:[\"cartesian\",\"svg\",\"carpet\",\"contour\",\"symbols\",\"showLegend\",\"hasLines\",\"carpetDependent\",\"noHover\",\"noSortingByValue\"],meta:{}}},{\"../../plots/cartesian\":568,\"../contour/colorbar\":738,\"../contour/style\":755,\"./attributes\":757,\"./calc\":758,\"./defaults\":759,\"./plot\":761}],761:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../carpet/map_1d_array\"),a=t(\"../carpet/makepath\"),o=t(\"../../components/drawing\"),s=t(\"../../lib\"),l=t(\"../contour/make_crossings\"),c=t(\"../contour/find_all_paths\"),u=t(\"../contour/plot\"),f=t(\"../contour/constants\"),h=t(\"../contour/convert_to_constraints\"),p=t(\"../contour/empty_pathinfo\"),d=t(\"../contour/close_boundaries\"),m=t(\"../carpet/lookup_carpetid\"),g=t(\"../carpet/axis_aligned_line\");function v(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 y(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}e.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=m(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,I=L._operation,O=P?\"=\"===I?\"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]);c(C,D,R);var F,B,N,j,U=C;\"constraint\"===L.type&&(U=h(C,I)),function(t,e){var r,n,i,a,o,s,l,c,u;for(r=0;r<t.length;r++){for(a=t[r],o=a.pedgepaths=[],s=a.ppaths=[],n=0;n<a.edgepaths.length;n++){for(u=a.edgepaths[n],l=[],i=0;i<u.length;i++)l[i]=e(u[i]);o.push(l)}for(n=0;n<a.paths.length;n++){for(u=a.paths[n],c=[],i=0;i<u.length;i++)c[i]=e(u[i]);s.push(c)}}}(C,q);var V=[];for(j=M.clipsegments.length-1;j>=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 H=\"M\"+V.join(\"L\")+\"Z\";!function(t,e,r,n,o,l){var c,u,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<e.length;h++)c=e[h],u=i([],c.x,r.c2p),f=i([],c.y,n.c2p),d.push(a(u,f,c.bicubic));p.attr(\"d\",\"M\"+d.join(\"L\")+\"Z\").style(\"stroke\",\"none\")}(b,M.clipsegments,_,w,P,O),function(t,e,r,i,a,l,c,u,f,h,p){var m=\"fill\"===h;m&&d(a,t.contours);var v=s.ensureSingle(e,\"g\",\"contourfill\").selectAll(\"path\").data(m?a:[]);v.enter().append(\"path\"),v.exit().remove(),v.each((function(t){var e=(t.prefixBoundary?p:\"\")+function(t,e,r,n,i,a,l,c){var u,f,h,p,d,m,v,y=\"\",x=e.edgepaths.map((function(t,e){return e})),b=!0,_=1e-4*Math.abs(r[0][0]-r[2][0]),w=1e-4*Math.abs(r[0][1]-r[2][1]);function T(t){return Math.abs(t[1]-r[0][1])<w}function k(t){return Math.abs(t[1]-r[2][1])<w}function A(t){return Math.abs(t[0]-r[0][0])<_}function M(t){return Math.abs(t[0]-r[2][0])<_}function S(t,e){var r,n,o,s,u=\"\";for(T(t)&&!M(t)||k(t)&&!A(t)?(s=i.aaxis,o=g(i,a,[t[0],e[0]],.5*(t[1]+e[1]))):(s=i.baxis,o=g(i,a,.5*(t[0]+e[0]),[t[1],e[1]])),r=1;r<o.length;r++)for(u+=s.smoothing?\"C\":\"L\",n=0;n<o[r].length;n++){var f=o[r][n];u+=[l.c2p(f[0]),c.c2p(f[1])]+\" \"}return u}u=0,f=null;for(;x.length;){var E=e.edgepaths[u][0];for(f&&(y+=S(f,E)),v=o.smoothopen(e.edgepaths[u].map(n),e.smoothing),y+=b?v:v.replace(/^M/,\"L\"),x.splice(x.indexOf(u),1),f=e.edgepaths[u][e.edgepaths[u].length-1],d=-1,p=0;p<4;p++){if(!f){s.log(\"Missing end?\",u,e);break}for(T(f)&&!M(f)?h=r[1]:A(f)?h=r[0]:k(f)?h=r[3]:M(f)&&(h=r[2]),m=0;m<e.edgepaths.length;m++){var L=e.edgepaths[m][0];Math.abs(f[0]-h[0])<_?Math.abs(f[0]-L[0])<_&&(L[1]-f[1])*(h[1]-L[1])>=0&&(h=L,d=m):Math.abs(f[1]-h[1])<w?Math.abs(f[1]-L[1])<w&&(L[0]-f[0])*(h[0]-L[0])>=0&&(h=L,d=m):s.log(\"endpt to newendpt is not vert. or horz.\",f,h,L)}if(d>=0)break;y+=S(f,h),f=h}if(d===e.edgepaths.length){s.log(\"unclosed perimeter path\");break}u=d,(b=-1===x.indexOf(u))&&(u=x[0],y+=S(f,h)+\"Z\",f=null)}for(u=0;u<e.paths.length;u++)y+=o.smoothclosed(e.paths[u].map(n),e.smoothing);return y}(0,t,l,c,u,f,r,i);e?n.select(this).attr(\"d\",e).style(\"stroke\",\"none\"):n.select(this).remove()}))}(k,b,_,w,U,z,q,A,M,O,H),function(t,e,r,i,a,l,c){var h=s.ensureSingle(t,\"g\",\"contourlines\"),p=!1!==a.showlines,d=a.showlabels,m=p&&d,g=u.createLines(h,p||d,e),b=u.createLineClip(h,m,r,i.trace.uid),_=t.selectAll(\"g.contourlabels\").data(d?[0]:[]);if(_.exit().remove(),_.enter().append(\"g\").classed(\"contourlabels\",!0),d){var w=l.xaxis,T=l.yaxis,k=w._length,A=T._length,M=[[[0,0],[k,0],[k,A],[0,A]]],S=[];s.clearLocationCache();var E=u.labelFormatter(r,i),L=o.tester.append(\"text\").attr(\"data-notex\",1).call(o.font,a.labelfont),C={left:0,right:k,center:k/2,top:0,bottom:A,middle:A/2},P=Math.sqrt(k*k+A*A),I=f.LABELDISTANCE*P/Math.max(1,e.length/f.LABELINCREASE);g.each((function(t){var e=u.calcTextOpts(t.level,E,L,r);n.select(this).selectAll(\"path\").each((function(r){var n=s.getVisibleSegment(this,C,e.height/2);if(n&&(function(t,e,r,n,i,a){for(var o,s=0;s<r.pedgepaths.length;s++)e===r.pedgepaths[s]&&(o=r.edgepaths[s]);if(!o)return;var l=i.a[0],c=i.a[i.a.length-1],u=i.b[0],f=i.b[i.b.length-1];function h(t,e){var r,n=0;return(Math.abs(t[0]-l)<.1||Math.abs(t[0]-c)<.1)&&(r=y(i.dxydb_rough(t[0],t[1],.1)),n=Math.max(n,a*x(e,r)/2)),(Math.abs(t[1]-u)<.1||Math.abs(t[1]-f)<.1)&&(r=y(i.dxyda_rough(t[0],t[1],.1)),n=Math.max(n,a*x(e,r)/2)),n}var p=v(t,0,1),d=v(t,n.total,n.total-1),m=h(o[0],p),g=n.total-h(o[o.length-1],d);n.min<m&&(n.min=m);n.max>g&&(n.max=g);n.len=n.max-n.min}(this,r,t,n,c,e.height),!(n.len<(e.width+e.height)*f.LABELMIN)))for(var i=Math.min(Math.ceil(n.len/I),f.LABELMAX),a=0;a<i;a++){var o=u.findBestTextLocation(this,n,e,S,C);if(!o)break;u.addLabelData(o,e,S,M)}}))})),L.remove(),u.drawLabels(_,S,r,b,m?M:null)}d&&!p&&g.remove()}(b,C,t,T,L,e,A),o.setClipUrl(b,A._clipPathId,t)}function q(t){var e=A.ab2xy(t[0],t[1],!0);return[_.c2p(e[0]),w.c2p(e[1])]}}))}},{\"../../components/drawing\":388,\"../../lib\":503,\"../carpet/axis_aligned_line\":692,\"../carpet/lookup_carpetid\":708,\"../carpet/makepath\":709,\"../carpet/map_1d_array\":710,\"../contour/close_boundaries\":737,\"../contour/constants\":739,\"../contour/convert_to_constraints\":743,\"../contour/empty_pathinfo\":745,\"../contour/find_all_paths\":747,\"../contour/make_crossings\":752,\"../contour/plot\":753,\"@plotly/d3\":58}],762:[function(t,e,r){\"use strict\";var n=t(\"../../components/colorscale/attributes\"),i=t(\"../../plots/template_attributes\").hovertemplateAttrs,a=t(\"../../plots/attributes\"),o=t(\"../scattermapbox/attributes\"),s=t(\"../../lib/extend\").extendFlat;e.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\"}))},{\"../../components/colorscale/attributes\":373,\"../../lib/extend\":493,\"../../plots/attributes\":550,\"../../plots/template_attributes\":633,\"../scattermapbox/attributes\":993}],763:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../../lib\").isArrayOrTypedArray,a=t(\"../../constants/numerical\").BADNUM,o=t(\"../../components/colorscale/calc\"),s=t(\"../../lib\")._;e.exports=function(t,e){for(var r=e._length,l=new Array(r),c=e.z,u=i(c)&&c.length,f=0;f<r;f++){var h=l[f]={},p=e.lon[f],d=e.lat[f];if(h.lonlat=n(p)&&n(d)?[+p,+d]:[a,a],u){var m=c[f];h.z=n(m)?m:a}}return o(t,e,{vals:u?c:[0,1],containerStr:\"\",cLetter:\"z\"}),r&&(l[0].t={labels:{lat:s(t,\"lat:\")+\" \",lon:s(t,\"lon:\")+\" \"}}),l}},{\"../../components/colorscale/calc\":374,\"../../constants/numerical\":479,\"../../lib\":503,\"fast-isnumeric\":190}],764:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../../lib\"),a=t(\"../../components/color\"),o=t(\"../../components/colorscale\"),s=t(\"../../constants/numerical\").BADNUM,l=t(\"../../lib/geojson_utils\").makeBlank;e.exports=function(t){var e=t[0].trace,r=!0===e.visible&&0!==e._length,c=e._opts={heatmap:{layout:{visibility:\"none\"},paint:{}},geojson:l()};if(!r)return c;var u,f=[],h=e.z,p=e.radius,d=i.isArrayOrTypedArray(h)&&h.length,m=i.isArrayOrTypedArray(p);for(u=0;u<t.length;u++){var g=t[u],v=g.lonlat;if(v[0]!==s){var y={};if(d){var x=g.z;y.z=x!==s?x:0}m&&(y.r=n(p[u])&&p[u]>0?+p[u]:0),f.push({type:\"Feature\",geometry:{type:\"Point\",coordinates:v},properties:y})}}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(u=1;u<_.length;u++)T.push(_[u][0],_[u][1]);var k=[\"interpolate\",[\"linear\"],[\"get\",\"z\"],b.min,0,b.max,1];return i.extendFlat(c.heatmap.paint,{\"heatmap-weight\":d?k:1/(b.max-b.min),\"heatmap-color\":T,\"heatmap-radius\":m?{type:\"identity\",property:\"r\"}:e.radius,\"heatmap-opacity\":e.opacity}),c.geojson={type:\"FeatureCollection\",features:f},c.heatmap.layout.visibility=\"visible\",c}},{\"../../components/color\":366,\"../../components/colorscale\":378,\"../../constants/numerical\":479,\"../../lib\":503,\"../../lib/geojson_utils\":497,\"fast-isnumeric\":190}],765:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../components/colorscale/defaults\"),a=t(\"./attributes\");e.exports=function(t,e,r,o){function s(r,i){return n.coerce(t,e,a,r,i)}var l=s(\"lon\")||[],c=s(\"lat\")||[],u=Math.min(l.length,c.length);u?(e._length=u,s(\"z\"),s(\"radius\"),s(\"below\"),s(\"text\"),s(\"hovertext\"),s(\"hovertemplate\"),i(t,e,o,s,{prefix:\"\",cLetter:\"z\"})):e.visible=!1}},{\"../../components/colorscale/defaults\":376,\"../../lib\":503,\"./attributes\":762}],766:[function(t,e,r){\"use strict\";e.exports=function(t,e){return t.lon=e.lon,t.lat=e.lat,t.z=e.z,t}},{}],767:[function(t,e,r){\"use strict\";var n=t(\"../../plots/cartesian/axes\"),i=t(\"../scattermapbox/hover\").hoverPoints,a=t(\"../scattermapbox/hover\").getExtraText;e.exports=function(t,e,r){var o=i(t,e,r);if(o){var s=o[0],l=s.cd,c=l[0].trace,u=l[s.index];if(delete s.color,\"z\"in u){var f=s.subplot.mockAxis;s.z=u.z,s.zLabel=n.tickText(f,f.c2l(u.z),\"hover\").text}return s.extraText=a(c,u,l[0].t.labels),[s]}}},{\"../../plots/cartesian/axes\":554,\"../scattermapbox/hover\":998}],768:[function(t,e,r){\"use strict\";e.exports={attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\"),colorbar:t(\"../heatmap/colorbar\"),formatLabels:t(\"../scattermapbox/format_labels\"),calc:t(\"./calc\"),plot:t(\"./plot\"),hoverPoints:t(\"./hover\"),eventData:t(\"./event_data\"),getBelow:function(t,e){for(var r=e.getMapLayers(),n=0;n<r.length;n++){var i=r[n],a=i.id;if(\"symbol\"===i.type&&\"string\"==typeof a&&-1===a.indexOf(\"plotly-\"))return a}},moduleType:\"trace\",name:\"densitymapbox\",basePlotModule:t(\"../../plots/mapbox\"),categories:[\"mapbox\",\"gl\",\"showLegend\"],meta:{hr_name:\"density_mapbox\"}}},{\"../../plots/mapbox\":613,\"../heatmap/colorbar\":795,\"../scattermapbox/format_labels\":997,\"./attributes\":762,\"./calc\":763,\"./defaults\":765,\"./event_data\":766,\"./hover\":767,\"./plot\":769}],769:[function(t,e,r){\"use strict\";var n=t(\"./convert\"),i=t(\"../../plots/mapbox/constants\").traceLayerPrefix;function a(t,e){this.type=\"densitymapbox\",this.subplot=t,this.uid=e,this.sourceId=\"source-\"+e,this.layerList=[[\"heatmap\",i+e+\"-heatmap\"]],this.below=null}var o=a.prototype;o.update=function(t){var e=this.subplot,r=this.layerList,i=n(t),a=e.belowLookup[\"trace-\"+this.uid];e.map.getSource(this.sourceId).setData(i.geojson),a!==this.below&&(this._removeLayers(),this._addLayers(i,a),this.below=a);for(var o=0;o<r.length;o++){var s=r[o],l=s[0],c=s[1],u=i[l];e.setOptions(c,\"setLayoutProperty\",u.layout),\"visible\"===u.layout.visibility&&e.setOptions(c,\"setPaintProperty\",u.paint)}},o._addLayers=function(t,e){for(var r=this.subplot,n=this.layerList,i=this.sourceId,a=0;a<n.length;a++){var o=n[a],s=o[0],l=t[s];r.addLayer({type:s,id:o[1],source:i,layout:l.layout,paint:l.paint},e)}},o._removeLayers=function(){for(var t=this.subplot.map,e=this.layerList,r=e.length-1;r>=0;r--)t.removeLayer(e[r][1])},o.dispose=function(){var t=this.subplot.map;this._removeLayers(),t.removeSource(this.sourceId)},e.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}},{\"../../plots/mapbox/constants\":611,\"./convert\":764}],770:[function(t,e,r){\"use strict\";var n=t(\"../../lib\");e.exports=function(t,e){for(var r=0;r<t.length;r++)t[r].i=r;n.mergeArray(e.text,t,\"tx\"),n.mergeArray(e.hovertext,t,\"htx\");var i=e.marker;if(i){n.mergeArray(i.opacity,t,\"mo\"),n.mergeArray(i.color,t,\"mc\");var a=i.line;a&&(n.mergeArray(a.color,t,\"mlc\"),n.mergeArrayCastPositive(a.width,t,\"mlw\"))}}},{\"../../lib\":503}],771:[function(t,e,r){\"use strict\";var n,i=t(\"../bar/attributes\"),a=t(\"../scatter/attributes\").line,o=t(\"../../plots/attributes\"),s=t(\"../../plots/cartesian/axis_format_attributes\").axisHoverFormat,l=t(\"../../plots/template_attributes\").hovertemplateAttrs,c=t(\"../../plots/template_attributes\").texttemplateAttrs,u=t(\"./constants\"),f=t(\"../../lib/extend\").extendFlat,h=t(\"../../components/color\");e.exports={x:i.x,x0:i.x0,dx:i.dx,y:i.y,y0:i.y0,dy:i.dy,xperiod:i.xperiod,yperiod:i.yperiod,xperiod0:i.xperiod0,yperiod0:i.yperiod0,xperiodalignment:i.xperiodalignment,yperiodalignment:i.yperiodalignment,xhoverformat:s(\"x\"),yhoverformat:s(\"y\"),hovertext:i.hovertext,hovertemplate:l({},{keys:u.eventDataKeys}),hoverinfo:f({},o.hoverinfo,{flags:[\"name\",\"x\",\"y\",\"text\",\"percent initial\",\"percent previous\",\"percent total\"]}),textinfo:{valType:\"flaglist\",flags:[\"label\",\"text\",\"percent initial\",\"percent previous\",\"percent total\",\"value\"],extras:[\"none\"],editType:\"plot\",arrayOk:!1},texttemplate:c({editType:\"plot\"},{keys:u.eventDataKeys.concat([\"label\",\"value\"])}),text:i.text,textposition:i.textposition,insidetextanchor:f({},i.insidetextanchor,{dflt:\"middle\"}),textangle:f({},i.textangle,{dflt:0}),textfont:i.textfont,insidetextfont:i.insidetextfont,outsidetextfont:i.outsidetextfont,constraintext:i.constraintext,cliponaxis:i.cliponaxis,orientation:f({},i.orientation,{}),offset:f({},i.offset,{arrayOk:!1}),width:f({},i.width,{arrayOk:!1}),marker:(n=f({},i.marker),delete n.pattern,n),connector:{fillcolor:{valType:\"color\",editType:\"style\"},line:{color:f({},a.color,{dflt:h.defaultLine}),width:f({},a.width,{dflt:0,editType:\"plot\"}),dash:a.dash,editType:\"style\"},visible:{valType:\"boolean\",dflt:!0,editType:\"plot\"},editType:\"plot\"},offsetgroup:i.offsetgroup,alignmentgroup:i.alignmentgroup}},{\"../../components/color\":366,\"../../lib/extend\":493,\"../../plots/attributes\":550,\"../../plots/cartesian/axis_format_attributes\":557,\"../../plots/template_attributes\":633,\"../bar/attributes\":648,\"../scatter/attributes\":927,\"./constants\":773}],772:[function(t,e,r){\"use strict\";var n=t(\"../../plots/cartesian/axes\"),i=t(\"../../plots/cartesian/align_period\"),a=t(\"./arrays_to_calcdata\"),o=t(\"../scatter/calc_selection\"),s=t(\"../../constants/numerical\").BADNUM;function l(t){return t===s?0:t}e.exports=function(t,e){var r,c,u,f,h,p,d,m,g=n.getFromId(t,e.xaxis||\"x\"),v=n.getFromId(t,e.yaxis||\"y\");\"h\"===e.orientation?(r=g.makeCalcdata(e,\"x\"),u=v.makeCalcdata(e,\"y\"),f=i(e,v,\"y\",u),h=!!e.yperiodalignment,p=\"y\"):(r=v.makeCalcdata(e,\"y\"),u=g.makeCalcdata(e,\"x\"),f=i(e,g,\"x\",u),h=!!e.xperiodalignment,p=\"x\"),c=f.vals;var y,x=Math.min(c.length,r.length),b=new Array(x);for(e._base=[],d=0;d<x;d++){r[d]<0&&(r[d]=s);var _=!1;r[d]!==s&&d+1<x&&r[d+1]!==s&&(_=!0),m=b[d]={p:c[d],s:r[d],cNext:_},e._base[d]=-.5*m.s,h&&(b[d].orig_p=u[d],b[d][p+\"End\"]=f.ends[d],b[d][p+\"Start\"]=f.starts[d]),e.ids&&(m.id=String(e.ids[d])),0===d&&(b[0].vTotal=0),b[0].vTotal+=l(m.s),m.begR=l(m.s)/l(b[0].s)}for(d=0;d<x;d++)(m=b[d]).s!==s&&(m.sumR=m.s/b[0].vTotal,m.difR=void 0!==y?m.s/y:1,y=m.s);return a(b,e),o(b,e),b}},{\"../../constants/numerical\":479,\"../../plots/cartesian/align_period\":551,\"../../plots/cartesian/axes\":554,\"../scatter/calc_selection\":929,\"./arrays_to_calcdata\":770}],773:[function(t,e,r){\"use strict\";e.exports={eventDataKeys:[\"percentInitial\",\"percentPrevious\",\"percentTotal\"]}},{}],774:[function(t,e,r){\"use strict\";var n=t(\"../bar/cross_trace_calc\").setGroupPositions;e.exports=function(t,e){var r,i,a=t._fullLayout,o=t._fullData,s=t.calcdata,l=e.xaxis,c=e.yaxis,u=[],f=[],h=[];for(i=0;i<o.length;i++){var p=o[i],d=\"h\"===p.orientation;!0===p.visible&&p.xaxis===l._id&&p.yaxis===c._id&&\"funnel\"===p.type&&(r=s[i],d?h.push(r):f.push(r),u.push(r))}var m={mode:a.funnelmode,norm:a.funnelnorm,gap:a.funnelgap,groupgap:a.funnelgroupgap};for(n(t,l,c,f,m),n(t,c,l,h,m),i=0;i<u.length;i++){r=u[i];for(var g=0;g<r.length;g++)g+1<r.length&&(r[g].nextP0=r[g+1].p0,r[g].nextS0=r[g+1].s0,r[g].nextP1=r[g+1].p1,r[g].nextS1=r[g+1].s1)}}},{\"../bar/cross_trace_calc\":651}],775:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../bar/defaults\").handleGroupingDefaults,a=t(\"../bar/defaults\").handleText,o=t(\"../scatter/xy_defaults\"),s=t(\"../scatter/period_defaults\"),l=t(\"./attributes\"),c=t(\"../../components/color\");e.exports={supplyDefaults:function(t,e,r,i){function u(r,i){return n.coerce(t,e,l,r,i)}if(o(t,e,i,u)){s(t,e,i,u),u(\"xhoverformat\"),u(\"yhoverformat\"),u(\"orientation\",e.y&&!e.x?\"v\":\"h\"),u(\"offset\"),u(\"width\");var f=u(\"text\");u(\"hovertext\"),u(\"hovertemplate\");var h=u(\"textposition\");a(t,e,i,u,h,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!0,moduleHasCliponaxis:!0,moduleHasTextangle:!0,moduleHasInsideanchor:!0}),\"none\"===e.textposition||e.texttemplate||u(\"textinfo\",Array.isArray(f)?\"text+value\":\"value\");var p=u(\"marker.color\",r);if(u(\"marker.line.color\",c.defaultLine),u(\"marker.line.width\"),u(\"connector.visible\"))u(\"connector.fillcolor\",function(t){var e=n.isArrayOrTypedArray(t)?\"#000\":t;return c.addOpacity(e,.5*c.opacity(e))}(p)),u(\"connector.line.width\")&&(u(\"connector.line.color\"),u(\"connector.line.dash\"))}else e.visible=!1},crossTraceDefaults:function(t,e){var r,a;function o(t){return n.coerce(a._input,a,l,t)}if(\"group\"===e.funnelmode)for(var s=0;s<t.length;s++)r=(a=t[s])._input,i(r,a,e,o)}}},{\"../../components/color\":366,\"../../lib\":503,\"../bar/defaults\":652,\"../scatter/period_defaults\":947,\"../scatter/xy_defaults\":954,\"./attributes\":771}],776:[function(t,e,r){\"use strict\";e.exports=function(t,e){return t.x=\"xVal\"in e?e.xVal:e.x,t.y=\"yVal\"in e?e.yVal:e.y,\"percentInitial\"in e&&(t.percentInitial=e.percentInitial),\"percentPrevious\"in e&&(t.percentPrevious=e.percentPrevious),\"percentTotal\"in e&&(t.percentTotal=e.percentTotal),e.xa&&(t.xaxis=e.xa),e.ya&&(t.yaxis=e.ya),t}},{}],777:[function(t,e,r){\"use strict\";var n=t(\"../../components/color\").opacity,i=t(\"../bar/hover\").hoverOnBars,a=t(\"../../lib\").formatPercent;e.exports=function(t,e,r,o,s){var l=i(t,e,r,o,s);if(l){var c=l.cd,u=c[0].trace,f=\"h\"===u.orientation,h=c[l.index];l[(f?\"x\":\"y\")+\"LabelVal\"]=h.s,l.percentInitial=h.begR,l.percentInitialLabel=a(h.begR,1),l.percentPrevious=h.difR,l.percentPreviousLabel=a(h.difR,1),l.percentTotal=h.sumR,l.percentTotalLabel=a(h.sumR,1);var p=h.hi||u.hoverinfo,d=[];if(p&&\"none\"!==p&&\"skip\"!==p){var m=\"all\"===p,g=p.split(\"+\"),v=function(t){return m||-1!==g.indexOf(t)};v(\"percent initial\")&&d.push(l.percentInitialLabel+\" of initial\"),v(\"percent previous\")&&d.push(l.percentPreviousLabel+\" of previous\"),v(\"percent total\")&&d.push(l.percentTotalLabel+\" of total\")}return l.extraText=d.join(\"<br>\"),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;if(n(i))return i;if(n(a)&&o)return a}(u,h),[l]}}},{\"../../components/color\":366,\"../../lib\":503,\"../bar/hover\":655}],778:[function(t,e,r){\"use strict\";e.exports={attributes:t(\"./attributes\"),layoutAttributes:t(\"./layout_attributes\"),supplyDefaults:t(\"./defaults\").supplyDefaults,crossTraceDefaults:t(\"./defaults\").crossTraceDefaults,supplyLayoutDefaults:t(\"./layout_defaults\"),calc:t(\"./calc\"),crossTraceCalc:t(\"./cross_trace_calc\"),plot:t(\"./plot\"),style:t(\"./style\").style,hoverPoints:t(\"./hover\"),eventData:t(\"./event_data\"),selectPoints:t(\"../bar/select\"),moduleType:\"trace\",name:\"funnel\",basePlotModule:t(\"../../plots/cartesian\"),categories:[\"bar-like\",\"cartesian\",\"svg\",\"oriented\",\"showLegend\",\"zoomScale\"],meta:{}}},{\"../../plots/cartesian\":568,\"../bar/select\":660,\"./attributes\":771,\"./calc\":772,\"./cross_trace_calc\":774,\"./defaults\":775,\"./event_data\":776,\"./hover\":777,\"./layout_attributes\":779,\"./layout_defaults\":780,\"./plot\":781,\"./style\":782}],779:[function(t,e,r){\"use strict\";e.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\"}}},{}],780:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./layout_attributes\");e.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<r.length;s++){var l=r[s];if(l.visible&&\"funnel\"===l.type){a=!0;break}}a&&(o(\"funnelmode\"),o(\"funnelgap\",.2),o(\"funnelgroupgap\"))}},{\"../../lib\":503,\"./layout_attributes\":779}],781:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../../lib\"),a=t(\"../../components/drawing\"),o=t(\"../../constants/numerical\").BADNUM,s=t(\"../bar/plot\"),l=t(\"../bar/uniform_text\").clearMinTextSize;function c(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),i[2]=o.c2p(t.nextS0,!0),a[2]=s.c2p(t.nextP0,!0),i[3]=o.c2p(t.nextS1,!0),a[3]=s.c2p(t.nextP1,!0),n?[i,a]:[a,i]}e.exports=function(t,e,r,u){var f=t._fullLayout;l(\"funnel\",f),function(t,e,r,s){var l=e.xaxis,u=e.yaxis;i.makeTraceGroups(s,r,\"trace bars\").each((function(r){var s=n.select(this),f=r[0].trace,h=i.ensureSingle(s,\"g\",\"regions\");if(f.connector&&f.connector.visible){var p=\"h\"===f.orientation,d=h.selectAll(\"g.region\").data(i.identity);d.enter().append(\"g\").classed(\"region\",!0),d.exit().remove();var m=d.size();d.each((function(r,s){if(s===m-1||r.cNext){var f=c(r,l,u,p),h=f[0],d=f[1],g=\"\";h[0]!==o&&d[0]!==o&&h[1]!==o&&d[1]!==o&&h[2]!==o&&d[2]!==o&&h[3]!==o&&d[3]!==o&&(g+=p?\"M\"+h[0]+\",\"+d[1]+\"L\"+h[2]+\",\"+d[2]+\"H\"+h[3]+\"L\"+h[1]+\",\"+d[1]+\"Z\":\"M\"+h[1]+\",\"+d[1]+\"L\"+h[2]+\",\"+d[3]+\"V\"+d[2]+\"L\"+h[1]+\",\"+d[0]+\"Z\"),\"\"===g&&(g=\"M0,0Z\"),i.ensureSingle(n.select(this),\"path\").attr(\"d\",g).call(a.setClipUrl,e.layerClipId,t)}}))}else h.remove()}))}(t,e,r,u),function(t,e,r,o){var s=e.xaxis,l=e.yaxis;i.makeTraceGroups(o,r,\"trace bars\").each((function(r){var o=n.select(this),u=r[0].trace,f=i.ensureSingle(o,\"g\",\"lines\");if(u.connector&&u.connector.visible&&u.connector.line.width){var h=\"h\"===u.orientation,p=f.selectAll(\"g.line\").data(i.identity);p.enter().append(\"g\").classed(\"line\",!0),p.exit().remove();var d=p.size();p.each((function(r,o){if(o===d-1||r.cNext){var u=c(r,s,l,h),f=u[0],p=u[1],m=\"\";void 0!==f[3]&&void 0!==p[3]&&(h?(m+=\"M\"+f[0]+\",\"+p[1]+\"L\"+f[2]+\",\"+p[2],m+=\"M\"+f[1]+\",\"+p[1]+\"L\"+f[3]+\",\"+p[2]):(m+=\"M\"+f[1]+\",\"+p[1]+\"L\"+f[2]+\",\"+p[3],m+=\"M\"+f[1]+\",\"+p[0]+\"L\"+f[2]+\",\"+p[2])),\"\"===m&&(m=\"M0,0Z\"),i.ensureSingle(n.select(this),\"path\").attr(\"d\",m).call(a.setClipUrl,e.layerClipId,t)}}))}else f.remove()}))}(t,e,r,u),s.plot(t,e,r,u,{mode:f.funnelmode,norm:f.funnelmode,gap:f.funnelgap,groupgap:f.funnelgroupgap})}},{\"../../components/drawing\":388,\"../../constants/numerical\":479,\"../../lib\":503,\"../bar/plot\":659,\"../bar/uniform_text\":664,\"@plotly/d3\":58}],782:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../../components/drawing\"),a=t(\"../../components/color\"),o=t(\"../../constants/interactions\").DESELECTDIM,s=t(\"../bar/style\"),l=t(\"../bar/uniform_text\").resizeText,c=s.styleTextPoints;e.exports={style:function(t,e,r){var s=r||n.select(t).selectAll(\"g.funnellayer\").selectAll(\"g.trace\");l(t,s,\"funnel\"),s.style(\"opacity\",(function(t){return t[0].trace.opacity})),s.each((function(e){var r=n.select(this),s=e[0].trace;r.selectAll(\".point > 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)}))}))}}},{\"../../components/color\":366,\"../../components/drawing\":388,\"../../constants/interactions\":478,\"../bar/style\":662,\"../bar/uniform_text\":664,\"@plotly/d3\":58}],783:[function(t,e,r){\"use strict\";var n=t(\"../pie/attributes\"),i=t(\"../../plots/attributes\"),a=t(\"../../plots/domain\").attributes,o=t(\"../../plots/template_attributes\").hovertemplateAttrs,s=t(\"../../plots/template_attributes\").texttemplateAttrs,l=t(\"../../lib/extend\").extendFlat;e.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\"},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\"}}},{\"../../lib/extend\":493,\"../../plots/attributes\":550,\"../../plots/domain\":584,\"../../plots/template_attributes\":633,\"../pie/attributes\":901}],784:[function(t,e,r){\"use strict\";var n=t(\"../../plots/plots\");r.name=\"funnelarea\",r.plot=function(t,e,i,a){n.plotBasePlot(r.name,t,e,i,a)},r.clean=function(t,e,i,a){n.cleanBasePlot(r.name,t,e,i,a)}},{\"../../plots/plots\":619}],785:[function(t,e,r){\"use strict\";var n=t(\"../pie/calc\");e.exports={calc:function(t,e){return n.calc(t,e)},crossTraceCalc:function(t){n.crossTraceCalc(t,{type:\"funnelarea\"})}}},{\"../pie/calc\":903}],786:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./attributes\"),a=t(\"../../plots/domain\").defaults,o=t(\"../bar/defaults\").handleText,s=t(\"../pie/defaults\").handleLabelsAndValues;e.exports=function(t,e,r,l){function c(r,a){return n.coerce(t,e,i,r,a)}var u=c(\"labels\"),f=c(\"values\"),h=s(u,f),p=h.len;if(e._hasLabels=h.hasLabels,e._hasValues=h.hasValues,!e._hasLabels&&e._hasValues&&(c(\"label0\"),c(\"dlabel\")),p){e._length=p,c(\"marker.line.width\")&&c(\"marker.line.color\",l.paper_bgcolor),c(\"marker.colors\"),c(\"scalegroup\");var d,m=c(\"text\"),g=c(\"texttemplate\");if(g||(d=c(\"textinfo\",Array.isArray(m)?\"text+percent\":\"percent\")),c(\"hovertext\"),c(\"hovertemplate\"),g||d&&\"none\"!==d){var v=c(\"textposition\");o(t,e,l,c,v,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1})}a(e,l,c),c(\"title.text\")&&(c(\"title.position\"),n.coerceFont(c,\"title.font\",l.font)),c(\"aspectratio\"),c(\"baseratio\")}else e.visible=!1}},{\"../../lib\":503,\"../../plots/domain\":584,\"../bar/defaults\":652,\"../pie/defaults\":904,\"./attributes\":783}],787:[function(t,e,r){\"use strict\";e.exports={moduleType:\"trace\",name:\"funnelarea\",basePlotModule:t(\"./base_plot\"),categories:[\"pie-like\",\"funnelarea\",\"showLegend\"],attributes:t(\"./attributes\"),layoutAttributes:t(\"./layout_attributes\"),supplyDefaults:t(\"./defaults\"),supplyLayoutDefaults:t(\"./layout_defaults\"),calc:t(\"./calc\").calc,crossTraceCalc:t(\"./calc\").crossTraceCalc,plot:t(\"./plot\"),style:t(\"./style\"),styleOne:t(\"../pie/style_one\"),meta:{}}},{\"../pie/style_one\":912,\"./attributes\":783,\"./base_plot\":784,\"./calc\":785,\"./defaults\":786,\"./layout_attributes\":788,\"./layout_defaults\":789,\"./plot\":790,\"./style\":791}],788:[function(t,e,r){\"use strict\";var n=t(\"../pie/layout_attributes\").hiddenlabels;e.exports={hiddenlabels:n,funnelareacolorway:{valType:\"colorlist\",editType:\"calc\"},extendfunnelareacolors:{valType:\"boolean\",dflt:!0,editType:\"calc\"}}},{\"../pie/layout_attributes\":908}],789:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./layout_attributes\");e.exports=function(t,e){function r(r,a){return n.coerce(t,e,i,r,a)}r(\"hiddenlabels\"),r(\"funnelareacolorway\",e.colorway),r(\"extendfunnelareacolors\")}},{\"../../lib\":503,\"./layout_attributes\":788}],790:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../../components/drawing\"),a=t(\"../../lib\"),o=a.strScale,s=a.strTranslate,l=t(\"../../lib/svg_text_utils\"),c=t(\"../bar/plot\").toMoveInsideBar,u=t(\"../bar/uniform_text\"),f=u.recordMinTextSize,h=u.clearMinTextSize,p=t(\"../pie/helpers\"),d=t(\"../pie/plot\"),m=d.attachFxHandlers,g=d.determineInsideTextFont,v=d.layoutAreas,y=d.prerenderTitles,x=d.positionTitleOutside,b=d.formatSliceLabel;function _(t,e){return\"l\"+(e[0]-t[0])+\",\"+(e[1]-t[1])}e.exports=function(t,e){var r=t._fullLayout;h(\"funnelarea\",r),y(e,t),v(e,r._size),a.makeTraceGroups(r._funnelarealayer,e,\"trace\").each((function(e){var u=n.select(this),h=e[0],d=h.trace;!function(t){if(!t.length)return;var e=t[0],r=e.trace,n=r.aspectratio,i=r.baseratio;i>.999&&(i=.999);var a,o=Math.pow(i,2),s=e.vTotal,l=s,c=s*o/(1-o)/s;function u(){var t,e={x:t=Math.sqrt(c),y:-t};return[e.x,e.y]}var f,h,p=[];for(p.push(u()),f=t.length-1;f>-1;f--)if(!(h=t[f]).hidden){var d=h.v/l;c+=d,p.push(u())}var m=1/0,g=-1/0;for(f=0;f<p.length;f++)a=p[f],m=Math.min(m,a[1]),g=Math.max(g,a[1]);for(f=0;f<p.length;f++)p[f][1]-=(g+m)/2;var v=p[p.length-1][0],y=e.r,x=(g-m)/2,b=y/v,_=y/x*n;for(e.r=_*x,f=0;f<p.length;f++)p[f][0]*=b,p[f][1]*=_;var w=[-(a=p[0])[0],a[1]],T=[a[0],a[1]],k=0;for(f=t.length-1;f>-1;f--)if(!(h=t[f]).hidden){var A=p[k+=1][0],M=p[k][1];h.TL=[-A,M],h.TR=[A,M],h.BL=w,h.BR=T,h.pxmid=(S=h.TR,E=h.BR,[.5*(S[0]+E[0]),.5*(S[1]+E[1])]),w=h.TL,T=h.TR}var S,E}(e),u.each((function(){var u=n.select(this).selectAll(\"g.slice\").data(e);u.enter().append(\"g\").classed(\"slice\",!0),u.exit().remove(),u.each((function(o,s){if(o.hidden)n.select(this).selectAll(\"path,g\").remove();else{o.pointNumber=o.i,o.curveNumber=d.index;var u=h.cx,v=h.cy,y=n.select(this),x=y.selectAll(\"path.surface\").data([o]);x.enter().append(\"path\").classed(\"surface\",!0).style({\"pointer-events\":\"all\"}),y.call(m,t,e);var w=\"M\"+(u+o.TR[0])+\",\"+(v+o.TR[1])+_(o.TR,o.BR)+_(o.BR,o.BL)+_(o.BL,o.TL)+\"Z\";x.attr(\"d\",w),b(t,o,h);var T=p.castOption(d.textposition,o.pts),k=y.selectAll(\"g.slicetext\").data(o.text&&\"none\"!==T?[0]:[]);k.enter().append(\"g\").classed(\"slicetext\",!0),k.exit().remove(),k.each((function(){var h=a.ensureSingle(n.select(this),\"text\",\"\",(function(t){t.attr(\"data-notex\",1)})),p=a.ensureUniformFontSize(t,g(d,o,r.font));h.text(o.text).attr({class:\"slicetext\",transform:\"\",\"text-anchor\":\"middle\"}).call(i.font,p).call(l.convertToTspans,t);var m,y,x,b=i.bBox(h.node()),_=Math.min(o.BL[1],o.BR[1])+v,w=Math.max(o.TL[1],o.TR[1])+v;y=Math.max(o.TL[0],o.BL[0])+u,x=Math.min(o.TR[0],o.BR[0])+u,(m=c(y,x,_,w,b,{isHorizontal:!0,constrained:!0,angle:0,anchor:\"middle\"})).fontSize=p.size,f(d.type,m,r),e[s].transform=m,h.attr(\"transform\",a.getTextTransform(m))}))}}));var v=n.select(this).selectAll(\"g.titletext\").data(d.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)})),c=d.title.text;d._meta&&(c=a.templateString(c,d._meta)),e.text(c).attr({class:\"titletext\",transform:\"\",\"text-anchor\":\"middle\"}).call(i.font,d.title.font).call(l.convertToTspans,t);var u=x(h,r._size);e.attr(\"transform\",s(u.x,u.y)+o(Math.min(1,u.scale))+s(u.tx,u.ty))}))}))}))}},{\"../../components/drawing\":388,\"../../lib\":503,\"../../lib/svg_text_utils\":529,\"../bar/plot\":659,\"../bar/uniform_text\":664,\"../pie/helpers\":906,\"../pie/plot\":910,\"@plotly/d3\":58}],791:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../pie/style_one\"),a=t(\"../bar/uniform_text\").resizeText;e.exports=function(t){var e=t._fullLayout._funnelarealayer.selectAll(\".trace\");a(t,e,\"funnelarea\"),e.each((function(t){var e=t[0].trace,r=n.select(this);r.style({opacity:e.opacity}),r.selectAll(\"path.surface\").each((function(t){n.select(this).call(i,t,e)}))}))}},{\"../bar/uniform_text\":664,\"../pie/style_one\":912,\"@plotly/d3\":58}],792:[function(t,e,r){\"use strict\";var n=t(\"../scatter/attributes\"),i=t(\"../../plots/attributes\"),a=t(\"../../plots/font_attributes\"),o=t(\"../../plots/cartesian/axis_format_attributes\").axisHoverFormat,s=t(\"../../plots/template_attributes\").hovertemplateAttrs,l=t(\"../../plots/template_attributes\").texttemplateAttrs,c=t(\"../../components/colorscale/attributes\"),u=t(\"../../lib/extend\").extendFlat;e.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})},{transforms:void 0},c(\"\",{cLetter:\"z\",autoColorDflt:!1}))},{\"../../components/colorscale/attributes\":373,\"../../lib/extend\":493,\"../../plots/attributes\":550,\"../../plots/cartesian/axis_format_attributes\":557,\"../../plots/font_attributes\":585,\"../../plots/template_attributes\":633,\"../scatter/attributes\":927}],793:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),i=t(\"../../lib\"),a=t(\"../../plots/cartesian/axes\"),o=t(\"../../plots/cartesian/align_period\"),s=t(\"../histogram2d/calc\"),l=t(\"../../components/colorscale/calc\"),c=t(\"./convert_column_xyz\"),u=t(\"./clean_2d_array\"),f=t(\"./interp2d\"),h=t(\"./find_empties\"),p=t(\"./make_bound_array\"),d=t(\"../../constants/numerical\").BADNUM;function m(t){for(var e=[],r=t.length,n=0;n<r;n++){var i=t[n];i!==d&&e.push(i)}return e}e.exports=function(t,e){var r,g,v,y,x,b,_,w,T,k,A,M=a.getFromId(t,e.xaxis||\"x\"),S=a.getFromId(t,e.yaxis||\"y\"),E=n.traceIs(e,\"contour\"),L=n.traceIs(e,\"histogram\"),C=n.traceIs(e,\"gl2d\"),P=E?\"best\":e.zsmooth;if(M._minDtick=0,S._minDtick=0,L)y=(A=s(t,e)).orig_x,r=A.x,g=A.x0,v=A.dx,w=A.orig_y,x=A.y,b=A.y0,_=A.dy,T=A.z;else{var I=e.z;i.isArray1D(I)?(c(e,M,S,\"x\",\"y\",[\"z\"]),r=e._x,x=e._y,I=e._z):(y=e.x?M.makeCalcdata(e,\"x\"):[],w=e.y?S.makeCalcdata(e,\"y\"):[],r=o(e,M,\"x\",y).vals,x=o(e,S,\"y\",w).vals,e._x=r,e._y=x),g=e.x0,v=e.dx,b=e.y0,_=e.dy,T=u(I,e,M,S)}function O(t){P=e._input.zsmooth=e.zsmooth=!1,i.warn('cannot use zsmooth: \"fast\": '+t)}if((M.rangebreaks||S.rangebreaks)&&(T=function(t,e,r){for(var n=[],i=-1,a=0;a<r.length;a++)if(e[a]!==d){i++,n[i]=[];for(var o=0;o<r[a].length;o++)t[o]!==d&&n[i].push(r[a][o])}return n}(r,x,T),L||(r=m(r),x=m(x),e._x=r,e._y=x)),L||!E&&!e.connectgaps||(e._emptypoints=h(T),f(T,e._emptypoints)),\"fast\"===P)if(\"log\"===M.type||\"log\"===S.type)O(\"log axis found\");else if(!L){if(r.length){var z=(r[r.length-1]-r[0])/(r.length-1),D=Math.abs(z/100);for(k=0;k<r.length-1;k++)if(Math.abs(r[k+1]-r[k]-z)>D){O(\"x scale is not linear\");break}}if(x.length&&\"fast\"===P){var R=(x[x.length-1]-x[0])/(x.length-1),F=Math.abs(R/100);for(k=0;k<x.length-1;k++)if(Math.abs(x[k+1]-x[k]-R)>F){O(\"y scale is not linear\");break}}}var B=i.maxRowLength(T),N=\"scaled\"===e.xtype?\"\":r,j=p(e,N,g,v,B,M),U=\"scaled\"===e.ytype?\"\":x,V=p(e,U,b,_,T.length,S);C||(e._extremes[M._id]=a.findExtremes(M,j),e._extremes[S._id]=a.findExtremes(S,V));var H={x:j,y:V,z:T,text:e._text||e.text,hovertext:e._hovertext||e.hovertext};if(e.xperiodalignment&&y&&(H.orig_x=y),e.yperiodalignment&&w&&(H.orig_y=w),N&&N.length===j.length-1&&(H.xCenter=N),U&&U.length===V.length-1&&(H.yCenter=U),L&&(H.xRanges=A.xRanges,H.yRanges=A.yRanges,H.pts=A.pts),E||l(t,e,{vals:T,cLetter:\"z\"}),E&&e.contours&&\"heatmap\"===e.contours.coloring){var q={type:\"contour\"===e.type?\"heatmap\":\"histogram2d\",xcalendar:e.xcalendar,ycalendar:e.ycalendar};H.xfill=p(q,N,g,v,B,M),H.yfill=p(q,U,b,_,T.length,S)}return[H]}},{\"../../components/colorscale/calc\":374,\"../../constants/numerical\":479,\"../../lib\":503,\"../../plots/cartesian/align_period\":551,\"../../plots/cartesian/axes\":554,\"../../registry\":638,\"../histogram2d/calc\":826,\"./clean_2d_array\":794,\"./convert_column_xyz\":796,\"./find_empties\":798,\"./interp2d\":801,\"./make_bound_array\":803}],794:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../../lib\"),a=t(\"../../constants/numerical\").BADNUM;e.exports=function(t,e,r,o){var s,l,c,u,f,h;function p(t){if(n(t))return+t}if(e&&e.transpose){for(s=0,f=0;f<t.length;f++)s=Math.max(s,t[f].length);if(0===s)return!1;c=function(t){return t.length},u=function(t,e,r){return(t[r]||[])[e]}}else s=t.length,c=function(t,e){return t[e].length},u=function(t,e,r){return(t[e]||[])[r]};var d=function(t,e,r){return e===a||r===a?a:u(t,e,r)};function m(t){if(e&&\"carpet\"!==e.type&&\"contourcarpet\"!==e.type&&t&&\"category\"===t.type&&e[\"_\"+t._id.charAt(0)].length){var r=t._id.charAt(0),n={},o=e[\"_\"+r+\"CategoryMap\"]||e[r];for(f=0;f<o.length;f++)n[o[f]]=f;return function(e){var r=n[t._categories[e]];return r+1?r:a}}return i.identity}var g=m(r),v=m(o);o&&\"category\"===o.type&&(s=o._categories.length);var y=new Array(s);for(f=0;f<s;f++)for(l=r&&\"category\"===r.type?r._categories.length:c(t,f),y[f]=new Array(l),h=0;h<l;h++)y[f][h]=p(d(t,v(f),g(h)));return y}},{\"../../constants/numerical\":479,\"../../lib\":503,\"fast-isnumeric\":190}],795:[function(t,e,r){\"use strict\";e.exports={min:\"zmin\",max:\"zmax\"}},{}],796:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../constants/numerical\").BADNUM,a=t(\"../../plots/cartesian/align_period\");e.exports=function(t,e,r,o,s,l){var c=t._length,u=e.makeCalcdata(t,o),f=r.makeCalcdata(t,s);u=a(t,e,o,u).vals,f=a(t,r,s,f).vals;var h,p,d,m,g=t.text,v=void 0!==g&&n.isArray1D(g),y=t.hovertext,x=void 0!==y&&n.isArray1D(y),b=n.distinctVals(u),_=b.vals,w=n.distinctVals(f),T=w.vals,k=[],A=T.length,M=_.length;for(h=0;h<l.length;h++)k[h]=n.init2dArray(A,M);v&&(d=n.init2dArray(A,M)),x&&(m=n.init2dArray(A,M));var S=n.init2dArray(A,M);for(h=0;h<c;h++)if(u[h]!==i&&f[h]!==i){var E=n.findBin(u[h]+b.minDiff/2,_),L=n.findBin(f[h]+w.minDiff/2,T);for(p=0;p<l.length;p++){var C=t[l[p]];k[p][L][E]=C[h],S[L][E]=h}v&&(d[L][E]=g[h]),x&&(m[L][E]=y[h])}for(t[\"_\"+o]=_,t[\"_\"+s]=T,p=0;p<l.length;p++)t[\"_\"+l[p]]=k[p];v&&(t._text=d),x&&(t._hovertext=m),e&&\"category\"===e.type&&(t[\"_\"+o+\"CategoryMap\"]=_.map((function(t){return e._categories[t]}))),r&&\"category\"===r.type&&(t[\"_\"+s+\"CategoryMap\"]=T.map((function(t){return r._categories[t]}))),t._after2before=S}},{\"../../constants/numerical\":479,\"../../lib\":503,\"../../plots/cartesian/align_period\":551}],797:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./xyz_defaults\"),a=t(\"./label_defaults\"),o=t(\"../scatter/period_defaults\"),s=t(\"./style_defaults\"),l=t(\"../../components/colorscale/defaults\"),c=t(\"./attributes\");e.exports=function(t,e,r,u){function f(r,i){return n.coerce(t,e,c,r,i)}i(t,e,f,u)?(o(t,e,u,f),f(\"xhoverformat\"),f(\"yhoverformat\"),f(\"text\"),f(\"hovertext\"),f(\"hovertemplate\"),a(f,u),s(t,e,f,u),f(\"hoverongaps\"),f(\"connectgaps\",n.isArray1D(e.z)&&!1!==e.zsmooth),l(t,e,u,f,{prefix:\"\",cLetter:\"z\"})):e.visible=!1}},{\"../../components/colorscale/defaults\":376,\"../../lib\":503,\"../scatter/period_defaults\":947,\"./attributes\":792,\"./label_defaults\":802,\"./style_defaults\":806,\"./xyz_defaults\":807}],798:[function(t,e,r){\"use strict\";var n=t(\"../../lib\").maxRowLength;e.exports=function(t){var e,r,i,a,o,s,l,c,u=[],f={},h=[],p=t[0],d=[],m=[0,0,0],g=n(t);for(r=0;r<t.length;r++)for(e=d,d=p,p=t[r+1]||[],i=0;i<g;i++)void 0===d[i]&&((s=(void 0!==d[i-1]?1:0)+(void 0!==d[i+1]?1:0)+(void 0!==e[i]?1:0)+(void 0!==p[i]?1:0))?(0===r&&s++,0===i&&s++,r===t.length-1&&s++,i===d.length-1&&s++,s<4&&(f[[r,i]]=[r,i,s]),u.push([r,i,s])):h.push([r,i]));for(;h.length;){for(l={},c=!1,o=h.length-1;o>=0;o--)(s=((f[[(r=(a=h[o])[0])-1,i=a[1]]]||m)[2]+(f[[r+1,i]]||m)[2]+(f[[r,i-1]]||m)[2]+(f[[r,i+1]]||m)[2])/20)&&(l[a]=[r,i,s],h.splice(o,1),c=!0);if(!c)throw\"findEmpties iterated with no new neighbors\";for(a in l)f[a]=l[a],u.push(l[a])}return u.sort((function(t,e){return e[2]-t[2]}))}},{\"../../lib\":503}],799:[function(t,e,r){\"use strict\";var n=t(\"../../components/fx\"),i=t(\"../../lib\"),a=t(\"../../plots/cartesian/axes\"),o=t(\"../../components/colorscale\").extractOpts;e.exports=function(t,e,r,s,l){l||(l={});var c,u,f,h,p=l.isContour,d=t.cd[0],m=d.trace,g=t.xa,v=t.ya,y=d.x,x=d.y,b=d.z,_=d.xCenter,w=d.yCenter,T=d.zmask,k=m.zhoverformat,A=y,M=x;if(!1!==t.index){try{f=Math.round(t.index[1]),h=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||h<0||h>b.length)return}else{if(n.inbox(e-y[0],e-y[y.length-1],0)>0||n.inbox(r-x[0],r-x[x.length-1],0)>0)return;if(p){var S;for(A=[2*y[0]-y[1]],S=1;S<y.length;S++)A.push((y[S]+y[S-1])/2);for(A.push([2*y[y.length-1]-y[y.length-2]]),M=[2*x[0]-x[1]],S=1;S<x.length;S++)M.push((x[S]+x[S-1])/2);M.push([2*x[x.length-1]-x[x.length-2]])}f=Math.max(0,Math.min(A.length-2,i.findBin(e,A))),h=Math.max(0,Math.min(M.length-2,i.findBin(r,M)))}var E,L,C=g.c2p(y[f]),P=g.c2p(y[f+1]),I=v.c2p(x[h]),O=v.c2p(x[h+1]);p?(E=d.orig_x||y,L=d.orig_y||x,P=C,c=E[f],O=I,u=L[h]):(E=d.orig_x||_||y,L=d.orig_y||w||x,c=_?E[f]:(E[f]+E[f+1])/2,u=w?L[h]:(L[h]+L[h+1])/2,g&&\"category\"===g.type&&(c=y[f]),v&&\"category\"===v.type&&(u=x[h]),m.zsmooth&&(C=P=g.c2p(c),I=O=v.c2p(u)));var z=b[h][f];if(T&&!T[h][f]&&(z=void 0),void 0!==z||m.hoverongaps){var D;Array.isArray(d.hovertext)&&Array.isArray(d.hovertext[h])?D=d.hovertext[h][f]:Array.isArray(d.text)&&Array.isArray(d.text[h])&&(D=d.text[h][f]);var R=o(m),F={type:\"linear\",range:[R.min,R.max],hoverformat:k,_separators:g._separators,_numFormat:g._numFormat},B=a.tickText(F,z,\"hover\").text;return[i.extendFlat(t,{index:m._after2before?m._after2before[h][f]:[h,f],distance:t.maxHoverDistance,spikeDistance:t.maxSpikeDistance,x0:C,x1:P,y0:I,y1:O,xLabelVal:c,yLabelVal:u,zLabelVal:z,zLabel:B,text:D})]}}},{\"../../components/colorscale\":378,\"../../components/fx\":406,\"../../lib\":503,\"../../plots/cartesian/axes\":554}],800:[function(t,e,r){\"use strict\";e.exports={attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\"),calc:t(\"./calc\"),plot:t(\"./plot\"),colorbar:t(\"./colorbar\"),style:t(\"./style\"),hoverPoints:t(\"./hover\"),moduleType:\"trace\",name:\"heatmap\",basePlotModule:t(\"../../plots/cartesian\"),categories:[\"cartesian\",\"svg\",\"2dMap\",\"showLegend\"],meta:{}}},{\"../../plots/cartesian\":568,\"./attributes\":792,\"./calc\":793,\"./colorbar\":795,\"./defaults\":797,\"./hover\":799,\"./plot\":804,\"./style\":805}],801:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=[[-1,0],[1,0],[0,-1],[0,1]];function a(t){return.5-.25*Math.min(1,.5*t)}function o(t,e,r){var n,a,o,s,l,c,u,f,h,p,d,m,g,v=0;for(s=0;s<e.length;s++){for(a=(n=e[s])[0],o=n[1],d=t[a][o],p=0,h=0,l=0;l<4;l++)(u=t[a+(c=i[l])[0]])&&void 0!==(f=u[o+c[1]])&&(0===p?m=g=f:(m=Math.min(m,f),g=Math.max(g,f)),h++,p+=f);if(0===h)throw\"iterateInterp2d order is wrong: no defined neighbors\";t[a][o]=p/h,void 0===d?h<4&&(v=1):(t[a][o]=(1+r)*t[a][o]-r*d,g>m&&(v=Math.max(v,Math.abs(t[a][o]-d)/(g-m))))}return v}e.exports=function(t,e){var r,i=1;for(o(t,e),r=0;r<e.length&&!(e[r][2]<4);r++);for(e=e.slice(r),r=0;r<100&&i>.01;r++)i=o(t,e,a(i));return i>.01&&n.log(\"interp2d didn't converge quickly\",i),t}},{\"../../lib\":503}],802:[function(t,e,r){\"use strict\";var n=t(\"../../lib\");e.exports=function(t,e){t(\"texttemplate\");var r=n.extendFlat({},e.font,{color:\"auto\",size:\"auto\"});n.coerceFont(t,\"textfont\",r)}},{\"../../lib\":503}],803:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),i=t(\"../../lib\").isArrayOrTypedArray;e.exports=function(t,e,r,a,o,s){var l,c,u,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 m=e.length;if(!(m<=o))return h?e.slice(0,o):e.slice(0,o+1);if(h||d)f=e.slice(0,o);else if(1===o)f=[e[0]-.5,e[0]+.5];else{for(f=[1.5*e[0]-.5*e[1]],u=1;u<m;u++)f.push(.5*(e[u-1]+e[u]));f.push(1.5*e[m-1]-.5*e[m-2])}if(m<o){var g=f[f.length-1],v=g-f[f.length-2];for(u=m;u<o;u++)g+=v,f.push(g)}}else{var y=t[s._id.charAt(0)+\"calendar\"];if(p)l=s.r2c(r,0,y);else if(i(e)&&1===e.length)l=e[0];else if(void 0===r)l=0;else{l=(\"log\"===s.type?s.d2c:s.r2c)(r,0,y)}for(c=a||1,u=h||d?0:-.5;u<o;u++)f.push(l+c*u)}return f}},{\"../../lib\":503,\"../../registry\":638}],804:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"tinycolor2\"),a=t(\"../../registry\"),o=t(\"../../components/drawing\"),s=t(\"../../plots/cartesian/axes\"),l=t(\"../../lib\"),c=t(\"../../lib/svg_text_utils\"),u=t(\"../scatter/format_labels\"),f=t(\"../../components/color\"),h=t(\"../../components/colorscale\").extractOpts,p=t(\"../../components/colorscale\").makeColorScaleFuncFromTrace,d=t(\"../../constants/xmlns_namespaces\"),m=t(\"../../constants/alignment\").LINE_SPACING;function g(t){return t.selectAll(\"g.heatmap-label\")}function v(t){g(t).remove()}function y(t,e){var r=e.length-2,n=l.constrain(l.findBin(t,e),0,r),i=e[n],a=e[n+1],o=l.constrain(n+(t-i)/(a-i)-.5,0,r),s=Math.round(o),c=Math.abs(o-s);return o&&o!==r&&c?{bin0:s,frac:c,bin1:Math.round(s+c/(o-s))}:{bin0:s,bin1:s,frac:0}}function x(t,e){var r=e.length-1,n=l.constrain(l.findBin(t,e),0,r),i=e[n],a=(t-i)/(e[n+1]-i)||0;return a<=0?{bin0:n,bin1:n,frac:0}:a<.5?{bin0:n,bin1:n+1,frac:a}:{bin0:n+1,bin1:n,frac:1-a}}function b(t,e,r){t[e]=r[0],t[e+1]=r[1],t[e+2]=r[2],t[e+3]=Math.round(255*r[3])}e.exports=function(t,e,r,_){var w=e.xaxis,T=e.yaxis;l.makeTraceGroups(_,r,\"hm\").each((function(e){var r,_,k,A,M,S,E,L,C=n.select(this),P=e[0],I=P.trace,O=I.xgap||0,z=I.ygap||0,D=P.z,R=P.x,F=P.y,B=P.xCenter,N=P.yCenter,j=a.traceIs(I,\"contour\"),U=j?\"best\":I.zsmooth,V=D.length,H=l.maxRowLength(D),q=!1,G=!1;for(S=0;void 0===r&&S<R.length-1;)r=w.c2p(R[S]),S++;for(S=R.length-1;void 0===_&&S>0;)_=w.c2p(R[S]),S--;for(_<r&&(k=_,_=r,r=k,q=!0),S=0;void 0===A&&S<F.length-1;)A=T.c2p(F[S]),S++;for(S=F.length-1;void 0===M&&S>0;)M=T.c2p(F[S]),S--;if(M<A&&(k=A,A=M,M=k,G=!0),j&&(B=R,N=F,R=P.xfill,F=P.yfill),\"fast\"!==U){var Y=\"best\"===U?0:.5;r=Math.max(-Y*w._length,r),_=Math.min((1+Y)*w._length,_),A=Math.max(-Y*T._length,A),M=Math.min((1+Y)*T._length,M)}var W,X,Z=Math.round(_-r),J=Math.round(M-A);if(Z<=0||J<=0)return C.selectAll(\"image\").data([]).exit().remove(),void v(C);\"fast\"===U?(W=H,X=V):(W=Z,X=J);var K=document.createElement(\"canvas\");K.width=W,K.height=X;var Q,$,tt=K.getContext(\"2d\"),et=p(I,{noNumericCheck:!0,returnArray:!0});\"fast\"===U?(Q=q?function(t){return H-1-t}:l.identity,$=G?function(t){return V-1-t}:l.identity):(Q=function(t){return l.constrain(Math.round(w.c2p(R[t])-r),0,Z)},$=function(t){return l.constrain(Math.round(T.c2p(F[t])-A),0,J)});var rt,nt,it,at,ot=$(0),st=[ot,ot],lt=q?0:1,ct=G?0:1,ut=0,ft=0,ht=0,pt=0;function dt(t,e){if(void 0!==t){var r=et(t);return r[0]=Math.round(r[0]),r[1]=Math.round(r[1]),r[2]=Math.round(r[2]),ut+=e,ft+=r[0]*e,ht+=r[1]*e,pt+=r[2]*e,r}return[0,0,0,0]}function mt(t,e,r,n){var i=t[r.bin0];if(void 0===i)return dt(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,dt(i+r.frac*c+n.frac*(u+r.frac*a))}if(U){var gt,vt=0;try{gt=new Uint8Array(Z*J*4)}catch(t){gt=new Array(Z*J*4)}if(\"best\"===U){var yt,xt,bt,_t=B||R,wt=N||F,Tt=new Array(_t.length),kt=new Array(wt.length),At=new Array(Z),Mt=B?x:y,St=N?x:y;for(S=0;S<_t.length;S++)Tt[S]=Math.round(w.c2p(_t[S])-r);for(S=0;S<wt.length;S++)kt[S]=Math.round(T.c2p(wt[S])-A);for(S=0;S<Z;S++)At[S]=Mt(S,Tt);for(E=0;E<J;E++)for(xt=D[(yt=St(E,kt)).bin0],bt=D[yt.bin1],S=0;S<Z;S++,vt+=4)b(gt,vt,at=mt(xt,bt,At[S],yt))}else for(E=0;E<V;E++)for(it=D[E],st=$(E),S=0;S<Z;S++)at=dt(it[S],1),b(gt,vt=4*(st*Z+Q(S)),at);var Et=tt.createImageData(Z,J);try{Et.data.set(gt)}catch(t){var Lt=Et.data,Ct=Lt.length;for(E=0;E<Ct;E++)Lt[E]=gt[E]}tt.putImageData(Et,0,0)}else{var Pt=Math.floor(O/2),It=Math.floor(z/2);for(E=0;E<V;E++)if(it=D[E],st.reverse(),st[ct]=$(E+1),st[0]!==st[1]&&void 0!==st[0]&&void 0!==st[1])for(rt=[nt=Q(0),nt],S=0;S<H;S++)rt.reverse(),rt[lt]=Q(S+1),rt[0]!==rt[1]&&void 0!==rt[0]&&void 0!==rt[1]&&(at=dt(it[S],(rt[1]-rt[0])*(st[1]-st[0])),tt.fillStyle=\"rgba(\"+at.join(\",\")+\")\",tt.fillRect(rt[0]+Pt,st[0]+It,rt[1]-rt[0]-O,st[1]-st[0]-z))}ft=Math.round(ft/ut),ht=Math.round(ht/ut),pt=Math.round(pt/ut);var Ot=i(\"rgb(\"+ft+\",\"+ht+\",\"+pt+\")\");t._hmpixcount=(t._hmpixcount||0)+ut,t._hmlumcount=(t._hmlumcount||0)+ut*Ot.getLuminance();var zt=C.selectAll(\"image\").data(e);zt.enter().append(\"svg:image\").attr({xmlns:d.svg,preserveAspectRatio:\"none\"}),zt.attr({height:J,width:Z,x:r,y:A,\"xlink:href\":K.toDataURL(\"image/png\")}),v(C);var Dt=I.texttemplate;if(Dt){var Rt=h(I),Ft={type:\"linear\",range:[Rt.min,Rt.max],_separators:w._separators,_numFormat:w._numFormat},Bt=\"histogram2dcontour\"===I.type,Nt=\"contour\"===I.type,jt=Nt?V-1:V,Ut=Nt?1:0,Vt=Nt?H-1:H,Ht=[];for(S=Nt?1:0;S<jt;S++){var qt;if(Nt)qt=P.y[S];else if(Bt){if(0===S||S===V-1)continue;qt=P.y[S]}else if(P.yCenter)qt=P.yCenter[S];else{if(S+1===V&&void 0===P.y[S+1])continue;qt=(P.y[S]+P.y[S+1])/2}var Gt=Math.round(T.c2p(qt));if(!(0>Gt||Gt>T._length))for(E=Ut;E<Vt;E++){var Yt;if(Nt)Yt=P.x[E];else if(Bt){if(0===E||E===H-1)continue;Yt=P.x[E]}else if(P.xCenter)Yt=P.xCenter[E];else{if(E+1===H&&void 0===P.x[E+1])continue;Yt=(P.x[E]+P.x[E+1])/2}var Wt=Math.round(w.c2p(Yt));if(!(0>Wt||Wt>w._length)){var Xt=u({x:Yt,y:qt},I,t._fullLayout);Xt.x=Yt,Xt.y=qt;var Zt=P.z[S][E];void 0===Zt?(Xt.z=\"\",Xt.zLabel=\"\"):(Xt.z=Zt,Xt.zLabel=s.tickText(Ft,Zt,\"hover\").text);var Jt=P.text&&P.text[S]&&P.text[S][E];void 0!==Jt&&!1!==Jt||(Jt=\"\"),Xt.text=Jt;var Kt=l.texttemplateString(Dt,Xt,t._fullLayout._d3locale,Xt,I._meta||{});if(Kt){var Qt=Kt.split(\"<br>\"),$t=Qt.length,te=0;for(L=0;L<$t;L++)te=Math.max(te,Qt[L].length);Ht.push({l:$t,c:te,t:Kt,x:Wt,y:Gt,z:Zt})}}}}var ee=I.textfont,re=ee.family,ne=ee.size,ie=t._fullLayout.font.size;if(!ne||\"auto\"===ne){var ae=1/0,oe=1/0,se=0,le=0;for(L=0;L<Ht.length;L++){var ce=Ht[L];if(se=Math.max(se,ce.l),le=Math.max(le,ce.c),L<Ht.length-1){var ue=Ht[L+1],fe=Math.abs(ue.x-ce.x),he=Math.abs(ue.y-ce.y);fe&&(ae=Math.min(ae,fe)),he&&(oe=Math.min(oe,he))}}isFinite(ae)&&isFinite(oe)?(ae-=O,oe-=z,ae/=le,oe/=se,ae/=m/2,oe/=m,ne=Math.min(Math.floor(ae),Math.floor(oe),ie)):ne=ie}if(ne<=0||!isFinite(ne))return;g(C).data(Ht).enter().append(\"g\").classed(\"heatmap-label\",1).append(\"text\").attr(\"text-anchor\",\"middle\").each((function(e){var r=n.select(this),i=ee.color;i&&\"auto\"!==i||(i=f.contrast(\"rgba(\"+et(e.z).join()+\")\")),r.attr(\"data-notex\",1).call(c.positionText,function(t){return t.x}(e),function(t){return t.y-ne*(t.l*m/2-1)}(e)).call(o.font,re,ne,i).text(e.t).call(c.convertToTspans,t)}))}}))}},{\"../../components/color\":366,\"../../components/colorscale\":378,\"../../components/drawing\":388,\"../../constants/alignment\":471,\"../../constants/xmlns_namespaces\":480,\"../../lib\":503,\"../../lib/svg_text_utils\":529,\"../../plots/cartesian/axes\":554,\"../../registry\":638,\"../scatter/format_labels\":936,\"@plotly/d3\":58,tinycolor2:312}],805:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\");e.exports=function(t){n.select(t).selectAll(\".hm image\").style(\"opacity\",(function(t){return t.trace.opacity}))}},{\"@plotly/d3\":58}],806:[function(t,e,r){\"use strict\";e.exports=function(t,e,r){!1===r(\"zsmooth\")&&(r(\"xgap\"),r(\"ygap\")),r(\"zhoverformat\")}},{}],807:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../../lib\"),a=t(\"../../registry\");function o(t,e){var r=e(t);return\"scaled\"===(r?e(t+\"type\",\"array\"):\"scaled\")&&(e(t+\"0\"),e(\"d\"+t)),r}e.exports=function(t,e,r,s,l,c){var u,f,h=r(\"z\");if(l=l||\"x\",c=c||\"y\",void 0===h||!h.length)return 0;if(i.isArray1D(t.z)){u=r(l),f=r(c);var p=i.minRowLength(u),d=i.minRowLength(f);if(0===p||0===d)return 0;e._length=Math.min(p,d,h.length)}else{if(u=o(l,r),f=o(c,r),!function(t){for(var e,r=!0,a=!1,o=!1,s=0;s<t.length;s++){if(e=t[s],!i.isArrayOrTypedArray(e)){r=!1;break}e.length>0&&(a=!0);for(var l=0;l<e.length;l++)if(n(e[l])){o=!0;break}}return r&&a&&o}(h))return 0;r(\"transpose\"),e._length=null}return\"heatmapgl\"===t.type||a.getComponentMethod(\"calendars\",\"handleTraceDefaults\")(t,e,[l,c],s),!0}},{\"../../lib\":503,\"../../registry\":638,\"fast-isnumeric\":190}],808:[function(t,e,r){\"use strict\";for(var n=t(\"../heatmap/attributes\"),i=t(\"../../components/colorscale/attributes\"),a=t(\"../../lib/extend\").extendFlat,o=t(\"../../plot_api/edit_types\").overrideAll,s=[\"z\",\"x\",\"x0\",\"dx\",\"y\",\"y0\",\"dy\",\"text\",\"transpose\",\"xtype\",\"ytype\"],l={},c=0;c<s.length;c++){var u=s[c];l[u]=n[u]}l.zsmooth={valType:\"enumerated\",values:[\"fast\",!1],dflt:\"fast\",editType:\"calc\"},a(l,i(\"\",{cLetter:\"z\",autoColorDflt:!1})),e.exports=o(l,\"calc\",\"nested\")},{\"../../components/colorscale/attributes\":373,\"../../lib/extend\":493,\"../../plot_api/edit_types\":536,\"../heatmap/attributes\":792}],809:[function(t,e,r){\"use strict\";var n=t(\"../../../stackgl_modules\").gl_heatmap2d,i=t(\"../../plots/cartesian/axes\"),a=t(\"../../lib/str2rgbarray\");function o(t,e){this.scene=t,this.uid=e,this.type=\"heatmapgl\",this.name=\"\",this.hoverinfo=\"all\",this.xData=[],this.yData=[],this.zData=[],this.textLabels=[],this.idToIndex=[],this.bounds=[0,0,0,0],this.options={zsmooth:\"fast\",z:[],x:[],y:[],shape:[0,0],colorLevels:[0],colorValues:[0,0,0,1]},this.heatmap=n(t.glplot,this.options),this.heatmap._trace=this}var s=o.prototype;s.handlePick=function(t){var e=this.options,r=e.shape,n=t.pointId,i=n%r[0],a=Math.floor(n/r[0]),o=n;return{trace:this,dataCoord:t.dataCoord,traceCoord:[e.x[i],e.y[a],e.z[o]],textLabel:this.textLabels[n],name:this.name,pointIndex:[a,i],hoverinfo:this.hoverinfo}},s.update=function(t,e){var r=e[0];this.index=t.index,this.name=t.name,this.hoverinfo=t.hoverinfo;var n=r.z;this.options.z=[].concat.apply([],n);var o=n[0].length,s=n.length;this.options.shape=[o,s],this.options.x=r.x,this.options.y=r.y,this.options.zsmooth=t.zsmooth;var l=function(t){for(var e=t.colorscale,r=t.zmin,n=t.zmax,i=e.length,o=new Array(i),s=new Array(4*i),l=0;l<i;l++){var c=e[l],u=a(c[1]);o[l]=r+c[0]*(n-r);for(var f=0;f<4;f++)s[4*l+f]=u[f]}return{colorLevels:o,colorValues:s}}(t);this.options.colorLevels=l.colorLevels,this.options.colorValues=l.colorValues,this.textLabels=[].concat.apply([],t.text),this.heatmap.update(this.options);var c,u,f=this.scene.xaxis,h=this.scene.yaxis;!1===t.zsmooth&&(c={ppad:r.x[1]-r.x[0]},u={ppad:r.y[1]-r.y[0]}),t._extremes[f._id]=i.findExtremes(f,r.x,c),t._extremes[h._id]=i.findExtremes(h,r.y,u)},s.dispose=function(){this.heatmap.dispose()},e.exports=function(t,e,r){var n=new o(t,e.uid);return n.update(e,r),n}},{\"../../../stackgl_modules\":1124,\"../../lib/str2rgbarray\":528,\"../../plots/cartesian/axes\":554}],810:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../heatmap/xyz_defaults\"),a=t(\"../../components/colorscale/defaults\"),o=t(\"./attributes\");e.exports=function(t,e,r,s){function l(r,i){return n.coerce(t,e,o,r,i)}i(t,e,l,s)?(l(\"text\"),l(\"zsmooth\"),a(t,e,s,l,{prefix:\"\",cLetter:\"z\"})):e.visible=!1}},{\"../../components/colorscale/defaults\":376,\"../../lib\":503,\"../heatmap/xyz_defaults\":807,\"./attributes\":808}],811:[function(t,e,r){\"use strict\";[\"*heatmapgl* trace is deprecated!\",\"Please consider switching to the *heatmap* or *image* trace types.\",\"Alternatively you could contribute/sponsor rewriting this trace type\",\"based on cartesian features and using regl framework.\"].join(\" \");e.exports={attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\"),colorbar:t(\"../heatmap/colorbar\"),calc:t(\"../heatmap/calc\"),plot:t(\"./convert\"),moduleType:\"trace\",name:\"heatmapgl\",basePlotModule:t(\"../../plots/gl2d\"),categories:[\"gl\",\"gl2d\",\"2dMap\"],meta:{}}},{\"../../plots/gl2d\":596,\"../heatmap/calc\":793,\"../heatmap/colorbar\":795,\"./attributes\":808,\"./convert\":809,\"./defaults\":810}],812:[function(t,e,r){\"use strict\";var n=t(\"../bar/attributes\"),i=t(\"../../plots/cartesian/axis_format_attributes\").axisHoverFormat,a=t(\"../../plots/template_attributes\").hovertemplateAttrs,o=t(\"../../plots/template_attributes\").texttemplateAttrs,s=t(\"../../plots/font_attributes\"),l=t(\"./bin_attributes\"),c=t(\"./constants\"),u=t(\"../../lib/extend\").extendFlat;e.exports={x:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},y:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},xhoverformat:i(\"x\"),yhoverformat:i(\"y\"),text:u({},n.text,{}),hovertext:u({},n.hovertext,{}),orientation:n.orientation,histfunc:{valType:\"enumerated\",values:[\"count\",\"sum\",\"avg\",\"min\",\"max\"],dflt:\"count\",editType:\"calc\"},histnorm:{valType:\"enumerated\",values:[\"\",\"percent\",\"probability\",\"density\",\"probability density\"],dflt:\"\",editType:\"calc\"},cumulative:{enabled:{valType:\"boolean\",dflt:!1,editType:\"calc\"},direction:{valType:\"enumerated\",values:[\"increasing\",\"decreasing\"],dflt:\"increasing\",editType:\"calc\"},currentbin:{valType:\"enumerated\",values:[\"include\",\"exclude\",\"half\"],dflt:\"include\",editType:\"calc\"},editType:\"calc\"},nbinsx:{valType:\"integer\",min:0,dflt:0,editType:\"calc\"},xbins:l(\"x\",!0),nbinsy:{valType:\"integer\",min:0,dflt:0,editType:\"calc\"},ybins:l(\"y\",!0),autobinx:{valType:\"boolean\",dflt:null,editType:\"calc\"},autobiny:{valType:\"boolean\",dflt:null,editType:\"calc\"},bingroup:{valType:\"string\",dflt:\"\",editType:\"calc\"},hovertemplate:a({},{keys:c.eventDataKeys}),texttemplate:o({arrayOk:!1,editType:\"plot\"},{keys:[\"label\",\"value\"]}),textposition:u({},n.textposition,{arrayOk:!1}),textfont:s({arrayOk:!1,editType:\"plot\",colorEditType:\"style\"}),outsidetextfont:s({arrayOk:!1,editType:\"plot\",colorEditType:\"style\"}),insidetextfont:s({arrayOk:!1,editType:\"plot\",colorEditType:\"style\"}),insidetextanchor:n.insidetextanchor,textangle:n.textangle,cliponaxis:n.cliponaxis,constraintext:n.constraintext,marker:n.marker,offsetgroup:n.offsetgroup,alignmentgroup:n.alignmentgroup,selected:n.selected,unselected:n.unselected,_deprecated:{bardir:n._deprecated.bardir}}},{\"../../lib/extend\":493,\"../../plots/cartesian/axis_format_attributes\":557,\"../../plots/font_attributes\":585,\"../../plots/template_attributes\":633,\"../bar/attributes\":648,\"./bin_attributes\":814,\"./constants\":818}],813:[function(t,e,r){\"use strict\";e.exports=function(t,e){for(var r=t.length,n=0,i=0;i<r;i++)e[i]?(t[i]/=e[i],n+=t[i]):t[i]=null;return n}},{}],814:[function(t,e,r){\"use strict\";e.exports=function(t,e){return{start:{valType:\"any\",editType:\"calc\"},end:{valType:\"any\",editType:\"calc\"},size:{valType:\"any\",editType:\"calc\"},editType:\"calc\"}}},{}],815:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\");e.exports={count:function(t,e,r){return r[t]++,1},sum:function(t,e,r,i){var a=i[e];return n(a)?(a=Number(a),r[t]+=a,a):0},avg:function(t,e,r,i,a){var o=i[e];return n(o)&&(o=Number(o),r[t]+=o,a[t]++),0},min: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]>a){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]<a){var o=a-r[t];return r[t]=a,o}}return 0}}},{\"fast-isnumeric\":190}],816:[function(t,e,r){\"use strict\";var n=t(\"../../constants/numerical\"),i=n.ONEAVGYEAR,a=n.ONEAVGMONTH,o=n.ONEDAY,s=n.ONEHOUR,l=n.ONEMIN,c=n.ONESEC,u=t(\"../../plots/cartesian/axes\").tickIncrement;function f(t,e,r,n){if(t*e<=0)return 1/0;for(var i=Math.abs(e-t),a=\"date\"===r.type,o=h(i,a),s=0;s<10;s++){var l=h(80*o,a);if(o===l)break;if(!p(l,t,e,a,r,n))break;o=l}return o}function h(t,e){return e&&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}e.exports=function(t,e,r,n,a){var s,l,c=-1.1*e,h=-.1*e,p=t-h,d=r[0],m=r[1],g=Math.min(f(d+h,d+p,n,a),f(m+h,m+p,n,a)),v=Math.min(f(d+c,d+h,n,a),f(m+c,m+h,n,a));if(g>v&&v<Math.abs(m-d)/4e3?(s=g,l=!1):(s=Math.min(g,v),l=!0),\"date\"===n.type&&s>o){var y=s===i?1:6,x=s===i?\"M12\":\"M1\";return function(e,r){var o=n.c2d(e,i,a),s=o.indexOf(\"-\",y);s>0&&(o=o.substr(0,s));var c=n.d2c(o,0,a);if(c<e){var f=u(c,x,!1,a);(c+f)/2<e+t&&(c=f)}return r&&l?u(c,x,!0,a):c}}return function(e,r){var n=s*Math.round(e/s);return n+s/10<e&&n+.9*s<e+t&&(n+=s),r&&l&&(n-=s),n}}},{\"../../constants/numerical\":479,\"../../plots/cartesian/axes\":554}],817:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../../lib\"),a=t(\"../../registry\"),o=t(\"../../plots/cartesian/axes\"),s=t(\"../bar/arrays_to_calcdata\"),l=t(\"./bin_functions\"),c=t(\"./norm_functions\"),u=t(\"./average\"),f=t(\"./bin_label_vals\");function h(t,e,r,s,l){var c,u,f,p,d,m,g,v=s+\"bins\",y=t._fullLayout,x=e[\"_\"+s+\"bingroup\"],b=y._histogramBinOpts[x],_=\"overlay\"===y.barmode,w=function(t){return r.r2c(t,0,p)},T=function(t){return r.c2r(t,0,p)},k=\"date\"===r.type?function(t){return t||0===t?i.cleanDate(t,null,p):null}:function(t){return n(t)?Number(t):null};function A(t,e,r){e[t+\"Found\"]?(e[t]=k(e[t]),null===e[t]&&(e[t]=r[t])):(m[t]=e[t]=r[t],i.nestedProperty(u[0],v+\".\"+t).set(r[t]))}if(e[\"_\"+s+\"autoBinFinished\"])delete e[\"_\"+s+\"autoBinFinished\"];else{u=b.traces;var M=[],S=!0,E=!1,L=!1;for(c=0;c<u.length;c++)if((f=u[c]).visible){var C=b.dirs[c];d=f[\"_\"+C+\"pos0\"]=r.makeCalcdata(f,C),M=i.concat(M,d),delete f[\"_\"+s+\"autoBinFinished\"],!0===e.visible&&(S?S=!1:(delete f._autoBin,f[\"_\"+s+\"autoBinFinished\"]=1),a.traceIs(f,\"2dMap\")&&(E=!0),\"histogram2dcontour\"===f.type&&(L=!0))}p=u[0][s+\"calendar\"];var P=o.autoBin(M,r,b.nbins,E,p,b.sizeFound&&b.size),I=u[0]._autoBin={};if(m=I[b.dirs[0]]={},L&&(b.size||(P.start=T(o.tickIncrement(w(P.start),P.size,!0,p))),void 0===b.end&&(P.end=T(o.tickIncrement(w(P.end),P.size,!1,p)))),_&&!a.traceIs(e,\"2dMap\")&&0===P._dataSpan&&\"category\"!==r.type&&\"multicategory\"!==r.type){if(l)return[P,d,!0];P=function(t,e,r,n,a){var o,s,l,c=t._fullLayout,u=function(t,e){for(var r=e.xaxis,n=e.yaxis,i=e.orientation,a=[],o=t._fullData,s=0;s<o.length;s++){var l=o[s];\"histogram\"===l.type&&!0===l.visible&&l.orientation===i&&l.xaxis===r&&l.yaxis===n&&a.push(l)}return a}(t,e),f=!1,p=1/0,d=[e];for(o=0;o<u.length;o++)if((s=u[o])===e)f=!0;else if(f){var m=h(t,s,r,n,!0),g=m[0],v=m[2];s[\"_\"+n+\"autoBinFinished\"]=1,s[\"_\"+n+\"pos0\"]=m[1],v?d.push(s):p=Math.min(p,g.size)}else l=c._histogramBinOpts[s[\"_\"+n+\"bingroup\"]],p=Math.min(p,l.size||s[a].size);var y=new Array(d.length);for(o=0;o<d.length;o++)for(var x=d[o][\"_\"+n+\"pos0\"],b=0;b<x.length;b++)if(void 0!==x[b]){y[o]=x[b];break}isFinite(p)||(p=i.distinctVals(y).minDiff);for(o=0;o<d.length;o++){var _=(s=d[o])[n+\"calendar\"],w={start:r.c2r(y[o]-p/2,0,_),end:r.c2r(y[o]+p/2,0,_),size:p};s._input[a]=s[a]=w,(l=c._histogramBinOpts[s[\"_\"+n+\"bingroup\"]])&&i.extendFlat(l,w)}return e[a]}(t,e,r,s,v)}(g=f.cumulative||{}).enabled&&\"include\"!==g.currentbin&&(\"decreasing\"===g.direction?P.start=T(o.tickIncrement(w(P.start),P.size,!0,p)):P.end=T(o.tickIncrement(w(P.end),P.size,!1,p))),b.size=P.size,b.sizeFound||(m.size=P.size,i.nestedProperty(u[0],v+\".size\").set(P.size)),A(\"start\",b,P),A(\"end\",b,P)}d=e[\"_\"+s+\"pos0\"],delete e[\"_\"+s+\"pos0\"];var O=e._input[v]||{},z=i.extendFlat({},b),D=b.start,R=r.r2l(O.start),F=void 0!==R;if((b.startFound||F)&&R!==r.r2l(D)){var B=F?R:i.aggNums(Math.min,null,d),N={type:\"category\"===r.type||\"multicategory\"===r.type?\"linear\":r.type,r2l:r.r2l,dtick:b.size,tick0:D,calendar:p,range:[B,o.tickIncrement(B,b.size,!1,p)].map(r.l2r)},j=o.tickFirst(N);j>r.r2l(B)&&(j=o.tickIncrement(j,b.size,!0,p)),z.start=r.l2r(j),F||i.nestedProperty(e,v+\".start\").set(z.start)}var U=b.end,V=r.r2l(O.end),H=void 0!==V;if((b.endFound||H)&&V!==r.r2l(U)){var q=H?V:i.aggNums(Math.max,null,d);z.end=r.l2r(q),H||i.nestedProperty(e,v+\".start\").set(z.end)}var G=\"autobin\"+s;return!1===e._input[G]&&(e._input[v]=i.extendFlat({},e[v]||{}),delete e._input[G],delete e[G]),[z,d]}e.exports={calc:function(t,e){var r,a,p,d,m=[],g=[],v=\"h\"===e.orientation,y=o.getFromId(t,v?e.yaxis:e.xaxis),x=v?\"y\":\"x\",b={x:\"y\",y:\"x\"}[x],_=e[x+\"calendar\"],w=e.cumulative,T=h(t,e,y,x),k=T[0],A=T[1],M=\"string\"==typeof k.size,S=[],E=M?S:k,L=[],C=[],P=[],I=0,O=e.histnorm,z=e.histfunc,D=-1!==O.indexOf(\"density\");w.enabled&&D&&(O=O.replace(/ ?density$/,\"\"),D=!1);var R,F=\"max\"===z||\"min\"===z?null:0,B=l.count,N=c[O],j=!1,U=function(t){return y.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<p&&m.length<1e6&&(a=o.tickIncrement(r,k.size,!1,_),m.push((r+a)/2),g.push(F),P.push([]),S.push(r),D&&L.push(1/(a-r)),j&&C.push(0),!(a<=r));)r=a;S.push(r),M||\"date\"!==y.type||(E={start:U(E.start),end:U(E.end),size:E.size}),t._fullLayout._roundFnOpts||(t._fullLayout._roundFnOpts={});var V=e[\"_\"+x+\"bingroup\"],H={leftGap:1/0,rightGap:1/0};V&&(t._fullLayout._roundFnOpts[V]||(t._fullLayout._roundFnOpts[V]=H),H=t._fullLayout._roundFnOpts[V]);var q,G=g.length,Y=!0,W=H.leftGap,X=H.rightGap,Z={};for(r=0;r<A.length;r++){var J=A[r];(d=i.findBin(J,E))>=0&&d<G&&(I+=B(d,r,g,R,C),Y&&P[d].length&&J!==A[P[d][0]]&&(Y=!1),P[d].push(r),Z[r]=d,W=Math.min(W,J-S[d]),X=Math.min(X,S[d+1]-J))}H.leftGap=W,H.rightGap=X,Y||(q=function(e,r){return function(){var n=t._fullLayout._roundFnOpts[V];return f(n.leftGap,n.rightGap,S,y,_)(e,r)}}),j&&(I=u(g,C)),N&&N(g,I,L),w.enabled&&function(t,e,r){var n,i,a;function o(e){a=t[e],t[e]/=2}function s(e){i=t[e],t[e]=a+i/2,a+=i}if(\"half\"===r)if(\"increasing\"===e)for(o(0),n=1;n<t.length;n++)s(n);else for(o(t.length-1),n=t.length-2;n>=0;n--)s(n);else if(\"increasing\"===e){for(n=1;n<t.length;n++)t[n]+=t[n-1];\"exclude\"===r&&(t.unshift(0),t.pop())}else{for(n=t.length-2;n>=0;n--)t[n]+=t[n+1];\"exclude\"===r&&(t.push(0),t.shift())}}(g,w.direction,w.currentbin);var K=Math.min(m.length,g.length),Q=[],$=0,tt=K-1;for(r=0;r<K;r++)if(g[r]){$=r;break}for(r=K-1;r>=$;r--)if(g[r]){tt=r;break}for(r=$;r<=tt;r++)if(n(m[r])&&n(g[r])){var et={p:m[r],s:g[r],b:0};w.enabled||(et.pts=P[r],Y?et.ph0=et.ph1=P[r].length?A[P[r][0]]:m[r]:(e._computePh=!0,et.ph0=q(S[r]),et.ph1=q(S[r+1],!0))),Q.push(et)}return 1===Q.length&&(Q[0].width1=o.tickIncrement(Q[0].p,k.size,!1,_)-Q[0].p),s(Q,e),i.isArrayOrTypedArray(e.selectedpoints)&&i.tagSelected(Q,e,Z),Q},calcAllAutoBins:h}},{\"../../lib\":503,\"../../plots/cartesian/axes\":554,\"../../registry\":638,\"../bar/arrays_to_calcdata\":647,\"./average\":813,\"./bin_functions\":815,\"./bin_label_vals\":816,\"./norm_functions\":824,\"fast-isnumeric\":190}],818:[function(t,e,r){\"use strict\";e.exports={eventDataKeys:[\"binNumber\"]}},{}],819:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../plots/cartesian/axis_ids\"),a=t(\"../../registry\").traceIs,o=t(\"../bar/defaults\").handleGroupingDefaults,s=n.nestedProperty,l=t(\"../../plots/cartesian/constraints\").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\"}],u=[\"x\",\"y\"];e.exports=function(t,e){var r,f,h,p,d,m,g,v=e._histogramBinOpts={},y=[],x={},b=[];function _(t,e){return n.coerce(r._input,r,r._module.attributes,t,e)}function w(t){return\"v\"===t.orientation?\"x\":\"y\"}function T(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(d=0;d<t.length;d++)r=t[d],a(r,\"histogram\")&&(y.push(r),delete r._xautoBinFinished,delete r._yautoBinFinished,a(r,\"2dMap\")||o(r._input,r,e,_));var k=e._alignmentOpts||{};for(d=0;d<y.length;d++){if(r=y[d],h=\"\",!a(r,\"2dMap\")){if(p=w(r),\"group\"===e.barmode&&r.alignmentgroup){var A=r[p+\"axis\"],M=l(e,A)+r.orientation;(k[M]||{})[r.alignmentgroup]&&(h=M)}h||\"overlay\"===e.barmode||(h=l(e,r.xaxis)+l(e,r.yaxis)+w(r))}h?(x[h]||(x[h]=[]),x[h].push(r)):b.push(r)}for(h in x)if(1!==(f=x[h]).length){var S=!1;for(f.length&&(r=f[0],S=_(\"bingroup\")),h=S||h,d=0;d<f.length;d++){var E=(r=f[d])._input.bingroup;E&&E!==h&&n.warn([\"Trace\",r.index,\"must match\",\"within bingroup\",h+\".\",\"Ignoring its bingroup:\",E,\"setting.\"].join(\" \")),r.bingroup=h,T(r,h,w(r))}}else b.push(f[0]);for(d=0;d<b.length;d++){r=b[d];var L=_(\"bingroup\");if(a(r,\"2dMap\"))for(g=0;g<2;g++){var C=_((p=u[g])+\"bingroup\",L?L+\"__\"+p:null);T(r,C,p)}else T(r,L,w(r))}for(h in v){var P=v[h];for(f=P.traces,m=0;m<c.length;m++){var I,O,z=c[m],D=z.name;if(\"nbins\"!==D||!P.sizeFound){for(d=0;d<f.length;d++){if(r=f[d],p=P.dirs[d],I=z.aStr[p],void 0!==s(r._input,I).get()){P[D]=_(I),P[D+\"Found\"]=!0;break}(O=(r._autoBin||{})[p]||{})[D]&&s(r,I).set(O[D])}if(\"start\"===D||\"end\"===D)for(;d<f.length;d++)(r=f[d])[\"_\"+p+\"bingroup\"]&&_(I,(O=(r._autoBin||{})[p]||{})[D]);\"nbins\"!==D||P.sizeFound||P.nbinsFound||(r=f[0],P[D]=_(I))}}}}},{\"../../lib\":503,\"../../plots/cartesian/axis_ids\":558,\"../../plots/cartesian/constraints\":562,\"../../registry\":638,\"../bar/defaults\":652}],820:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),i=t(\"../../lib\"),a=t(\"../../components/color\"),o=t(\"../bar/defaults\").handleText,s=t(\"../bar/style_defaults\"),l=t(\"./attributes\");e.exports=function(t,e,r,c){function u(r,n){return i.coerce(t,e,l,r,n)}var f=u(\"x\"),h=u(\"y\");u(\"cumulative.enabled\")&&(u(\"cumulative.direction\"),u(\"cumulative.currentbin\")),u(\"text\");var p=u(\"textposition\");o(t,e,c,u,p,{moduleHasSelected:!0,moduleHasUnselected:!0,moduleHasConstrain:!0,moduleHasCliponaxis:!0,moduleHasTextangle:!0,moduleHasInsideanchor:!0}),u(\"hovertext\"),u(\"hovertemplate\"),u(\"xhoverformat\"),u(\"yhoverformat\");var d=u(\"orientation\",h&&!f?\"h\":\"v\"),m=\"v\"===d?\"x\":\"y\",g=\"v\"===d?\"y\":\"x\",v=f&&h?Math.min(i.minRowLength(f)&&i.minRowLength(h)):i.minRowLength(e[m]||[]);if(v){e._length=v,n.getComponentMethod(\"calendars\",\"handleTraceDefaults\")(t,e,[\"x\",\"y\"],c),e[g]&&u(\"histfunc\"),u(\"histnorm\"),u(\"autobin\"+m),s(t,e,u,r,c),i.coerceSelectionMarkerOpacity(e,u);var y=(e.marker.line||{}).color,x=n.getComponentMethod(\"errorbars\",\"supplyDefaults\");x(t,e,y||a.defaultLine,{axis:\"y\"}),x(t,e,y||a.defaultLine,{axis:\"x\",inherit:\"y\"})}else e.visible=!1}},{\"../../components/color\":366,\"../../lib\":503,\"../../registry\":638,\"../bar/defaults\":652,\"../bar/style_defaults\":663,\"./attributes\":812}],821:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,n,i){if(t.x=\"xVal\"in e?e.xVal:e.x,t.y=\"yVal\"in e?e.yVal:e.y,\"zLabelVal\"in e&&(t.z=e.zLabelVal),e.xa&&(t.xaxis=e.xa),e.ya&&(t.yaxis=e.ya),!(r.cumulative||{}).enabled){var a,o=Array.isArray(i)?n[0].pts[i[0]][i[1]]:n[i].pts;if(t.pointNumbers=o,t.binNumber=t.pointNumber,delete t.pointNumber,delete t.pointIndex,r._indexToPoints){a=[];for(var s=0;s<o.length;s++)a=a.concat(r._indexToPoints[o[s]])}else a=o;t.pointIndices=a}return t}},{}],822:[function(t,e,r){\"use strict\";var n=t(\"../bar/hover\").hoverPoints,i=t(\"../../plots/cartesian/axes\").hoverLabelText;e.exports=function(t,e,r,a,o){var s=n(t,e,r,a,o);if(s){var l=(t=s[0]).cd[t.index],c=t.cd[0].trace;if(!c.cumulative.enabled){var u=\"h\"===c.orientation?\"y\":\"x\";t[u+\"Label\"]=i(t[u+\"a\"],[l.ph0,l.ph1],c[u+\"hoverformat\"])}return s}}},{\"../../plots/cartesian/axes\":554,\"../bar/hover\":655}],823:[function(t,e,r){\"use strict\";e.exports={attributes:t(\"./attributes\"),layoutAttributes:t(\"../bar/layout_attributes\"),supplyDefaults:t(\"./defaults\"),crossTraceDefaults:t(\"./cross_trace_defaults\"),supplyLayoutDefaults:t(\"../bar/layout_defaults\"),calc:t(\"./calc\").calc,crossTraceCalc:t(\"../bar/cross_trace_calc\").crossTraceCalc,plot:t(\"../bar/plot\").plot,layerName:\"barlayer\",style:t(\"../bar/style\").style,styleOnSelect:t(\"../bar/style\").styleOnSelect,colorbar:t(\"../scatter/marker_colorbar\"),hoverPoints:t(\"./hover\"),selectPoints:t(\"../bar/select\"),eventData:t(\"./event_data\"),moduleType:\"trace\",name:\"histogram\",basePlotModule:t(\"../../plots/cartesian\"),categories:[\"bar-like\",\"cartesian\",\"svg\",\"bar\",\"histogram\",\"oriented\",\"errorBarsOK\",\"showLegend\"],meta:{}}},{\"../../plots/cartesian\":568,\"../bar/cross_trace_calc\":651,\"../bar/layout_attributes\":657,\"../bar/layout_defaults\":658,\"../bar/plot\":659,\"../bar/select\":660,\"../bar/style\":662,\"../scatter/marker_colorbar\":945,\"./attributes\":812,\"./calc\":817,\"./cross_trace_defaults\":819,\"./defaults\":820,\"./event_data\":821,\"./hover\":822}],824:[function(t,e,r){\"use strict\";e.exports={percent:function(t,e){for(var r=t.length,n=100/e,i=0;i<r;i++)t[i]*=n},probability:function(t,e){for(var r=t.length,n=0;n<r;n++)t[n]/=e},density:function(t,e,r,n){var i=t.length;n=n||1;for(var a=0;a<i;a++)t[a]*=r[a]*n},\"probability density\":function(t,e,r,n){var i=t.length;n&&(e/=n);for(var a=0;a<i;a++)t[a]*=r[a]/e}}},{}],825:[function(t,e,r){\"use strict\";var n=t(\"../histogram/attributes\"),i=t(\"../histogram/bin_attributes\"),a=t(\"../heatmap/attributes\"),o=t(\"../../plots/attributes\"),s=t(\"../../plots/cartesian/axis_format_attributes\").axisHoverFormat,l=t(\"../../plots/template_attributes\").hovertemplateAttrs,c=t(\"../../plots/template_attributes\").texttemplateAttrs,u=t(\"../../components/colorscale/attributes\"),f=t(\"../../lib/extend\").extendFlat;e.exports=f({x:n.x,y:n.y,z:{valType:\"data_array\",editType:\"calc\"},marker:{color:{valType:\"data_array\",editType:\"calc\"},editType:\"calc\"},histnorm:n.histnorm,histfunc:n.histfunc,nbinsx:n.nbinsx,xbins:i(\"x\"),nbinsy:n.nbinsy,ybins:i(\"y\"),autobinx:n.autobinx,autobiny:n.autobiny,bingroup:f({},n.bingroup,{}),xbingroup:f({},n.bingroup,{}),ybingroup:f({},n.bingroup,{}),xgap:a.xgap,ygap:a.ygap,zsmooth:a.zsmooth,xhoverformat:s(\"x\"),yhoverformat:s(\"y\"),zhoverformat:s(\"z\",1),hovertemplate:l({},{keys:\"z\"}),texttemplate:c({arrayOk:!1,editType:\"plot\"},{keys:\"z\"}),textfont:a.textfont,showlegend:f({},o.showlegend,{dflt:!1})},u(\"\",{cLetter:\"z\",autoColorDflt:!1}))},{\"../../components/colorscale/attributes\":373,\"../../lib/extend\":493,\"../../plots/attributes\":550,\"../../plots/cartesian/axis_format_attributes\":557,\"../../plots/template_attributes\":633,\"../heatmap/attributes\":792,\"../histogram/attributes\":812,\"../histogram/bin_attributes\":814}],826:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../plots/cartesian/axes\"),a=t(\"../histogram/bin_functions\"),o=t(\"../histogram/norm_functions\"),s=t(\"../histogram/average\"),l=t(\"../histogram/bin_label_vals\"),c=t(\"../histogram/calc\").calcAllAutoBins;function u(t,e,r,n){var i,a=new Array(t);if(n)for(i=0;i<t;i++)a[i]=1/(e[i+1]-e[i]);else{var o=1/r;for(i=0;i<t;i++)a[i]=o}return a}function f(t,e){return{start:t(e.start),end:t(e.end),size:e.size}}function h(t,e,r,n,i,a){var o,s=t.length-1,c=new Array(s),u=l(r,n,t,i,a);for(o=0;o<s;o++){var f=(e||[])[o];c[o]=void 0===f?[u(t[o]),u(t[o+1],!0)]:[f,f]}return c}e.exports=function(t,e){var r,l,p,d,m=i.getFromId(t,e.xaxis),g=i.getFromId(t,e.yaxis),v=e.xcalendar,y=e.ycalendar,x=function(t){return m.r2c(t,0,v)},b=function(t){return g.r2c(t,0,y)},_=c(t,e,m,\"x\"),w=_[0],T=_[1],k=c(t,e,g,\"y\"),A=k[0],M=k[1],S=e._length;T.length>S&&T.splice(S,T.length-S),M.length>S&&M.splice(S,M.length-S);var E=[],L=[],C=[],P=\"string\"==typeof w.size,I=\"string\"==typeof A.size,O=[],z=[],D=P?O:w,R=I?z:A,F=0,B=[],N=[],j=e.histnorm,U=e.histfunc,V=-1!==j.indexOf(\"density\"),H=\"max\"===U||\"min\"===U?null:0,q=a.count,G=o[j],Y=!1,W=[],X=[],Z=\"z\"in e?e.z:\"marker\"in e&&Array.isArray(e.marker.color)?e.marker.color:\"\";Z&&\"count\"!==U&&(Y=\"avg\"===U,q=a[U]);var J=w.size,K=x(w.start),Q=x(w.end)+(K-i.tickIncrement(K,J,!1,v))/1e6;for(r=K;r<Q;r=i.tickIncrement(r,J,!1,v))L.push(H),O.push(r),Y&&C.push(0);O.push(r);var $,tt=L.length,et=(r-K)/tt,rt=($=K+et/2,m.c2r($,0,v)),nt=A.size,it=b(A.start),at=b(A.end)+(it-i.tickIncrement(it,nt,!1,y))/1e6;for(r=it;r<at;r=i.tickIncrement(r,nt,!1,y)){E.push(L.slice()),z.push(r);var ot=new Array(tt);for(l=0;l<tt;l++)ot[l]=[];N.push(ot),Y&&B.push(C.slice())}z.push(r);var st=E.length,lt=(r-it)/st,ct=function(t){return g.c2r(t,0,y)}(it+lt/2);V&&(W=u(L.length,D,et,P),X=u(E.length,R,lt,I)),P||\"date\"!==m.type||(D=f(x,D)),I||\"date\"!==g.type||(R=f(b,R));var ut=!0,ft=!0,ht=new Array(tt),pt=new Array(st),dt=1/0,mt=1/0,gt=1/0,vt=1/0;for(r=0;r<S;r++){var yt=T[r],xt=M[r];p=n.findBin(yt,D),d=n.findBin(xt,R),p>=0&&p<tt&&d>=0&&d<st&&(F+=q(p,r,E[d],Z,B[d]),N[d][p].push(r),ut&&(void 0===ht[p]?ht[p]=yt:ht[p]!==yt&&(ut=!1)),ft&&(void 0===pt[d]?pt[d]=xt:pt[d]!==xt&&(ft=!1)),dt=Math.min(dt,yt-O[p]),mt=Math.min(mt,O[p+1]-yt),gt=Math.min(gt,xt-z[d]),vt=Math.min(vt,z[d+1]-xt))}if(Y)for(d=0;d<st;d++)F+=s(E[d],B[d]);if(G)for(d=0;d<st;d++)G(E[d],F,W,X[d]);return{x:T,xRanges:h(O,ut&&ht,dt,mt,m,v),x0:rt,dx:et,y:M,yRanges:h(z,ft&&pt,gt,vt,g,y),y0:ct,dy:lt,z:E,pts:N}}},{\"../../lib\":503,\"../../plots/cartesian/axes\":554,\"../histogram/average\":813,\"../histogram/bin_functions\":815,\"../histogram/bin_label_vals\":816,\"../histogram/calc\":817,\"../histogram/norm_functions\":824}],827:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./sample_defaults\"),a=t(\"../heatmap/style_defaults\"),o=t(\"../../components/colorscale/defaults\"),s=t(\"../heatmap/label_defaults\"),l=t(\"./attributes\");e.exports=function(t,e,r,c){function u(r,i){return n.coerce(t,e,l,r,i)}i(t,e,u,c),!1!==e.visible&&(a(t,e,u,c),o(t,e,c,u,{prefix:\"\",cLetter:\"z\"}),u(\"hovertemplate\"),s(u,c),u(\"xhoverformat\"),u(\"yhoverformat\"))}},{\"../../components/colorscale/defaults\":376,\"../../lib\":503,\"../heatmap/label_defaults\":802,\"../heatmap/style_defaults\":806,\"./attributes\":825,\"./sample_defaults\":830}],828:[function(t,e,r){\"use strict\";var n=t(\"../heatmap/hover\"),i=t(\"../../plots/cartesian/axes\").hoverLabelText;e.exports=function(t,e,r,a,o){var s=n(t,e,r,a,o);if(s){var l=(t=s[0]).index,c=l[0],u=l[1],f=t.cd[0],h=f.trace,p=f.xRanges[u],d=f.yRanges[c];return t.xLabel=i(t.xa,[p[0],p[1]],h.xhoverformat),t.yLabel=i(t.ya,[d[0],d[1]],h.yhoverformat),s}}},{\"../../plots/cartesian/axes\":554,\"../heatmap/hover\":799}],829:[function(t,e,r){\"use strict\";e.exports={attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\"),crossTraceDefaults:t(\"../histogram/cross_trace_defaults\"),calc:t(\"../heatmap/calc\"),plot:t(\"../heatmap/plot\"),layerName:\"heatmaplayer\",colorbar:t(\"../heatmap/colorbar\"),style:t(\"../heatmap/style\"),hoverPoints:t(\"./hover\"),eventData:t(\"../histogram/event_data\"),moduleType:\"trace\",name:\"histogram2d\",basePlotModule:t(\"../../plots/cartesian\"),categories:[\"cartesian\",\"svg\",\"2dMap\",\"histogram\",\"showLegend\"],meta:{}}},{\"../../plots/cartesian\":568,\"../heatmap/calc\":793,\"../heatmap/colorbar\":795,\"../heatmap/plot\":804,\"../heatmap/style\":805,\"../histogram/cross_trace_defaults\":819,\"../histogram/event_data\":821,\"./attributes\":825,\"./defaults\":827,\"./hover\":828}],830:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),i=t(\"../../lib\");e.exports=function(t,e,r,a){var o=r(\"x\"),s=r(\"y\"),l=i.minRowLength(o),c=i.minRowLength(s);l&&c?(e._length=Math.min(l,c),n.getComponentMethod(\"calendars\",\"handleTraceDefaults\")(t,e,[\"x\",\"y\"],a),(r(\"z\")||r(\"marker.color\"))&&r(\"histfunc\"),r(\"histnorm\"),r(\"autobinx\"),r(\"autobiny\")):e.visible=!1}},{\"../../lib\":503,\"../../registry\":638}],831:[function(t,e,r){\"use strict\";var n=t(\"../histogram2d/attributes\"),i=t(\"../contour/attributes\"),a=t(\"../../components/colorscale/attributes\"),o=t(\"../../plots/cartesian/axis_format_attributes\").axisHoverFormat,s=t(\"../../lib/extend\").extendFlat;e.exports=s({x:n.x,y:n.y,z:n.z,marker:n.marker,histnorm:n.histnorm,histfunc:n.histfunc,nbinsx:n.nbinsx,xbins:n.xbins,nbinsy:n.nbinsy,ybins:n.ybins,autobinx:n.autobinx,autobiny:n.autobiny,bingroup:n.bingroup,xbingroup:n.xbingroup,ybingroup:n.ybingroup,autocontour:i.autocontour,ncontours:i.ncontours,contours:i.contours,line:{color:i.line.color,width:s({},i.line.width,{dflt:.5}),dash:i.line.dash,smoothing:i.line.smoothing,editType:\"plot\"},xhoverformat:o(\"x\"),yhoverformat:o(\"y\"),zhoverformat:o(\"z\",1),hovertemplate:n.hovertemplate,texttemplate:i.texttemplate,textfont:i.textfont},a(\"\",{cLetter:\"z\",editTypeOverride:\"calc\"}))},{\"../../components/colorscale/attributes\":373,\"../../lib/extend\":493,\"../../plots/cartesian/axis_format_attributes\":557,\"../contour/attributes\":735,\"../histogram2d/attributes\":825}],832:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../histogram2d/sample_defaults\"),a=t(\"../contour/contours_defaults\"),o=t(\"../contour/style_defaults\"),s=t(\"../heatmap/label_defaults\"),l=t(\"./attributes\");e.exports=function(t,e,r,c){function u(r,i){return n.coerce(t,e,l,r,i)}i(t,e,u,c),!1!==e.visible&&(a(t,e,u,(function(r){return n.coerce2(t,e,l,r)})),o(t,e,u,c),u(\"xhoverformat\"),u(\"yhoverformat\"),u(\"hovertemplate\"),e.contours&&\"heatmap\"===e.contours.coloring&&s(u,c))}},{\"../../lib\":503,\"../contour/contours_defaults\":742,\"../contour/style_defaults\":756,\"../heatmap/label_defaults\":802,\"../histogram2d/sample_defaults\":830,\"./attributes\":831}],833:[function(t,e,r){\"use strict\";e.exports={attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\"),crossTraceDefaults:t(\"../histogram/cross_trace_defaults\"),calc:t(\"../contour/calc\"),plot:t(\"../contour/plot\").plot,layerName:\"contourlayer\",style:t(\"../contour/style\"),colorbar:t(\"../contour/colorbar\"),hoverPoints:t(\"../contour/hover\"),moduleType:\"trace\",name:\"histogram2dcontour\",basePlotModule:t(\"../../plots/cartesian\"),categories:[\"cartesian\",\"svg\",\"2dMap\",\"contour\",\"histogram\",\"showLegend\"],meta:{}}},{\"../../plots/cartesian\":568,\"../contour/calc\":736,\"../contour/colorbar\":738,\"../contour/hover\":748,\"../contour/plot\":753,\"../contour/style\":755,\"../histogram/cross_trace_defaults\":819,\"./attributes\":831,\"./defaults\":832}],834:[function(t,e,r){\"use strict\";var n=t(\"../../plots/template_attributes\").hovertemplateAttrs,i=t(\"../../plots/template_attributes\").texttemplateAttrs,a=t(\"../../components/colorscale/attributes\"),o=t(\"../../plots/domain\").attributes,s=t(\"../pie/attributes\"),l=t(\"../sunburst/attributes\"),c=t(\"../treemap/attributes\"),u=t(\"../treemap/constants\"),f=t(\"../../lib/extend\").extendFlat;e.exports={labels:l.labels,parents:l.parents,values:l.values,branchvalues:l.branchvalues,count:l.count,level:l.level,maxdepth:l.maxdepth,tiling:{orientation:{valType:\"enumerated\",values:[\"v\",\"h\"],dflt:\"h\",editType:\"plot\"},flip:c.tiling.flip,pad:{valType:\"number\",min:0,dflt:0,editType:\"plot\"},editType:\"calc\"},marker:f({colors:l.marker.colors,line:l.marker.line,editType:\"calc\"},a(\"marker\",{colorAttr:\"colors\",anim:!1})),leaf:l.leaf,pathbar:c.pathbar,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.outsidetextfont,textposition:c.textposition,sort:s.sort,root:l.root,domain:o({name:\"icicle\",trace:!0,editType:\"calc\"})}},{\"../../components/colorscale/attributes\":373,\"../../lib/extend\":493,\"../../plots/domain\":584,\"../../plots/template_attributes\":633,\"../pie/attributes\":901,\"../sunburst/attributes\":1049,\"../treemap/attributes\":1075,\"../treemap/constants\":1078}],835:[function(t,e,r){\"use strict\";var n=t(\"../../plots/plots\");r.name=\"icicle\",r.plot=function(t,e,i,a){n.plotBasePlot(r.name,t,e,i,a)},r.clean=function(t,e,i,a){n.cleanBasePlot(r.name,t,e,i,a)}},{\"../../plots/plots\":619}],836:[function(t,e,r){\"use strict\";var n=t(\"../sunburst/calc\");r.calc=function(t,e){return n.calc(t,e)},r.crossTraceCalc=function(t){return n._runCrossTraceCalc(\"icicle\",t)}},{\"../sunburst/calc\":1051}],837:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./attributes\"),a=t(\"../../components/color\"),o=t(\"../../plots/domain\").defaults,s=t(\"../bar/defaults\").handleText,l=t(\"../bar/constants\").TEXTPAD,c=t(\"../../components/colorscale\"),u=c.hasColorscale,f=c.handleDefaults;e.exports=function(t,e,r,c){function h(r,a){return n.coerce(t,e,i,r,a)}var p=h(\"labels\"),d=h(\"parents\");if(p&&p.length&&d&&d.length){var m=h(\"values\");m&&m.length?h(\"branchvalues\"):h(\"count\"),h(\"level\"),h(\"maxdepth\"),h(\"tiling.orientation\"),h(\"tiling.flip\"),h(\"tiling.pad\");var g=h(\"text\");h(\"texttemplate\"),e.texttemplate||h(\"textinfo\",Array.isArray(g)?\"text+label\":\"label\"),h(\"hovertext\"),h(\"hovertemplate\");var v=h(\"pathbar.visible\");s(t,e,c,h,\"auto\",{hasPathbar:v,moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),h(\"textposition\"),h(\"marker.line.width\")&&h(\"marker.line.color\",c.paper_bgcolor),h(\"marker.colors\");var y=e._hasColorscale=u(t,\"marker\",\"colors\")||(t.marker||{}).coloraxis;y&&f(t,e,c,h,{prefix:\"marker.\",cLetter:\"c\"}),h(\"leaf.opacity\",y?1:.7),e._hovered={marker:{line:{width:2,color:a.contrast(c.paper_bgcolor)}}},v&&(h(\"pathbar.thickness\",e.pathbar.textfont.size+2*l),h(\"pathbar.side\"),h(\"pathbar.edgeshape\")),h(\"sort\"),h(\"root.color\"),o(e,c,h),e._length=null}else e.visible=!1}},{\"../../components/color\":366,\"../../components/colorscale\":378,\"../../lib\":503,\"../../plots/domain\":584,\"../bar/constants\":650,\"../bar/defaults\":652,\"./attributes\":834}],838:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../../lib\"),a=t(\"../../components/drawing\"),o=t(\"../../lib/svg_text_utils\"),s=t(\"./partition\"),l=t(\"./style\").styleOne,c=t(\"../treemap/constants\"),u=t(\"../sunburst/helpers\"),f=t(\"../sunburst/fx\"),h=t(\"../sunburst/plot\").formatSliceLabel;e.exports=function(t,e,r,p,d){var m=d.width,g=d.height,v=d.viewX,y=d.viewY,x=d.pathSlice,b=d.toMoveInsideSlice,_=d.strTransform,w=d.hasTransition,T=d.handleSlicesExit,k=d.makeUpdateSliceInterpolator,A=d.makeUpdateTextInterpolator,M=d.prevEntry,S=t._fullLayout,E=e[0].trace,L=-1!==E.textposition.indexOf(\"left\"),C=-1!==E.textposition.indexOf(\"right\"),P=-1!==E.textposition.indexOf(\"bottom\"),I=s(r,[m,g],{flipX:E.tiling.flip.indexOf(\"x\")>-1,flipY:E.tiling.flip.indexOf(\"y\")>-1,orientation:E.tiling.orientation,pad:{inner:E.tiling.pad},maxDepth:E._maxDepth}).descendants(),O=1/0,z=-1/0;I.forEach((function(t){var e=t.depth;e>=E._maxDepth?(t.x0=t.x1=(t.x0+t.x1)/2,t.y0=t.y1=(t.y0+t.y1)/2):(O=Math.min(O,e),z=Math.max(z,e))})),p=p.data(I,u.getPtId),E._maxVisibleLayers=isFinite(z)?z-O+1:0,p.enter().append(\"g\").classed(\"slice\",!0),T(p,!1,{},[m,g],x),p.order();var D=null;if(w&&M){var R=u.getPtId(M);p.each((function(t){null===D&&u.getPtId(t)===R&&(D={x0:t.x0,x1:t.x1,y0:t.y0,y1:t.y1})}))}var F=function(){return D||{x0:0,x1:m,y0:0,y1:g}},B=p;return w&&(B=B.transition().each(\"end\",(function(){var e=n.select(this);u.setSliceCursor(e,t,{hideOnRoot:!0,hideOnLeaves:!1,isTransitioning:!1})}))),B.each((function(s){s._x0=v(s.x0),s._x1=v(s.x1),s._y0=y(s.y0),s._y1=y(s.y1),s._hoverX=v(s.x1-E.tiling.pad),s._hoverY=y(P?s.y1-E.tiling.pad/2:s.y0+E.tiling.pad/2);var p=n.select(this),d=i.ensureSingle(p,\"path\",\"surface\",(function(t){t.style(\"pointer-events\",\"all\")}));w?d.transition().attrTween(\"d\",(function(t){var e=k(t,!1,F(),[m,g],{orientation:E.tiling.orientation,flipX:E.tiling.flip.indexOf(\"x\")>-1,flipY:E.tiling.flip.indexOf(\"y\")>-1});return function(t){return x(e(t))}})):d.attr(\"d\",x),p.call(f,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}),d.call(l,s,E,{hovered:!1}),s.x0===s.x1||s.y0===s.y1?s._text=\"\":s._text=h(s,r,E,e,S)||\"\";var T=i.ensureSingle(p,\"g\",\"slicetext\"),M=i.ensureSingle(T,\"text\",\"\",(function(t){t.attr(\"data-notex\",1)})),I=i.ensureUniformFontSize(t,u.determineTextFont(E,s,S.font));M.text(s._text||\" \").classed(\"slicetext\",!0).attr(\"text-anchor\",C?\"end\":L?\"start\":\"middle\").call(a.font,I).call(o.convertToTspans,t),s.textBB=a.bBox(M.node()),s.transform=b(s,{fontSize:I.size}),s.transform.fontSize=I.size,w?M.transition().attrTween(\"transform\",(function(t){var e=A(t,!1,F(),[m,g]);return function(t){return _(e(t))}})):M.attr(\"transform\",_(s))})),D}},{\"../../components/drawing\":388,\"../../lib\":503,\"../../lib/svg_text_utils\":529,\"../sunburst/fx\":1054,\"../sunburst/helpers\":1055,\"../sunburst/plot\":1059,\"../treemap/constants\":1078,\"./partition\":842,\"./style\":844,\"@plotly/d3\":58}],839:[function(t,e,r){\"use strict\";e.exports={moduleType:\"trace\",name:\"icicle\",basePlotModule:t(\"./base_plot\"),categories:[],animatable:!0,attributes:t(\"./attributes\"),layoutAttributes:t(\"./layout_attributes\"),supplyDefaults:t(\"./defaults\"),supplyLayoutDefaults:t(\"./layout_defaults\"),calc:t(\"./calc\").calc,crossTraceCalc:t(\"./calc\").crossTraceCalc,plot:t(\"./plot\"),style:t(\"./style\").style,colorbar:t(\"../scatter/marker_colorbar\"),meta:{}}},{\"../scatter/marker_colorbar\":945,\"./attributes\":834,\"./base_plot\":835,\"./calc\":836,\"./defaults\":837,\"./layout_attributes\":840,\"./layout_defaults\":841,\"./plot\":843,\"./style\":844}],840:[function(t,e,r){\"use strict\";e.exports={iciclecolorway:{valType:\"colorlist\",editType:\"calc\"},extendiciclecolors:{valType:\"boolean\",dflt:!0,editType:\"calc\"}}},{}],841:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./layout_attributes\");e.exports=function(t,e){function r(r,a){return n.coerce(t,e,i,r,a)}r(\"iciclecolorway\",e.colorway),r(\"extendiciclecolors\")}},{\"../../lib\":503,\"./layout_attributes\":840}],842:[function(t,e,r){\"use strict\";var n=t(\"d3-hierarchy\"),i=t(\"../treemap/flip_tree\");e.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 f=n.partition().padding(r.pad.inner).size(s?[e[1],c]:[e[0],u])(t);return(s||a||o)&&i(f,e,{swapXY:s,flipX:a,flipY:o}),f}},{\"../treemap/flip_tree\":1083,\"d3-hierarchy\":115}],843:[function(t,e,r){\"use strict\";var n=t(\"../treemap/draw\"),i=t(\"./draw_descendants\");e.exports=function(t,e,r,a){return n(t,e,r,a,{type:\"icicle\",drawDescendants:i})}},{\"../treemap/draw\":1080,\"./draw_descendants\":838}],844:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../../components/color\"),a=t(\"../../lib\"),o=t(\"../bar/uniform_text\").resizeText;function s(t,e,r){var n=e.data.data,o=!e.children,s=n.i,l=a.castOption(r,s,\"marker.line.color\")||i.defaultLine,c=a.castOption(r,s,\"marker.line.width\")||0;t.style(\"stroke-width\",c).call(i.fill,n.color).call(i.stroke,l).style(\"opacity\",o?r.leaf.opacity:null)}e.exports={style:function(t){var e=t._fullLayout._iciclelayer.selectAll(\".trace\");o(t,e,\"icicle\"),e.each((function(t){var e=n.select(this),r=t[0].trace;e.style(\"opacity\",r.opacity),e.selectAll(\"path.surface\").each((function(t){n.select(this).call(s,t,r)}))}))},styleOne:s}},{\"../../components/color\":366,\"../../lib\":503,\"../bar/uniform_text\":664,\"@plotly/d3\":58}],845:[function(t,e,r){\"use strict\";for(var n=t(\"../../plots/attributes\"),i=t(\"../../plots/template_attributes\").hovertemplateAttrs,a=t(\"../../lib/extend\").extendFlat,o=t(\"./constants\").colormodel,s=[\"rgb\",\"rgba\",\"rgba256\",\"hsl\",\"hsla\"],l=[],c=[],u=0;u<s.length;u++){var f=o[s[u]];l.push(\"For the `\"+s[u]+\"` colormodel, it is [\"+(f.zminDflt||f.min).join(\", \")+\"].\"),c.push(\"For the `\"+s[u]+\"` colormodel, it is [\"+(f.zmaxDflt||f.max).join(\", \")+\"].\")}e.exports=a({source:{valType:\"string\",editType:\"calc\"},z:{valType:\"data_array\",editType:\"calc\"},colormodel:{valType:\"enumerated\",values:s,editType:\"calc\"},zsmooth:{valType:\"enumerated\",values:[\"fast\",!1],dflt:!1,editType:\"plot\"},zmin:{valType:\"info_array\",items:[{valType:\"number\",editType:\"calc\"},{valType:\"number\",editType:\"calc\"},{valType:\"number\",editType:\"calc\"},{valType:\"number\",editType:\"calc\"}],editType:\"calc\"},zmax:{valType:\"info_array\",items:[{valType:\"number\",editType:\"calc\"},{valType:\"number\",editType:\"calc\"},{valType:\"number\",editType:\"calc\"},{valType:\"number\",editType:\"calc\"}],editType:\"calc\"},x0:{valType:\"any\",dflt:0,editType:\"calc+clearAxisTypes\"},y0:{valType:\"any\",dflt:0,editType:\"calc+clearAxisTypes\"},dx:{valType:\"number\",dflt:1,editType:\"calc\"},dy:{valType:\"number\",dflt:1,editType:\"calc\"},text:{valType:\"data_array\",editType:\"plot\"},hovertext:{valType:\"data_array\",editType:\"plot\"},hoverinfo:a({},n.hoverinfo,{flags:[\"x\",\"y\",\"z\",\"color\",\"name\",\"text\"],dflt:\"x+y+z+text+name\"}),hovertemplate:i({},{keys:[\"z\",\"color\",\"colormodel\"]}),transforms:void 0})},{\"../../lib/extend\":493,\"../../plots/attributes\":550,\"../../plots/template_attributes\":633,\"./constants\":847}],846:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./constants\"),a=t(\"fast-isnumeric\"),o=t(\"../../plots/cartesian/axes\"),s=t(\"../../lib\").maxRowLength,l=t(\"./helpers\").getImageSize;function c(t,e,r,i){return function(a){return n.constrain((a-t)*e,r,i)}}function u(t,e){return function(r){return n.constrain(r,t,e)}}e.exports=function(t,e){var r,n;if(e._hasZ)r=e.z.length,n=s(e.z);else if(e._hasSource){var f=l(e.source);r=f.height,n=f.width}var h,p=o.getFromId(t,e.xaxis||\"x\"),d=o.getFromId(t,e.yaxis||\"y\"),m=p.d2c(e.x0)-e.dx/2,g=d.d2c(e.y0)-e.dy/2,v=[m,m+n*e.dx],y=[g,g+r*e.dy];if(p&&\"log\"===p.type)for(h=0;h<n;h++)v.push(m+h*e.dx);if(d&&\"log\"===d.type)for(h=0;h<r;h++)y.push(g+h*e.dy);return e._extremes[p._id]=o.findExtremes(p,v),e._extremes[d._id]=o.findExtremes(d,y),e._scaler=function(t){var e=i.colormodel[t.colormodel],r=(e.colormodel||t.colormodel).length;t._sArray=[];for(var n=0;n<r;n++)e.min[n]!==t.zmin[n]||e.max[n]!==t.zmax[n]?t._sArray.push(c(t.zmin[n],(e.max[n]-e.min[n])/(t.zmax[n]-t.zmin[n]),e.min[n],e.max[n])):t._sArray.push(u(e.min[n],e.max[n]));return function(e){for(var n=e.slice(0,r),i=0;i<r;i++){var o=n[i];if(!a(o))return!1;n[i]=t._sArray[i](o)}return n}}(e),[{x0:m,y0:g,z:e.z,w:n,h:r}]}},{\"../../lib\":503,\"../../plots/cartesian/axes\":554,\"./constants\":847,\"./helpers\":850,\"fast-isnumeric\":190}],847:[function(t,e,r){\"use strict\";e.exports={colormodel:{rgb:{min:[0,0,0],max:[255,255,255],fmt:function(t){return t.slice(0,3)},suffix:[\"\",\"\",\"\"]},rgba:{min:[0,0,0,0],max:[255,255,255,1],fmt:function(t){return t.slice(0,4)},suffix:[\"\",\"\",\"\",\"\"]},rgba256:{colormodel:\"rgba\",zminDflt:[0,0,0,0],zmaxDflt:[255,255,255,255],min:[0,0,0,0],max:[255,255,255,1],fmt:function(t){return t.slice(0,4)},suffix:[\"\",\"\",\"\",\"\"]},hsl:{min:[0,0,0],max:[360,100,100],fmt:function(t){var e=t.slice(0,3);return e[1]=e[1]+\"%\",e[2]=e[2]+\"%\",e},suffix:[\"\\xb0\",\"%\",\"%\"]},hsla:{min:[0,0,0,0],max:[360,100,100,1],fmt:function(t){var e=t.slice(0,4);return e[1]=e[1]+\"%\",e[2]=e[2]+\"%\",e},suffix:[\"\\xb0\",\"%\",\"%\",\"\"]}},pixelatedStyle:[\"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\",\"\"].join(\"; \")}},{}],848:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./attributes\"),a=t(\"./constants\"),o=t(\"../../snapshot/helpers\").IMAGE_URL_PREFIX;e.exports=function(t,e){function r(r,a){return n.coerce(t,e,i,r,a)}r(\"source\"),e.source&&!e.source.match(o)&&delete e.source,e._hasSource=!!e.source;var s,l=r(\"z\");(e._hasZ=!(void 0===l||!l.length||!l[0]||!l[0].length),e._hasZ||e._hasSource)?(r(\"x0\"),r(\"y0\"),r(\"dx\"),r(\"dy\"),e._hasZ?(r(\"colormodel\",\"rgb\"),r(\"zmin\",(s=a.colormodel[e.colormodel]).zminDflt||s.min),r(\"zmax\",s.zmaxDflt||s.max)):e._hasSource&&(e.colormodel=\"rgba256\",s=a.colormodel[e.colormodel],e.zmin=s.zminDflt,e.zmax=s.zmaxDflt),r(\"zsmooth\"),r(\"text\"),r(\"hovertext\"),r(\"hovertemplate\"),e._length=null):e.visible=!1}},{\"../../lib\":503,\"../../snapshot/helpers\":642,\"./attributes\":845,\"./constants\":847}],849:[function(t,e,r){\"use strict\";e.exports=function(t,e){return\"xVal\"in e&&(t.x=e.xVal),\"yVal\"in e&&(t.y=e.yVal),e.xa&&(t.xaxis=e.xa),e.ya&&(t.yaxis=e.ya),t.color=e.color,t.colormodel=e.trace.colormodel,t.z||(t.z=e.color),t}},{}],850:[function(t,e,r){\"use strict\";var n=t(\"probe-image-size/sync\"),i=t(\"../../snapshot/helpers\").IMAGE_URL_PREFIX,a=t(\"buffer/\").Buffer;r.getImageSize=function(t){var e=t.replace(i,\"\"),r=new a(e,\"base64\");return n(r)}},{\"../../snapshot/helpers\":642,\"buffer/\":85,\"probe-image-size/sync\":276}],851:[function(t,e,r){\"use strict\";var n=t(\"../../components/fx\"),i=t(\"../../lib\"),a=t(\"./constants\");e.exports=function(t,e,r){var o=t.cd[0],s=o.trace,l=t.xa,c=t.ya;if(!(n.inbox(e-o.x0,e-(o.x0+o.w*s.dx),0)>0||n.inbox(r-o.y0,r-(o.y0+o.h*s.dy),0)>0)){var u,f=Math.floor((e-o.x0)/s.dx),h=Math.floor(Math.abs(r-o.y0)/s.dy);if(s._hasZ?u=o.z[h][f]:s._hasSource&&(u=s._canvas.el.getContext(\"2d\",{willReadFrequently:!0}).getImageData(f,h,1,1).data),u){var p,d=o.hi||s.hoverinfo;if(d){var m=d.split(\"+\");-1!==m.indexOf(\"all\")&&(m=[\"color\"]),-1!==m.indexOf(\"color\")&&(p=!0)}var g,v=a.colormodel[s.colormodel],y=v.colormodel||s.colormodel,x=y.length,b=s._scaler(u),_=v.suffix,w=[];(s.hovertemplate||p)&&(w.push(\"[\"+[b[0]+_[0],b[1]+_[1],b[2]+_[2]].join(\", \")),4===x&&w.push(\", \"+b[3]+_[3]),w.push(\"]\"),w=w.join(\"\"),t.extraText=y.toUpperCase()+\": \"+w),Array.isArray(s.hovertext)&&Array.isArray(s.hovertext[h])?g=s.hovertext[h][f]:Array.isArray(s.text)&&Array.isArray(s.text[h])&&(g=s.text[h][f]);var T=c.c2p(o.y0+(h+.5)*s.dy),k=o.x0+(f+.5)*s.dx,A=o.y0+(h+.5)*s.dy,M=\"[\"+u.slice(0,s.colormodel.length).join(\", \")+\"]\";return[i.extendFlat(t,{index:[h,f],x0:l.c2p(o.x0+f*s.dx),x1:l.c2p(o.x0+(f+1)*s.dx),y0:T,y1:T,color:b,xVal:k,xLabelVal:k,yVal:A,yLabelVal:A,zLabelVal:M,text:g,hovertemplateLabels:{zLabel:M,colorLabel:w,\"color[0]Label\":b[0]+_[0],\"color[1]Label\":b[1]+_[1],\"color[2]Label\":b[2]+_[2],\"color[3]Label\":b[3]+_[3]}})]}}}},{\"../../components/fx\":406,\"../../lib\":503,\"./constants\":847}],852:[function(t,e,r){\"use strict\";e.exports={attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\"),calc:t(\"./calc\"),plot:t(\"./plot\"),style:t(\"./style\"),hoverPoints:t(\"./hover\"),eventData:t(\"./event_data\"),moduleType:\"trace\",name:\"image\",basePlotModule:t(\"../../plots/cartesian\"),categories:[\"cartesian\",\"svg\",\"2dMap\",\"noSortingByValue\"],animatable:!1,meta:{}}},{\"../../plots/cartesian\":568,\"./attributes\":845,\"./calc\":846,\"./defaults\":848,\"./event_data\":849,\"./hover\":851,\"./plot\":853,\"./style\":854}],853:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../../lib\"),a=i.strTranslate,o=t(\"../../constants/xmlns_namespaces\"),s=t(\"./constants\"),l=i.isIOS()||i.isSafari()||i.isIE();e.exports=function(t,e,r,c){var u=e.xaxis,f=e.yaxis,h=!(l||t._context._exportedPlot);i.makeTraceGroups(c,r,\"im\").each((function(e){var r=n.select(this),l=e[0],c=l.trace,p=(\"fast\"===c.zsmooth||!1===c.zsmooth&&h)&&!c._hasZ&&c._hasSource&&\"linear\"===u.type&&\"linear\"===f.type;c._realImage=p;var d,m,g,v,y,x,b=l.z,_=l.x0,w=l.y0,T=l.w,k=l.h,A=c.dx,M=c.dy;for(x=0;void 0===d&&x<T;)d=u.c2p(_+x*A),x++;for(x=T;void 0===m&&x>0;)m=u.c2p(_+x*A),x--;for(x=0;void 0===v&&x<k;)v=f.c2p(w+x*M),x++;for(x=k;void 0===y&&x>0;)y=f.c2p(w+x*M),x--;if(m<d&&(g=m,m=d,d=g),y<v&&(g=v,v=y,y=g),!p){d=Math.max(-.5*u._length,d),m=Math.min(1.5*u._length,m),v=Math.max(-.5*f._length,v),y=Math.min(1.5*f._length,y)}var S=Math.round(m-d),E=Math.round(y-v);if(S<=0||E<=0){r.selectAll(\"image\").data([]).exit().remove()}else{var L=r.selectAll(\"image\").data([e]);L.enter().append(\"svg:image\").attr({xmlns:o.svg,preserveAspectRatio:\"none\"}),L.exit().remove();var C=!1===c.zsmooth?s.pixelatedStyle:\"\";if(p){var P=i.simpleMap(u.range,u.r2l),I=i.simpleMap(f.range,f.r2l),O=P[1]<P[0],z=I[1]>I[0];if(O||z){var D=d+S/2,R=v+E/2;C+=\"transform:\"+a(D+\"px\",R+\"px\")+\"scale(\"+(O?-1:1)+\",\"+(z?-1:1)+\")\"+a(-D+\"px\",-R+\"px\")+\";\"}}L.attr(\"style\",C);var F=new Promise((function(t){if(c._hasZ)t();else if(c._hasSource)if(c._canvas&&c._canvas.el.width===T&&c._canvas.el.height===k&&c._canvas.source===c.source)t();else{var e=document.createElement(\"canvas\");e.width=T,e.height=k;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;if(c._hasZ)t=B((function(t,e){return b[e][t]})).toDataURL(\"image/png\");else if(c._hasSource)if(p)t=c.source;else{var e=c._canvas.el.getContext(\"2d\",{willReadFrequently:!0}).getImageData(0,0,T,k).data;t=B((function(t,r){var n=4*(r*T+t);return[e[n],e[n+1],e[n+2],e[n+3]]})).toDataURL(\"image/png\")}L.attr({\"xlink:href\":t,height:E,width:S,x:d,y:v})}));t._promises.push(F)}function B(t){var e=document.createElement(\"canvas\");e.width=S,e.height=E;var r,n=e.getContext(\"2d\",{willReadFrequently:!0}),a=function(t){return i.constrain(Math.round(u.c2p(_+t*A)-d),0,S)},o=function(t){return i.constrain(Math.round(f.c2p(w+t*M)-v),0,E)},h=s.colormodel[c.colormodel],p=h.colormodel||c.colormodel,m=h.fmt;for(x=0;x<l.w;x++){var g=a(x),y=a(x+1);if(y!==g&&!isNaN(y)&&!isNaN(g))for(var b=0;b<l.h;b++){var T=o(b),k=o(b+1);k===T||isNaN(k)||isNaN(T)||!t(x,b)||(r=c._scaler(t(x,b)),n.fillStyle=r?p+\"(\"+m(r).join(\",\")+\")\":\"rgba(0,0,0,0)\",n.fillRect(g,T,y-g,k-T))}}return e}}))}},{\"../../constants/xmlns_namespaces\":480,\"../../lib\":503,\"./constants\":847,\"@plotly/d3\":58}],854:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\");e.exports=function(t){n.select(t).selectAll(\".im image\").style(\"opacity\",(function(t){return t[0].trace.opacity}))}},{\"@plotly/d3\":58}],855:[function(t,e,r){\"use strict\";var n=t(\"../../lib/extend\").extendFlat,i=t(\"../../lib/extend\").extendDeep,a=t(\"../../plot_api/edit_types\").overrideAll,o=t(\"../../plots/font_attributes\"),s=t(\"../../components/color/attributes\"),l=t(\"../../plots/domain\").attributes,c=t(\"../../plots/cartesian/layout_attributes\"),u=t(\"../../plot_api/plot_template\").templatedArray,f=t(\"../../constants/delta.js\"),h=t(\"../../plots/cartesian/axis_format_attributes\").descriptionOnlyNumbers,p=o({editType:\"plot\",colorEditType:\"plot\"}),d={color:{valType:\"color\",editType:\"plot\"},line:{color:{valType:\"color\",dflt:s.defaultLine,editType:\"plot\"},width:{valType:\"number\",min:0,dflt:0,editType:\"plot\"},editType:\"calc\"},thickness:{valType:\"number\",min:0,max:1,dflt:1,editType:\"plot\"},editType:\"calc\"},m={valType:\"info_array\",items:[{valType:\"number\",editType:\"plot\"},{valType:\"number\",editType:\"plot\"}],editType:\"plot\"},g=u(\"step\",i({},d,{range:m}));e.exports={mode:{valType:\"flaglist\",editType:\"calc\",flags:[\"number\",\"delta\",\"gauge\"],dflt:\"number\"},value:{valType:\"number\",editType:\"calc\",anim:!0},align:{valType:\"enumerated\",values:[\"left\",\"center\",\"right\"],editType:\"plot\"},domain:l({name:\"indicator\",trace:!0,editType:\"calc\"}),title:{text:{valType:\"string\",editType:\"plot\"},align:{valType:\"enumerated\",values:[\"left\",\"center\",\"right\"],editType:\"plot\"},font:n({},p,{}),editType:\"plot\"},number:{valueformat:{valType:\"string\",dflt:\"\",editType:\"plot\",description:h(\"value\")},font:n({},p,{}),prefix:{valType:\"string\",dflt:\"\",editType:\"plot\"},suffix:{valType:\"string\",dflt:\"\",editType:\"plot\"},editType:\"plot\"},delta:{reference:{valType:\"number\",editType:\"calc\"},position:{valType:\"enumerated\",values:[\"top\",\"bottom\",\"left\",\"right\"],dflt:\"bottom\",editType:\"plot\"},relative:{valType:\"boolean\",editType:\"plot\",dflt:!1},valueformat:{valType:\"string\",editType:\"plot\",description:h(\"value\")},increasing:{symbol:{valType:\"string\",dflt:f.INCREASING.SYMBOL,editType:\"plot\"},color:{valType:\"color\",dflt:f.INCREASING.COLOR,editType:\"plot\"},editType:\"plot\"},decreasing:{symbol:{valType:\"string\",dflt:f.DECREASING.SYMBOL,editType:\"plot\"},color:{valType:\"color\",dflt:f.DECREASING.COLOR,editType:\"plot\"},editType:\"plot\"},font:n({},p,{}),editType:\"calc\"},gauge:{shape:{valType:\"enumerated\",editType:\"plot\",dflt:\"angular\",values:[\"angular\",\"bullet\"]},bar:i({},d,{color:{dflt:\"green\"}}),bgcolor:{valType:\"color\",editType:\"plot\"},bordercolor:{valType:\"color\",dflt:s.defaultLine,editType:\"plot\"},borderwidth:{valType:\"number\",min:0,dflt:1,editType:\"plot\"},axis:a({range:m,visible:n({},c.visible,{dflt:!0}),tickmode:c.tickmode,nticks:c.nticks,tick0:c.tick0,dtick:c.dtick,tickvals:c.tickvals,ticktext:c.ticktext,ticks:n({},c.ticks,{dflt:\"outside\"}),ticklen:c.ticklen,tickwidth:c.tickwidth,tickcolor:c.tickcolor,ticklabelstep:c.ticklabelstep,showticklabels:c.showticklabels,tickfont:o({}),tickangle:c.tickangle,tickformat:c.tickformat,tickformatstops:c.tickformatstops,tickprefix:c.tickprefix,showtickprefix:c.showtickprefix,ticksuffix:c.ticksuffix,showticksuffix:c.showticksuffix,separatethousands:c.separatethousands,exponentformat:c.exponentformat,minexponent:c.minexponent,showexponent:c.showexponent,editType:\"plot\"},\"plot\"),steps:g,threshold:{line:{color:n({},d.line.color,{}),width:n({},d.line.width,{dflt:1}),editType:\"plot\"},thickness:n({},d.thickness,{dflt:.85}),value:{valType:\"number\",editType:\"calc\",dflt:!1},editType:\"plot\"},editType:\"plot\"}}},{\"../../components/color/attributes\":365,\"../../constants/delta.js\":473,\"../../lib/extend\":493,\"../../plot_api/edit_types\":536,\"../../plot_api/plot_template\":543,\"../../plots/cartesian/axis_format_attributes\":557,\"../../plots/cartesian/layout_attributes\":569,\"../../plots/domain\":584,\"../../plots/font_attributes\":585}],856:[function(t,e,r){\"use strict\";var n=t(\"../../plots/plots\");r.name=\"indicator\",r.plot=function(t,e,i,a){n.plotBasePlot(r.name,t,e,i,a)},r.clean=function(t,e,i,a){n.cleanBasePlot(r.name,t,e,i,a)}},{\"../../plots/plots\":619}],857:[function(t,e,r){\"use strict\";e.exports={calc:function(t,e){var r=[],n=e.value;\"number\"!=typeof e._lastValue&&(e._lastValue=e.value);var i=e._lastValue,a=i;return e._hasDelta&&\"number\"==typeof e.delta.reference&&(a=e.delta.reference),r[0]={y:n,lastY:i,delta:n-a,relativeDelta:(n-a)/a},r}}},{}],858:[function(t,e,r){\"use strict\";e.exports={defaultNumberFontSize:80,bulletNumberDomainSize:.25,bulletPadding:.025,innerRadius:.75,valueThickness:.5,titlePadding:5,horizontalPadding:10}},{}],859:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./attributes\"),a=t(\"../../plots/domain\").defaults,o=t(\"../../plot_api/plot_template\"),s=t(\"../../plots/array_container_defaults\"),l=t(\"./constants.js\"),c=t(\"../../plots/cartesian/tick_value_defaults\"),u=t(\"../../plots/cartesian/tick_mark_defaults\"),f=t(\"../../plots/cartesian/tick_label_defaults\"),h=t(\"../../plots/cartesian/prefix_suffix_defaults\");function p(t,e){function r(r,a){return n.coerce(t,e,i.gauge.steps,r,a)}r(\"color\"),r(\"line.color\"),r(\"line.width\"),r(\"range\"),r(\"thickness\")}e.exports={supplyDefaults:function(t,e,r,d){function m(r,a){return n.coerce(t,e,i,r,a)}a(e,d,m),m(\"mode\"),e._hasNumber=-1!==e.mode.indexOf(\"number\"),e._hasDelta=-1!==e.mode.indexOf(\"delta\"),e._hasGauge=-1!==e.mode.indexOf(\"gauge\");var g=m(\"value\");e._range=[0,\"number\"==typeof g?1.5*g:1];var v,y,x,b,_,w,T=new Array(2);function k(t,e){return n.coerce(x,b,i.gauge,t,e)}function A(t,e){return n.coerce(_,w,i.gauge.axis,t,e)}if(e._hasNumber&&(m(\"number.valueformat\"),m(\"number.font.color\",d.font.color),m(\"number.font.family\",d.font.family),m(\"number.font.size\"),void 0===e.number.font.size&&(e.number.font.size=l.defaultNumberFontSize,T[0]=!0),m(\"number.prefix\"),m(\"number.suffix\"),v=e.number.font.size),e._hasDelta&&(m(\"delta.font.color\",d.font.color),m(\"delta.font.family\",d.font.family),m(\"delta.font.size\"),void 0===e.delta.font.size&&(e.delta.font.size=(e._hasNumber?.5:1)*(v||l.defaultNumberFontSize),T[1]=!0),m(\"delta.reference\",e.value),m(\"delta.relative\"),m(\"delta.valueformat\",e.delta.relative?\"2%\":\"\"),m(\"delta.increasing.symbol\"),m(\"delta.increasing.color\"),m(\"delta.decreasing.symbol\"),m(\"delta.decreasing.color\"),m(\"delta.position\"),y=e.delta.font.size),e._scaleNumbers=(!e._hasNumber||T[0])&&(!e._hasDelta||T[1])||!1,m(\"title.font.color\",d.font.color),m(\"title.font.family\",d.font.family),m(\"title.font.size\",.25*(v||y||l.defaultNumberFontSize)),m(\"title.text\"),e._hasGauge){(x=t.gauge)||(x={}),b=o.newContainer(e,\"gauge\"),k(\"shape\"),(e._isBullet=\"bullet\"===e.gauge.shape)||m(\"title.align\",\"center\"),(e._isAngular=\"angular\"===e.gauge.shape)||m(\"align\",\"center\"),k(\"bgcolor\",d.paper_bgcolor),k(\"borderwidth\"),k(\"bordercolor\"),k(\"bar.color\"),k(\"bar.line.color\"),k(\"bar.line.width\"),k(\"bar.thickness\",l.valueThickness*(\"bullet\"===e.gauge.shape?.5:1)),s(x,b,{name:\"steps\",handleItemDefaults:p}),k(\"threshold.value\"),k(\"threshold.thickness\"),k(\"threshold.line.width\"),k(\"threshold.line.color\"),_={},x&&(_=x.axis||{}),w=o.newContainer(b,\"axis\"),A(\"visible\"),e._range=A(\"range\",e._range);var M={outerTicks:!0};c(_,w,A,\"linear\"),h(_,w,A,\"linear\",M),f(_,w,A,\"linear\",M),u(_,w,A,M)}else m(\"title.align\",\"center\"),m(\"align\",\"center\"),e._isAngular=e._isBullet=!1;e._length=null}}},{\"../../lib\":503,\"../../plot_api/plot_template\":543,\"../../plots/array_container_defaults\":549,\"../../plots/cartesian/prefix_suffix_defaults\":573,\"../../plots/cartesian/tick_label_defaults\":578,\"../../plots/cartesian/tick_mark_defaults\":579,\"../../plots/cartesian/tick_value_defaults\":580,\"../../plots/domain\":584,\"./attributes\":855,\"./constants.js\":858}],860:[function(t,e,r){\"use strict\";e.exports={moduleType:\"trace\",name:\"indicator\",basePlotModule:t(\"./base_plot\"),categories:[\"svg\",\"noOpacity\",\"noHover\"],animatable:!0,attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\").supplyDefaults,calc:t(\"./calc\").calc,plot:t(\"./plot\"),meta:{}}},{\"./attributes\":855,\"./base_plot\":856,\"./calc\":857,\"./defaults\":859,\"./plot\":861}],861:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"d3-interpolate\").interpolate,a=t(\"d3-interpolate\").interpolateNumber,o=t(\"../../lib\"),s=o.strScale,l=o.strTranslate,c=o.rad2deg,u=t(\"../../constants/alignment\").MID_SHIFT,f=t(\"../../components/drawing\"),h=t(\"./constants\"),p=t(\"../../lib/svg_text_utils\"),d=t(\"../../plots/cartesian/axes\"),m=t(\"../../plots/cartesian/axis_defaults\"),g=t(\"../../plots/cartesian/position_defaults\"),v=t(\"../../plots/cartesian/layout_attributes\"),y=t(\"../../components/color\"),x={left:\"start\",center:\"middle\",right:\"end\"},b={left:0,center:.5,right:1},_=/[yzafpn\\xb5mkMGTPEZY]/;function w(t){return t&&t.duration>0}function T(t){t.each((function(t){y.stroke(n.select(this),t.line.color)})).each((function(t){y.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,noHover:!0,noTickson:!0};function l(t,e){return o.coerce(i,a,v,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(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}e.exports=function(t,e,r,m){var g,v=t._fullLayout;w(r)&&m&&(g=m()),o.makeTraceGroups(v._indicatorlayer,e,\"trace\").each((function(e){var m,E,L,C,P,I=e[0].trace,O=n.select(this),z=I._hasGauge,D=I._isAngular,R=I._isBullet,F=I.domain,B={w:v._size.w*(F.x[1]-F.x[0]),h:v._size.h*(F.y[1]-F.y[0]),l:v._size.l+v._size.w*F.x[0],r:v._size.r+v._size.w*(1-F.x[1]),t:v._size.t+v._size.h*(1-F.y[1]),b:v._size.b+v._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,H=I.align||\"center\";if(E=j,z){if(D&&(m=N,E=j+U/2,L=function(t){return function(t,e){var r=Math.sqrt(t.width/2*(t.width/2)+t.height*t.height);return[e/r,t,e]}(t,.9*V)}),R){var q=h.bulletPadding,G=1-h.bulletNumberDomainSize+q;m=B.l+(G+(1-G)*b[H])*B.w,L=function(t){return A(t,(h.bulletNumberDomainSize-q)*B.w,B.h)}}}else m=B.l+b[H]*B.w,L=function(t){return A(t,B.w,B.h)};!function(t,e,r,i){var c,u,h,m=r[0].trace,g=i.numbersX,v=i.numbersY,T=m.align||\"center\",A=x[T],E=i.transitionOpts,L=i.onComplete,C=o.ensureSingle(e,\"g\",\"numbers\"),P=[];m._hasNumber&&P.push(\"number\");m._hasDelta&&(P.push(\"delta\"),\"left\"===m.delta.position&&P.reverse());var I=C.selectAll(\"text\").data(P);function O(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)}}I.enter().append(\"text\"),I.attr(\"text-anchor\",(function(){return A})).attr(\"class\",(function(t){return t})).attr(\"x\",null).attr(\"y\",null).attr(\"dx\",null).attr(\"dy\",null),I.exit().remove();var z,D=m.mode+m.align;m._hasDelta&&(z=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=function(t){return m.delta.relative?t.relativeDelta:t.delta},s=function(t,e){return 0===t||\"number\"!=typeof t||isNaN(t)?\"-\":(t>0?m.delta.increasing.symbol:m.delta.decreasing.symbol)+e(t)},l=function(t){return t.delta>=0?m.delta.increasing.color:m.delta.decreasing.color};void 0===m._deltaLastValue&&(m._deltaLastValue=o(r[0]));var c=C.select(\"text.delta\");function h(){c.text(s(o(r[0]),i)).call(y.fill,l(r[0])).call(p.convertToTspans,t)}return c.call(f.font,m.delta.font).call(y.fill,l({delta:m._deltaLastValue})),w(E)?c.transition().duration(E.duration).ease(E.easing).tween(\"text\",(function(){var t=n.select(this),e=o(r[0]),c=m._deltaLastValue,u=O(m.delta.valueformat,i,c,e),f=a(c,e);return m._deltaLastValue=e,function(e){t.text(s(f(e),u)),t.call(y.fill,l({delta:f(e)}))}})).each(\"end\",(function(){h(),L&&L()})).each(\"interrupt\",(function(){h(),L&&L()})):h(),u=M(s(o(r[0]),i),m.delta.font,A,t),c}(),D+=m.delta.position+m.delta.font.size+m.delta.font.family+m.delta.valueformat,D+=m.delta.increasing.symbol+m.delta.decreasing.symbol,h=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=C.select(\"text.number\");function u(){var e=\"number\"==typeof r[0].y?s+i(r[0].y)+o:\"-\";l.text(e).call(f.font,m.number.font).call(p.convertToTspans,t)}w(E)?l.transition().duration(E.duration).ease(E.easing).each(\"end\",(function(){u(),L&&L()})).each(\"interrupt\",(function(){u(),L&&L()})).attrTween(\"text\",(function(){var t=n.select(this),e=a(r[0].lastY,r[0].y);m._lastValue=r[0].y;var l=O(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,h=c);if(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*b[m.align]+u.width*(1-b[m.align])+j),D,Math.min),F=B[1]-N[1],h={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-b[m.align])+u.width*b[m.align]+j,D,Math.max),F=B[1]-N[1],h={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,h={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,h={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}),z.attr({dx:R,dy:F})}(m._hasNumber||m._hasDelta)&&C.attr(\"transform\",(function(){var t=i.numbersScaler(h);D+=t[2];var e,r=S(m,\"numbersScale\",1,t[0],D,Math.min);m._scaleNumbers||(r=1),e=m._isAngular?v-r*h.bottom:v-r*(h.top+h.bottom)/2,m._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(m,\"numbersTranslate\",0,a,D,Math.max),l(a,e)+s(r)}))}(t,O,e,{numbersX:m,numbersY:E,numbersScaler:L,transitionOpts:r,onComplete:g}),z&&(C={range:I.gauge.axis.range,color:I.gauge.bgcolor,line:{color:I.gauge.bordercolor,width:0},thickness:1},P={range:I.gauge.axis.range,color:\"rgba(0, 0, 0, 0)\",line:{color:I.gauge.bordercolor,width:I.gauge.borderwidth},thickness:1});var Y=O.selectAll(\"g.angular\").data(D?e:[]);Y.exit().remove();var W=O.selectAll(\"g.angularaxis\").data(D?e:[]);W.exit().remove(),D&&function(t,e,r,a){var o,s,f,h,p=r[0].trace,m=a.size,g=a.radius,v=a.innerRadius,y=a.gaugeBg,x=a.gaugeOutline,b=[m.l+m.w/2,m.t+m.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((v+g)/2-t/2*(g-v)).outerRadius((v+g)/2+t/2*(g-v)).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 I=function(t){return(o.range[0]-t.x)/(o.range[1]-o.range[0])*Math.PI+Math.PI},O={},z=d.makeLabelFns(o,0).labelStandoff;O.xFn=function(t){var e=I(t);return Math.cos(e)*z},O.yFn=function(t){var e=I(t),r=Math.sin(e)>0?.2:1;return-Math.sin(e)*(z+t.fontSize*r)+Math.abs(Math.cos(e))*(t.fontSize*u)},O.anchorFn=function(t){var e=I(t),r=Math.cos(e);return Math.abs(r)<.1?\"middle\":r>0?\"start\":\"end\"},O.heightFn=function(t,e,r){var n=I(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(I(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=I(t);return D(e)+\"rotate(\"+-c(e)+\")\"}}),d.drawLabels(t,o,{vals:s,layer:A,transFn:f,labelFns:O})}var F=[y].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=j.select(\"path\");w(M)?(U.transition().duration(M.duration).ease(M.easing).each(\"end\",(function(){S&&S()})).each(\"interrupt\",(function(){S&&S()})).attrTween(\"d\",(V=N,H=L(r[0].lastY),q=L(r[0].y),function(){var t=i(H,q);return function(e){return V.endAngle(t(e))()}})),p._lastValue=r[0].y):U.attr(\"d\",\"number\"==typeof r[0].y?N.endAngle(L(r[0].y)):\"M0,0Z\");var V,H,q;U.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 Y=_.selectAll(\"g.threshold-arc\").data(F);Y.enter().append(\"g\").classed(\"threshold-arc\",!0).append(\"path\"),Y.select(\"path\").call(P).call(T),Y.exit().remove();var W=_.selectAll(\"g.gauge-outline\").data([x]);W.enter().append(\"g\").classed(\"gauge-outline\",!0).append(\"path\"),W.select(\"path\").call(P).call(T),W.exit().remove()}(t,0,e,{radius:U,innerRadius:V,gauge:Y,layer:W,size:B,gaugeBg:C,gaugeOutline:P,transitionOpts:r,onComplete:g});var X=O.selectAll(\"g.bullet\").data(R?e:[]);X.exit().remove();var Z=O.selectAll(\"g.bulletaxis\").data(R?e:[]);Z.exit().remove(),R&&function(t,e,r,n){var i,a,o,s,c,u=r[0].trace,f=n.gauge,p=n.layer,m=n.gaugeBg,g=n.gaugeOutline,v=n.size,x=u.domain,b=n.transitionOpts,_=n.onComplete;f.enter().append(\"g\").classed(\"bullet\",!0),f.attr(\"transform\",l(v.l,v.t)),p.enter().append(\"g\").classed(\"bulletaxis\",!0).classed(\"crisp\",!0),p.selectAll(\"g.xbulletaxistick,path,text\").remove();var A=v.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-h.bulletNumberDomainSize:1);(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=v.t+v.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)}));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}))}var C=[m].concat(u.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 I=f.selectAll(\"g.value-bullet\").data([u.gauge.bar]);I.enter().append(\"g\").classed(\"value-bullet\",!0).append(\"rect\"),I.select(\"rect\").attr(\"height\",M).attr(\"y\",(A-M)/2).call(T),w(b)?I.select(\"rect\").transition().duration(b.duration).ease(b.easing).each(\"end\",(function(){_&&_()})).each(\"interrupt\",(function(){_&&_()})).attr(\"width\",Math.max(0,i.c2p(Math.min(u.gauge.axis.range[1],r[0].y)))):I.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);I.exit().remove();var O=r.filter((function(){return u.gauge.threshold.value||0===u.gauge.threshold.value})),z=f.selectAll(\"g.threshold-bullet\").data(O);z.enter().append(\"g\").classed(\"threshold-bullet\",!0).append(\"line\"),z.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(y.stroke,u.gauge.threshold.line.color).style(\"stroke-width\",u.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 J=O.selectAll(\"text.title\").data(e);J.exit().remove(),J.enter().append(\"text\").classed(\"title\",!0),J.attr(\"text-anchor\",(function(){return R?x.right:x[I.title.align]})).text(I.title.text).call(f.font,I.title.font).call(p.convertToTspans,t),J.attr(\"transform\",(function(){var t,e=B.l+B.w*b[I.title.align],r=h.titlePadding,n=f.bBox(J.node());if(z){if(D)if(I.gauge.axis.visible)t=f.bBox(W.node()).top-r-n.bottom;else t=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)}else t=I._numbersTop-r-n.bottom;return l(e,t)}))}))}},{\"../../components/color\":366,\"../../components/drawing\":388,\"../../constants/alignment\":471,\"../../lib\":503,\"../../lib/svg_text_utils\":529,\"../../plots/cartesian/axes\":554,\"../../plots/cartesian/axis_defaults\":556,\"../../plots/cartesian/layout_attributes\":569,\"../../plots/cartesian/position_defaults\":572,\"./constants\":858,\"@plotly/d3\":58,\"d3-interpolate\":116}],862:[function(t,e,r){\"use strict\";var n=t(\"../../components/colorscale/attributes\"),i=t(\"../../plots/cartesian/axis_format_attributes\").axisHoverFormat,a=t(\"../../plots/template_attributes\").hovertemplateAttrs,o=t(\"../mesh3d/attributes\"),s=t(\"../../plots/attributes\"),l=t(\"../../lib/extend\").extendFlat,c=t(\"../../plot_api/edit_types\").overrideAll;var u=e.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},{\"../../components/colorscale/attributes\":373,\"../../lib/extend\":493,\"../../plot_api/edit_types\":536,\"../../plots/attributes\":550,\"../../plots/cartesian/axis_format_attributes\":557,\"../../plots/template_attributes\":633,\"../mesh3d/attributes\":867}],863:[function(t,e,r){\"use strict\";var n=t(\"../../components/colorscale/calc\"),i=t(\"../streamtube/calc\").processGrid,a=t(\"../streamtube/calc\").filter;e.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;l<e._len;l++){var c=e._value[l];o=Math.min(o,c),s=Math.max(s,c)}e._minValues=o,e._maxValues=s,e._vMin=void 0===e.isomin||null===e.isomin?o:e.isomin,e._vMax=void 0===e.isomax||null===e.isomin?s:e.isomax,n(t,e,{vals:[e._vMin,e._vMax],containerStr:\"\",cLetter:\"c\"})}},{\"../../components/colorscale/calc\":374,\"../streamtube/calc\":1045}],864:[function(t,e,r){\"use strict\";var n=t(\"../../../stackgl_modules\").gl_mesh3d,i=t(\"../../lib/gl_format_color\").parseColorScale,a=t(\"../../lib/str2rgbarray\"),o=t(\"../../components/colorscale\").extractOpts,s=t(\"../../plots/gl3d/zip3\"),l=function(t,e){for(var r=e.length-1;r>0;r--){var n=Math.min(e[r],e[r-1]),i=Math.max(e[r],e[r-1]);if(i>n&&n<t&&t<=i)return{id:r,distRatio:(i-t)/(i-n)}}return{id:0,distRatio:0}};function c(t,e,r){this.scene=t,this.uid=r,this.mesh=e,this.name=\"\",this.data=null,this.showContour=!1}var u=c.prototype;u.handlePick=function(t){if(t.object===this.mesh){var e=t.data.index,r=this.data._meshX[e],n=this.data._meshY[e],i=this.data._meshZ[e],a=this.data._Ys.length,o=this.data._Zs.length,s=l(r,this.data._Xs).id,c=l(n,this.data._Ys).id,u=l(i,this.data._Zs).id,f=t.index=u+o*c+o*a*s;t.traceCoordinate=[this.data._meshX[f],this.data._meshY[f],this.data._meshZ[f],this.data._value[f]];var h=this.data.hovertext||this.data.text;return Array.isArray(h)&&void 0!==h[f]?t.textLabel=h[f]:h&&(t.textLabel=h),!0}},u.update=function(t){var e=this.scene,r=e.fullSceneLayout;function n(t,e,r,n){return e.map((function(e){return t.d2l(e,0,n)*r}))}this.data=h(t);var l={positions:s(n(r.xaxis,t._meshX,e.dataScale[0],t.xcalendar),n(r.yaxis,t._meshY,e.dataScale[1],t.ycalendar),n(r.zaxis,t._meshZ,e.dataScale[2],t.zcalendar)),cells:s(t._meshI,t._meshJ,t._meshK),lightPosition:[t.lightposition.x,t.lightposition.y,t.lightposition.z],ambient:t.lighting.ambient,diffuse:t.lighting.diffuse,specular:t.lighting.specular,roughness:t.lighting.roughness,fresnel:t.lighting.fresnel,vertexNormalsEpsilon:t.lighting.vertexnormalsepsilon,faceNormalsEpsilon:t.lighting.facenormalsepsilon,opacity:t.opacity,contourEnable:t.contour.show,contourColor:a(t.contour.color).slice(0,3),contourWidth:t.contour.width,useFacetNormals:t.flatshading},c=o(t);l.vertexIntensity=t._meshIntensity,l.vertexIntensityBounds=[c.min,c.max],l.colormap=i(t),this.mesh.update(l)},u.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()};var f=[\"xyz\",\"xzy\",\"yxz\",\"yzx\",\"zxy\",\"zyx\"];function h(t){t._meshI=[],t._meshJ=[],t._meshK=[];var e,r,n,i,a,o,s,c=t.surface.show,u=t.spaceframe.show,h=t.surface.fill,p=t.spaceframe.fill,d=!1,m=!1,g=0,v=t._Xs,y=t._Ys,x=t._Zs,b=v.length,_=y.length,w=x.length,T=f.indexOf(t._gridFill.replace(/-/g,\"\").replace(/\\+/g,\"\")),k=function(t,e,r){switch(T){case 5:return r+w*e+w*_*t;case 4:return r+w*t+w*b*e;case 3:return e+_*r+_*w*t;case 2:return e+_*t+_*b*r;case 1:return t+b*r+b*w*e;default:return t+b*e+b*_*r}},A=t._minValues,M=t._maxValues,S=t._vMin,E=t._vMax;function L(t,e,s){for(var l=o.length,c=r;c<l;c++)if(t===n[c]&&e===i[c]&&s===a[c])return c;return-1}function C(){r=e}function P(){n=[],i=[],a=[],o=[],e=0,C()}function I(t,r,s,l){return n.push(t),i.push(r),a.push(s),o.push(l),++e-1}function O(t,e,r){for(var n=[],i=0;i<t.length;i++)n[i]=t[i]*(1-r)+r*e[i];return n}function z(t){s=t}function D(t,e){return\"all\"===t||null===t||t.indexOf(e)>-1}function R(t,e){return null===t?e:t}function F(e,r,n){C();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<t.length;i++)n[i]=(t[i]+e[i]+r[i])/3;return n}(r,n,i),o=Math.sqrt(1-s),l=O(a,r,o),c=O(a,n,o),u=O(a,i,o),f=e[0],h=e[1],p=e[2];return{xyzv:[[r,n,c],[c,l,r],[n,i,u],[u,c,n],[i,r,l],[l,u,i]],abc:[[f,h,-1],[-1,-1,f],[h,p,-1],[-1,-1,h],[p,f,-1],[-1,-1,p]]}}(r,n);l=u.xyzv,c=u.abc}for(var f=0;f<l.length;f++){r=l[f],n=c[f];for(var h=[],p=0;p<3;p++){var d=r[p][0],m=r[p][1],v=r[p][2],y=r[p][3],x=n[p]>-1?n[p]:L(d,m,v);h[p]=x>-1?x:I(d,m,v,R(e,y))}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];i<r&&(i=r),i>n&&(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}function V(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):a<3&&V(t,e,r,S,E,++a)};if(s[0]&&s[1]&&s[2])return l(t,e,r)||o;var c=!1;return[[0,1,2],[2,0,1],[1,2,0]].forEach((function(a){if(s[a[0]]&&s[a[1]]&&!s[a[2]]){var u=e[a[0]],f=e[a[1]],h=e[a[2]],p=B(h,u,n,i),d=B(h,f,n,i);o=l(t,[d,p,u],[-1,-1,r[a[0]]])||o,o=l(t,[u,f,d],[r[a[0]],r[a[1]],-1])||o,c=!0}})),c||[[0,1,2],[1,2,0],[2,0,1]].forEach((function(a){if(s[a[0]]&&!s[a[1]]&&!s[a[2]]){var u=e[a[0]],f=e[a[1]],h=e[a[2]],p=B(f,u,n,i),d=B(h,u,n,i);o=l(t,[d,p,u],[-1,-1,r[a[0]]])||o,c=!0}})),o}function H(t,e,r,n){var i=!1,a=U(e),o=[N(a[0][3],r,n),N(a[1][3],r,n),N(a[2][3],r,n),N(a[3][3],r,n)];if(!(o[0]||o[1]||o[2]||o[3]))return i;if(o[0]&&o[1]&&o[2]&&o[3])return m&&(i=function(t,e,r){var n=function(n,i,a){F(t,[e[n],e[i],e[a]],[r[n],r[i],r[a]])};n(0,1,2),n(3,0,1),n(2,3,0),n(1,2,3)}(t,a,e)||i),i;var s=!1;return[[0,1,2,3],[3,0,1,2],[2,3,0,1],[1,2,3,0]].forEach((function(l){if(o[l[0]]&&o[l[1]]&&o[l[2]]&&!o[l[3]]){var c=a[l[0]],u=a[l[1]],f=a[l[2]],h=a[l[3]];if(m)i=F(t,[c,u,f],[e[l[0]],e[l[1]],e[l[2]]])||i;else{var p=B(h,c,r,n),d=B(h,u,r,n),g=B(h,f,r,n);i=F(null,[p,d,g],[-1,-1,-1])||i}s=!0}})),s?i:([[0,1,2,3],[1,2,3,0],[2,3,0,1],[3,0,1,2],[0,2,3,1],[1,3,2,0]].forEach((function(l){if(o[l[0]]&&o[l[1]]&&!o[l[2]]&&!o[l[3]]){var c=a[l[0]],u=a[l[1]],f=a[l[2]],h=a[l[3]],p=B(f,c,r,n),d=B(f,u,r,n),g=B(h,u,r,n),v=B(h,c,r,n);m?(i=F(t,[c,v,p],[e[l[0]],-1,-1])||i,i=F(t,[u,d,g],[e[l[1]],-1,-1])||i):i=function(t,e,r){var n=function(n,i,a){F(t,[e[n],e[i],e[a]],[r[n],r[i],r[a]])};n(0,1,2),n(2,3,0)}(null,[p,d,g,v],[-1,-1,-1,-1])||i,s=!0}})),s||[[0,1,2,3],[1,2,3,0],[2,3,0,1],[3,0,1,2]].forEach((function(l){if(o[l[0]]&&!o[l[1]]&&!o[l[2]]&&!o[l[3]]){var c=a[l[0]],u=a[l[1]],f=a[l[2]],h=a[l[3]],p=B(u,c,r,n),d=B(f,c,r,n),g=B(h,c,r,n);m?(i=F(t,[c,p,d],[e[l[0]],-1,-1])||i,i=F(t,[c,d,g],[e[l[0]],-1,-1])||i,i=F(t,[c,g,p],[e[l[0]],-1,-1])||i):i=F(null,[p,d,g],[-1,-1,-1])||i,s=!0}})),i)}function q(t,e,r,n,i,a,o,s,l,c,u){var f=!1;return d&&(D(t,\"A\")&&(f=H(null,[e,r,n,a],c,u)||f),D(t,\"B\")&&(f=H(null,[r,n,i,l],c,u)||f),D(t,\"C\")&&(f=H(null,[r,a,o,l],c,u)||f),D(t,\"D\")&&(f=H(null,[n,a,s,l],c,u)||f),D(t,\"E\")&&(f=H(null,[r,n,a,l],c,u)||f)),m&&(f=H(t,[r,n,a,l],c,u)||f),f}function G(t,e,r,n,i,a,o,s){return[!0===s[0]||V(t,U([e,r,n]),[e,r,n],a,o),!0===s[1]||V(t,U([n,i,e]),[n,i,e],a,o)]}function Y(t,e,r,n,i,a,o,s,l){return s?G(t,e,r,i,n,a,o,l):G(t,r,i,n,e,a,o,l)}function W(t,e,r,n,i,a,o){var s,l,c,u,f=!1,h=function(){f=V(t,[s,l,c],[-1,-1,-1],i,a)||f,f=V(t,[c,u,s],[-1,-1,-1],i,a)||f},p=o[0],d=o[1],m=o[2];return p&&(s=O(U([k(e,r-0,n-0)])[0],U([k(e-1,r-0,n-0)])[0],p),l=O(U([k(e,r-0,n-1)])[0],U([k(e-1,r-0,n-1)])[0],p),c=O(U([k(e,r-1,n-1)])[0],U([k(e-1,r-1,n-1)])[0],p),u=O(U([k(e,r-1,n-0)])[0],U([k(e-1,r-1,n-0)])[0],p),h()),d&&(s=O(U([k(e-0,r,n-0)])[0],U([k(e-0,r-1,n-0)])[0],d),l=O(U([k(e-0,r,n-1)])[0],U([k(e-0,r-1,n-1)])[0],d),c=O(U([k(e-1,r,n-1)])[0],U([k(e-1,r-1,n-1)])[0],d),u=O(U([k(e-1,r,n-0)])[0],U([k(e-1,r-1,n-0)])[0],d),h()),m&&(s=O(U([k(e-0,r-0,n)])[0],U([k(e-0,r-0,n-1)])[0],m),l=O(U([k(e-0,r-1,n)])[0],U([k(e-0,r-1,n-1)])[0],m),c=O(U([k(e-1,r-1,n)])[0],U([k(e-1,r-1,n-1)])[0],m),u=O(U([k(e-1,r-0,n)])[0],U([k(e-1,r-0,n-1)])[0],m),h()),f}function X(t,e,r,n,i,a,o,s,l,c,u,f){var h=t;return f?(d&&\"even\"===t&&(h=null),q(h,e,r,n,i,a,o,s,l,c,u)):(d&&\"odd\"===t&&(h=null),q(h,l,s,o,a,i,n,r,e,c,u))}function Z(t,e,r,n,i){for(var a=[],o=0,s=0;s<e.length;s++)for(var l=e[s],c=1;c<w;c++)for(var u=1;u<_;u++)a.push(Y(t,k(l,u-1,c-1),k(l,u-1,c),k(l,u,c-1),k(l,u,c),r,n,(l+u+c)%2,i&&i[o]?i[o]:[])),o++;return a}function J(t,e,r,n,i){for(var a=[],o=0,s=0;s<e.length;s++)for(var l=e[s],c=1;c<b;c++)for(var u=1;u<w;u++)a.push(Y(t,k(c-1,l,u-1),k(c,l,u-1),k(c-1,l,u),k(c,l,u),r,n,(c+l+u)%2,i&&i[o]?i[o]:[])),o++;return a}function K(t,e,r,n,i){for(var a=[],o=0,s=0;s<e.length;s++)for(var l=e[s],c=1;c<_;c++)for(var u=1;u<b;u++)a.push(Y(t,k(u-1,c-1,l),k(u-1,c,l),k(u,c-1,l),k(u,c,l),r,n,(u+c+l)%2,i&&i[o]?i[o]:[])),o++;return a}function Q(t,e,r){for(var n=1;n<w;n++)for(var i=1;i<_;i++)for(var a=1;a<b;a++)X(t,k(a-1,i-1,n-1),k(a-1,i-1,n),k(a-1,i,n-1),k(a-1,i,n),k(a,i-1,n-1),k(a,i-1,n),k(a,i,n-1),k(a,i,n),e,r,(a+i+n)%2)}function $(t,e,r){d=!0,Q(t,e,r),d=!1}function tt(t,e,r,n,i,a){for(var o=[],s=0,l=0;l<e.length;l++)for(var c=e[l],u=1;u<w;u++)for(var f=1;f<_;f++)o.push(W(t,c,f,u,r,n,i[l],a&&a[s]&&a[s])),s++;return o}function et(t,e,r,n,i,a){for(var o=[],s=0,l=0;l<e.length;l++)for(var c=e[l],u=1;u<b;u++)for(var f=1;f<w;f++)o.push(W(t,u,c,f,r,n,i[l],a&&a[s]&&a[s])),s++;return o}function rt(t,e,r,n,i,a){for(var o=[],s=0,l=0;l<e.length;l++)for(var c=e[l],u=1;u<_;u++)for(var f=1;f<b;f++)o.push(W(t,f,u,c,r,n,i[l],a&&a[s]&&a[s])),s++;return o}function nt(t,e){for(var r=[],n=t;n<e;n++)r.push(n);return r}return function(){if(P(),function(){for(var e=0;e<b;e++)for(var r=0;r<_;r++)for(var n=0;n<w;n++){var i=k(e,r,n);I(t._x[i],t._y[i],t._z[i],t._value[i])}}(),u&&p&&(z(p),m=!0,Q(null,S,E),m=!1),c&&h){z(h);for(var e=t.surface.pattern,r=t.surface.count,s=0;s<r;s++){var f=1===r?.5:s/(r-1),d=(1-f)*S+f*E,T=Math.abs(d-A)>Math.abs(d-M)?[A,d]:[d,M];$(e,T[0],T[1])}}var L=[[Math.min(S,M),Math.max(S,M)],[Math.min(A,E),Math.max(A,E)]];[\"x\",\"y\",\"z\"].forEach((function(e){for(var r=[],n=0;n<L.length;n++){var i=0,a=L[n][0],o=L[n][1],s=t.slices[e];if(s.show&&s.fill){z(s.fill);var c=[],u=[],f=[];if(s.locations.length)for(var h=0;h<s.locations.length;h++){var p=l(s.locations[h],\"x\"===e?v:\"y\"===e?y:x);0===p.distRatio?c.push(p.id):p.id>0&&(u.push(p.id),\"x\"===e?f.push([p.distRatio,0,0]):\"y\"===e?f.push([0,p.distRatio,0]):f.push([0,0,p.distRatio]))}else c=nt(1,\"x\"===e?b-1:\"y\"===e?_-1:w-1);u.length>0&&(r[i]=\"x\"===e?tt(null,u,a,o,f,r[i]):\"y\"===e?et(null,u,a,o,f,r[i]):rt(null,u,a,o,f,r[i]),i++),c.length>0&&(r[i]=\"x\"===e?Z(null,c,a,o,r[i]):\"y\"===e?J(null,c,a,o,r[i]):K(null,c,a,o,r[i]),i++)}var d=t.caps[e];d.show&&d.fill&&(z(d.fill),r[i]=\"x\"===e?Z(null,[0,b-1],a,o,r[i]):\"y\"===e?J(null,[0,_-1],a,o,r[i]):K(null,[0,w-1],a,o,r[i]),i++)}})),0===g&&P(),t._meshX=n,t._meshY=i,t._meshZ=a,t._meshIntensity=o,t._Xs=v,t._Ys=y,t._Zs=x}(),t}e.exports={findNearestOnAxis:l,generateIsoMeshes:h,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}}},{\"../../../stackgl_modules\":1124,\"../../components/colorscale\":378,\"../../lib/gl_format_color\":499,\"../../lib/str2rgbarray\":528,\"../../plots/gl3d/zip3\":609}],865:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../registry\"),a=t(\"./attributes\"),o=t(\"../../components/colorscale/defaults\");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\"),f=a(\"z\"),h=a(\"value\");c&&c.length&&u&&u.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}e.exports={supplyDefaults:function(t,e,r,i){s(t,e,r,i,(function(r,i){return n.coerce(t,e,a,r,i)}))},supplyIsoDefaults:s}},{\"../../components/colorscale/defaults\":376,\"../../lib\":503,\"../../registry\":638,\"./attributes\":862}],866:[function(t,e,r){\"use strict\";e.exports={attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\").supplyDefaults,calc:t(\"./calc\"),colorbar:{min:\"cmin\",max:\"cmax\"},plot:t(\"./convert\").createIsosurfaceTrace,moduleType:\"trace\",name:\"isosurface\",basePlotModule:t(\"../../plots/gl3d\"),categories:[\"gl3d\",\"showLegend\"],meta:{}}},{\"../../plots/gl3d\":598,\"./attributes\":862,\"./calc\":863,\"./convert\":864,\"./defaults\":865}],867:[function(t,e,r){\"use strict\";var n=t(\"../../components/colorscale/attributes\"),i=t(\"../../plots/cartesian/axis_format_attributes\").axisHoverFormat,a=t(\"../../plots/template_attributes\").hovertemplateAttrs,o=t(\"../surface/attributes\"),s=t(\"../../plots/attributes\"),l=t(\"../../lib/extend\").extendFlat;e.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})})},{\"../../components/colorscale/attributes\":373,\"../../lib/extend\":493,\"../../plots/attributes\":550,\"../../plots/cartesian/axis_format_attributes\":557,\"../../plots/template_attributes\":633,\"../surface/attributes\":1061}],868:[function(t,e,r){\"use strict\";var n=t(\"../../components/colorscale/calc\");e.exports=function(t,e){e.intensity&&n(t,e,{vals:e.intensity,containerStr:\"\",cLetter:\"c\"})}},{\"../../components/colorscale/calc\":374}],869:[function(t,e,r){\"use strict\";var n=t(\"../../../stackgl_modules\").gl_mesh3d,i=t(\"../../../stackgl_modules\").delaunay_triangulate,a=t(\"../../../stackgl_modules\").alpha_shape,o=t(\"../../../stackgl_modules\").convex_hull,s=t(\"../../lib/gl_format_color\").parseColorScale,l=t(\"../../lib/str2rgbarray\"),c=t(\"../../components/colorscale\").extractOpts,u=t(\"../../plots/gl3d/zip3\");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 h=f.prototype;function p(t){for(var e=[],r=t.length,n=0;n<r;n++)e[n]=l(t[n]);return e}function d(t,e,r,n){for(var i=[],a=e.length,o=0;o<a;o++)i[o]=t.d2l(e[o],0,n)*r;return i}function m(t){for(var e=[],r=t.length,n=0;n<r;n++)e[n]=Math.round(t[n]);return e}function g(t,e){for(var r=t.length,n=0;n<r;n++)if(t[n]<=-.5||t[n]>=e-.5)return!1;return!0}h.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 Array.isArray(r)&&void 0!==r[e]?t.textLabel=r[e]:r&&(t.textLabel=r),!0}},h.update=function(t){var e=this.scene,r=e.fullSceneLayout;this.data=t;var n,f=t.x.length,h=u(d(r.xaxis,t.x,e.dataScale[0],t.xcalendar),d(r.yaxis,t.y,e.dataScale[1],t.ycalendar),d(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||!g(t.i,f)||!g(t.j,f)||!g(t.k,f))return;n=u(m(t.i),m(t.j),m(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;o<a;o++)n[o]=[e[o][(r+1)%3],e[o][(r+2)%3]];return i(n)}(t.delaunayaxis,h);var v={positions:h,cells:n,lightPosition:[t.lightposition.x,t.lightposition.y,t.lightposition.z],ambient:t.lighting.ambient,diffuse:t.lighting.diffuse,specular:t.lighting.specular,roughness:t.lighting.roughness,fresnel:t.lighting.fresnel,vertexNormalsEpsilon:t.lighting.vertexnormalsepsilon,faceNormalsEpsilon:t.lighting.facenormalsepsilon,opacity:t.opacity,contourEnable:t.contour.show,contourColor:l(t.contour.color).slice(0,3),contourWidth:t.contour.width,useFacetNormals:t.flatshading};if(t.intensity){var y=c(t);this.color=\"#fff\";var x=t.intensitymode;v[x+\"Intensity\"]=t.intensity,v[x+\"IntensityBounds\"]=[y.min,y.max],v.colormap=s(t)}else t.vertexcolor?(this.color=t.vertexcolor[0],v.vertexColors=p(t.vertexcolor)):t.facecolor?(this.color=t.facecolor[0],v.cellColors=p(t.facecolor)):(this.color=t.color,v.meshColor=l(t.color));this.mesh.update(v)},h.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()},e.exports=function(t,e){var r=t.glplot.gl,i=n({gl:r}),a=new f(t,i,e.uid);return i._trace=a,a.update(e),t.glplot.add(i),a}},{\"../../../stackgl_modules\":1124,\"../../components/colorscale\":378,\"../../lib/gl_format_color\":499,\"../../lib/str2rgbarray\":528,\"../../plots/gl3d/zip3\":609}],870:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),i=t(\"../../lib\"),a=t(\"../../components/colorscale/defaults\"),o=t(\"./attributes\");e.exports=function(t,e,r,s){function l(r,n){return i.coerce(t,e,o,r,n)}function c(t){var e=t.map((function(t){var e=l(t);return e&&i.isArrayOrTypedArray(e)?e:null}));return e.every((function(t){return t&&t.length===e[0].length}))&&e}c([\"x\",\"y\",\"z\"])?(c([\"i\",\"j\",\"k\"]),(!e.i||e.j&&e.k)&&(!e.j||e.k&&e.i)&&(!e.k||e.i&&e.j)?(n.getComponentMethod(\"calendars\",\"handleTraceDefaults\")(t,e,[\"x\",\"y\",\"z\"],s),[\"lighting.ambient\",\"lighting.diffuse\",\"lighting.specular\",\"lighting.roughness\",\"lighting.fresnel\",\"lighting.vertexnormalsepsilon\",\"lighting.facenormalsepsilon\",\"lightposition.x\",\"lightposition.y\",\"lightposition.z\",\"flatshading\",\"alphahull\",\"delaunayaxis\",\"opacity\"].forEach((function(t){l(t)})),l(\"contour.show\")&&(l(\"contour.color\"),l(\"contour.width\")),\"intensity\"in t?(l(\"intensity\"),l(\"intensitymode\"),a(t,e,s,l,{prefix:\"\",cLetter:\"c\"})):(e.showscale=!1,\"facecolor\"in t?l(\"facecolor\"):\"vertexcolor\"in t?l(\"vertexcolor\"):l(\"color\",r)),l(\"text\"),l(\"hovertext\"),l(\"hovertemplate\"),l(\"xhoverformat\"),l(\"yhoverformat\"),l(\"zhoverformat\"),e._length=null):e.visible=!1):e.visible=!1}},{\"../../components/colorscale/defaults\":376,\"../../lib\":503,\"../../registry\":638,\"./attributes\":867}],871:[function(t,e,r){\"use strict\";e.exports={attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\"),calc:t(\"./calc\"),colorbar:{min:\"cmin\",max:\"cmax\"},plot:t(\"./convert\"),moduleType:\"trace\",name:\"mesh3d\",basePlotModule:t(\"../../plots/gl3d\"),categories:[\"gl3d\",\"showLegend\"],meta:{}}},{\"../../plots/gl3d\":598,\"./attributes\":867,\"./calc\":868,\"./convert\":869,\"./defaults\":870}],872:[function(t,e,r){\"use strict\";var n=t(\"../../lib\").extendFlat,i=t(\"../scatter/attributes\"),a=t(\"../../plots/cartesian/axis_format_attributes\").axisHoverFormat,o=t(\"../../components/drawing/attributes\").dash,s=t(\"../../components/fx/attributes\"),l=t(\"../../constants/delta.js\"),c=l.INCREASING.COLOR,u=l.DECREASING.COLOR,f=i.line;function h(t){return{line:{color:n({},f.color,{dflt:t}),width:f.width,dash:o,editType:\"style\"},editType:\"style\"}}e.exports={xperiod:i.xperiod,xperiod0:i.xperiod0,xperiodalignment:i.xperiodalignment,xhoverformat:a(\"x\"),yhoverformat:a(\"y\"),x:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},open:{valType:\"data_array\",editType:\"calc\"},high:{valType:\"data_array\",editType:\"calc\"},low:{valType:\"data_array\",editType:\"calc\"},close:{valType:\"data_array\",editType:\"calc\"},line:{width:n({},f.width,{}),dash:n({},o,{}),editType:\"style\"},increasing:h(c),decreasing:h(u),text:{valType:\"string\",dflt:\"\",arrayOk:!0,editType:\"calc\"},hovertext:{valType:\"string\",dflt:\"\",arrayOk:!0,editType:\"calc\"},tickwidth:{valType:\"number\",min:0,max:.5,dflt:.3,editType:\"calc\"},hoverlabel:n({},s.hoverlabel,{split:{valType:\"boolean\",dflt:!1,editType:\"style\"}})}},{\"../../components/drawing/attributes\":387,\"../../components/fx/attributes\":397,\"../../constants/delta.js\":473,\"../../lib\":503,\"../../plots/cartesian/axis_format_attributes\":557,\"../scatter/attributes\":927}],873:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=n._,a=t(\"../../plots/cartesian/axes\"),o=t(\"../../plots/cartesian/align_period\"),s=t(\"../../constants/numerical\").BADNUM;function l(t,e,r,n){return{o:t,h:e,l:r,c:n}}function c(t,e,r,o,l,c){for(var u=l.makeCalcdata(e,\"open\"),f=l.makeCalcdata(e,\"high\"),h=l.makeCalcdata(e,\"low\"),p=l.makeCalcdata(e,\"close\"),d=Array.isArray(e.text),m=Array.isArray(e.hovertext),g=!0,v=null,y=!!e.xperiodalignment,x=[],b=0;b<o.length;b++){var _=o[b],w=u[b],T=f[b],k=h[b],A=p[b];if(_!==s&&w!==s&&T!==s&&k!==s&&A!==s){A===w?null!==v&&A!==v&&(g=A>v):g=A>w,v=A;var M=c(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],y&&(M.orig_p=r[b]),d&&(M.tx=e.text[b]),m&&(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}e.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<s.length;a++){var c=s[a];if(\"ohlc\"===c.type&&!0===c.visible&&c.xaxis===e._id){l.push(c);var u=e.makeCalcdata(c,\"x\");c._origX=u;var f=o(r,e,\"x\",u).vals;c._xcalc=f;var h=n.distinctVals(f).minDiff;h&&isFinite(h)&&(i=Math.min(i,h))}}for(i===1/0&&(i=1),a=0;a<l.length;a++)l[a]._minDiff=i}return i*r.tickwidth}(t,r,e),u=e._minDiff;e._minDiff=null;var f=e._origX;e._origX=null;var h=e._xcalc;e._xcalc=null;var p=c(t,e,f,h,i,l);return e._extremes[r._id]=a.findExtremes(r,h,{vpad:u/2}),p.length?(n.extendFlat(p[0].t,{wHover:u/2,tickLen:s}),p):[{t:{empty:!0}}]},calcCommon:c}},{\"../../constants/numerical\":479,\"../../lib\":503,\"../../plots/cartesian/align_period\":551,\"../../plots/cartesian/axes\":554}],874:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./ohlc_defaults\"),a=t(\"../scatter/period_defaults\"),o=t(\"./attributes\");function s(t,e,r,n){r(n+\".line.color\"),r(n+\".line.width\",e.line.width),r(n+\".line.dash\",e.line.dash)}e.exports=function(t,e,r,l){function c(r,i){return n.coerce(t,e,o,r,i)}i(t,e,c,l)?(a(t,e,l,c,{x:!0}),c(\"xhoverformat\"),c(\"yhoverformat\"),c(\"line.width\"),c(\"line.dash\"),s(t,e,c,\"increasing\"),s(t,e,c,\"decreasing\"),c(\"text\"),c(\"hovertext\"),c(\"tickwidth\"),l._requestRangeslider[e.xaxis]=!0):e.visible=!1}},{\"../../lib\":503,\"../scatter/period_defaults\":947,\"./attributes\":872,\"./ohlc_defaults\":877}],875:[function(t,e,r){\"use strict\";var n=t(\"../../plots/cartesian/axes\"),i=t(\"../../lib\"),a=t(\"../../components/fx\"),o=t(\"../../components/color\"),s=t(\"../../lib\").fillText,l=t(\"../../constants/delta.js\"),c={increasing:l.INCREASING.SYMBOL,decreasing:l.DECREASING.SYMBOL};function u(t,e,r,n){var i,s,l=t.cd,c=t.xa,u=l[0].trace,f=l[0].t,h=u.type,p=\"ohlc\"===h?\"l\":\"min\",d=\"ohlc\"===h?\"h\":\"max\",m=f.bPos||0,g=f.bdPos||f.tickLen,v=f.wHover,y=Math.min(1,g/Math.abs(c.r2c(c.range[1])-c.r2c(c.range[0])));function x(t){var r=function(t){return t.pos+m-e}(t);return a.inbox(r-v,r+v,i)}function b(t){var e=t[p],n=t[d];return e===n||a.inbox(e-r,n-r,i)}function _(t){return(x(t)+b(t))/2}i=t.maxHoverDistance-y,s=t.maxSpikeDistance-y;var w=a.getDistanceFunction(n,x,b,_);if(a.getClosest(l,w,t),!1===t.index)return null;var T=l[t.index];if(T.empty)return null;var k=u[T.dir],A=k.line.color;return o.opacity(A)&&k.line.width?t.color=A:t.color=k.fillcolor,t.x0=c.c2p(T.pos+m-g,!0),t.x1=c.c2p(T.pos+m+g,!0),t.xLabelVal=void 0!==T.orig_p?T.orig_p:T.pos,t.spikeDistance=_(T)*s/i,t.xSpike=c.c2p(T.pos,!0),t}function f(t,e,r,a){var o=t.cd,s=t.ya,l=o[0].trace,c=o[0].t,f=[],h=u(t,e,r,a);if(!h)return[];var p=o[h.index].hi||l.hoverinfo,d=p.split(\"+\");if(!(\"all\"===p||-1!==d.indexOf(\"y\")))return[];for(var m=[\"high\",\"open\",\"close\",\"low\"],g={},v=0;v<m.length;v++){var y,x=m[v],b=l[x][h.index],_=s.c2p(b,!0);b in g?(y=g[b]).yLabel+=\"<br>\"+c.labels[x]+n.hoverLabelText(s,b,l.yhoverformat):((y=i.extendFlat({},h)).y0=y.y1=_,y.yLabelVal=b,y.yLabel=c.labels[x]+n.hoverLabelText(s,b,l.yhoverformat),y.name=\"\",f.push(y),g[b]=y)}return f}function h(t,e,r,i){var a=t.cd,o=t.ya,l=a[0].trace,f=a[0].t,h=u(t,e,r,i);if(!h)return[];var p=a[h.index],d=h.index=p.i,m=p.dir;function g(t){return f.labels[t]+n.hoverLabelText(o,l[t][d],l.yhoverformat)}var v=p.hi||l.hoverinfo,y=v.split(\"+\"),x=\"all\"===v,b=x||-1!==y.indexOf(\"y\"),_=x||-1!==y.indexOf(\"text\"),w=b?[g(\"open\"),g(\"high\"),g(\"low\"),g(\"close\")+\"  \"+c[m]]:[];return _&&s(p,l,w),h.extraText=w.join(\"<br>\"),h.y0=h.y1=o.c2p(p.yc,!0),[h]}e.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}},{\"../../components/color\":366,\"../../components/fx\":406,\"../../constants/delta.js\":473,\"../../lib\":503,\"../../plots/cartesian/axes\":554}],876:[function(t,e,r){\"use strict\";e.exports={moduleType:\"trace\",name:\"ohlc\",basePlotModule:t(\"../../plots/cartesian\"),categories:[\"cartesian\",\"svg\",\"showLegend\"],meta:{},attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\"),calc:t(\"./calc\").calc,plot:t(\"./plot\"),style:t(\"./style\"),hoverPoints:t(\"./hover\").hoverPoints,selectPoints:t(\"./select\")}},{\"../../plots/cartesian\":568,\"./attributes\":872,\"./calc\":873,\"./defaults\":874,\"./hover\":875,\"./plot\":878,\"./select\":879,\"./style\":880}],877:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),i=t(\"../../lib\");e.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 f=Math.min(s.length,l.length,c.length,u.length);return o&&(f=Math.min(f,i.minRowLength(o))),e._length=f,f}}},{\"../../lib\":503,\"../../registry\":638}],878:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../../lib\");e.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}))}}))}},{\"../../lib\":503,\"@plotly/d3\":58}],879:[function(t,e,r){\"use strict\";e.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<n.length;r++)n[r].selected=0;else for(r=0;r<n.length;r++){var l=n[r];e.contains([i.c2p(l.pos+s),a.c2p(l.yc)],null,l.i,t)?(o.push({pointNumber:l.i,x:i.c2d(l.pos),y:a.c2d(l.yc)}),l.selected=1):l.selected=0}return o}},{}],880:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../../components/drawing\"),a=t(\"../../components/color\");e.exports=function(t,e,r){var o=r||n.select(t).selectAll(\"g.ohlclayer\").selectAll(\"g.trace\");o.style(\"opacity\",(function(t){return t[0].trace.opacity})),o.each((function(t){var e=t[0].trace;n.select(this).selectAll(\"path\").each((function(t){if(!t.empty){var r=e[t.dir].line;n.select(this).style(\"fill\",\"none\").call(a.stroke,r.color).call(i.dashLine,r.dash,r.width).style(\"opacity\",e.selectedpoints&&!t.selected?.3:1)}}))}))}},{\"../../components/color\":366,\"../../components/drawing\":388,\"@plotly/d3\":58}],881:[function(t,e,r){\"use strict\";var n=t(\"../../lib/extend\").extendFlat,i=t(\"../../plots/attributes\"),a=t(\"../../plots/font_attributes\"),o=t(\"../../components/colorscale/attributes\"),s=t(\"../../plots/template_attributes\").hovertemplateAttrs,l=t(\"../../plots/domain\").attributes,c=n({editType:\"calc\"},o(\"line\",{editTypeOverride:\"calc\"}),{shape:{valType:\"enumerated\",values:[\"linear\",\"hspline\"],dflt:\"linear\",editType:\"plot\"},hovertemplate:s({editType:\"plot\",arrayOk:!1},{keys:[\"count\",\"probability\"]})});e.exports={domain:l({name:\"parcats\",trace:!0,editType:\"calc\"}),hoverinfo:n({},i.hoverinfo,{flags:[\"count\",\"probability\"],editType:\"plot\",arrayOk:!1}),hoveron:{valType:\"enumerated\",values:[\"category\",\"color\",\"dimension\"],dflt:\"category\",editType:\"plot\"},hovertemplate:s({editType:\"plot\",arrayOk:!1},{keys:[\"count\",\"probability\",\"category\",\"categorycount\",\"colorcount\",\"bandcolorcount\"]}),arrangement:{valType:\"enumerated\",values:[\"perpendicular\",\"freeform\",\"fixed\"],dflt:\"perpendicular\",editType:\"plot\"},bundlecolors:{valType:\"boolean\",dflt:!0,editType:\"plot\"},sortpaths:{valType:\"enumerated\",values:[\"forward\",\"backward\"],dflt:\"forward\",editType:\"plot\"},labelfont:a({editType:\"calc\"}),tickfont:a({editType:\"calc\"}),dimensions:{_isLinkedToArray:\"dimension\",label:{valType:\"string\",editType:\"calc\"},categoryorder:{valType:\"enumerated\",values:[\"trace\",\"category ascending\",\"category descending\",\"array\"],dflt:\"trace\",editType:\"calc\"},categoryarray:{valType:\"data_array\",editType:\"calc\"},ticktext:{valType:\"data_array\",editType:\"calc\"},values:{valType:\"data_array\",dflt:[],editType:\"calc\"},displayindex:{valType:\"integer\",editType:\"calc\"},editType:\"calc\",visible:{valType:\"boolean\",dflt:!0,editType:\"calc\"}},line:c,counts:{valType:\"number\",min:0,dflt:1,arrayOk:!0,editType:\"calc\"},customdata:void 0,hoverlabel:void 0,ids:void 0,legendgroup:void 0,legendrank:void 0,opacity:void 0,selectedpoints:void 0,showlegend:void 0}},{\"../../components/colorscale/attributes\":373,\"../../lib/extend\":493,\"../../plots/attributes\":550,\"../../plots/domain\":584,\"../../plots/font_attributes\":585,\"../../plots/template_attributes\":633}],882:[function(t,e,r){\"use strict\";var n=t(\"../../plots/get_data\").getModuleCalcData,i=t(\"./plot\");r.name=\"parcats\",r.plot=function(t,e,r,a){var o=n(t.calcdata,\"parcats\");if(o.length){var s=o[0];i(t,s,r,a)}},r.clean=function(t,e,r,n){var i=n._has&&n._has(\"parcats\"),a=e._has&&e._has(\"parcats\");i&&!a&&n._paperdiv.selectAll(\".parcats\").remove()}},{\"../../plots/get_data\":593,\"./plot\":887}],883:[function(t,e,r){\"use strict\";var n=t(\"../../lib/gup\").wrap,i=t(\"../../components/colorscale/helpers\").hasColorscale,a=t(\"../../components/colorscale/calc\"),o=t(\"../../lib/filter_unique.js\"),s=t(\"../../components/drawing\"),l=t(\"../../lib\"),c=t(\"fast-isnumeric\");function u(t,e,r){t.valueInds.push(e),t.count+=r}function f(t,e,r){return{categoryInds:t,color:e,rawColor:r,valueInds:[],count:0}}function h(t,e,r){t.valueInds.push(e),t.count+=r}e.exports=function(t,e){var r=l.filterVisible(e.dimensions);if(0===r.length)return[];var p,d,m,g=r.map((function(t){var e;if(\"trace\"===t.categoryorder)e=null;else if(\"array\"===t.categoryorder)e=t.categoryarray;else{e=o(t.values);for(var r=!0,n=0;n<e.length;n++)if(!c(e[n])){r=!1;break}e.sort(r?l.sorterAsc:void 0),\"category descending\"===t.categoryorder&&(e=e.reverse())}return function(t,e){e=null==e?[]:e.map((function(t){return t}));var r={},n={},i=[];e.forEach((function(t,e){r[t]=0,n[t]=e}));for(var a=0;a<t.length;a++){var o,s=t[a];void 0===r[s]?(r[s]=1,o=e.push(s)-1,n[s]=o):(r[s]++,o=n[s]),i.push(o)}var l=e.map((function(t){return r[t]}));return{uniqueValues:e,uniqueCounts:l,inds:i}}(t.values,e)}));p=l.isArrayOrTypedArray(e.counts)?e.counts:[e.counts],function(t){var e;if(function(t){for(var e=new Array(t.length),r=0;r<t.length;r++){if(t[r]<0||t[r]>=t.length)return!1;if(void 0!==e[t[r]])return!1;e[t[r]]=!0}return!0}(t.map((function(t){return t.displayindex}))))for(e=0;e<t.length;e++)t[e]._displayindex=t[e].displayindex;else for(e=0;e<t.length;e++)t[e]._displayindex=e}(r),r.forEach((function(t,e){!function(t,e){t._categoryarray=e.uniqueValues,null===t.ticktext||void 0===t.ticktext?t._ticktext=[]:t._ticktext=t.ticktext.slice();for(var r=t._ticktext.length;r<e.uniqueValues.length;r++)t._ticktext.push(e.uniqueValues[r])}(t,g[e])}));var v,y=e.line;y?(i(e,\"line\")&&a(t,e,{vals:e.line.color,containerStr:\"line\",cLetter:\"c\"}),v=s.tryColorscale(y)):v=l.identity;var x,b,_,w,T,k=r[0].values.length,A={},M=g.map((function(t){return t.inds}));for(m=0,x=0;x<k;x++){var S=[];for(b=0;b<M.length;b++)S.push(M[b][x]);d=p[x%p.length],m+=d;var E=(_=x,w=void 0,T=void 0,l.isArrayOrTypedArray(y.color)?T=w=y.color[_%y.color.length]:w=y.color,{color:v(w),rawColor:T}),L=S+\"-\"+E.rawColor;void 0===A[L]&&(A[L]=f(S,E.color,E.rawColor)),h(A[L],x,d)}var C,P=r.map((function(t,e){return function(t,e,r,n,i){return{dimensionInd:t,containerInd:e,displayInd:r,dimensionLabel:n,count:i,categories:[],dragX:null}}(e,t._index,t._displayindex,t.label,m)}));for(x=0;x<k;x++)for(d=p[x%p.length],b=0;b<P.length;b++){var I=P[b].containerInd,O=g[b].inds[x],z=P[b].categories;if(void 0===z[O]){var D=e.dimensions[I]._categoryarray[O],R=e.dimensions[I]._ticktext[O];z[O]={dimensionInd:b,categoryInd:C=O,categoryValue:D,displayInd:C,categoryLabel:R,valueInds:[],count:0,dragY:null}}u(z[O],x,d)}return n(function(t,e,r){var n=t.map((function(t){return t.categories.length})).reduce((function(t,e){return Math.max(t,e)}));return{dimensions:t,paths:e,trace:void 0,maxCats:n,count:r}}(P,A,m))}},{\"../../components/colorscale/calc\":374,\"../../components/colorscale/helpers\":377,\"../../components/drawing\":388,\"../../lib\":503,\"../../lib/filter_unique.js\":494,\"../../lib/gup\":500,\"fast-isnumeric\":190}],884:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../components/colorscale/helpers\").hasColorscale,a=t(\"../../components/colorscale/defaults\"),o=t(\"../../plots/domain\").defaults,s=t(\"../../plots/array_container_defaults\"),l=t(\"./attributes\"),c=t(\"../parcoords/merge_length\");function u(t,e){function r(r,i){return n.coerce(t,e,l.dimensions,r,i)}var i=r(\"values\"),a=r(\"visible\");if(i&&i.length||(a=e.visible=!1),a){r(\"label\"),r(\"displayindex\",e._index);var o,s=t.categoryarray,c=Array.isArray(s)&&s.length>0;c&&(o=\"array\");var u=r(\"categoryorder\",o);\"array\"===u?(r(\"categoryarray\"),r(\"ticktext\")):(delete t.categoryarray,delete t.ticktext),c||\"array\"!==u||(e.categoryorder=\"trace\")}}e.exports=function(t,e,r,f){function h(r,i){return n.coerce(t,e,l,r,i)}var p=s(t,e,{name:\"dimensions\",handleItemDefaults:u}),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,f,h);o(e,f,h),Array.isArray(p)&&p.length||(e.visible=!1),c(e,p,\"values\",d),h(\"hoveron\"),h(\"hovertemplate\"),h(\"arrangement\"),h(\"bundlecolors\"),h(\"sortpaths\"),h(\"counts\");var m={family:f.font.family,size:Math.round(f.font.size),color:f.font.color};n.coerceFont(h,\"labelfont\",m);var g={family:f.font.family,size:Math.round(f.font.size/1.2),color:f.font.color};n.coerceFont(h,\"tickfont\",g)}},{\"../../components/colorscale/defaults\":376,\"../../components/colorscale/helpers\":377,\"../../lib\":503,\"../../plots/array_container_defaults\":549,\"../../plots/domain\":584,\"../parcoords/merge_length\":898,\"./attributes\":881}],885:[function(t,e,r){\"use strict\";e.exports={attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\"),calc:t(\"./calc\"),plot:t(\"./plot\"),colorbar:{container:\"line\",min:\"cmin\",max:\"cmax\"},moduleType:\"trace\",name:\"parcats\",basePlotModule:t(\"./base_plot\"),categories:[\"noOpacity\"],meta:{}}},{\"./attributes\":881,\"./base_plot\":882,\"./calc\":883,\"./defaults\":884,\"./plot\":887}],886:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"d3-interpolate\").interpolateNumber,a=t(\"../../plot_api/plot_api\"),o=t(\"../../components/fx\"),s=t(\"../../lib\"),l=s.strTranslate,c=t(\"../../components/drawing\"),u=t(\"tinycolor2\"),f=t(\"../../lib/svg_text_utils\");function h(t,e,r,i){var a=t.map(F.bind(0,e,r)),o=i.selectAll(\"g.parcatslayer\").data([null]);o.enter().append(\"g\").attr(\"class\",\"parcatslayer\").style(\"pointer-events\",\"all\");var u=o.selectAll(\"g.trace.parcats\").data(a,p),h=u.enter().append(\"g\").attr(\"class\",\"trace parcats\");u.attr(\"transform\",(function(t){return l(t.x,t.y)})),h.append(\"g\").attr(\"class\",\"paths\");var y=u.select(\"g.paths\").selectAll(\"path.path\").data((function(t){return t.paths}),p);y.attr(\"fill\",(function(t){return t.model.color}));var x=y.enter().append(\"path\").attr(\"class\",\"path\").attr(\"stroke-opacity\",0).attr(\"fill\",(function(t){return t.model.color})).attr(\"fill-opacity\",0);_(x),y.attr(\"d\",(function(t){return t.svgD})),x.empty()||y.sort(m),y.exit().remove(),y.on(\"mouseover\",g).on(\"mouseout\",v).on(\"click\",b),h.append(\"g\").attr(\"class\",\"dimensions\");var w=u.select(\"g.dimensions\").selectAll(\"g.dimension\").data((function(t){return t.dimensions}),p);w.enter().append(\"g\").attr(\"class\",\"dimension\"),w.attr(\"transform\",(function(t){return l(t.x,0)})),w.exit().remove();var A=w.selectAll(\"g.category\").data((function(t){return t.categories}),p),M=A.enter().append(\"g\").attr(\"class\",\"category\");A.attr(\"transform\",(function(t){return l(0,t.y)})),M.append(\"rect\").attr(\"class\",\"catrect\").attr(\"pointer-events\",\"none\"),A.select(\"rect.catrect\").attr(\"fill\",\"none\").attr(\"width\",(function(t){return t.width})).attr(\"height\",(function(t){return t.height})),T(M);var S=A.selectAll(\"rect.bandrect\").data((function(t){return t.bands}),p);S.each((function(){s.raiseToTop(this)})),S.attr(\"fill\",(function(t){return t.color}));var E=S.enter().append(\"rect\").attr(\"class\",\"bandrect\").attr(\"stroke-opacity\",0).attr(\"fill\",(function(t){return t.color})).attr(\"fill-opacity\",0);S.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(E),S.exit().remove(),M.append(\"text\").attr(\"class\",\"catlabel\").attr(\"pointer-events\",\"none\");var z=e._fullLayout.paper_bgcolor;A.select(\"text.catlabel\").attr(\"text-anchor\",(function(t){return d(t)?\"start\":\"end\"})).attr(\"alignment-baseline\",\"middle\").style(\"text-shadow\",f.makeTextShadow(z)).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),f.convertToTspans(n.select(this),e)})),M.append(\"text\").attr(\"class\",\"dimlabel\"),A.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)})),A.selectAll(\"rect.bandrect\").on(\"mouseover\",L).on(\"mouseout\",C),A.exit().remove(),w.call(n.behavior.drag().origin((function(t){return{x:t.x,y:0}})).on(\"dragstart\",P).on(\"drag\",I).on(\"dragend\",O)),u.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\")})),u.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<e.model.rawColor?-1:0}function g(t){if(!t.parcatsViewModel.dragDimension&&-1===t.parcatsViewModel.hoverinfoItems.indexOf(\"skip\")){s.raiseToTop(this),w(n.select(this));var e=y(t),r=x(t);if(t.parcatsViewModel.graphDiv.emit(\"plotly_hover\",{points:e,event:n.event,constraints:r}),-1===t.parcatsViewModel.hoverinfoItems.indexOf(\"none\")){var i,a,l,c=n.mouse(this)[0],f=t.parcatsViewModel.graphDiv,h=t.parcatsViewModel.trace,p=f._fullLayout,d=p._paperdiv.node().getBoundingClientRect(),m=t.parcatsViewModel.graphDiv.getBoundingClientRect();for(l=0;l<t.leftXs.length-1;l++)if(t.leftXs[l]+t.dimWidths[l]-2<=c&&c<=t.leftXs[l+1]+2){var g=t.parcatsViewModel.dimensions[l],v=t.parcatsViewModel.dimensions[l+1];i=(g.x+g.width+v.x)/2,a=(t.topYs[l]+t.topYs[l+1]+t.height)/2;break}var b=t.parcatsViewModel.x+i,_=t.parcatsViewModel.y+a,T=u.mostReadable(t.model.color,[\"black\",\"white\"]),k=t.model.count,A=k/t.parcatsViewModel.model.count,M={countLabel:k,probabilityLabel:A.toFixed(3)},S=[];-1!==t.parcatsViewModel.hoverinfoItems.indexOf(\"count\")&&S.push([\"Count:\",M.countLabel].join(\" \")),-1!==t.parcatsViewModel.hoverinfoItems.indexOf(\"probability\")&&S.push([\"P:\",M.probabilityLabel].join(\" \"));var E=S.join(\"<br>\"),L=n.mouse(f)[0];o.loneHover({trace:h,x:b-d.left+m.left,y:_-d.top+m.top,text:E,color:t.model.color,borderColor:\"black\",fontFamily:'Monaco, \"Courier New\", monospace',fontSize:10,fontColor:T,idealAlign:L<b?\"right\":\"left\",hovertemplate:(h.line||{}).hovertemplate,hovertemplateLabels:M,eventData:[{data:h._input,fullData:h,count:k,probability:A}]},{container:p._hoverlayer.node(),outerContainer:p._paper.node(),gd:f})}}}function v(t){if(!t.parcatsViewModel.dragDimension&&(_(n.select(this)),o.loneUnhover(t.parcatsViewModel.graphDiv._fullLayout._hoverlayer.node()),t.parcatsViewModel.pathSelection.sort(m),-1===t.parcatsViewModel.hoverinfoItems.indexOf(\"skip\"))){var e=y(t),r=x(t);t.parcatsViewModel.graphDiv.emit(\"plotly_unhover\",{points:e,event:n.event,constraints:r})}}function y(t){for(var e=[],r=z(t.parcatsViewModel),n=0;n<t.model.valueInds.length;n++){var i=t.model.valueInds[n];e.push({curveNumber:r,pointNumber:i})}return e}function x(t){for(var e={},r=t.parcatsViewModel.model.dimensions,n=0;n<r.length;n++){var i=r[n],a=i.categories[t.model.categoryInds[n]];e[i.containerInd]=a.categoryValue}return void 0!==t.model.rawColor&&(e.color=t.model.rawColor),e}function b(t){if(-1===t.parcatsViewModel.hoverinfoItems.indexOf(\"skip\")){var e=y(t),r=x(t);t.parcatsViewModel.graphDiv.emit(\"plotly_click\",{points:e,event:n.event,constraints:r})}}function _(t){t.attr(\"fill\",(function(t){return t.model.color})).attr(\"fill-opacity\",.6).attr(\"stroke\",\"lightgray\").attr(\"stroke-width\",.2).attr(\"stroke-opacity\",1)}function w(t){t.attr(\"fill-opacity\",.8).attr(\"stroke\",(function(t){return u.mostReadable(t.model.color,[\"black\",\"white\"])})).attr(\"stroke-width\",.3)}function T(t){t.select(\"rect.catrect\").attr(\"stroke\",\"black\").attr(\"stroke-width\",1).attr(\"stroke-opacity\",1)}function k(t){t.attr(\"stroke\",\"black\").attr(\"stroke-width\",.2).attr(\"stroke-opacity\",1).attr(\"fill-opacity\",1)}function A(t){var e=t.parcatsViewModel.pathSelection,r=t.categoryViewModel.model.dimensionInd,n=t.categoryViewModel.model.categoryInd;return e.filter((function(e){return e.model.categoryInds[r]===n&&e.model.color===t.color}))}function M(t,e,r){var i=n.select(t).datum(),a=i.categoryViewModel.model,o=i.parcatsViewModel.graphDiv,s=n.select(t.parentNode).selectAll(\"rect.bandrect\"),l=[];s.each((function(t){A(t).each((function(t){Array.prototype.push.apply(l,y(t))}))}));var c={};c[a.dimensionInd]=a.categoryValue,o.emit(e,{points:l,event:r,constraints:c})}function S(t,e,r){var i=n.select(t).datum(),a=i.categoryViewModel.model,o=i.parcatsViewModel.graphDiv,s=A(i),l=[];s.each((function(t){Array.prototype.push.apply(l,y(t))}));var c={};c[a.dimensionInd]=a.categoryValue,void 0!==i.rawColor&&(c.color=i.rawColor),o.emit(e,{points:l,event:r,constraints:c})}function E(t,e,r){t._fullLayout._calcInverseTransform(t);var i,a,o=t._fullLayout._invScaleX,s=t._fullLayout._invScaleY,l=n.select(r.parentNode).select(\"rect.catrect\"),c=l.node().getBoundingClientRect(),u=l.datum(),f=u.parcatsViewModel,h=f.model.dimensions[u.model.dimensionInd],p=f.trace,d=c.top+c.height/2;f.dimensions.length>1&&h.displayInd===f.dimensions.length-1?(i=c.left,a=\"left\"):(i=c.left+c.width,a=\"right\");var m=u.model.count,g=u.model.categoryLabel,v=m/u.parcatsViewModel.model.count,y={countLabel:m,categoryLabel:g,probabilityLabel:v.toFixed(3)},x=[];-1!==u.parcatsViewModel.hoverinfoItems.indexOf(\"count\")&&x.push([\"Count:\",y.countLabel].join(\" \")),-1!==u.parcatsViewModel.hoverinfoItems.indexOf(\"probability\")&&x.push([\"P(\"+y.categoryLabel+\"):\",y.probabilityLabel].join(\" \"));var b=x.join(\"<br>\");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:y,eventData:[{data:p._input,fullData:p,count:m,category:g,probability:v}]}}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;if(\"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)}))}(this),S(this,\"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)}(this),M(this,\"plotly_hover\",n.event)),-1===t.parcatsViewModel.hoverinfoItems.indexOf(\"none\"))\"category\"===l?e=E(r,a,this):\"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(),f=c.categoryViewModel,h=f.parcatsViewModel,p=h.model.dimensions[f.model.dimensionInd],d=h.trace,m=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,v=c.parcatsViewModel.model.count,y=0;c.categoryViewModel.bands.forEach((function(t){t.color===c.color&&(y+=t.count)}));var x=f.model.count,b=0;h.pathSelection.each((function(t){t.model.color===c.color&&(b+=t.model.count)}));var _=y/v,w=y/b,T=y/x,k={countLabel:v,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 \\u2229 \"+g+\"): \"+k.probabilityLabel),A.push(\"P(\"+g+\" | color): \"+w.toFixed(3)),A.push(\"P(color | \"+g+\"): \"+T.toFixed(3)));var M=A.join(\"<br>\"),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:v,probability:_,categorycount:x,colorcount:b,bandcolorcount:y}]}}(r,a,this):\"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,this)),e&&o.loneHover(e,{container:i._hoverlayer.node(),outerContainer:i._paper.node(),gd:r})}}function C(t){var e=t.parcatsViewModel;if(!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(m),-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.y<i&&i<=e.y+e.height&&(t.potentialClickBand=this)})))})),t.parcatsViewModel.dragDimension=t,o.loneUnhover(t.parcatsViewModel.graphDiv._fullLayout._hoverlayer.node()))}function I(t){if(\"fixed\"!==t.parcatsViewModel.arrangement&&(t.dragHasMoved=!0,null!==t.dragDimensionDisplayInd)){var e=t.dragDimensionDisplayInd,r=e-1,i=e+1,a=t.parcatsViewModel.dimensions[e];if(null!==t.dragCategoryDisplayInd){var o=a.categories[t.dragCategoryDisplayInd];o.model.dragY+=n.event.dy;var s=o.model.dragY,l=o.model.displayInd,c=a.categories,u=c[l-1],f=c[l+1];void 0!==u&&s<u.y+u.height/2&&(o.model.displayInd=u.model.displayInd,u.model.displayInd=l),void 0!==f&&s+o.height>f.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.dragX<h.x+h.width&&(a.model.displayInd=h.model.displayInd,h.model.displayInd=e),void 0!==p&&a.model.dragX+a.width>p.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 O(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 c=t.model.categories.slice().sort((function(t,e){return t.displayInd-e.displayInd})),u=c.map((function(t){return t.categoryValue})),f=c.map((function(t){return t.categoryLabel}));e[\"dimensions[\"+t.model.containerInd+\"].categoryarray\"]=[u],e[\"dimensions[\"+t.model.containerInd+\"].ticktext\"]=[f],e[\"dimensions[\"+t.model.containerInd+\"].categoryorder\"]=\"array\"}}if(-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<r.length;n++)if(t.key===r[n].uid){e=n;break}return e}function D(t,e){var r;void 0===e&&(e=!1),t.pathSelection.data((function(t){return t.paths}),p),(r=t.pathSelection,e?r.transition():r).attr(\"d\",(function(t){return t.svgD}))}function R(t,e){function r(t){return e?t.transition():t}void 0===e&&(e=!1),t.dimensionSelection.data((function(t){return t.dimensions}),p);var i=t.dimensionSelection.selectAll(\"g.category\").data((function(t){return t.categories}),p);r(t.dimensionSelection).attr(\"transform\",(function(t){return l(t.x,0)})),r(i).attr(\"transform\",(function(t){return l(0,t.y)})),i.select(\".dimlabel\").text((function(t,e){return 0===e?t.parcatsViewModel.model.dimensions[t.model.dimensionInd].dimensionLabel:null})),i.select(\".catlabel\").attr(\"text-anchor\",(function(t){return d(t)?\"start\":\"end\"})).attr(\"x\",(function(t){return d(t)?t.width+5:-5})).each((function(t){var e,r;d(t)?(e=t.width+5,r=\"start\"):(e=-5,r=\"end\"),n.select(this).selectAll(\"tspan\").attr(\"x\",e).attr(\"text-anchor\",r)}));var a=i.selectAll(\"rect.bandrect\").data((function(t){return t.bands}),p),o=a.enter().append(\"rect\").attr(\"class\",\"bandrect\").attr(\"cursor\",\"move\").attr(\"stroke-opacity\",0).attr(\"fill\",(function(t){return t.color})).attr(\"fill-opacity\",0);a.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})),k(o),a.each((function(){s.raiseToTop(this)})),a.exit().remove()}function F(t,e,r){var n,i=r[0],a=e.margin||{l:80,r:80,t:100,b:80},o=i.trace,s=o.domain,l=e.width,c=e.height,u=Math.floor(l*(s.x[1]-s.x[0])),f=Math.floor(c*(s.y[1]-s.y[0])),h=s.x[0]*l+a.l,p=e.height-s.y[1]*e.height+a.t,d=o.line.shape;n=\"all\"===o.hoverinfo?[\"count\",\"probability\"]:(o.hoverinfo||\"\").split(\"+\");var m={trace:o,key:o.uid,model:i,x:h,y:p,width:u,height:f,hoveron:o.hoveron,hoverinfoItems:n,arrangement:o.arrangement,bundlecolors:o.bundlecolors,sortpaths:o.sortpaths,labelfont:o.labelfont,categorylabelfont:o.tickfont,pathShape:d,dragDimension:null,margin:a,paths:[],dimensions:[],graphDiv:t,traceSelection:null,pathSelection:null,dimensionSelection:null};return i.dimensions&&(j(m),N(m)),m}function B(t,e,r,n,a){var o,s,l=[],c=[];for(s=0;s<r.length-1;s++)o=i(r[s]+t[s],t[s+1]),l.push(o(a)),c.push(o(1-a));var u=\"M \"+t[0]+\",\"+e[0];for(u+=\"l\"+r[0]+\",0 \",s=1;s<r.length;s++)u+=\"C\"+l[s-1]+\",\"+e[s-1]+\" \"+c[s-1]+\",\"+e[s]+\" \"+t[s]+\",\"+e[s],u+=\"l\"+r[s]+\",0 \";for(u+=\"l0,\"+n+\" \",u+=\"l -\"+r[r.length-1]+\",0 \",s=r.length-2;s>=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 f(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=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)),n<i?-1:n>i?1:0}));for(var h=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;m<c.length;m++){var g,v=c[m];g=p>0?d*(v.count/p):0;for(var y,x=new Array(n.length),b=0;b<v.categoryInds.length;b++){var _=v.categoryInds[b],w=i[b][_],T=a[b];x[T]=n[T][w],n[T][w]+=g;var k=t.dimensions[T].categories[w],A=k.bands.length,M=k.bands[A-1];if(void 0===M||v.rawColor!==M.rawColor){var S=void 0===M?0:M.y+M.height;k.bands.push({key:S,color:v.color,rawColor:v.rawColor,height:g,width:k.width,count:v.count,y:S,categoryViewModel:k,parcatsViewModel:t})}else{var E=k.bands[A-1];E.height+=g,E.count+=v.count}}y=\"hspline\"===t.pathShape?B(s,x,l,g,.5):B(s,x,l,g,0),h[m]={key:v.valueInds[0],model:v,height:g,leftXs:s,topYs:x,dimWidths:l,svgD:y,parcatsViewModel:t}}t.paths=h}function j(t){var e=t.model.dimensions.map((function(t){return{displayInd:t.displayInd,dimensionInd:t.dimensionInd}}));e.sort((function(t,e){return t.displayInd-e.displayInd}));var r=[];for(var n in e){var i=e[n].dimensionInd,a=t.model.dimensions[i];r.push(U(t,a))}t.dimensions=r}function U(t,e){var r,n=t.model.dimensions.length,i=e.displayInd;r=40+(n>1?(t.width-80-16)/(n-1):0)*i;var a,o,s,l,c,u=[],f=t.model.maxCats,h=e.categories.length,p=e.count,d=t.height-8*(f-1),m=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})),c=0;c<h;c++)l=g[c].categoryInd,o=e.categories[l],a=p>0?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}}e.exports=function(t,e,r,n){h(r,t,n,e)}},{\"../../components/drawing\":388,\"../../components/fx\":406,\"../../lib\":503,\"../../lib/svg_text_utils\":529,\"../../plot_api/plot_api\":540,\"@plotly/d3\":58,\"d3-interpolate\":116,tinycolor2:312}],887:[function(t,e,r){\"use strict\";var n=t(\"./parcats\");e.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)}},{\"./parcats\":886}],888:[function(t,e,r){\"use strict\";var n=t(\"../../components/colorscale/attributes\"),i=t(\"../../plots/cartesian/layout_attributes\"),a=t(\"../../plots/font_attributes\"),o=t(\"../../plots/domain\").attributes,s=t(\"../../lib/extend\").extendFlat,l=t(\"../../plot_api/plot_template\").templatedArray;e.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\"}))}},{\"../../components/colorscale/attributes\":373,\"../../lib/extend\":493,\"../../plot_api/plot_template\":543,\"../../plots/cartesian/layout_attributes\":569,\"../../plots/domain\":584,\"../../plots/font_attributes\":585}],889:[function(t,e,r){\"use strict\";var n=t(\"./constants\"),i=t(\"@plotly/d3\"),a=t(\"../../lib/gup\").keyFun,o=t(\"../../lib/gup\").repeat,s=t(\"../../lib\").sorterAsc,l=t(\"../../lib\").strTranslate,c=n.bar.snapRatio;function u(t,e){return t*(1-c)+e*c}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.length;r++)if(t>=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,f=a;i*f<i*o;f+=i){var p=f+i,d=e[p];if(i*r<i*h(l,d))return u(l,c);if(i*r<i*d||p===o)return u(d,l);c=l,l=d}}function d(t){t.attr(\"x\",-n.bar.captureWidth/2).attr(\"width\",n.bar.captureWidth)}function m(t){t.attr(\"visibility\",\"visible\").style(\"visibility\",\"visible\").attr(\"fill\",\"yellow\").attr(\"opacity\",0)}function g(t){if(!t.brush.filterSpecified)return\"0,\"+t.height;for(var e,r,n,i=v(t.brush.filter.getConsolidated(),t.height),a=[0],o=i.length?i[0][0]:null,s=0;s<i.length;s++)r=(e=i[s])[1]-e[0],a.push(o),a.push(r),(n=s+1)<i.length&&(o=i[n][0]-e[1]);return a.push(t.height),a}function v(t,e){return t.map((function(t){return t.map((function(t){return Math.max(0,t*e)})).sort(s)}))}function y(){i.select(document.body).style(\"cursor\",null)}function x(t){t.attr(\"stroke-dasharray\",g)}function b(t,e){var r=i.select(t).selectAll(\".highlight, .highlight-shadow\");x(e?r.transition().duration(n.bar.snapDuration).each(\"end\",e):r)}function _(t,e){var r,i=t.brush,a=NaN,o={};if(i.filterSpecified){var s=t.height,l=i.filter.getConsolidated(),c=v(l,s),u=NaN,f=NaN,h=NaN;for(r=0;r<=c.length;r++){var p=c[r];if(p&&p[0]<=e&&e<=p[1]){u=r;break}if(f=r?r-1:NaN,p&&p[0]>e){h=r;break}}if(a=u,isNaN(a)&&(a=isNaN(f)||isNaN(h)?isNaN(f)?h:f:e-c[f][1]<c[h][0]-e?f:h),!isNaN(a)){var d=c[a],m=function(t,e){var r=n.bar.handleHeight;if(!(e>t[1]+r||e<t[0]-r))return 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,y=t.unitToPaddedPx.invert(e);for(r=0;r<g.length;r++){var x=[.25*g[Math.max(r-1,0)]+.75*g[r],.25*g[Math.min(r+1,g.length-1)]+.75*g[r]];if(y>=x[0]&&y<=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||y()})).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,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,y(),!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]<l[0]&&l.reverse(),a.newExtent=[p(0,l,a.newExtent[0],a.stayingIntervals),p(1,l,a.newExtent[1],a.stayingIntervals)];var c=a.newExtent[1]>a.newExtent[0];a.extent=a.stayingIntervals.concat(c?[a.newExtent]:[]),a.extent.length||M(r),a.brushCallback(e),c?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}e.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).slice();e.filter.set(r),o()}),brushEndCallback:a}}},ensureAxisBrush:function(t,e){var r=t.selectAll(\".\"+n.cn.axisBrush).data(o,a);r.enter().append(\"g\").classed(n.cn.axisBrush,!0),function(t,e){var r=t.selectAll(\".background\").data(o);r.enter().append(\"rect\").classed(\"background\",!0).call(d).call(m).style(\"pointer-events\",\"auto\").attr(\"transform\",l(0,n.verticalPadding)),r.call(k).attr(\"height\",(function(t){return t.height-n.verticalPadding}));var i=t.selectAll(\".highlight-shadow\").data(o);i.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\"),i.attr(\"y1\",(function(t){return t.height})).call(x);var a=t.selectAll(\".highlight\").data(o);a.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\"),a.attr(\"y1\",(function(t){return t.height})).call(x)}(r,e)},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]}}},{\"../../lib\":503,\"../../lib/gup\":500,\"./constants\":893,\"@plotly/d3\":58}],890:[function(t,e,r){\"use strict\";e.exports={attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\"),calc:t(\"./calc\"),colorbar:{container:\"line\",min:\"cmin\",max:\"cmax\"},moduleType:\"trace\",name:\"parcoords\",basePlotModule:t(\"./base_plot\"),categories:[\"gl\",\"regl\",\"noOpacity\",\"noHover\"],meta:{}}},{\"./attributes\":888,\"./base_plot\":891,\"./calc\":892,\"./defaults\":894}],891:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../../plots/get_data\").getModuleCalcData,a=t(\"./plot\"),o=t(\"../../constants/xmlns_namespaces\");r.name=\"parcoords\",r.plot=function(t){var e=i(t.calcdata,\"parcoords\")[0];e.length&&a(t,e)},r.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())},r.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.toDataURL(\"image/png\");e.append(\"svg:image\").attr({xmlns:o.svg,\"xlink:href\":t,preserveAspectRatio:\"none\",x:0,y:0,width:this.style.width,height:this.style.height})})),window.setTimeout((function(){n.selectAll(\"#filterBarPattern\").attr(\"id\",\"filterBarPattern\")}),60)}},{\"../../constants/xmlns_namespaces\":480,\"../../plots/get_data\":593,\"./plot\":900,\"@plotly/d3\":58}],892:[function(t,e,r){\"use strict\";var n=t(\"../../lib\").isArrayOrTypedArray,i=t(\"../../components/colorscale\"),a=t(\"../../lib/gup\").wrap;e.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;r<t;r++)e[r]=.5;return e}(e._length),o=[[0,e.line.color],[1,e.line.color]]),a({lineColor:r,cscale:o})}},{\"../../components/colorscale\":378,\"../../lib\":503,\"../../lib/gup\":500}],893:[function(t,e,r){\"use strict\";e.exports={maxDimensionCount:60,overdrag:45,verticalPadding:2,tickDistance:50,canvasPixelRatio:1,blockLineCount:5e3,layers:[\"contextLineLayer\",\"focusLineLayer\",\"pickLineLayer\"],axisTitleOffset:28,axisExtentOffset:10,deselectedLineColor:\"#777\",bar:{width:4,captureWidth:10,fillColor:\"magenta\",fillOpacity:1,snapDuration:150,snapRatio:.25,snapClose:.01,strokeOpacity:1,strokeWidth:1,handleHeight:8,handleOpacity:1,handleOverlap:0},cn:{axisExtentText:\"axis-extent-text\",parcoordsLineLayers:\"parcoords-line-layers\",parcoordsLineLayer:\"parcoords-lines\",parcoords:\"parcoords\",parcoordsControlView:\"parcoords-control-view\",yAxis:\"y-axis\",axisOverlays:\"axis-overlays\",axis:\"axis\",axisHeading:\"axis-heading\",axisTitle:\"axis-title\",axisExtent:\"axis-extent\",axisExtentTop:\"axis-extent-top\",axisExtentTopText:\"axis-extent-top-text\",axisExtentBottom:\"axis-extent-bottom\",axisExtentBottomText:\"axis-extent-bottom-text\",axisBrush:\"axis-brush\"},id:{filterBarPattern:\"filter-bar-pattern\"}}},{}],894:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../components/colorscale/helpers\").hasColorscale,a=t(\"../../components/colorscale/defaults\"),o=t(\"../../plots/domain\").defaults,s=t(\"../../plots/array_container_defaults\"),l=t(\"../../plots/cartesian/axes\"),c=t(\"./attributes\"),u=t(\"./axisbrush\"),f=t(\"./constants\").maxDimensionCount,h=t(\"./merge_length\");function p(t,e,r,i){function a(r,i){return n.coerce(t,e,c.dimensions,r,i)}var o=a(\"values\"),s=a(\"visible\");if(o&&o.length||(s=e.visible=!1),s){a(\"label\"),a(\"tickvals\"),a(\"ticktext\"),a(\"tickformat\");var f=a(\"range\");e._ax={_id:\"y\",type:\"linear\",showexponent:\"all\",exponentformat:\"B\",range:f},l.setConvert(e._ax,i.layout),a(\"multiselect\");var h=a(\"constraintrange\");h&&(e.constraintrange=u.cleanRanges(h,e))}}e.exports=function(t,e,r,l){function u(r,i){return n.coerce(t,e,c,r,i)}var d=t.dimensions;Array.isArray(d)&&d.length>f&&(n.log(\"parcoords traces support up to \"+f+\" dimensions at the moment\"),d.splice(f));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),h(e,m,\"values\",g);var v={family:l.font.family,size:Math.round(l.font.size/1.2),color:l.font.color};n.coerceFont(u,\"labelfont\",v),n.coerceFont(u,\"tickfont\",v),n.coerceFont(u,\"rangefont\",v),u(\"labelangle\"),u(\"labelside\")}},{\"../../components/colorscale/defaults\":376,\"../../components/colorscale/helpers\":377,\"../../lib\":503,\"../../plots/array_container_defaults\":549,\"../../plots/cartesian/axes\":554,\"../../plots/domain\":584,\"./attributes\":888,\"./axisbrush\":889,\"./constants\":893,\"./merge_length\":898}],895:[function(t,e,r){\"use strict\";var n=t(\"../../lib\").isTypedArray;r.convertTypedArray=function(t){return n(t)?Array.prototype.slice.call(t):t},r.isOrdinal=function(t){return!!t.tickvals},r.isVisible=function(t){return t.visible||!(\"visible\"in t)}},{\"../../lib\":503}],896:[function(t,e,r){\"use strict\";var n=t(\"./base_index\");n.plot=t(\"./plot\"),e.exports=n},{\"./base_index\":890,\"./plot\":900}],897:[function(t,e,r){\"use strict\";var n=t(\"glslify\"),i=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nvarying vec4 fragColor;\\n\\nattribute vec4 p01_04, p05_08, p09_12, p13_16,\\n               p17_20, p21_24, p25_28, p29_32,\\n               p33_36, p37_40, p41_44, p45_48,\\n               p49_52, p53_56, p57_60, colors;\\n\\nuniform mat4 dim0A, dim1A, dim0B, dim1B, dim0C, dim1C, dim0D, dim1D,\\n             loA, hiA, loB, hiB, loC, hiC, loD, hiD;\\n\\nuniform vec2 resolution, viewBoxPos, viewBoxSize;\\nuniform float maskHeight;\\nuniform float drwLayer; // 0: context, 1: focus, 2: pick\\nuniform vec4 contextColor;\\nuniform sampler2D maskTexture, palette;\\n\\nbool isPick    = (drwLayer > 1.5);\\nbool isContext = (drwLayer < 0.5);\\n\\nconst vec4 ZEROS = vec4(0.0, 0.0, 0.0, 0.0);\\nconst vec4 UNITS = vec4(1.0, 1.0, 1.0, 1.0);\\n\\nfloat val(mat4 p, mat4 v) {\\n    return dot(matrixCompMult(p, v) * UNITS, UNITS);\\n}\\n\\nfloat axisY(float ratio, mat4 A, mat4 B, mat4 C, mat4 D) {\\n    float y1 = val(A, dim0A) + val(B, dim0B) + val(C, dim0C) + val(D, dim0D);\\n    float y2 = val(A, dim1A) + val(B, dim1B) + val(C, dim1C) + val(D, dim1D);\\n    return y1 * (1.0 - ratio) + y2 * ratio;\\n}\\n\\nint iMod(int a, int b) {\\n    return a - b * (a / b);\\n}\\n\\nbool fOutside(float p, float lo, float hi) {\\n    return (lo < hi) && (lo > p || p > hi);\\n}\\n\\nbool vOutside(vec4 p, vec4 lo, vec4 hi) {\\n    return (\\n        fOutside(p[0], lo[0], hi[0]) ||\\n        fOutside(p[1], lo[1], hi[1]) ||\\n        fOutside(p[2], lo[2], hi[2]) ||\\n        fOutside(p[3], lo[3], hi[3])\\n    );\\n}\\n\\nbool mOutside(mat4 p, mat4 lo, mat4 hi) {\\n    return (\\n        vOutside(p[0], lo[0], hi[0]) ||\\n        vOutside(p[1], lo[1], hi[1]) ||\\n        vOutside(p[2], lo[2], hi[2]) ||\\n        vOutside(p[3], lo[3], hi[3])\\n    );\\n}\\n\\nbool outsideBoundingBox(mat4 A, mat4 B, mat4 C, mat4 D) {\\n    return mOutside(A, loA, hiA) ||\\n           mOutside(B, loB, hiB) ||\\n           mOutside(C, loC, hiC) ||\\n           mOutside(D, loD, hiD);\\n}\\n\\nbool outsideRasterMask(mat4 A, mat4 B, mat4 C, mat4 D) {\\n    mat4 pnts[4];\\n    pnts[0] = A;\\n    pnts[1] = B;\\n    pnts[2] = C;\\n    pnts[3] = D;\\n\\n    for(int i = 0; i < 4; ++i) {\\n        for(int j = 0; j < 4; ++j) {\\n            for(int k = 0; k < 4; ++k) {\\n                if(0 == iMod(\\n                    int(255.0 * texture2D(maskTexture,\\n                        vec2(\\n                            (float(i * 2 + j / 2) + 0.5) / 8.0,\\n                            (pnts[i][j][k] * (maskHeight - 1.0) + 1.0) / maskHeight\\n                        ))[3]\\n                    ) / int(pow(2.0, float(iMod(j * 4 + k, 8)))),\\n                    2\\n                )) return true;\\n            }\\n        }\\n    }\\n    return false;\\n}\\n\\nvec4 position(bool isContext, float v, mat4 A, mat4 B, mat4 C, mat4 D) {\\n    float x = 0.5 * sign(v) + 0.5;\\n    float y = axisY(x, A, B, C, D);\\n    float z = 1.0 - abs(v);\\n\\n    z += isContext ? 0.0 : 2.0 * float(\\n        outsideBoundingBox(A, B, C, D) ||\\n        outsideRasterMask(A, B, C, D)\\n    );\\n\\n    return vec4(\\n        2.0 * (vec2(x, y) * viewBoxSize + viewBoxPos) / resolution - 1.0,\\n        z,\\n        1.0\\n    );\\n}\\n\\nvoid main() {\\n    mat4 A = mat4(p01_04, p05_08, p09_12, p13_16);\\n    mat4 B = mat4(p17_20, p21_24, p25_28, p29_32);\\n    mat4 C = mat4(p33_36, p37_40, p41_44, p45_48);\\n    mat4 D = mat4(p49_52, p53_56, p57_60, ZEROS);\\n\\n    float v = colors[3];\\n\\n    gl_Position = position(isContext, v, A, B, C, D);\\n\\n    fragColor =\\n        isContext ? vec4(contextColor) :\\n        isPick ? vec4(colors.rgb, 1.0) : texture2D(palette, vec2(abs(v), 0.5));\\n}\\n\"]),a=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nvarying vec4 fragColor;\\n\\nvoid main() {\\n    gl_FragColor = fragColor;\\n}\\n\"]),o=t(\"./constants\").maxDimensionCount,s=t(\"../../lib\"),l=new Uint8Array(4),c=new Uint8Array(4),u={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 c=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*c,a.offset=2*l*n,e(a),l*n+c<i&&(r.currentRafs[o]=window.requestAnimationFrame((function(){s(l+1)}))),r.drawCompleted=!1)}(0)}function p(t,e){for(var r=new Array(256),n=0;n<256;n++)r[n]=t(n/255).concat(e);return r}function d(t,e){return(t>>>8*e)%256/255}function m(t,e,r){for(var n=new Array(8*e),i=0,a=0;a<e;a++)for(var o=0;o<2;o++)for(var s=0;s<4;s++){var l=4*t+s,c=r[64*a+l];63===l&&0===o&&(c*=-1),n[i++]=c}return n}function g(t){var e=\"0\"+t;return e.substr(e.length-2)}function v(t){return t<o?\"p\"+g(t+1)+\"_\"+g(t+4):\"colors\"}function y(t,e,r,n,i,a,o,l,c,u,f,h,p,d){for(var m=[[],[]],g=0;g<64;g++)m[0][g]=g===i?1:0,m[1][g]=g===a?1:0;o*=d,l*=d,c*=d,u*=d;var v=t.lines.canvasOverdrag*d,y=t.domain,x=t.canvasWidth*d,b=t.canvasHeight*d,_=t.pad.l*d,w=t.pad.b*d,T=t.layoutHeight*d,k=t.layoutWidth*d,A=t.deselectedLines.color;return s.extendFlat({key:f,resolution:[x,b],viewBoxPos:[o+v,l],viewBoxSize:[c,u],i0:i,i1:a,dim0A:m[0].slice(0,16),dim0B:m[0].slice(16,32),dim0C:m[0].slice(32,48),dim0D:m[0].slice(48,64),dim1A:m[1].slice(0,16),dim1B:m[1].slice(16,32),dim1C:m[1].slice(32,48),dim1D:m[1].slice(48,64),drwLayer:h,contextColor:[A[0]/255,A[1]/255,A[2]/255,A[3]<1?A[3]:Math.max(1/255,Math.pow(1/t.lines.color.length,1/3))],scissorX:(n===e?0:o+v)+(_-v)+k*y.x[0],scissorWidth:(n===r?x-o+v:c+.5)+(n===e?o+v:0),scissorY:l+w+T*y.y[0],scissorHeight:u,viewportX:_-v+k*y.x[0],viewportY:w+T*y.y[0],viewportWidth:x,viewportHeight:b},p)}function x(t){var e=Math.max(0,Math.floor(2047*t[0]),0),r=Math.min(2047,Math.ceil(2047*t[1]),2047);return[Math.min(e,r),Math.max(e,r)]}e.exports=function(t,e){var r,n,l,g,b,_=e.context,w=e.pick,T=e.regl,k=T._gl,A=k.getParameter(k.ALIASED_LINE_WIDTH_RANGE),M=Math.max(A[0],Math.min(A[1],e.viewModel.plotGlPixelRatio)),S={currentRafs:{},drawCompleted:!0,clearOnly:!1},E=function(t){for(var e={},r=0;r<=o;r+=4)e[v(r)]=t.buffer({usage:\"dynamic\",type:\"float\",data:new Uint8Array(0)});return e}(T),L=T.texture(u),C=[];I(e);var P=T({profile:!1,blend:{enable:_,func:{srcRGB:\"src alpha\",dstRGB:\"one minus src alpha\",srcAlpha:1,dstAlpha:1},equation:{rgb:\"add\",alpha:\"add\"},color:[0,0,0,0]},depth:{enable:!_,mask:!0,func:\"less\",range:[0,1]},cull:{enable:!0,face:\"back\"},scissor:{enable:!0,box:{x:T.prop(\"scissorX\"),y:T.prop(\"scissorY\"),width:T.prop(\"scissorWidth\"),height:T.prop(\"scissorHeight\")}},viewport:{x:T.prop(\"viewportX\"),y:T.prop(\"viewportY\"),width:T.prop(\"viewportWidth\"),height:T.prop(\"viewportHeight\")},dither:!1,vert:i,frag:a,primitive:\"lines\",lineWidth:M,attributes:E,uniforms:{resolution:T.prop(\"resolution\"),viewBoxPos:T.prop(\"viewBoxPos\"),viewBoxSize:T.prop(\"viewBoxSize\"),dim0A:T.prop(\"dim0A\"),dim1A:T.prop(\"dim1A\"),dim0B:T.prop(\"dim0B\"),dim1B:T.prop(\"dim1B\"),dim0C:T.prop(\"dim0C\"),dim1C:T.prop(\"dim1C\"),dim0D:T.prop(\"dim0D\"),dim1D:T.prop(\"dim1D\"),loA:T.prop(\"loA\"),hiA:T.prop(\"hiA\"),loB:T.prop(\"loB\"),hiB:T.prop(\"hiB\"),loC:T.prop(\"loC\"),hiC:T.prop(\"hiC\"),loD:T.prop(\"loD\"),hiD:T.prop(\"hiD\"),palette:L,contextColor:T.prop(\"contextColor\"),maskTexture:T.prop(\"maskTexture\"),drwLayer:T.prop(\"drwLayer\"),maskHeight:T.prop(\"maskHeight\")},offset:T.prop(\"offset\"),count:T.prop(\"count\")});function I(t){r=t.model,n=t.viewModel,l=n.dimensions.slice(),g=l[0]?l[0].values.length:0;var e=r.lines,i=w?e.color.map((function(t,r){return r/e.color.length})):e.color,a=function(t,e,r){for(var n,i=new Array(t*(o+4)),a=0,s=0;s<t;s++){for(var l=0;l<o;l++)i[a++]=l<e.length?e[l].paddedUnitValues[s]:.5;i[a++]=d(s,2),i[a++]=d(s,1),i[a++]=d(s,0),i[a++]=(n=r[s],Math.max(1e-6,Math.min(.999999,n)))}return i}(g,l,i);!function(t,e,r){for(var n=0;n<=o;n+=4)t[v(n)](m(n/4,e,r))}(E,g,a),_||w||(L=T.texture(s.extendFlat({data:p(r.unitToColor,255)},u)))}return{render:function(t,e,n){var i,a,o,s=t.length,c=1/0,u=-1/0;for(i=0;i<s;i++)t[i].dim0.canvasX<c&&(c=t[i].dim0.canvasX,a=i),t[i].dim1.canvasX>u&&(u=t[i].dim1.canvasX,o=i);0===s&&f(T,0,0,r.canvasWidth,r.canvasHeight);var p=function(t){var e,r,n,i=[[],[]];for(n=0;n<64;n++){var a=!t&&n<l.length?l[n].brush.filter.getBounds():[-1/0,1/0];i[0][n]=a[0],i[1][n]=a[1]}var o=new Array(16384);for(e=0;e<16384;e++)o[e]=255;if(!t)for(e=0;e<l.length;e++){var s=e%8,c=(e-s)/8,u=Math.pow(2,s),f=l[e].brush.filter.get();if(!(f.length<2)){var h=x(f[0])[1];for(r=1;r<f.length;r++){var p=x(f[r]);for(n=h+1;n<p[0];n++)o[8*n+c]&=~u;h=Math.max(h,p[1])}}}var d={shape:[8,2048],format:\"alpha\",type:\"uint8\",mag:\"nearest\",min:\"nearest\",data:o};return b?b(d):b=T.texture(d),{maskTexture:b,maskHeight:2048,loA:i[0].slice(0,16),loB:i[0].slice(16,32),loC:i[0].slice(32,48),loD:i[0].slice(48,64),hiA:i[1].slice(0,16),hiB:i[1].slice(16,32),hiC:i[1].slice(32,48),hiD:i[1].slice(48,64)}}(_);for(i=0;i<s;i++){var d=t[i],m=d.dim0.crossfilterDimensionIndex,v=d.dim1.crossfilterDimensionIndex,k=d.canvasX,A=d.canvasY,M=k+d.panelSizeX,E=d.plotGlPixelRatio;if(e||!C[m]||C[m][0]!==k||C[m][1]!==M){C[m]=[k,M];var L=y(r,a,o,i,m,v,k,A,d.panelSizeX,d.panelSizeY,d.dim0.crossfilterDimensionIndex,_?0:w?2:1,p,E);S.clearOnly=n;var I=e?r.lines.blockLineCount:g;h(T,P,S,I,g,L)}}},readPixel:function(t,e){return T.read({x:t,y:e,width:1,height:1,data:c}),c},readPixels:function(t,e,r,n){var i=new Uint8Array(4*r*n);return T.read({x:t,y:e,width:r,height:n,data:i}),i},destroy:function(){for(var e in t.style[\"pointer-events\"]=\"none\",L.destroy(),b&&b.destroy(),E)E[e].destroy()},update:I}}},{\"../../lib\":503,\"./constants\":893,glslify:227}],898:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,n){var i,a;for(n||(n=1/0),i=0;i<e.length;i++)(a=e[i]).visible&&(n=Math.min(n,a[r].length));for(n===1/0&&(n=0),t._length=n,i=0;i<e.length;i++)(a=e[i]).visible&&(a._length=n);return n}},{}],899:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../../lib\"),a=i.numberFormat,o=t(\"color-rgba\"),s=t(\"../../plots/cartesian/axes\"),l=i.strRotate,c=i.strTranslate,u=t(\"../../lib/svg_text_utils\"),f=t(\"../../components/drawing\"),h=t(\"../../components/colorscale\"),p=t(\"../../lib/gup\"),d=p.keyFun,m=p.repeat,g=p.unwrap,v=t(\"./helpers\"),y=t(\"./constants\"),x=t(\"./axisbrush\"),b=t(\"./lines\");function _(t,e,r){return i.aggNums(t,null,e,r)}function w(t,e){return k(_(Math.min,t,e),_(Math.max,t,e))}function T(t){var e=t.range;return e?k(e[0],e[1]):w(t.values,t._length)}function k(t,e){return!isNaN(t)&&isFinite(t)||(t=0),!isNaN(e)&&isFinite(e)||(e=0),t===e&&(0===t?(t-=1,e+=1):(t*=.9,e*=1.1)),[t,e]}function A(t,e,r,i,o){var s,l,c=T(r);return i?n.scale.ordinal().domain(i.map((s=a(r.tickformat),l=o,l?function(t,e){var r=l[e];return null==r?s(t):r}:s))).range(i.map((function(r){var n=(r-c[0])/(c[1]-c[0]);return t-e+n*(2*e-t)}))):n.scale.linear().domain(c).range([t-e,e])}function M(t){if(t.tickvals){var e=T(t);return n.scale.ordinal().domain(t.tickvals).range(t.tickvals.map((function(t){return(t-e[0])/(e[1]-e[0])})))}}function S(t){var e=t.map((function(t){return t[0]})),r=t.map((function(t){var e=o(t[1]);return n.rgb(\"rgb(\"+e[0]+\",\"+e[1]+\",\"+e[2]+\")\")})),i=\"rgb\".split(\"\").map((function(t){return n.scale.linear().clamp(!0).domain(e).range(r.map((i=t,function(t){return t[i]})));var i}));return function(t){return i.map((function(e){return e(t)}))}}function E(t){return t.dimensions.some((function(t){return t.brush.filterSpecified}))}function L(t,e,r){var a=g(e),s=a.trace,l=v.convertTypedArray(a.lineColor),c=s.line,u={color:o(y.deselectedLineColor)},f=h.extractOpts(c),p=f.reversescale?h.flipScale(a.cscale):a.cscale,d=s.domain,m=s.dimensions,x=t.width,b=s.labelangle,_=s.labelside,w=s.labelfont,k=s.tickfont,A=s.rangefont,M=i.extendDeepNoArrays({},c,{color:l.map(n.scale.linear().domain(T({values:l,range:[f.min,f.max],_length:s._length}))),blockLineCount:y.blockLineCount,canvasOverdrag:y.overdrag*y.canvasPixelRatio}),E=Math.floor(x*(d.x[1]-d.x[0])),L=Math.floor(t.height*(d.y[1]-d.y[0])),C=t.margin||{l:80,r:80,t:100,b:80},P=E,I=L;return{key:r,colCount:m.filter(v.isVisible).length,dimensions:m,tickDistance:y.tickDistance,unitToColor:S(p),lines:M,deselectedLines:u,labelAngle:b,labelSide:_,labelFont:w,tickFont:k,rangeFont:A,layoutWidth:x,layoutHeight:t.height,domain:d,translateX:d.x[0]*x,translateY:t.height-d.y[1]*t.height,pad:C,canvasWidth:P*y.canvasPixelRatio+2*M.canvasOverdrag,canvasHeight:I*y.canvasPixelRatio,width:P,height:I,canvasPixelRatio:y.canvasPixelRatio}}function C(t,e,r){var o=r.width,s=r.height,l=r.dimensions,c=r.canvasPixelRatio,u=function(t){return o*t/Math.max(1,r.colCount-1)},f=y.verticalPadding/s,h=function(t,e){return n.scale.linear().range([e,t-e])}(s,y.verticalPadding),p={key:r.key,xScale:u,model:r,inBrushDrag:!1},d={};return p.dimensions=l.filter(v.isVisible).map((function(o,l){var m=function(t,e){return n.scale.linear().domain(T(t)).range([e,1-e])}(o,f),g=d[o.label];d[o.label]=(g||0)+1;var b=o.label+(g?\"__\"+g:\"\"),_=o.constraintrange,w=_&&_.length;w&&!Array.isArray(_[0])&&(_=[_]);var k=w?_.map((function(t){return t.map(m)})):[[-1/0,1/0]],S=o.values;S.length>o._length&&(S=S.slice(0,o._length));var L,C=o.tickvals;function P(t,e){return{val:t,text:L[e]}}function I(t,e){return t.val-e.val}if(Array.isArray(C)&&C.length){L=o.ticktext,Array.isArray(L)&&L.length?L.length>C.length?L=L.slice(0,C.length):C.length>L.length&&(C=C.slice(0,L.length)):L=C.map(a(o.tickformat));for(var O=1;O<C.length;O++)if(C[O]<C[O-1]){for(var z=C.map(P).sort(I),D=0;D<C.length;D++)C[D]=z[D].val,L[D]=z[D].text;break}}else C=void 0;return S=v.convertTypedArray(S),{key:b,label:o.label,tickFormat:o.tickformat,tickvals:C,ticktext:L,ordinal:v.isOrdinal(o),multiselect:o.multiselect,xIndex:l,crossfilterDimensionIndex:l,visibleIndex:o._index,height:s,values:S,paddedUnitValues:S.map(m),unitTickvals:C&&C.map(m),xScale:u,x:u(l),canvasX:u(l)*c,unitToPaddedPx:h,domainScale:A(s,y.verticalPadding,o,C,L),ordinalScale:M(o),parent:p,model:r,brush:x.makeBrush(t,w,k,(function(){t.linePickActive(!1)}),(function(){var e=p;e.focusLayer&&e.focusLayer.render(e.panels,!0);var r=E(e);!t.contextShown()&&r?(e.contextLayer&&e.contextLayer.render(e.panels,!0),t.contextShown(!0)):t.contextShown()&&!r&&(e.contextLayer&&e.contextLayer.render(e.panels,!0,!0),t.contextShown(!1))}),(function(r){if(p.focusLayer.render(p.panels,!0),p.pickLayer&&p.pickLayer.render(p.panels,!0),t.linePickActive(!0),e&&e.filterChanged){var n=m.invert,a=r.map((function(t){return t.map(n).sort(i.sorterAsc)})).sort((function(t,e){return t[0]-e[0]}));e.filterChanged(p.key,o._index,a)}}))}})),p}function P(t){t.classed(y.cn.axisExtentText,!0).attr(\"text-anchor\",\"middle\").style(\"cursor\",\"default\")}function I(t,e){var r=\"top\"===e?1:-1,n=t*Math.PI/180;return{dir:r,dx:Math.sin(n),dy:Math.cos(n),degrees:t}}function O(t,e,r){for(var n=e.panels||(e.panels=[]),i=t.data(),a=0;a<i.length-1;a++){var o=n[a]||(n[a]={}),s=i[a],l=i[a+1];o.dim0=s,o.dim1=l,o.canvasX=s.canvasX,o.panelSizeX=l.canvasX-s.canvasX,o.panelSizeY=e.model.canvasHeight,o.y=0,o.canvasY=0,o.plotGlPixelRatio=r}}function z(t,e){return s.tickText(t._ax,e,!1).text}function D(t,e){if(t.ordinal)return\"\";var r=t.domainScale.domain(),n=r[e?r.length-1:0];return z(t.model.dimensions[t.visibleIndex],n)}e.exports=function(t,e,r,a){var o=t._fullLayout,h=o._toppaper,p=o._glcontainer,_=t._context.plotGlPixelRatio,T=t._fullLayout.paper_bgcolor;!function(t){for(var e=0;e<t.length;e++)for(var r=0;r<t[e].length;r++)for(var n=t[e][r].trace,i=n.dimensions,a=0;a<i.length;a++){var o=i[a].values,l=i[a]._ax;l&&(l.range?l.range=k(l.range[0],l.range[1]):l.range=w(o,n._length),l.dtick||(l.dtick=.01*(Math.abs(l.range[1]-l.range[0])||1)),l.tickformat=i[a].tickformat,s.calcTicks(l),l.cleanRange())}}(e);var A,M,S=(A=!0,M=!1,{linePickActive:function(t){return arguments.length?A=!!t:A},contextShown:function(t){return arguments.length?M=!!t:M}}),R=e.filter((function(t){return g(t).trace.visible})).map(L.bind(0,r)).map(C.bind(0,S,a));p.each((function(t,e){return i.extendFlat(t,R[e])}));var F=p.selectAll(\".gl-canvas\").each((function(t){t.viewModel=R[0],t.viewModel.plotGlPixelRatio=_,t.viewModel.paperColor=T,t.model=t.viewModel?t.viewModel.model:null})),B=null;F.filter((function(t){return t.pick})).style(\"pointer-events\",\"auto\").on(\"mousemove\",(function(t){if(S.linePickActive()&&t.lineLayer&&a&&a.hover){var e=n.event,r=this.width,i=this.height,o=n.mouse(this),s=o[0],l=o[1];if(s<0||l<0||s>=r||l>=i)return;var c=t.lineLayer.readPixel(s,i-1-l),u=0!==c[3],f=u?c[2]+256*(c[1]+256*c[0]):null,h={x:s,y:l,clientX:e.clientX,clientY:e.clientY,dataIndex:t.model.key,curveNumber:f};f!==B&&(u?a.hover(h):a.unhover&&a.unhover(h),B=f)}})),F.style(\"opacity\",(function(t){return t.pick?0:1})),h.style(\"background\",\"rgba(255, 255, 255, 0)\");var N=h.selectAll(\".\"+y.cn.parcoords).data(R,d);N.exit().remove(),N.enter().append(\"g\").classed(y.cn.parcoords,!0).style(\"shape-rendering\",\"crispEdges\").style(\"pointer-events\",\"none\"),N.attr(\"transform\",(function(t){return c(t.model.translateX,t.model.translateY)}));var j=N.selectAll(\".\"+y.cn.parcoordsControlView).data(m,d);j.enter().append(\"g\").classed(y.cn.parcoordsControlView,!0),j.attr(\"transform\",(function(t){return c(t.model.pad.l,t.model.pad.t)}));var U=j.selectAll(\".\"+y.cn.yAxis).data((function(t){return t.dimensions}),d);U.enter().append(\"g\").classed(y.cn.yAxis,!0),j.each((function(t){O(U,t,_)})),F.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)}})),U.attr(\"transform\",(function(t){return c(t.xScale(t.xIndex),0)})),U.call(n.behavior.drag().origin((function(t){return t})).on(\"drag\",(function(t){var e=t.parent;S.linePickActive(!1),t.x=Math.max(-y.overdrag,Math.min(t.model.width+y.overdrag,n.event.x)),t.canvasX=t.x*t.model.canvasPixelRatio,U.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(U,e,_),U.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)),U.each((function(r,n,i){i===t.parent.key&&(e.dimensions[n]=r)})),e.contextLayer&&e.contextLayer.render(e.panels,!1,!E(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(U,e,_),n.select(this).attr(\"transform\",(function(t){return c(t.x,0)})),e.contextLayer&&e.contextLayer.render(e.panels,!1,!E(e)),e.focusLayer&&e.focusLayer.render(e.panels),e.pickLayer&&e.pickLayer.render(e.panels,!0),S.linePickActive(!0),a&&a.axesMoved&&a.axesMoved(e.key,e.dimensions.map((function(t){return t.crossfilterDimensionIndex})))}))),U.exit().remove();var V=U.selectAll(\".\"+y.cn.axisOverlays).data(m,d);V.enter().append(\"g\").classed(y.cn.axisOverlays,!0),V.selectAll(\".\"+y.cn.axis).remove();var H=V.selectAll(\".\"+y.cn.axis).data(m,d);H.enter().append(\"g\").classed(y.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:z(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(\"text-shadow\",u.makeTextShadow(T)).style(\"cursor\",\"default\");var q=V.selectAll(\".\"+y.cn.axisHeading).data(m,d);q.enter().append(\"g\").classed(y.cn.axisHeading,!0);var G=q.selectAll(\".\"+y.cn.axisTitle).data(m,d);G.enter().append(\"text\").classed(y.cn.axisTitle,!0).attr(\"text-anchor\",\"middle\").style(\"cursor\",\"ew-resize\").style(\"pointer-events\",\"auto\"),G.text((function(t){return t.label})).each((function(e){var r=n.select(this);f.font(r,e.model.labelFont),u.convertToTspans(r,t)})).attr(\"transform\",(function(t){var e=I(t.model.labelAngle,t.model.labelSide),r=y.axisTitleOffset;return(e.dir>0?\"\":c(0,2*r+t.model.height))+l(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=V.selectAll(\".\"+y.cn.axisExtent).data(m,d);Y.enter().append(\"g\").classed(y.cn.axisExtent,!0);var W=Y.selectAll(\".\"+y.cn.axisExtentTop).data(m,d);W.enter().append(\"g\").classed(y.cn.axisExtentTop,!0),W.attr(\"transform\",c(0,-y.axisExtentOffset));var X=W.selectAll(\".\"+y.cn.axisExtentTopText).data(m,d);X.enter().append(\"text\").classed(y.cn.axisExtentTopText,!0).call(P),X.text((function(t){return D(t,!0)})).each((function(t){f.font(n.select(this),t.model.rangeFont)}));var Z=Y.selectAll(\".\"+y.cn.axisExtentBottom).data(m,d);Z.enter().append(\"g\").classed(y.cn.axisExtentBottom,!0),Z.attr(\"transform\",(function(t){return c(0,t.model.height+y.axisExtentOffset)}));var J=Z.selectAll(\".\"+y.cn.axisExtentBottomText).data(m,d);J.enter().append(\"text\").classed(y.cn.axisExtentBottomText,!0).attr(\"dy\",\"0.75em\").call(P),J.text((function(t){return D(t,!1)})).each((function(t){f.font(n.select(this),t.model.rangeFont)})),x.ensureAxisBrush(V,T)}},{\"../../components/colorscale\":378,\"../../components/drawing\":388,\"../../lib\":503,\"../../lib/gup\":500,\"../../lib/svg_text_utils\":529,\"../../plots/cartesian/axes\":554,\"./axisbrush\":889,\"./constants\":893,\"./helpers\":895,\"./lines\":897,\"@plotly/d3\":58,\"color-rgba\":91}],900:[function(t,e,r){\"use strict\";var n=t(\"./parcoords\"),i=t(\"../../lib/prepare_regl\"),a=t(\"./helpers\").isVisible,o={};function s(t,e,r){var n=e.indexOf(r),i=t.indexOf(n);return-1===i&&(i+=e.length),i}(e.exports=function(t,e){var r=t._fullLayout;if(i(t,[],o)){var l={},c={},u={},f={},h=r._size;e.forEach((function(e,r){var n=e[0].trace;u[r]=n.index;var i=f[r]=n._fullInput.index;l[r]=t.data[i].dimensions,c[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=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 h=a.constraintrange;l[s]=h||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,[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,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]]},[f[e]]])}})}}).reglPrecompiled=o},{\"../../lib/prepare_regl\":516,\"./helpers\":895,\"./parcoords\":899}],901:[function(t,e,r){\"use strict\";var n=t(\"../../plots/attributes\"),i=t(\"../../plots/domain\").attributes,a=t(\"../../plots/font_attributes\"),o=t(\"../../components/color/attributes\"),s=t(\"../../plots/template_attributes\").hovertemplateAttrs,l=t(\"../../plots/template_attributes\").texttemplateAttrs,c=t(\"../../lib/extend\").extendFlat,u=a({editType:\"plot\",arrayOk:!0,colorEditType:\"plot\"});e.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\"},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({},u,{}),insidetextorientation:{valType:\"enumerated\",values:[\"horizontal\",\"radial\",\"tangential\",\"auto\"],dflt:\"auto\",editType:\"plot\"},insidetextfont:c({},u,{}),outsidetextfont:c({},u,{}),automargin:{valType:\"boolean\",dflt:!1,editType:\"plot\"},title:{text:{valType:\"string\",dflt:\"\",editType:\"plot\"},font:c({},u,{}),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:\"number\",min:-360,max:360,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({},u,{}),titleposition:{valType:\"enumerated\",values:[\"top left\",\"top center\",\"top right\",\"middle center\",\"bottom left\",\"bottom center\",\"bottom right\"],editType:\"calc\"}}}},{\"../../components/color/attributes\":365,\"../../lib/extend\":493,\"../../plots/attributes\":550,\"../../plots/domain\":584,\"../../plots/font_attributes\":585,\"../../plots/template_attributes\":633}],902:[function(t,e,r){\"use strict\";var n=t(\"../../plots/plots\");r.name=\"pie\",r.plot=function(t,e,i,a){n.plotBasePlot(r.name,t,e,i,a)},r.clean=function(t,e,i,a){n.cleanBasePlot(r.name,t,e,i,a)}},{\"../../plots/plots\":619}],903:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"tinycolor2\"),a=t(\"../../components/color\"),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<t.length;r++)a.push(i(t[r]).lighten(20).toHexString());for(r=0;r<t.length;r++)a.push(i(t[r]).darken(20).toHexString());e[n]=a}return a}e.exports={calc:function(t,e){var r,i,a=[],o=t._fullLayout,l=o.hiddenlabels||[],c=e.labels,u=e.marker.colors||[],f=e.values,h=e._length,p=e._hasValues&&h;if(e.dlabel)for(c=new Array(h),r=0;r<h;r++)c[r]=String(e.label0+r*e.dlabel);var d={},m=s(o[\"_\"+e.type+\"colormap\"]),g=0,v=!1;for(r=0;r<h;r++){var y,x,b;if(p){if(y=f[r],!n(y))continue;y=+y}else y=1;void 0!==(x=c[r])&&\"\"!==x||(x=r);var _=d[x=String(x)];void 0===_?(d[x]=a.length,(b=-1!==l.indexOf(x))||(g+=y),a.push({v:y,label:x,color:m(u[r],x),i:r,pts:[r],hidden:b})):(v=!0,(i=a[_]).v+=y,i.pts.push(r),i.hidden||(g+=y),!1===i.color&&u[r]&&(i.color=m(u[r],x)))}return a=a.filter((function(t){return t.v>=0})),(\"funnelarea\"===e.type?v: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;u<i.length;u++){var f=i[u];if(f[0].trace.type===r)for(var h=0;h<f.length;h++){var p=f[h];!1===p.color&&(s[p.label]?p.color=s[p.label]:(s[p.label]=p.color=a[c%a.length],c++))}}},makePullColorFn:s,generateExtendedColors:l}},{\"../../components/color\":366,\"fast-isnumeric\":190,tinycolor2:312}],904:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../../lib\"),a=t(\"./attributes\"),o=t(\"../../plots/domain\").defaults,s=t(\"../bar/defaults\").handleText;function l(t,e){var r=Array.isArray(t),a=i.isArrayOrTypedArray(e),o=Math.min(r?t.length:1/0,a?e.length:1/0);if(isFinite(o)||(o=0),o&&a){for(var s,l=0;l<o;l++){var c=e[l];if(n(c)&&c>0){s=!0;break}}s||(o=0)}return{hasLabels:r,hasValues:a,len:o}}e.exports={handleLabelsAndValues:l,supplyDefaults:function(t,e,r,n){function c(r,n){return i.coerce(t,e,a,r,n)}var u=l(c(\"labels\"),c(\"values\")),f=u.len;if(e._hasLabels=u.hasLabels,e._hasValues=u.hasValues,!e._hasLabels&&e._hasValues&&(c(\"label0\"),c(\"dlabel\")),f){e._length=f,c(\"marker.line.width\")&&c(\"marker.line.color\"),c(\"marker.colors\"),c(\"scalegroup\");var h,p=c(\"text\"),d=c(\"texttemplate\");if(d||(h=c(\"textinfo\",Array.isArray(p)?\"text+percent\":\"percent\")),c(\"hovertext\"),c(\"hovertemplate\"),d||h&&\"none\"!==h){var m=c(\"textposition\");s(t,e,n,c,m,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),(Array.isArray(m)||\"auto\"===m||\"outside\"===m)&&c(\"automargin\"),(\"inside\"===m||\"auto\"===m||Array.isArray(m))&&c(\"insidetextorientation\")}o(e,n,c);var g=c(\"hole\");if(c(\"title.text\")){var v=c(\"title.position\",g?\"middle center\":\"top center\");g||\"middle center\"!==v||(e.title.position=\"top center\"),i.coerceFont(c,\"title.font\",n.font)}c(\"sort\"),c(\"direction\"),c(\"rotation\"),c(\"pull\")}else e.visible=!1}}},{\"../../lib\":503,\"../../plots/domain\":584,\"../bar/defaults\":652,\"./attributes\":901,\"fast-isnumeric\":190}],905:[function(t,e,r){\"use strict\";var n=t(\"../../components/fx/helpers\").appendArrayMultiPointValues;e.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}},{\"../../components/fx/helpers\":402}],906:[function(t,e,r){\"use strict\";var n=t(\"../../lib\");function i(t){return-1!==t.indexOf(\"e\")?t.replace(/[.]?0+e/,\"e\"):-1!==t.indexOf(\".\")?t.replace(/[.]?0+$/,\"\"):t}r.formatPiePercent=function(t,e){var r=i((100*t).toPrecision(3));return n.numSeparate(r,e)+\"%\"},r.formatPieValue=function(t,e){var r=i(t.toPrecision(10));return n.numSeparate(r,e)},r.getFirstFilled=function(t,e){if(Array.isArray(t))for(var r=0;r<e.length;r++){var n=t[e[r]];if(n||0===n||\"\"===n)return n}},r.castOption=function(t,e){return Array.isArray(t)?r.getFirstFilled(t,e):t||void 0},r.getRotationAngle=function(t){return(\"auto\"===t?0:t)*Math.PI/180}},{\"../../lib\":503}],907:[function(t,e,r){\"use strict\";e.exports={attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\").supplyDefaults,supplyLayoutDefaults:t(\"./layout_defaults\"),layoutAttributes:t(\"./layout_attributes\"),calc:t(\"./calc\").calc,crossTraceCalc:t(\"./calc\").crossTraceCalc,plot:t(\"./plot\").plot,style:t(\"./style\"),styleOne:t(\"./style_one\"),moduleType:\"trace\",name:\"pie\",basePlotModule:t(\"./base_plot\"),categories:[\"pie-like\",\"pie\",\"showLegend\"],meta:{}}},{\"./attributes\":901,\"./base_plot\":902,\"./calc\":903,\"./defaults\":904,\"./layout_attributes\":908,\"./layout_defaults\":909,\"./plot\":910,\"./style\":911,\"./style_one\":912}],908:[function(t,e,r){\"use strict\";e.exports={hiddenlabels:{valType:\"data_array\",editType:\"calc\"},piecolorway:{valType:\"colorlist\",editType:\"calc\"},extendpiecolors:{valType:\"boolean\",dflt:!0,editType:\"calc\"}}},{}],909:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./layout_attributes\");e.exports=function(t,e){function r(r,a){return n.coerce(t,e,i,r,a)}r(\"hiddenlabels\"),r(\"piecolorway\",e.colorway),r(\"extendpiecolors\")}},{\"../../lib\":503,\"./layout_attributes\":908}],910:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../../plots/plots\"),a=t(\"../../components/fx\"),o=t(\"../../components/color\"),s=t(\"../../components/drawing\"),l=t(\"../../lib\"),c=l.strScale,u=l.strTranslate,f=t(\"../../lib/svg_text_utils\"),h=t(\"../bar/uniform_text\"),p=h.recordMinTextSize,d=h.clearMinTextSize,m=t(\"../bar/constants\").TEXTPAD,g=t(\"./helpers\"),v=t(\"./event_data\"),y=t(\"../../lib\").isValidTextValue;function x(t,e,r){var i=r[0],o=i.cx,s=i.cy,c=i.trace,u=\"funnelarea\"===c.type;\"_hasHoverLabel\"in c||(c._hasHoverLabel=!1),\"_hasHoverEvent\"in c||(c._hasHoverEvent=!1),t.on(\"mouseover\",(function(t){var r=e._fullLayout,f=e._fullData[c.index];if(!e._dragging&&!1!==r.hovermode){var h=f.hoverinfo;if(Array.isArray(h)&&(h=a.castHoverinfo({hoverinfo:[g.castOption(h,t.pts)],_module:c._module},r,0)),\"all\"===h&&(h=\"label+text+value+percent+name\"),f.hovertemplate||\"none\"!==h&&\"skip\"!==h&&h){var p=t.rInscribed||0,d=o+t.pxmid[0]*(1-p),m=s+t.pxmid[1]*(1-p),y=r.separators,x=[];if(h&&-1!==h.indexOf(\"label\")&&x.push(t.label),t.text=g.castOption(f.hovertext||f.text,t.pts),h&&-1!==h.indexOf(\"text\")){var b=t.text;l.isValidTextValue(b)&&x.push(b)}t.value=t.v,t.valueLabel=g.formatPieValue(t.v,y),h&&-1!==h.indexOf(\"value\")&&x.push(t.valueLabel),t.percent=t.v/i.vTotal,t.percentLabel=g.formatPiePercent(t.percent,y),h&&-1!==h.indexOf(\"percent\")&&x.push(t.percentLabel);var _=f.hoverlabel,w=_.font,T=[];a.loneHover({trace:c,x0:d-p*i.r,x1:d+p*i.r,y:m,_x0:u?o+t.TL[0]:d-p*i.r,_x1:u?o+t.TR[0]:d+p*i.r,_y0:u?s+t.TL[1]:m-p*i.r,_y1:u?s+t.BL[1]:m+p*i.r,text:x.join(\"<br>\"),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:[v(t,f)]},{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:[v(t,f)],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:[v(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=[v(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;return{color:n||o.contrast(e.color),family:i,size:a}}function _(t,e){for(var r,n,i=0;i<t.length;i++)if((n=(r=t[i][0]).trace).title.text){var a=n.title.text;n._meta&&(a=l.templateString(a,n._meta));var o=s.tester.append(\"text\").attr(\"data-notex\",1).text(a).call(s.font,n.title.font).call(f.convertToTspans,e),c=s.bBox(o.node(),!0);r.titleBox={width:c.width,height:c.height},o.remove()}}function w(t,e,r){var n=r.r||e.rpx1,i=e.rInscribed;if(e.startangle===e.stopangle)return{rCenter:1-i,scale:0,rotate:0,textPosAngle:0};var a,o=e.ring,s=1===o&&Math.abs(e.startangle-e.stopangle)===2*Math.PI,l=e.halfangle,c=e.midangle,u=r.trace.insidetextorientation,f=\"horizontal\"===u,h=\"tangential\"===u,p=\"radial\"===u,d=\"auto\"===u,m=[];if(!d){var g,v=function(r,i){if(function(t,e){var r=t.startangle,n=t.stopangle;return r>e&&e>n||r<e&&e<n}(e,r)){var s=Math.abs(r-e.startangle),l=Math.abs(r-e.stopangle),c=s<l?s:l;(a=\"tan\"===i?k(t,n,o,c,0):T(t,n,o,c,Math.PI/2)).textPosAngle=r,m.push(a)}};if(f||h){for(g=4;g>=-4;g-=2)v(Math.PI*g,\"tan\");for(g=4;g>=-4;g-=2)v(Math.PI*(g+1),\"tan\")}if(f||p){for(g=4;g>=-4;g-=2)v(Math.PI*(g+1.5),\"rad\");for(g=4;g>=-4;g-=2)v(Math.PI*(g+.5),\"rad\")}}if(s||d||f){var y=Math.sqrt(t.width*t.width+t.height*t.height);if((a={scale:i*n*2/y,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||h)&&((a=k(t,n,o,l,c)).textPosAngle=(e.startangle+e.stopangle)/2,m.push(a));for(var x=0,b=0,_=0;_<m.length;_++){var w=m[_].scale;if(b<w&&(b=w,x=_),!d&&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 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=I(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,u=(l=t.r,c=t.trace.aspectratio,l/(void 0===c?1:c)),f=e.w*(a.domain.x[1]-a.domain.x[0])/2;return-1!==a.title.position.indexOf(\"left\")?(f+=u,o.x-=(1+i)*u,s.tx+=t.titleBox.width/2):-1!==a.title.position.indexOf(\"center\")?f*=2:-1!==a.title.position.indexOf(\"right\")&&(f+=u,o.x+=(1+i)*u,s.tx-=t.titleBox.width/2),r=f/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 I(t){var e,r=t.pull;if(!r)return 0;if(Array.isArray(r))for(r=0,e=0;e<t.pull.length;e++)t.pull[e]>r&&(r=t.pull[e]);return r}function O(t,e){for(var r=[],n=0;n<t.length;n++){var i=t[n][0],a=i.trace,o=a.domain,s=e.w*(o.x[1]-o.x[0]),l=e.h*(o.y[1]-o.y[0]);a.title.text&&\"middle center\"!==a.title.position&&(l-=P(i,e));var c=s/2,u=l/2;\"funnelarea\"!==a.type||a.scalegroup||(u/=a.aspectratio),i.r=Math.min(c,u)/(1+I(a)),i.cx=e.l+e.w*(a.domain.x[1]+a.domain.x[0])/2,i.cy=e.t+e.h*(1-a.domain.y[0])-l/2,a.title.text&&-1!==a.title.position.indexOf(\"bottom\")&&(i.cy-=P(i,e)),a.scalegroup&&-1===r.indexOf(a.scalegroup)&&r.push(a.scalegroup)}!function(t,e){for(var r,n,i,a=0;a<e.length;a++){var o=1/0,s=e[a];for(n=0;n<t.length;n++)if(r=t[n][0],(i=r.trace).scalegroup===s){var l;if(\"pie\"===i.type)l=r.r*r.r;else if(\"funnelarea\"===i.type){var c,u;i.aspectratio>1?(c=r.r,u=c/i.aspectratio):(u=r.r,c=u*i.aspectratio),c*=(1+i.baseratio)/2,l=c*u}o=Math.min(o,l/r.vTotal)}for(n=0;n<t.length;n++)if(r=t[n][0],(i=r.trace).scalegroup===s){var f=o*r.vTotal;\"funnelarea\"===i.type&&(f/=(1+i.baseratio)/2,f/=i.aspectratio),r.r=Math.sqrt(f)}}}(t,r)}function z(t,e){return[t*Math.sin(e),-t*Math.cos(e)]}function D(t,e,r){var n=t._fullLayout,i=r.trace,a=i.texttemplate,o=i.textinfo;if(!a&&o&&\"none\"!==o){var s,c=o.split(\"+\"),u=function(t){return-1!==c.indexOf(t)},f=u(\"label\"),h=u(\"text\"),p=u(\"value\"),d=u(\"percent\"),m=n.separators;if(s=f?[e.label]:[],h){var v=g.getFirstFilled(i.text,e.pts);y(v)&&s.push(v)}p&&s.push(g.formatPieValue(e.v,m)),d&&s.push(g.formatPiePercent(e.v/r.vTotal,m)),e.text=s.join(\"<br>\")}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);(y(_)||\"\"===_)&&(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}e.exports={plot:function(t,e){var r=t._fullLayout,a=r._size;d(\"pie\",r),_(e,t),O(e,a);var h=l.makeTraceGroups(r._pielayer,e,\"trace\").each((function(e){var h=n.select(this),d=e[0],m=d.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;e<t.length&&t[e].hidden;e++);if(e===t.length)return;s+=l*t[e].v,l*=-1,c=\"px1\",u=\"px0\"}for(n=z(a,s),e=0;e<t.length;e++)(r=t[e]).hidden||(r[c]=n,r.startangle=s,s+=l*r.v/2,r.pxmid=z(a,s),r.midangle=s,s+=l*r.v/2,n=z(a,s),r.stopangle=s,r[u]=n,r.largeArc=r.v>i.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),h.attr(\"stroke-linejoin\",\"round\"),h.each((function(){var v=n.select(this).selectAll(\"g.slice\").data(e);v.enter().append(\"g\").classed(\"slice\",!0),v.exit().remove();var y=[[[],[]],[[],[]]],_=!1;v.each((function(i,a){if(i.hidden)n.select(this).selectAll(\"path,g\").remove();else{i.pointNumber=i.i,i.curveNumber=m.index,y[i.pxmid[1]<0?0:1][i.pxmid[0]<0?0:1].push(i);var o=d.cx,c=d.cy,u=n.select(this),h=u.selectAll(\"path.surface\").data([i]);if(h.enter().append(\"path\").classed(\"surface\",!0).style({\"pointer-events\":\"all\"}),u.call(x,t,e),m.pull){var v=+g.castOption(m.pull,i.pts)||0;v>0&&(o+=v*i.pxmid[0],c+=v*i.pxmid[1])}i.cxFinal=o,i.cyFinal=c;var T=m.hole;if(i.v===d.vTotal){var k=\"M\"+(o+i.px0[0])+\",\"+(c+i.px0[1])+C(i.px0,i.pxmid,!0,1)+C(i.pxmid,i.px0,!0,1)+\"Z\";T?h.attr(\"d\",\"M\"+(o+T*i.px0[0])+\",\"+(c+T*i.px0[1])+C(i.px0,i.pxmid,!1,T)+C(i.pxmid,i.px0,!1,T)+\"Z\"+k):h.attr(\"d\",k)}else{var A=C(i.px0,i.px1,!0,1);if(T){var M=1-T;h.attr(\"d\",\"M\"+(o+T*i.px1[0])+\",\"+(c+T*i.px1[1])+C(i.px1,i.px0,!1,T)+\"l\"+M*i.px0[0]+\",\"+M*i.px0[1]+A+\"Z\")}else h.attr(\"d\",\"M\"+o+\",\"+c+\"l\"+i.px0[0]+\",\"+i.px0[1]+A+\"Z\")}D(t,i,d);var S=g.castOption(m.textposition,i.pts),E=u.selectAll(\"g.slicetext\").data(i.text&&\"none\"!==S?[0]:[]);E.enter().append(\"g\").classed(\"slicetext\",!0),E.exit().remove(),E.each((function(){var u=l.ensureSingle(n.select(this),\"text\",\"\",(function(t){t.attr(\"data-notex\",1)})),h=l.ensureUniformFontSize(t,\"outside\"===S?function(t,e,r){var n=g.castOption(t.outsidetextfont.color,e.pts)||g.castOption(t.textfont.color,e.pts)||r.color,i=g.castOption(t.outsidetextfont.family,e.pts)||g.castOption(t.textfont.family,e.pts)||r.family,a=g.castOption(t.outsidetextfont.size,e.pts)||g.castOption(t.textfont.size,e.pts)||r.size;return{color:n,family:i,size:a}}(m,i,r.font):b(m,i,r.font));u.text(i.text).attr({class:\"slicetext\",transform:\"\",\"text-anchor\":\"middle\"}).call(s.font,h).call(f.convertToTspans,t);var v,y=s.bBox(u.node());if(\"outside\"===S)v=L(y,i);else if(v=w(y,i,d),\"auto\"===S&&v.scale<1){var x=l.ensureUniformFontSize(t,m.outsidetextfont);u.call(s.font,x),v=L(y=s.bBox(u.node()),i)}var T=v.textPosAngle,k=void 0===T?i.pxmid:z(d.r,T);if(v.targetX=o+k[0]*v.rCenter+(v.x||0),v.targetY=c+k[1]*v.rCenter+(v.y||0),R(v,y),v.outside){var A=v.targetY;i.yLabelMin=A-y.height/2,i.yLabelMid=A,i.yLabelMax=A+y.height/2,i.labelExtraX=0,i.labelExtraY=0,_=!0}v.fontSize=h.size,p(m.type,v,r),e[a].transform=v,u.attr(\"transform\",l.getTextTransform(v))}))}function C(t,e,r,n){var a=n*(e[0]-t[0]),o=n*(e[1]-t[1]);return\"a\"+n*d.r+\",\"+n*d.r+\" 0 \"+i.largeArc+(r?\" 1 \":\" 0 \")+a+\",\"+o}}));var T=n.select(this).selectAll(\"g.titletext\").data(m.title.text?[0]:[]);if(T.enter().append(\"g\").classed(\"titletext\",!0),T.exit().remove(),T.each((function(){var e,r=l.ensureSingle(n.select(this),\"text\",\"\",(function(t){t.attr(\"data-notex\",1)})),i=m.title.text;m._meta&&(i=l.templateString(i,m._meta)),r.text(i).attr({class:\"titletext\",transform:\"\",\"text-anchor\":\"middle\"}).call(s.font,m.title.font).call(f.convertToTspans,t),e=\"middle center\"===m.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}}(d):C(d,a),r.attr(\"transform\",u(e.x,e.y)+c(Math.min(1,e.scale))+u(e.tx,e.ty))})),_&&function(t,e){var r,n,i,a,o,s,l,c,u,f,h,p,d;function m(t,e){return t.pxmid[1]-e.pxmid[1]}function v(t,e){return e.pxmid[1]-t.pxmid[1]}function y(t,r){r||(r={});var i,c,u,h,p=r.labelExtraY+(n?r.yLabelMax:r.yLabelMin),d=n?t.yLabelMin:t.yLabelMax,m=n?t.yLabelMax:t.yLabelMin,v=t.cyFinal+o(t.px0[1],t.px1[1]),y=p-d;if(y*l>0&&(t.labelExtraY=y),Array.isArray(e.pull))for(c=0;c<f.length;c++)(u=f[c])===t||(g.castOption(e.pull,t.pts)||0)>=(g.castOption(e.pull,u.pts)||0)||((t.pxmid[1]-u.pxmid[1])*l>0?(y=u.cyFinal+o(u.px0[1],u.px1[1])-d-t.labelExtraY)*l>0&&(t.labelExtraY+=y):(m+t.labelExtraY-v)*l>0&&(i=3*s*Math.abs(c-f.indexOf(t)),(h=u.cxFinal+a(u.px0[0],u.px1[0])+i-(t.cxFinal+t.pxmid[0])-t.labelExtraX)*s>0&&(t.labelExtraX+=h)))}for(n=0;n<2;n++)for(i=n?m:v,o=n?Math.max:Math.min,l=n?1:-1,r=0;r<2;r++){for(a=r?Math.max:Math.min,s=r?1:-1,(c=t[n][r]).sort(i),u=t[1-n][r],f=u.concat(c),p=[],h=0;h<c.length;h++)void 0!==c[h].yLabelMid&&p.push(c[h]);for(d=!1,h=0;n&&h<u.length;h++)if(void 0!==u[h].yLabelMid){d=u[h];break}for(h=0;h<p.length;h++){var x=h&&p[h-1];d&&!h&&(x=d),y(p[h],x)}}}(y,m),function(t,e){t.each((function(t){var r=n.select(this);if(t.labelExtraX||t.labelExtraY){var i=r.select(\"g.slicetext text\");t.transform.targetX+=t.labelExtraX,t.transform.targetY+=t.labelExtraY,i.attr(\"transform\",l.getTextTransform(t.transform));var a=t.cxFinal+t.pxmid[0],s=\"M\"+a+\",\"+(t.cyFinal+t.pxmid[1]),c=(t.yLabelMax-t.yLabelMin)*(t.pxmid[0]<0?-1:1)/4;if(t.labelExtraX){var u=t.labelExtraX*t.pxmid[1]/t.pxmid[0],f=t.yLabelMid+t.labelExtraY-(t.cyFinal+t.pxmid[1]);Math.abs(u)>Math.abs(f)?s+=\"l\"+f*t.pxmid[0]/t.pxmid[1]+\",\"+f+\"H\"+(a+t.labelExtraX+c):s+=\"l\"+t.labelExtraX+\",\"+u+\"v\"+(f-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,m),_&&m.automargin){var k=s.bBox(h.node()),A=m.domain,M=a.w*(A.x[1]-A.x[0]),S=a.h*(A.y[1]-A.y[0]),E=(.5*M-d.r)/a.w,P=(.5*S-d.r)/a.h;i.autoMargin(t,\"pie.\"+m.uid+\".automargin\",{xl:A.x[0]-E,xr:A.x[1]+E,yb:A.y[0]-P,yt:A.y[1]+P,l:Math.max(d.cx-d.r-k.left,0),r:Math.max(k.right-(d.cx+d.r),0),b:Math.max(k.bottom-(d.cy+d.r),0),t:Math.max(d.cy-d.r-k.top,0),pad:5})}}))}));setTimeout((function(){h.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:O,attachFxHandlers:x,computeTransform:R}},{\"../../components/color\":366,\"../../components/drawing\":388,\"../../components/fx\":406,\"../../lib\":503,\"../../lib/svg_text_utils\":529,\"../../plots/plots\":619,\"../bar/constants\":650,\"../bar/uniform_text\":664,\"./event_data\":905,\"./helpers\":906,\"@plotly/d3\":58}],911:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"./style_one\"),a=t(\"../bar/uniform_text\").resizeText;e.exports=function(t){var e=t._fullLayout._pielayer.selectAll(\".trace\");a(t,e,\"pie\"),e.each((function(t){var e=t[0].trace,r=n.select(this);r.style({opacity:e.opacity}),r.selectAll(\"path.surface\").each((function(t){n.select(this).call(i,t,e)}))}))}},{\"../bar/uniform_text\":664,\"./style_one\":912,\"@plotly/d3\":58}],912:[function(t,e,r){\"use strict\";var n=t(\"../../components/color\"),i=t(\"./helpers\").castOption;e.exports=function(t,e,r){var a=r.marker.line,o=i(a.color,e.pts)||n.defaultLine,s=i(a.width,e.pts)||0;t.style(\"stroke-width\",s).call(n.fill,e.color).call(n.stroke,o)}},{\"../../components/color\":366,\"./helpers\":906}],913:[function(t,e,r){\"use strict\";var n=t(\"../scatter/attributes\");e.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}},{\"../scatter/attributes\":927}],914:[function(t,e,r){\"use strict\";var n=t(\"../../../stackgl_modules\").gl_pointcloud2d,i=t(\"../../lib/str2rgbarray\"),a=t(\"../../plots/cartesian/autorange\").findExtremes,o=t(\"../scatter/get_trace_color\");function s(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 l=s.prototype;l.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:Array.isArray(this.textLabels)?this.textLabels[e]:this.textLabels,color:this.color,name:this.name,pointIndex:e,hoverinfo:this.hoverinfo}},l.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=o(t,{})},l.updateFast=function(t){var e,r,n,o,s,l,c=this.xData=this.pickXData=t.x,u=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;l<e;l++)o=n[2*l],s=n[2*l+1],o<d[0]&&(d[0]=o),o>d[2]&&(d[2]=o),s<d[1]&&(d[1]=s),s>d[3]&&(d[3]=s);if(p)r=p;else for(r=new Int32Array(e),l=0;l<e;l++)r[l]=l}else for(e=c.length,n=new Float32Array(2*e),r=new Int32Array(e),l=0;l<e;l++)o=c[l],s=u[l],r[l]=l,n[2*l]=o,n[2*l+1]=s,o<d[0]&&(d[0]=o),o>d[2]&&(d[2]=o),s<d[1]&&(d[1]=s),s>d[3]&&(d[3]=s);this.idToIndex=r,this.pointcloudOptions.idToIndex=r,this.pointcloudOptions.positions=n;var m=i(t.marker.color),g=i(t.marker.border.color),v=t.opacity*t.marker.opacity;m[3]*=v,this.pointcloudOptions.color=m;var y=t.marker.blend;if(null===y){y=c.length<100||u.length<100}this.pointcloudOptions.blend=y,g[3]*=v,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]=a(_,[d[0],d[2]],{ppad:T}),t._extremes[w._id]=a(w,[d[1],d[3]],{ppad:T})},l.dispose=function(){this.pointcloud.dispose()},e.exports=function(t,e){var r=new s(t,e.uid);return r.update(e),r}},{\"../../../stackgl_modules\":1124,\"../../lib/str2rgbarray\":528,\"../../plots/cartesian/autorange\":553,\"../scatter/get_trace_color\":937}],915:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./attributes\");e.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}},{\"../../lib\":503,\"./attributes\":913}],916:[function(t,e,r){\"use strict\";[\"*pointcloud* trace is deprecated!\",\"Please consider switching to the *scattergl* trace type.\"].join(\" \");e.exports={attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\"),calc:t(\"../scatter3d/calc\"),plot:t(\"./convert\"),moduleType:\"trace\",name:\"pointcloud\",basePlotModule:t(\"../../plots/gl2d\"),categories:[\"gl\",\"gl2d\",\"showLegend\"],meta:{}}},{\"../../plots/gl2d\":596,\"../scatter3d/calc\":956,\"./attributes\":913,\"./convert\":914,\"./defaults\":915}],917:[function(t,e,r){\"use strict\";var n=t(\"../../plots/font_attributes\"),i=t(\"../../plots/attributes\"),a=t(\"../../components/color/attributes\"),o=t(\"../../components/fx/attributes\"),s=t(\"../../plots/domain\").attributes,l=t(\"../../plots/template_attributes\").hovertemplateAttrs,c=t(\"../../components/colorscale/attributes\"),u=t(\"../../plot_api/plot_template\").templatedArray,f=t(\"../../plots/cartesian/axis_format_attributes\").descriptionOnlyNumbers,h=t(\"../../lib/extend\").extendFlat,p=t(\"../../plot_api/edit_types\").overrideAll;(e.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\"]})},link:{label:{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: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:h(c().colorscale,{dflt:[[0,\"white\"],[1,\"black\"]]})})}},\"calc\",\"nested\")).transforms=void 0},{\"../../components/color/attributes\":365,\"../../components/colorscale/attributes\":373,\"../../components/fx/attributes\":397,\"../../lib/extend\":493,\"../../plot_api/edit_types\":536,\"../../plot_api/plot_template\":543,\"../../plots/attributes\":550,\"../../plots/cartesian/axis_format_attributes\":557,\"../../plots/domain\":584,\"../../plots/font_attributes\":585,\"../../plots/template_attributes\":633}],918:[function(t,e,r){\"use strict\";var n=t(\"../../plot_api/edit_types\").overrideAll,i=t(\"../../plots/get_data\").getModuleCalcData,a=t(\"./plot\"),o=t(\"../../components/fx/layout_attributes\"),s=t(\"../../lib/setcursor\"),l=t(\"../../components/dragelement\"),c=t(\"../../plots/cartesian/select\").prepSelect,u=t(\"../../lib\"),f=t(\"../../registry\");function h(t,e){var r=t._fullData[e],n=t._fullLayout,i=n.dragmode,a=\"pan\"===n.dragmode?\"move\":\"crosshair\",o=r._bgRect;if(\"pan\"!==i&&\"zoom\"!==i){s(o,a);var h={_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:h,yaxis:p,fillRangeItems:u.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;r<e.length;r++)if(e[r].pointNumber===t)return e[r]}for(var l=0;l<r.length;l++){var c=s(r[l].pointNumber);if(c)if(c.group){for(var u=0;u<c.childrenNodes.length;u++)o.push(c.childrenNodes[u].pointNumber);a[c.pointNumber-i.node._count]=!1}else o.push(c.pointNumber)}n=a.filter(Boolean).concat([o]),f.call(\"_guiRestyle\",t,{\"node.groups\":[n]},e)},prepFn:function(t,e,r){c(t,e,r,d,i)}};l.init(d)}}r.name=\"sankey\",r.baseLayoutAttrOverrides=n({hoverlabel:o.hoverlabel},\"plot\",\"nested\"),r.plot=function(t){var e=i(t.calcdata,\"sankey\")[0];a(t,e),r.updateFx(t)},r.clean=function(t,e,r,n){var i=n._has&&n._has(\"sankey\"),a=e._has&&e._has(\"sankey\");i&&!a&&(n._paperdiv.selectAll(\".sankey\").remove(),n._paperdiv.selectAll(\".bgsankey\").remove())},r.updateFx=function(t){for(var e=0;e<t._fullData.length;e++)h(t,e)}},{\"../../components/dragelement\":385,\"../../components/fx/layout_attributes\":407,\"../../lib\":503,\"../../lib/setcursor\":524,\"../../plot_api/edit_types\":536,\"../../plots/cartesian/select\":575,\"../../plots/get_data\":593,\"../../registry\":638,\"./plot\":923}],919:[function(t,e,r){\"use strict\";var n=t(\"strongly-connected-components\"),i=t(\"../../lib\"),a=t(\"../../lib/gup\").wrap,o=i.isArrayOrTypedArray,s=i.isIndex,l=t(\"../../components/colorscale\");function c(t){var e,r=t.node,a=t.link,c=[],u=o(a.color),f=o(a.customdata),h={},p={},d=a.colorscales.length;for(e=0;e<d;e++){var m=a.colorscales[e],g=l.extractScale(m,{cLetter:\"c\"}),v=l.makeColorScaleFunc(g);p[m.label]=v}var y=0;for(e=0;e<a.value.length;e++)a.source[e]>y&&(y=a.source[e]),a.target[e]>y&&(y=a.target[e]);var x,b=y+1;t.node._count=b;var _=t.node.groups,w={};for(e=0;e<_.length;e++){var T=_[e];for(x=0;x<T.length;x++){var k=T[x],A=b+e;w.hasOwnProperty(k)?i.warn(\"Node \"+k+\" is already part of a group.\"):w[k]=A}}var M={source:[],target:[]};for(e=0;e<a.value.length;e++){var S=a.value[e],E=a.source[e],L=a.target[e];if(S>0&&s(E,b)&&s(L,b)&&(!w.hasOwnProperty(E)||!w.hasOwnProperty(L)||w[E]!==w[L])){w.hasOwnProperty(L)&&(L=w[L]),w.hasOwnProperty(E)&&(E=w[E]),L=+L,h[E=+E]=h[L]=!0;var C=\"\";a.label&&a.label[e]&&(C=a.label[e]);var P=null;C&&p.hasOwnProperty(C)&&(P=p[C]),c.push({pointNumber:e,label:C,color:u?a.color[e]:a.color,customdata:f?a.customdata[e]:a.customdata,concentrationscale:P,source:E,target:L,value:+S}),M.source.push(E),M.target.push(L)}}var I=b+_.length,O=o(r.color),z=o(r.customdata),D=[];for(e=0;e<I;e++)if(h[e]){var R=r.label[e];D.push({group:e>b-1,childrenNodes:[],pointNumber:e,label:R,color:O?r.color[e]:r.color,customdata:z?r.customdata[e]:r.customdata})}var F=!1;return function(t,e,r){for(var a=i.init2dArray(t,0),o=0;o<Math.min(e.length,r.length);o++)if(i.isIndex(e[o],t)&&i.isIndex(r[o],t)){if(e[o]===r[o])return!0;a[e[o]].push(r[o])}return n(a).components.some((function(t){return t.length>1}))}(I,M.source,M.target)&&(F=!0),{circular:F,links:c,nodes:D,groups:_,groupLookup:w}}e.exports=function(t,e){var r=c(e);return a({circular:r.circular,_nodes:r.nodes,_links:r.links,_groups:r.groups,_groupLookup:r.groupLookup})}},{\"../../components/colorscale\":378,\"../../lib\":503,\"../../lib/gup\":500,\"strongly-connected-components\":306}],920:[function(t,e,r){\"use strict\";e.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\"}}},{}],921:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./attributes\"),a=t(\"../../components/color\"),o=t(\"tinycolor2\"),s=t(\"../../plots/domain\").defaults,l=t(\"../../components/fx/hoverlabel_defaults\"),c=t(\"../../plot_api/plot_template\"),u=t(\"../../plots/array_container_defaults\");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\")}e.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),m=t.node,g=c.newContainer(e,\"node\");function v(t,e){return n.coerce(m,g,i.node,t,e)}v(\"label\"),v(\"groups\"),v(\"x\"),v(\"y\"),v(\"pad\"),v(\"thickness\"),v(\"line.color\"),v(\"line.width\"),v(\"hoverinfo\",t.hoverinfo),l(m,g,v,d),v(\"hovertemplate\");var y=h.colorway;v(\"color\",g.label.map((function(t,e){return a.addOpacity(function(t){return y[t%y.length]}(e),.8)}))),v(\"customdata\");var x=t.link||{},b=c.newContainer(e,\"link\");function _(t,e){return n.coerce(x,b,i.link,t,e)}_(\"label\"),_(\"source\"),_(\"target\"),_(\"value\"),_(\"line.color\"),_(\"line.width\"),_(\"hoverinfo\",t.hoverinfo),l(x,b,_,d),_(\"hovertemplate\");var w,T=o(h.paper_bgcolor).getLuminance()<.333?\"rgba(255, 255, 255, 0.6)\":\"rgba(0, 0, 0, 0.2)\";_(\"color\",n.repeat(T,b.value.length)),_(\"customdata\"),u(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}},{\"../../components/color\":366,\"../../components/fx/hoverlabel_defaults\":404,\"../../lib\":503,\"../../plot_api/plot_template\":543,\"../../plots/array_container_defaults\":549,\"../../plots/domain\":584,\"./attributes\":917,tinycolor2:312}],922:[function(t,e,r){\"use strict\";e.exports={attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\"),calc:t(\"./calc\"),plot:t(\"./plot\"),moduleType:\"trace\",name:\"sankey\",basePlotModule:t(\"./base_plot\"),selectPoints:t(\"./select.js\"),categories:[\"noOpacity\"],meta:{}}},{\"./attributes\":917,\"./base_plot\":918,\"./calc\":919,\"./defaults\":921,\"./plot\":923,\"./select.js\":925}],923:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../../lib\"),a=i.numberFormat,o=t(\"./render\"),s=t(\"../../components/fx\"),l=t(\"../../components/color\"),c=t(\"./constants\").cn,u=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 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 v(t,e,r){e&&r&&h(r,e).selectAll(\".\"+c.sankeyLink).filter(m(e)).call(x.bind(0,e,r,!1))}function y(t,e,r){e&&r&&h(r,e).selectAll(\".\"+c.sankeyLink).filter(m(e)).call(b.bind(0,e,r,!1))}function x(t,e,r,n){var i=n.datum().link.label;n.style(\"fill-opacity\",(function(t){if(!t.link.concentrationscale)return.4})),i&&h(e,t).selectAll(\".\"+c.sankeyLink).filter((function(t){return t.link.label===i})).style(\"fill-opacity\",(function(t){if(!t.link.concentrationscale)return.4})),r&&h(e,t).selectAll(\".\"+c.sankeyNode).filter(g(t)).call(v)}function b(t,e,r,n){var i=n.datum().link.label;n.style(\"fill-opacity\",(function(t){return t.tinyColorAlpha})),i&&h(e,t).selectAll(\".\"+c.sankeyLink).filter((function(t){return t.link.label===i})).style(\"fill-opacity\",(function(t){return t.tinyColorAlpha})),r&&h(e,t).selectAll(c.sankeyNode).filter(g(t)).call(y)}function _(t,e){var r=t.hoverlabel||{},n=i.nestedProperty(r,e).get();return!Array.isArray(n)&&n}e.exports=function(t,e){for(var r=t._fullLayout,i=r._paper,h=r._size,m=0;m<t._fullData.length;m++)if(t._fullData[m].visible&&t._fullData[m].type===c.sankey&&!t._fullData[m]._viewInitial){var g=t._fullData[m].node;t._fullData[m]._viewInitial={node:{groups:g.groups.slice(),x:g.x.slice(),y:g.y.slice()}}}var w=u(t,\"source:\")+\" \",T=u(t,\"target:\")+\" \",k=u(t,\"concentration:\")+\" \",A=u(t,\"incoming flow count:\")+\" \",M=u(t,\"outgoing flow count:\")+\" \";o(t,i,e,{width:h.w,height:h.h,margin:{t:h.t,r:h.r,b:h.b,l:h.l}},{linkEvents:{hover:function(e,r,i){!1!==t._fullLayout.hovermode&&(n.select(e).call(x.bind(0,r,i,!0)),\"skip\"!==r.link.trace.link.hoverinfo&&(r.link.fullData=r.link.trace,t.emit(\"plotly_hover\",{event:n.event,points:[r.link]})))},follow:function(e,i){if(!1!==t._fullLayout.hovermode){var o=i.link.trace.link;if(\"none\"!==o.hoverinfo&&\"skip\"!==o.hoverinfo){for(var c=[],u=0,h=0;h<i.flow.links.length;h++){var m=i.flow.links[h];if(\"closest\"!==t._fullLayout.hovermode||i.link.pointNumber===m.pointNumber){i.link.pointNumber===m.pointNumber&&(u=h),m.fullData=m.trace,o=i.link.trace.link;var g=y(m),v={valueLabel:a(i.valueFormat)(m.value)+i.valueSuffix};c.push({x:g[0],y:g[1],name:v.valueLabel,text:[m.label||\"\",w+m.source.label,T+m.target.label,m.concentrationscale?k+a(\"%0.2f\")(m.flow.labelConcentration):\"\"].filter(f).join(\"<br>\"),color:_(o,\"bgcolor\")||l.addOpacity(m.color,1),borderColor:_(o,\"bordercolor\"),fontFamily:_(o,\"font.family\"),fontSize:_(o,\"font.size\"),fontColor:_(o,\"font.color\"),nameLength:_(o,\"namelength\"),textAlign:_(o,\"align\"),idealAlign:n.event.x<g[0]?\"right\":\"left\",hovertemplate:o.hovertemplate,hovertemplateLabels:v,eventData:[m]})}}s.loneHover(c,{container:r._hoverlayer.node(),outerContainer:r._paper.node(),gd:t,anchorIndex:u}).each((function(){i.link.concentrationscale||p(this,.65),d(this)}))}}function y(t){var e,r;t.circular?(e=(t.circularPathData.leftInnerExtent+t.circularPathData.rightInnerExtent)/2,r=t.circularPathData.verticalFullExtent):(e=(t.source.x1+t.target.x0)/2,r=(t.y0+t.y1)/2);var n=[e,r];return\"v\"===t.trace.orientation&&n.reverse(),n[0]+=i.parent.translateX,n[1]+=i.parent.translateY,n}},unhover:function(e,i,a){!1!==t._fullLayout.hovermode&&(n.select(e).call(b.bind(0,i,a,!0)),\"skip\"!==i.link.trace.link.hoverinfo&&(i.link.fullData=i.link.trace,t.emit(\"plotly_unhover\",{event:n.event,points:[i.link]})),s.loneUnhover(r._hoverlayer.node()))},select:function(e,r){var i=r.link;i.originalEvent=n.event,t._hoverdata=[i],s.click(t,{target:!0})}},nodeEvents:{hover:function(e,r,i){!1!==t._fullLayout.hovermode&&(n.select(e).call(v,r,i),\"skip\"!==r.node.trace.node.hoverinfo&&(r.node.fullData=r.node.trace,t.emit(\"plotly_hover\",{event:n.event,points:[r.node]})))},follow:function(e,i){if(!1!==t._fullLayout.hovermode){var o=i.node.trace.node;if(\"none\"!==o.hoverinfo&&\"skip\"!==o.hoverinfo){var l=n.select(e).select(\".\"+c.nodeRect),u=t._fullLayout._paperdiv.node().getBoundingClientRect(),h=l.node().getBoundingClientRect(),m=h.left-2-u.left,g=h.right+2-u.left,v=h.top+h.height/4-u.top,y={valueLabel:a(i.valueFormat)(i.node.value)+i.valueSuffix};i.node.fullData=i.node.trace,t._fullLayout._calcInverseTransform(t);var x=t._fullLayout._invScaleX,b=t._fullLayout._invScaleY,w=s.loneHover({x0:x*m,x1:x*g,y:b*v,name:a(i.valueFormat)(i.node.value)+i.valueSuffix,text:[i.node.label,A+i.node.targetLinks.length,M+i.node.sourceLinks.length].filter(f).join(\"<br>\"),color:_(o,\"bgcolor\")||i.tinyColorHue,borderColor:_(o,\"bordercolor\"),fontFamily:_(o,\"font.family\"),fontSize:_(o,\"font.size\"),fontColor:_(o,\"font.color\"),nameLength:_(o,\"namelength\"),textAlign:_(o,\"align\"),idealAlign:\"left\",hovertemplate:o.hovertemplate,hovertemplateLabels:y,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(y,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(y,r,i),s.click(t,{target:!0})}}})}},{\"../../components/color\":366,\"../../components/fx\":406,\"../../lib\":503,\"./constants\":920,\"./render\":924,\"@plotly/d3\":58}],924:[function(t,e,r){\"use strict\";var n=t(\"d3-force\"),i=t(\"d3-interpolate\").interpolateNumber,a=t(\"@plotly/d3\"),o=t(\"@plotly/d3-sankey\"),s=t(\"@plotly/d3-sankey-circular\"),l=t(\"./constants\"),c=t(\"tinycolor2\"),u=t(\"../../components/color\"),f=t(\"../../components/drawing\"),h=t(\"../../lib\"),p=h.strTranslate,d=h.strRotate,m=t(\"../../lib/gup\"),g=m.keyFun,v=m.repeat,y=m.unwrap,x=t(\"../../lib/svg_text_utils\"),b=t(\"../../registry\"),_=t(\"../../constants/alignment\"),w=_.CAP_SHIFT,T=_.LINE_SPACING;function k(t,e,r){var n,i=y(e),a=i.trace,u=a.domain,f=\"h\"===a.orientation,p=a.node.pad,d=a.node.thickness,m=t.width*(u.x[1]-u.x[0]),g=t.height*(u.y[1]-u.y[0]),v=i._nodes,x=i._links,b=i.circular;(n=b?s.sankeyCircular().circularLinkGap(0):o.sankey()).iterations(l.sankeyIterations).size(f?[m,g]:[g,m]).nodeWidth(d).nodePadding(p).nodeId((function(t){return t.pointNumber})).nodes(v).links(x);var _,w,T,k=n();for(var A in n.nodePadding()<p&&h.warn(\"node.pad was reduced to \",n.nodePadding(),\" to fit within the figure.\"),i._groupLookup){var M,S=parseInt(i._groupLookup[A]);for(_=0;_<k.nodes.length;_++)if(k.nodes[_].pointNumber===S){M=k.nodes[_];break}if(M){var E={pointNumber:parseInt(A),x0:M.x0,x1:M.x1,y0:M.y0,y1:M.y1,partOfGroup:!0,sourceLinks:[],targetLinks:[]};k.nodes.unshift(E),M.childrenNodes.unshift(E)}}if(function(){for(_=0;_<k.nodes.length;_++){var t,e,r=k.nodes[_],n={};for(w=0;w<r.targetLinks.length;w++)t=(e=r.targetLinks[w]).source.pointNumber+\":\"+e.target.pointNumber,n.hasOwnProperty(t)||(n[t]=[]),n[t].push(e);var i=Object.keys(n);for(w=0;w<i.length;w++){var a=n[t=i[w]],o=0,s={};for(T=0;T<a.length;T++)s[(e=a[T]).label]||(s[e.label]=0),s[e.label]+=e.value,o+=e.value;for(T=0;T<a.length;T++)(e=a[T]).flow={value:o,labelConcentration:s[e.label]/o,concentration:e.value/o,links:a},e.concentrationscale&&(e.color=c(e.concentrationscale(e.flow.labelConcentration)))}var l=0;for(w=0;w<r.sourceLinks.length;w++)l+=r.sourceLinks[w].value;for(w=0;w<r.sourceLinks.length;w++)(e=r.sourceLinks[w]).concentrationOut=e.value/l;var u=0;for(w=0;w<r.targetLinks.length;w++)u+=r.targetLinks[w].value;for(w=0;w<r.targetLinks.length;w++)(e=r.targetLinks[w]).concenrationIn=e.value/u}}(),a.node.x.length&&a.node.y.length){for(_=0;_<Math.min(a.node.x.length,a.node.y.length,k.nodes.length);_++)if(a.node.x[_]&&a.node.y[_]){var L=[a.node.x[_]*m,a.node.y[_]*g];k.nodes[_].x0=L[0]-d/2,k.nodes[_].x1=L[0]+d/2;var C=k.nodes[_].y1-k.nodes[_].y0;k.nodes[_].y0=L[1]-C/2,k.nodes[_].y1=L[1]+C/2}if(\"snap\"===a.arrangement)!function(t){t.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<a;++n)(e=t[n]).y0>=i||(r=i-e.y0)>1e-6&&(e.y0+=r,e.y1+=r),i=e.y1+p}))}(function(t){var e,r,n=t.map((function(t,e){return{x0:t.x0,index:e}})).sort((function(t,e){return t.x0-e.x0})),i=[],a=-1,o=-1/0;for(_=0;_<n.length;_++){var s=t[n[_].index];s.x0>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}(v=k.nodes));n.update(k)}return{circular:b,key:r,trace:a,guid:h.randstr(),horizontal:f,width:m,height:g,nodePad:a.node.pad,nodeLineColor:a.node.line.color,nodeLineWidth:a.node.line.width,linkLineColor:a.link.line.color,linkLineWidth:a.link.line.width,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:f?g:m,dragPerpendicular:f?m:g,arrangement:a.arrangement,sankey:n,graph:k,forceLayouts:{},interactionState:{dragInProgress:!1,hovered:!1}}}function A(t,e,r){var n=c(e.color),i=e.source.label+\"|\"+e.target.label+\"__\"+r;return e.trace=t.trace,e.curveNumber=t.trace.index,{circular:t.circular,key:i,traceId:t.key,pointNumber:e.pointNumber,link:e,tinyColorHue:u.tinyRGB(n),tinyColorAlpha:n.getAlpha(),linkPath:M,linkLineColor:t.linkLineColor,linkLineWidth:t.linkLineWidth,valueFormat:t.valueFormat,valueSuffix:t.valueSuffix,sankey:t.sankey,parent:t,interactionState:t.interactionState,flow:e.flow}}function M(){return function(t){if(t.link.circular)return e=t.link,r=e.width/2,n=e.circularPathData,\"top\"===e.circularLinkType?\"M \"+n.targetX+\" \"+(n.targetY+r)+\" L\"+n.rightInnerExtent+\" \"+(n.targetY+r)+\"A\"+(n.rightLargeArcRadius+r)+\" \"+(n.rightSmallArcRadius+r)+\" 0 0 1 \"+(n.rightFullExtent-r)+\" \"+(n.targetY-n.rightSmallArcRadius)+\"L\"+(n.rightFullExtent-r)+\" \"+n.verticalRightInnerExtent+\"A\"+(n.rightLargeArcRadius+r)+\" \"+(n.rightLargeArcRadius+r)+\" 0 0 1 \"+n.rightInnerExtent+\" \"+(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+\" \"+(n.verticalFullExtent+r)+\"A\"+(n.rightLargeArcRadius-r)+\" \"+(n.rightLargeArcRadius-r)+\" 0 0 0 \"+(n.rightFullExtent+r)+\" \"+n.verticalRightInnerExtent+\"L\"+(n.rightFullExtent+r)+\" \"+(n.targetY-n.rightSmallArcRadius)+\"A\"+(n.rightLargeArcRadius-r)+\" \"+(n.rightSmallArcRadius-r)+\" 0 0 0 \"+n.rightInnerExtent+\" \"+(n.targetY-r)+\"L\"+n.targetX+\" \"+(n.targetY-r)+\"Z\":\"M \"+n.targetX+\" \"+(n.targetY-r)+\" L\"+n.rightInnerExtent+\" \"+(n.targetY-r)+\"A\"+(n.rightLargeArcRadius+r)+\" \"+(n.rightSmallArcRadius+r)+\" 0 0 0 \"+(n.rightFullExtent-r)+\" \"+(n.targetY+n.rightSmallArcRadius)+\"L\"+(n.rightFullExtent-r)+\" \"+n.verticalRightInnerExtent+\"A\"+(n.rightLargeArcRadius+r)+\" \"+(n.rightLargeArcRadius+r)+\" 0 0 0 \"+n.rightInnerExtent+\" \"+(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+\" \"+(n.verticalFullExtent-r)+\"A\"+(n.rightLargeArcRadius-r)+\" \"+(n.rightLargeArcRadius-r)+\" 0 0 1 \"+(n.rightFullExtent+r)+\" \"+n.verticalRightInnerExtent+\"L\"+(n.rightFullExtent+r)+\" \"+(n.targetY+n.rightSmallArcRadius)+\"A\"+(n.rightLargeArcRadius-r)+\" \"+(n.rightSmallArcRadius-r)+\" 0 0 1 \"+n.rightInnerExtent+\" \"+(n.targetY+r)+\"L\"+n.targetX+\" \"+(n.targetY+r)+\"Z\";var e,r,n,a=t.link.source.x1,o=t.link.target.x0,s=i(a,o),l=s(.5),c=s(.5),u=t.link.y0-t.link.width/2,f=t.link.y0+t.link.width/2,h=t.link.y1-t.link.width/2,p=t.link.y1+t.link.width/2;return\"M\"+a+\",\"+u+\"C\"+l+\",\"+u+\" \"+c+\",\"+h+\" \"+o+\",\"+h+\"L\"+o+\",\"+p+\"C\"+c+\",\"+p+\" \"+l+\",\"+f+\" \"+a+\",\"+f+\"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=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: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 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 I(t){return t.link.width>1||t.linkLineWidth>0}function O(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;e<t.length;e++)t[e].y=(t[e].y0+t[e].y1)/2,t[e].x=(t[e].x0+t[e].x1)/2}(r.graph.nodes);var a=r.graph.nodes.filter((function(t){return t.originalX===r.node.originalX})).filter((function(t){return!t.partOfGroup}));r.forceLayouts[e]=n.forceSimulation(a).alphaDecay(0).force(\"collide\",n.forceCollide().radius((function(t){return t.dy/2+r.nodePad/2})).strength(1).iterations(l.forceIterations)).force(\"constrain\",function(t,e,r,n){return function(){for(var t=0,i=0;i<r.length;i++){var a=r[i];a===n.interactionState.dragInProgress?(a.x=a.lastDraggedX,a.y=a.lastDraggedY):(a.vx=(a.originalX-a.x)/l.forceTicksPerFrame,a.y=Math.min(n.size-a.dy/2,Math.max(a.dy/2,a.y))),t=Math.max(t,Math.abs(a.vx),Math.abs(a.vy))}!n.interactionState.dragInProgress&&t<.1&&n.forceLayouts[e].alpha()>0&&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;o<l.forceTicksPerFrame;o++)r.forceLayouts[n].tick();if(function(t){for(var e=0;e<t.length;e++)t[e].y0=t[e].y-t[e].dy/2,t[e].y1=t[e].y0+t[e].dy,t[e].x0=t[e].x-t[e].dx/2,t[e].x1=t[e].x0+t[e].dx}(r.graph.nodes),r.sankey.update(r.graph),C(t.filter(B(r)),e),r.forceLayouts[n].alpha()>0)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;e<t.node.childrenNodes.length;e++)t.node.childrenNodes[e].x=t.node.x,t.node.childrenNodes[e].y=t.node.y;\"snap\"!==t.arrangement&&R(t,i)}}));t.on(\".drag\",null).call(o)}function R(t,e){for(var r=[],n=[],i=0;i<t.graph.nodes.length;i++){var a=(t.graph.nodes[i].x0+t.graph.nodes[i].x1)/2,o=(t.graph.nodes[i].y0+t.graph.nodes[i].y1)/2;r.push(a/t.figure.width),n.push(o/t.figure.height)}b.call(\"_guiRestyle\",e,{\"node.x\":[r],\"node.y\":[n]},t.trace.index).then((function(){e._fullLayout._dragCover&&e._fullLayout._dragCover.remove()}))}function F(t){t.lastDraggedX=t.x0+t.dx/2,t.lastDraggedY=t.y0+t.dy/2}function B(t){return function(e){return e.node.originalX===t.node.originalX}}e.exports=function(t,e,r,n,i){var o=!1;h.ensureSingle(t._fullLayout._infolayer,\"g\",\"first-render\",(function(){o=!0}));var s=t._fullLayout._dragCover,m=r.filter((function(t){return y(t).trace.visible})).map(k.bind(null,n)),b=e.selectAll(\".\"+l.cn.sankey).data(m,g);b.exit().remove(),b.enter().append(\"g\").classed(l.cn.sankey,!0).style(\"box-sizing\",\"content-box\").style(\"position\",\"absolute\").style(\"left\",0).style(\"shape-rendering\",\"geometricPrecision\").style(\"pointer-events\",\"auto\").attr(\"transform\",O),b.each((function(e,r){t._fullData[r]._sankey=e;var n=\"bgsankey-\"+e.trace.uid+\"-\"+r;h.ensureSingle(t._fullLayout._draggers,\"rect\",n),t._fullData[r]._bgRect=a.select(\".\"+n),t._fullData[r]._bgRect.style(\"pointer-events\",\"all\").attr(\"width\",e.width).attr(\"height\",e.height).attr(\"x\",e.translateX).attr(\"y\",e.translateY).classed(\"bgsankey\",!0).style({fill:\"transparent\",\"stroke-width\":0})})),b.transition().ease(l.ease).duration(l.duration).attr(\"transform\",O);var _=b.selectAll(\".\"+l.cn.sankeyLinks).data(v,g);_.enter().append(\"g\").classed(l.cn.sankeyLinks,!0).style(\"fill\",\"none\");var L=_.selectAll(\".\"+l.cn.sankeyLink).data((function(t){return t.graph.links.filter((function(t){return t.value})).map(A.bind(null,t))}),g);L.enter().append(\"path\").classed(l.cn.sankeyLink,!0).call(z,b,i.linkEvents),L.style(\"stroke\",(function(t){return I(t)?u.tinyRGB(c(t.linkLineColor)):t.tinyColorHue})).style(\"stroke-opacity\",(function(t){return I(t)?u.opacity(t.linkLineColor):t.tinyColorAlpha})).style(\"fill\",(function(t){return t.tinyColorHue})).style(\"fill-opacity\",(function(t){return t.tinyColorAlpha})).style(\"stroke-width\",(function(t){return I(t)?t.linkLineWidth:1})).attr(\"d\",M()),L.style(\"opacity\",(function(){return t._context.staticPlot||o||s?1:0})).transition().ease(l.ease).duration(l.duration).style(\"opacity\",1),L.exit().transition().ease(l.ease).duration(l.duration).style(\"opacity\",0).remove();var C=b.selectAll(\".\"+l.cn.sankeyNodeSet).data(v,g);C.enter().append(\"g\").classed(l.cn.sankeyNodeSet,!0),C.style(\"cursor\",(function(t){switch(t.arrangement){case\"fixed\":return\"default\";case\"perpendicular\":return\"ns-resize\";default:return\"move\"}}));var R=C.selectAll(\".\"+l.cn.sankeyNode).data((function(t){var e=t.graph.nodes;return function(t){var e,r=[];for(e=0;e<t.length;e++)t[e].originalX=(t[e].x0+t[e].x1)/2,t[e].originalY=(t[e].y0+t[e].y1)/2,-1===r.indexOf(t[e].originalX)&&r.push(t[e].originalX);for(r.sort((function(t,e){return t-e})),e=0;e<t.length;e++)t[e].originalLayerIndex=r.indexOf(t[e].originalX),t[e].originalLayer=t[e].originalLayerIndex/(r.length-1)}(e),e.map(S.bind(null,t))}),g);R.enter().append(\"g\").classed(l.cn.sankeyNode,!0).call(E).style(\"opacity\",(function(e){return!t._context.staticPlot&&!o||e.partOfGroup?0:1})),R.call(z,b,i.nodeEvents).call(D,L,i,t),R.transition().ease(l.ease).duration(l.duration).call(E).style(\"opacity\",(function(t){return t.partOfGroup?0:1})),R.exit().transition().ease(l.ease).duration(l.duration).style(\"opacity\",0).remove();var F=R.selectAll(\".\"+l.cn.nodeRect).data(v);F.enter().append(\"rect\").classed(l.cn.nodeRect,!0).call(P),F.style(\"stroke-width\",(function(t){return t.nodeLineWidth})).style(\"stroke\",(function(t){return u.tinyRGB(c(t.nodeLineColor))})).style(\"stroke-opacity\",(function(t){return u.opacity(t.nodeLineColor)})).style(\"fill\",(function(t){return t.tinyColorHue})).style(\"fill-opacity\",(function(t){return t.tinyColorAlpha})),F.transition().ease(l.ease).duration(l.duration).call(P);var B=R.selectAll(\".\"+l.cn.nodeLabel).data(v);B.enter().append(\"text\").classed(l.cn.nodeLabel,!0).style(\"cursor\",\"default\"),B.attr(\"data-notex\",1).text((function(t){return t.node.label})).each((function(e){var r=a.select(this);f.font(r,e.textFont),x.convertToTspans(r,t)})).style(\"text-shadow\",x.makeTextShadow(t._fullLayout.paper_bgcolor)).attr(\"text-anchor\",(function(t){return t.horizontal&&t.left?\"end\":\"start\"})).attr(\"transform\",(function(t){var e=a.select(this),r=x.lineCount(e),n=t.textFont.size*((r-1)*T-w),i=t.nodeLineWidth/2+3,o=((t.horizontal?t.visibleHeight:t.visibleWidth)-n)/2;t.horizontal&&(t.left?i=-i:i+=t.visibleWidth);var s=t.horizontal?\"\":\"scale(-1,1)\"+d(90);return p(t.horizontal?i:o,t.horizontal?o:i)+s})),B.transition().ease(l.ease).duration(l.duration)}},{\"../../components/color\":366,\"../../components/drawing\":388,\"../../constants/alignment\":471,\"../../lib\":503,\"../../lib/gup\":500,\"../../lib/svg_text_utils\":529,\"../../registry\":638,\"./constants\":920,\"@plotly/d3\":58,\"@plotly/d3-sankey\":57,\"@plotly/d3-sankey-circular\":56,\"d3-force\":111,\"d3-interpolate\":116,tinycolor2:312}],925:[function(t,e,r){\"use strict\";e.exports=function(t,e){for(var r=[],n=t.cd[0].trace,i=n._sankey.graph.nodes,a=0;a<i.length;a++){var o=i[a];if(!o.partOfGroup){var s=[(o.x0+o.x1)/2,(o.y0+o.y1)/2];\"v\"===n.orientation&&s.reverse(),e&&e.contains(s,!1,a,t)&&r.push({pointNumber:o.pointNumber})}}return r}},{}],926:[function(t,e,r){\"use strict\";var n=t(\"../../lib\");e.exports=function(t,e){for(var r=0;r<t.length;r++)t[r].i=r;n.mergeArray(e.text,t,\"tx\"),n.mergeArray(e.texttemplate,t,\"txt\"),n.mergeArray(e.hovertext,t,\"htx\"),n.mergeArray(e.customdata,t,\"data\"),n.mergeArray(e.textposition,t,\"tp\"),e.textfont&&(n.mergeArrayCastPositive(e.textfont.size,t,\"ts\"),n.mergeArray(e.textfont.color,t,\"tc\"),n.mergeArray(e.textfont.family,t,\"tf\"));var i=e.marker;if(i){n.mergeArrayCastPositive(i.size,t,\"ms\"),n.mergeArrayCastPositive(i.opacity,t,\"mo\"),n.mergeArray(i.symbol,t,\"mx\"),n.mergeArray(i.color,t,\"mc\");var a=i.line;i.line&&(n.mergeArray(a.color,t,\"mlc\"),n.mergeArrayCastPositive(a.width,t,\"mlw\"));var o=i.gradient;o&&\"none\"!==o.type&&(n.mergeArray(o.type,t,\"mgt\"),n.mergeArray(o.color,t,\"mgc\"))}}},{\"../../lib\":503}],927:[function(t,e,r){\"use strict\";var n=t(\"../../plots/cartesian/axis_format_attributes\").axisHoverFormat,i=t(\"../../plots/template_attributes\").texttemplateAttrs,a=t(\"../../plots/template_attributes\").hovertemplateAttrs,o=t(\"../../components/colorscale/attributes\"),s=t(\"../../plots/font_attributes\"),l=t(\"../../components/drawing/attributes\").dash,c=t(\"../../components/drawing/attributes\").pattern,u=t(\"../../components/drawing\"),f=t(\"./constants\"),h=t(\"../../lib/extend\").extendFlat;e.exports={x:{valType:\"data_array\",editType:\"calc+clearAxisTypes\",anim:!0},x0:{valType:\"any\",dflt:0,editType:\"calc+clearAxisTypes\",anim:!0},dx:{valType:\"number\",dflt:1,editType:\"calc\",anim:!0},y:{valType:\"data_array\",editType:\"calc+clearAxisTypes\",anim:!0},y0:{valType:\"any\",dflt:0,editType:\"calc+clearAxisTypes\",anim:!0},dy:{valType:\"number\",dflt:1,editType:\"calc\",anim:!0},xperiod:{valType:\"any\",dflt:0,editType:\"calc\"},yperiod:{valType:\"any\",dflt:0,editType:\"calc\"},xperiod0:{valType:\"any\",editType:\"calc\"},yperiod0:{valType:\"any\",editType:\"calc\"},xperiodalignment:{valType:\"enumerated\",values:[\"start\",\"middle\",\"end\"],dflt:\"middle\",editType:\"calc\"},yperiodalignment:{valType:\"enumerated\",values:[\"start\",\"middle\",\"end\"],dflt:\"middle\",editType:\"calc\"},xhoverformat:n(\"x\"),yhoverformat:n(\"y\"),stackgroup:{valType:\"string\",dflt:\"\",editType:\"calc\"},orientation:{valType:\"enumerated\",values:[\"v\",\"h\"],editType:\"calc\"},groupnorm:{valType:\"enumerated\",values:[\"\",\"fraction\",\"percent\"],dflt:\"\",editType:\"calc\"},stackgaps:{valType:\"enumerated\",values:[\"infer zero\",\"interpolate\"],dflt:\"infer zero\",editType:\"calc\"},text:{valType:\"string\",dflt:\"\",arrayOk:!0,editType:\"calc\"},texttemplate:i({},{}),hovertext:{valType:\"string\",dflt:\"\",arrayOk:!0,editType:\"style\"},mode:{valType:\"flaglist\",flags:[\"lines\",\"markers\",\"text\"],extras:[\"none\"],editType:\"calc\"},hoveron:{valType:\"flaglist\",flags:[\"points\",\"fills\"],editType:\"style\"},hovertemplate:a({},{keys:f.eventDataKeys}),line:{color:{valType:\"color\",editType:\"style\",anim:!0},width:{valType:\"number\",min:0,dflt:2,editType:\"style\",anim:!0},shape:{valType:\"enumerated\",values:[\"linear\",\"spline\",\"hv\",\"vh\",\"hvh\",\"vhv\"],dflt:\"linear\",editType:\"plot\"},smoothing:{valType:\"number\",min:0,max:1.3,dflt:1,editType:\"plot\"},dash:h({},l,{editType:\"style\"}),simplify:{valType:\"boolean\",dflt:!0,editType:\"plot\"},editType:\"plot\"},connectgaps:{valType:\"boolean\",dflt:!1,editType:\"calc\"},cliponaxis:{valType:\"boolean\",dflt:!0,editType:\"plot\"},fill:{valType:\"enumerated\",values:[\"none\",\"tozeroy\",\"tozerox\",\"tonexty\",\"tonextx\",\"toself\",\"tonext\"],editType:\"calc\"},fillcolor:{valType:\"color\",editType:\"style\",anim:!0},fillpattern:c,marker:h({symbol:{valType:\"enumerated\",values:u.symbolList,dflt:\"circle\",arrayOk:!0,editType:\"style\"},opacity:{valType:\"number\",min:0,max:1,arrayOk:!0,editType:\"style\",anim:!0},size:{valType:\"number\",min:0,dflt:6,arrayOk:!0,editType:\"calc\",anim:!0},maxdisplayed:{valType:\"number\",min:0,dflt:0,editType:\"plot\"},sizeref:{valType:\"number\",dflt:1,editType:\"calc\"},sizemin:{valType:\"number\",min:0,dflt:0,editType:\"calc\"},sizemode:{valType:\"enumerated\",values:[\"diameter\",\"area\"],dflt:\"diameter\",editType:\"calc\"},line:h({width:{valType:\"number\",min:0,arrayOk:!0,editType:\"style\",anim:!0},editType:\"calc\"},o(\"marker.line\",{anim:!0})),gradient:{type:{valType:\"enumerated\",values:[\"radial\",\"horizontal\",\"vertical\",\"none\"],arrayOk:!0,dflt:\"none\",editType:\"calc\"},color:{valType:\"color\",arrayOk:!0,editType:\"calc\"},editType:\"calc\"},editType:\"calc\"},o(\"marker\",{anim:!0})),selected:{marker:{opacity:{valType:\"number\",min:0,max:1,editType:\"style\"},color:{valType:\"color\",editType:\"style\"},size:{valType:\"number\",min:0,editType:\"style\"},editType:\"style\"},textfont:{color:{valType:\"color\",editType:\"style\"},editType:\"style\"},editType:\"style\"},unselected:{marker:{opacity:{valType:\"number\",min:0,max:1,editType:\"style\"},color:{valType:\"color\",editType:\"style\"},size:{valType:\"number\",min:0,editType:\"style\"},editType:\"style\"},textfont:{color:{valType:\"color\",editType:\"style\"},editType:\"style\"},editType:\"style\"},textposition:{valType:\"enumerated\",values:[\"top left\",\"top center\",\"top right\",\"middle left\",\"middle center\",\"middle right\",\"bottom left\",\"bottom center\",\"bottom right\"],dflt:\"middle center\",arrayOk:!0,editType:\"calc\"},textfont:s({editType:\"calc\",colorEditType:\"style\",arrayOk:!0})}},{\"../../components/colorscale/attributes\":373,\"../../components/drawing\":388,\"../../components/drawing/attributes\":387,\"../../lib/extend\":493,\"../../plots/cartesian/axis_format_attributes\":557,\"../../plots/font_attributes\":585,\"../../plots/template_attributes\":633,\"./constants\":931}],928:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../../lib\"),a=t(\"../../plots/cartesian/axes\"),o=t(\"../../plots/cartesian/align_period\"),s=t(\"../../constants/numerical\").BADNUM,l=t(\"./subtypes\"),c=t(\"./colorscale_calc\"),u=t(\"./arrays_to_calcdata\"),f=t(\"./calc_selection\");function h(t,e,r,n,i,o,s){var c=e._length,u=t._fullLayout,f=r._id,h=n._id,p=u._firstScatter[m(e)]===e.uid,d=(g(e,u,r,n)||{}).orientation,v=e.fill;r._minDtick=0,n._minDtick=0;var y={padded:!0},x={padded:!0};s&&(y.ppad=x.ppad=s);var b=c<2||i[0]!==i[c-1]||o[0]!==o[c-1];b&&(\"tozerox\"===v||\"tonextx\"===v&&(p||\"h\"===d))?y.tozero=!0:(e.error_y||{}).visible||\"tonexty\"!==v&&\"tozeroy\"!==v&&(l.hasMarkers(e)||l.hasText(e))||(y.padded=!1,y.ppad=0),b&&(\"tozeroy\"===v||\"tonexty\"===v&&(p||\"v\"===d))?x.tozero=!0:\"tonextx\"!==v&&\"tozerox\"!==v||(x.padded=!1),f&&(e._extremes[f]=a.findExtremes(r,i,y)),h&&(e._extremes[h]=a.findExtremes(n,o,x))}function p(t,e){if(l.hasMarkers(t)){var r,n=t.marker,o=1.6*(t.marker.sizeref||1);if(r=\"area\"===t.marker.sizemode?function(t){return Math.max(Math.sqrt((t||0)/o),3)}:function(t){return Math.max((t||0)/o,3)},i.isArrayOrTypedArray(n.size)){var s={type:\"linear\"};a.setConvert(s);for(var c=s.makeCalcdata(t.marker,\"size\"),u=new Array(e),f=0;f<e;f++)u[f]=r(c[f]);return u}return r(n.size)}}function d(t,e){var r=m(e),n=t._firstScatter;n[r]||(n[r]=e.uid)}function m(t){var e=t.stackgroup;return t.xaxis+t.yaxis+t.type+(e?\"-\"+e:\"\")}function g(t,e,r,n){var i=t.stackgroup;if(i){var a=e._scatterStackOpts[r._id+n._id][i],o=\"v\"===a.orientation?n:r;return\"linear\"===o.type||\"log\"===o.type?a:void 0}}e.exports={calc:function(t,e){var r,l,m,v,y,x,b=t._fullLayout,_=a.getFromId(t,e.xaxis||\"x\"),w=a.getFromId(t,e.yaxis||\"y\"),T=_.makeCalcdata(e,\"x\"),k=w.makeCalcdata(e,\"y\"),A=o(e,_,\"x\",T),M=o(e,w,\"y\",k),S=A.vals,E=M.vals,L=e._length,C=new Array(L),P=e.ids,I=g(e,b,_,w),O=!1;d(b,e);var z,D=\"x\",R=\"y\";I?(i.pushUnique(I.traceIndices,e._expandedIndex),(r=\"v\"===I.orientation)?(R=\"s\",z=\"x\"):(D=\"s\",z=\"y\"),y=\"interpolate\"===I.stackgaps):h(t,e,_,w,S,E,p(e,L));var F=!!e.xperiodalignment,B=!!e.yperiodalignment;for(l=0;l<L;l++){var N=C[l]={},j=n(S[l]),U=n(E[l]);j&&U?(N[D]=S[l],N[R]=E[l],F&&(N.orig_x=T[l],N.xEnd=A.ends[l],N.xStart=A.starts[l]),B&&(N.orig_y=k[l],N.yEnd=M.ends[l],N.yStart=M.starts[l])):I&&(r?j:U)?(N[z]=r?S[l]:E[l],N.gap=!0,y?(N.s=s,O=!0):N.s=0):N[D]=N[R]=s,P&&(N.id=String(P[l]))}if(u(C,e),c(t,e),f(C,e),I){for(l=0;l<C.length;)C[l][z]===s?C.splice(l,1):l++;if(i.sort(C,(function(t,e){return t[z]-e[z]||t.i-e.i})),O){for(l=0;l<C.length-1&&C[l].gap;)l++;for((x=C[l].s)||(x=C[l].s=0),m=0;m<l;m++)C[m].s=x;for(v=C.length-1;v>l&&C[v].gap;)v--;for(x=C[v].s,m=C.length-1;m>v;m--)C[m].s=x;for(;l<v;)if(C[++l].gap){for(m=l+1;C[m].gap;)m++;for(var V=C[l-1][z],H=C[l-1].s,q=(C[m].s-H)/(C[m][z]-V);l<m;)C[l].s=H+(C[l][z]-V)*q,l++}}}return C},calcMarkerSize:p,calcAxisExpansion:h,setFirstScatter:d,getStackOpts:g}},{\"../../constants/numerical\":479,\"../../lib\":503,\"../../plots/cartesian/align_period\":551,\"../../plots/cartesian/axes\":554,\"./arrays_to_calcdata\":926,\"./calc_selection\":929,\"./colorscale_calc\":930,\"./subtypes\":952,\"fast-isnumeric\":190}],929:[function(t,e,r){\"use strict\";var n=t(\"../../lib\");e.exports=function(t,e){n.isArrayOrTypedArray(e.selectedpoints)&&n.tagSelected(t,e)}},{\"../../lib\":503}],930:[function(t,e,r){\"use strict\";var n=t(\"../../components/colorscale/helpers\").hasColorscale,i=t(\"../../components/colorscale/calc\"),a=t(\"./subtypes\");e.exports=function(t,e){a.hasLines(e)&&n(e,\"line\")&&i(t,e,{vals:e.line.color,containerStr:\"line\",cLetter:\"c\"}),a.hasMarkers(e)&&(n(e,\"marker\")&&i(t,e,{vals:e.marker.color,containerStr:\"marker\",cLetter:\"c\"}),n(e,\"marker.line\")&&i(t,e,{vals:e.marker.line.color,containerStr:\"marker.line\",cLetter:\"c\"}))}},{\"../../components/colorscale/calc\":374,\"../../components/colorscale/helpers\":377,\"./subtypes\":952}],931:[function(t,e,r){\"use strict\";e.exports={PTS_LINESONLY:20,minTolerance:.2,toleranceGrowth:10,maxScreensAway:20,eventDataKeys:[]}},{}],932:[function(t,e,r){\"use strict\";var n=t(\"./calc\");function i(t,e,r,n,i,a,o){i[n]=!0;var s={i:null,gap:!0,s:0};if(s[o]=r,t.splice(e,0,s),e&&r===t[e-1][o]){var l=t[e-1];s.s=l.s,s.i=l.i,s.gap=l.gap}else a&&(s.s=function(t,e,r,n){var i=t[e-1],a=t[e+1];return a?i?i.s+(a.s-i.s)*(r-i[n])/(a[n]-i[n]):a.s:i.s}(t,e,r,o));e||(t[0].t=t[1].t,t[0].trace=t[1].trace,delete t[1].t,delete t[1].trace)}e.exports=function(t,e){var r=e.xaxis,a=e.yaxis,o=r._id+a._id,s=t._fullLayout._scatterStackOpts[o];if(s){var l,c,u,f,h,p,d,m,g,v,y,x,b,_,w,T=t.calcdata;for(var k in s){var A=(v=s[k]).traceIndices;if(A.length){for(y=\"interpolate\"===v.stackgaps,x=v.groupnorm,\"v\"===v.orientation?(b=\"x\",_=\"y\"):(b=\"y\",_=\"x\"),w=new Array(A.length),l=0;l<w.length;l++)w[l]=!1;p=T[A[0]];var M=new Array(p.length);for(l=0;l<p.length;l++)M[l]=p[l][b];for(l=1;l<A.length;l++){for(h=T[A[l]],c=u=0;c<h.length;c++){for(d=h[c][b];d>M[u]&&u<M.length;u++)i(h,c,M[u],l,w,y,b),c++;if(d!==M[u]){for(f=0;f<l;f++)i(T[A[f]],u,d,f,w,y,b);M.splice(u,0,d)}u++}for(;u<M.length;u++)i(h,c,M[u],l,w,y,b),c++}var S=M.length;for(c=0;c<p.length;c++){for(m=p[c][_]=p[c].s,l=1;l<A.length;l++)(h=T[A[l]])[0].trace._rawLength=h[0].trace._length,h[0].trace._length=S,m+=h[c].s,h[c][_]=m;if(x)for(g=(\"fraction\"===x?m:m/100)||1,l=0;l<A.length;l++){var E=T[A[l]][c];E[_]/=g,E.sNorm=E.s/g}}for(l=0;l<A.length;l++){var L=(h=T[A[l]])[0].trace,C=n.calcMarkerSize(L,L._rawLength),P=Array.isArray(C);if(C&&w[l]||P){var I=C;for(C=new Array(S),c=0;c<S;c++)C[c]=h[c].gap?0:P?I[h[c].i]:I}var O=new Array(S),z=new Array(S);for(c=0;c<S;c++)O[c]=h[c].x,z[c]=h[c].y;n.calcAxisExpansion(t,L,r,a,O,z,C),h[0].t.orientation=v.orientation}}}}}},{\"./calc\":928}],933:[function(t,e,r){\"use strict\";e.exports=function(t){for(var e=0;e<t.length;e++){var r=t[e];if(\"scatter\"===r.type){var n=r.fill;if(\"none\"!==n&&\"toself\"!==n&&(r.opacity=void 0,\"tonexty\"===n||\"tonextx\"===n))for(var i=e-1;i>=0;i--){var a=t[i];if(\"scatter\"===a.type&&a.xaxis===r.xaxis&&a.yaxis===r.yaxis){a.opacity=void 0;break}}}}}},{}],934:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../registry\"),a=t(\"./attributes\"),o=t(\"./constants\"),s=t(\"./subtypes\"),l=t(\"./xy_defaults\"),c=t(\"./period_defaults\"),u=t(\"./stack_defaults\"),f=t(\"./marker_defaults\"),h=t(\"./line_defaults\"),p=t(\"./line_shape_defaults\"),d=t(\"./text_defaults\"),m=t(\"./fillcolor_defaults\"),g=t(\"../../lib\").coercePattern;e.exports=function(t,e,r,v){function y(r,i){return n.coerce(t,e,a,r,i)}var x=l(t,e,v,y);if(x||(e.visible=!1),e.visible){c(t,e,v,y),y(\"xhoverformat\"),y(\"yhoverformat\");var b=u(t,e,v,y),_=!b&&x<o.PTS_LINESONLY?\"lines+markers\":\"lines\";y(\"text\"),y(\"hovertext\"),y(\"mode\",_),s.hasLines(e)&&(h(t,e,r,v,y),p(t,e,y),y(\"connectgaps\"),y(\"line.simplify\")),s.hasMarkers(e)&&f(t,e,r,v,y,{gradient:!0}),s.hasText(e)&&(y(\"texttemplate\"),d(t,e,v,y));var w=[];(s.hasMarkers(e)||s.hasText(e))&&(y(\"cliponaxis\"),y(\"marker.maxdisplayed\"),w.push(\"points\")),y(\"fill\",b?b.fillDflt:\"none\"),\"none\"!==e.fill&&(m(t,e,r,y),s.hasLines(e)||p(t,e,y),g(y,\"fillpattern\",e.fillcolor,!1));var T=(e.line||{}).color,k=(e.marker||{}).color;\"tonext\"!==e.fill&&\"toself\"!==e.fill||w.push(\"fills\"),y(\"hoveron\",w.join(\"+\")||\"points\"),\"fills\"!==e.hoveron&&y(\"hovertemplate\");var A=i.getComponentMethod(\"errorbars\",\"supplyDefaults\");A(t,e,T||k||r,{axis:\"y\"}),A(t,e,T||k||r,{axis:\"x\",inherit:\"y\"}),n.coerceSelectionMarkerOpacity(e,y)}}},{\"../../lib\":503,\"../../registry\":638,\"./attributes\":927,\"./constants\":931,\"./fillcolor_defaults\":935,\"./line_defaults\":940,\"./line_shape_defaults\":942,\"./marker_defaults\":946,\"./period_defaults\":947,\"./stack_defaults\":950,\"./subtypes\":952,\"./text_defaults\":953,\"./xy_defaults\":954}],935:[function(t,e,r){\"use strict\";var n=t(\"../../components/color\"),i=t(\"../../lib\").isArrayOrTypedArray;e.exports=function(t,e,r,a){var o=!1;if(e.marker){var s=e.marker.color,l=(e.marker.line||{}).color;s&&!i(s)?o=s:l&&!i(l)&&(o=l)}a(\"fillcolor\",n.addOpacity((e.line||{}).color||o||r,.5))}},{\"../../components/color\":366,\"../../lib\":503}],936:[function(t,e,r){\"use strict\";var n=t(\"../../plots/cartesian/axes\");e.exports=function(t,e,r){var i={},a={_fullLayout:r},o=n.getFromTrace(a,e,\"x\"),s=n.getFromTrace(a,e,\"y\");return i.xLabel=n.tickText(o,o.c2l(t.x),!0).text,i.yLabel=n.tickText(s,s.c2l(t.y),!0).text,i}},{\"../../plots/cartesian/axes\":554}],937:[function(t,e,r){\"use strict\";var n=t(\"../../components/color\"),i=t(\"./subtypes\");e.exports=function(t,e){var r,a;if(\"lines\"===t.mode)return(r=t.line.color)&&n.opacity(r)?r:t.fillcolor;if(\"none\"===t.mode)return t.fill?t.fillcolor:\"\";var o=e.mcc||(t.marker||{}).color,s=e.mlcc||((t.marker||{}).line||{}).color;return(a=o&&n.opacity(o)?o:s&&n.opacity(s)&&(e.mlw||((t.marker||{}).line||{}).width)?s:\"\")?n.opacity(a)<.3?n.addOpacity(a,.3):a:(r=(t.line||{}).color)&&n.opacity(r)&&i.hasLines(t)&&t.line.width?r:t.fillcolor}},{\"../../components/color\":366,\"./subtypes\":952}],938:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../components/fx\"),a=t(\"../../registry\"),o=t(\"./get_trace_color\"),s=t(\"../../components/color\"),l=n.fillText;e.exports=function(t,e,r,c){var u=t.cd,f=u[0].trace,h=t.xa,p=t.ya,d=h.c2p(e),m=p.c2p(r),g=[d,m],v=f.hoveron||\"\",y=-1!==f.mode.indexOf(\"markers\")?3:.5,x=!!f.xperiodalignment,b=!!f.yperiodalignment;if(-1!==v.indexOf(\"points\")){var _=function(t){var e=Math.max(y,t.mrc||0),r=h.c2p(t.x)-d,n=p.c2p(t.y)-m;return Math.max(Math.sqrt(r*r+n*n)-e,1-y/e)},w=i.getDistanceFunction(c,(function(t){if(x){var e=h.c2p(t.xStart),r=h.c2p(t.xEnd);return d>=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<n?i*a/n:a-n+i}),(function(t){if(b){var e=p.c2p(t.yStart),r=p.c2p(t.yEnd);return m>=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 a<n?i*a/n:a-n+i}),_);if(i.getClosest(u,w,t),!1!==t.index){var T=u[t.index],k=h.c2p(T.x,!0),A=p.c2p(T.y,!0),M=T.mrc||1;t.index=T.i;var S=u[0].t.orientation,E=S&&(T.sNorm||T.s),L=\"h\"===S?E:void 0!==T.orig_x?T.orig_x:T.x,C=\"v\"===S?E:void 0!==T.orig_y?T.orig_y:T.y;return n.extendFlat(t,{color:o(f,T),x0:k-M,x1:k+M,xLabelVal:L,y0:A-M,y1:A+M,yLabelVal:C,spikeDistance:_(T),hovertemplate:f.hovertemplate}),l(T,f,t),a.getComponentMethod(\"errorbars\",\"hoverInfo\")(T,f,t),[t]}}if(-1!==v.indexOf(\"fills\")&&f._polygons){var P,I,O,z,D,R,F,B,N,j=f._polygons,U=[],V=!1,H=1/0,q=-1/0,G=1/0,Y=-1/0;for(P=0;P<j.length;P++)(O=j[P]).contains(g)&&(V=!V,U.push(O),G=Math.min(G,O.ymin),Y=Math.max(Y,O.ymax));if(V){var W=((G=Math.max(G,0))+(Y=Math.min(Y,p._length)))/2;for(P=0;P<U.length;P++)for(z=U[P].pts,I=1;I<z.length;I++)(B=z[I-1][1])>W!=(N=z[I][1])>=W&&(R=z[I-1][0],F=z[I][0],N-B&&(D=R+(F-R)*(W-B)/(N-B),H=Math.min(H,D),q=Math.max(q,D)));H=Math.max(H,0),q=Math.min(q,h._length);var X=s.defaultLine;return s.opacity(f.fillcolor)?X=f.fillcolor:s.opacity((f.line||{}).color)&&(X=f.line.color),n.extendFlat(t,{distance:t.maxHoverDistance,x0:H,x1:q,y0:W,y1:W,color:X,hovertemplate:!1}),delete t.index,f.text&&!Array.isArray(f.text)?t.text=String(f.text):t.text=f.name,[t]}}}},{\"../../components/color\":366,\"../../components/fx\":406,\"../../lib\":503,\"../../registry\":638,\"./get_trace_color\":937}],939:[function(t,e,r){\"use strict\";var n=t(\"./subtypes\");e.exports={hasLines:n.hasLines,hasMarkers:n.hasMarkers,hasText:n.hasText,isBubble:n.isBubble,attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\"),crossTraceDefaults:t(\"./cross_trace_defaults\"),calc:t(\"./calc\").calc,crossTraceCalc:t(\"./cross_trace_calc\"),arraysToCalcdata:t(\"./arrays_to_calcdata\"),plot:t(\"./plot\"),colorbar:t(\"./marker_colorbar\"),formatLabels:t(\"./format_labels\"),style:t(\"./style\").style,styleOnSelect:t(\"./style\").styleOnSelect,hoverPoints:t(\"./hover\"),selectPoints:t(\"./select\"),animatable:!0,moduleType:\"trace\",name:\"scatter\",basePlotModule:t(\"../../plots/cartesian\"),categories:[\"cartesian\",\"svg\",\"symbols\",\"errorBarsOK\",\"showLegend\",\"scatter-like\",\"zoomScale\"],meta:{}}},{\"../../plots/cartesian\":568,\"./arrays_to_calcdata\":926,\"./attributes\":927,\"./calc\":928,\"./cross_trace_calc\":932,\"./cross_trace_defaults\":933,\"./defaults\":934,\"./format_labels\":936,\"./hover\":938,\"./marker_colorbar\":945,\"./plot\":948,\"./select\":949,\"./style\":951,\"./subtypes\":952}],940:[function(t,e,r){\"use strict\";var n=t(\"../../lib\").isArrayOrTypedArray,i=t(\"../../components/colorscale/helpers\").hasColorscale,a=t(\"../../components/colorscale/defaults\");e.exports=function(t,e,r,o,s,l){var c=(t.marker||{}).color;(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\")}},{\"../../components/colorscale/defaults\":376,\"../../components/colorscale/helpers\":377,\"../../lib\":503}],941:[function(t,e,r){\"use strict\";var n=t(\"../../constants/numerical\"),i=n.BADNUM,a=n.LOG_CLIP,o=a+.5,s=a-.5,l=t(\"../../lib\"),c=l.segmentsIntersect,u=l.constrain,f=t(\"./constants\");e.exports=function(t,e){var r,n,a,h,p,d,m,g,v,y,x,b,_,w,T,k,A,M,S=e.xaxis,E=e.yaxis,L=\"log\"===S.type,C=\"log\"===E.type,P=S._length,I=E._length,O=e.connectGaps,z=e.baseTolerance,D=e.shape,R=\"linear\"===D,F=e.fill&&\"none\"!==e.fill,B=[],N=f.minTolerance,j=t.length,U=new Array(j),V=0;function H(r){var n=t[r];if(!n)return!1;var a=e.linearized?S.l2p(n.x):S.c2p(n.x),l=e.linearized?E.l2p(n.y):E.c2p(n.y);if(a===i){if(L&&(a=S.c2p(n.x,!0)),a===i)return!1;C&&l===i&&(a*=Math.abs(S._m*I*(S._m>0?o:s)/(E._m*P*(E._m>0?o:s)))),a*=1e3}if(l===i){if(C&&(l=E.c2p(n.y,!0)),l===i)return!1;l*=1e3}return[a,l]}function q(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&&c<l){var u=o*a-s*i;if(u*u<l)return!0}}function G(t,e){var r=t[0]/P,n=t[1]/I,i=Math.max(0,-r,r-1,-n,n-1);return i&&void 0!==A&&q(r,n,A,M)&&(i=0),i&&e&&q(r,n,e[0]/P,e[1]/I)&&(i=0),(1+f.toleranceGrowth*i)*z}function Y(t,e){var r=t[0]-e[0],n=t[1]-e[1];return Math.sqrt(r*r+n*n)}var W,X,Z,J,K,Q,$,tt=f.maxScreensAway,et=-P*tt,rt=P*(1+tt),nt=-I*tt,it=I*(1+tt),at=[[et,nt,rt,nt],[rt,nt,rt,it],[rt,it,et,it],[et,it,et,nt]];function ot(t){if(t[0]<et||t[0]>rt||t[1]<nt||t[1]>it)return[u(t[0],et,rt),u(t[1],nt,it)]}function st(t,e){return t[0]===e[0]&&(t[0]===et||t[0]===rt)||(t[1]===e[1]&&(t[1]===nt||t[1]===it)||void 0)}function lt(t,e,r){return function(n,i){var a=ot(n),o=ot(i),s=[];if(a&&o&&st(a,o))return s;a&&s.push(a),o&&s.push(o);var c=2*l.constrain((n[t]+i[t])/2,e,r)-((a||n)[t]+(o||i)[t]);c&&((a&&o?c>0==a[t]>o[t]?a:o:a||o)[t]+=c);return s}}function ct(t){var e=t[0],r=t[1],n=e===U[V-1][0],i=r===U[V-1][1];if(!n||!i)if(V>1){var a=e===U[V-2][0],o=r===U[V-2][1];n&&(e===et||e===rt)&&a?o?V--:U[V-1]=t:i&&(r===nt||r===it)&&o?a?V--:U[V-1]=t:U[V++]=t}else U[V++]=t}function ut(t){U[V-1][0]!==t[0]&&U[V-1][1]!==t[1]&&ct([Z,J]),ct(t),K=null,Z=J=0}function ft(t){if(A=t[0]/P,M=t[1]/I,W=t[0]<et?et:t[0]>rt?rt:0,X=t[1]<nt?nt:t[1]>it?it:0,W||X){if(V)if(K){var e=$(K,t);e.length>1&&(ut(e[0]),U[V++]=e[1])}else Q=$(U[V-1],t)[0],U[V++]=Q;else U[V++]=[W||t[0],X||t[1]];var r=U[V-1];W&&X&&(r[0]!==W||r[1]!==X)?(K&&(Z!==W&&J!==X?ct(Z&&J?(n=K,a=(i=t)[0]-n[0],o=(i[1]-n[1])/a,(n[1]*i[0]-i[1]*n[0])/a>0?[o>0?et:rt,it]:[o>0?rt:et,nt]):[Z||W,J||X]):Z&&J&&ct([Z,J])),ct([W,X])):Z-W&&J-X&&ct([W||Z,X||J]),K=t,Z=W,J=X}else K&&ut($(K,t)[0]),U[V++]=t;var n,i,a,o}for(\"linear\"===D||\"spline\"===D?$=function(t,e){for(var r=[],n=0,i=0;i<4;i++){var a=at[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&&Y(o,t)<Y(r[0],t)?r.unshift(o):r.push(o),n++)}return r}:\"hv\"===D||\"vh\"===D?$=function(t,e){var r=[],n=ot(t),i=ot(e);return n&&i&&st(n,i)||(n&&r.push(n),i&&r.push(i)),r}:\"hvh\"===D?$=lt(0,et,rt):\"vhv\"===D&&($=lt(1,nt,it)),r=0;r<j;r++)if(n=H(r)){for(V=0,K=null,ft(n),r++;r<j;r++){if(!(h=H(r))){if(O)continue;break}if(R&&e.simplify){var ht=H(r+1);if(y=Y(h,n),F&&(0===V||V===j-1)||!(y<G(h,ht)*N)){for(g=[(h[0]-n[0])/y,(h[1]-n[1])/y],p=n,x=y,b=w=T=0,m=!1,a=h,r++;r<t.length;r++){if(d=ht,ht=H(r+1),!d){if(O)continue;break}if(k=(v=[d[0]-n[0],d[1]-n[1]])[0]*g[1]-v[1]*g[0],w=Math.min(w,k),(T=Math.max(T,k))-w>G(d,ht))break;a=d,(_=v[0]*g[0]+v[1]*g[1])>x?(x=_,h=d,m=!1):_<b&&(b=_,p=d,m=!0)}if(m?(ft(h),a!==p&&ft(p)):(p!==n&&ft(p),a!==h&&ft(h)),ft(a),r>=t.length||!d)break;ft(d),n=d}}else ft(h)}K&&ct([Z||K[0],J||K[1]]),B.push(U.slice(0,V))}return B}},{\"../../constants/numerical\":479,\"../../lib\":503,\"./constants\":931}],942:[function(t,e,r){\"use strict\";e.exports=function(t,e,r){\"spline\"===r(\"line.shape\")&&r(\"line.smoothing\")}},{}],943:[function(t,e,r){\"use strict\";var n={tonextx:1,tonexty:1,tonext:1};e.exports=function(t,e,r){var i,a,o,s,l,c={},u=!1,f=-1,h=0,p=-1;for(a=0;a<r.length;a++)(o=(i=r[a][0].trace).stackgroup||\"\")?o in c?l=c[o]:(l=c[o]=h,h++):i.fill in n&&p>=0?l=p:(l=p=h,h++),l<f&&(u=!0),i._groupIndex=f=l;var d=r.slice();u&&d.sort((function(t,e){var r=t[0].trace,n=e[0].trace;return r._groupIndex-n._groupIndex||r.index-n.index}));var m={};for(a=0;a<d.length;a++)o=(i=d[a][0].trace).stackgroup||\"\",!0===i.visible?(i._nexttrace=null,i.fill in n&&(s=m[o],i._prevtrace=s||null,s&&(s._nexttrace=i)),i._ownfill=i.fill&&(\"tozero\"===i.fill.substr(0,6)||\"toself\"===i.fill||\"to\"===i.fill.substr(0,2)&&!i._prevtrace),m[o]=i):i._prevtrace=i._nexttrace=i._ownfill=null;return d}},{}],944:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\");e.exports=function(t,e){e||(e=2);var r=t.marker,i=r.sizeref||1,a=r.sizemin||0,o=\"area\"===r.sizemode?function(t){return Math.sqrt(t/i)}:function(t){return t/i};return function(t){var r=o(t/e);return n(r)&&r>0?Math.max(r,a):0}}},{\"fast-isnumeric\":190}],945:[function(t,e,r){\"use strict\";e.exports={container:\"marker\",min:\"cmin\",max:\"cmax\"}},{}],946:[function(t,e,r){\"use strict\";var n=t(\"../../components/color\"),i=t(\"../../components/colorscale/helpers\").hasColorscale,a=t(\"../../components/colorscale/defaults\"),o=t(\"./subtypes\");e.exports=function(t,e,r,s,l,c){var u=o.isBubble(t),f=(t.line||{}).color;(c=c||{},f&&(r=f),l(\"marker.symbol\"),l(\"marker.opacity\",u?.7:1),l(\"marker.size\"),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\",f&&!Array.isArray(f)&&e.marker.color!==f?f: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\"))}},{\"../../components/color\":366,\"../../components/colorscale/defaults\":376,\"../../components/colorscale/helpers\":377,\"./subtypes\":952}],947:[function(t,e,r){\"use strict\";var n=t(\"../../lib\").dateTick0,i=t(\"../../constants/numerical\").ONEWEEK;function a(t,e){return n(e,t%i==0?1:0)}e.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\"))}}},{\"../../constants/numerical\":479,\"../../lib\":503}],948:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../../registry\"),a=t(\"../../lib\"),o=a.ensureSingle,s=a.identity,l=t(\"../../components/drawing\"),c=t(\"./subtypes\"),u=t(\"./line_points\"),f=t(\"./link_traces\"),h=t(\"../../lib/polygon\").tester;function p(t,e,r,f,p,d,m){var g;!function(t,e,r,i,o){var s=r.xaxis,l=r.yaxis,u=n.extent(a.simpleMap(s.range,s.r2c)),f=n.extent(a.simpleMap(l.range,l.r2c)),h=i[0].trace;if(!c.hasMarkers(h))return;var p=h.marker.maxdisplayed;if(0===p)return;var d=i.filter((function(t){return t.x>=u[0]&&t.x<=u[1]&&t.y>=f[0]&&t.y<=f[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&&r<e&&g++}));var v=Math.round(g*m/3+Math.floor(g/3)*m/7.1);i.forEach((function(t){delete t.vis})),d.forEach((function(t,e){0===Math.round((e+v)%m)&&(t.vis=!0)}))}(0,e,r,f,p);var v=!!m&&m.duration>0;function y(t){return v?t.transition():t}var x=r.xaxis,b=r.yaxis,_=f[0].trace,w=_.line,T=n.select(d),k=o(T,\"g\",\"errorbars\"),A=o(T,\"g\",\"lines\"),M=o(T,\"g\",\"points\"),S=o(T,\"g\",\"text\");if(i.getComponentMethod(\"errorbars\",\"plot\")(t,k,r,m),!0===_.visible){var E,L;y(T).style(\"opacity\",_.opacity);var C=_.fill.charAt(_.fill.length-1);\"x\"!==C&&\"y\"!==C&&(C=\"\"),f[0][r.isRangePlot?\"nodeRangePlot3\":\"node3\"]=T;var P,I,O=\"\",z=[],D=_._prevtrace;D&&(O=D._prevRevpath||\"\",L=D._nextFill,z=D._polygons);var R,F,B,N,j,U,V,H=\"\",q=\"\",G=[],Y=a.noop;if(E=_._ownFill,c.hasLines(_)||\"none\"!==_.fill){for(L&&L.datum(f),-1!==[\"hv\",\"vh\",\"hvh\",\"vhv\"].indexOf(w.shape)?(R=l.steps(w.shape),F=l.steps(w.shape.split(\"\").reverse().join(\"\"))):R=F=\"spline\"===w.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),w.smoothing):l.smoothopen(t,w.smoothing)}:function(t){return\"M\"+t.join(\"L\")},B=function(t){return F(t.reverse())},G=u(f,{xaxis:x,yaxis:b,connectGaps:_.connectgaps,baseTolerance:Math.max(w.width||1,3)/4,shape:w.shape,simplify:w.simplify,fill:_.fill}),V=_._polygons=new Array(G.length),g=0;g<G.length;g++)_._polygons[g]=h(G[g]);G.length&&(N=G[0][0],U=(j=G[G.length-1])[j.length-1]),Y=function(t){return function(e){if(P=R(e),I=B(e),H?C?(H+=\"L\"+P.substr(1),q=I+\"L\"+q.substr(1)):(H+=\"Z\"+P,q=I+\"Z\"+q):(H=P,q=I),c.hasLines(_)&&e.length>1){var r=n.select(this);if(r.datum(f),t)y(r.style(\"opacity\",0).attr(\"d\",P).call(l.lineGroupStyle)).style(\"opacity\",1);else{var i=y(r);i.attr(\"d\",P),l.singleLineStyle(f,i)}}}}}var W=A.selectAll(\".js-line\").data(G);y(W.exit()).style(\"opacity\",0).remove(),W.each(Y(!1)),W.enter().append(\"path\").classed(\"js-line\",!0).style(\"vector-effect\",\"non-scaling-stroke\").call(l.lineGroupStyle).each(Y(!0)),l.setClipUrl(W,r.layerClipId,t),G.length?(E?(E.datum(f),N&&U&&(C?(\"y\"===C?N[1]=U[1]=b.c2p(0,!0):\"x\"===C&&(N[0]=U[0]=x.c2p(0,!0)),y(E).attr(\"d\",\"M\"+U+\"L\"+N+\"L\"+H.substr(1)).call(l.singleFillStyle,t)):y(E).attr(\"d\",H+\"Z\").call(l.singleFillStyle,t))):L&&(\"tonext\"===_.fill.substr(0,6)&&H&&O?(\"tonext\"===_.fill?y(L).attr(\"d\",H+\"Z\"+O+\"Z\").call(l.singleFillStyle,t):y(L).attr(\"d\",H+\"L\"+O.substr(1)+\"Z\").call(l.singleFillStyle,t),_._polygons=_._polygons.concat(z)):(Z(L),_._polygons=null)),_._prevRevpath=q,_._prevPolygons=V):(E?Z(E):L&&Z(L),_._polygons=_._prevRevpath=_._prevPolygons=null),M.datum(f),S.datum(f),function(e,i,a){var o,u=a[0].trace,f=c.hasMarkers(u),h=c.hasText(u),p=tt(u),d=et,m=et;if(f||h){var g=s,_=u.stackgroup,w=_&&\"infer zero\"===t._fullLayout._scatterStackOpts[x._id+b._id][_].stackgaps;u.marker.maxdisplayed||u._needsCull?g=w?K:J:_&&!w&&(g=Q),f&&(d=g),h&&(m=g)}var T,k=(o=e.selectAll(\"path.point\").data(d,p)).enter().append(\"path\").classed(\"point\",!0);v&&k.call(l.pointStyle,u,t).call(l.translatePoints,x,b).style(\"opacity\",0).transition().style(\"opacity\",1),o.order(),f&&(T=l.makePointStyleFns(u)),o.each((function(e){var i=n.select(this),a=y(i);l.translatePoint(e,a,x,b)?(l.singlePointStyle(e,a,u,T,t),r.layerClipId&&l.hideOutsideRangePoint(e,a,x,b,u.xcalendar,u.ycalendar),u.customdata&&i.classed(\"plotly-customdata\",null!==e.data&&void 0!==e.data)):a.remove()})),v?o.exit().transition().style(\"opacity\",0).remove():o.exit().remove(),(o=i.selectAll(\"g\").data(m,p)).enter().append(\"g\").classed(\"textpoint\",!0).append(\"text\"),o.order(),o.each((function(t){var e=n.select(this),i=y(e.select(\"text\"));l.translatePoint(t,i,x,b)?r.layerClipId&&l.hideOutsideRangePoint(t,e,x,b,u.xcalendar,u.ycalendar):e.remove()})),o.selectAll(\"text\").call(l.textPointStyle,u,t).each((function(t){var e=x.c2p(t.x),r=b.c2p(t.y);n.select(this).selectAll(\"tspan.line\").each((function(){y(n.select(this)).attr({x:e,y:r})}))})),o.exit().remove()}(M,S,f);var X=!1===_.cliponaxis?null:r.layerClipId;l.setClipUrl(M,X,t),l.setClipUrl(S,X,t)}function Z(t){y(t).attr(\"d\",\"M0,0Z\")}function J(t){return t.filter((function(t){return!t.gap&&t.vis}))}function K(t){return t.filter((function(t){return t.vis}))}function Q(t){return t.filter((function(t){return!t.gap}))}function $(t){return t.id}function tt(t){if(t.ids)return $}function et(){return!1}}e.exports=function(t,e,r,i,a,c){var u,h,d=!a,m=!!a&&a.duration>0,g=f(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&&(h=c()),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)}))}))):u.each((function(r,n){p(t,n,e,r,g,this,a)}));d&&u.exit().remove(),i.selectAll(\"path:not([d])\").remove()}},{\"../../components/drawing\":388,\"../../lib\":503,\"../../lib/polygon\":515,\"../../registry\":638,\"./line_points\":941,\"./link_traces\":943,\"./subtypes\":952,\"@plotly/d3\":58}],949:[function(t,e,r){\"use strict\";var n=t(\"./subtypes\");e.exports=function(t,e){var r,i,a,o,s=t.cd,l=t.xaxis,c=t.yaxis,u=[],f=s[0].trace;if(!n.hasMarkers(f)&&!n.hasText(f))return[];if(!1===e)for(r=0;r<s.length;r++)s[r].selected=0;else for(r=0;r<s.length;r++)i=s[r],a=l.c2p(i.x),o=c.c2p(i.y),null!==i.i&&e.contains([a,o],!1,r,t)?(u.push({pointNumber:i.i,x:l.c2d(i.x),y:c.c2d(i.y)}),i.selected=1):i.selected=0;return u}},{\"./subtypes\":952}],950:[function(t,e,r){\"use strict\";var n=[\"orientation\",\"groupnorm\",\"stackgaps\"];e.exports=function(t,e,r,i){var a=r._scatterStackOpts,o=i(\"stackgroup\");if(o){var s=e.xaxis+e.yaxis,l=a[s];l||(l=a[s]={});var c=l[o],u=!1;c?c.traces.push(e):(c=l[o]={traceIndices:[],traces:[e]},u=!0);for(var f={orientation:e.x&&!e.y?\"h\":\"v\"},h=0;h<n.length;h++){var p=n[h],d=p+\"Found\";if(!c[d]){var m=void 0!==t[p],g=\"orientation\"===p;if((m||u)&&(c[p]=i(p,f[p]),g&&(c.fillDflt=\"h\"===c[p]?\"tonextx\":\"tonexty\"),m&&(c[d]=!0,!u&&(delete c.traces[0][p],g))))for(var v=0;v<c.traces.length-1;v++){var y=c.traces[v];y._input.fill!==y.fill&&(y.fill=c.fillDflt)}}}return c}}},{}],951:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../../components/drawing\"),a=t(\"../../registry\");function o(t,e,r){i.pointStyle(t.selectAll(\"path.point\"),e,r)}function s(t,e,r){i.textPointStyle(t.selectAll(\"text\"),e,r)}e.exports={style:function(t){var e=n.select(t).selectAll(\"g.trace.scatter\");e.style(\"opacity\",(function(t){return t[0].trace.opacity})),e.selectAll(\"g.points\").each((function(e){o(n.select(this),e.trace||e[0].trace,t)})),e.selectAll(\"g.text\").each((function(e){s(n.select(this),e.trace||e[0].trace,t)})),e.selectAll(\"g.trace path.js-line\").call(i.lineGroupStyle),e.selectAll(\"g.trace path.js-fill\").call(i.fillGroupStyle,t),a.getComponentMethod(\"errorbars\",\"style\")(e)},stylePoints:o,styleText:s,styleOnSelect:function(t,e,r){var n=e[0].trace;n.selectedpoints?(i.selectedPointStyle(r.selectAll(\"path.point\"),n),i.selectedTextStyle(r.selectAll(\"text\"),n)):(o(r,n,t),s(r,n,t))}}},{\"../../components/drawing\":388,\"../../registry\":638,\"@plotly/d3\":58}],952:[function(t,e,r){\"use strict\";var n=t(\"../../lib\");e.exports={hasLines:function(t){return t.visible&&t.mode&&-1!==t.mode.indexOf(\"lines\")},hasMarkers:function(t){return t.visible&&(t.mode&&-1!==t.mode.indexOf(\"markers\")||\"splom\"===t.type)},hasText:function(t){return t.visible&&t.mode&&-1!==t.mode.indexOf(\"text\")},isBubble:function(t){return n.isPlainObject(t.marker)&&n.isArrayOrTypedArray(t.marker.size)}}},{\"../../lib\":503}],953:[function(t,e,r){\"use strict\";var n=t(\"../../lib\");e.exports=function(t,e,r,i,a){a=a||{},i(\"textposition\"),n.coerceFont(i,\"textfont\",r.font),a.noSelect||(i(\"selected.textfont.color\"),i(\"unselected.textfont.color\"))}},{\"../../lib\":503}],954:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../registry\");e.exports=function(t,e,r,a){var o,s=a(\"x\"),l=a(\"y\");if(i.getComponentMethod(\"calendars\",\"handleTraceDefaults\")(t,e,[\"x\",\"y\"],r),s){var c=n.minRowLength(s);l?o=Math.min(c,n.minRowLength(l)):(o=c,a(\"y0\"),a(\"dy\"))}else{if(!l)return 0;o=n.minRowLength(l),a(\"x0\"),a(\"dx\")}return e._length=o,o}},{\"../../lib\":503,\"../../registry\":638}],955:[function(t,e,r){\"use strict\";var n=t(\"../scatter/attributes\"),i=t(\"../../components/colorscale/attributes\"),a=t(\"../../plots/cartesian/axis_format_attributes\").axisHoverFormat,o=t(\"../../plots/template_attributes\").hovertemplateAttrs,s=t(\"../../plots/template_attributes\").texttemplateAttrs,l=t(\"../../plots/attributes\"),c=t(\"../../constants/gl3d_dashes\"),u=t(\"../../constants/gl3d_markers\"),f=t(\"../../lib/extend\").extendFlat,h=t(\"../../plot_api/edit_types\").overrideAll,p=t(\"../../lib/sort_object_keys\"),d=n.line,m=n.marker,g=m.line,v=f({width:d.width,dash:{valType:\"enumerated\",values:p(c),dflt:\"solid\"}},i(\"line\"));var y=e.exports=h({x:n.x,y:n.y,z:{valType:\"data_array\"},text:f({},n.text,{}),texttemplate:s({},{}),hovertext:f({},n.hovertext,{}),hovertemplate:o(),xhoverformat:a(\"x\"),yhoverformat:a(\"y\"),zhoverformat:a(\"z\"),mode:f({},n.mode,{dflt:\"lines+markers\"}),surfaceaxis:{valType:\"enumerated\",values:[-1,0,1,2],dflt:-1},surfacecolor:{valType:\"color\"},projection:{x:{show:{valType:\"boolean\",dflt:!1},opacity:{valType:\"number\",min:0,max:1,dflt:1},scale:{valType:\"number\",min:0,max:10,dflt:2/3}},y:{show:{valType:\"boolean\",dflt:!1},opacity:{valType:\"number\",min:0,max:1,dflt:1},scale:{valType:\"number\",min:0,max:10,dflt:2/3}},z:{show:{valType:\"boolean\",dflt:!1},opacity:{valType:\"number\",min:0,max:1,dflt:1},scale:{valType:\"number\",min:0,max:10,dflt:2/3}}},connectgaps:n.connectgaps,line:v,marker:f({symbol:{valType:\"enumerated\",values:p(u),dflt:\"circle\",arrayOk:!0},size:f({},m.size,{dflt:8}),sizeref:m.sizeref,sizemin:m.sizemin,sizemode:m.sizemode,opacity:f({},m.opacity,{arrayOk:!1}),colorbar:m.colorbar,line:f({width:f({},g.width,{arrayOk:!1})},i(\"marker.line\"))},i(\"marker\")),textposition:f({},n.textposition,{dflt:\"top center\"}),textfont:{color:n.textfont.color,size:n.textfont.size,family:f({},n.textfont.family,{arrayOk:!1})},opacity:l.opacity,hoverinfo:f({},l.hoverinfo)},\"calc\",\"nested\");y.x.editType=y.y.editType=y.z.editType=\"calc+clearAxisTypes\"},{\"../../components/colorscale/attributes\":373,\"../../constants/gl3d_dashes\":476,\"../../constants/gl3d_markers\":477,\"../../lib/extend\":493,\"../../lib/sort_object_keys\":526,\"../../plot_api/edit_types\":536,\"../../plots/attributes\":550,\"../../plots/cartesian/axis_format_attributes\":557,\"../../plots/template_attributes\":633,\"../scatter/attributes\":927}],956:[function(t,e,r){\"use strict\";var n=t(\"../scatter/arrays_to_calcdata\"),i=t(\"../scatter/colorscale_calc\");e.exports=function(t,e){var r=[{x:!1,y:!1,trace:e,t:{}}];return n(r,e),i(t,e),r}},{\"../scatter/arrays_to_calcdata\":926,\"../scatter/colorscale_calc\":930}],957:[function(t,e,r){\"use strict\";var n=t(\"../../registry\");function i(t,e,r,i){if(!e||!e.visible)return null;for(var a=n.getComponentMethod(\"errorbars\",\"makeComputeError\")(e),o=new Array(t.length),s=0;s<t.length;s++){var l=a(+t[s],s);if(\"log\"===i.type){var c=i.c2l(t[s]),u=t[s]-l[0],f=t[s]+l[1];if(o[s]=[(i.c2l(u,!0)-c)*r,(i.c2l(f,!0)-c)*r],u>0){var h=i.c2l(u);i._lowerLogErrorBound||(i._lowerLogErrorBound=h),i._lowerErrorBound=Math.min(i._lowerLogErrorBound,h)}}else o[s]=[-l[0]*r,l[1]*r]}return o}e.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<t.length;e++)if(t[e])return t[e].length;return 0}(n);if(0===a)return null;for(var o=new Array(a),s=0;s<a;s++){for(var l=[[0,0,0],[0,0,0]],c=0;c<3;c++)if(n[c])for(var u=0;u<2;u++)l[u][c]=n[c][s][u];o[s]=l}return o}},{\"../../registry\":638}],958:[function(t,e,r){\"use strict\";var n=t(\"../../../stackgl_modules\").gl_line3d,i=t(\"../../../stackgl_modules\").gl_scatter3d,a=t(\"../../../stackgl_modules\").gl_error3d,o=t(\"../../../stackgl_modules\").gl_mesh3d,s=t(\"../../../stackgl_modules\").delaunay_triangulate,l=t(\"../../lib\"),c=t(\"../../lib/str2rgbarray\"),u=t(\"../../lib/gl_format_color\").formatColor,f=t(\"../scatter/make_bubble_size_func\"),h=t(\"../../constants/gl3d_dashes\"),p=t(\"../../constants/gl3d_markers\"),d=t(\"../../plots/cartesian/axes\"),m=t(\"../../components/fx/helpers\").appendArrayPointValue,g=t(\"./calc_errors\");function v(t,e){this.scene=t,this.uid=e,this.linePlot=null,this.scatterPlot=null,this.errorBars=null,this.textMarkers=null,this.delaunayMesh=null,this.color=null,this.mode=\"\",this.dataPoints=[],this.axesBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.textLabels=null,this.data=null}var y=v.prototype;function x(t){return null==t?0:t.indexOf(\"left\")>-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<e;o++)void 0===t[o]?a[o]=n:a[o]=r(t[o],i)}else a=r(t,l.identity);return a}function k(t,e){var r,n,i,a,o,s,h=[],p=t.fullSceneLayout,v=t.dataScale,y=p.xaxis,k=p.yaxis,A=p.zaxis,M=e.marker,S=e.line,E=e.x||[],L=e.y||[],C=e.z||[],P=E.length,I=e.xcalendar,O=e.ycalendar,z=e.zcalendar;for(o=0;o<P;o++)r=y.d2l(E[o],0,I)*v[0],n=k.d2l(L[o],0,O)*v[1],i=A.d2l(C[o],0,z)*v[2],h[o]=[r,n,i];if(Array.isArray(e.text))s=e.text;else if(void 0!==e.text)for(s=new Array(P),o=0;o<P;o++)s[o]=e.text;function D(t,e){var r=p[t];return d.tickText(r,r.d2l(e),!0).text}var R=e.texttemplate;if(R){var F=t.fullLayout._d3locale,B=Array.isArray(R),N=B?Math.min(R.length,P):P,j=B?function(t){return R[t]}:function(){return R};for(s=new Array(N),o=0;o<N;o++){var U={x:E[o],y:L[o],z:C[o]},V={xLabel:D(\"xaxis\",E[o]),yLabel:D(\"yaxis\",L[o]),zLabel:D(\"zaxis\",C[o])},H={};m(H,e,o);var q=e._meta||{};s[o]=l.texttemplateString(j(o),V,F,H,U,q)}}if(a={position:h,mode:e.mode,text:s},\"line\"in e&&(a.lineColor=u(S,1,P),a.lineWidth=S.width,a.lineDashes=S.dash),\"marker\"in e){var G=f(e);a.scatterColor=u(M,1,P),a.scatterSize=T(M.size,P,_,20,G),a.scatterMarker=T(M.symbol,P,w,\"\\u25cf\"),a.scatterLineWidth=M.line.width,a.scatterLineColor=u(M.line,1,P),a.scatterAngle=0}\"textposition\"in e&&(a.textOffset=function(t){var e=[0,0];if(Array.isArray(t))for(var r=0;r<t.length;r++)e[r]=[0,0],t[r]&&(e[r][0]=x(t[r]),e[r][1]=b(t[r]));else e[0]=x(t),e[1]=b(t);return e}(e.textposition),a.textColor=u(e.textfont,1,P),a.textSize=T(e.textfont.size,P,l.identity,12),a.textFont=e.textfont.family,a.textAngle=0);var Y=[\"x\",\"y\",\"z\"];for(a.project=[!1,!1,!1],a.projectScale=[1,1,1],a.projectOpacity=[1,1,1],o=0;o<3;++o){var W=e.projection[Y[o]];(a.project[o]=W.show)&&(a.projectOpacity[o]=W.opacity,a.projectScale[o]=W.scale)}a.errorBounds=g(e,v,p);var X=function(t){for(var e=[0,0,0],r=[[0,0,0],[0,0,0],[0,0,0]],n=[1,1,1],i=0;i<3;i++){var a=t[i];a&&!1!==a.copy_zstyle&&!1!==t[2].visible&&(a=t[2]),a&&a.visible&&(e[i]=a.width/2,r[i]=c(a.color),n[i]=a.thickness)}return{capSize:e,color:r,lineWidth:n}}([e.error_x,e.error_y,e.error_z]);return a.errorColor=X.color,a.errorLineWidth=X.lineWidth,a.errorCapSize=X.capSize,a.delaunayAxis=e.surfaceaxis,a.delaunayColor=c(e.surfacecolor),a}function A(t){if(l.isArrayOrTypedArray(t)){var e=t[0];return l.isArrayOrTypedArray(e)&&(t=e),\"rgb(\"+t.slice(0,3).map((function(t){return Math.round(255*t)}))+\")\"}return null}function M(t){return l.isArrayOrTypedArray(t)?4===t.length&&\"number\"==typeof t[0]?A(t):t.map(A):null}y.handlePick=function(t){if(t.object&&(t.object===this.linePlot||t.object===this.delaunayMesh||t.object===this.textMarkers||t.object===this.scatterPlot)){var e=t.index=t.data.index;return t.object.highlight&&t.object.highlight(null),this.scatterPlot&&(t.object=this.scatterPlot,this.scatterPlot.highlight(t.data)),t.textLabel=\"\",this.textLabels&&(Array.isArray(this.textLabels)?(this.textLabels[e]||0===this.textLabels[e])&&(t.textLabel=this.textLabels[e]):t.textLabel=this.textLabels),t.traceCoordinate=[this.data.x[e],this.data.y[e],this.data.z[e]],!0}},y.update=function(t){var e,r,l,c,u=this.scene.glplot.gl,f=h.solid;this.data=t;var p=k(this.scene,t);\"mode\"in p&&(this.mode=p.mode),\"lineDashes\"in p&&p.lineDashes in h&&(f=h[p.lineDashes]),this.color=M(p.scatterColor)||M(p.lineColor),this.dataPoints=p.position,e={gl:this.scene.glplot.gl,position:p.position,color:p.lineColor,lineWidth:p.lineWidth||1,dashes:f[0],dashScale:f[1],opacity:t.opacity,connectGaps:t.connectgaps},-1!==this.mode.indexOf(\"lines\")?this.linePlot?this.linePlot.update(e):(this.linePlot=n(e),this.linePlot._trace=this,this.scene.glplot.add(this.linePlot)):this.linePlot&&(this.scene.glplot.remove(this.linePlot),this.linePlot.dispose(),this.linePlot=null);var d=t.opacity;if(t.marker&&t.marker.opacity&&(d*=t.marker.opacity),r={gl:this.scene.glplot.gl,position:p.position,color:p.scatterColor,size:p.scatterSize,glyph:p.scatterMarker,opacity:d,orthographic:!0,lineWidth:p.scatterLineWidth,lineColor:p.scatterLineColor,project:p.project,projectScale:p.projectScale,projectOpacity:p.projectOpacity},-1!==this.mode.indexOf(\"markers\")?this.scatterPlot?this.scatterPlot.update(r):(this.scatterPlot=i(r),this.scatterPlot._trace=this,this.scatterPlot.highlightScale=1,this.scene.glplot.add(this.scatterPlot)):this.scatterPlot&&(this.scene.glplot.remove(this.scatterPlot),this.scatterPlot.dispose(),this.scatterPlot=null),c={gl:this.scene.glplot.gl,position:p.position,glyph:p.text,color:p.textColor,size:p.textSize,angle:p.textAngle,alignment:p.textOffset,font:p.textFont,orthographic:!0,lineWidth:0,project:!1,opacity:t.opacity},this.textLabels=t.hovertext||t.text,-1!==this.mode.indexOf(\"text\")?this.textMarkers?this.textMarkers.update(c):(this.textMarkers=i(c),this.textMarkers._trace=this,this.textMarkers.highlightScale=1,this.scene.glplot.add(this.textMarkers)):this.textMarkers&&(this.scene.glplot.remove(this.textMarkers),this.textMarkers.dispose(),this.textMarkers=null),l={gl:this.scene.glplot.gl,position:p.position,color:p.errorColor,error:p.errorBounds,lineWidth:p.errorLineWidth,capSize:p.errorCapSize,opacity:t.opacity},this.errorBars?p.errorBounds?this.errorBars.update(l):(this.scene.glplot.remove(this.errorBars),this.errorBars.dispose(),this.errorBars=null):p.errorBounds&&(this.errorBars=a(l),this.errorBars._trace=this,this.scene.glplot.add(this.errorBars)),p.delaunayAxis>=0){var m=function(t,e,r){var n,i=(r+1)%3,a=(r+2)%3,o=[],l=[];for(n=0;n<t.length;++n){var c=t[n];!isNaN(c[i])&&isFinite(c[i])&&!isNaN(c[a])&&isFinite(c[a])&&(o.push([c[i],c[a]]),l.push(n))}var u=s(o);for(n=0;n<u.length;++n)for(var f=u[n],h=0;h<f.length;++h)f[h]=l[f[h]];return{positions:t,cells:u,meshColor:e}}(p.position,p.delaunayColor,p.delaunayAxis);m.opacity=t.opacity,this.delaunayMesh?this.delaunayMesh.update(m):(m.gl=u,this.delaunayMesh=o(m),this.delaunayMesh._trace=this,this.scene.glplot.add(this.delaunayMesh))}else this.delaunayMesh&&(this.scene.glplot.remove(this.delaunayMesh),this.delaunayMesh.dispose(),this.delaunayMesh=null)},y.dispose=function(){this.linePlot&&(this.scene.glplot.remove(this.linePlot),this.linePlot.dispose()),this.scatterPlot&&(this.scene.glplot.remove(this.scatterPlot),this.scatterPlot.dispose()),this.errorBars&&(this.scene.glplot.remove(this.errorBars),this.errorBars.dispose()),this.textMarkers&&(this.scene.glplot.remove(this.textMarkers),this.textMarkers.dispose()),this.delaunayMesh&&(this.scene.glplot.remove(this.delaunayMesh),this.delaunayMesh.dispose())},e.exports=function(t,e){var r=new v(t,e.uid);return r.update(e),r}},{\"../../../stackgl_modules\":1124,\"../../components/fx/helpers\":402,\"../../constants/gl3d_dashes\":476,\"../../constants/gl3d_markers\":477,\"../../lib\":503,\"../../lib/gl_format_color\":499,\"../../lib/str2rgbarray\":528,\"../../plots/cartesian/axes\":554,\"../scatter/make_bubble_size_func\":944,\"./calc_errors\":957}],959:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),i=t(\"../../lib\"),a=t(\"../scatter/subtypes\"),o=t(\"../scatter/marker_defaults\"),s=t(\"../scatter/line_defaults\"),l=t(\"../scatter/text_defaults\"),c=t(\"./attributes\");e.exports=function(t,e,r,u){function f(r,n){return i.coerce(t,e,c,r,n)}if(function(t,e,r,i){var a=0,o=r(\"x\"),s=r(\"y\"),l=r(\"z\");n.getComponentMethod(\"calendars\",\"handleTraceDefaults\")(t,e,[\"x\",\"y\",\"z\"],i),o&&s&&l&&(a=Math.min(o.length,s.length,l.length),e._length=e._xlength=e._ylength=e._zlength=a);return a}(t,e,f,u)){f(\"text\"),f(\"hovertext\"),f(\"hovertemplate\"),f(\"xhoverformat\"),f(\"yhoverformat\"),f(\"zhoverformat\"),f(\"mode\"),a.hasLines(e)&&(f(\"connectgaps\"),s(t,e,r,u,f)),a.hasMarkers(e)&&o(t,e,r,u,f,{noSelect:!0}),a.hasText(e)&&(f(\"texttemplate\"),l(t,e,u,f,{noSelect:!0}));var h=(e.line||{}).color,p=(e.marker||{}).color;f(\"surfaceaxis\")>=0&&f(\"surfacecolor\",h||p);for(var d=[\"x\",\"y\",\"z\"],m=0;m<3;++m){var g=\"projection.\"+d[m];f(g+\".show\")&&(f(g+\".opacity\"),f(g+\".scale\"))}var v=n.getComponentMethod(\"errorbars\",\"supplyDefaults\");v(t,e,h||p||r,{axis:\"z\"}),v(t,e,h||p||r,{axis:\"y\",inherit:\"z\"}),v(t,e,h||p||r,{axis:\"x\",inherit:\"z\"})}else e.visible=!1}},{\"../../lib\":503,\"../../registry\":638,\"../scatter/line_defaults\":940,\"../scatter/marker_defaults\":946,\"../scatter/subtypes\":952,\"../scatter/text_defaults\":953,\"./attributes\":955}],960:[function(t,e,r){\"use strict\";e.exports={plot:t(\"./convert\"),attributes:t(\"./attributes\"),markerSymbols:t(\"../../constants/gl3d_markers\"),supplyDefaults:t(\"./defaults\"),colorbar:[{container:\"marker\",min:\"cmin\",max:\"cmax\"},{container:\"line\",min:\"cmin\",max:\"cmax\"}],calc:t(\"./calc\"),moduleType:\"trace\",name:\"scatter3d\",basePlotModule:t(\"../../plots/gl3d\"),categories:[\"gl3d\",\"symbols\",\"showLegend\",\"scatter-like\"],meta:{}}},{\"../../constants/gl3d_markers\":477,\"../../plots/gl3d\":598,\"./attributes\":955,\"./calc\":956,\"./convert\":958,\"./defaults\":959}],961:[function(t,e,r){\"use strict\";var n=t(\"../scatter/attributes\"),i=t(\"../../plots/attributes\"),a=t(\"../../plots/template_attributes\").hovertemplateAttrs,o=t(\"../../plots/template_attributes\").texttemplateAttrs,s=t(\"../../components/colorscale/attributes\"),l=t(\"../../lib/extend\").extendFlat,c=n.marker,u=n.line,f=c.line;e.exports={carpet:{valType:\"string\",editType:\"calc\"},a:{valType:\"data_array\",editType:\"calc\"},b:{valType:\"data_array\",editType:\"calc\"},mode:l({},n.mode,{dflt:\"markers\"}),text:l({},n.text,{}),texttemplate:o({editType:\"plot\"},{keys:[\"a\",\"b\",\"text\"]}),hovertext:l({},n.hovertext,{}),line:{color:u.color,width:u.width,dash:u.dash,shape:l({},u.shape,{values:[\"linear\",\"spline\"]}),smoothing:u.smoothing,editType:\"calc\"},connectgaps:n.connectgaps,fill:l({},n.fill,{values:[\"none\",\"toself\",\"tonext\"],dflt:\"none\"}),fillcolor:n.fillcolor,marker:l({symbol:c.symbol,opacity:c.opacity,maxdisplayed:c.maxdisplayed,size:c.size,sizeref:c.sizeref,sizemin:c.sizemin,sizemode:c.sizemode,line:l({width:f.width,editType:\"calc\"},s(\"marker.line\")),gradient:c.gradient,editType:\"calc\"},s(\"marker\")),textfont:n.textfont,textposition:n.textposition,selected:n.selected,unselected:n.unselected,hoverinfo:l({},i.hoverinfo,{flags:[\"a\",\"b\",\"text\",\"name\"]}),hoveron:n.hoveron,hovertemplate:a()}},{\"../../components/colorscale/attributes\":373,\"../../lib/extend\":493,\"../../plots/attributes\":550,\"../../plots/template_attributes\":633,\"../scatter/attributes\":927}],962:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../scatter/colorscale_calc\"),a=t(\"../scatter/arrays_to_calcdata\"),o=t(\"../scatter/calc_selection\"),s=t(\"../scatter/calc\").calcMarkerSize,l=t(\"../carpet/lookup_carpetid\");e.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,f,h=e._length,p=new Array(h),d=!1;for(c=0;c<h;c++)if(u=e.a[c],f=e.b[c],n(u)&&n(f)){var m=r.ab2xy(+u,+f,!0),g=r.isVisible(+u,+f);g||(d=!0),p[c]={x:m[0],y:m[1],a:u,b:f,vis:g}}else p[c]={x:!1,y:!1};return e._needsCull=d,p[0].carpet=r,p[0].trace=e,s(e,h),i(t,e),a(p,e),o(p,e),p}}},{\"../carpet/lookup_carpetid\":708,\"../scatter/arrays_to_calcdata\":926,\"../scatter/calc\":928,\"../scatter/calc_selection\":929,\"../scatter/colorscale_calc\":930,\"fast-isnumeric\":190}],963:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../scatter/constants\"),a=t(\"../scatter/subtypes\"),o=t(\"../scatter/marker_defaults\"),s=t(\"../scatter/line_defaults\"),l=t(\"../scatter/line_shape_defaults\"),c=t(\"../scatter/text_defaults\"),u=t(\"../scatter/fillcolor_defaults\"),f=t(\"./attributes\");e.exports=function(t,e,r,h){function p(r,i){return n.coerce(t,e,f,r,i)}p(\"carpet\"),e.xaxis=\"x\",e.yaxis=\"y\";var d=p(\"a\"),m=p(\"b\"),g=Math.min(d.length,m.length);if(g){e._length=g,p(\"text\"),p(\"texttemplate\"),p(\"hovertext\"),p(\"mode\",g<i.PTS_LINESONLY?\"lines+markers\":\"lines\"),a.hasLines(e)&&(s(t,e,r,h,p),l(t,e,p),p(\"connectgaps\")),a.hasMarkers(e)&&o(t,e,r,h,p,{gradient:!0}),a.hasText(e)&&c(t,e,h,p);var v=[];(a.hasMarkers(e)||a.hasText(e))&&(p(\"marker.maxdisplayed\"),v.push(\"points\")),p(\"fill\"),\"none\"!==e.fill&&(u(t,e,r,p),a.hasLines(e)||l(t,e,p)),\"tonext\"!==e.fill&&\"toself\"!==e.fill||v.push(\"fills\"),\"fills\"!==p(\"hoveron\",v.join(\"+\")||\"points\")&&p(\"hovertemplate\"),n.coerceSelectionMarkerOpacity(e,p)}else e.visible=!1}},{\"../../lib\":503,\"../scatter/constants\":931,\"../scatter/fillcolor_defaults\":935,\"../scatter/line_defaults\":940,\"../scatter/line_shape_defaults\":942,\"../scatter/marker_defaults\":946,\"../scatter/subtypes\":952,\"../scatter/text_defaults\":953,\"./attributes\":961}],964:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,n,i){var a=n[i];return t.a=a.a,t.b=a.b,t.y=a.y,t}},{}],965:[function(t,e,r){\"use strict\";e.exports=function(t,e){var r={},n=e._carpet,i=n.ab2ij([t.a,t.b]),a=Math.floor(i[0]),o=i[0]-a,s=Math.floor(i[1]),l=i[1]-s,c=n.evalxy([],a,s,o,l);return r.yLabel=c[1].toFixed(3),r}},{}],966:[function(t,e,r){\"use strict\";var n=t(\"../scatter/hover\"),i=t(\"../../lib\").fillText;e.exports=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){var l=1-s.y0/t.ya._length,c=t.xa._length,u=c*l/2,f=c-u;return s.x0=Math.max(Math.min(s.x0,f),u),s.x1=Math.max(Math.min(s.x1,f),u),o}var h=s.cd[s.index];s.a=h.a,s.b=h.b,s.xLabelVal=void 0,s.yLabelVal=void 0;var p=s.trace,d=p._carpet,m=p._module.formatLabels(h,p);s.yLabel=m.yLabel,delete s.text;var g=[];if(!p.hovertemplate){var v=(h.hi||p.hoverinfo).split(\"+\");-1!==v.indexOf(\"all\")&&(v=[\"a\",\"b\",\"text\"]),-1!==v.indexOf(\"a\")&&y(d.aaxis,h.a),-1!==v.indexOf(\"b\")&&y(d.baxis,h.b),g.push(\"y: \"+s.yLabel),-1!==v.indexOf(\"text\")&&i(h,p,g),s.extraText=g.join(\"<br>\")}return o}function y(t,e){var r;r=t.labelprefix&&t.labelprefix.length>0?t.labelprefix.replace(/ = $/,\"\"):t._hovertitle,g.push(r+\": \"+e.toFixed(3)+t.labelsuffix)}}},{\"../../lib\":503,\"../scatter/hover\":938}],967:[function(t,e,r){\"use strict\";e.exports={attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\"),colorbar:t(\"../scatter/marker_colorbar\"),formatLabels:t(\"./format_labels\"),calc:t(\"./calc\"),plot:t(\"./plot\"),style:t(\"../scatter/style\").style,styleOnSelect:t(\"../scatter/style\").styleOnSelect,hoverPoints:t(\"./hover\"),selectPoints:t(\"../scatter/select\"),eventData:t(\"./event_data\"),moduleType:\"trace\",name:\"scattercarpet\",basePlotModule:t(\"../../plots/cartesian\"),categories:[\"svg\",\"carpet\",\"symbols\",\"showLegend\",\"carpetDependent\",\"zoomScale\"],meta:{}}},{\"../../plots/cartesian\":568,\"../scatter/marker_colorbar\":945,\"../scatter/select\":949,\"../scatter/style\":951,\"./attributes\":961,\"./calc\":962,\"./defaults\":963,\"./event_data\":964,\"./format_labels\":965,\"./hover\":966,\"./plot\":968}],968:[function(t,e,r){\"use strict\";var n=t(\"../scatter/plot\"),i=t(\"../../plots/cartesian/axes\"),a=t(\"../../components/drawing\");e.exports=function(t,e,r,o){var s,l,c,u=r[0][0].carpet,f={xaxis:i.getFromId(t,u.xaxis||\"x\"),yaxis:i.getFromId(t,u.yaxis||\"y\"),plot:e.plot};for(n(t,f,r,o),s=0;s<r.length;s++)l=r[s][0].trace,c=o.selectAll(\"g.trace\"+l.uid+\" .js-line\"),a.setClipUrl(c,r[s][0].carpet._clipPathId,t)}},{\"../../components/drawing\":388,\"../../plots/cartesian/axes\":554,\"../scatter/plot\":948}],969:[function(t,e,r){\"use strict\";var n=t(\"../../plots/template_attributes\").hovertemplateAttrs,i=t(\"../../plots/template_attributes\").texttemplateAttrs,a=t(\"../scatter/attributes\"),o=t(\"../../plots/attributes\"),s=t(\"../../components/colorscale/attributes\"),l=t(\"../../components/drawing/attributes\").dash,c=t(\"../../lib/extend\").extendFlat,u=t(\"../../plot_api/edit_types\").overrideAll,f=a.marker,h=a.line,p=f.line;e.exports=u({lon:{valType:\"data_array\"},lat:{valType:\"data_array\"},locations:{valType:\"data_array\"},locationmode:{valType:\"enumerated\",values:[\"ISO-3\",\"USA-states\",\"country names\",\"geojson-id\"],dflt:\"ISO-3\"},geojson:{valType:\"any\",editType:\"calc\"},featureidkey:{valType:\"string\",editType:\"calc\",dflt:\"id\"},mode:c({},a.mode,{dflt:\"markers\"}),text:c({},a.text,{}),texttemplate:i({editType:\"plot\"},{keys:[\"lat\",\"lon\",\"location\",\"text\"]}),hovertext:c({},a.hovertext,{}),textfont:a.textfont,textposition:a.textposition,line:{color:h.color,width:h.width,dash:l},connectgaps:a.connectgaps,marker:c({symbol:f.symbol,opacity:f.opacity,size:f.size,sizeref:f.sizeref,sizemin:f.sizemin,sizemode:f.sizemode,colorbar:f.colorbar,line:c({width:p.width},s(\"marker.line\")),gradient:f.gradient},s(\"marker\")),fill:{valType:\"enumerated\",values:[\"none\",\"toself\"],dflt:\"none\"},fillcolor:a.fillcolor,selected:a.selected,unselected:a.unselected,hoverinfo:c({},o.hoverinfo,{flags:[\"lon\",\"lat\",\"location\",\"text\",\"name\"]}),hovertemplate:n()},\"calc\",\"nested\")},{\"../../components/colorscale/attributes\":373,\"../../components/drawing/attributes\":387,\"../../lib/extend\":493,\"../../plot_api/edit_types\":536,\"../../plots/attributes\":550,\"../../plots/template_attributes\":633,\"../scatter/attributes\":927}],970:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../../constants/numerical\").BADNUM,a=t(\"../scatter/colorscale_calc\"),o=t(\"../scatter/arrays_to_calcdata\"),s=t(\"../scatter/calc_selection\"),l=t(\"../../lib\")._;function c(t){return t&&\"string\"==typeof t}e.exports=function(t,e){var r,u=Array.isArray(e.locations),f=u?e.locations.length:e._length,h=new Array(f);r=e.geojson?function(t){return c(t)||n(t)}:c;for(var p=0;p<f;p++){var d=h[p]={};if(u){var m=e.locations[p];d.loc=r(m)?m:null}else{var g=e.lon[p],v=e.lat[p];n(g)&&n(v)?d.lonlat=[+g,+v]:d.lonlat=[i,i]}}return o(h,e),a(t,e),s(h,e),f&&(h[0].t={labels:{lat:l(t,\"lat:\")+\" \",lon:l(t,\"lon:\")+\" \"}}),h}},{\"../../constants/numerical\":479,\"../../lib\":503,\"../scatter/arrays_to_calcdata\":926,\"../scatter/calc_selection\":929,\"../scatter/colorscale_calc\":930,\"fast-isnumeric\":190}],971:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../scatter/subtypes\"),a=t(\"../scatter/marker_defaults\"),o=t(\"../scatter/line_defaults\"),s=t(\"../scatter/text_defaults\"),l=t(\"../scatter/fillcolor_defaults\"),c=t(\"./attributes\");e.exports=function(t,e,r,u){function f(r,i){return n.coerce(t,e,c,r,i)}var h,p=f(\"locations\");if(p&&p.length){var d,m=f(\"geojson\");(\"string\"==typeof m&&\"\"!==m||n.isPlainObject(m))&&(d=\"geojson-id\"),\"geojson-id\"===f(\"locationmode\",d)&&f(\"featureidkey\"),h=p.length}else{var g=f(\"lon\")||[],v=f(\"lat\")||[];h=Math.min(g.length,v.length)}h?(e._length=h,f(\"text\"),f(\"hovertext\"),f(\"hovertemplate\"),f(\"mode\"),i.hasLines(e)&&(o(t,e,r,u,f),f(\"connectgaps\")),i.hasMarkers(e)&&a(t,e,r,u,f,{gradient:!0}),i.hasText(e)&&(f(\"texttemplate\"),s(t,e,u,f)),f(\"fill\"),\"none\"!==e.fill&&l(t,e,r,f),n.coerceSelectionMarkerOpacity(e,f)):e.visible=!1}},{\"../../lib\":503,\"../scatter/fillcolor_defaults\":935,\"../scatter/line_defaults\":940,\"../scatter/marker_defaults\":946,\"../scatter/subtypes\":952,\"../scatter/text_defaults\":953,\"./attributes\":969}],972:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,n,i){t.lon=e.lon,t.lat=e.lat,t.location=e.loc?e.loc:null;var a=n[i];return a.fIn&&a.fIn.properties&&(t.properties=a.fIn.properties),t}},{}],973:[function(t,e,r){\"use strict\";var n=t(\"../../plots/cartesian/axes\");e.exports=function(t,e,r){var i={},a=r[e.geo]._subplot.mockAxis,o=t.lonlat;return i.lonLabel=n.tickText(a,a.c2l(o[0]),!0).text,i.latLabel=n.tickText(a,a.c2l(o[1]),!0).text,i}},{\"../../plots/cartesian/axes\":554}],974:[function(t,e,r){\"use strict\";var n=t(\"../../components/fx\"),i=t(\"../../constants/numerical\").BADNUM,a=t(\"../scatter/get_trace_color\"),o=t(\"../../lib\").fillText,s=t(\"./attributes\");e.exports=function(t,e,r){var l=t.cd,c=l[0].trace,u=t.xa,f=t.ya,h=t.subplot,p=h.projection.isLonLatOverEdges,d=h.project;if(n.getClosest(l,(function(t){var n=t.lonlat;if(n[0]===i)return 1/0;if(p(n))return 1/0;var a=d(n),o=d([e,r]),s=Math.abs(a[0]-o[0]),l=Math.abs(a[1]-o[1]),c=Math.max(3,t.mrc||0);return Math.max(Math.sqrt(s*s+l*l)-c,1-3/c)}),t),!1!==t.index){var m=l[t.index],g=m.lonlat,v=[u.c2p(g),f.c2p(g)],y=m.mrc||1;t.x0=v[0]-y,t.x1=v[0]+y,t.y0=v[1]-y,t.y1=v[1]+y,t.loc=m.loc,t.lon=g[0],t.lat=g[1];var x={};x[c.geo]={_subplot:h};var b=c._module.formatLabels(m,c,x);return t.lonLabel=b.lonLabel,t.latLabel=b.latLabel,t.color=a(c,m),t.extraText=function(t,e,r,n){if(t.hovertemplate)return;var i=e.hi||t.hoverinfo,a=\"all\"===i?s.hoverinfo.flags:i.split(\"+\"),l=-1!==a.indexOf(\"location\")&&Array.isArray(t.locations),c=-1!==a.indexOf(\"lon\"),u=-1!==a.indexOf(\"lat\"),f=-1!==a.indexOf(\"text\"),h=[];function p(t){return t+\"\\xb0\"}l?h.push(e.loc):c&&u?h.push(\"(\"+p(r.latLabel)+\", \"+p(r.lonLabel)+\")\"):c?h.push(n.lon+p(r.lonLabel)):u&&h.push(n.lat+p(r.latLabel));f&&o(e,t,h);return h.join(\"<br>\")}(c,m,t,l[0].t.labels),t.hovertemplate=c.hovertemplate,[t]}}},{\"../../components/fx\":406,\"../../constants/numerical\":479,\"../../lib\":503,\"../scatter/get_trace_color\":937,\"./attributes\":969}],975:[function(t,e,r){\"use strict\";e.exports={attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\"),colorbar:t(\"../scatter/marker_colorbar\"),formatLabels:t(\"./format_labels\"),calc:t(\"./calc\"),calcGeoJSON:t(\"./plot\").calcGeoJSON,plot:t(\"./plot\").plot,style:t(\"./style\"),styleOnSelect:t(\"../scatter/style\").styleOnSelect,hoverPoints:t(\"./hover\"),eventData:t(\"./event_data\"),selectPoints:t(\"./select\"),moduleType:\"trace\",name:\"scattergeo\",basePlotModule:t(\"../../plots/geo\"),categories:[\"geo\",\"symbols\",\"showLegend\",\"scatter-like\"],meta:{}}},{\"../../plots/geo\":589,\"../scatter/marker_colorbar\":945,\"../scatter/style\":951,\"./attributes\":969,\"./calc\":970,\"./defaults\":971,\"./event_data\":972,\"./format_labels\":973,\"./hover\":974,\"./plot\":976,\"./select\":977,\"./style\":978}],976:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../../lib\"),a=t(\"../../lib/topojson_utils\").getTopojsonFeatures,o=t(\"../../lib/geojson_utils\"),s=t(\"../../lib/geo_location_utils\"),l=t(\"../../plots/cartesian/autorange\").findExtremes,c=t(\"../../constants/numerical\").BADNUM,u=t(\"../scatter/calc\").calcMarkerSize,f=t(\"../scatter/subtypes\"),h=t(\"./style\");e.exports={calcGeoJSON:function(t,e){var r,n,i=t[0].trace,o=e[i.geo],f=o._subplot,h=i._length;if(Array.isArray(i.locations)){var p=i.locationmode,d=\"geojson-id\"===p?s.extractTraceFeature(t):a(i,f.topojson);for(r=0;r<h;r++){n=t[r];var m=\"geojson-id\"===p?n.fOut:s.locationToFeature(p,n.loc,d);n.lonlat=m?m.properties.ct:[c,c]}}var g,v,y={padded:!0};if(\"geojson\"===o.fitbounds&&\"geojson-id\"===i.locationmode){var x=s.computeBbox(s.getTraceGeojson(i));g=[x[0],x[2]],v=[x[1],x[3]]}else{for(g=new Array(h),v=new Array(h),r=0;r<h;r++)n=t[r],g[r]=n.lonlat[0],v[r]=n.lonlat[1];y.ppad=u(i,h)}i._extremes.lon=l(o.lonaxis._ax,g,y),i._extremes.lat=l(o.lataxis._ax,v,y)},plot:function(t,e,r){var a=e.layers.frontplot.select(\".scatterlayer\"),s=i.makeTraceGroups(a,r,\"trace scattergeo\");function l(t,e){t.lonlat[0]===c&&n.select(e).remove()}s.selectAll(\"*\").remove(),s.each((function(e){var r=n.select(this),a=e[0].trace;if(f.hasLines(a)||\"none\"!==a.fill){var s=o.calcTraceToLineCoords(e),c=\"none\"!==a.fill?o.makePolygon(s):o.makeLine(s);r.selectAll(\"path.js-line\").data([{geojson:c,trace:a}]).enter().append(\"path\").classed(\"js-line\",!0).style(\"stroke-miterlimit\",2)}f.hasMarkers(a)&&r.selectAll(\"path.point\").data(i.identity).enter().append(\"path\").classed(\"point\",!0).each((function(t){l(t,this)})),f.hasText(a)&&r.selectAll(\"g\").data(i.identity).enter().append(\"g\").append(\"text\").each((function(t){l(t,this)})),h(t,e)}))}}},{\"../../constants/numerical\":479,\"../../lib\":503,\"../../lib/geo_location_utils\":496,\"../../lib/geojson_utils\":497,\"../../lib/topojson_utils\":532,\"../../plots/cartesian/autorange\":553,\"../scatter/calc\":928,\"../scatter/subtypes\":952,\"./style\":978,\"@plotly/d3\":58}],977:[function(t,e,r){\"use strict\";var n=t(\"../scatter/subtypes\"),i=t(\"../../constants/numerical\").BADNUM;e.exports=function(t,e){var r,a,o,s,l,c=t.cd,u=t.xaxis,f=t.yaxis,h=[],p=c[0].trace;if(!n.hasMarkers(p)&&!n.hasText(p))return[];if(!1===e)for(l=0;l<c.length;l++)c[l].selected=0;else for(l=0;l<c.length;l++)(a=(r=c[l]).lonlat)[0]!==i&&(o=u.c2p(a),s=f.c2p(a),e.contains([o,s],null,l,t)?(h.push({pointNumber:l,lon:a[0],lat:a[1]}),r.selected=1):r.selected=0);return h}},{\"../../constants/numerical\":479,\"../scatter/subtypes\":952}],978:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../../components/drawing\"),a=t(\"../../components/color\"),o=t(\"../scatter/style\"),s=o.stylePoints,l=o.styleText;e.exports=function(t,e){e&&function(t,e){var r=e[0].trace,o=e[0].node3;o.style(\"opacity\",e[0].trace.opacity),s(o,r,t),l(o,r,t),o.selectAll(\"path.js-line\").style(\"fill\",\"none\").each((function(t){var e=n.select(this),r=t.trace,o=r.line||{};e.call(a.stroke,o.color).call(i.dashLine,o.dash||\"\",o.width||0),\"none\"!==r.fill&&e.call(a.fill,r.fillcolor)}))}(t,e)}},{\"../../components/color\":366,\"../../components/drawing\":388,\"../scatter/style\":951,\"@plotly/d3\":58}],979:[function(t,e,r){\"use strict\";var n=t(\"../../plots/attributes\"),i=t(\"../scatter/attributes\"),a=t(\"../../plots/cartesian/axis_format_attributes\").axisHoverFormat,o=t(\"../../components/colorscale/attributes\"),s=t(\"../../lib/sort_object_keys\"),l=t(\"../../lib/extend\").extendFlat,c=t(\"../../plot_api/edit_types\").overrideAll,u=t(\"./constants\").DASHES,f=i.line,h=i.marker,p=h.line,d=e.exports=c({x:i.x,x0:i.x0,dx:i.dx,y:i.y,y0:i.y0,dy:i.dy,xperiod:i.xperiod,yperiod:i.yperiod,xperiod0:i.xperiod0,yperiod0:i.yperiod0,xperiodalignment:i.xperiodalignment,yperiodalignment:i.yperiodalignment,xhoverformat:a(\"x\"),yhoverformat:a(\"y\"),text:i.text,hovertext:i.hovertext,textposition:i.textposition,textfont:i.textfont,mode:{valType:\"flaglist\",flags:[\"lines\",\"markers\",\"text\"],extras:[\"none\"]},line:{color:f.color,width:f.width,shape:{valType:\"enumerated\",values:[\"linear\",\"hv\",\"vh\",\"hvh\",\"vhv\"],dflt:\"linear\",editType:\"plot\"},dash:{valType:\"enumerated\",values:s(u),dflt:\"solid\"}},marker:l({},o(\"marker\"),{symbol:h.symbol,size:h.size,sizeref:h.sizeref,sizemin:h.sizemin,sizemode:h.sizemode,opacity:h.opacity,colorbar:h.colorbar,line:l({},o(\"marker.line\"),{width:p.width})}),connectgaps:i.connectgaps,fill:l({},i.fill,{dflt:\"none\"}),fillcolor:i.fillcolor,selected:{marker:i.selected.marker,textfont:i.selected.textfont},unselected:{marker:i.unselected.marker,textfont:i.unselected.textfont},opacity:n.opacity},\"calc\",\"nested\");d.x.editType=d.y.editType=d.x0.editType=d.y0.editType=\"calc+clearAxisTypes\",d.hovertemplate=i.hovertemplate,d.texttemplate=i.texttemplate},{\"../../components/colorscale/attributes\":373,\"../../lib/extend\":493,\"../../lib/sort_object_keys\":526,\"../../plot_api/edit_types\":536,\"../../plots/attributes\":550,\"../../plots/cartesian/axis_format_attributes\":557,\"../scatter/attributes\":927,\"./constants\":982}],980:[function(t,e,r){\"use strict\";var n=t(\"./hover\");e.exports={moduleType:\"trace\",name:\"scattergl\",basePlotModule:t(\"../../plots/cartesian\"),categories:[\"gl\",\"regl\",\"cartesian\",\"symbols\",\"errorBarsOK\",\"showLegend\",\"scatter-like\"],attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\"),crossTraceDefaults:t(\"../scatter/cross_trace_defaults\"),colorbar:t(\"../scatter/marker_colorbar\"),formatLabels:t(\"./format_labels\"),calc:t(\"./calc\"),hoverPoints:n.hoverPoints,selectPoints:t(\"./select\"),meta:{}}},{\"../../plots/cartesian\":568,\"../scatter/cross_trace_defaults\":933,\"../scatter/marker_colorbar\":945,\"./attributes\":979,\"./calc\":981,\"./defaults\":984,\"./format_labels\":986,\"./hover\":988,\"./select\":992}],981:[function(t,e,r){\"use strict\";var n=t(\"@plotly/point-cluster\"),i=t(\"../../lib\"),a=t(\"../../plots/cartesian/axis_ids\"),o=t(\"../../plots/cartesian/autorange\").findExtremes,s=t(\"../../plots/cartesian/align_period\"),l=t(\"../scatter/calc\"),c=l.calcMarkerSize,u=l.calcAxisExpansion,f=l.setFirstScatter,h=t(\"../scatter/colorscale_calc\"),p=t(\"./convert\"),d=t(\"./scene_update\"),m=t(\"../../constants/numerical\").BADNUM,g=t(\"./constants\").TOO_MANY_POINTS;function v(t,e,r){var n=t._extremes[e._id],i=o(e,r._bnds,{padded:!0});n.min=n.min.concat(i.min),n.max=n.max.concat(i.max)}e.exports=function(t,e){var r,o=t._fullLayout,l=a.getFromId(t,e.xaxis),y=a.getFromId(t,e.yaxis),x=o._plots[e.xaxis+e.yaxis],b=e._length,_=b>=g,w=2*b,T={},k=l.makeCalcdata(e,\"x\"),A=y.makeCalcdata(e,\"y\"),M=s(e,l,\"x\",k),S=s(e,y,\"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;r<b;r++)C[2*r]=E[r]===m?NaN:E[r],C[2*r+1]=L[r]===m?NaN:L[r],P[r]=r;if(\"log\"===l.type)for(r=0;r<w;r+=2)C[r]=l.c2l(C[r]);if(\"log\"===y.type)for(r=1;r<w;r+=2)C[r]=y.c2l(C[r]);_&&\"log\"!==l.type&&\"log\"!==y.type?T.tree=n(C):T.ids=P,h(t,e);var I,O=function(t,e,r,n,a,o){var s=p.style(t,r);s.marker&&(s.marker.positions=n);s.line&&n.length>1&&i.extendFlat(s.line,p.linePositions(t,r,n));if(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)}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)));return s}(t,0,e,C,E,L),z=d(t,x);return f(o,e),_?O.marker&&(I=O.marker.sizeAvg||Math.max(O.marker.size,3)):I=c(e,b),u(t,e,l,y,E,L,I),O.errorX&&v(e,l,O.errorX),O.errorY&&v(e,y,O.errorY),O.fill&&!z.fill2d&&(z.fill2d=!0),O.marker&&!z.scatter2d&&(z.scatter2d=!0),O.line&&!z.line2d&&(z.line2d=!0),!O.errorX&&!O.errorY||z.error2d||(z.error2d=!0),O.text&&!z.glText&&(z.glText=!0),O.marker&&(O.marker.snap=b),z.lineOptions.push(O.line),z.errorXOptions.push(O.errorX),z.errorYOptions.push(O.errorY),z.fillOptions.push(O.fill),z.markerOptions.push(O.marker),z.markerSelectedOptions.push(O.markerSel),z.markerUnselectedOptions.push(O.markerUnsel),z.textOptions.push(O.text),z.textSelectedOptions.push(O.textSel),z.textUnselectedOptions.push(O.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}]}},{\"../../constants/numerical\":479,\"../../lib\":503,\"../../plots/cartesian/align_period\":551,\"../../plots/cartesian/autorange\":553,\"../../plots/cartesian/axis_ids\":558,\"../scatter/calc\":928,\"../scatter/colorscale_calc\":930,\"./constants\":982,\"./convert\":983,\"./scene_update\":991,\"@plotly/point-cluster\":59}],982:[function(t,e,r){\"use strict\";e.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]}}},{}],983:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"svg-path-sdf\"),a=t(\"color-normalize\"),o=t(\"../../registry\"),s=t(\"../../lib\"),l=t(\"../../components/drawing\"),c=t(\"../../plots/cartesian/axis_ids\"),u=t(\"../../lib/gl_format_color\").formatColor,f=t(\"../scatter/subtypes\"),h=t(\"../scatter/make_bubble_size_func\"),p=t(\"./helpers\"),d=t(\"./constants\"),m=t(\"../../constants/interactions\").DESELECTDIM,g={start:1,left:1,end:-1,right:-1,middle:0,center:0,bottom:1,top:-1},v=t(\"../../components/fx/helpers\").appendArrayPointValue;function y(t,e){var r,i=t._fullLayout,a=e._length,o=e.textfont,l=e.textposition,c=Array.isArray(l)?l:[l],u=o.color,f=o.size,h=o.family,p={},d=t._context.plotGlPixelRatio,m=e.texttemplate;if(m){p.text=[];var g=i._d3locale,y=Array.isArray(m),x=y?Math.min(m.length,a):a,b=y?function(t){return m[t]}:function(){return m};for(r=0;r<x;r++){var _={i:r},w=e._module.formatLabels(_,e,i),T={};v(T,e,r);var k=e._meta||{};p.text.push(s.texttemplateString(b(r),w,g,T,_,k))}}else Array.isArray(e.text)&&e.text.length<a?p.text=e.text.slice():p.text=e.text;if(Array.isArray(p.text))for(r=p.text.length;r<a;r++)p.text[r]=\"\";for(p.opacity=e.opacity,p.font={},p.align=[],p.baseline=[],r=0;r<c.length;r++){var A=c[r].split(/\\s+/);switch(A[1]){case\"left\":p.align.push(\"right\");break;case\"right\":p.align.push(\"left\");break;default:p.align.push(A[1])}switch(A[0]){case\"top\":p.baseline.push(\"bottom\");break;case\"bottom\":p.baseline.push(\"top\");break;default:p.baseline.push(A[0])}}if(Array.isArray(u))for(p.color=new Array(a),r=0;r<a;r++)p.color[r]=u[r];else p.color=u;if(s.isArrayOrTypedArray(f)||Array.isArray(h))for(p.font=new Array(a),r=0;r<a;r++){var M=p.font[r]={};M.size=(s.isTypedArray(f)?f[r]:Array.isArray(f)?n(f[r])?f[r]:0:f)*d,M.family=Array.isArray(h)?h[r]:h}else p.font={size:f*d,family:h};return p}function x(t){var e,r,n=t._length,i=t.marker,o={},l=s.isArrayOrTypedArray(i.symbol),c=s.isArrayOrTypedArray(i.color),f=s.isArrayOrTypedArray(i.line.color),d=s.isArrayOrTypedArray(i.opacity),m=s.isArrayOrTypedArray(i.size),g=s.isArrayOrTypedArray(i.line.width);if(l||(r=p.isOpenSymbol(i.symbol)),l||c||f||d){o.colors=new Array(n),o.borderColors=new Array(n);var v=u(i,i.opacity,n),y=u(i.line,i.opacity,n);if(!Array.isArray(y[0])){var x=y;for(y=Array(n),e=0;e<n;e++)y[e]=x}if(!Array.isArray(v[0])){var b=v;for(v=Array(n),e=0;e<n;e++)v[e]=b}for(o.colors=v,o.borderColors=y,e=0;e<n;e++){if(l){var _=i.symbol[e];r=p.isOpenSymbol(_)}r&&(y[e]=v[e].slice(),v[e]=v[e].slice(),v[e][3]=0)}o.opacity=t.opacity}else r?(o.color=a(i.color,\"uint8\"),o.color[3]=0,o.borderColor=a(i.color,\"uint8\")):(o.color=a(i.color,\"uint8\"),o.borderColor=a(i.line.color,\"uint8\")),o.opacity=t.opacity*i.opacity;if(l)for(o.markers=new Array(n),e=0;e<n;e++)o.markers[e]=E(i.symbol[e]);else o.marker=E(i.symbol);var w,T=h(t,1);if(m||g){var k,A=o.sizes=new Array(n),M=o.borderSizes=new Array(n),S=0;if(m){for(e=0;e<n;e++)A[e]=T(i.size[e]),S+=A[e];k=S/n}else for(w=T(i.size),e=0;e<n;e++)A[e]=w;if(g)for(e=0;e<n;e++)M[e]=i.line.width[e];else for(w=i.line.width,e=0;e<n;e++)M[e]=w;o.sizeAvg=k}else o.size=T(i&&i.size||10),o.borderSizes=T(i.line.width);return o}function b(t,e){var r=t.marker,n={};return e?(e.marker&&e.marker.symbol?n=x(s.extendFlat({},r,e.marker)):e.marker&&(e.marker.size&&(n.size=e.marker.size),e.marker.color&&(n.colors=e.marker.color),void 0!==e.marker.opacity&&(n.opacity=e.marker.opacity)),n):n}function _(t,e,r){var n={};if(!r)return n;if(r.textfont){var i={opacity:1,text:e.text,texttemplate:e.texttemplate,textposition:e.textposition,textfont:s.extendFlat({},e.textfont)};r.textfont&&s.extendFlat(i.textfont,r.textfont),n=y(t,i)}return n}function w(t,e,r){var n={capSize:2*e.width*r,lineWidth:e.thickness*r,color:e.color};return e.copy_ystyle&&(n=t.error_y),n}var T=d.SYMBOL_SDF_SIZE,k=d.SYMBOL_SIZE,A=d.SYMBOL_STROKE,M={},S=l.symbolFuncs[0](.05*k);function E(t){if(\"circle\"===t)return null;var e,r,n=l.symbolNumber(t),a=l.symbolFuncs[n%100],o=!!l.symbolNoDot[n%100],s=!!l.symbolNoFill[n%100],c=p.isDotSymbol(t);return M[t]?M[t]:(e=c&&!o?a(1.1*k)+S:a(k),r=i(e,{w:T,h:T,viewBox:[-k,-k,k,k],stroke:s?A:-A}),M[t]=r,r||null)}e.exports={style:function(t,e){var r,n={marker:void 0,markerSel:void 0,markerUnsel:void 0,line:void 0,fill:void 0,errorX:void 0,errorY:void 0,text:void 0,textSel:void 0,textUnsel:void 0},i=t._context.plotGlPixelRatio;if(!0!==e.visible)return n;if(f.hasText(e)&&(n.text=y(t,e),n.textSel=_(t,e,e.selected),n.textUnsel=_(t,e,e.unselected)),f.hasMarkers(e)&&(n.marker=x(e),n.markerSel=b(e,e.selected),n.markerUnsel=b(e,e.unselected),!e.unselected&&s.isArrayOrTypedArray(e.marker.opacity))){var a=e.marker.opacity;for(n.markerUnsel.opacity=new Array(a.length),r=0;r<a.length;r++)n.markerUnsel.opacity[r]=m*a[r]}if(f.hasLines(e)){n.line={overlay:!0,thickness:e.line.width*i,color:e.line.color,opacity:e.opacity};var o=(d.DASHES[e.line.dash]||[1]).slice();for(r=0;r<o.length;++r)o[r]*=e.line.width*i;n.line.dashes=o}return e.error_x&&e.error_x.visible&&(n.errorX=w(e,e.error_x,i)),e.error_y&&e.error_y.visible&&(n.errorY=w(e,e.error_y,i)),e.fill&&\"none\"!==e.fill&&(n.fill={closed:!0,fill:e.fillcolor,thickness:0}),n},markerStyle:x,markerSelection:b,linePositions:function(t,e,r){var n,i,a=r.length,o=a/2;if(f.hasLines(e)&&o)if(\"hv\"===e.line.shape){for(n=[],i=0;i<o-1;i++)isNaN(r[2*i])||isNaN(r[2*i+1])?n.push(NaN,NaN,NaN,NaN):(n.push(r[2*i],r[2*i+1]),isNaN(r[2*i+2])||isNaN(r[2*i+3])?n.push(NaN,NaN):n.push(r[2*i+2],r[2*i+1]));n.push(r[a-2],r[a-1])}else if(\"hvh\"===e.line.shape){for(n=[],i=0;i<o-1;i++)if(isNaN(r[2*i])||isNaN(r[2*i+1])||isNaN(r[2*i+2])||isNaN(r[2*i+3]))isNaN(r[2*i])||isNaN(r[2*i+1])?n.push(NaN,NaN):n.push(r[2*i],r[2*i+1]),n.push(NaN,NaN);else{var s=(r[2*i]+r[2*i+2])/2;n.push(r[2*i],r[2*i+1],s,r[2*i+1],s,r[2*i+3])}n.push(r[a-2],r[a-1])}else if(\"vhv\"===e.line.shape){for(n=[],i=0;i<o-1;i++)if(isNaN(r[2*i])||isNaN(r[2*i+1])||isNaN(r[2*i+2])||isNaN(r[2*i+3]))isNaN(r[2*i])||isNaN(r[2*i+1])?n.push(NaN,NaN):n.push(r[2*i],r[2*i+1]),n.push(NaN,NaN);else{var l=(r[2*i+1]+r[2*i+3])/2;n.push(r[2*i],r[2*i+1],r[2*i],l,r[2*i+2],l)}n.push(r[a-2],r[a-1])}else if(\"vh\"===e.line.shape){for(n=[],i=0;i<o-1;i++)isNaN(r[2*i])||isNaN(r[2*i+1])?n.push(NaN,NaN,NaN,NaN):(n.push(r[2*i],r[2*i+1]),isNaN(r[2*i+2])||isNaN(r[2*i+3])?n.push(NaN,NaN):n.push(r[2*i],r[2*i+3]));n.push(r[a-2],r[a-1])}else n=r;var c=!1;for(i=0;i<n.length;i++)if(isNaN(n[i])){c=!0;break}var u=c||n.length>d.TOO_MANY_POINTS||f.hasMarkers(e)?\"rect\":\"round\";if(c&&e.connectgaps){var h=n[0],p=n[1];for(i=0;i<n.length;i+=2)isNaN(n[i])||isNaN(n[i+1])?(n[i]=h,n[i+1]=p):(h=n[i],p=n[i+1])}return{join:u,positions:n}},errorBarPositions:function(t,e,r,i,a){var s=o.getComponentMethod(\"errorbars\",\"makeComputeError\"),l=c.getFromId(t,e.xaxis),u=c.getFromId(t,e.yaxis),f=r.length/2,h={};function p(t,i){var a=i._id.charAt(0),o=e[\"error_\"+a];if(o&&o.visible&&(\"linear\"===i.type||\"log\"===i.type)){for(var l=s(o),c={x:0,y:1}[a],u={x:[0,1,2,3],y:[2,3,0,1]}[a],p=new Float64Array(4*f),d=1/0,m=-1/0,g=0,v=0;g<f;g++,v+=4){var y=t[g];if(n(y)){var x=r[2*g+c],b=l(y,g),_=b[0],w=b[1];if(n(_)&&n(w)){var T=y-_,k=y+w;p[v+u[0]]=x-i.c2l(T),p[v+u[1]]=i.c2l(k)-x,p[v+u[2]]=0,p[v+u[3]]=0,d=Math.min(d,y-_),m=Math.max(m,y+w)}}}h[a]={positions:r,errors:p,_bnds:[d,m]}}}return p(i,l),p(a,u),h},textPosition:function(t,e,r,n){var i,a=e._length,o={};if(f.hasMarkers(e)){var s=r.font,l=r.align,c=r.baseline;for(o.offset=new Array(a),i=0;i<a;i++){var u=n.sizes?n.sizes[i]:n.size,h=Array.isArray(s)?s[i].size:s.size,p=Array.isArray(l)?l.length>1?l[i]:l[0]:l,d=Array.isArray(c)?c.length>1?c[i]:c[0]:c,m=g[p],v=g[d],y=u?u/.8+1:0,x=-v*y-.5*v;o.offset[i]=[m*y/h,x/h]}}return o}}},{\"../../components/drawing\":388,\"../../components/fx/helpers\":402,\"../../constants/interactions\":478,\"../../lib\":503,\"../../lib/gl_format_color\":499,\"../../plots/cartesian/axis_ids\":558,\"../../registry\":638,\"../scatter/make_bubble_size_func\":944,\"../scatter/subtypes\":952,\"./constants\":982,\"./helpers\":987,\"color-normalize\":89,\"fast-isnumeric\":190,\"svg-path-sdf\":310}],984:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../registry\"),a=t(\"./helpers\"),o=t(\"./attributes\"),s=t(\"../scatter/constants\"),l=t(\"../scatter/subtypes\"),c=t(\"../scatter/xy_defaults\"),u=t(\"../scatter/period_defaults\"),f=t(\"../scatter/marker_defaults\"),h=t(\"../scatter/line_defaults\"),p=t(\"../scatter/fillcolor_defaults\"),d=t(\"../scatter/text_defaults\");e.exports=function(t,e,r,m){function g(r,i){return n.coerce(t,e,o,r,i)}var v=!!t.marker&&a.isOpenSymbol(t.marker.symbol),y=l.isBubble(t),x=c(t,e,m,g);if(x){u(t,e,m,g),g(\"xhoverformat\"),g(\"yhoverformat\");var b=x<s.PTS_LINESONLY?\"lines+markers\":\"lines\";g(\"text\"),g(\"hovertext\"),g(\"hovertemplate\"),g(\"mode\",b),l.hasLines(e)&&(g(\"connectgaps\"),h(t,e,r,m,g),g(\"line.shape\")),l.hasMarkers(e)&&(f(t,e,r,m,g),g(\"marker.line.width\",v||y?1:0)),l.hasText(e)&&(g(\"texttemplate\"),d(t,e,m,g));var _=(e.line||{}).color,w=(e.marker||{}).color;g(\"fill\"),\"none\"!==e.fill&&p(t,e,r,g);var T=i.getComponentMethod(\"errorbars\",\"supplyDefaults\");T(t,e,_||w||r,{axis:\"y\"}),T(t,e,_||w||r,{axis:\"x\",inherit:\"y\"}),n.coerceSelectionMarkerOpacity(e,g)}else e.visible=!1}},{\"../../lib\":503,\"../../registry\":638,\"../scatter/constants\":931,\"../scatter/fillcolor_defaults\":935,\"../scatter/line_defaults\":940,\"../scatter/marker_defaults\":946,\"../scatter/period_defaults\":947,\"../scatter/subtypes\":952,\"../scatter/text_defaults\":953,\"../scatter/xy_defaults\":954,\"./attributes\":979,\"./helpers\":987}],985:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../components/color\"),a=t(\"../../constants/interactions\").DESELECTDIM;e.exports={styleTextSelection:function(t){var e,r,o=t[0],s=o.trace,l=o.t,c=l._scene,u=l.index,f=c.selectBatch[u],h=c.unselectBatch[u],p=c.textOptions[u],d=c.textSelectedOptions[u]||{},m=c.textUnselectedOptions[u]||{},g=n.extendFlat({},p);if(f.length||h.length){var v=d.color,y=m.color,x=p.color,b=Array.isArray(x);for(g.color=new Array(s._length),e=0;e<f.length;e++)r=f[e],g.color[r]=v||(b?x[r]:x);for(e=0;e<h.length;e++){r=h[e];var _=b?x[r]:x;g.color[r]=y||(v?_:i.addOpacity(_,a))}}c.glText[u].update(g)}}},{\"../../components/color\":366,\"../../constants/interactions\":478,\"../../lib\":503}],986:[function(t,e,r){\"use strict\";var n=t(\"../scatter/format_labels\");e.exports=function(t,e,r){var i=t.i;return\"x\"in t||(t.x=e._x[i]),\"y\"in t||(t.y=e._y[i]),n(t,e,r)}},{\"../scatter/format_labels\":936}],987:[function(t,e,r){\"use strict\";var n=t(\"./constants\");r.isOpenSymbol=function(t){return\"string\"==typeof t?n.OPEN_RE.test(t):t%200>100},r.isDotSymbol=function(t){return\"string\"==typeof t?n.DOT_RE.test(t):t>200}},{\"./constants\":982}],988:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),i=t(\"../../lib\"),a=t(\"../scatter/get_trace_color\");function o(t,e,r,o){var s=t.xa,l=t.ya,c=t.distance,u=t.dxy,f=t.index,h={pointNumber:f,x:e[f],y:r[f]};h.tx=Array.isArray(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=Array.isArray(p.color)?p.color[f]:p.color,h.tf=Array.isArray(p.family)?p.family[f]:p.family);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.mc=i.isArrayOrTypedArray(d.color)?d.color[f]:d.color);var m=d&&d.line;m&&(h.mlc=Array.isArray(m.color)?m.color[f]:m.color,h.mlw=i.isArrayOrTypedArray(m.width)?m.width[f]:m.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 v=s.c2p(h.x,!0),y=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:v-x,x1:v+x,xLabelVal:k?k[f]:h.x,y0:y-x,y1:y+x,yLabelVal:A?A[f]:h.y,cd:T,distance:c,spikeDistance:u,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}e.exports={hoverPoints:function(t,e,r,n){var i,a,s,l,c,u,f,h,p,d,m=t.cd,g=m[0].t,v=m[0].trace,y=t.xa,x=t.ya,b=g.x,_=g.y,w=y.c2p(e),T=x.c2p(r),k=t.distance;if(g.tree){var A=y.p2c(w-k),M=y.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=!!v.xperiodalignment,P=!!v.yperiodalignment;for(u=0;u<i.length;u++){if(l=b[a=i[u]],f=Math.abs(y.c2p(l)-w),C){var I=y.c2p(v._xStarts[a]),O=y.c2p(v._xEnds[a]);f=w>=Math.min(I,O)&&w<=Math.max(I,O)?0:1/0}if(f<L){if(L=f,c=_[a],h=x.c2p(c)-T,P){var z=x.c2p(v._yStarts[a]),D=x.c2p(v._yEnds[a]);h=T>=Math.min(z,D)&&T<=Math.max(z,D)?0:1/0}d=Math.sqrt(f*f+h*h),s=i[u]}}}else for(u=i.length-1;u>-1;u--)l=b[a=i[u]],c=_[a],f=y.c2p(l)-w,h=x.c2p(c)-T,(p=Math.sqrt(f*f+h*h))<L&&(L=d=p,s=a);return t.index=s,t.distance=L,t.dxy=d,void 0===s?[t]:[o(t,b,_,v)]},calcHover:o}},{\"../../lib\":503,\"../../registry\":638,\"../scatter/get_trace_color\":937}],989:[function(t,e,r){arguments[4][896][0].apply(r,arguments)},{\"./base_index\":980,\"./plot\":990,dup:896}],990:[function(t,e,r){\"use strict\";var n=t(\"regl-scatter2d\"),i=t(\"regl-line2d\"),a=t(\"regl-error2d\"),o=t(\"gl-text\"),s=t(\"../../lib\"),l=t(\"../../components/dragelement/helpers\").selectMode,c=t(\"../../lib/prepare_regl\"),u=t(\"../scatter/subtypes\"),f=t(\"../scatter/link_traces\"),h=t(\"./edit_style\").styleTextSelection,p={};function d(t,e,r,n){var i=t._size,a=t.width*n,o=t.height*n,s=i.l*n,l=i.b*n,c=i.r*n,u=i.t*n,f=i.w*n,h=i.h*n;return[s+e.domain[0]*f,l+r.domain[0]*h,a-c-(1-e.domain[1])*f,o-u-(1-r.domain[1])*h]}(e.exports=function(t,e,r){if(r.length){var m,g,v=t._fullLayout,y=e._scene,x=e.xaxis,b=e.yaxis;if(y)if(c(t,[\"ANGLE_instanced_arrays\",\"OES_element_index_uint\"],p)){var _=y.count,w=v._glcanvas.data()[0].regl;if(f(t,e,r),y.dirty){if(!0===y.error2d&&(y.error2d=a(w)),!0===y.line2d&&(y.line2d=i(w)),!0===y.scatter2d&&(y.scatter2d=n(w)),!0===y.fill2d&&(y.fill2d=i(w)),!0===y.glText)for(y.glText=new Array(_),m=0;m<_;m++)y.glText[m]=new o(w);if(y.glText){if(_>y.glText.length){var T=_-y.glText.length;for(m=0;m<T;m++)y.glText.push(new o(w))}else if(_<y.glText.length){var k=y.glText.length-_;y.glText.splice(_,k).forEach((function(t){t.destroy()}))}for(m=0;m<_;m++)y.glText[m].update(y.textOptions[m])}if(y.line2d&&(y.line2d.update(y.lineOptions),y.lineOptions=y.lineOptions.map((function(t){if(t&&t.positions){for(var e=t.positions,r=0;r<e.length&&(isNaN(e[r])||isNaN(e[r+1]));)r+=2;for(var n=e.length-2;n>r&&(isNaN(e[n])||isNaN(e[n+1]));)n-=2;t.positions=e.slice(r,n+2)}return t})),y.line2d.update(y.lineOptions)),y.error2d){var A=(y.errorXOptions||[]).concat(y.errorYOptions||[]);y.error2d.update(A)}y.scatter2d&&y.scatter2d.update(y.markerOptions),y.fillOrder=s.repeat(null,_),y.fill2d&&(y.fillOptions=y.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=y.lineOptions[e],u=[];s._ownfill&&u.push(e),s._nexttrace&&u.push(e+1),u.length&&(y.fillOrder[e]=u);var f,h,p=[],d=c&&c.positions||l.positions;if(\"tozeroy\"===s.fill){for(f=0;f<d.length&&isNaN(d[f+1]);)f+=2;for(h=d.length-2;h>f&&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;f<d.length&&isNaN(d[f]);)f+=2;for(h=d.length-2;h>f&&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<d.length;a+=2)(isNaN(d[a])||isNaN(d[a+1]))&&((p=p.concat(d.slice(i,a))).push(d[i],d[i+1]),p.push(null,null),i=a+2);p=p.concat(d.slice(i)),i&&p.push(d[i],d[i+1])}else{var m=s._nexttrace;if(m){var g=y.lineOptions[e+1];if(g){var v=g.positions;if(\"tonexty\"===s.fill){for(p=d.slice(),e=Math.floor(v.length/2);e--;){var x=v[2*e],b=v[2*e+1];isNaN(x)||isNaN(b)||p.push(x,b)}t.fill=m.fillcolor}}}}if(s._prevtrace&&\"tonext\"===s._prevtrace.fill){var _=y.lineOptions[e-1].positions,w=p.length/2,T=[i=w];for(a=0;a<_.length;a+=2)(isNaN(_[a])||isNaN(_[a+1]))&&(T.push(a/2+w+1),i=a+2);p=p.concat(_),t.hole=T}return t.fillmode=s.fill,t.opacity=s.opacity,t.positions=p,t}})),y.fill2d.update(y.fillOptions))}var M=v.dragmode,S=l(M),E=v.clickmode.indexOf(\"select\")>-1;for(m=0;m<_;m++){var L=r[m][0],C=L.trace,P=L.t,I=P.index,O=C._length,z=P.x,D=P.y;if(C.selectedpoints||S||E){if(S||(S=!0),C.selectedpoints){var R=y.selectBatch[I]=s.selIndices2selPoints(C),F={};for(g=0;g<R.length;g++)F[R[g]]=1;var B=[];for(g=0;g<O;g++)F[g]||B.push(g);y.unselectBatch[I]=B}var N=P.xpx=new Array(O),j=P.ypx=new Array(O);for(g=0;g<O;g++)N[g]=x.c2p(z[g]),j[g]=b.c2p(D[g])}else P.xpx=P.ypx=null}if(S){if(y.select2d||(y.select2d=n(v._glcanvas.data()[1].regl)),y.scatter2d){var U=new Array(_);for(m=0;m<_;m++)U[m]=y.selectBatch[m].length||y.unselectBatch[m].length?y.markerUnselectedOptions[m]:{};y.scatter2d.update(U)}y.select2d&&(y.select2d.update(y.markerOptions),y.select2d.update(y.markerSelectedOptions)),y.glText&&r.forEach((function(t){var e=((t||[])[0]||{}).trace||{};u.hasText(e)&&h(t)}))}else y.scatter2d&&y.scatter2d.update(y.markerOptions);var V={viewport:d(v,x,b,t._context.plotGlPixelRatio),range:[(x._rl||x.range)[0],(b._rl||b.range)[0],(x._rl||x.range)[1],(b._rl||b.range)[1]]},H=s.repeat(V,y.count);y.fill2d&&y.fill2d.update(H),y.line2d&&y.line2d.update(H),y.error2d&&y.error2d.update(H.concat(H)),y.scatter2d&&y.scatter2d.update(H),y.select2d&&y.select2d.update(H),y.glText&&y.glText.forEach((function(t){t.update(V)}))}else y.init()}}).reglPrecompiled=p},{\"../../components/dragelement/helpers\":384,\"../../lib\":503,\"../../lib/prepare_regl\":516,\"../scatter/link_traces\":943,\"../scatter/subtypes\":952,\"./edit_style\":985,\"gl-text\":225,\"regl-error2d\":279,\"regl-line2d\":280,\"regl-scatter2d\":281}],991:[function(t,e,r){\"use strict\";var n=t(\"../../lib\");e.exports=function(t,e){var r=e._scene,i={count:0,dirty:!0,lineOptions:[],fillOptions:[],markerOptions:[],markerSelectedOptions:[],markerUnselectedOptions:[],errorXOptions:[],errorYOptions:[],textOptions:[],textSelectedOptions:[],textUnselectedOptions:[],selectBatch:[],unselectBatch:[]},a={fill2d:!1,scatter2d:!1,error2d:!1,line2d:!1,glText:!1,select2d:!1};return e._scene||((r=e._scene={}).init=function(){n.extendFlat(r,a,i)},r.init(),r.update=function(t){var e=n.repeat(t,r.count);if(r.fill2d&&r.fill2d.update(e),r.scatter2d&&r.scatter2d.update(e),r.line2d&&r.line2d.update(e),r.error2d&&r.error2d.update(e.concat(e)),r.select2d&&r.select2d.update(e),r.glText)for(var i=0;i<r.count;i++)r.glText[i].update(t)},r.draw=function(){for(var t=r.count,e=r.fill2d,i=r.error2d,a=r.line2d,o=r.scatter2d,s=r.glText,l=r.select2d,c=r.selectBatch,u=r.unselectBatch,f=0;f<t;f++){if(e&&r.fillOrder[f]&&e.draw(r.fillOrder[f]),a&&r.lineOptions[f]&&a.draw(f),i&&(r.errorXOptions[f]&&i.draw(f),r.errorYOptions[f]&&i.draw(f+t)),o&&r.markerOptions[f])if(u[f].length){var h=n.repeat([],r.count);h[f]=u[f],o.draw(h)}else c[f].length||o.draw(f);s[f]&&r.textOptions[f]&&s[f].render()}l&&l.draw(c),r.dirty=!1},r.destroy=function(){r.fill2d&&r.fill2d.destroy&&r.fill2d.destroy(),r.scatter2d&&r.scatter2d.destroy&&r.scatter2d.destroy(),r.error2d&&r.error2d.destroy&&r.error2d.destroy(),r.line2d&&r.line2d.destroy&&r.line2d.destroy(),r.select2d&&r.select2d.destroy&&r.select2d.destroy(),r.glText&&r.glText.forEach((function(t){t.destroy&&t.destroy()})),r.lineOptions=null,r.fillOptions=null,r.markerOptions=null,r.markerSelectedOptions=null,r.markerUnselectedOptions=null,r.errorXOptions=null,r.errorYOptions=null,r.textOptions=null,r.textSelectedOptions=null,r.textUnselectedOptions=null,r.selectBatch=null,r.unselectBatch=null,e._scene=null}),r.dirty||n.extendFlat(r,i),r}},{\"../../lib\":503}],992:[function(t,e,r){\"use strict\";var n=t(\"../scatter/subtypes\"),i=t(\"./edit_style\").styleTextSelection;e.exports=function(t,e){var r=t.cd,a=t.xaxis,o=t.yaxis,s=[],l=r[0].trace,c=r[0].t,u=l._length,f=c.x,h=c.y,p=c._scene,d=c.index;if(!p)return s;var m=n.hasText(l),g=n.hasMarkers(l),v=!g&&!m;if(!0!==l.visible||v)return s;var y=[],x=[];if(!1!==e&&!e.degenerate)for(var b=0;b<u;b++)e.contains([c.xpx[b],c.ypx[b]],!1,b,t)?(y.push(b),s.push({pointNumber:b,x:a.c2d(f[b]),y:o.c2d(h[b])})):x.push(b);if(g){var _=p.scatter2d;if(y.length||x.length){if(!p.selectBatch[d].length&&!p.unselectBatch[d].length){var w=new Array(p.count);w[d]=p.markerUnselectedOptions[d],_.update.apply(_,w)}}else{var T=new Array(p.count);T[d]=p.markerOptions[d],_.update.apply(_,T)}}return p.selectBatch[d]=y,p.unselectBatch[d]=x,m&&i(r),s}},{\"../scatter/subtypes\":952,\"./edit_style\":985}],993:[function(t,e,r){\"use strict\";var n=t(\"../../plots/template_attributes\").hovertemplateAttrs,i=t(\"../../plots/template_attributes\").texttemplateAttrs,a=t(\"../scattergeo/attributes\"),o=t(\"../scatter/attributes\"),s=t(\"../../plots/mapbox/layout_attributes\"),l=t(\"../../plots/attributes\"),c=t(\"../../components/colorscale/attributes\"),u=t(\"../../lib/extend\").extendFlat,f=t(\"../../plot_api/edit_types\").overrideAll,h=a.line,p=a.marker;e.exports=f({lon:a.lon,lat:a.lat,mode:u({},o.mode,{dflt:\"markers\"}),text:u({},o.text,{}),texttemplate:i({editType:\"plot\"},{keys:[\"lat\",\"lon\",\"text\"]}),hovertext:u({},o.hovertext,{}),line:{color:h.color,width:h.width},connectgaps:o.connectgaps,marker:u({symbol:{valType:\"string\",dflt:\"circle\",arrayOk:!0},angle:{valType:\"number\",dflt:\"auto\",arrayOk:!0},allowoverlap:{valType:\"boolean\",dflt:!1},opacity:p.opacity,size:p.size,sizeref:p.sizeref,sizemin:p.sizemin,sizemode:p.sizemode},c(\"marker\")),fill:a.fill,fillcolor:o.fillcolor,textfont:s.layers.symbol.textfont,textposition:s.layers.symbol.textposition,below:{valType:\"string\"},selected:{marker:o.selected.marker},unselected:{marker:o.unselected.marker},hoverinfo:u({},l.hoverinfo,{flags:[\"lon\",\"lat\",\"text\",\"name\"]}),hovertemplate:n()},\"calc\",\"nested\")},{\"../../components/colorscale/attributes\":373,\"../../lib/extend\":493,\"../../plot_api/edit_types\":536,\"../../plots/attributes\":550,\"../../plots/mapbox/layout_attributes\":615,\"../../plots/template_attributes\":633,\"../scatter/attributes\":927,\"../scattergeo/attributes\":969}],994:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../../lib\"),a=t(\"../../constants/numerical\").BADNUM,o=t(\"../../lib/geojson_utils\"),s=t(\"../../components/colorscale\"),l=t(\"../../components/drawing\"),c=t(\"../scatter/make_bubble_size_func\"),u=t(\"../scatter/subtypes\"),f=t(\"../../plots/mapbox/convert_text_opts\"),h=t(\"../../components/fx/helpers\").appendArrayPointValue,p=t(\"../../lib/svg_text_utils\").NEWLINES,d=t(\"../../lib/svg_text_utils\").BR_TAG_ALL;function m(){return{geojson:o.makeBlank(),layout:{visibility:\"none\"},paint:{}}}function g(t,e){return i.isArrayOrTypedArray(t)?e?function(e){return n(t[e])?+t[e]:0}:function(e){return t[e]}:t?function(){return t}:v}function v(){return\"\"}function y(t){return t[0]===a}e.exports=function(t,e){var r,a=e[0].trace,x=!0===a.visible&&0!==a._length,b=\"none\"!==a.fill,_=u.hasLines(a),w=u.hasMarkers(a),T=u.hasText(a),k=w&&\"circle\"===a.marker.symbol,A=w&&\"circle\"!==a.marker.symbol,M=m(),S=m(),E=m(),L=m(),C={fill:M,line:S,circle:E,symbol:L};if(!x)return C;if((b||_)&&(r=o.calcTraceToLineCoords(e)),b&&(M.geojson=o.makePolygon(r),M.layout.visibility=\"visible\",i.extendFlat(M.paint,{\"fill-color\":a.fillcolor})),_&&(S.geojson=o.makeLine(r),S.layout.visibility=\"visible\",i.extendFlat(S.paint,{\"line-width\":a.line.width,\"line-color\":a.line.color,\"line-opacity\":a.opacity})),k){var P=function(t){var e,r,a,o,u=t[0].trace,f=u.marker,h=u.selectedpoints,p=i.isArrayOrTypedArray(f.color),d=i.isArrayOrTypedArray(f.size),m=i.isArrayOrTypedArray(f.opacity);function g(t){return u.opacity*t}p&&(r=s.hasColorscale(u,\"marker\")?s.makeColorScaleFuncFromTrace(f):i.identity);d&&(a=c(u));m&&(o=function(t){return g(n(t)?+i.constrain(t,0,1):0)});var v,x=[];for(e=0;e<t.length;e++){var b=t[e],_=b.lonlat;if(!y(_)){var w={};r&&(w.mcc=b.mcc=r(b.mc)),a&&(w.mrc=b.mrc=a(b.ms)),o&&(w.mo=o(b.mo)),h&&(w.selected=b.selected||0),x.push({type:\"Feature\",geometry:{type:\"Point\",coordinates:_},properties:w})}}if(h)for(v=l.makeSelectedPointStyleFns(u),e=0;e<x.length;e++){var T=x[e].properties;v.selectedOpacityFn&&(T.mo=g(v.selectedOpacityFn(T))),v.selectedColorFn&&(T.mcc=v.selectedColorFn(T)),v.selectedSizeFn&&(T.mrc=v.selectedSizeFn(T))}return{geojson:{type:\"FeatureCollection\",features:x},mcc:p||v&&v.selectedColorFn?{type:\"identity\",property:\"mcc\"}:f.color,mrc:d||v&&v.selectedSizeFn?{type:\"identity\",property:\"mrc\"}:(k=f.size,k/2),mo:m||v&&v.selectedOpacityFn?{type:\"identity\",property:\"mo\"}:g(f.opacity)};var k}(e);E.geojson=P.geojson,E.layout.visibility=\"visible\",i.extendFlat(E.paint,{\"circle-color\":P.mcc,\"circle-radius\":P.mrc,\"circle-opacity\":P.mo})}if((A||T)&&(L.geojson=function(t,e){for(var r=e._fullLayout,n=t[0].trace,a=n.marker||{},o=a.symbol,s=a.angle,l=\"circle\"!==o?g(o):v,c=\"auto\"!==s?g(s,!0):v,f=u.hasText(n)?g(n.text):v,m=[],x=0;x<t.length;x++){var b=t[x];if(!y(b.lonlat)){var _,w=n.texttemplate;if(w){var T=Array.isArray(w)?w[x]||\"\":w,k=n._module.formatLabels(b,n,r),A={};h(A,n,b.i);var M=n._meta||{};_=i.texttemplateString(T,k,r._d3locale,A,b,M)}else _=f(x);_&&(_=_.replace(p,\"\").replace(d,\"\\n\")),m.push({type:\"Feature\",geometry:{type:\"Point\",coordinates:b.lonlat},properties:{symbol:l(x),angle:c(x),text:_}})}}return{type:\"FeatureCollection\",features:m}}(e,t),i.extendFlat(L.layout,{visibility:\"visible\",\"icon-image\":\"{symbol}-15\",\"text-field\":\"{text}\"}),A&&(i.extendFlat(L.layout,{\"icon-size\":a.marker.size/10}),\"angle\"in a.marker&&\"auto\"!==a.marker.angle&&i.extendFlat(L.layout,{\"icon-rotate\":{type:\"identity\",property:\"angle\"},\"icon-rotation-alignment\":\"map\"}),L.layout[\"icon-allow-overlap\"]=a.marker.allowoverlap,i.extendFlat(L.paint,{\"icon-opacity\":a.opacity*a.marker.opacity,\"icon-color\":a.marker.color})),T)){var I=(a.marker||{}).size,O=f(a.textposition,I);i.extendFlat(L.layout,{\"text-size\":a.textfont.size,\"text-anchor\":O.anchor,\"text-offset\":O.offset}),i.extendFlat(L.paint,{\"text-color\":a.textfont.color,\"text-opacity\":a.opacity})}return C}},{\"../../components/colorscale\":378,\"../../components/drawing\":388,\"../../components/fx/helpers\":402,\"../../constants/numerical\":479,\"../../lib\":503,\"../../lib/geojson_utils\":497,\"../../lib/svg_text_utils\":529,\"../../plots/mapbox/convert_text_opts\":612,\"../scatter/make_bubble_size_func\":944,\"../scatter/subtypes\":952,\"fast-isnumeric\":190}],995:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../scatter/subtypes\"),a=t(\"../scatter/marker_defaults\"),o=t(\"../scatter/line_defaults\"),s=t(\"../scatter/text_defaults\"),l=t(\"../scatter/fillcolor_defaults\"),c=t(\"./attributes\");e.exports=function(t,e,r,u){function f(r,i){return n.coerce(t,e,c,r,i)}if(function(t,e,r){var n=r(\"lon\")||[],i=r(\"lat\")||[],a=Math.min(n.length,i.length);return e._length=a,a}(0,e,f)){if(f(\"text\"),f(\"texttemplate\"),f(\"hovertext\"),f(\"hovertemplate\"),f(\"mode\"),f(\"below\"),i.hasLines(e)&&(o(t,e,r,u,f,{noDash:!0}),f(\"connectgaps\")),i.hasMarkers(e)){a(t,e,r,u,f,{noLine:!0}),f(\"marker.allowoverlap\"),f(\"marker.angle\");var h=e.marker;\"circle\"!==h.symbol&&(n.isArrayOrTypedArray(h.size)&&(h.size=h.size[0]),n.isArrayOrTypedArray(h.color)&&(h.color=h.color[0]))}i.hasText(e)&&s(t,e,u,f,{noSelect:!0}),f(\"fill\"),\"none\"!==e.fill&&l(t,e,r,f),n.coerceSelectionMarkerOpacity(e,f)}else e.visible=!1}},{\"../../lib\":503,\"../scatter/fillcolor_defaults\":935,\"../scatter/line_defaults\":940,\"../scatter/marker_defaults\":946,\"../scatter/subtypes\":952,\"../scatter/text_defaults\":953,\"./attributes\":993}],996:[function(t,e,r){\"use strict\";e.exports=function(t,e){return t.lon=e.lon,t.lat=e.lat,t}},{}],997:[function(t,e,r){\"use strict\";var n=t(\"../../plots/cartesian/axes\");e.exports=function(t,e,r){var i={},a=r[e.subplot]._subplot.mockAxis,o=t.lonlat;return i.lonLabel=n.tickText(a,a.c2l(o[0]),!0).text,i.latLabel=n.tickText(a,a.c2l(o[1]),!0).text,i}},{\"../../plots/cartesian/axes\":554}],998:[function(t,e,r){\"use strict\";var n=t(\"../../components/fx\"),i=t(\"../../lib\"),a=t(\"../scatter/get_trace_color\"),o=i.fillText,s=t(\"../../constants/numerical\").BADNUM;function l(t,e,r){if(!t.hovertemplate){var n=(e.hi||t.hoverinfo).split(\"+\"),i=-1!==n.indexOf(\"all\"),a=-1!==n.indexOf(\"lon\"),s=-1!==n.indexOf(\"lat\"),l=e.lonlat,c=[];return i||a&&s?c.push(\"(\"+u(l[1])+\", \"+u(l[0])+\")\"):a?c.push(r.lon+u(l[0])):s&&c.push(r.lat+u(l[1])),(i||-1!==n.indexOf(\"text\"))&&o(e,t,c),c.join(\"<br>\")}function u(t){return t+\"\\xb0\"}}e.exports={hoverPoints:function(t,e,r){var o=t.cd,c=o[0].trace,u=t.xa,f=t.ya,h=t.subplot,p=360*(e>=0?Math.floor((e+180)/360):Math.ceil((e-180)/360)),d=e-p;if(n.getClosest(o,(function(t){var e=t.lonlat;if(e[0]===s)return 1/0;var n=i.modHalf(e[0],360),a=e[1],o=h.project([n,a]),l=o.x-u.c2p([d,a]),c=o.y-f.c2p([n,r]),p=Math.max(3,t.mrc||0);return Math.max(Math.sqrt(l*l+c*c)-p,1-3/p)}),t),!1!==t.index){var m=o[t.index],g=m.lonlat,v=[i.modHalf(g[0],360)+p,g[1]],y=u.c2p(v),x=f.c2p(v),b=m.mrc||1;t.x0=y-b,t.x1=y+b,t.y0=x-b,t.y1=x+b;var _={};_[c.subplot]={_subplot:h};var w=c._module.formatLabels(m,c,_);return t.lonLabel=w.lonLabel,t.latLabel=w.latLabel,t.color=a(c,m),t.extraText=l(c,m,o[0].t.labels),t.hovertemplate=c.hovertemplate,[t]}},getExtraText:l}},{\"../../components/fx\":406,\"../../constants/numerical\":479,\"../../lib\":503,\"../scatter/get_trace_color\":937}],999:[function(t,e,r){\"use strict\";e.exports={attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\"),colorbar:t(\"../scatter/marker_colorbar\"),formatLabels:t(\"./format_labels\"),calc:t(\"../scattergeo/calc\"),plot:t(\"./plot\"),hoverPoints:t(\"./hover\").hoverPoints,eventData:t(\"./event_data\"),selectPoints:t(\"./select\"),styleOnSelect:function(t,e){e&&e[0].trace._glTrace.update(e)},moduleType:\"trace\",name:\"scattermapbox\",basePlotModule:t(\"../../plots/mapbox\"),categories:[\"mapbox\",\"gl\",\"symbols\",\"showLegend\",\"scatter-like\"],meta:{}}},{\"../../plots/mapbox\":613,\"../scatter/marker_colorbar\":945,\"../scattergeo/calc\":970,\"./attributes\":993,\"./defaults\":995,\"./event_data\":996,\"./format_labels\":997,\"./hover\":998,\"./plot\":1e3,\"./select\":1001}],1e3:[function(t,e,r){\"use strict\";var n=t(\"./convert\"),i=t(\"../../plots/mapbox/constants\").traceLayerPrefix,a=[\"fill\",\"line\",\"circle\",\"symbol\"];function o(t,e){this.type=\"scattermapbox\",this.subplot=t,this.uid=e,this.sourceIds={fill:\"source-\"+e+\"-fill\",line:\"source-\"+e+\"-line\",circle:\"source-\"+e+\"-circle\",symbol:\"source-\"+e+\"-symbol\"},this.layerIds={fill:i+e+\"-fill\",line:i+e+\"-line\",circle:i+e+\"-circle\",symbol:i+e+\"-symbol\"},this.below=null}var s=o.prototype;s.addSource=function(t,e){this.subplot.map.addSource(this.sourceIds[t],{type:\"geojson\",data:e.geojson})},s.setSourceData=function(t,e){this.subplot.map.getSource(this.sourceIds[t]).setData(e.geojson)},s.addLayer=function(t,e,r){this.subplot.addLayer({type:t,id:this.layerIds[t],source:this.sourceIds[t],layout:e.layout,paint:e.paint},r)},s.update=function(t){var e,r,i,o=this.subplot,s=o.map,l=n(o.gd,t),c=o.belowLookup[\"trace-\"+this.uid];if(c!==this.below){for(e=a.length-1;e>=0;e--)r=a[e],s.removeLayer(this.layerIds[r]);for(e=0;e<a.length;e++)i=l[r=a[e]],this.addLayer(r,i,c);this.below=c}for(e=0;e<a.length;e++)i=l[r=a[e]],o.setOptions(this.layerIds[r],\"setLayoutProperty\",i.layout),\"visible\"===i.layout.visibility&&(this.setSourceData(r,i),o.setOptions(this.layerIds[r],\"setPaintProperty\",i.paint));t[0].trace._glTrace=this},s.dispose=function(){for(var t=this.subplot.map,e=a.length-1;e>=0;e--){var r=a[e];t.removeLayer(this.layerIds[r]),t.removeSource(this.sourceIds[r])}},e.exports=function(t,e){for(var r=e[0].trace,i=new o(t,r.uid),s=n(t.gd,e),l=i.below=t.belowLookup[\"trace-\"+r.uid],c=0;c<a.length;c++){var u=a[c],f=s[u];i.addSource(u,f),i.addLayer(u,f,l)}return e[0].trace._glTrace=i,i}},{\"../../plots/mapbox/constants\":611,\"./convert\":994}],1001:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../scatter/subtypes\"),a=t(\"../../constants/numerical\").BADNUM;e.exports=function(t,e){var r,o=t.cd,s=t.xaxis,l=t.yaxis,c=[],u=o[0].trace;if(!i.hasMarkers(u))return[];if(!1===e)for(r=0;r<o.length;r++)o[r].selected=0;else for(r=0;r<o.length;r++){var f=o[r],h=f.lonlat;if(h[0]!==a){var p=[n.modHalf(h[0],360),h[1]],d=[s.c2p(p),l.c2p(p)];e.contains(d,null,r,t)?(c.push({pointNumber:r,lon:h[0],lat:h[1]}),f.selected=1):f.selected=0}}return c}},{\"../../constants/numerical\":479,\"../../lib\":503,\"../scatter/subtypes\":952}],1002:[function(t,e,r){\"use strict\";var n=t(\"../../plots/template_attributes\").hovertemplateAttrs,i=t(\"../../plots/template_attributes\").texttemplateAttrs,a=t(\"../../lib/extend\").extendFlat,o=t(\"../scatter/attributes\"),s=t(\"../../plots/attributes\"),l=o.line;e.exports={mode:o.mode,r:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},theta:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},r0:{valType:\"any\",dflt:0,editType:\"calc+clearAxisTypes\"},dr:{valType:\"number\",dflt:1,editType:\"calc\"},theta0:{valType:\"any\",dflt:0,editType:\"calc+clearAxisTypes\"},dtheta:{valType:\"number\",editType:\"calc\"},thetaunit:{valType:\"enumerated\",values:[\"radians\",\"degrees\",\"gradians\"],dflt:\"degrees\",editType:\"calc+clearAxisTypes\"},text:o.text,texttemplate:i({editType:\"plot\"},{keys:[\"r\",\"theta\",\"text\"]}),hovertext:o.hovertext,line:{color:l.color,width:l.width,dash:l.dash,shape:a({},l.shape,{values:[\"linear\",\"spline\"]}),smoothing:l.smoothing,editType:\"calc\"},connectgaps:o.connectgaps,marker:o.marker,cliponaxis:a({},o.cliponaxis,{dflt:!1}),textposition:o.textposition,textfont:o.textfont,fill:a({},o.fill,{values:[\"none\",\"toself\",\"tonext\"],dflt:\"none\"}),fillcolor:o.fillcolor,hoverinfo:a({},s.hoverinfo,{flags:[\"r\",\"theta\",\"text\",\"name\"]}),hoveron:o.hoveron,hovertemplate:n(),selected:o.selected,unselected:o.unselected}},{\"../../lib/extend\":493,\"../../plots/attributes\":550,\"../../plots/template_attributes\":633,\"../scatter/attributes\":927}],1003:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../../constants/numerical\").BADNUM,a=t(\"../../plots/cartesian/axes\"),o=t(\"../scatter/colorscale_calc\"),s=t(\"../scatter/arrays_to_calcdata\"),l=t(\"../scatter/calc_selection\"),c=t(\"../scatter/calc\").calcMarkerSize;e.exports=function(t,e){for(var r=t._fullLayout,u=e.subplot,f=r[u].radialaxis,h=r[u].angularaxis,p=f.makeCalcdata(e,\"r\"),d=h.makeCalcdata(e,\"theta\"),m=e._length,g=new Array(m),v=0;v<m;v++){var y=p[v],x=d[v],b=g[v]={};n(y)&&n(x)?(b.r=y,b.theta=x):b.r=i}var _=c(e,m);return e._extremes.x=a.findExtremes(f,p,{ppad:_}),o(t,e),s(g,e),l(g,e),g}},{\"../../constants/numerical\":479,\"../../plots/cartesian/axes\":554,\"../scatter/arrays_to_calcdata\":926,\"../scatter/calc\":928,\"../scatter/calc_selection\":929,\"../scatter/colorscale_calc\":930,\"fast-isnumeric\":190}],1004:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../scatter/subtypes\"),a=t(\"../scatter/marker_defaults\"),o=t(\"../scatter/line_defaults\"),s=t(\"../scatter/line_shape_defaults\"),l=t(\"../scatter/text_defaults\"),c=t(\"../scatter/fillcolor_defaults\"),u=t(\"../scatter/constants\").PTS_LINESONLY,f=t(\"./attributes\");function h(t,e,r,n){var i,a=n(\"r\"),o=n(\"theta\");if(a)o?i=Math.min(a.length,o.length):(i=a.length,n(\"theta0\"),n(\"dtheta\"));else{if(!o)return 0;i=e.theta.length,n(\"r0\"),n(\"dr\")}return e._length=i,i}e.exports={handleRThetaDefaults:h,supplyDefaults:function(t,e,r,p){function d(r,i){return n.coerce(t,e,f,r,i)}var m=h(t,e,p,d);if(m){d(\"thetaunit\"),d(\"mode\",m<u?\"lines+markers\":\"lines\"),d(\"text\"),d(\"hovertext\"),\"fills\"!==e.hoveron&&d(\"hovertemplate\"),i.hasLines(e)&&(o(t,e,r,p,d),s(t,e,d),d(\"connectgaps\")),i.hasMarkers(e)&&a(t,e,r,p,d,{gradient:!0}),i.hasText(e)&&(d(\"texttemplate\"),l(t,e,p,d));var g=[];(i.hasMarkers(e)||i.hasText(e))&&(d(\"cliponaxis\"),d(\"marker.maxdisplayed\"),g.push(\"points\")),d(\"fill\"),\"none\"!==e.fill&&(c(t,e,r,d),i.hasLines(e)||s(t,e,d)),\"tonext\"!==e.fill&&\"toself\"!==e.fill||g.push(\"fills\"),d(\"hoveron\",g.join(\"+\")||\"points\"),n.coerceSelectionMarkerOpacity(e,d)}else e.visible=!1}}},{\"../../lib\":503,\"../scatter/constants\":931,\"../scatter/fillcolor_defaults\":935,\"../scatter/line_defaults\":940,\"../scatter/line_shape_defaults\":942,\"../scatter/marker_defaults\":946,\"../scatter/subtypes\":952,\"../scatter/text_defaults\":953,\"./attributes\":1002}],1005:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../plots/cartesian/axes\");e.exports=function(t,e,r){var a,o,s={},l=r[e.subplot]._subplot;l?(a=l.radialAxis,o=l.angularAxis):(a=(l=r[e.subplot]).radialaxis,o=l.angularaxis);var c=a.c2l(t.r);s.rLabel=i.tickText(a,c,!0).text;var u=\"degrees\"===o.thetaunit?n.rad2deg(t.theta):t.theta;return s.thetaLabel=i.tickText(o,u,!0).text,s}},{\"../../lib\":503,\"../../plots/cartesian/axes\":554}],1006:[function(t,e,r){\"use strict\";var n=t(\"../scatter/hover\");function i(t,e,r,n){var i=r.radialAxis,a=r.angularAxis;i._hovertitle=\"r\",a._hovertitle=\"\\u03b8\";var o={};o[e.subplot]={_subplot:r};var s=e._module.formatLabels(t,e,o);n.rLabel=s.rLabel,n.thetaLabel=s.thetaLabel;var l=t.hi||e.hoverinfo,c=[];function u(t,e){c.push(t._hovertitle+\": \"+e)}if(!e.hovertemplate){var f=l.split(\"+\");-1!==f.indexOf(\"all\")&&(f=[\"r\",\"theta\",\"text\"]),-1!==f.indexOf(\"r\")&&u(i,n.rLabel),-1!==f.indexOf(\"theta\")&&u(a,n.thetaLabel),-1!==f.indexOf(\"text\")&&n.text&&(c.push(n.text),delete n.text),n.extraText=c.join(\"<br>\")}}e.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}},{\"../scatter/hover\":938}],1007:[function(t,e,r){\"use strict\";e.exports={moduleType:\"trace\",name:\"scatterpolar\",basePlotModule:t(\"../../plots/polar\"),categories:[\"polar\",\"symbols\",\"showLegend\",\"scatter-like\"],attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\").supplyDefaults,colorbar:t(\"../scatter/marker_colorbar\"),formatLabels:t(\"./format_labels\"),calc:t(\"./calc\"),plot:t(\"./plot\"),style:t(\"../scatter/style\").style,styleOnSelect:t(\"../scatter/style\").styleOnSelect,hoverPoints:t(\"./hover\").hoverPoints,selectPoints:t(\"../scatter/select\"),meta:{}}},{\"../../plots/polar\":622,\"../scatter/marker_colorbar\":945,\"../scatter/select\":949,\"../scatter/style\":951,\"./attributes\":1002,\"./calc\":1003,\"./defaults\":1004,\"./format_labels\":1005,\"./hover\":1006,\"./plot\":1008}],1008:[function(t,e,r){\"use strict\";var n=t(\"../scatter/plot\"),i=t(\"../../constants/numerical\").BADNUM;e.exports=function(t,e,r){for(var a=e.layers.frontplot.select(\"g.scatterlayer\"),o={xaxis:e.xaxis,yaxis:e.yaxis,plot:e.framework,layerClipId:e._hasClipOnAxisFalse?e.clipIds.forTraces:null},s=e.radialAxis,l=e.angularAxis,c=0;c<r.length;c++)for(var u=r[c],f=0;f<u.length;f++){var h=u[f],p=h.r;if(p===i)h.x=h.y=i;else{var d=s.c2g(p),m=l.c2g(h.theta);h.x=d*Math.cos(m),h.y=d*Math.sin(m)}}n(t,o,r,a)}},{\"../../constants/numerical\":479,\"../scatter/plot\":948}],1009:[function(t,e,r){\"use strict\";var n=t(\"../scatterpolar/attributes\"),i=t(\"../scattergl/attributes\"),a=t(\"../../plots/template_attributes\").texttemplateAttrs;e.exports={mode:n.mode,r:n.r,theta:n.theta,r0:n.r0,dr:n.dr,theta0:n.theta0,dtheta:n.dtheta,thetaunit:n.thetaunit,text:n.text,texttemplate:a({editType:\"plot\"},{keys:[\"r\",\"theta\",\"text\"]}),hovertext:n.hovertext,hovertemplate:n.hovertemplate,line:i.line,connectgaps:i.connectgaps,marker:i.marker,fill:i.fill,fillcolor:i.fillcolor,textposition:i.textposition,textfont:i.textfont,hoverinfo:n.hoverinfo,selected:n.selected,unselected:n.unselected}},{\"../../plots/template_attributes\":633,\"../scattergl/attributes\":979,\"../scatterpolar/attributes\":1002}],1010:[function(t,e,r){\"use strict\";e.exports={moduleType:\"trace\",name:\"scatterpolargl\",basePlotModule:t(\"../../plots/polar\"),categories:[\"gl\",\"regl\",\"polar\",\"symbols\",\"showLegend\",\"scatter-like\"],attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\"),colorbar:t(\"../scatter/marker_colorbar\"),formatLabels:t(\"./format_labels\"),calc:t(\"./calc\"),hoverPoints:t(\"./hover\").hoverPoints,selectPoints:t(\"../scattergl/select\"),meta:{}}},{\"../../plots/polar\":622,\"../scatter/marker_colorbar\":945,\"../scattergl/select\":992,\"./attributes\":1009,\"./calc\":1011,\"./defaults\":1012,\"./format_labels\":1013,\"./hover\":1014}],1011:[function(t,e,r){\"use strict\";var n=t(\"../scatter/colorscale_calc\"),i=t(\"../scatter/calc\").calcMarkerSize,a=t(\"../scattergl/convert\"),o=t(\"../../plots/cartesian/axes\"),s=t(\"../scattergl/constants\").TOO_MANY_POINTS;e.exports=function(t,e){var r=t._fullLayout,l=e.subplot,c=r[l].radialaxis,u=r[l].angularaxis,f=e._r=c.makeCalcdata(e,\"r\"),h=e._theta=u.makeCalcdata(e,\"theta\"),p=e._length,d={};p<f.length&&(f=f.slice(0,p)),p<h.length&&(h=h.slice(0,p)),d.r=f,d.theta=h,n(t,e);var m,g=d.opts=a.style(t,e);return p<s?m=i(e,p):g.marker&&(m=2*(g.marker.sizeAvg||Math.max(g.marker.size,3))),e._extremes.x=o.findExtremes(c,f,{ppad:m}),[{x:!1,y:!1,t:d,trace:e}]}},{\"../../plots/cartesian/axes\":554,\"../scatter/calc\":928,\"../scatter/colorscale_calc\":930,\"../scattergl/constants\":982,\"../scattergl/convert\":983}],1012:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../scatter/subtypes\"),a=t(\"../scatterpolar/defaults\").handleRThetaDefaults,o=t(\"../scatter/marker_defaults\"),s=t(\"../scatter/line_defaults\"),l=t(\"../scatter/text_defaults\"),c=t(\"../scatter/fillcolor_defaults\"),u=t(\"../scatter/constants\").PTS_LINESONLY,f=t(\"./attributes\");e.exports=function(t,e,r,h){function p(r,i){return n.coerce(t,e,f,r,i)}var d=a(t,e,h,p);d?(p(\"thetaunit\"),p(\"mode\",d<u?\"lines+markers\":\"lines\"),p(\"text\"),p(\"hovertext\"),\"fills\"!==e.hoveron&&p(\"hovertemplate\"),i.hasLines(e)&&(s(t,e,r,h,p),p(\"connectgaps\")),i.hasMarkers(e)&&o(t,e,r,h,p),i.hasText(e)&&(p(\"texttemplate\"),l(t,e,h,p)),p(\"fill\"),\"none\"!==e.fill&&c(t,e,r,p),n.coerceSelectionMarkerOpacity(e,p)):e.visible=!1}},{\"../../lib\":503,\"../scatter/constants\":931,\"../scatter/fillcolor_defaults\":935,\"../scatter/line_defaults\":940,\"../scatter/marker_defaults\":946,\"../scatter/subtypes\":952,\"../scatter/text_defaults\":953,\"../scatterpolar/defaults\":1004,\"./attributes\":1009}],1013:[function(t,e,r){\"use strict\";var n=t(\"../scatterpolar/format_labels\");e.exports=function(t,e,r){var i=t.i;return\"r\"in t||(t.r=e._r[i]),\"theta\"in t||(t.theta=e._theta[i]),n(t,e,r)}},{\"../scatterpolar/format_labels\":1005}],1014:[function(t,e,r){\"use strict\";var n=t(\"../scattergl/hover\"),i=t(\"../scatterpolar/hover\").makeHoverPointText;e.exports={hoverPoints:function(t,e,r,a){var o=t.cd[0].t,s=o.r,l=o.theta,c=n.hoverPoints(t,e,r,a);if(c&&!1!==c[0].index){var u=c[0];if(void 0===u.index)return c;var f=t.subplot,h=u.cd[u.index],p=u.trace;if(h.r=s[u.index],h.theta=l[u.index],f.isPtInside(h))return u.xLabelVal=void 0,u.yLabelVal=void 0,i(h,p,f,u),c}}}},{\"../scattergl/hover\":988,\"../scatterpolar/hover\":1006}],1015:[function(t,e,r){arguments[4][896][0].apply(r,arguments)},{\"./base_index\":1010,\"./plot\":1016,dup:896}],1016:[function(t,e,r){\"use strict\";var n=t(\"@plotly/point-cluster\"),i=t(\"fast-isnumeric\"),a=t(\"../scattergl/plot\"),o=t(\"../scattergl/scene_update\"),s=t(\"../scattergl/convert\"),l=t(\"../../lib\"),c=t(\"../scattergl/constants\").TOO_MANY_POINTS;e.exports=function(t,e,r){if(r.length){var u=e.radialAxis,f=e.angularAxis,h=o(t,e);return r.forEach((function(r){if(r&&r[0]&&r[0].trace){var a,o=r[0],p=o.trace,d=o.t,m=p._length,g=d.r,v=d.theta,y=d.opts,x=g.slice(),b=v.slice();for(a=0;a<g.length;a++)e.isPtInside({r:g[a],theta:v[a]})||(x[a]=NaN,b[a]=NaN);var _=new Array(2*m),w=Array(m),T=Array(m);for(a=0;a<m;a++){var k,A,M=x[a];if(i(M)){var S=u.c2g(M),E=f.c2g(b[a],p.thetaunit);k=S*Math.cos(E),A=S*Math.sin(E)}else k=A=NaN;w[a]=_[2*a]=k,T[a]=_[2*a+1]=A}d.tree=n(_),y.marker&&m>=c&&(y.marker.cluster=d.tree),y.marker&&(y.markerSel.positions=y.markerUnsel.positions=y.marker.positions=_),y.line&&_.length>1&&l.extendFlat(y.line,s.linePositions(t,p,_)),y.text&&(l.extendFlat(y.text,{positions:_},s.textPosition(t,p,y.text,y.marker)),l.extendFlat(y.textSel,{positions:_},s.textPosition(t,p,y.text,y.markerSel)),l.extendFlat(y.textUnsel,{positions:_},s.textPosition(t,p,y.text,y.markerUnsel))),y.fill&&!h.fill2d&&(h.fill2d=!0),y.marker&&!h.scatter2d&&(h.scatter2d=!0),y.line&&!h.line2d&&(h.line2d=!0),y.text&&!h.glText&&(h.glText=!0),h.lineOptions.push(y.line),h.fillOptions.push(y.fill),h.markerOptions.push(y.marker),h.markerSelectedOptions.push(y.markerSel),h.markerUnselectedOptions.push(y.markerUnsel),h.textOptions.push(y.text),h.textSelectedOptions.push(y.textSel),h.textUnselectedOptions.push(y.textUnsel),h.selectBatch.push([]),h.unselectBatch.push([]),d.x=w,d.y=T,d.rawx=w,d.rawy=T,d.r=g,d.theta=v,d.positions=_,d._scene=h,d.index=h.count,h.count++}})),a(t,e,r)}},e.exports.reglPrecompiled={}},{\"../../lib\":503,\"../scattergl/constants\":982,\"../scattergl/convert\":983,\"../scattergl/plot\":990,\"../scattergl/scene_update\":991,\"@plotly/point-cluster\":59,\"fast-isnumeric\":190}],1017:[function(t,e,r){\"use strict\";var n=t(\"../../plots/template_attributes\").hovertemplateAttrs,i=t(\"../../plots/template_attributes\").texttemplateAttrs,a=t(\"../../lib/extend\").extendFlat,o=t(\"../scatter/attributes\"),s=t(\"../../plots/attributes\"),l=o.line;e.exports={mode:o.mode,real:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},imag:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},text:o.text,texttemplate:i({editType:\"plot\"},{keys:[\"real\",\"imag\",\"text\"]}),hovertext:o.hovertext,line:{color:l.color,width:l.width,dash:l.dash,shape:a({},l.shape,{values:[\"linear\",\"spline\"]}),smoothing:l.smoothing,editType:\"calc\"},connectgaps:o.connectgaps,marker:o.marker,cliponaxis:a({},o.cliponaxis,{dflt:!1}),textposition:o.textposition,textfont:o.textfont,fill:a({},o.fill,{values:[\"none\",\"toself\",\"tonext\"],dflt:\"none\"}),fillcolor:o.fillcolor,hoverinfo:a({},s.hoverinfo,{flags:[\"real\",\"imag\",\"text\",\"name\"]}),hoveron:o.hoveron,hovertemplate:n(),selected:o.selected,unselected:o.unselected}},{\"../../lib/extend\":493,\"../../plots/attributes\":550,\"../../plots/template_attributes\":633,\"../scatter/attributes\":927}],1018:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../../constants/numerical\").BADNUM,a=t(\"../scatter/colorscale_calc\"),o=t(\"../scatter/arrays_to_calcdata\"),s=t(\"../scatter/calc_selection\"),l=t(\"../scatter/calc\").calcMarkerSize;e.exports=function(t,e){for(var r=t._fullLayout,c=e.subplot,u=r[c].realaxis,f=r[c].imaginaryaxis,h=u.makeCalcdata(e,\"real\"),p=f.makeCalcdata(e,\"imag\"),d=e._length,m=new Array(d),g=0;g<d;g++){var v=h[g],y=p[g],x=m[g]={};n(v)&&n(y)?(x.real=v,x.imag=y):x.real=i}return l(e,d),a(t,e),o(m,e),s(m,e),m}},{\"../../constants/numerical\":479,\"../scatter/arrays_to_calcdata\":926,\"../scatter/calc\":928,\"../scatter/calc_selection\":929,\"../scatter/colorscale_calc\":930,\"fast-isnumeric\":190}],1019:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../scatter/subtypes\"),a=t(\"../scatter/marker_defaults\"),o=t(\"../scatter/line_defaults\"),s=t(\"../scatter/line_shape_defaults\"),l=t(\"../scatter/text_defaults\"),c=t(\"../scatter/fillcolor_defaults\"),u=t(\"../scatter/constants\").PTS_LINESONLY,f=t(\"./attributes\");e.exports=function(t,e,r,h){function p(r,i){return n.coerce(t,e,f,r,i)}var d=function(t,e,r,n){var i,a=n(\"real\"),o=n(\"imag\");a&&o&&(i=Math.min(a.length,o.length));return e._length=i,i}(0,e,0,p);if(d){p(\"mode\",d<u?\"lines+markers\":\"lines\"),p(\"text\"),p(\"hovertext\"),\"fills\"!==e.hoveron&&p(\"hovertemplate\"),i.hasLines(e)&&(o(t,e,r,h,p),s(t,e,p),p(\"connectgaps\")),i.hasMarkers(e)&&a(t,e,r,h,p,{gradient:!0}),i.hasText(e)&&(p(\"texttemplate\"),l(t,e,h,p));var m=[];(i.hasMarkers(e)||i.hasText(e))&&(p(\"cliponaxis\"),p(\"marker.maxdisplayed\"),m.push(\"points\")),p(\"fill\"),\"none\"!==e.fill&&(c(t,e,r,p),i.hasLines(e)||s(t,e,p)),\"tonext\"!==e.fill&&\"toself\"!==e.fill||m.push(\"fills\"),p(\"hoveron\",m.join(\"+\")||\"points\"),n.coerceSelectionMarkerOpacity(e,p)}else e.visible=!1}},{\"../../lib\":503,\"../scatter/constants\":931,\"../scatter/fillcolor_defaults\":935,\"../scatter/line_defaults\":940,\"../scatter/line_shape_defaults\":942,\"../scatter/marker_defaults\":946,\"../scatter/subtypes\":952,\"../scatter/text_defaults\":953,\"./attributes\":1017}],1020:[function(t,e,r){\"use strict\";var n=t(\"../../plots/cartesian/axes\");e.exports=function(t,e,r){var i={},a=r[e.subplot]._subplot;return i.realLabel=n.tickText(a.radialAxis,t.real,!0).text,i.imagLabel=n.tickText(a.angularAxis,t.imag,!0).text,i}},{\"../../plots/cartesian/axes\":554}],1021:[function(t,e,r){\"use strict\";var n=t(\"../scatter/hover\");function i(t,e,r,n){var i=r.radialAxis,a=r.angularAxis;i._hovertitle=\"real\",a._hovertitle=\"imag\";var o={};o[e.subplot]={_subplot:r};var s=e._module.formatLabels(t,e,o);n.realLabel=s.realLabel,n.imagLabel=s.imagLabel;var l=t.hi||e.hoverinfo,c=[];function u(t,e){c.push(t._hovertitle+\": \"+e)}if(!e.hovertemplate){var f=l.split(\"+\");-1!==f.indexOf(\"all\")&&(f=[\"real\",\"imag\",\"text\"]),-1!==f.indexOf(\"real\")&&u(i,n.realLabel),-1!==f.indexOf(\"imag\")&&u(a,n.imagLabel),-1!==f.indexOf(\"text\")&&n.text&&(c.push(n.text),delete n.text),n.extraText=c.join(\"<br>\")}}e.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}},{\"../scatter/hover\":938}],1022:[function(t,e,r){\"use strict\";e.exports={moduleType:\"trace\",name:\"scattersmith\",basePlotModule:t(\"../../plots/smith\"),categories:[\"smith\",\"symbols\",\"showLegend\",\"scatter-like\"],attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\"),colorbar:t(\"../scatter/marker_colorbar\"),formatLabels:t(\"./format_labels\"),calc:t(\"./calc\"),plot:t(\"./plot\"),style:t(\"../scatter/style\").style,styleOnSelect:t(\"../scatter/style\").styleOnSelect,hoverPoints:t(\"./hover\").hoverPoints,selectPoints:t(\"../scatter/select\"),meta:{}}},{\"../../plots/smith\":629,\"../scatter/marker_colorbar\":945,\"../scatter/select\":949,\"../scatter/style\":951,\"./attributes\":1017,\"./calc\":1018,\"./defaults\":1019,\"./format_labels\":1020,\"./hover\":1021,\"./plot\":1023}],1023:[function(t,e,r){\"use strict\";var n=t(\"../scatter/plot\"),i=t(\"../../constants/numerical\").BADNUM,a=t(\"../../plots/smith/helpers\").smith;e.exports=function(t,e,r){for(var o=e.layers.frontplot.select(\"g.scatterlayer\"),s={xaxis:e.xaxis,yaxis:e.yaxis,plot:e.framework,layerClipId:e._hasClipOnAxisFalse?e.clipIds.forTraces:null},l=0;l<r.length;l++)for(var c=r[l],u=0;u<c.length;u++){var f=c[u],h=f.real;if(h===i)f.x=f.y=i;else{var p=a([h,f.imag]);f.x=p[0],f.y=p[1]}}n(t,s,r,o)}},{\"../../constants/numerical\":479,\"../../plots/smith/helpers\":628,\"../scatter/plot\":948}],1024:[function(t,e,r){\"use strict\";var n=t(\"../../plots/template_attributes\").hovertemplateAttrs,i=t(\"../../plots/template_attributes\").texttemplateAttrs,a=t(\"../scatter/attributes\"),o=t(\"../../plots/attributes\"),s=t(\"../../components/colorscale/attributes\"),l=t(\"../../components/drawing/attributes\").dash,c=t(\"../../lib/extend\").extendFlat,u=a.marker,f=a.line,h=u.line;e.exports={a:{valType:\"data_array\",editType:\"calc\"},b:{valType:\"data_array\",editType:\"calc\"},c:{valType:\"data_array\",editType:\"calc\"},sum:{valType:\"number\",dflt:0,min:0,editType:\"calc\"},mode:c({},a.mode,{dflt:\"markers\"}),text:c({},a.text,{}),texttemplate:i({editType:\"plot\"},{keys:[\"a\",\"b\",\"c\",\"text\"]}),hovertext:c({},a.hovertext,{}),line:{color:f.color,width:f.width,dash:l,shape:c({},f.shape,{values:[\"linear\",\"spline\"]}),smoothing:f.smoothing,editType:\"calc\"},connectgaps:a.connectgaps,cliponaxis:a.cliponaxis,fill:c({},a.fill,{values:[\"none\",\"toself\",\"tonext\"],dflt:\"none\"}),fillcolor:a.fillcolor,marker:c({symbol:u.symbol,opacity:u.opacity,maxdisplayed:u.maxdisplayed,size:u.size,sizeref:u.sizeref,sizemin:u.sizemin,sizemode:u.sizemode,line:c({width:h.width,editType:\"calc\"},s(\"marker.line\")),gradient:u.gradient,editType:\"calc\"},s(\"marker\")),textfont:a.textfont,textposition:a.textposition,selected:a.selected,unselected:a.unselected,hoverinfo:c({},o.hoverinfo,{flags:[\"a\",\"b\",\"c\",\"text\",\"name\"]}),hoveron:a.hoveron,hovertemplate:n()}},{\"../../components/colorscale/attributes\":373,\"../../components/drawing/attributes\":387,\"../../lib/extend\":493,\"../../plots/attributes\":550,\"../../plots/template_attributes\":633,\"../scatter/attributes\":927}],1025:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../scatter/colorscale_calc\"),a=t(\"../scatter/arrays_to_calcdata\"),o=t(\"../scatter/calc_selection\"),s=t(\"../scatter/calc\").calcMarkerSize,l=[\"a\",\"b\",\"c\"],c={a:[\"b\",\"c\"],b:[\"a\",\"c\"],c:[\"a\",\"b\"]};e.exports=function(t,e){var r,u,f,h,p,d,m=t._fullLayout[e.subplot].sum,g=e.sum||m,v={a:e.a,b:e.b,c:e.c};for(r=0;r<l.length;r++)if(!v[f=l[r]]){for(p=v[c[f][0]],d=v[c[f][1]],h=new Array(p.length),u=0;u<p.length;u++)h[u]=g-p[u]-d[u];v[f]=h}var y,x,b,_,w,T,k=e._length,A=new Array(k);for(r=0;r<k;r++)y=v.a[r],x=v.b[r],b=v.c[r],n(y)&&n(x)&&n(b)?(1!==(_=m/((y=+y)+(x=+x)+(b=+b)))&&(y*=_,x*=_,b*=_),T=y,w=b-x,A[r]={x:w,y:T,a:y,b:x,c:b}):A[r]={x:!1,y:!1};return s(e,k),i(t,e),a(A,e),o(A,e),A}},{\"../scatter/arrays_to_calcdata\":926,\"../scatter/calc\":928,\"../scatter/calc_selection\":929,\"../scatter/colorscale_calc\":930,\"fast-isnumeric\":190}],1026:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../scatter/constants\"),a=t(\"../scatter/subtypes\"),o=t(\"../scatter/marker_defaults\"),s=t(\"../scatter/line_defaults\"),l=t(\"../scatter/line_shape_defaults\"),c=t(\"../scatter/text_defaults\"),u=t(\"../scatter/fillcolor_defaults\"),f=t(\"./attributes\");e.exports=function(t,e,r,h){function p(r,i){return n.coerce(t,e,f,r,i)}var d,m=p(\"a\"),g=p(\"b\"),v=p(\"c\");if(m?(d=m.length,g?(d=Math.min(d,g.length),v&&(d=Math.min(d,v.length))):d=v?Math.min(d,v.length):0):g&&v&&(d=Math.min(g.length,v.length)),d){e._length=d,p(\"sum\"),p(\"text\"),p(\"hovertext\"),\"fills\"!==e.hoveron&&p(\"hovertemplate\"),p(\"mode\",d<i.PTS_LINESONLY?\"lines+markers\":\"lines\"),a.hasLines(e)&&(s(t,e,r,h,p),l(t,e,p),p(\"connectgaps\")),a.hasMarkers(e)&&o(t,e,r,h,p,{gradient:!0}),a.hasText(e)&&(p(\"texttemplate\"),c(t,e,h,p));var y=[];(a.hasMarkers(e)||a.hasText(e))&&(p(\"cliponaxis\"),p(\"marker.maxdisplayed\"),y.push(\"points\")),p(\"fill\"),\"none\"!==e.fill&&(u(t,e,r,p),a.hasLines(e)||l(t,e,p)),\"tonext\"!==e.fill&&\"toself\"!==e.fill||y.push(\"fills\"),p(\"hoveron\",y.join(\"+\")||\"points\"),n.coerceSelectionMarkerOpacity(e,p)}else e.visible=!1}},{\"../../lib\":503,\"../scatter/constants\":931,\"../scatter/fillcolor_defaults\":935,\"../scatter/line_defaults\":940,\"../scatter/line_shape_defaults\":942,\"../scatter/marker_defaults\":946,\"../scatter/subtypes\":952,\"../scatter/text_defaults\":953,\"./attributes\":1024}],1027:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,n,i){if(e.xa&&(t.xaxis=e.xa),e.ya&&(t.yaxis=e.ya),n[i]){var a=n[i];t.a=a.a,t.b=a.b,t.c=a.c}else t.a=e.a,t.b=e.b,t.c=e.c;return t}},{}],1028:[function(t,e,r){\"use strict\";var n=t(\"../../plots/cartesian/axes\");e.exports=function(t,e,r){var i={},a=r[e.subplot]._subplot;return i.aLabel=n.tickText(a.aaxis,t.a,!0).text,i.bLabel=n.tickText(a.baxis,t.b,!0).text,i.cLabel=n.tickText(a.caxis,t.c,!0).text,i}},{\"../../plots/cartesian/axes\":554}],1029:[function(t,e,r){\"use strict\";var n=t(\"../scatter/hover\");e.exports=function(t,e,r,i){var a=n(t,e,r,i);if(a&&!1!==a[0].index){var o=a[0];if(void 0===o.index){var s=1-o.y0/t.ya._length,l=t.xa._length,c=l*s/2,u=l-c;return o.x0=Math.max(Math.min(o.x0,u),c),o.x1=Math.max(Math.min(o.x1,u),c),a}var f=o.cd[o.index],h=o.trace,p=o.subplot;o.a=f.a,o.b=f.b,o.c=f.c,o.xLabelVal=void 0,o.yLabelVal=void 0;var d={};d[h.subplot]={_subplot:p};var m=h._module.formatLabels(f,h,d);o.aLabel=m.aLabel,o.bLabel=m.bLabel,o.cLabel=m.cLabel;var g=f.hi||h.hoverinfo,v=[];if(!h.hovertemplate){var y=g.split(\"+\");-1!==y.indexOf(\"all\")&&(y=[\"a\",\"b\",\"c\"]),-1!==y.indexOf(\"a\")&&x(p.aaxis,o.aLabel),-1!==y.indexOf(\"b\")&&x(p.baxis,o.bLabel),-1!==y.indexOf(\"c\")&&x(p.caxis,o.cLabel)}return o.extraText=v.join(\"<br>\"),o.hovertemplate=h.hovertemplate,a}function x(t,e){v.push(t._hovertitle+\": \"+e)}}},{\"../scatter/hover\":938}],1030:[function(t,e,r){\"use strict\";e.exports={attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\"),colorbar:t(\"../scatter/marker_colorbar\"),formatLabels:t(\"./format_labels\"),calc:t(\"./calc\"),plot:t(\"./plot\"),style:t(\"../scatter/style\").style,styleOnSelect:t(\"../scatter/style\").styleOnSelect,hoverPoints:t(\"./hover\"),selectPoints:t(\"../scatter/select\"),eventData:t(\"./event_data\"),moduleType:\"trace\",name:\"scatterternary\",basePlotModule:t(\"../../plots/ternary\"),categories:[\"ternary\",\"symbols\",\"showLegend\",\"scatter-like\"],meta:{}}},{\"../../plots/ternary\":634,\"../scatter/marker_colorbar\":945,\"../scatter/select\":949,\"../scatter/style\":951,\"./attributes\":1024,\"./calc\":1025,\"./defaults\":1026,\"./event_data\":1027,\"./format_labels\":1028,\"./hover\":1029,\"./plot\":1031}],1031:[function(t,e,r){\"use strict\";var n=t(\"../scatter/plot\");e.exports=function(t,e,r){var i=e.plotContainer;i.select(\".scatterlayer\").selectAll(\"*\").remove();var a={xaxis:e.xaxis,yaxis:e.yaxis,plot:i,layerClipId:e._hasClipOnAxisFalse?e.clipIdRelative:null},o=e.layers.frontplot.select(\"g.scatterlayer\");n(t,a,r,o)}},{\"../scatter/plot\":948}],1032:[function(t,e,r){\"use strict\";var n=t(\"../scatter/attributes\"),i=t(\"../../components/colorscale/attributes\"),a=t(\"../../plots/cartesian/axis_format_attributes\").axisHoverFormat,o=t(\"../../plots/template_attributes\").hovertemplateAttrs,s=t(\"../scattergl/attributes\"),l=t(\"../../plots/cartesian/constants\").idRegex,c=t(\"../../plot_api/plot_template\").templatedArray,u=t(\"../../lib/extend\").extendFlat,f=n.marker,h=f.line,p=u(i(\"marker.line\",{editTypeOverride:\"calc\"}),{width:u({},h.width,{editType:\"calc\"}),editType:\"calc\"}),d=u(i(\"marker\"),{symbol:f.symbol,size:u({},f.size,{editType:\"markerSize\"}),sizeref:f.sizeref,sizemin:f.sizemin,sizemode:f.sizemode,opacity:f.opacity,colorbar:f.colorbar,line:p,editType:\"calc\"});function m(t){return{valType:\"info_array\",freeLength:!0,editType:\"calc\",items:{valType:\"subplotid\",regex:l[t],editType:\"plot\"}}}d.color.editType=d.cmin.editType=d.cmax.editType=\"style\",e.exports={dimensions:c(\"dimension\",{visible:{valType:\"boolean\",dflt:!0,editType:\"calc\"},label:{valType:\"string\",editType:\"calc\"},values:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},axis:{type:{valType:\"enumerated\",values:[\"linear\",\"log\",\"date\",\"category\"],editType:\"calc+clearAxisTypes\"},matches:{valType:\"boolean\",dflt:!1,editType:\"calc\"},editType:\"calc+clearAxisTypes\"},editType:\"calc+clearAxisTypes\"}),text:u({},s.text,{}),hovertext:u({},s.hovertext,{}),hovertemplate:o(),xhoverformat:a(\"x\"),yhoverformat:a(\"y\"),marker:d,xaxes:m(\"x\"),yaxes:m(\"y\"),diagonal:{visible:{valType:\"boolean\",dflt:!0,editType:\"calc\"},editType:\"calc\"},showupperhalf:{valType:\"boolean\",dflt:!0,editType:\"calc\"},showlowerhalf:{valType:\"boolean\",dflt:!0,editType:\"calc\"},selected:{marker:s.selected.marker,editType:\"calc\"},unselected:{marker:s.unselected.marker,editType:\"calc\"},opacity:s.opacity}},{\"../../components/colorscale/attributes\":373,\"../../lib/extend\":493,\"../../plot_api/plot_template\":543,\"../../plots/cartesian/axis_format_attributes\":557,\"../../plots/cartesian/constants\":561,\"../../plots/template_attributes\":633,\"../scatter/attributes\":927,\"../scattergl/attributes\":979}],1033:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),i=t(\"../../components/grid\");e.exports={moduleType:\"trace\",name:\"splom\",categories:[\"gl\",\"regl\",\"cartesian\",\"symbols\",\"showLegend\",\"scatter-like\"],attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\"),colorbar:t(\"../scatter/marker_colorbar\"),calc:t(\"./calc\"),plot:t(\"./plot\"),hoverPoints:t(\"./hover\").hoverPoints,selectPoints:t(\"./select\"),editStyle:t(\"./edit_style\"),meta:{}},n.register(i)},{\"../../components/grid\":410,\"../../registry\":638,\"../scatter/marker_colorbar\":945,\"./attributes\":1032,\"./calc\":1035,\"./defaults\":1036,\"./edit_style\":1037,\"./hover\":1039,\"./plot\":1041,\"./select\":1043}],1034:[function(t,e,r){\"use strict\";var n=t(\"regl-line2d\"),i=t(\"../../registry\"),a=t(\"../../lib/prepare_regl\"),o=t(\"../../plots/get_data\").getModuleCalcData,s=t(\"../../plots/cartesian\"),l=t(\"../../plots/cartesian/axis_ids\").getFromId,c=t(\"../../plots/cartesian/axes\").shouldShowZeroLine,u={};function f(t,e,r){for(var n=r.matrixOptions.data.length,i=e._visibleDims,a=r.viewOpts.ranges=new Array(n),o=0;o<i.length;o++){var s=i[o],c=a[o]=new Array(4),u=l(t,e._diag[s][0]);u&&(c[0]=u.r2l(u.range[0]),c[2]=u.r2l(u.range[1]));var f=l(t,e._diag[s][1]);f&&(c[1]=f.r2l(f.range[0]),c[3]=f.r2l(f.range[1]))}r.selectBatch.length||r.unselectBatch.length?r.matrix.update({ranges:a},{ranges:a}):r.matrix.update({ranges:a})}function h(t){var e=t._fullLayout,r=e._glcanvas.data()[0].regl,i=e._splomGrid;i||(i=e._splomGrid=n(r)),i.update(function(t){var e,r=t._context.plotGlPixelRatio,n=t._fullLayout,i=n._size,a=[0,0,n.width*r,n.height*r],o={};function s(t,e,n,i,s,l){n*=r,i*=r,s*=r,l*=r;var c=e[t+\"color\"],u=e[t+\"width\"],f=String(c+u);f in o?o[f].data.push(NaN,NaN,n,i,s,l):o[f]={data:[n,i,s,l],join:\"rect\",thickness:u*r,color:c,viewport:a,range:a,overlay:!1}}for(e in n._splomSubplots){var l,u,f=n._plots[e],h=f.xaxis,p=f.yaxis,d=h._gridVals,m=p._gridVals,g=h._offset,v=h._length,y=p._length,x=i.b+p.domain[0]*i.h,b=-p._m,_=-b*p.r2l(p.range[0],p.calendar);if(h.showgrid)for(e=0;e<d.length;e++)l=g+h.l2p(d[e].x),s(\"grid\",h,l,x,l,x+y);if(p.showgrid)for(e=0;e<m.length;e++)u=x+_+b*m[e].x,s(\"grid\",p,g,u,g+v,u);c(t,h,p)&&(l=g+h.l2p(0),s(\"zeroline\",h,l,x,l,x+y)),c(t,p,h)&&s(\"zeroline\",p,g,u=x+_+0,g+v,u)}var w=[];for(e in o)w.push(o[e]);return w}(t))}e.exports={name:\"splom\",attr:s.attr,attrRegex:s.attrRegex,layoutAttributes:s.layoutAttributes,supplyLayoutDefaults:s.supplyLayoutDefaults,drawFramework:s.drawFramework,plot:function(t){var e=t._fullLayout,r=i.getModule(\"splom\"),n=o(t.calcdata,r)[0];a(t,[\"ANGLE_instanced_arrays\",\"OES_element_index_uint\"],u)&&(e._hasOnlyLargeSploms&&h(t),r.plot(t,{},n))},drag:function(t){var e=t.calcdata,r=t._fullLayout;r._hasOnlyLargeSploms&&h(t);for(var n=0;n<e.length;n++){var i=e[n][0].trace,a=r._splomScenes[i.uid];\"splom\"===i.type&&a&&a.matrix&&f(t,i,a)}},updateGrid:h,clean:function(t,e,r,n){var i,a={};if(n._splomScenes){for(i=0;i<t.length;i++){var o=t[i];\"splom\"===o.type&&(a[o.uid]=1)}for(i=0;i<r.length;i++){var l=r[i];if(!a[l.uid]){var c=n._splomScenes[l.uid];c&&c.destroy&&c.destroy(),n._splomScenes[l.uid]=null,delete n._splomScenes[l.uid]}}}0===Object.keys(n._splomScenes||{}).length&&delete n._splomScenes,n._splomGrid&&!e._hasOnlyLargeSploms&&n._hasOnlyLargeSploms&&(n._splomGrid.destroy(),n._splomGrid=null,delete n._splomGrid),s.clean(t,e,r,n)},updateFx:s.updateFx,toSVG:s.toSVG,reglPrecompiled:u}},{\"../../lib/prepare_regl\":516,\"../../plots/cartesian\":568,\"../../plots/cartesian/axes\":554,\"../../plots/cartesian/axis_ids\":558,\"../../plots/get_data\":593,\"../../registry\":638,\"regl-line2d\":280}],1035:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../plots/cartesian/axis_ids\"),a=t(\"../scatter/calc\").calcMarkerSize,o=t(\"../scatter/calc\").calcAxisExpansion,s=t(\"../scatter/colorscale_calc\"),l=t(\"../scattergl/convert\").markerSelection,c=t(\"../scattergl/convert\").markerStyle,u=t(\"./scene_update\"),f=t(\"../../constants/numerical\").BADNUM,h=t(\"../scattergl/constants\").TOO_MANY_POINTS;e.exports=function(t,e){var r,p,d,m,g,v,y=e.dimensions,x=e._length,b={},_=b.cdata=[],w=b.data=[],T=e._visibleDims=[];function k(t,r){for(var i=t.makeCalcdata({v:r.values,vcalendar:e.calendar},\"v\"),a=0;a<i.length;a++)i[a]=i[a]===f?NaN:i[a];_.push(i),w.push(\"log\"===t.type?n.simpleMap(i,t.c2l):i)}for(r=0;r<y.length;r++)if((d=y[r]).visible){if(m=i.getFromId(t,e._diag[r][0]),g=i.getFromId(t,e._diag[r][1]),m&&g&&m.type!==g.type){n.log(\"Skipping splom dimension \"+r+\" with conflicting axis types\");continue}m?(k(m,d),g&&\"category\"===g.type&&(g._categories=m._categories.slice())):k(g,d),T.push(r)}for(s(t,e),n.extendFlat(b,c(e)),v=_.length*x>h?b.sizeAvg||Math.max(b.size,3):a(e,x),p=0;p<T.length;p++)d=y[r=T[p]],m=i.getFromId(t,e._diag[r][0])||{},g=i.getFromId(t,e._diag[r][1])||{},o(t,e,m,g,_[p],_[p],v);var A=u(t,e);return A.matrix||(A.matrix=!0),A.matrixOptions=b,A.selectedOptions=l(e,e.selected),A.unselectedOptions=l(e,e.unselected),[{x:!1,y:!1,t:{},trace:e}]}},{\"../../constants/numerical\":479,\"../../lib\":503,\"../../plots/cartesian/axis_ids\":558,\"../scatter/calc\":928,\"../scatter/colorscale_calc\":930,\"../scattergl/constants\":982,\"../scattergl/convert\":983,\"./scene_update\":1042}],1036:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../plots/array_container_defaults\"),a=t(\"./attributes\"),o=t(\"../scatter/subtypes\"),s=t(\"../scatter/marker_defaults\"),l=t(\"../parcoords/merge_length\"),c=t(\"../scattergl/helpers\").isOpenSymbol;function u(t,e){function r(r,i){return n.coerce(t,e,a.dimensions,r,i)}r(\"label\");var i=r(\"values\");i&&i.length?r(\"visible\"):e.visible=!1,r(\"axis.type\"),r(\"axis.matches\")}e.exports=function(t,e,r,f){function h(r,i){return n.coerce(t,e,a,r,i)}var p=i(t,e,{name:\"dimensions\",handleItemDefaults:u}),d=h(\"diagonal.visible\"),m=h(\"showupperhalf\"),g=h(\"showlowerhalf\");if(l(e,p,\"values\")&&(d||m||g)){h(\"text\"),h(\"hovertext\"),h(\"hovertemplate\"),h(\"xhoverformat\"),h(\"yhoverformat\"),s(t,e,r,f,h);var v=c(e.marker.symbol),y=o.isBubble(e);h(\"marker.line.width\",v||y?1:0),function(t,e,r,n){var i,a,o=e.dimensions,s=o.length,l=e.showupperhalf,c=e.showlowerhalf,u=e.diagonal.visible,f=new Array(s),h=new Array(s);for(i=0;i<s;i++){var p=i?i+1:\"\";f[i]=\"x\"+p,h[i]=\"y\"+p}var d=n(\"xaxes\",f),m=n(\"yaxes\",h),g=e._diag=new Array(s);e._xaxes={},e._yaxes={};var v=[],y=[];function x(t,n,i,a){if(t){var o=t.charAt(0),s=r._splomAxes[o];if(e[\"_\"+o+\"axes\"][t]=1,a.push(t),!(t in s)){var l=s[t]={};i&&(l.label=i.label||\"\",i.visible&&i.axis&&(i.axis.type&&(l.type=i.axis.type),i.axis.matches&&(l.matches=n)))}}}var b=!u&&!c,_=!u&&!l;for(e._axesDim={},i=0;i<s;i++){var w=o[i],T=0===i,k=i===s-1,A=T&&b||k&&_?void 0:d[i],M=T&&_||k&&b?void 0:m[i];x(A,M,w,v),x(M,A,w,y),g[i]=[A,M],e._axesDim[A]=i,e._axesDim[M]=i}for(i=0;i<v.length;i++)for(a=0;a<y.length;a++){var S=v[i]+y[a];i>a&&l||i<a&&c?r._splomSubplots[S]=1:i!==a||!u&&c&&l||(r._splomSubplots[S]=1)}(!c||!u&&l&&c)&&(r._splomGridDflt.xside=\"bottom\",r._splomGridDflt.yside=\"left\")}(0,e,f,h),n.coerceSelectionMarkerOpacity(e,h)}else e.visible=!1}},{\"../../lib\":503,\"../../plots/array_container_defaults\":549,\"../parcoords/merge_length\":898,\"../scatter/marker_defaults\":946,\"../scatter/subtypes\":952,\"../scattergl/helpers\":987,\"./attributes\":1032}],1037:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../scatter/colorscale_calc\"),a=t(\"../scattergl/convert\").markerStyle;e.exports=function(t,e){var r=e.trace,o=t._fullLayout._splomScenes[r.uid];if(o){i(t,r),n.extendFlat(o.matrixOptions,a(r));var s=n.extendFlat({},o.matrixOptions,o.viewOpts);o.matrix.update(s,null)}}},{\"../../lib\":503,\"../scatter/colorscale_calc\":930,\"../scattergl/convert\":983}],1038:[function(t,e,r){\"use strict\";r.getDimIndex=function(t,e){for(var r=e._id,n={x:0,y:1}[r.charAt(0)],i=t._visibleDims,a=0;a<i.length;a++){var o=i[a];if(t._diag[o][n]===r)return a}return!1}},{}],1039:[function(t,e,r){\"use strict\";var n=t(\"./helpers\"),i=t(\"../scattergl/hover\").calcHover;e.exports={hoverPoints:function(t,e,r){var a=t.cd[0].trace,o=t.scene.matrixOptions.cdata,s=t.xa,l=t.ya,c=s.c2p(e),u=l.c2p(r),f=t.distance,h=n.getDimIndex(a,s),p=n.getDimIndex(a,l);if(!1===h||!1===p)return[t];for(var d,m,g=o[h],v=o[p],y=f,x=0;x<g.length;x++){var b=g[x],_=v[x],w=s.c2p(b)-c,T=l.c2p(_)-u,k=Math.sqrt(w*w+T*T);k<y&&(y=m=k,d=x)}return t.index=d,t.distance=y,t.dxy=m,void 0===d?[t]:[i(t,g,v,a)]}}},{\"../scattergl/hover\":988,\"./helpers\":1038}],1040:[function(t,e,r){\"use strict\";var n=t(\"./base_index\");n.basePlotModule=t(\"./base_plot\"),e.exports=n},{\"./base_index\":1033,\"./base_plot\":1034}],1041:[function(t,e,r){\"use strict\";var n=t(\"regl-splom\"),i=t(\"../../lib\"),a=t(\"../../plots/cartesian/axis_ids\"),o=t(\"../../components/dragelement/helpers\").selectMode;function s(t,e){var r,s,l,c,u,f=t._fullLayout,h=f._size,p=e.trace,d=e.t,m=f._splomScenes[p.uid],g=m.matrixOptions,v=g.cdata,y=f._glcanvas.data()[0].regl,x=f.dragmode;if(0!==v.length){g.lower=p.showupperhalf,g.upper=p.showlowerhalf,g.diagonal=p.diagonal.visible;var b=p._visibleDims,_=v.length,w=m.viewOpts={};for(w.ranges=new Array(_),w.domains=new Array(_),u=0;u<b.length;u++){l=b[u];var T=w.ranges[u]=new Array(4),k=w.domains[u]=new Array(4);(r=a.getFromId(t,p._diag[l][0]))&&(T[0]=r._rl[0],T[2]=r._rl[1],k[0]=r.domain[0],k[2]=r.domain[1]),(s=a.getFromId(t,p._diag[l][1]))&&(T[1]=s._rl[0],T[3]=s._rl[1],k[1]=s.domain[0],k[3]=s.domain[1])}var A=t._context.plotGlPixelRatio,M=h.l*A,S=h.b*A,E=h.w*A,L=h.h*A;w.viewport=[M,S,E+M,L+S],!0===m.matrix&&(m.matrix=n(y));var C=f.clickmode.indexOf(\"select\")>-1,P=!0;if(o(x)||!!p.selectedpoints||C){var I=p._length;if(p.selectedpoints){m.selectBatch=p.selectedpoints;var O=p.selectedpoints,z={};for(l=0;l<O.length;l++)z[O[l]]=!0;var D=[];for(l=0;l<I;l++)z[l]||D.push(l);m.unselectBatch=D}var R=d.xpx=new Array(_),F=d.ypx=new Array(_);for(u=0;u<b.length;u++){if(l=b[u],r=a.getFromId(t,p._diag[l][0]))for(R[u]=new Array(I),c=0;c<I;c++)R[u][c]=r.c2p(v[u][c]);if(s=a.getFromId(t,p._diag[l][1]))for(F[u]=new Array(I),c=0;c<I;c++)F[u][c]=s.c2p(v[u][c])}if(m.selectBatch.length||m.unselectBatch.length){var B=i.extendFlat({},g,m.unselectedOptions,w),N=i.extendFlat({},g,m.selectedOptions,w);m.matrix.update(B,N),P=!1}}else d.xpx=d.ypx=null;if(P){var j=i.extendFlat({},g,w);m.matrix.update(j,null)}}}e.exports=function(t,e,r){if(r.length)for(var n=0;n<r.length;n++)s(t,r[n][0])}},{\"../../components/dragelement/helpers\":384,\"../../lib\":503,\"../../plots/cartesian/axis_ids\":558,\"regl-splom\":282}],1042:[function(t,e,r){\"use strict\";var n=t(\"../../lib\");e.exports=function(t,e){var r=t._fullLayout,i=e.uid,a=r._splomScenes;a||(a=r._splomScenes={});var o={dirty:!0,selectBatch:[],unselectBatch:[]},s=a[e.uid];return s||((s=a[i]=n.extendFlat({},o,{matrix:!1,selectBatch:[],unselectBatch:[]})).draw=function(){s.matrix&&s.matrix.draw&&(s.selectBatch.length||s.unselectBatch.length?s.matrix.draw(s.unselectBatch,s.selectBatch):s.matrix.draw()),s.dirty=!1},s.destroy=function(){s.matrix&&s.matrix.destroy&&s.matrix.destroy(),s.matrixOptions=null,s.selectBatch=null,s.unselectBatch=null,s=null}),s.dirty||n.extendFlat(s,o),s}},{\"../../lib\":503}],1043:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../scatter/subtypes\"),a=t(\"./helpers\");e.exports=function(t,e){var r=t.cd,o=r[0].trace,s=r[0].t,l=t.scene,c=l.matrixOptions.cdata,u=t.xaxis,f=t.yaxis,h=[];if(!l)return h;var p=!i.hasMarkers(o)&&!i.hasText(o);if(!0!==o.visible||p)return h;var d=a.getDimIndex(o,u),m=a.getDimIndex(o,f);if(!1===d||!1===m)return h;var g=s.xpx[d],v=s.ypx[m],y=c[d],x=c[m],b=[],_=[];if(!1!==e&&!e.degenerate)for(var w=0;w<y.length;w++)e.contains([g[w],v[w]],null,w,t)?(b.push(w),h.push({pointNumber:w,x:y[w],y:x[w]})):_.push(w);var T=l.matrixOptions;return b.length||_.length?l.selectBatch.length||l.unselectBatch.length||l.matrix.update(l.unselectedOptions,n.extendFlat({},T,l.selectedOptions,l.viewOpts)):l.matrix.update(T,null),l.selectBatch=b,l.unselectBatch=_,h}},{\"../../lib\":503,\"../scatter/subtypes\":952,\"./helpers\":1038}],1044:[function(t,e,r){\"use strict\";var n=t(\"../../components/colorscale/attributes\"),i=t(\"../../plots/cartesian/axis_format_attributes\").axisHoverFormat,a=t(\"../../plots/template_attributes\").hovertemplateAttrs,o=t(\"../mesh3d/attributes\"),s=t(\"../../plots/attributes\"),l=t(\"../../lib/extend\").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\"},starts:{x:{valType:\"data_array\",editType:\"calc\"},y:{valType:\"data_array\",editType:\"calc\"},z:{valType:\"data_array\",editType:\"calc\"},editType:\"calc\"},maxdisplayed:{valType:\"integer\",min:0,dflt:1e3,editType:\"calc\"},sizeref:{valType:\"number\",editType:\"calc\",min:0,dflt:1},text:{valType:\"string\",dflt:\"\",editType:\"calc\"},hovertext:{valType:\"string\",dflt:\"\",editType:\"calc\"},hovertemplate:a({editType:\"calc\"},{keys:[\"tubex\",\"tubey\",\"tubez\",\"tubeu\",\"tubev\",\"tubew\",\"norm\",\"divergence\"]}),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\",\"divergence\",\"text\",\"name\"],dflt:\"x+y+z+norm+text+name\"}),c.transforms=void 0,e.exports=c},{\"../../components/colorscale/attributes\":373,\"../../lib/extend\":493,\"../../plots/attributes\":550,\"../../plots/cartesian/axis_format_attributes\":557,\"../../plots/template_attributes\":633,\"../mesh3d/attributes\":867}],1045:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../components/colorscale/calc\");function a(t){var e,r,i,a,s,l,c,u,f,h,p,d,m=t._x,g=t._y,v=t._z,y=t._len,x=-1/0,b=1/0,_=-1/0,w=1/0,T=-1/0,k=1/0,A=\"\";for(y&&(c=m[0],f=g[0],p=v[0]),y>1&&(u=m[y-1],h=g[y-1],d=v[y-1]),e=0;e<y;e++)x=Math.max(x,m[e]),b=Math.min(b,m[e]),_=Math.max(_,g[e]),w=Math.min(w,g[e]),T=Math.max(T,v[e]),k=Math.min(k,v[e]),a||m[e]===c||(a=!0,A+=\"x\"),s||g[e]===f||(s=!0,A+=\"y\"),l||v[e]===p||(l=!0,A+=\"z\");a||(A+=\"x\"),s||(A+=\"y\"),l||(A+=\"z\");var M=o(t._x),S=o(t._y),E=o(t._z);A=(A=(A=A.replace(\"x\",(c>u?\"-\":\"+\")+\"x\")).replace(\"y\",(f>h?\"-\":\"+\")+\"y\")).replace(\"z\",(p>d?\"-\":\"+\")+\"z\");var L=function(){y=0,M=[],S=[],E=[]};(!y||y<M.length*S.length*E.length)&&L();var C=function(t){return\"x\"===t?m:\"y\"===t?g:v},P=function(t){return\"x\"===t?M:\"y\"===t?S:E},I=function(t){return t[y-1]<t[0]?-1:1},O=C(A[1]),z=C(A[3]),D=C(A[5]),R=P(A[1]).length,F=P(A[3]).length,B=P(A[5]).length,N=!1,j=function(t,e,r){return R*(F*t+e)+r},U=I(C(A[1])),V=I(C(A[3])),H=I(C(A[5]));for(e=0;e<B-1;e++){for(r=0;r<F-1;r++){for(i=0;i<R-1;i++){var q=j(e,r,i),G=j(e,r,i+1),Y=j(e,r+1,i),W=j(e+1,r,i);if(O[q]*U<O[G]*U&&z[q]*V<z[Y]*V&&D[q]*H<D[W]*H||(N=!0),N)break}if(N)break}if(N)break}return N&&(n.warn(\"Encountered arbitrary coordinates! Unable to input data grid.\"),L()),{xMin:b,yMin:w,zMin:k,xMax:x,yMax:_,zMax:T,Xs:M,Ys:S,Zs:E,len:y,fill:A}}function o(t){return n.distinctVals(t).vals}function s(t,e){if(void 0===e&&(e=t.length),n.isTypedArray(t))return t.subarray(0,e);for(var r=[],i=0;i<e;i++)r[i]=+t[i];return r}e.exports={calc:function(t,e){e._len=Math.min(e.u.length,e.v.length,e.w.length,e.x.length,e.y.length,e.z.length),e._u=s(e.u,e._len),e._v=s(e.v,e._len),e._w=s(e.w,e._len),e._x=s(e.x,e._len),e._y=s(e.y,e._len),e._z=s(e.z,e._len);var r=a(e);e._gridFill=r.fill,e._Xs=r.Xs,e._Ys=r.Ys,e._Zs=r.Zs,e._len=r.len;var n,o,l,c=0;e.starts&&(n=s(e.starts.x||[]),o=s(e.starts.y||[]),l=s(e.starts.z||[]),c=Math.min(n.length,o.length,l.length)),e._startsX=n||[],e._startsY=o||[],e._startsZ=l||[];var u,f=0,h=1/0;for(u=0;u<e._len;u++){var p=e._u[u],d=e._v[u],m=e._w[u],g=Math.sqrt(p*p+d*d+m*m);f=Math.max(f,g),h=Math.min(h,g)}for(i(t,e,{vals:[h,f],containerStr:\"\",cLetter:\"c\"}),u=0;u<c;u++){var v=n[u];r.xMax=Math.max(r.xMax,v),r.xMin=Math.min(r.xMin,v);var y=o[u];r.yMax=Math.max(r.yMax,y),r.yMin=Math.min(r.yMin,y);var x=l[u];r.zMax=Math.max(r.zMax,x),r.zMin=Math.min(r.zMin,x)}e._slen=c,e._normMax=f,e._xbnds=[r.xMin,r.xMax],e._ybnds=[r.yMin,r.yMax],e._zbnds=[r.zMin,r.zMax]},filter:s,processGrid:a}},{\"../../components/colorscale/calc\":374,\"../../lib\":503}],1046:[function(t,e,r){\"use strict\";var n=t(\"../../../stackgl_modules\").gl_streamtube3d,i=n.createTubeMesh,a=t(\"../../lib\"),o=t(\"../../lib/gl_format_color\").parseColorScale,s=t(\"../../components/colorscale\").extractOpts,l=t(\"../../plots/gl3d/zip3\"),c={xaxis:0,yaxis:1,zaxis:2};function u(t,e){this.scene=t,this.uid=e,this.mesh=null,this.data=null}var f=u.prototype;function h(t){var e=t.length;return e>2?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,f={};function d(t,e){var n=r[e],o=i[c[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\"),u),!u)return{positions:[],cells:[]};var m=d(e._Xs,\"xaxis\"),g=d(e._Ys,\"yaxis\"),v=d(e._Zs,\"zaxis\");if(f.meshgrid=[m,g,v],f.gridFill=e._gridFill,e._slen)f.startingPositions=l(d(e._startsX,\"xaxis\"),d(e._startsY,\"yaxis\"),d(e._startsZ,\"zaxis\"));else{for(var y=g[0],x=h(m),b=h(v),_=new Array(x.length*b.length),w=0,T=0;T<x.length;T++)for(var k=0;k<b.length;k++)_[w++]=[x[T],y,b[k]];f.startingPositions=_}f.colormap=o(e),f.tubeSize=e.sizeref,f.maxLength=e.maxdisplayed;var A=d(e._xbnds,\"xaxis\"),M=d(e._ybnds,\"yaxis\"),S=d(e._zbnds,\"zaxis\"),E=p(m),L=p(g),C=p(v),P=[[A[0]-E[0],M[0]-L[0],S[0]-C[0]],[A[1]+E[1],M[1]+L[1],S[1]+C[1]]],I=n(f,P),O=s(e);I.vertexIntensityBounds=[O.min/e._normMax,O.max/e._normMax];var z=e.lightposition;return I.lightPosition=[z.x,z.y,z.z],I.ambient=e.lighting.ambient,I.diffuse=e.lighting.diffuse,I.specular=e.lighting.specular,I.roughness=e.lighting.roughness,I.fresnel=e.lighting.fresnel,I.opacity=e.opacity,e._pad=I.tubeScale*e.sizeref*2,I}f.handlePick=function(t){var e=this.scene.fullSceneLayout,r=this.scene.dataScale;function n(t,n){var i=e[n],a=r[c[n]];return i.l2c(t)/a}if(t.object===this.mesh){var i=t.data.position,a=t.data.velocity;return t.traceCoordinate=[n(i[0],\"xaxis\"),n(i[1],\"yaxis\"),n(i[2],\"zaxis\"),n(a[0],\"xaxis\"),n(a[1],\"yaxis\"),n(a[2],\"zaxis\"),t.data.intensity*this.data._normMax,t.data.divergence],t.textLabel=this.data.hovertext||this.data.text,!0}},f.update=function(t){this.data=t;var e=d(this.scene,t);this.mesh.update(e)},f.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()},e.exports=function(t,e){var r=t.glplot.gl,n=d(t,e),a=i(r,n),o=new u(t,e.uid);return o.mesh=a,o.data=e,a._trace=o,t.glplot.add(a),o}},{\"../../../stackgl_modules\":1124,\"../../components/colorscale\":378,\"../../lib\":503,\"../../lib/gl_format_color\":499,\"../../plots/gl3d/zip3\":609}],1047:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../components/colorscale/defaults\"),a=t(\"./attributes\");e.exports=function(t,e,r,o){function s(r,i){return n.coerce(t,e,a,r,i)}var l=s(\"u\"),c=s(\"v\"),u=s(\"w\"),f=s(\"x\"),h=s(\"y\"),p=s(\"z\");l&&l.length&&c&&c.length&&u&&u.length&&f&&f.length&&h&&h.length&&p&&p.length?(s(\"starts.x\"),s(\"starts.y\"),s(\"starts.z\"),s(\"maxdisplayed\"),s(\"sizeref\"),s(\"lighting.ambient\"),s(\"lighting.diffuse\"),s(\"lighting.specular\"),s(\"lighting.roughness\"),s(\"lighting.fresnel\"),s(\"lightposition.x\"),s(\"lightposition.y\"),s(\"lightposition.z\"),i(t,e,o,s,{prefix:\"\",cLetter:\"c\"}),s(\"text\"),s(\"hovertext\"),s(\"hovertemplate\"),s(\"uhoverformat\"),s(\"vhoverformat\"),s(\"whoverformat\"),s(\"xhoverformat\"),s(\"yhoverformat\"),s(\"zhoverformat\"),e._length=null):e.visible=!1}},{\"../../components/colorscale/defaults\":376,\"../../lib\":503,\"./attributes\":1044}],1048:[function(t,e,r){\"use strict\";e.exports={moduleType:\"trace\",name:\"streamtube\",basePlotModule:t(\"../../plots/gl3d\"),categories:[\"gl3d\",\"showLegend\"],attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\"),colorbar:{min:\"cmin\",max:\"cmax\"},calc:t(\"./calc\").calc,plot:t(\"./convert\"),eventData:function(t,e){return t.tubex=t.x,t.tubey=t.y,t.tubez=t.z,t.tubeu=e.traceCoordinate[3],t.tubev=e.traceCoordinate[4],t.tubew=e.traceCoordinate[5],t.norm=e.traceCoordinate[6],t.divergence=e.traceCoordinate[7],delete t.x,delete t.y,delete t.z,t},meta:{}}},{\"../../plots/gl3d\":598,\"./attributes\":1044,\"./calc\":1045,\"./convert\":1046,\"./defaults\":1047}],1049:[function(t,e,r){\"use strict\";var n=t(\"../../plots/attributes\"),i=t(\"../../plots/template_attributes\").hovertemplateAttrs,a=t(\"../../plots/template_attributes\").texttemplateAttrs,o=t(\"../../components/colorscale/attributes\"),s=t(\"../../plots/domain\").attributes,l=t(\"../pie/attributes\"),c=t(\"./constants\"),u=t(\"../../lib/extend\").extendFlat;e.exports={labels:{valType:\"data_array\",editType:\"calc\"},parents:{valType:\"data_array\",editType:\"calc\"},values:{valType:\"data_array\",editType:\"calc\"},branchvalues:{valType:\"enumerated\",values:[\"remainder\",\"total\"],dflt:\"remainder\",editType:\"calc\"},count:{valType:\"flaglist\",flags:[\"branches\",\"leaves\"],dflt:\"leaves\",editType:\"calc\"},level:{valType:\"any\",editType:\"plot\",anim:!0},maxdepth:{valType:\"integer\",editType:\"plot\",dflt:-1},marker:u({colors:{valType:\"data_array\",editType:\"calc\"},line:{color:u({},l.marker.line.color,{dflt:null}),width:u({},l.marker.line.width,{dflt:1}),editType:\"calc\"},editType:\"calc\"},o(\"marker\",{colorAttr:\"colors\",anim:!1})),leaf:{opacity:{valType:\"number\",editType:\"style\",min:0,max:1},editType:\"plot\"},text:l.text,textinfo:{valType:\"flaglist\",flags:[\"label\",\"text\",\"value\",\"current path\",\"percent root\",\"percent entry\",\"percent parent\"],extras:[\"none\"],editType:\"plot\"},texttemplate:a({editType:\"plot\"},{keys:c.eventDataKeys.concat([\"label\",\"value\"])}),hovertext:l.hovertext,hoverinfo:u({},n.hoverinfo,{flags:[\"label\",\"text\",\"value\",\"name\",\"current path\",\"percent root\",\"percent entry\",\"percent parent\"],dflt:\"label+text+value+name\"}),hovertemplate:i({},{keys:c.eventDataKeys}),textfont:l.textfont,insidetextorientation:l.insidetextorientation,insidetextfont:l.insidetextfont,outsidetextfont:u({},l.outsidetextfont,{}),rotation:{valType:\"angle\",dflt:0,editType:\"plot\"},sort:l.sort,root:{color:{valType:\"color\",editType:\"calc\",dflt:\"rgba(0,0,0,0)\"},editType:\"calc\"},domain:s({name:\"sunburst\",trace:!0,editType:\"calc\"})}},{\"../../components/colorscale/attributes\":373,\"../../lib/extend\":493,\"../../plots/attributes\":550,\"../../plots/domain\":584,\"../../plots/template_attributes\":633,\"../pie/attributes\":901,\"./constants\":1052}],1050:[function(t,e,r){\"use strict\";var n=t(\"../../plots/plots\");r.name=\"sunburst\",r.plot=function(t,e,i,a){n.plotBasePlot(r.name,t,e,i,a)},r.clean=function(t,e,i,a){n.cleanBasePlot(r.name,t,e,i,a)}},{\"../../plots/plots\":619}],1051:[function(t,e,r){\"use strict\";var n=t(\"d3-hierarchy\"),i=t(\"fast-isnumeric\"),a=t(\"../../lib\"),o=t(\"../../components/colorscale\").makeColorScaleFuncFromTrace,s=t(\"../pie/calc\").makePullColorFn,l=t(\"../pie/calc\").generateExtendedColors,c=t(\"../../components/colorscale\").calc,u=t(\"../../constants/numerical\").ALMOST_EQUAL,f={},h={},p={};r.calc=function(t,e){var r,l,f,h,p,d,m=t._fullLayout,g=e.ids,v=a.isArrayOrTypedArray(g),y=e.labels,x=e.parents,b=e.values,_=a.isArrayOrTypedArray(b),w=[],T={},k={},A=function(t){return t||\"number\"==typeof t},M=function(t){return!_||i(b[t])&&b[t]>=0};v?(r=Math.min(g.length,x.length),l=function(t){return A(g[t])&&M(t)},f=function(t){return String(g[t])}):(r=Math.min(y.length,x.length),l=function(t){return A(y[t])&&M(t)},f=function(t){return String(y[t])}),_&&(r=Math.min(r,b.length));for(var S=0;S<r;S++)if(l(S)){var E=f(S),L=A(x[S])?String(x[S]):\"\",C={i:S,id:E,pid:L,label:A(y[S])?String(y[S]):\"\"};_&&(C.v=+b[S]),w.push(C),p=E,T[h=L]?T[h].push(p):T[h]=[p],k[p]=1}if(T[\"\"]){if(T[\"\"].length>1){for(var P=a.randstr(),I=0;I<w.length;I++)\"\"===w[I].pid&&(w[I].pid=P);w.unshift({hasMultipleRoots:!0,id:P,pid:\"\",label:\"\"})}}else{var O,z=[];for(O in T)k[O]||z.push(O);if(1!==z.length)return a.warn([\"Multiple implied roots, cannot build\",e.type,\"hierarchy of\",e.name+\".\",\"These roots include:\",z.join(\", \")].join(\" \"));O=z[0],w.unshift({hasImpliedRoot:!0,id:O,pid:\"\",label:O})}try{d=n.stratify().id((function(t){return t.id})).parentId((function(t){return t.pid}))(w)}catch(t){return a.warn([\"Failed to build\",e.type,\"hierarchy of\",e.name+\".\",\"Error:\",t.message].join(\" \"))}var D=n.hierarchy(d),R=!1;if(_)switch(e.branchvalues){case\"remainder\":D.sum((function(t){return t.data.v}));break;case\"total\":D.each((function(t){var r=t.data.data,n=r.v;if(t.children){var i=t.children.reduce((function(t,e){return t+e.data.data.v}),0);if((r.hasImpliedRoot||r.hasMultipleRoots)&&(n=i),n<i*u)return R=!0,a.warn([\"Total value for node\",t.data.data.id,\"of\",e.name,\"is smaller than the sum of its children.\",\"\\nparent value =\",n,\"\\nchildren sum =\",i].join(\" \"))}t.value=n}))}else!function t(e,r,n){var i=0,a=e.children;if(a){for(var o=a.length,s=0;s<o;s++)i+=t(a[s],r,n);n.branches&&i++}else n.leaves&&i++;e.value=e.data.data.value=i,r._values||(r._values=[]);return r._values[e.data.data.i]=i,i}(D,e,{branches:-1!==e.count.indexOf(\"branches\"),leaves:-1!==e.count.indexOf(\"leaves\")});if(!R){var F,B;e.sort&&D.sort((function(t,e){return e.value-t.value}));var N=e.marker.colors||[],j=!!N.length;return e._hasColorscale?(j||(N=_?e.values:e._values),c(t,e,{vals:N,containerStr:\"marker\",cLetter:\"c\"}),B=o(e.marker)):F=s(m[\"_\"+e.type+\"colormap\"]),D.each((function(t){var r=t.data.data;r.color=e._hasColorscale?B(N[r.i]):F(N[r.i],r.id)})),w[0].hierarchy=D,w}},r._runCrossTraceCalc=function(t,e){var r=e._fullLayout,n=e.calcdata,i=r[t+\"colorway\"],a=r[\"_\"+t+\"colormap\"];r[\"extend\"+t+\"colors\"]&&(i=l(i,\"icicle\"===t?p:\"treemap\"===t?h:f));var o,s=0;function c(t){var e=t.data.data,r=e.id;!1===e.color&&(a[r]?e.color=a[r]:t.parent?t.parent.parent?e.color=t.parent.data.data.color:(a[r]=e.color=i[s%i.length],s++):e.color=o)}for(var u=0;u<n.length;u++){var d=n[u][0];d.trace.type===t&&d.hierarchy&&(o=d.trace.root.color,d.hierarchy.each(c))}},r.crossTraceCalc=function(t){return r._runCrossTraceCalc(\"sunburst\",t)}},{\"../../components/colorscale\":378,\"../../constants/numerical\":479,\"../../lib\":503,\"../pie/calc\":903,\"d3-hierarchy\":115,\"fast-isnumeric\":190}],1052:[function(t,e,r){\"use strict\";e.exports={CLICK_TRANSITION_TIME:750,CLICK_TRANSITION_EASING:\"linear\",eventDataKeys:[\"currentPath\",\"root\",\"entry\",\"percentRoot\",\"percentEntry\",\"percentParent\"]}},{}],1053:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./attributes\"),a=t(\"../../plots/domain\").defaults,o=t(\"../bar/defaults\").handleText,s=t(\"../../components/colorscale\"),l=s.hasColorscale,c=s.handleDefaults;e.exports=function(t,e,r,s){function u(r,a){return n.coerce(t,e,i,r,a)}var f=u(\"labels\"),h=u(\"parents\");if(f&&f.length&&h&&h.length){var p=u(\"values\");p&&p.length?u(\"branchvalues\"):u(\"count\"),u(\"level\"),u(\"maxdepth\"),u(\"marker.line.width\")&&u(\"marker.line.color\",s.paper_bgcolor),u(\"marker.colors\");var d=e._hasColorscale=l(t,\"marker\",\"colors\")||(t.marker||{}).coloraxis;d&&c(t,e,s,u,{prefix:\"marker.\",cLetter:\"c\"}),u(\"leaf.opacity\",d?1:.7);var m=u(\"text\");u(\"texttemplate\"),e.texttemplate||u(\"textinfo\",Array.isArray(m)?\"text+label\":\"label\"),u(\"hovertext\"),u(\"hovertemplate\");o(t,e,s,u,\"auto\",{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),u(\"insidetextorientation\"),u(\"sort\"),u(\"rotation\"),u(\"root.color\"),a(e,s,u),e._length=null}else e.visible=!1}},{\"../../components/colorscale\":378,\"../../lib\":503,\"../../plots/domain\":584,\"../bar/defaults\":652,\"./attributes\":1049}],1054:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../../registry\"),a=t(\"../../components/fx/helpers\").appendArrayPointValue,o=t(\"../../components/fx\"),s=t(\"../../lib\"),l=t(\"../../lib/events\"),c=t(\"./helpers\"),u=t(\"../pie/helpers\").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<r.length;o++){var s=r[o];s in t&&(i[s]=t[s])}return\"parentString\"in t&&!c.isHierarchyRoot(t)&&(i.parent=t.parentString),a(i,e,n.i),i}e.exports=function(t,e,r,a,h){var p=a[0],d=p.trace,m=p.hierarchy,g=\"sunburst\"===d.type,v=\"treemap\"===d.type||\"icicle\"===d.type;\"_hasHoverLabel\"in d||(d._hasHoverLabel=!1),\"_hasHoverEvent\"in d||(d._hasHoverEvent=!1);t.on(\"mouseover\",(function(i){var a=r._fullLayout;if(!r._dragging&&!1!==a.hovermode){var l,y=r._fullData[d.index],x=i.data.data,b=x.i,_=c.isHierarchyRoot(i),w=c.getParent(m,i),T=c.getValue(i),k=function(t){return s.castOption(y,b,t)},A=k(\"hovertemplate\"),M=o.castHoverinfo(y,a,b),S=a.separators;if(A||M&&\"none\"!==M&&\"skip\"!==M){var E,L;g&&(E=p.cx+i.pxmid[0]*(1-i.rInscribed),L=p.cy+i.pxmid[1]*(1-i.rInscribed)),v&&(E=i._hoverX,L=i._hoverY);var C,P={},I=[],O=[],z=function(t){return-1!==I.indexOf(t)};M&&(I=\"all\"===M?y._module.attributes.hoverinfo.flags:M.split(\"+\")),P.label=x.label,z(\"label\")&&P.label&&O.push(P.label),x.hasOwnProperty(\"v\")&&(P.value=x.v,P.valueLabel=u(P.value,S),z(\"value\")&&O.push(P.valueLabel)),P.currentPath=i.currentPath=c.getPath(i.data),z(\"current path\")&&!_&&O.push(P.currentPath);var D=[],R=function(){-1===D.indexOf(C)&&(O.push(C),D.push(C))};P.percentParent=i.percentParent=T/c.getValue(w),P.parent=i.parentString=c.getPtLabel(w),z(\"percent parent\")&&(C=c.formatPercent(P.percentParent,S)+\" of \"+P.parent,R()),P.percentEntry=i.percentEntry=T/c.getValue(e),P.entry=i.entry=c.getPtLabel(e),!z(\"percent entry\")||_||i.onPathbar||(C=c.formatPercent(P.percentEntry,S)+\" of \"+P.entry,R()),P.percentRoot=i.percentRoot=T/c.getValue(m),P.root=i.root=c.getPtLabel(m),z(\"percent root\")&&!_&&(C=c.formatPercent(P.percentRoot,S)+\" of \"+P.root,R()),P.text=k(\"hovertext\")||k(\"text\"),z(\"text\")&&(C=P.text,s.isValidTextValue(C)&&O.push(C)),l=[f(i,y,h.eventDataKeys)];var F={trace:y,y:L,_x0:i._x0,_x1:i._x1,_y0:i._y0,_y1:i._y1,text:O.join(\"<br>\"),name:A||z(\"name\")?y.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\"),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\"),v&&(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(v){var N=t.select(\"path.surface\");h.styleOne(N,i,y,{hovered:!0})}d._hasHoverEvent=!0,r.emit(\"plotly_hover\",{points:l||[f(i,y,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),v){var l=t.select(\"path.surface\");h.styleOne(l,s,a,{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),v=c.getPtId(p),y={points:[f(t,a,h.eventDataKeys)],event:n.event};s||(y.nextLevel=v);var x=l.triggerHandler(r,\"plotly_\"+d.type+\"click\",y);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:v}],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,_)}}))}},{\"../../components/fx\":406,\"../../components/fx/helpers\":402,\"../../lib\":503,\"../../lib/events\":492,\"../../registry\":638,\"../pie/helpers\":906,\"./helpers\":1055,\"@plotly/d3\":58}],1055:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../components/color\"),a=t(\"../../lib/setcursor\"),o=t(\"../pie/helpers\");function s(t){return t.data.data.pid}r.findEntryWithLevel=function(t,e){var n;return e&&t.eachAfter((function(t){if(r.getPtId(t)===e)return n=t.copy()})),n||t},r.findEntryWithChild=function(t,e){var n;return t.eachAfter((function(t){for(var i=t.children||[],a=0;a<i.length;a++){var o=i[a];if(r.getPtId(o)===e)return n=t.copy()}})),n||t},r.isEntry=function(t){return!t.parent},r.isLeaf=function(t){return!t.children},r.getPtId=function(t){return t.data.data.id},r.getPtLabel=function(t){return t.data.data.label},r.getValue=function(t){return t.value},r.isHierarchyRoot=function(t){return\"\"===s(t)},r.setSliceCursor=function(t,e,n){var i=n.isTransitioning;if(!i){var o=t.datum();i=n.hideOnRoot&&r.isHierarchyRoot(o)||n.hideOnLeaves&&r.isLeaf(o)}a(t,i?null:\"pointer\")},r.getInsideTextFontKey=function(t,e,r,i,a){var o=(a||{}).onPathbar?\"pathbar.textfont\":\"insidetextfont\",s=r.data.data.i;return n.castOption(e,s,o+\".\"+t)||n.castOption(e,s,\"textfont.\"+t)||i.size},r.getOutsideTextFontKey=function(t,e,r,i){var a=r.data.data.i;return n.castOption(e,a,\"outsidetextfont.\"+t)||n.castOption(e,a,\"textfont.\"+t)||i.size},r.isOutsideText=function(t,e){return!t._hasColorscale&&r.isHierarchyRoot(e)},r.determineTextFont=function(t,e,a,o){return r.isOutsideText(t,e)?function(t,e,n){return{color:r.getOutsideTextFontKey(\"color\",t,e,n),family:r.getOutsideTextFontKey(\"family\",t,e,n),size:r.getOutsideTextFontKey(\"size\",t,e,n)}}(t,e,a):function(t,e,a,o){var s=(o||{}).onPathbar,l=e.data.data,c=l.i,u=n.castOption(t,c,(s?\"pathbar.textfont\":\"insidetextfont\")+\".color\");return!u&&t._input.textfont&&(u=n.castOption(t._input,c,\"textfont.color\")),{color:u||i.contrast(l.color),family:r.getInsideTextFontKey(\"family\",t,e,a,o),size:r.getInsideTextFontKey(\"size\",t,e,a,o)}}(t,e,a,o)},r.hasTransition=function(t){return!!(t&&t.duration>0)},r.getMaxDepth=function(t){return t.maxdepth>=0?t.maxdepth:1/0},r.isHeader=function(t,e){return!(r.isLeaf(t)||t.depth===e._maxDepth-1)},r.getParent=function(t,e){return r.findEntryWithLevel(t,s(e))},r.listPath=function(t,e){var n=t.parent;if(!n)return[];var i=e?[n.data[e]]:[n];return r.listPath(n,e).concat(i)},r.getPath=function(t){return r.listPath(t,\"label\").join(\"/\")+\"/\"},r.formatValue=o.formatPieValue,r.formatPercent=function(t,e){var r=n.formatPercent(t,0);return\"0%\"===r&&(r=o.formatPiePercent(t,e)),r}},{\"../../components/color\":366,\"../../lib\":503,\"../../lib/setcursor\":524,\"../pie/helpers\":906}],1056:[function(t,e,r){\"use strict\";e.exports={moduleType:\"trace\",name:\"sunburst\",basePlotModule:t(\"./base_plot\"),categories:[],animatable:!0,attributes:t(\"./attributes\"),layoutAttributes:t(\"./layout_attributes\"),supplyDefaults:t(\"./defaults\"),supplyLayoutDefaults:t(\"./layout_defaults\"),calc:t(\"./calc\").calc,crossTraceCalc:t(\"./calc\").crossTraceCalc,plot:t(\"./plot\").plot,style:t(\"./style\").style,colorbar:t(\"../scatter/marker_colorbar\"),meta:{}}},{\"../scatter/marker_colorbar\":945,\"./attributes\":1049,\"./base_plot\":1050,\"./calc\":1051,\"./defaults\":1053,\"./layout_attributes\":1057,\"./layout_defaults\":1058,\"./plot\":1059,\"./style\":1060}],1057:[function(t,e,r){\"use strict\";e.exports={sunburstcolorway:{valType:\"colorlist\",editType:\"calc\"},extendsunburstcolors:{valType:\"boolean\",dflt:!0,editType:\"calc\"}}},{}],1058:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./layout_attributes\");e.exports=function(t,e){function r(r,a){return n.coerce(t,e,i,r,a)}r(\"sunburstcolorway\",e.colorway),r(\"extendsunburstcolors\")}},{\"../../lib\":503,\"./layout_attributes\":1057}],1059:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"d3-hierarchy\"),a=t(\"d3-interpolate\").interpolate,o=t(\"../../components/drawing\"),s=t(\"../../lib\"),l=t(\"../../lib/svg_text_utils\"),c=t(\"../bar/uniform_text\"),u=c.recordMinTextSize,f=c.clearMinTextSize,h=t(\"../pie/plot\"),p=t(\"../pie/helpers\").getRotationAngle,d=h.computeTransform,m=h.transformInsideText,g=t(\"./style\").styleOne,v=t(\"../bar/style\").resizeText,y=t(\"./fx\"),x=t(\"./constants\"),b=t(\"./helpers\");function _(t,e,c,f){var h=t._fullLayout,v=!h.uniformtext.mode&&b.hasTransition(f),_=n.select(c).selectAll(\"g.slice\"),T=e[0],k=T.trace,A=T.hierarchy,M=b.findEntryWithLevel(A,k.level),S=b.getMaxDepth(k),E=h._size,L=k.domain,C=E.w*(L.x[1]-L.x[0]),P=E.h*(L.y[1]-L.y[0]),I=.5*Math.min(C,P),O=T.cx=E.l+E.w*(L.x[1]+L.x[0])/2,z=T.cy=E.t+E.h*(1-L.y[0])-P/2;if(!M)return _.remove();var D=null,R={};v&&_.each((function(t){R[b.getPtId(t)]={rpx0:t.rpx0,rpx1:t.rpx1,x0:t.x0,x1:t.x1,transform:t.transform},!D&&b.isEntry(t)&&(D=t)}));var F=function(t){return i.partition().size([2*Math.PI,t.height+1])(t)}(M).descendants(),B=M.height+1,N=0,j=S;T.hasMultipleRoots&&b.isHierarchyRoot(M)&&(F=F.slice(1),B-=1,N=1,j+=1),F=F.filter((function(t){return t.y1<=j}));var U=p(k.rotation);U&&F.forEach((function(t){t.x0+=U,t.x1+=U}));var V=Math.min(B,S),H=function(t){return(t-N)/V*I},q=function(t,e){return[t*Math.cos(e),-t*Math.sin(e)]},G=function(t){return s.pathAnnulus(t.rpx0,t.rpx1,t.x0,t.x1,O,z)},Y=function(t){return O+w(t)[0]*(t.transform.rCenter||0)+(t.transform.x||0)},W=function(t){return z+w(t)[1]*(t.transform.rCenter||0)+(t.transform.y||0)};(_=_.data(F,b.getPtId)).enter().append(\"g\").classed(\"slice\",!0),v?_.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=R[r],i=R[b.getPtId(M)];if(i){var o=(t.x1>i.x1?2*Math.PI:0)+U;e=t.rpx1<i.rpx1?{x0:t.x0,x1:t.x1,rpx0:0,rpx1:0}:{x0:o,x1:o,rpx0:t.rpx0,rpx1:t.rpx1}}else{var s,l=b.getPtId(t.parent);_.each((function(t){if(b.getPtId(t)===l)return s=t}));var c,u=s.children;u.forEach((function(t,e){if(b.getPtId(t)===r)return c=e}));var f=u.length,h=a(s.x0,s.x1);e={rpx0:I,rpx1:I,x0:h(c/f),x1:h((c+1)/f)}}return a(n,e)}(t);return function(t){return G(e(t))}})),t.select(\"g.slicetext\").attr(\"opacity\",0)})).remove():_.exit().remove(),_.order();var X=null;if(v&&D){var Z=b.getPtId(D);_.each((function(t){null===X&&b.getPtId(t)===Z&&(X=t.x1)}))}var J=_;function K(t){var e=t.parent,r=R[b.getPtId(e)],n={};if(r){var i=e.children,o=i.indexOf(t),s=i.length,l=a(r.x0,r.x1);n.x0=l(o/s),n.x1=l(o/s)}else n.x0=n.x1=0;return n}v&&(J=J.transition().each(\"end\",(function(){var e=n.select(this);b.setSliceCursor(e,t,{hideOnRoot:!0,hideOnLeaves:!0,isTransitioning:!1})}))),J.each((function(i){var c=n.select(this),f=s.ensureSingle(c,\"path\",\"surface\",(function(t){t.style(\"pointer-events\",\"all\")}));i.rpx0=H(i.y0),i.rpx1=H(i.y1),i.xmid=(i.x0+i.x1)/2,i.pxmid=q(i.rpx1,i.xmid),i.midangle=-(i.xmid-Math.PI/2),i.startangle=-(i.x0-Math.PI/2),i.stopangle=-(i.x1-Math.PI/2),i.halfangle=.5*Math.min(s.angleDelta(i.x0,i.x1)||Math.PI,Math.PI),i.ring=1-i.rpx0/i.rpx1,i.rInscribed=function(t){return 0===t.rpx0&&s.isFullCircle([t.x0,t.x1])?1:Math.max(0,Math.min(1/(1+1/Math.sin(t.halfangle)),t.ring/2))}(i),v?f.transition().attrTween(\"d\",(function(t){var e=function(t){var e,r=R[b.getPtId(t)],n={x0:t.x0,x1:t.x1,rpx0:t.rpx0,rpx1:t.rpx1};if(r)e=r;else if(D)if(t.parent)if(X){var i=(t.x1>X?2*Math.PI:0)+U;e={x0:i,x1:i}}else e={rpx0:I,rpx1:I},s.extendFlat(e,K(t));else e={rpx0:0,rpx1:0};else e={x0:U,x1:U};return a(e,n)}(t);return function(t){return G(e(t))}})):f.attr(\"d\",G),c.call(y,M,t,e,{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,k);var p=s.ensureSingle(c,\"g\",\"slicetext\"),_=s.ensureSingle(p,\"text\",\"\",(function(t){t.attr(\"data-notex\",1)})),w=s.ensureUniformFontSize(t,b.determineTextFont(k,i,h.font));_.text(r.formatSliceLabel(i,M,k,e,h)).classed(\"slicetext\",!0).attr(\"text-anchor\",\"middle\").call(o.font,w).call(l.convertToTspans,t);var A=o.bBox(_.node());i.transform=m(A,i,T),i.transform.targetX=Y(i),i.transform.targetY=W(i);var S=function(t,e){var r=t.transform;return d(r,e),r.fontSize=w.size,u(k.type,r,h),s.getTextTransform(r)};v?_.transition().attrTween(\"transform\",(function(t){var e=function(t){var e,r=R[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}},D)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=U;else e.x0=e.x1=U;var o=a(e.transform.textPosAngle,t.transform.textPosAngle),l=a(e.rpx1,t.rpx1),c=a(e.x0,t.x0),f=a(e.x1,t.x1),p=a(e.transform.scale,n.scale),d=a(e.transform.rotate,n.rotate),m=0===n.rCenter?3:0===e.transform.rCenter?1/3:1,g=a(e.transform.rCenter,n.rCenter);return function(t){var e=l(t),r=c(t),i=f(t),a=function(t){return g(Math.pow(t,m))}(t),s={pxmid:q(e,(r+i)/2),rpx1:e,transform:{textPosAngle:o(t),rCenter:a,x:n.x,y:n.y}};return u(k.type,n,h),{transform:{targetX:Y(s),targetY:W(s),scale:p(t),rotate:d(t),rCenter:a}}}}(t);return function(t){return S(e(t),A)}})):_.attr(\"transform\",S(i,A))}))}function w(t){return e=t.rpx1,r=t.transform.textPosAngle,[e*Math.sin(r),-e*Math.cos(r)];var e,r}r.plot=function(t,e,r,i){var a,o,s=t._fullLayout,l=s._sunburstlayer,c=!r,u=!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(),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){_(t,e,this,r)}))}))):(a.each((function(e){_(t,e,this,r)})),s.uniformtext.mode&&v(t,s._sunburstlayer.selectAll(\".trace\"),\"sunburst\"));c&&a.exit().remove()},r.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,f=c.hierarchy,h=b.isHierarchyRoot(t),p=b.getParent(f,t),d=b.getValue(t);if(!a){var m,g=o.split(\"+\"),v=function(t){return-1!==g.indexOf(t)},y=[];if(v(\"label\")&&u.label&&y.push(u.label),u.hasOwnProperty(\"v\")&&v(\"value\")&&y.push(b.formatValue(u.v,l)),!h){v(\"current path\")&&y.push(b.getPath(t.data));var x=0;v(\"percent parent\")&&x++,v(\"percent entry\")&&x++,v(\"percent root\")&&x++;var _=x>1;if(x){var w,T=function(t){m=b.formatPercent(w,l),_&&(m+=\" of \"+t),y.push(m)};v(\"percent parent\")&&!h&&(w=d/b.getValue(p),T(\"parent\")),v(\"percent entry\")&&(w=d/b.getValue(e),T(\"entry\")),v(\"percent root\")&&(w=d/b.getValue(f),T(\"root\"))}}return v(\"text\")&&(m=s.castOption(r,u.i,\"text\"),s.isValidTextValue(m)&&y.push(m)),y.join(\"<br>\")}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=b.formatValue(u.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),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||{})}},{\"../../components/drawing\":388,\"../../lib\":503,\"../../lib/svg_text_utils\":529,\"../bar/style\":662,\"../bar/uniform_text\":664,\"../pie/helpers\":906,\"../pie/plot\":910,\"./constants\":1052,\"./fx\":1054,\"./helpers\":1055,\"./style\":1060,\"@plotly/d3\":58,\"d3-hierarchy\":115,\"d3-interpolate\":116}],1060:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../../components/color\"),a=t(\"../../lib\"),o=t(\"../bar/uniform_text\").resizeText;function s(t,e,r){var n=e.data.data,o=!e.children,s=n.i,l=a.castOption(r,s,\"marker.line.color\")||i.defaultLine,c=a.castOption(r,s,\"marker.line.width\")||0;t.style(\"stroke-width\",c).call(i.fill,n.color).call(i.stroke,l).style(\"opacity\",o?r.leaf.opacity:null)}e.exports={style:function(t){var e=t._fullLayout._sunburstlayer.selectAll(\".trace\");o(t,e,\"sunburst\"),e.each((function(t){var e=n.select(this),r=t[0].trace;e.style(\"opacity\",r.opacity),e.selectAll(\"path.surface\").each((function(t){n.select(this).call(s,t,r)}))}))},styleOne:s}},{\"../../components/color\":366,\"../../lib\":503,\"../bar/uniform_text\":664,\"@plotly/d3\":58}],1061:[function(t,e,r){\"use strict\";var n=t(\"../../components/color\"),i=t(\"../../components/colorscale/attributes\"),a=t(\"../../plots/cartesian/axis_format_attributes\").axisHoverFormat,o=t(\"../../plots/template_attributes\").hovertemplateAttrs,s=t(\"../../plots/attributes\"),l=t(\"../../lib/extend\").extendFlat,c=t(\"../../plot_api/edit_types\").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 f=e.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\");f.x.editType=f.y.editType=f.z.editType=\"calc+clearAxisTypes\",f.transforms=void 0},{\"../../components/color\":366,\"../../components/colorscale/attributes\":373,\"../../lib/extend\":493,\"../../plot_api/edit_types\":536,\"../../plots/attributes\":550,\"../../plots/cartesian/axis_format_attributes\":557,\"../../plots/template_attributes\":633}],1062:[function(t,e,r){\"use strict\";var n=t(\"../../components/colorscale/calc\");e.exports=function(t,e){e.surfacecolor?n(t,e,{vals:e.surfacecolor,containerStr:\"\",cLetter:\"c\"}):n(t,e,{vals:e.z,containerStr:\"\",cLetter:\"c\"})}},{\"../../components/colorscale/calc\":374}],1063:[function(t,e,r){\"use strict\";var n=t(\"../../../stackgl_modules\").gl_surface3d,i=t(\"../../../stackgl_modules\").ndarray,a=t(\"../../../stackgl_modules\").ndarray_linear_interpolate.d2,o=t(\"../heatmap/interp2d\"),s=t(\"../heatmap/find_empties\"),l=t(\"../../lib\").isArrayOrTypedArray,c=t(\"../../lib/gl_format_color\").parseColorScale,u=t(\"../../lib/str2rgbarray\"),f=t(\"../../components/colorscale\").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++){var o=t.dataCoordinate[a];null!=o&&(t.dataCoordinate[a]*=this.scene.dataScale[a])}var s=this.data.hovertext||this.data.text;return Array.isArray(s)&&s[i]&&void 0!==s[i][n]?t.textLabel=s[i][n]:t.textLabel=s||\"\",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(t<e)return 0;for(var r=0;0===Math.floor(t%e);)t/=e,r++;return r}function g(t){for(var e=[],r=0;r<d.length;r++){var n=d[r];e.push(m(t,n))}return e}function v(t){for(var e=g(t),r=t,n=0;n<d.length;n++)if(e[n]>0){r=d[n];break}return r}function y(t,e){if(!(t<1||e<1)){for(var r=g(t),n=g(e),i=1,a=0;a<d.length;a++)i*=Math.pow(d[a],Math.max(r[a],n[a]));return i}}p.calcXnums=function(t){var e,r=[];for(e=1;e<t;e++){var n=this.getXat(e-1,0),i=this.getXat(e,0);r[e-1]=i!==n&&null!=n&&null!=i?Math.abs(i-n):0}var a=0;for(e=1;e<t;e++)a+=r[e-1];for(e=1;e<t;e++)0===r[e-1]?r[e-1]=1:r[e-1]=Math.round(a/r[e-1]);return r},p.calcYnums=function(t){var e,r=[];for(e=1;e<t;e++){var n=this.getYat(0,e-1),i=this.getYat(0,e);r[e-1]=i!==n&&null!=n&&null!=i?Math.abs(i-n):0}var a=0;for(e=1;e<t;e++)a+=r[e-1];for(e=1;e<t;e++)0===r[e-1]?r[e-1]=1:r[e-1]=Math.round(a/r[e-1]);return r};var x=[1,2,4,6,12,24,36,48,60,120,180,240,360,720,840,1260],b=x[9],_=x[13];function w(t,e,r){var n=r[8]+r[2]*e[0]+r[5]*e[1];return t[0]=(r[6]+r[0]*e[0]+r[3]*e[1])/n,t[1]=(r[7]+r[1]*e[0]+r[4]*e[1])/n,t}function T(t,e,r){return function(t,e,r,n){for(var i=[0,0],o=t.shape[0],s=t.shape[1],l=0;l<o;l++)for(var c=0;c<s;c++)r(i,[l,c],n),t.set(l,c,a(e,i[0],i[1]))}(t,e,w,r),t}function k(t,e){for(var r=!1,n=0;n<t.length;n++)if(e===t[n]){r=!0;break}!1===r&&t.push(e)}p.estimateScale=function(t,e){for(var r=1+function(t){if(0!==t.length){for(var e=1,r=0;r<t.length;r++)e=y(e,t[r]);return e}}(0===e?this.calcXnums(t):this.calcYnums(t));r<b;)r*=2;for(;r>_;)r--,r/=v(r),++r<b&&(r=_);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]),f=[1/e,0,0,0,1/r,0,0,0,1],h=0;h<t.length;++h){this.surface.padField(u,t[h]);var p=i(new Float32Array(o*s),[o,s]);T(p,u,f),t[h]=p}},p.setContourLevels=function(){var t,e,r,n=[[],[],[]],i=[!1,!1,!1],a=!1;for(t=0;t<3;++t)if(this.showContour[t]&&(a=!0,this.contourSize[t]>0&&null!==this.contourStart[t]&&null!==this.contourEnd[t]&&this.contourEnd[t]>this.contourStart[t]))for(i[t]=!0,e=this.contourStart[t];e<this.contourEnd[t];e+=this.contourSize[t])r=e*this.scene.dataScale[t],k(n[t],r);if(a){var o=[[],[],[]];for(t=0;t<3;++t)this.showContour[t]&&(o[t]=i[t]?n[t]:this.scene.contourLevels[t]);this.surface.update({levels:o})}},p.update=function(t){var e,r,n,a,l=this.scene,h=l.fullSceneLayout,p=this.surface,d=c(t),m=l.dataScale,g=t.z[0].length,v=t._ylength,y=l.contourLevels;this.data=t;var x=[];for(e=0;e<3;e++)for(x[e]=[],r=0;r<g;r++)x[e][r]=[];for(r=0;r<g;r++)for(n=0;n<v;n++)x[0][r][n]=this.getXat(r,n,t.xcalendar,h.xaxis),x[1][r][n]=this.getYat(r,n,t.ycalendar,h.yaxis),x[2][r][n]=this.getZat(r,n,t.zcalendar,h.zaxis);if(t.connectgaps)for(t._emptypoints=s(x[2]),o(x[2],t._emptypoints),t._interpolatedZ=[],r=0;r<g;r++)for(t._interpolatedZ[r]=[],n=0;n<v;n++)t._interpolatedZ[r][n]=x[2][r][n];for(e=0;e<3;e++)for(r=0;r<g;r++)for(n=0;n<v;n++)null==(a=x[e][r][n])?x[e][r][n]=NaN:a=x[e][r][n]*=m[e];for(e=0;e<3;e++)for(r=0;r<g;r++)for(n=0;n<v;n++)null!=(a=x[e][r][n])&&(this.minValues[e]>a&&(this.minValues[e]=a),this.maxValues[e]<a&&(this.maxValues[e]=a));for(e=0;e<3;e++)this.objectOffset[e]=.5*(this.minValues[e]+this.maxValues[e]);for(e=0;e<3;e++)for(r=0;r<g;r++)for(n=0;n<v;n++)null!=(a=x[e][r][n])&&(x[e][r][n]-=this.objectOffset[e]);var b=[i(new Float32Array(g*v),[g,v]),i(new Float32Array(g*v),[g,v]),i(new Float32Array(g*v),[g,v])];for(e=0;e<3;e++)for(r=0;r<g;r++)for(n=0;n<v;n++)b[e].set(r,n,x[e][r][n]);x=[];var w={colormap:d,levels:[[],[],[]],showContour:[!0,!0,!0],showSurface:!t.hidesurface,contourProject:[[!1,!1,!1],[!1,!1,!1],[!1,!1,!1]],contourWidth:[1,1,1],contourColor:[[1,1,1,1],[1,1,1,1],[1,1,1,1]],contourTint:[1,1,1],dynamicColor:[[1,1,1,1],[1,1,1,1],[1,1,1,1]],dynamicWidth:[1,1,1],dynamicTint:[1,1,1],opacityscale:t.opacityscale,opacity:t.opacity},T=f(t);if(w.intensityBounds=[T.min,T.max],t.surfacecolor){var k=i(new Float32Array(g*v),[g,v]);for(r=0;r<g;r++)for(n=0;n<v;n++)k.set(r,n,t.surfacecolor[n][r]);b.push(k)}else w.intensityBounds[0]*=m[2],w.intensityBounds[1]*=m[2];(_<b[0].shape[0]||_<b[0].shape[1])&&(this.refineData=!1),!0===this.refineData&&(this.dataScaleX=this.estimateScale(b[0].shape[0],0),this.dataScaleY=this.estimateScale(b[0].shape[1],1),1===this.dataScaleX&&1===this.dataScaleY||this.refineCoords(b)),t.surfacecolor&&(w.intensity=b.pop());var A=[!0,!0,!0],M=[\"x\",\"y\",\"z\"];for(e=0;e<3;++e){var S=t.contours[M[e]];A[e]=S.highlight,w.showContour[e]=S.show||S.highlight,w.showContour[e]&&(w.contourProject[e]=[S.project.x,S.project.y,S.project.z],S.show?(this.showContour[e]=!0,w.levels[e]=y[e],p.highlightColor[e]=w.contourColor[e]=u(S.color),S.usecolormap?p.highlightTint[e]=w.contourTint[e]=0:p.highlightTint[e]=w.contourTint[e]=1,w.contourWidth[e]=S.width,this.contourStart[e]=S.start,this.contourEnd[e]=S.end,this.contourSize[e]=S.size):(this.showContour[e]=!1,this.contourStart[e]=null,this.contourEnd[e]=null,this.contourSize[e]=0),S.highlight&&(w.dynamicColor[e]=u(S.highlightcolor),w.dynamicWidth[e]=S.highlightwidth))}(function(t){var e=t[0].rgb,r=t[t.length-1].rgb;return e[0]===r[0]&&e[1]===r[1]&&e[2]===r[2]&&e[3]===r[3]})(d)&&(w.vertexColor=!0),w.objectOffset=this.objectOffset,w.coords=b,p.update(w),p.visible=t.visible,p.enableDynamic=A,p.enableHighlight=A,p.snapToData=!0,\"lighting\"in t&&(p.ambientLight=t.lighting.ambient,p.diffuseLight=t.lighting.diffuse,p.specularLight=t.lighting.specular,p.roughness=t.lighting.roughness,p.fresnel=t.lighting.fresnel),\"lightposition\"in t&&(p.lightPosition=[t.lightposition.x,t.lightposition.y,t.lightposition.z])},p.dispose=function(){this.scene.glplot.remove(this.surface),this.surface.dispose()},e.exports=function(t,e){var r=t.glplot.gl,i=n({gl:r}),a=new h(t,i,e.uid);return i._trace=a,a.update(e),t.glplot.add(i),a}},{\"../../../stackgl_modules\":1124,\"../../components/colorscale\":378,\"../../lib\":503,\"../../lib/gl_format_color\":499,\"../../lib/str2rgbarray\":528,\"../heatmap/find_empties\":798,\"../heatmap/interp2d\":801}],1064:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),i=t(\"../../lib\"),a=t(\"../../components/colorscale/defaults\"),o=t(\"./attributes\");function s(t,e,r,n){var i=n(\"opacityscale\");\"max\"===i?e.opacityscale=[[0,.1],[1,1]]:\"min\"===i?e.opacityscale=[[0,1],[1,.1]]:\"extremes\"===i?e.opacityscale=function(t,e){for(var r=[],n=0;n<32;n++){var i=n/31,a=e+(1-e)*(1-Math.pow(Math.sin(t*i*Math.PI),2));r.push([i,Math.max(0,Math.min(1,a))])}return r}(1,.1):function(t){var e=0;if(!Array.isArray(t)||t.length<2)return!1;if(!t[0]||!t[t.length-1])return!1;if(0!=+t[0][0]||1!=+t[t.length-1][0])return!1;for(var r=0;r<t.length;r++){var n=t[r];if(2!==n.length||+n[0]<e)return!1;e=+n[0]}return!0}(i)||(e.opacityscale=void 0)}function l(t,e,r){e in t&&!(r in t)&&(t[r]=t[e])}e.exports={supplyDefaults:function(t,e,r,c){var u,f;function h(r,n){return i.coerce(t,e,o,r,n)}var p=h(\"x\"),d=h(\"y\"),m=h(\"z\");if(!m||!m.length||p&&p.length<1||d&&d.length<1)e.visible=!1;else{e._xlength=Array.isArray(p)&&i.isArrayOrTypedArray(p[0])?m.length:m[0].length,e._ylength=m.length,n.getComponentMethod(\"calendars\",\"handleTraceDefaults\")(t,e,[\"x\",\"y\",\"z\"],c),h(\"text\"),h(\"hovertext\"),h(\"hovertemplate\"),h(\"xhoverformat\"),h(\"yhoverformat\"),h(\"zhoverformat\"),[\"lighting.ambient\",\"lighting.diffuse\",\"lighting.specular\",\"lighting.roughness\",\"lighting.fresnel\",\"lightposition.x\",\"lightposition.y\",\"lightposition.z\",\"hidesurface\",\"connectgaps\",\"opacity\"].forEach((function(t){h(t)}));var g=h(\"surfacecolor\"),v=[\"x\",\"y\",\"z\"];for(u=0;u<3;++u){var y=\"contours.\"+v[u],x=h(y+\".show\"),b=h(y+\".highlight\");if(x||b)for(f=0;f<3;++f)h(y+\".project.\"+v[f]);x&&(h(y+\".color\"),h(y+\".width\"),h(y+\".usecolormap\")),b&&(h(y+\".highlightcolor\"),h(y+\".highlightwidth\")),h(y+\".start\"),h(y+\".end\"),h(y+\".size\")}g||(l(t,\"zmin\",\"cmin\"),l(t,\"zmax\",\"cmax\"),l(t,\"zauto\",\"cauto\")),a(t,e,c,h,{prefix:\"\",cLetter:\"c\"}),s(t,e,c,h),e._length=null}},opacityscaleDefaults:s}},{\"../../components/colorscale/defaults\":376,\"../../lib\":503,\"../../registry\":638,\"./attributes\":1061}],1065:[function(t,e,r){\"use strict\";e.exports={attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\").supplyDefaults,colorbar:{min:\"cmin\",max:\"cmax\"},calc:t(\"./calc\"),plot:t(\"./convert\"),moduleType:\"trace\",name:\"surface\",basePlotModule:t(\"../../plots/gl3d\"),categories:[\"gl3d\",\"2dMap\",\"showLegend\"],meta:{}}},{\"../../plots/gl3d\":598,\"./attributes\":1061,\"./calc\":1062,\"./convert\":1063,\"./defaults\":1064}],1066:[function(t,e,r){\"use strict\";var n=t(\"../../components/annotations/attributes\"),i=t(\"../../lib/extend\").extendFlat,a=t(\"../../plot_api/edit_types\").overrideAll,o=t(\"../../plots/font_attributes\"),s=t(\"../../plots/domain\").attributes,l=t(\"../../plots/cartesian/axis_format_attributes\").descriptionOnlyNumbers;(e.exports=a({domain:s({name:\"table\",trace:!0}),columnwidth:{valType:\"number\",arrayOk:!0,dflt:null},columnorder:{valType:\"data_array\"},header:{values:{valType:\"data_array\",dflt:[]},format:{valType:\"data_array\",dflt:[],description:l(\"cell value\")},prefix:{valType:\"string\",arrayOk:!0,dflt:null},suffix:{valType:\"string\",arrayOk:!0,dflt:null},height:{valType:\"number\",dflt:28},align:i({},n.align,{arrayOk:!0}),line:{width:{valType:\"number\",arrayOk:!0,dflt:1},color:{valType:\"color\",arrayOk:!0,dflt:\"grey\"}},fill:{color:{valType:\"color\",arrayOk:!0,dflt:\"white\"}},font:i({},o({arrayOk:!0}))},cells:{values:{valType:\"data_array\",dflt:[]},format:{valType:\"data_array\",dflt:[],description:l(\"cell value\")},prefix:{valType:\"string\",arrayOk:!0,dflt:null},suffix:{valType:\"string\",arrayOk:!0,dflt:null},height:{valType:\"number\",dflt:20},align:i({},n.align,{arrayOk:!0}),line:{width:{valType:\"number\",arrayOk:!0,dflt:1},color:{valType:\"color\",arrayOk:!0,dflt:\"grey\"}},fill:{color:{valType:\"color\",arrayOk:!0,dflt:\"white\"}},font:i({},o({arrayOk:!0}))}},\"calc\",\"from-root\")).transforms=void 0},{\"../../components/annotations/attributes\":349,\"../../lib/extend\":493,\"../../plot_api/edit_types\":536,\"../../plots/cartesian/axis_format_attributes\":557,\"../../plots/domain\":584,\"../../plots/font_attributes\":585}],1067:[function(t,e,r){\"use strict\";var n=t(\"../../plots/get_data\").getModuleCalcData,i=t(\"./plot\");r.name=\"table\",r.plot=function(t){var e=n(t.calcdata,\"table\")[0];e.length&&i(t,e)},r.clean=function(t,e,r,n){var i=n._has&&n._has(\"table\"),a=e._has&&e._has(\"table\");i&&!a&&n._paperdiv.selectAll(\".table\").remove()}},{\"../../plots/get_data\":593,\"./plot\":1074}],1068:[function(t,e,r){\"use strict\";var n=t(\"../../lib/gup\").wrap;e.exports=function(){return n({})}},{\"../../lib/gup\":500}],1069:[function(t,e,r){\"use strict\";e.exports={cellPad:8,columnExtentOffset:10,columnTitleOffset:28,emptyHeaderHeight:16,latexCheck:/^\\$.*\\$$/,goldenRatio:1.618,lineBreaker:\"<br>\",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\"}}},{}],1070:[function(t,e,r){\"use strict\";var n=t(\"./constants\"),i=t(\"../../lib/extend\").extendFlat,a=t(\"fast-isnumeric\");function o(t){if(Array.isArray(t)){for(var e=0,r=0;r<t.length;r++)e=Math.max(e,o(t[r]));return e}return t}function s(t,e){return t+e}function l(t){var e,r=t.slice(),n=1/0,i=0;for(e=0;e<r.length;e++)Array.isArray(r[e])||(r[e]=[r[e]]),n=Math.min(n,r[e].length),i=Math.max(i,r[e].length);if(n!==i)for(e=0;e<r.length;e++){var a=i-r[e].length;a&&(r[e]=r[e].concat(c(a)))}return r}function c(t){for(var e=new Array(t),r=0;r<t;r++)e[r]=\"\";return e}function u(t){return t.calcdata.columns.reduce((function(e,r){return r.xIndex<t.xIndex?e+r.columnWidth:e}),0)}function f(t,e){return Object.keys(t).map((function(r){return i({},t[r],{auxiliaryBlocks:e})}))}function h(t,e){for(var r,n={},i=0,a=0,o={firstRowIndex:null,lastRowIndex:null,rows:[]},s=0,l=0,c=0;c<t.length;c++)r=t[c],o.rows.push({rowIndex:c,rowHeight:r}),((a+=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}e.exports=function(t,e){var r=l(e.cells.values),p=function(t){return t.slice(e.header.values.length,t.length)},d=l(e.header.values);d.length&&!d[0].length&&(d[0]=[\"\"],d=l(d));var m=d.concat(p(r).map((function(){return c((d[0]||[\"\"]).length)}))),g=e.domain,v=Math.floor(t._fullLayout._size.w*(g.x[1]-g.x[0])),y=Math.floor(t._fullLayout._size.h*(g.y[1]-g.y[0])),x=e.header.values.length?m[0].map((function(){return e.header.height})):[n.emptyHeaderHeight],b=r.length?r[0].map((function(){return e.cells.height})):[],_=x.reduce(s,0),w=h(b,y-_+n.uplift),T=f(h(x,_),[]),k=f(w,T),A={},M=e._fullInput.columnorder.concat(p(r.map((function(t,e){return e})))),S=m.map((function(t,r){var n=Array.isArray(e.columnwidth)?e.columnwidth[Math.min(r,e.columnwidth.length-1)]:e.columnwidth;return a(n)?Number(n):1})),E=S.reduce(s,0);S=S.map((function(t){return t/E*v}));var L=Math.max(o(e.header.line.width),o(e.cells.line.width)),C={key:e.uid+t._context.staticPlot,translateX:g.x[0]*t._fullLayout._size.w,translateY:t._fullLayout._size.h*(1-g.y[1]),size:t._fullLayout._size,width:v,maxLineWidth:L,height:y,columnOrder:M,groupHeight:y,rowBlocks:k,headerRowBlocks:T,scrollY:0,cells:i({},e.cells,{values:r}),headerCells:i({},e.header,{values:m}),gdColumns:m.map((function(t){return t[0]})),gdColumnsOriginalOrder:m.map((function(t){return t[0]})),prevPages:[0,0],scrollbarState:{scrollbarScrollInProgress:!1},columns:m.map((function(t,e){var r=A[t];return A[t]=(r||0)+1,{key:t+\"__\"+A[t],label:t,specIndex:e,xIndex:M[e],xScale:u,x:void 0,calcdata:void 0,columnWidth:S[e]}}))};return C.columns.forEach((function(t){t.calcdata=C,t.x=u(t)})),C}},{\"../../lib/extend\":493,\"./constants\":1069,\"fast-isnumeric\":190}],1071:[function(t,e,r){\"use strict\";var n=t(\"../../lib/extend\").extendFlat;r.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]},r.splitToCells=function(t){var e=function(t){var e=t.rowBlocks[t.page],r=e?e.rows[0].rowIndex:0,n=e?r+e.rows.length:0;return[r,n]}(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}}))}},{\"../../lib/extend\":493}],1072:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./attributes\"),a=t(\"../../plots/domain\").defaults;e.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<n;s++)o.push(s);e(\"columnorder\",o)}(e,s),s(\"cells.values\"),s(\"cells.format\"),s(\"cells.align\"),s(\"cells.prefix\"),s(\"cells.suffix\"),s(\"cells.height\"),s(\"cells.line.width\"),s(\"cells.line.color\"),s(\"cells.fill.color\"),n.coerceFont(s,\"cells.font\",n.extendFlat({},o.font)),e._length=null}},{\"../../lib\":503,\"../../plots/domain\":584,\"./attributes\":1066}],1073:[function(t,e,r){\"use strict\";e.exports={attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\"),calc:t(\"./calc\"),plot:t(\"./plot\"),moduleType:\"trace\",name:\"table\",basePlotModule:t(\"./base_plot\"),categories:[\"noOpacity\"],meta:{}}},{\"./attributes\":1066,\"./base_plot\":1067,\"./calc\":1068,\"./defaults\":1072,\"./plot\":1074}],1074:[function(t,e,r){\"use strict\";var n=t(\"./constants\"),i=t(\"@plotly/d3\"),a=t(\"../../lib\").numberFormat,o=t(\"../../lib/gup\"),s=t(\"../../components/drawing\"),l=t(\"../../lib/svg_text_utils\"),c=t(\"../../lib\").raiseToTop,u=t(\"../../lib\").strTranslate,f=t(\"../../lib\").cancelTransition,h=t(\"./data_preparation_helper\"),p=t(\"./data_split_helpers\"),d=t(\"../../components/color\");function m(t){return Math.ceil(t.calcdata.maxLineWidth/2)}function g(t,e){return\"clip\"+t._fullLayout._uid+\"_scrollAreaBottomClip_\"+e.key}function v(t,e){return\"clip\"+t._fullLayout._uid+\"_columnBoundaryClippath_\"+e.calcdata.key+\"_\"+e.specIndex}function y(t){return[].concat.apply([],t.map((function(t){return t}))).map((function(t){return t.__data__}))}function x(t,e,r){var a=t.selectAll(\".\"+n.cn.scrollbarKit).data(o.repeat,o.keyFun);a.enter().append(\"g\").classed(n.cn.scrollbarKit,!0).style(\"shape-rendering\",\"geometricPrecision\"),a.each((function(t){var e=t.scrollbarState;e.totalHeight=function(t){var e=t.rowBlocks;return D(e,e.length-1)+(e.length?R(e[e.length-1],1/0):1)}(t),e.scrollableAreaHeight=t.groupHeight-S(t),e.currentlyVisibleHeight=Math.min(e.totalHeight,e.scrollableAreaHeight),e.ratio=e.currentlyVisibleHeight/e.totalHeight,e.barLength=Math.max(e.ratio*e.currentlyVisibleHeight,n.goldenRatio*n.scrollbarWidth),e.barWiggleRoom=e.currentlyVisibleHeight-e.barLength,e.wiggleRoom=Math.max(0,e.totalHeight-e.scrollableAreaHeight),e.topY=0===e.barWiggleRoom?0:t.scrollY/e.wiggleRoom*e.barWiggleRoom,e.bottomY=e.topY+e.barLength,e.dragMultiplier=e.wiggleRoom/e.barWiggleRoom})).attr(\"transform\",(function(t){var e=t.width+n.scrollbarWidth/2+n.scrollbarOffset;return u(e,S(t))}));var s=a.selectAll(\".\"+n.cn.scrollbar).data(o.repeat,o.keyFun);s.enter().append(\"g\").classed(n.cn.scrollbar,!0);var l=s.selectAll(\".\"+n.cn.scrollbarSlider).data(o.repeat,o.keyFun);l.enter().append(\"g\").classed(n.cn.scrollbarSlider,!0),l.attr(\"transform\",(function(t){return u(0,t.scrollbarState.topY||0)}));var c=l.selectAll(\".\"+n.cn.scrollbarGlyph).data(o.repeat,o.keyFun);c.enter().append(\"line\").classed(n.cn.scrollbarGlyph,!0).attr(\"stroke\",\"black\").attr(\"stroke-width\",n.scrollbarWidth).attr(\"stroke-linecap\",\"round\").attr(\"y1\",n.scrollbarWidth/2),c.attr(\"y2\",(function(t){return t.scrollbarState.barLength-n.scrollbarWidth/2})).attr(\"stroke-opacity\",(function(t){return t.columnDragInProgress||!t.scrollbarState.barWiggleRoom||r?0:.4})),c.transition().delay(0).duration(0),c.transition().delay(n.scrollbarHideDelay).duration(n.scrollbarHideDuration).attr(\"stroke-opacity\",0);var f=s.selectAll(\".\"+n.cn.scrollbarCaptureZone).data(o.repeat,o.keyFun);f.enter().append(\"line\").classed(n.cn.scrollbarCaptureZone,!0).attr(\"stroke\",\"white\").attr(\"stroke-opacity\",.01).attr(\"stroke-width\",n.scrollbarCaptureWidth).attr(\"stroke-linecap\",\"butt\").attr(\"y1\",0).on(\"mousedown\",(function(r){var n=i.event.y,a=this.getBoundingClientRect(),o=r.scrollbarState,s=n-a.top,l=i.scale.linear().domain([0,o.scrollableAreaHeight]).range([0,o.totalHeight]).clamp(!0);o.topY<=s&&s<=o.bottomY||L(e,t,null,l(s-o.barLength/2))(r)})).call(i.behavior.drag().origin((function(t){return i.event.stopPropagation(),t.scrollbarState.scrollbarScrollInProgress=!0,t})).on(\"drag\",L(e,t)).on(\"dragend\",(function(){}))),f.attr(\"y2\",(function(t){return t.scrollbarState.scrollableAreaHeight})),e._context.staticPlot&&(c.remove(),f.remove())}function b(t,e,r,a){var l=function(t){var e=t.selectAll(\".\"+n.cn.columnCell).data(p.splitToCells,(function(t){return t.keyWithinBlock}));return e.enter().append(\"g\").classed(n.cn.columnCell,!0),e.exit().remove(),e}(function(t){var e=t.selectAll(\".\"+n.cn.columnCells).data(o.repeat,o.keyFun);return e.enter().append(\"g\").classed(n.cn.columnCells,!0),e.exit().remove(),e}(r));!function(t){t.each((function(t,e){var r=t.calcdata.cells.font,n=t.column.specIndex,i={size:T(r.size,n,e),color:T(r.color,n,e),family:T(r.family,n,e)};t.rowNumber=t.key,t.align=T(t.calcdata.cells.align,n,e),t.cellBorderWidth=T(t.calcdata.cells.line.width,n,e),t.font=i}))}(l),function(t){t.attr(\"width\",(function(t){return t.column.columnWidth})).attr(\"stroke-width\",(function(t){return t.cellBorderWidth})).each((function(t){var e=i.select(this);d.stroke(e,T(t.calcdata.cells.line.color,t.column.specIndex,t.rowNumber)),d.fill(e,T(t.calcdata.cells.fill.color,t.column.specIndex,t.rowNumber))}))}(function(t){var e=t.selectAll(\".\"+n.cn.cellRect).data(o.repeat,(function(t){return t.keyWithinBlock}));return e.enter().append(\"rect\").classed(n.cn.cellRect,!0),e}(l));var c=function(t){var e=t.selectAll(\".\"+n.cn.cellText).data(o.repeat,(function(t){return t.keyWithinBlock}));return e.enter().append(\"text\").classed(n.cn.cellText,!0).style(\"cursor\",(function(){return\"auto\"})).on(\"mousedown\",(function(){i.event.stopPropagation()})),e}(function(t){var e=t.selectAll(\".\"+n.cn.cellTextHolder).data(o.repeat,(function(t){return t.keyWithinBlock}));return e.enter().append(\"g\").classed(n.cn.cellTextHolder,!0).style(\"shape-rendering\",\"geometricPrecision\"),e}(l));!function(t){t.each((function(t){s.font(i.select(this),t.font)}))}(c),_(c,e,a,t),z(l)}function _(t,e,r,o){t.text((function(t){var e=t.column.specIndex,r=t.rowNumber,i=t.value,o=\"string\"==typeof i,s=o&&i.match(/<br>/i),l=!o||s;t.mayHaveMarkup=o&&i.match(/[<&>]/);var c,u=\"string\"==typeof(c=i)&&c.match(n.latexCheck);t.latex=u;var f,h,p=u?\"\":T(t.calcdata.cells.prefix,e,r)||\"\",d=u?\"\":T(t.calcdata.cells.suffix,e,r)||\"\",m=u?null:T(t.calcdata.cells.format,e,r)||null,g=p+(m?a(m)(t.value):t.value)+d;if(t.wrappingNeeded=!t.wrapped&&!l&&!u&&(f=w(g)),t.cellHeightMayIncrease=s||u||t.mayHaveMarkup||(void 0===f?w(g):f),t.needsConvertToTspans=t.mayHaveMarkup||t.wrappingNeeded||t.latex,t.wrappingNeeded){var v=(\" \"===n.wrapSplitCharacter?g.replace(/<a href=/gi,\"<a_href=\"):g).split(n.wrapSplitCharacter),y=\" \"===n.wrapSplitCharacter?v.map((function(t){return t.replace(/<a_href=/gi,\"<a href=\")})):v;t.fragments=y.map((function(t){return{text:t,width:null}})),t.fragments.push({fragment:n.wrapSpacer,width:null}),h=y.join(n.lineBreaker)+n.lineBreaker+n.wrapSpacer}else delete t.fragments,h=g;return h})).attr(\"dy\",(function(t){return t.needsConvertToTspans?0:\"0.75em\"})).each((function(t){var a=i.select(this),s=t.wrappingNeeded?P:I;t.needsConvertToTspans?l.convertToTspans(a,o,s(r,this,e,o,t)):i.select(this.parentNode).attr(\"transform\",(function(t){return u(O(t),n.cellPad)})).attr(\"text-anchor\",(function(t){return{left:\"start\",center:\"middle\",right:\"end\"}[t.align]}))}))}function w(t){return-1!==t.indexOf(n.wrapSplitCharacter)}function T(t,e,r){if(Array.isArray(t)){var n=t[Math.min(e,t.length-1)];return Array.isArray(n)?n[Math.min(r,n.length-1)]:n}return t}function k(t,e,r){t.transition().ease(n.releaseTransitionEase).duration(n.releaseTransitionDuration).attr(\"transform\",u(e.x,r))}function A(t){return\"cells\"===t.type}function M(t){return\"header\"===t.type}function S(t){return(t.rowBlocks.length?t.rowBlocks[0].auxiliaryBlocks:[]).reduce((function(t,e){return t+R(e,1/0)}),0)}function E(t,e,r){var n=y(e)[0];if(void 0!==n){var i=n.rowBlocks,a=n.calcdata,o=D(i,i.length),s=n.calcdata.groupHeight-S(n),l=a.scrollY=Math.max(0,Math.min(o-s,a.scrollY)),c=function(t,e,r){for(var n=[],i=0,a=0;a<t.length;a++){for(var o=t[a],s=o.rows,l=0,c=0;c<s.length;c++)l+=s[c].rowHeight;o.allRowsHeight=l;e<i+l&&e+r>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=D(t.rowBlocks,t.page)-t.scrollY;return u(0,e)})),t&&(C(t,r,e,c,n.prevPages,n,0),C(t,r,e,c,n.prevPages,n,1),x(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 f=l.selectAll(\".\"+n.cn.yColumn).selectAll(\".\"+n.cn.columnBlock).filter(A);return E(t,f,l),s.scrollY===u}}function C(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(),_(o.select(\".\"+n.cn.cellText),r,t,a),i.select(e.parentNode.parentNode).call(z)}}function I(t,e,r,a,o){return function(){if(!o.settledY){var s=i.select(e.parentNode),l=B(o),c=o.key-l.firstRowIndex,f=l.rows[c].rowHeight,h=o.cellHeightMayIncrease?e.parentNode.getBoundingClientRect().height+2*n.cellPad:f,p=Math.max(h,f);p-l.rows[c].rowHeight&&(l.rows[c].rowHeight=p,t.selectAll(\".\"+n.cn.columnCell).call(z),E(null,t.filter(A),0),x(r,a,!0)),s.attr(\"transform\",(function(){var t=this.parentNode.getBoundingClientRect(),e=i.select(this.parentNode).select(\".\"+n.cn.cellRect).node().getBoundingClientRect(),r=this.transform.baseVal.consolidate(),a=e.top-t.top+(r?r.matrix.f:n.cellPad);return u(O(o,i.select(this.parentNode).select(\".\"+n.cn.cellTextHolder).node().getBoundingClientRect().width),a)})),o.settledY=!0}}}function O(t,e){switch(t.align){case\"left\":return n.cellPad;case\"right\":return t.column.columnWidth-(e||0)-n.cellPad;case\"center\":return(t.column.columnWidth-(e||0))/2;default:return n.cellPad}}function z(t){t.attr(\"transform\",(function(t){var e=t.rowBlocks[0].auxiliaryBlocks.reduce((function(t,e){return t+R(e,1/0)}),0),r=R(B(t),t.key);return u(0,r+e)})).selectAll(\".\"+n.cn.cellRect).attr(\"height\",(function(t){return(e=B(t),r=t.key,e.rows[r-e.firstRowIndex]).rowHeight;var e,r}))}function D(t,e){for(var r=0,n=e-1;n>=0;n--)r+=F(t[n]);return r}function R(t,e){for(var r=0,n=0;n<t.rows.length&&t.rows[n].rowIndex<e;n++)r+=t.rows[n].rowHeight;return r}function F(t){var e=t.allRowsHeight;if(void 0!==e)return e;for(var r=0,n=0;n<t.rows.length;n++)r+=t.rows[n].rowHeight;return t.allRowsHeight=r,r}function B(t){return t.rowBlocks[t.page]}e.exports=function(t,e){var r=!t._context.staticPlot,a=t._fullLayout._paper.selectAll(\".\"+n.cn.table).data(e.map((function(e){var r=o.unwrap(e).trace;return h(t,r)})),o.keyFun);a.exit().remove(),a.enter().append(\"g\").classed(n.cn.table,!0).attr(\"overflow\",\"visible\").style(\"box-sizing\",\"content-box\").style(\"position\",\"absolute\").style(\"left\",0).style(\"overflow\",\"visible\").style(\"shape-rendering\",\"crispEdges\").style(\"pointer-events\",\"all\"),a.attr(\"width\",(function(t){return t.width+t.size.l+t.size.r})).attr(\"height\",(function(t){return t.height+t.size.t+t.size.b})).attr(\"transform\",(function(t){return u(t.translateX,t.translateY)}));var l=a.selectAll(\".\"+n.cn.tableControlView).data(o.repeat,o.keyFun),d=l.enter().append(\"g\").classed(n.cn.tableControlView,!0).style(\"box-sizing\",\"content-box\");if(r){var _=\"onwheel\"in document?\"wheel\":\"mousewheel\";d.on(\"mousemove\",(function(e){l.filter((function(t){return e===t})).call(x,t)})).on(_,(function(e){if(!e.scrollbarState.wheeling){e.scrollbarState.wheeling=!0;var r=e.scrollY+i.event.deltaY;L(t,l,null,r)(e)||(i.event.stopPropagation(),i.event.preventDefault()),e.scrollbarState.wheeling=!1}})).call(x,t,!0)}l.attr(\"transform\",(function(t){return u(t.size.l,t.size.t)}));var w=l.selectAll(\".\"+n.cn.scrollBackground).data(o.repeat,o.keyFun);w.enter().append(\"rect\").classed(n.cn.scrollBackground,!0).attr(\"fill\",\"none\"),w.attr(\"width\",(function(t){return t.width})).attr(\"height\",(function(t){return t.height})),l.each((function(e){s.setClipUrl(i.select(this),g(t,e),t)}));var T=l.selectAll(\".\"+n.cn.yColumn).data((function(t){return t.columns}),o.keyFun);T.enter().append(\"g\").classed(n.cn.yColumn,!0),T.exit().remove(),T.attr(\"transform\",(function(t){return u(t.x,0)})),r&&T.call(i.behavior.drag().origin((function(e){return k(i.select(this),e,-n.uplift),c(this),e.calcdata.columnDragInProgress=!0,x(l.filter((function(t){return e.calcdata.key===t.key})),t),e})).on(\"drag\",(function(t){var e=i.select(this),r=function(e){return(t===e?i.event.x:e.x)+e.columnWidth/2};t.x=Math.max(-n.overdrag,Math.min(t.calcdata.width+n.overdrag-t.columnWidth,i.event.x)),y(T).filter((function(e){return e.calcdata.key===t.calcdata.key})).sort((function(t,e){return r(t)-r(e)})).forEach((function(e,r){e.xIndex=r,e.x=t===e?e.x:e.xScale(e)})),T.filter((function(e){return t!==e})).transition().ease(n.transitionEase).duration(n.transitionDuration).attr(\"transform\",(function(t){return u(t.x,0)})),e.call(f).attr(\"transform\",u(t.x,-n.uplift))})).on(\"dragend\",(function(e){var r=i.select(this),n=e.calcdata;e.x=e.xScale(e),e.calcdata.columnDragInProgress=!1,k(r,e,0),function(t,e,r){var n=e.gdColumnsOriginalOrder;e.gdColumns.sort((function(t,e){return r[n.indexOf(t)]-r[n.indexOf(e)]})),e.columnorder=r,t.emit(\"plotly_restyle\")}(t,n,n.columns.map((function(t){return t.xIndex})))}))),T.each((function(e){s.setClipUrl(i.select(this),v(t,e),t)}));var S=T.selectAll(\".\"+n.cn.columnBlock).data(p.splitToPanels,o.keyFun);S.enter().append(\"g\").classed(n.cn.columnBlock,!0).attr(\"id\",(function(t){return t.key})),S.style(\"cursor\",(function(t){return t.dragHandle?\"ew-resize\":t.calcdata.scrollbarState.barWiggleRoom?\"ns-resize\":\"default\"}));var C=S.filter(M),P=S.filter(A);r&&P.call(i.behavior.drag().origin((function(t){return i.event.stopPropagation(),t})).on(\"drag\",L(t,l,-1)).on(\"dragend\",(function(){}))),b(t,l,C,S),b(t,l,P,S);var I=l.selectAll(\".\"+n.cn.scrollAreaClip).data(o.repeat,o.keyFun);I.enter().append(\"clipPath\").classed(n.cn.scrollAreaClip,!0).attr(\"id\",(function(e){return g(t,e)}));var O=I.selectAll(\".\"+n.cn.scrollAreaClipRect).data(o.repeat,o.keyFun);O.enter().append(\"rect\").classed(n.cn.scrollAreaClipRect,!0).attr(\"x\",-n.overdrag).attr(\"y\",-n.uplift).attr(\"fill\",\"none\"),O.attr(\"width\",(function(t){return t.width+2*n.overdrag})).attr(\"height\",(function(t){return t.height+n.uplift})),T.selectAll(\".\"+n.cn.columnBoundary).data(o.repeat,o.keyFun).enter().append(\"g\").classed(n.cn.columnBoundary,!0);var z=T.selectAll(\".\"+n.cn.columnBoundaryClippath).data(o.repeat,o.keyFun);z.enter().append(\"clipPath\").classed(n.cn.columnBoundaryClippath,!0),z.attr(\"id\",(function(e){return v(t,e)}));var D=z.selectAll(\".\"+n.cn.columnBoundaryRect).data(o.repeat,o.keyFun);D.enter().append(\"rect\").classed(n.cn.columnBoundaryRect,!0).attr(\"fill\",\"none\"),D.attr(\"width\",(function(t){return t.columnWidth+2*m(t)})).attr(\"height\",(function(t){return t.calcdata.height+2*m(t)+n.uplift})).attr(\"x\",(function(t){return-m(t)})).attr(\"y\",(function(t){return-m(t)})),E(null,P,l)}},{\"../../components/color\":366,\"../../components/drawing\":388,\"../../lib\":503,\"../../lib/gup\":500,\"../../lib/svg_text_utils\":529,\"./constants\":1069,\"./data_preparation_helper\":1070,\"./data_split_helpers\":1071,\"@plotly/d3\":58}],1075:[function(t,e,r){\"use strict\";var n=t(\"../../plots/template_attributes\").hovertemplateAttrs,i=t(\"../../plots/template_attributes\").texttemplateAttrs,a=t(\"../../components/colorscale/attributes\"),o=t(\"../../plots/domain\").attributes,s=t(\"../pie/attributes\"),l=t(\"../sunburst/attributes\"),c=t(\"./constants\"),u=t(\"../../lib/extend\").extendFlat;e.exports={labels:l.labels,parents:l.parents,values:l.values,branchvalues:l.branchvalues,count:l.count,level:l.level,maxdepth:l.maxdepth,tiling:{packing:{valType:\"enumerated\",values:[\"squarify\",\"binary\",\"dice\",\"slice\",\"slice-dice\",\"dice-slice\"],dflt:\"squarify\",editType:\"plot\"},squarifyratio:{valType:\"number\",min:1,dflt:1,editType:\"plot\"},flip:{valType:\"flaglist\",flags:[\"x\",\"y\"],dflt:\"\",editType:\"plot\"},pad:{valType:\"number\",min:0,dflt:3,editType:\"plot\"},editType:\"calc\"},marker:u({pad:{t:{valType:\"number\",min:0,editType:\"plot\"},l:{valType:\"number\",min:0,editType:\"plot\"},r:{valType:\"number\",min:0,editType:\"plot\"},b:{valType:\"number\",min:0,editType:\"plot\"},editType:\"calc\"},colors:l.marker.colors,depthfade:{valType:\"enumerated\",values:[!0,!1,\"reversed\"],editType:\"style\"},line:l.marker.line,editType:\"calc\"},a(\"marker\",{colorAttr:\"colors\",anim:!1})),pathbar:{visible:{valType:\"boolean\",dflt:!0,editType:\"plot\"},side:{valType:\"enumerated\",values:[\"top\",\"bottom\"],dflt:\"top\",editType:\"plot\"},edgeshape:{valType:\"enumerated\",values:[\">\",\"<\",\"|\",\"/\",\"\\\\\"],dflt:\">\",editType:\"plot\"},thickness:{valType:\"number\",min:12,editType:\"plot\"},textfont: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\"})}},{\"../../components/colorscale/attributes\":373,\"../../lib/extend\":493,\"../../plots/domain\":584,\"../../plots/template_attributes\":633,\"../pie/attributes\":901,\"../sunburst/attributes\":1049,\"./constants\":1078}],1076:[function(t,e,r){\"use strict\";var n=t(\"../../plots/plots\");r.name=\"treemap\",r.plot=function(t,e,i,a){n.plotBasePlot(r.name,t,e,i,a)},r.clean=function(t,e,i,a){n.cleanBasePlot(r.name,t,e,i,a)}},{\"../../plots/plots\":619}],1077:[function(t,e,r){\"use strict\";var n=t(\"../sunburst/calc\");r.calc=function(t,e){return n.calc(t,e)},r.crossTraceCalc=function(t){return n._runCrossTraceCalc(\"treemap\",t)}},{\"../sunburst/calc\":1051}],1078:[function(t,e,r){\"use strict\";e.exports={CLICK_TRANSITION_TIME:750,CLICK_TRANSITION_EASING:\"poly\",eventDataKeys:[\"currentPath\",\"root\",\"entry\",\"percentRoot\",\"percentEntry\",\"percentParent\"],gapWithPathbar:1}},{}],1079:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./attributes\"),a=t(\"../../components/color\"),o=t(\"../../plots/domain\").defaults,s=t(\"../bar/defaults\").handleText,l=t(\"../bar/constants\").TEXTPAD,c=t(\"../../components/colorscale\"),u=c.hasColorscale,f=c.handleDefaults;e.exports=function(t,e,r,c){function h(r,a){return n.coerce(t,e,i,r,a)}var p=h(\"labels\"),d=h(\"parents\");if(p&&p.length&&d&&d.length){var m=h(\"values\");m&&m.length?h(\"branchvalues\"):h(\"count\"),h(\"level\"),h(\"maxdepth\"),\"squarify\"===h(\"tiling.packing\")&&h(\"tiling.squarifyratio\"),h(\"tiling.flip\"),h(\"tiling.pad\");var g=h(\"text\");h(\"texttemplate\"),e.texttemplate||h(\"textinfo\",Array.isArray(g)?\"text+label\":\"label\"),h(\"hovertext\"),h(\"hovertemplate\");var v=h(\"pathbar.visible\");s(t,e,c,h,\"auto\",{hasPathbar:v,moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),h(\"textposition\");var y=-1!==e.textposition.indexOf(\"bottom\");h(\"marker.line.width\")&&h(\"marker.line.color\",c.paper_bgcolor);var x=h(\"marker.colors\");(e._hasColorscale=u(t,\"marker\",\"colors\")||(t.marker||{}).coloraxis)?f(t,e,c,h,{prefix:\"marker.\",cLetter:\"c\"}):h(\"marker.depthfade\",!(x||[]).length);var b=2*e.textfont.size;h(\"marker.pad.t\",y?b/4:b),h(\"marker.pad.l\",b/4),h(\"marker.pad.r\",b/4),h(\"marker.pad.b\",y?b:b/4),e._hovered={marker:{line:{width:2,color:a.contrast(c.paper_bgcolor)}}},v&&(h(\"pathbar.thickness\",e.pathbar.textfont.size+2*l),h(\"pathbar.side\"),h(\"pathbar.edgeshape\")),h(\"sort\"),h(\"root.color\"),o(e,c,h),e._length=null}else e.visible=!1}},{\"../../components/color\":366,\"../../components/colorscale\":378,\"../../lib\":503,\"../../plots/domain\":584,\"../bar/constants\":650,\"../bar/defaults\":652,\"./attributes\":1075}],1080:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../sunburst/helpers\"),a=t(\"../bar/uniform_text\").clearMinTextSize,o=t(\"../bar/style\").resizeText,s=t(\"./plot_one\");e.exports=function(t,e,r,l,c){var u,f,h=c.type,p=c.drawDescendants,d=t._fullLayout,m=d[\"_\"+h+\"layer\"],g=!r;(a(h,d),(u=m.selectAll(\"g.trace.\"+h).data(e,(function(t){return t[0].trace.uid}))).enter().append(\"g\").classed(\"trace\",!0).classed(h,!0),u.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(){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\"),h));g&&u.exit().remove()}},{\"../bar/style\":662,\"../bar/uniform_text\":664,\"../sunburst/helpers\":1055,\"./plot_one\":1089,\"@plotly/d3\":58}],1081:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../../lib\"),a=t(\"../../components/drawing\"),o=t(\"../../lib/svg_text_utils\"),s=t(\"./partition\"),l=t(\"./style\").styleOne,c=t(\"./constants\"),u=t(\"../sunburst/helpers\"),f=t(\"../sunburst/fx\");e.exports=function(t,e,r,h,p){var d=p.barDifY,m=p.width,g=p.height,v=p.viewX,y=p.viewY,x=p.pathSlice,b=p.toMoveInsideSlice,_=p.strTransform,w=p.hasTransition,T=p.handleSlicesExit,k=p.makeUpdateSliceInterpolator,A=p.makeUpdateTextInterpolator,M={},S=t._fullLayout,E=e[0],L=E.trace,C=E.hierarchy,P=m/L._entryDepth,I=u.listPath(r.data,\"id\"),O=s(C.copy(),[m,g],{packing:\"dice\",pad:{inner:0,top:0,left:0,right:0,bottom:0}}).descendants();(O=O.filter((function(t){var e=I.indexOf(t.data.id);return-1!==e&&(t.x0=P*e,t.x1=P*(e+1),t.y0=d,t.y1=d+g,t.onPathbar=!0,!0)}))).reverse(),(h=h.data(O,u.getPtId)).enter().append(\"g\").classed(\"pathbar\",!0),T(h,!0,M,[m,g],x),h.order();var z=h;w&&(z=z.transition().each(\"end\",(function(){var e=n.select(this);u.setSliceCursor(e,t,{hideOnRoot:!1,hideOnLeaves:!1,isTransitioning:!1})}))),z.each((function(s){s._x0=v(s.x0),s._x1=v(s.x1),s._y0=y(s.y0),s._y1=y(s.y1),s._hoverX=v(s.x1-Math.min(m,g)/2),s._hoverY=y(s.y1-g/2);var h=n.select(this),p=i.ensureSingle(h,\"path\",\"surface\",(function(t){t.style(\"pointer-events\",\"all\")}));w?p.transition().attrTween(\"d\",(function(t){var e=k(t,!0,M,[m,g]);return function(t){return x(e(t))}})):p.attr(\"d\",x),h.call(f,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}),p.call(l,s,L,{hovered:!1}),s._text=(u.getPtLabel(s)||\"\").split(\"<br>\").join(\" \")||\"\";var d=i.ensureSingle(h,\"g\",\"slicetext\"),T=i.ensureSingle(d,\"text\",\"\",(function(t){t.attr(\"data-notex\",1)})),E=i.ensureUniformFontSize(t,u.determineTextFont(L,s,S.font,{onPathbar:!0}));T.text(s._text||\" \").classed(\"slicetext\",!0).attr(\"text-anchor\",\"start\").call(a.font,E).call(o.convertToTspans,t),s.textBB=a.bBox(T.node()),s.transform=b(s,{fontSize:E.size,onPathbar:!0}),s.transform.fontSize=E.size,w?T.transition().attrTween(\"transform\",(function(t){var e=A(t,!0,M,[m,g]);return function(t){return _(e(t))}})):T.attr(\"transform\",_(s))}))}},{\"../../components/drawing\":388,\"../../lib\":503,\"../../lib/svg_text_utils\":529,\"../sunburst/fx\":1054,\"../sunburst/helpers\":1055,\"./constants\":1078,\"./partition\":1087,\"./style\":1090,\"@plotly/d3\":58}],1082:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../../lib\"),a=t(\"../../components/drawing\"),o=t(\"../../lib/svg_text_utils\"),s=t(\"./partition\"),l=t(\"./style\").styleOne,c=t(\"./constants\"),u=t(\"../sunburst/helpers\"),f=t(\"../sunburst/fx\"),h=t(\"../sunburst/plot\").formatSliceLabel;e.exports=function(t,e,r,p,d){var m=d.width,g=d.height,v=d.viewX,y=d.viewY,x=d.pathSlice,b=d.toMoveInsideSlice,_=d.strTransform,w=d.hasTransition,T=d.handleSlicesExit,k=d.makeUpdateSliceInterpolator,A=d.makeUpdateTextInterpolator,M=d.prevEntry,S=t._fullLayout,E=e[0].trace,L=-1!==E.textposition.indexOf(\"left\"),C=-1!==E.textposition.indexOf(\"right\"),P=-1!==E.textposition.indexOf(\"bottom\"),I=!P&&!E.marker.pad.t||P&&!E.marker.pad.b,O=s(r,[m,g],{packing:E.tiling.packing,squarifyratio:E.tiling.squarifyratio,flipX:E.tiling.flip.indexOf(\"x\")>-1,flipY:E.tiling.flip.indexOf(\"y\")>-1,pad:{inner:E.tiling.pad,top:E.marker.pad.t,left:E.marker.pad.l,right:E.marker.pad.r,bottom:E.marker.pad.b}}).descendants(),z=1/0,D=-1/0;O.forEach((function(t){var e=t.depth;e>=E._maxDepth?(t.x0=t.x1=(t.x0+t.x1)/2,t.y0=t.y1=(t.y0+t.y1)/2):(z=Math.min(z,e),D=Math.max(D,e))})),p=p.data(O,u.getPtId),E._maxVisibleLayers=isFinite(D)?D-z+1:0,p.enter().append(\"g\").classed(\"slice\",!0),T(p,!1,{},[m,g],x),p.order();var R=null;if(w&&M){var F=u.getPtId(M);p.each((function(t){null===R&&u.getPtId(t)===F&&(R={x0:t.x0,x1:t.x1,y0:t.y0,y1:t.y1})}))}var B=function(){return R||{x0:0,x1:m,y0:0,y1:g}},N=p;return w&&(N=N.transition().each(\"end\",(function(){var e=n.select(this);u.setSliceCursor(e,t,{hideOnRoot:!0,hideOnLeaves:!1,isTransitioning:!1})}))),N.each((function(s){var p=u.isHeader(s,E);s._x0=v(s.x0),s._x1=v(s.x1),s._y0=y(s.y0),s._y1=y(s.y1),s._hoverX=v(s.x1-E.marker.pad.r),s._hoverY=y(P?s.y1-E.marker.pad.b/2:s.y0+E.marker.pad.t/2);var d=n.select(this),T=i.ensureSingle(d,\"path\",\"surface\",(function(t){t.style(\"pointer-events\",\"all\")}));w?T.transition().attrTween(\"d\",(function(t){var e=k(t,!1,B(),[m,g]);return function(t){return x(e(t))}})):T.attr(\"d\",x),d.call(f,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}),T.call(l,s,E,{hovered:!1}),s.x0===s.x1||s.y0===s.y1?s._text=\"\":s._text=p?I?\"\":u.getPtLabel(s)||\"\":h(s,r,E,e,S)||\"\";var M=i.ensureSingle(d,\"g\",\"slicetext\"),O=i.ensureSingle(M,\"text\",\"\",(function(t){t.attr(\"data-notex\",1)})),z=i.ensureUniformFontSize(t,u.determineTextFont(E,s,S.font));O.text(s._text||\" \").classed(\"slicetext\",!0).attr(\"text-anchor\",C?\"end\":L||p?\"start\":\"middle\").call(a.font,z).call(o.convertToTspans,t),s.textBB=a.bBox(O.node()),s.transform=b(s,{fontSize:z.size,isHeader:p}),s.transform.fontSize=z.size,w?O.transition().attrTween(\"transform\",(function(t){var e=A(t,!1,B(),[m,g]);return function(t){return _(e(t))}})):O.attr(\"transform\",_(s))})),R}},{\"../../components/drawing\":388,\"../../lib\":503,\"../../lib/svg_text_utils\":529,\"../sunburst/fx\":1054,\"../sunburst/helpers\":1055,\"../sunburst/plot\":1059,\"./constants\":1078,\"./partition\":1087,\"./style\":1090,\"@plotly/d3\":58}],1083:[function(t,e,r){\"use strict\";e.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<a.length;o++)t(a[o],r,n)}},{}],1084:[function(t,e,r){\"use strict\";e.exports={moduleType:\"trace\",name:\"treemap\",basePlotModule:t(\"./base_plot\"),categories:[],animatable:!0,attributes:t(\"./attributes\"),layoutAttributes:t(\"./layout_attributes\"),supplyDefaults:t(\"./defaults\"),supplyLayoutDefaults:t(\"./layout_defaults\"),calc:t(\"./calc\").calc,crossTraceCalc:t(\"./calc\").crossTraceCalc,plot:t(\"./plot\"),style:t(\"./style\").style,colorbar:t(\"../scatter/marker_colorbar\"),meta:{}}},{\"../scatter/marker_colorbar\":945,\"./attributes\":1075,\"./base_plot\":1076,\"./calc\":1077,\"./defaults\":1079,\"./layout_attributes\":1085,\"./layout_defaults\":1086,\"./plot\":1088,\"./style\":1090}],1085:[function(t,e,r){\"use strict\";e.exports={treemapcolorway:{valType:\"colorlist\",editType:\"calc\"},extendtreemapcolors:{valType:\"boolean\",dflt:!0,editType:\"calc\"}}},{}],1086:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./layout_attributes\");e.exports=function(t,e){function r(r,a){return n.coerce(t,e,i,r,a)}r(\"treemapcolorway\",e.colorway),r(\"extendtreemapcolors\")}},{\"../../lib\":503,\"./layout_attributes\":1085}],1087:[function(t,e,r){\"use strict\";var n=t(\"d3-hierarchy\"),i=t(\"./flip_tree\");e.exports=function(t,e,r){var a,o=r.flipX,s=r.flipY,l=\"dice-slice\"===r.packing,c=r.pad[s?\"bottom\":\"top\"],u=r.pad[o?\"right\":\"left\"],f=r.pad[o?\"left\":\"right\"],h=r.pad[s?\"top\":\"bottom\"];l&&(a=u,u=c,c=a,a=f,f=h,h=a);var p=n.treemap().tile(function(t,e){switch(t){case\"squarify\":return n.treemapSquarify.ratio(e);case\"binary\":return n.treemapBinary;case\"dice\":return n.treemapDice;case\"slice\":return n.treemapSlice;default:return n.treemapSliceDice}}(r.packing,r.squarifyratio)).paddingInner(r.pad.inner).paddingLeft(u).paddingRight(f).paddingTop(c).paddingBottom(h).size(l?[e[1],e[0]]:e)(t);return(l||o||s)&&i(p,e,{swapXY:l,flipX:o,flipY:s}),p}},{\"./flip_tree\":1083,\"d3-hierarchy\":115}],1088:[function(t,e,r){\"use strict\";var n=t(\"./draw\"),i=t(\"./draw_descendants\");e.exports=function(t,e,r,a){return n(t,e,r,a,{type:\"treemap\",drawDescendants:i})}},{\"./draw\":1080,\"./draw_descendants\":1082}],1089:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"d3-interpolate\").interpolate,a=t(\"../sunburst/helpers\"),o=t(\"../../lib\"),s=t(\"../bar/constants\").TEXTPAD,l=t(\"../bar/plot\").toMoveInsideBar,c=t(\"../bar/uniform_text\").recordMinTextSize,u=t(\"./constants\"),f=t(\"./draw_ancestors\");function h(t){return a.isHierarchyRoot(t)?\"\":a.getPtId(t)}e.exports=function(t,e,r,p,d){var m=t._fullLayout,g=e[0],v=g.trace,y=\"icicle\"===v.type,x=g.hierarchy,b=a.findEntryWithLevel(x,v.level),_=n.select(r),w=_.selectAll(\"g.pathbar\"),T=_.selectAll(\"g.slice\");if(!b)return w.remove(),void T.remove();var k=a.isHierarchyRoot(b),A=!m.uniformtext.mode&&a.hasTransition(p),M=a.getMaxDepth(v),S=m._size,E=v.domain,L=S.w*(E.x[1]-E.x[0]),C=S.h*(E.y[1]-E.y[0]),P=L,I=v.pathbar.thickness,O=v.marker.line.width+u.gapWithPathbar,z=v.pathbar.visible?v.pathbar.side.indexOf(\"bottom\")>-1?C+O:-(I+O):0,D={x0:P,x1:P,y0:z,y1:z+I},R=function(t,e,r){var n=v.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)]},V=function(t,e,r,n){if(e)return B[h(x)]||D;var i=N[v.level]||r;return function(t){return t.data.depth-b.data.depth<M}(t)?R(t,i,n):{}};g.hasMultipleRoots&&k&&M++,v._maxDepth=M,v._backgroundColor=m.paper_bgcolor,v._entryDepth=b.data.depth,v._atRootLevel=k;var H=-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),G=function(t){return H+t},Y=function(t){return q+t},W=Y(0),X=G(0),Z=function(t){return X+t},J=function(t){return W+t};function K(t,e){return t+\",\"+e}var Q=Z(0),$=function(t){t.x=Math.max(Q,t.x)},tt=v.pathbar.edgeshape,et=function(t,e){var r=t.x0,n=t.x1,i=t.y0,a=t.y1,o=t.textBB,u=function(t){return-1!==v.textposition.indexOf(t)},f=u(\"bottom\"),h=u(\"top\")||e.isHeader&&!f?\"start\":f?\"end\":\"middle\",p=u(\"right\"),d=u(\"left\")||e.onPathbar?-1:p?1:0,g=v[y?\"tiling\":\"marker\"].pad;if(e.isHeader){if((r+=(y?g:g.l)-s)>=(n-=(y?g:g.r)-s)){var x=(r+n)/2;r=x,n=x}var b;f?i<(b=a-(y?g:g.b))&&b<a&&(i=b):i<(b=i+(y?g:g.t))&&b<a&&(a=b)}var _=l(r,n,i,a,o,{isHorizontal:!1,constrained:!0,angle:0,anchor:h,leftToRight:d});return _.fontSize=e.fontSize,_.targetX=G(_.targetX),_.targetY=Y(_.targetY),isNaN(_.targetX)||isNaN(_.targetY)?{}:(r!==n&&i!==a&&c(v.type,_,m),{scale:_.scale,rotate:_.rotate,textX:_.textX,textY:_.textY,anchorX:_.anchorX,anchorY:_.anchorY,targetX:_.targetX,targetY:_.targetY})},rt=function(t,e){for(var r,n=0,i=t;!r&&n<M;)n++,(i=i.parent)?r=U(i,e):n=M;return r||{}},nt=function(t,e,r,n,a){var s,l=U(t,e);if(l)s=l;else if(e)s=D;else if(F)if(t.parent){var c=j||r;c&&!e?s=R(t,c,n):(s={},o.extendFlat(s,rt(t,e)))}else s=o.extendFlat({},t),y&&(\"h\"===a.orientation?a.flipX?s.x0=t.x1:s.x1=0:a.flipY?s.y0=t.y1:s.y1=0);else s={};return i(s,{x0:t.x0,x1:t.x1,y0:t.y0,y1:t.y1})},it=function(t,e,r,n){var s=U(t,e),l={},u=V(t,e,r,n);o.extendFlat(l,{transform:et({x0:u.x0,x1:u.x1,y0:u.y0,y1:u.y1,textBB:t.textBB,_text:t._text},{isHeader:a.isHeader(t,v)})}),s?l=s:t.parent&&o.extendFlat(l,rt(t,e));var f=t.transform;return t.x0!==t.x1&&t.y0!==t.y1&&c(v.type,f,m),i(l,{transform:{scale:f.scale,rotate:f.rotate,textX:f.textX,textY:f.textY,anchorX:f.anchorX,anchorY:f.anchorY,targetX:f.targetX,targetY:f.targetY}})},at=function(t,e,r,a,o){var s=a[0],l=a[1];A?t.exit().transition().each((function(){var t=n.select(this);t.select(\"path.surface\").transition().attrTween(\"d\",(function(t){var r=function(t,e,r,n){var a,o=U(t,e);if(e)a=D;else{var s=U(b,e);a=s?R(t,s,n):{}}return i(o,a)}(t,e,0,[s,l]);return function(t){return o(r(t))}})),t.select(\"g.slicetext\").attr(\"opacity\",0)})).remove():t.exit().remove()},ot=function(t){var e=t.transform;return t.x0!==t.x1&&t.y0!==t.y1&&c(v.type,e,m),o.getTextTransform({textX:e.textX,textY:e.textY,anchorX:e.anchorX,anchorY:e.anchorY,targetX:e.targetX,targetY:e.targetY,scale:e.scale,rotate:e.rotate})};A&&(w.each((function(t){B[h(t)]={x0:t.x0,x1:t.x1,y0:t.y0,y1:t.y1},t.transform&&(B[h(t)].transform={textX:t.transform.textX,textY:t.transform.textY,anchorX:t.transform.anchorX,anchorY:t.transform.anchorY,targetX:t.transform.targetX,targetY:t.transform.targetY,scale:t.transform.scale,rotate:t.transform.rotate})})),T.each((function(t){N[h(t)]={x0:t.x0,x1:t.x1,y0:t.y0,y1:t.y1},t.transform&&(N[h(t)].transform={textX:t.transform.textX,textY:t.transform.textY,anchorX:t.transform.anchorX,anchorY:t.transform.anchorY,targetX:t.transform.targetX,targetY:t.transform.targetY,scale:t.transform.scale,rotate:t.transform.rotate}),!F&&a.isEntry(t)&&(F=t)}))),j=d(t,e,b,T,{width:L,height:C,viewX:G,viewY:Y,pathSlice:function(t){var e=G(t.x0),r=G(t.x1),n=Y(t.y0),i=Y(t.y1),a=r-e,o=i-n;if(!a||!o)return\"\";return\"M\"+K(e,n+0)+\"L\"+K(r-0,n)+\"L\"+K(r,i-0)+\"L\"+K(e+0,i)+\"Z\"},toMoveInsideSlice:et,prevEntry:F,makeUpdateSliceInterpolator:nt,makeUpdateTextInterpolator:it,handleSlicesExit:at,hasTransition:A,strTransform:ot}),v.pathbar.visible?f(t,e,b,w,{barDifY:z,width:P,height:I,viewX:Z,viewY:J,pathSlice:function(t){var e=Z(Math.max(Math.min(t.x0,t.x0),0)),r=Z(Math.min(Math.max(t.x1,t.x1),P)),n=J(t.y0),i=J(t.y1),a=I/2,o={},s={};o.x=e,s.x=r,o.y=s.y=(n+i)/2;var l={x:e,y:n},c={x:r,y:n},u={x:r,y:i},f={x:e,y:i};return\">\"===tt?(l.x-=a,c.x-=a,u.x-=a,f.x-=a):\"/\"===tt?(u.x-=a,f.x-=a,o.x-=a/2,s.x-=a/2):\"\\\\\"===tt?(l.x-=a,c.x-=a,o.x-=a/2,s.x-=a/2):\"<\"===tt&&(o.x-=a,s.x-=a),$(l),$(f),$(o),$(c),$(u),$(s),\"M\"+K(l.x,l.y)+\"L\"+K(c.x,c.y)+\"L\"+K(s.x,s.y)+\"L\"+K(u.x,u.y)+\"L\"+K(f.x,f.y)+\"L\"+K(o.x,o.y)+\"Z\"},toMoveInsideSlice:et,makeUpdateSliceInterpolator:nt,makeUpdateTextInterpolator:it,handleSlicesExit:at,hasTransition:A,strTransform:ot}):w.remove()}},{\"../../lib\":503,\"../bar/constants\":650,\"../bar/plot\":659,\"../bar/uniform_text\":664,\"../sunburst/helpers\":1055,\"./constants\":1078,\"./draw_ancestors\":1081,\"@plotly/d3\":58,\"d3-interpolate\":116}],1090:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../../components/color\"),a=t(\"../../lib\"),o=t(\"../sunburst/helpers\"),s=t(\"../bar/uniform_text\").resizeText;function l(t,e,r,n){var s,l,c=(n||{}).hovered,u=e.data.data,f=u.i,h=u.color,p=o.isHierarchyRoot(e),d=1;if(c)s=r._hovered.marker.line.color,l=r._hovered.marker.line.width;else if(p&&h===r.root.color)d=100,s=\"rgba(0,0,0,0)\",l=0;else if(s=a.castOption(r,f,\"marker.line.color\")||i.defaultLine,l=a.castOption(r,f,\"marker.line.width\")||0,!r._hasColorscale&&!e.onPathbar){var m=r.marker.depthfade;if(m){var g,v=i.combine(i.addOpacity(r._backgroundColor,.75),h);if(!0===m){var y=o.getMaxDepth(r);g=isFinite(y)?o.isLeaf(e)?0:r._maxVisibleLayers-(e.data.depth-r._entryDepth):e.data.height+1}else g=e.data.depth-r._entryDepth,r._atRootLevel||g++;if(g>0)for(var x=0;x<g;x++){var b=.5*x/g;h=i.combine(i.addOpacity(v,b),h)}}}t.style(\"stroke-width\",l).call(i.fill,h).call(i.stroke,s).style(\"opacity\",d)}e.exports={style:function(t){var e=t._fullLayout._treemaplayer.selectAll(\".trace\");s(t,e,\"treemap\"),e.each((function(t){var e=n.select(this),r=t[0].trace;e.style(\"opacity\",r.opacity),e.selectAll(\"path.surface\").each((function(t){n.select(this).call(l,t,r,{hovered:!1})}))}))},styleOne:l}},{\"../../components/color\":366,\"../../lib\":503,\"../bar/uniform_text\":664,\"../sunburst/helpers\":1055,\"@plotly/d3\":58}],1091:[function(t,e,r){\"use strict\";var n=t(\"../box/attributes\"),i=t(\"../../lib/extend\").extendFlat,a=t(\"../../plots/cartesian/axis_format_attributes\").axisHoverFormat;e.exports={y:n.y,x:n.x,x0:n.x0,y0:n.y0,xhoverformat:a(\"x\"),yhoverformat:a(\"y\"),name:i({},n.name,{}),orientation:i({},n.orientation,{}),bandwidth:{valType:\"number\",min:0,editType:\"calc\"},scalegroup:{valType:\"string\",dflt:\"\",editType:\"calc\"},scalemode:{valType:\"enumerated\",values:[\"width\",\"count\"],dflt:\"width\",editType:\"calc\"},spanmode:{valType:\"enumerated\",values:[\"soft\",\"hard\",\"manual\"],dflt:\"soft\",editType:\"calc\"},span:{valType:\"info_array\",items:[{valType:\"any\",editType:\"calc\"},{valType:\"any\",editType:\"calc\"}],editType:\"calc\"},line:{color:{valType:\"color\",editType:\"style\"},width:{valType:\"number\",min:0,dflt:2,editType:\"style\"},editType:\"plot\"},fillcolor:n.fillcolor,points:i({},n.boxpoints,{}),jitter:i({},n.jitter,{}),pointpos:i({},n.pointpos,{}),width:i({},n.width,{}),marker:n.marker,text:n.text,hovertext:n.hovertext,hovertemplate:n.hovertemplate,box:{visible:{valType:\"boolean\",dflt:!1,editType:\"plot\"},width:{valType:\"number\",min:0,max:1,dflt:.25,editType:\"plot\"},fillcolor:{valType:\"color\",editType:\"style\"},line:{color:{valType:\"color\",editType:\"style\"},width:{valType:\"number\",min:0,editType:\"style\"},editType:\"style\"},editType:\"plot\"},meanline:{visible:{valType:\"boolean\",dflt:!1,editType:\"plot\"},color:{valType:\"color\",editType:\"style\"},width:{valType:\"number\",min:0,editType:\"style\"},editType:\"plot\"},side:{valType:\"enumerated\",values:[\"both\",\"positive\",\"negative\"],dflt:\"both\",editType:\"calc\"},offsetgroup:n.offsetgroup,alignmentgroup:n.alignmentgroup,selected:n.selected,unselected:n.unselected,hoveron:{valType:\"flaglist\",flags:[\"violins\",\"points\",\"kde\"],dflt:\"violins+points+kde\",extras:[\"all\"],editType:\"style\"}}},{\"../../lib/extend\":493,\"../../plots/cartesian/axis_format_attributes\":557,\"../box/attributes\":673}],1092:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../plots/cartesian/axes\"),a=t(\"../box/calc\"),o=t(\"./helpers\"),s=t(\"../../constants/numerical\").BADNUM;function l(t,e,r){var i=e.max-e.min;if(!i)return t.bandwidth?t.bandwidth:0;if(t.bandwidth)return Math.max(t.bandwidth,i/1e4);var a=r.length,o=n.stdev(r,a-1,e.mean);return Math.max(function(t,e,r){return 1.059*Math.min(e,r/1.349)*Math.pow(t,-.2)}(a,o,e.q3-e.q1),i/100)}function c(t,e,r,n){var a,o=t.spanmode,l=t.span||[],c=[e.min,e.max],u=[e.min-2*n,e.max+2*n];function f(n){var i=l[n],a=\"multicategory\"===r.type?r.r2c(i):r.d2c(i,0,t[e.valLetter+\"calendar\"]);return a===s?u[n]:a}var h={type:\"linear\",range:a=\"soft\"===o?u:\"hard\"===o?c:[f(0),f(1)]};return i.setConvert(h),h.cleanRange(),a}e.exports=function(t,e){var r=a(t,e);if(r[0].t.empty)return r;for(var s=t._fullLayout,u=i.getFromId(t,e[\"h\"===e.orientation?\"xaxis\":\"yaxis\"]),f=1/0,h=-1/0,p=0,d=0,m=0;m<r.length;m++){var g=r[m],v=g.pts.map(o.extractVal),y=g.bandwidth=l(e,g,v),x=g.span=c(e,g,u,y);if(g.min===g.max&&0===y)x=g.span=[g.min,g.max],g.density=[{v:1,t:x[0]}],g.bandwidth=y,p=Math.max(p,1);else{var b=x[1]-x[0],_=Math.ceil(b/(y/3)),w=b/_;if(!isFinite(w)||!isFinite(_))return n.error(\"Something went wrong with computing the violin span\"),r[0].t.empty=!0,r;var T=o.makeKDE(g,e,v);g.density=new Array(_);for(var k=0,A=x[0];A<x[1]+w/2;k++,A+=w){var M=T(A);g.density[k]={v:M,t:A},p=Math.max(p,M)}}d=Math.max(d,v.length),f=Math.min(f,x[0]),h=Math.max(h,x[1])}var S=i.findExtremes(u,[f,h],{padded:!0});if(e._extremes[u._id]=S,e.width)r[0].t.maxKDE=p;else{var E=s._violinScaleGroupStats,L=e.scalegroup,C=E[L];C?(C.maxKDE=Math.max(C.maxKDE,p),C.maxCount=Math.max(C.maxCount,d)):E[L]={maxKDE:p,maxCount:d}}return r[0].t.labels.kde=n._(t,\"kde:\"),r}},{\"../../constants/numerical\":479,\"../../lib\":503,\"../../plots/cartesian/axes\":554,\"../box/calc\":674,\"./helpers\":1095}],1093:[function(t,e,r){\"use strict\";var n=t(\"../box/cross_trace_calc\").setPositionOffset,i=[\"v\",\"h\"];e.exports=function(t,e){for(var r=t.calcdata,a=e.xaxis,o=e.yaxis,s=0;s<i.length;s++){for(var l=i[s],c=\"h\"===l?o:a,u=[],f=0;f<r.length;f++){var h=r[f],p=h[0].t,d=h[0].trace;!0!==d.visible||\"violin\"!==d.type||p.empty||d.orientation!==l||d.xaxis!==a._id||d.yaxis!==o._id||u.push(f)}n(\"violin\",t,u,c)}}},{\"../box/cross_trace_calc\":675}],1094:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../components/color\"),a=t(\"../box/defaults\"),o=t(\"./attributes\");e.exports=function(t,e,r,s){function l(r,i){return n.coerce(t,e,o,r,i)}function c(r,i){return n.coerce2(t,e,o,r,i)}if(a.handleSampleDefaults(t,e,l,s),!1!==e.visible){l(\"bandwidth\"),l(\"side\"),l(\"width\")||(l(\"scalegroup\",e.name),l(\"scalemode\"));var u,f=l(\"span\");Array.isArray(f)&&(u=\"manual\"),l(\"spanmode\",u);var h=l(\"line.color\",(t.marker||{}).color||r),p=l(\"line.width\"),d=l(\"fillcolor\",i.addOpacity(e.line.color,.5));a.handlePointsDefaults(t,e,l,{prefix:\"\"});var m=c(\"box.width\"),g=c(\"box.fillcolor\",d),v=c(\"box.line.color\",h),y=c(\"box.line.width\",p);l(\"box.visible\",Boolean(m||g||v||y))||(e.box={visible:!1});var x=c(\"meanline.color\",h),b=c(\"meanline.width\",p);l(\"meanline.visible\",Boolean(x||b))||(e.meanline={visible:!1})}}},{\"../../components/color\":366,\"../../lib\":503,\"../box/defaults\":676,\"./attributes\":1091}],1095:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=function(t){return 1/Math.sqrt(2*Math.PI)*Math.exp(-.5*t*t)};r.makeKDE=function(t,e,r){var n=r.length,a=i,o=t.bandwidth,s=1/(n*o);return function(t){for(var e=0,i=0;i<n;i++)e+=a((t-r[i])/o);return s*e}},r.getPositionOnKdePath=function(t,e,r){var i,a;\"h\"===e.orientation?(i=\"y\",a=\"x\"):(i=\"x\",a=\"y\");var o=n.findPointOnPath(t.path,r,a,{pathLength:t.pathLength}),s=t.posCenterPx,l=o[i];return[l,\"both\"===e.side?2*s-l:s]},r.getKdeValue=function(t,e,n){var i=t.pts.map(r.extractVal);return r.makeKDE(t,e,i)(n)/t.posDensityScale},r.extractVal=function(t){return t.v}},{\"../../lib\":503}],1096:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../plots/cartesian/axes\"),a=t(\"../box/hover\"),o=t(\"./helpers\");e.exports=function(t,e,r,s,l){l||(l={});var c,u,f=l.hoverLayer,h=t.cd,p=h[0].trace,d=p.hoveron,m=-1!==d.indexOf(\"violins\"),g=-1!==d.indexOf(\"kde\"),v=[];if(m||g){var y=a.hoverOnBoxes(t,e,r,s);if(g&&y.length>0){var x,b,_,w,T,k=t.xa,A=t.ya;\"h\"===p.orientation?(T=e,x=\"y\",_=A,b=\"x\",w=k):(T=r,x=\"x\",_=k,b=\"y\",w=A);var M=h[t.index];if(T>=M.span[0]&&T<=M.span[1]){var S=n.extendFlat({},t),E=w.c2p(T,!0),L=o.getKdeValue(M,p,T),C=o.getPositionOnKdePath(M,p,E),P=_._offset,I=_._length;S[x+\"0\"]=C[0],S[x+\"1\"]=C[1],S[b+\"0\"]=S[b+\"1\"]=E,S[b+\"Label\"]=b+\": \"+i.hoverLabelText(w,T,p[b+\"hoverformat\"])+\", \"+h[0].t.labels.kde+\" \"+L.toFixed(3),S.spikeDistance=y[0].spikeDistance;var O=x+\"Spike\";S[O]=y[0][O],y[0].spikeDistance=void 0,y[0][O]=void 0,S.hovertemplate=!1,v.push(S),(u={stroke:t.color})[x+\"1\"]=n.constrain(P+C[0],P,P+I),u[x+\"2\"]=n.constrain(P+C[1],P,P+I),u[b+\"1\"]=u[b+\"2\"]=w._offset+E}}m&&(v=v.concat(y))}-1!==d.indexOf(\"points\")&&(c=a.hoverOnPoints(t,e,r));var z=f.selectAll(\".violinline-\"+p.uid).data(u?[0]:[]);return z.enter().append(\"line\").classed(\"violinline-\"+p.uid,!0).attr(\"stroke-width\",1.5),z.exit().remove(),z.attr(u),\"closest\"===s?c?[c]:v:c?(v.push(c),v):v}},{\"../../lib\":503,\"../../plots/cartesian/axes\":554,\"../box/hover\":678,\"./helpers\":1095}],1097:[function(t,e,r){\"use strict\";e.exports={attributes:t(\"./attributes\"),layoutAttributes:t(\"./layout_attributes\"),supplyDefaults:t(\"./defaults\"),crossTraceDefaults:t(\"../box/defaults\").crossTraceDefaults,supplyLayoutDefaults:t(\"./layout_defaults\"),calc:t(\"./calc\"),crossTraceCalc:t(\"./cross_trace_calc\"),plot:t(\"./plot\"),style:t(\"./style\"),styleOnSelect:t(\"../scatter/style\").styleOnSelect,hoverPoints:t(\"./hover\"),selectPoints:t(\"../box/select\"),moduleType:\"trace\",name:\"violin\",basePlotModule:t(\"../../plots/cartesian\"),categories:[\"cartesian\",\"svg\",\"symbols\",\"oriented\",\"box-violin\",\"showLegend\",\"violinLayout\",\"zoomScale\"],meta:{}}},{\"../../plots/cartesian\":568,\"../box/defaults\":676,\"../box/select\":683,\"../scatter/style\":951,\"./attributes\":1091,\"./calc\":1092,\"./cross_trace_calc\":1093,\"./defaults\":1094,\"./hover\":1096,\"./layout_attributes\":1098,\"./layout_defaults\":1099,\"./plot\":1100,\"./style\":1101}],1098:[function(t,e,r){\"use strict\";var n=t(\"../box/layout_attributes\"),i=t(\"../../lib\").extendFlat;e.exports={violinmode:i({},n.boxmode,{}),violingap:i({},n.boxgap,{}),violingroupgap:i({},n.boxgroupgap,{})}},{\"../../lib\":503,\"../box/layout_attributes\":680}],1099:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./layout_attributes\"),a=t(\"../box/layout_defaults\");e.exports=function(t,e,r){a._supply(t,e,r,(function(r,a){return n.coerce(t,e,i,r,a)}),\"violin\")}},{\"../../lib\":503,\"../box/layout_defaults\":681,\"./layout_attributes\":1098}],1100:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../../lib\"),a=t(\"../../components/drawing\"),o=t(\"../box/plot\"),s=t(\"../scatter/line_points\"),l=t(\"./helpers\");e.exports=function(t,e,r,c){var u=t._fullLayout,f=e.xaxis,h=e.yaxis;function p(t){var e=s(t,{xaxis:f,yaxis:h,connectGaps:!0,baseTolerance:.75,shape:\"spline\",simplify:!0,linearized:!0});return a.smoothopen(e[0],1)}i.makeTraceGroups(c,r,\"trace violins\").each((function(t){var r=n.select(this),a=t[0],s=a.t,c=a.trace;if(!0!==c.visible||s.empty)r.remove();else{var d=s.bPos,m=s.bdPos,g=e[s.valLetter+\"axis\"],v=e[s.posLetter+\"axis\"],y=\"both\"===c.side,x=y||\"positive\"===c.side,b=y||\"negative\"===c.side,_=r.selectAll(\"path.violin\").data(i.identity);_.enter().append(\"path\").style(\"vector-effect\",\"non-scaling-stroke\").attr(\"class\",\"violin\"),_.exit().remove(),_.each((function(t){var e,r,i,a,o,l,f,h,_=n.select(this),w=t.density,T=w.length,k=v.c2l(t.pos+d,!0),A=v.l2p(k);if(c.width)e=s.maxKDE/m;else{var M=u._violinScaleGroupStats[c.scalegroup];e=\"count\"===c.scalemode?M.maxKDE/m*(M.maxCount/t.pts.length):M.maxKDE/m}if(x){for(f=new Array(T),o=0;o<T;o++)(h=f[o]={})[s.posLetter]=k+w[o].v/e,h[s.valLetter]=g.c2l(w[o].t,!0);r=p(f)}if(b){for(f=new Array(T),l=0,o=T-1;l<T;l++,o--)(h=f[l]={})[s.posLetter]=k-w[o].v/e,h[s.valLetter]=g.c2l(w[o].t,!0);i=p(f)}if(y)a=r+\"L\"+i.substr(1)+\"Z\";else{var S=[A,g.c2p(w[0].t)],E=[A,g.c2p(w[T-1].t)];\"h\"===c.orientation&&(S.reverse(),E.reverse()),a=x?\"M\"+S+\"L\"+r.substr(1)+\"L\"+E:\"M\"+E+\"L\"+i.substr(1)+\"L\"+S}_.attr(\"d\",a),t.posCenterPx=A,t.posDensityScale=e*m,t.path=_.node(),t.pathLength=t.path.getTotalLength()/(y?2:1)}));var w,T,k,A=c.box,M=A.width,S=(A.line||{}).width;y?(w=m*M,T=0):x?(w=[0,m*M/2],T=S*{x:1,y:-1}[s.posLetter]):(w=[m*M/2,0],T=S*{x:-1,y:1}[s.posLetter]),o.plotBoxAndWhiskers(r,{pos:v,val:g},c,{bPos:d,bdPos:w,bPosPxOffset:T}),o.plotBoxMean(r,{pos:v,val:g},c,{bPos:d,bdPos:w,bPosPxOffset:T}),!c.box.visible&&c.meanline.visible&&(k=i.identity);var E=r.selectAll(\"path.meanline\").data(k||[]);E.enter().append(\"path\").attr(\"class\",\"meanline\").style(\"fill\",\"none\").style(\"vector-effect\",\"non-scaling-stroke\"),E.exit().remove(),E.each((function(t){var e=g.c2p(t.mean,!0),r=l.getPositionOnKdePath(t,c,e);n.select(this).attr(\"d\",\"h\"===c.orientation?\"M\"+e+\",\"+r[0]+\"V\"+r[1]:\"M\"+r[0]+\",\"+e+\"H\"+r[1])})),o.plotPoints(r,{x:f,y:h},c,s)}}))}},{\"../../components/drawing\":388,\"../../lib\":503,\"../box/plot\":682,\"../scatter/line_points\":941,\"./helpers\":1095,\"@plotly/d3\":58}],1101:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../../components/color\"),a=t(\"../scatter/style\").stylePoints;e.exports=function(t){var e=n.select(t).selectAll(\"g.trace.violins\");e.style(\"opacity\",(function(t){return t[0].trace.opacity})),e.each((function(e){var r=e[0].trace,o=n.select(this),s=r.box||{},l=s.line||{},c=r.meanline||{},u=c.width;o.selectAll(\"path.violin\").style(\"stroke-width\",r.line.width+\"px\").call(i.stroke,r.line.color).call(i.fill,r.fillcolor),o.selectAll(\"path.box\").style(\"stroke-width\",l.width+\"px\").call(i.stroke,l.color).call(i.fill,s.fillcolor);var f={\"stroke-width\":u+\"px\",\"stroke-dasharray\":2*u+\"px,\"+u+\"px\"};o.selectAll(\"path.mean\").style(f).call(i.stroke,c.color),o.selectAll(\"path.meanline\").style(f).call(i.stroke,c.color),a(o,r,t)}))}},{\"../../components/color\":366,\"../scatter/style\":951,\"@plotly/d3\":58}],1102:[function(t,e,r){\"use strict\";var n=t(\"../../components/colorscale/attributes\"),i=t(\"../isosurface/attributes\"),a=t(\"../surface/attributes\"),o=t(\"../../plots/attributes\"),s=t(\"../../lib/extend\").extendFlat,l=t(\"../../plot_api/edit_types\").overrideAll,c=e.exports=l(s({x:i.x,y:i.y,z:i.z,value:i.value,isomin:i.isomin,isomax:i.isomax,surface:i.surface,spaceframe:{show:{valType:\"boolean\",dflt:!1},fill:{valType:\"number\",min:0,max:1,dflt:1}},slices:i.slices,caps:i.caps,text:i.text,hovertext:i.hovertext,xhoverformat:i.xhoverformat,yhoverformat:i.yhoverformat,zhoverformat:i.zhoverformat,valuehoverformat:i.valuehoverformat,hovertemplate:i.hovertemplate},n(\"\",{colorAttr:\"`value`\",showScaleDflt:!0,editTypeOverride:\"calc\"}),{colorbar:i.colorbar,opacity:i.opacity,opacityscale:a.opacityscale,lightposition:i.lightposition,lighting:i.lighting,flatshading:i.flatshading,contour:i.contour,hoverinfo:s({},o.hoverinfo),showlegend:s({},o.showlegend,{dflt:!1})}),\"calc\",\"nested\");c.x.editType=c.y.editType=c.z.editType=c.value.editType=\"calc+clearAxisTypes\",c.transforms=void 0},{\"../../components/colorscale/attributes\":373,\"../../lib/extend\":493,\"../../plot_api/edit_types\":536,\"../../plots/attributes\":550,\"../isosurface/attributes\":862,\"../surface/attributes\":1061}],1103:[function(t,e,r){\"use strict\";var n=t(\"../../../stackgl_modules\").gl_mesh3d,i=t(\"../../lib/gl_format_color\").parseColorScale,a=t(\"../../lib/str2rgbarray\"),o=t(\"../../components/colorscale\").extractOpts,s=t(\"../../plots/gl3d/zip3\"),l=t(\"../isosurface/convert\").findNearestOnAxis,c=t(\"../isosurface/convert\").generateIsoMeshes;function u(t,e,r){this.scene=t,this.uid=r,this.mesh=e,this.name=\"\",this.data=null,this.showContour=!1}var f=u.prototype;f.handlePick=function(t){if(t.object===this.mesh){var e=t.data.index,r=this.data._meshX[e],n=this.data._meshY[e],i=this.data._meshZ[e],a=this.data._Ys.length,o=this.data._Zs.length,s=l(r,this.data._Xs).id,c=l(n,this.data._Ys).id,u=l(i,this.data._Zs).id,f=t.index=u+o*c+o*a*s;t.traceCoordinate=[this.data._meshX[f],this.data._meshY[f],this.data._meshZ[f],this.data._value[f]];var h=this.data.hovertext||this.data.text;return Array.isArray(h)&&void 0!==h[f]?t.textLabel=h[f]:h&&(t.textLabel=h),!0}},f.update=function(t){var e=this.scene,r=e.fullSceneLayout;function n(t,e,r,n){return e.map((function(e){return t.d2l(e,0,n)*r}))}this.data=c(t);var l={positions:s(n(r.xaxis,t._meshX,e.dataScale[0],t.xcalendar),n(r.yaxis,t._meshY,e.dataScale[1],t.ycalendar),n(r.zaxis,t._meshZ,e.dataScale[2],t.zcalendar)),cells:s(t._meshI,t._meshJ,t._meshK),lightPosition:[t.lightposition.x,t.lightposition.y,t.lightposition.z],ambient:t.lighting.ambient,diffuse:t.lighting.diffuse,specular:t.lighting.specular,roughness:t.lighting.roughness,fresnel:t.lighting.fresnel,vertexNormalsEpsilon:t.lighting.vertexnormalsepsilon,faceNormalsEpsilon:t.lighting.facenormalsepsilon,opacity:t.opacity,opacityscale:t.opacityscale,contourEnable:t.contour.show,contourColor:a(t.contour.color).slice(0,3),contourWidth:t.contour.width,useFacetNormals:t.flatshading},u=o(t);l.vertexIntensity=t._meshIntensity,l.vertexIntensityBounds=[u.min,u.max],l.colormap=i(t),this.mesh.update(l)},f.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()},e.exports=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}},{\"../../../stackgl_modules\":1124,\"../../components/colorscale\":378,\"../../lib/gl_format_color\":499,\"../../lib/str2rgbarray\":528,\"../../plots/gl3d/zip3\":609,\"../isosurface/convert\":864}],1104:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./attributes\"),a=t(\"../isosurface/defaults\").supplyIsoDefaults,o=t(\"../surface/defaults\").opacityscaleDefaults;e.exports=function(t,e,r,s){function l(r,a){return n.coerce(t,e,i,r,a)}a(t,e,r,s,l),o(t,e,s,l)}},{\"../../lib\":503,\"../isosurface/defaults\":865,\"../surface/defaults\":1064,\"./attributes\":1102}],1105:[function(t,e,r){\"use strict\";e.exports={attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\"),calc:t(\"../isosurface/calc\"),colorbar:{min:\"cmin\",max:\"cmax\"},plot:t(\"./convert\"),moduleType:\"trace\",name:\"volume\",basePlotModule:t(\"../../plots/gl3d\"),categories:[\"gl3d\",\"showLegend\"],meta:{}}},{\"../../plots/gl3d\":598,\"../isosurface/calc\":863,\"./attributes\":1102,\"./convert\":1103,\"./defaults\":1104}],1106:[function(t,e,r){\"use strict\";var n=t(\"../bar/attributes\"),i=t(\"../scatter/attributes\").line,a=t(\"../../plots/attributes\"),o=t(\"../../plots/cartesian/axis_format_attributes\").axisHoverFormat,s=t(\"../../plots/template_attributes\").hovertemplateAttrs,l=t(\"../../plots/template_attributes\").texttemplateAttrs,c=t(\"./constants\"),u=t(\"../../lib/extend\").extendFlat,f=t(\"../../components/color\");function h(t){return{marker:{color:u({},n.marker.color,{arrayOk:!1,editType:\"style\"}),line:{color:u({},n.marker.line.color,{arrayOk:!1,editType:\"style\"}),width:u({},n.marker.line.width,{arrayOk:!1,editType:\"style\"}),editType:\"style\"},editType:\"style\"},editType:\"style\"}}e.exports={measure:{valType:\"data_array\",dflt:[],editType:\"calc\"},base:{valType:\"number\",dflt:null,arrayOk:!1,editType:\"calc\"},x:n.x,x0:n.x0,dx:n.dx,y:n.y,y0:n.y0,dy:n.dy,xperiod:n.xperiod,yperiod:n.yperiod,xperiod0:n.xperiod0,yperiod0:n.yperiod0,xperiodalignment:n.xperiodalignment,yperiodalignment:n.yperiodalignment,xhoverformat:o(\"x\"),yhoverformat:o(\"y\"),hovertext:n.hovertext,hovertemplate:s({},{keys:c.eventDataKeys}),hoverinfo:u({},a.hoverinfo,{flags:[\"name\",\"x\",\"y\",\"text\",\"initial\",\"delta\",\"final\"]}),textinfo:{valType:\"flaglist\",flags:[\"label\",\"text\",\"initial\",\"delta\",\"final\"],extras:[\"none\"],editType:\"plot\",arrayOk:!1},texttemplate:l({editType:\"plot\"},{keys:c.eventDataKeys.concat([\"label\"])}),text:n.text,textposition:n.textposition,insidetextanchor:n.insidetextanchor,textangle:n.textangle,textfont:n.textfont,insidetextfont:n.insidetextfont,outsidetextfont:n.outsidetextfont,constraintext:n.constraintext,cliponaxis:n.cliponaxis,orientation:n.orientation,offset:n.offset,width:n.width,increasing:h(),decreasing:h(),totals:h(),connector:{line:{color:u({},i.color,{dflt:f.defaultLine}),width:u({},i.width,{editType:\"plot\"}),dash:i.dash,editType:\"plot\"},mode:{valType:\"enumerated\",values:[\"spanning\",\"between\"],dflt:\"between\",editType:\"plot\"},visible:{valType:\"boolean\",dflt:!0,editType:\"plot\"},editType:\"plot\"},offsetgroup:n.offsetgroup,alignmentgroup:n.alignmentgroup}},{\"../../components/color\":366,\"../../lib/extend\":493,\"../../plots/attributes\":550,\"../../plots/cartesian/axis_format_attributes\":557,\"../../plots/template_attributes\":633,\"../bar/attributes\":648,\"../scatter/attributes\":927,\"./constants\":1108}],1107:[function(t,e,r){\"use strict\";var n=t(\"../../plots/cartesian/axes\"),i=t(\"../../plots/cartesian/align_period\"),a=t(\"../../lib\").mergeArray,o=t(\"../scatter/calc_selection\"),s=t(\"../../constants/numerical\").BADNUM;function l(t){return\"a\"===t||\"absolute\"===t}function c(t){return\"t\"===t||\"total\"===t}e.exports=function(t,e){var r,u,f,h,p,d,m=n.getFromId(t,e.xaxis||\"x\"),g=n.getFromId(t,e.yaxis||\"y\");\"h\"===e.orientation?(r=m.makeCalcdata(e,\"x\"),f=g.makeCalcdata(e,\"y\"),h=i(e,g,\"y\",f),p=!!e.yperiodalignment,d=\"y\"):(r=g.makeCalcdata(e,\"y\"),f=m.makeCalcdata(e,\"x\"),h=i(e,m,\"x\",f),p=!!e.xperiodalignment,d=\"x\"),u=h.vals;for(var v,y=Math.min(u.length,r.length),x=new Array(y),b=0,_=!1,w=0;w<y;w++){var T=r[w]||0,k=!1;(r[w]!==s||c(e.measure[w])||l(e.measure[w]))&&w+1<y&&(r[w+1]!==s||c(e.measure[w+1])||l(e.measure[w+1]))&&(k=!0);var A=x[w]={i:w,p:u[w],s:T,rawS:T,cNext:k};l(e.measure[w])?(b=A.s,A.isSum=!0,A.dir=\"totals\",A.s=b):c(e.measure[w])?(A.isSum=!0,A.dir=\"totals\",A.s=b):(A.isSum=!1,A.dir=A.rawS<0?\"decreasing\":\"increasing\",v=A.s,A.s=b+v,b+=v),\"totals\"===A.dir&&(_=!0),p&&(x[w].orig_p=f[w],x[w][d+\"End\"]=h.ends[w],x[w][d+\"Start\"]=h.starts[w]),e.ids&&(A.id=String(e.ids[w])),A.v=(e.base||0)+b}return x.length&&(x[0].hasTotals=_),a(e.text,x,\"tx\"),a(e.hovertext,x,\"htx\"),o(x,e),x}},{\"../../constants/numerical\":479,\"../../lib\":503,\"../../plots/cartesian/align_period\":551,\"../../plots/cartesian/axes\":554,\"../scatter/calc_selection\":929}],1108:[function(t,e,r){\"use strict\";e.exports={eventDataKeys:[\"initial\",\"delta\",\"final\"]}},{}],1109:[function(t,e,r){\"use strict\";var n=t(\"../bar/cross_trace_calc\").setGroupPositions;e.exports=function(t,e){var r,i,a=t._fullLayout,o=t._fullData,s=t.calcdata,l=e.xaxis,c=e.yaxis,u=[],f=[],h=[];for(i=0;i<o.length;i++){var p=o[i];!0===p.visible&&p.xaxis===l._id&&p.yaxis===c._id&&\"waterfall\"===p.type&&(r=s[i],\"h\"===p.orientation?h.push(r):f.push(r),u.push(r))}var d={mode:a.waterfallmode,norm:a.waterfallnorm,gap:a.waterfallgap,groupgap:a.waterfallgroupgap};for(n(t,l,c,f,d),n(t,c,l,h,d),i=0;i<u.length;i++){r=u[i];for(var m=0;m<r.length;m++){var g=r[m];!1===g.isSum&&(g.s0+=0===m?0:r[m-1].s),m+1<r.length&&(r[m].nextP0=r[m+1].p0,r[m].nextS0=r[m+1].s0)}}}},{\"../bar/cross_trace_calc\":651}],1110:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../bar/defaults\").handleGroupingDefaults,a=t(\"../bar/defaults\").handleText,o=t(\"../scatter/xy_defaults\"),s=t(\"../scatter/period_defaults\"),l=t(\"./attributes\"),c=t(\"../../components/color\"),u=t(\"../../constants/delta.js\"),f=u.INCREASING.COLOR,h=u.DECREASING.COLOR;function p(t,e,r){t(e+\".marker.color\",r),t(e+\".marker.line.color\",c.defaultLine),t(e+\".marker.line.width\")}e.exports={supplyDefaults:function(t,e,r,i){function c(r,i){return n.coerce(t,e,l,r,i)}if(o(t,e,i,c)){s(t,e,i,c),c(\"xhoverformat\"),c(\"yhoverformat\"),c(\"measure\"),c(\"orientation\",e.x&&!e.y?\"h\":\"v\"),c(\"base\"),c(\"offset\"),c(\"width\"),c(\"text\"),c(\"hovertext\"),c(\"hovertemplate\");var u=c(\"textposition\");if(a(t,e,i,c,u,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!0,moduleHasCliponaxis:!0,moduleHasTextangle:!0,moduleHasInsideanchor:!0}),\"none\"!==e.textposition&&(c(\"texttemplate\"),e.texttemplate||c(\"textinfo\")),p(c,\"increasing\",f),p(c,\"decreasing\",h),p(c,\"totals\",\"#4499FF\"),c(\"connector.visible\"))c(\"connector.mode\"),c(\"connector.line.width\")&&(c(\"connector.line.color\"),c(\"connector.line.dash\"))}else e.visible=!1},crossTraceDefaults:function(t,e){var r,a;function o(t){return n.coerce(a._input,a,l,t)}if(\"group\"===e.waterfallmode)for(var s=0;s<t.length;s++)r=(a=t[s])._input,i(r,a,e,o)}}},{\"../../components/color\":366,\"../../constants/delta.js\":473,\"../../lib\":503,\"../bar/defaults\":652,\"../scatter/period_defaults\":947,\"../scatter/xy_defaults\":954,\"./attributes\":1106}],1111:[function(t,e,r){\"use strict\";e.exports=function(t,e){return t.x=\"xVal\"in e?e.xVal:e.x,t.y=\"yVal\"in e?e.yVal:e.y,\"initial\"in e&&(t.initial=e.initial),\"delta\"in e&&(t.delta=e.delta),\"final\"in e&&(t.final=e.final),e.xa&&(t.xaxis=e.xa),e.ya&&(t.yaxis=e.ya),t}},{}],1112:[function(t,e,r){\"use strict\";var n=t(\"../../plots/cartesian/axes\").hoverLabelText,i=t(\"../../components/color\").opacity,a=t(\"../bar/hover\").hoverOnBars,o=t(\"../../constants/delta.js\"),s=o.INCREASING.SYMBOL,l=o.DECREASING.SYMBOL;e.exports=function(t,e,r,o,c){var u=a(t,e,r,o,c);if(u){var f=u.cd,h=f[0].trace,p=\"h\"===h.orientation,d=p?\"x\":\"y\",m=p?t.xa:t.ya,g=f[u.index],v=g.isSum?g.b+g.s:g.rawS;if(!g.isSum){u.initial=g.b+g.s-v,u.delta=v,u.final=u.initial+u.delta;var y=k(Math.abs(u.delta));u.deltaLabel=v<0?\"(\"+y+\")\":y,u.finalLabel=k(u.final),u.initialLabel=k(u.initial)}var x=g.hi||h.hoverinfo,b=[];if(x&&\"none\"!==x&&\"skip\"!==x){var _=\"all\"===x,w=x.split(\"+\"),T=function(t){return _||-1!==w.indexOf(t)};g.isSum||(!T(\"final\")||T(p?\"x\":\"y\")||b.push(u.finalLabel),T(\"delta\")&&(v<0?b.push(u.deltaLabel+\" \"+l):b.push(u.deltaLabel+\" \"+s)),T(\"initial\")&&b.push(\"Initial: \"+u.initialLabel))}return b.length&&(u.extraText=b.join(\"<br>\")),u.color=function(t,e){var r=t[e.dir].marker,n=r.color,a=r.line.color,o=r.line.width;if(i(n))return n;if(i(a)&&o)return a}(h,g),[u]}function k(t){return n(m,t,h[d+\"hoverformat\"])}}},{\"../../components/color\":366,\"../../constants/delta.js\":473,\"../../plots/cartesian/axes\":554,\"../bar/hover\":655}],1113:[function(t,e,r){\"use strict\";e.exports={attributes:t(\"./attributes\"),layoutAttributes:t(\"./layout_attributes\"),supplyDefaults:t(\"./defaults\").supplyDefaults,crossTraceDefaults:t(\"./defaults\").crossTraceDefaults,supplyLayoutDefaults:t(\"./layout_defaults\"),calc:t(\"./calc\"),crossTraceCalc:t(\"./cross_trace_calc\"),plot:t(\"./plot\"),style:t(\"./style\").style,hoverPoints:t(\"./hover\"),eventData:t(\"./event_data\"),selectPoints:t(\"../bar/select\"),moduleType:\"trace\",name:\"waterfall\",basePlotModule:t(\"../../plots/cartesian\"),categories:[\"bar-like\",\"cartesian\",\"svg\",\"oriented\",\"showLegend\",\"zoomScale\"],meta:{}}},{\"../../plots/cartesian\":568,\"../bar/select\":660,\"./attributes\":1106,\"./calc\":1107,\"./cross_trace_calc\":1109,\"./defaults\":1110,\"./event_data\":1111,\"./hover\":1112,\"./layout_attributes\":1114,\"./layout_defaults\":1115,\"./plot\":1116,\"./style\":1117}],1114:[function(t,e,r){\"use strict\";e.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\"}}},{}],1115:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./layout_attributes\");e.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<r.length;s++){var l=r[s];if(l.visible&&\"waterfall\"===l.type){a=!0;break}}a&&(o(\"waterfallmode\"),o(\"waterfallgap\",.2),o(\"waterfallgroupgap\"))}},{\"../../lib\":503,\"./layout_attributes\":1114}],1116:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../../lib\"),a=t(\"../../components/drawing\"),o=t(\"../../constants/numerical\").BADNUM,s=t(\"../bar/plot\"),l=t(\"../bar/uniform_text\").clearMinTextSize;e.exports=function(t,e,r,c){var u=t._fullLayout;l(\"waterfall\",u),s.plot(t,e,r,c,{mode:u.waterfallmode,norm:u.waterfallmode,gap:u.waterfallgap,groupgap:u.waterfallgroupgap}),function(t,e,r,s){var l=e.xaxis,c=e.yaxis;i.makeTraceGroups(s,r,\"trace bars\").each((function(r){var s=n.select(this),u=r[0].trace,f=i.ensureSingle(s,\"g\",\"lines\");if(u.connector&&u.connector.visible){var h=\"h\"===u.orientation,p=u.connector.mode,d=f.selectAll(\"g.line\").data(i.identity);d.enter().append(\"g\").classed(\"line\",!0),d.exit().remove();var m=d.size();d.each((function(r,s){if(s===m-1||r.cNext){var u=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),i[2]=o.c2p(t.nextS0,!0),a[2]=s.c2p(t.nextP0,!0),n?[i,a]:[a,i]}(r,l,c,h),f=u[0],d=u[1],g=\"\";f[0]!==o&&d[0]!==o&&f[1]!==o&&d[1]!==o&&(\"spanning\"===p&&!r.isSum&&s>0&&(g+=h?\"M\"+f[0]+\",\"+d[1]+\"V\"+d[0]:\"M\"+f[1]+\",\"+d[0]+\"H\"+f[0]),\"between\"!==p&&(r.isSum||s<m-1)&&(g+=h?\"M\"+f[1]+\",\"+d[0]+\"V\"+d[1]:\"M\"+f[0]+\",\"+d[1]+\"H\"+f[1]),f[2]!==o&&d[2]!==o&&(g+=h?\"M\"+f[1]+\",\"+d[1]+\"V\"+d[2]:\"M\"+f[1]+\",\"+d[1]+\"H\"+f[2])),\"\"===g&&(g=\"M0,0Z\"),i.ensureSingle(n.select(this),\"path\").attr(\"d\",g).call(a.setClipUrl,e.layerClipId,t)}}))}else f.remove()}))}(t,e,r,c)}},{\"../../components/drawing\":388,\"../../constants/numerical\":479,\"../../lib\":503,\"../bar/plot\":659,\"../bar/uniform_text\":664,\"@plotly/d3\":58}],1117:[function(t,e,r){\"use strict\";var n=t(\"@plotly/d3\"),i=t(\"../../components/drawing\"),a=t(\"../../components/color\"),o=t(\"../../constants/interactions\").DESELECTDIM,s=t(\"../bar/style\"),l=t(\"../bar/uniform_text\").resizeText,c=s.styleTextPoints;e.exports={style:function(t,e,r){var s=r||n.select(t).selectAll(\"g.waterfalllayer\").selectAll(\"g.trace\");l(t,s,\"waterfall\"),s.style(\"opacity\",(function(t){return t[0].trace.opacity})),s.each((function(e){var r=n.select(this),s=e[0].trace;r.selectAll(\".point > 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)}))}))}}},{\"../../components/color\":366,\"../../components/drawing\":388,\"../../constants/interactions\":478,\"../bar/style\":662,\"../bar/uniform_text\":664,\"@plotly/d3\":58}],1118:[function(t,e,r){\"use strict\";var n=t(\"../plots/cartesian/axes\"),i=t(\"../lib\"),a=t(\"../plot_api/plot_schema\"),o=t(\"./helpers\").pointsAccessorFunction,s=t(\"../constants/numerical\").BADNUM;r.moduleType=\"transform\",r.name=\"aggregate\";var l=r.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 f;case\"first\":return h;case\"last\":return p;case\"sum\":return function(t,e){for(var r=0,i=0;i<e.length;i++){var o=n(t[e[i]]);o!==s&&(r+=o)}return a(r)};case\"avg\":return function(t,e){for(var r=0,i=0,o=0;o<e.length;o++){var l=n(t[e[o]]);l!==s&&(r+=l,i++)}return i?a(r/i):s};case\"min\":return function(t,e){for(var r=1/0,i=0;i<e.length;i++){var o=n(t[e[i]]);o!==s&&(r=Math.min(r,o))}return r===1/0?s:a(r)};case\"max\":return function(t,e){for(var r=-1/0,i=0;i<e.length;i++){var o=n(t[e[i]]);o!==s&&(r=Math.max(r,o))}return r===-1/0?s:a(r)};case\"range\":return function(t,e){for(var r=1/0,i=-1/0,o=0;o<e.length;o++){var l=n(t[e[o]]);l!==s&&(r=Math.min(r,l),i=Math.max(i,l))}return i===-1/0||r===1/0?s:a(i-r)};case\"change\":return function(t,e){var r=n(t[e[0]]),i=n(t[e[e.length-1]]);return r===s||i===s?s:a(i-r)};case\"median\":return function(t,e){for(var r=[],o=0;o<e.length;o++){var l=n(t[e[o]]);l!==s&&r.push(l)}if(!r.length)return s;r.sort(i.sorterAsc);var c=(r.length-1)/2;return a((r[Math.floor(c)]+r[Math.ceil(c)])/2)};case\"mode\":return function(t,e){for(var r={},i=0,o=s,l=0;l<e.length;l++){var c=n(t[e[l]]);if(c!==s){var u=r[c]=(r[c]||0)+1;u>i&&(i=u,o=c)}}return i?a(o):s};case\"rms\":return function(t,e){for(var r=0,i=0,o=0;o<e.length;o++){var l=n(t[e[o]]);l!==s&&(r+=l*l,i++)}return i?a(Math.sqrt(r/i)):s};case\"stddev\":return function(e,r){var i,a=0,o=0,l=1,c=s;for(i=0;i<r.length&&c===s;i++)c=n(e[r[i]]);if(c===s)return s;for(;i<r.length;i++){var u=n(e[r[i]]);if(u!==s){var f=u-c;a+=f,o+=f*f,l++}}var h=\"sample\"===t.funcmode?l-1:l;return h?Math.sqrt((o-a*a/l)/h):0}}}(a,n.getDataConversions(t,e,o,c)),d=new Array(r.length),m=0;m<r.length;m++)d[m]=u(c,r[m]);l.set(d),\"count\"===a.func&&i.pushUnique(e._arrayAttrs,o)}}function f(t,e){return e.length}function h(t,e){return t[e[0]]}function p(t,e){return t[e[e.length-1]]}r.supplyDefaults=function(t,e){var r,n={};function o(e,r){return i.coerce(t,n,l,e,r)}if(!o(\"enabled\"))return n;var s=a.findArrayAttributes(e),u={};for(r=0;r<s.length;r++)u[s[r]]=1;var f=o(\"groups\");if(!Array.isArray(f)){if(!u[f])return n.enabled=!1,n;u[f]=0}var h,p=t.aggregations||[],d=n.aggregations=new Array(p.length);function m(t,e){return i.coerce(p[r],h,c,t,e)}for(r=0;r<p.length;r++){h={_index:r};var g=m(\"target\"),v=m(\"func\");m(\"enabled\")&&g&&(u[g]||\"count\"===v&&void 0===u[g])?(\"stddev\"===v&&m(\"funcmode\"),u[g]=0,d[r]=h):d[r]={enabled:!1,_index:r}}for(r=0;r<s.length;r++)u[s[r]]&&d.push({target:s[r],func:c.func.dflt,enabled:!0,_index:-1});return n},r.calcTransform=function(t,e,r){if(r.enabled){var n=r.groups,a=i.getTargetArray(e,{target:n});if(a){var s,l,c,f,h={},p={},d=[],m=o(e.transforms,r),g=a.length;for(e._length&&(g=Math.min(g,e._length)),s=0;s<g;s++)void 0===(c=h[l=a[s]])?(h[l]=d.length,f=[s],d.push(f),p[h[l]]=m(s)):(d[c].push(s),p[h[l]]=(p[h[l]]||[]).concat(m(s)));r._indexToPoints=p;var v=r.aggregations;for(s=0;s<v.length;s++)u(t,e,d,v[s]);\"string\"==typeof n&&u(t,e,d,{target:n,func:\"first\",enabled:!0}),e._length=d.length}}}},{\"../constants/numerical\":479,\"../lib\":503,\"../plot_api/plot_schema\":542,\"../plots/cartesian/axes\":554,\"./helpers\":1121}],1119:[function(t,e,r){\"use strict\";var n=t(\"../lib\"),i=t(\"../registry\"),a=t(\"../plots/cartesian/axes\"),o=t(\"./helpers\").pointsAccessorFunction,s=t(\"../constants/filter_ops\"),l=s.COMPARISON_OPS,c=s.INTERVAL_OPS,u=s.SET_OPS;r.moduleType=\"transform\",r.name=\"filter\",r.attributes={enabled:{valType:\"boolean\",dflt:!0,editType:\"calc\"},target:{valType:\"string\",strict:!0,noBlank:!0,arrayOk:!0,dflt:\"x\",editType:\"calc\"},operation:{valType:\"enumerated\",values:[].concat(l).concat(c).concat(u),dflt:\"=\",editType:\"calc\"},value:{valType:\"any\",dflt:0,editType:\"calc\"},preservegaps:{valType:\"boolean\",dflt:!1,editType:\"calc\"},editType:\"calc\"},r.supplyDefaults=function(t){var e={};function a(i,a){return n.coerce(t,e,r.attributes,i,a)}if(a(\"enabled\")){var o=a(\"target\");if(n.isArrayOrTypedArray(o)&&0===o.length)return e.enabled=!1,e;a(\"preservegaps\"),a(\"operation\"),a(\"value\");var s=i.getComponentMethod(\"calendars\",\"handleDefaults\");s(t,e,\"valuecalendar\",null),s(t,e,\"targetcalendar\",null)}return e},r.calcTransform=function(t,e,r){if(r.enabled){var i=n.getTargetArray(e,r);if(i){var s=r.target,f=i.length;e._length&&(f=Math.min(f,e._length));var h=r.targetcalendar,p=e._arrayAttrs,d=r.preservegaps;if(\"string\"==typeof s){var m=n.nestedProperty(e,s+\"calendar\").get();m&&(h=m)}var g,v,y=function(t,e,r){var n=t.operation,i=t.value,a=Array.isArray(i);function o(t){return-1!==t.indexOf(n)}var s,f=function(r){return e(r,0,t.valuecalendar)},h=function(t){return e(t,0,r)};o(l)?s=f(a?i[0]:i):o(c)?s=a?[f(i[0]),f(i[1])]:[f(i),f(i)]:o(u)&&(s=a?i.map(f):[f(i)]);switch(n){case\"=\":return function(t){return h(t)===s};case\"!=\":return function(t){return h(t)!==s};case\"<\":return function(t){return h(t)<s};case\"<=\":return function(t){return h(t)<=s};case\">\":return function(t){return h(t)>s};case\">=\":return function(t){return h(t)>=s};case\"[]\":return function(t){var e=h(t);return e>=s[0]&&e<=s[1]};case\"()\":return function(t){var e=h(t);return e>s[0]&&e<s[1]};case\"[)\":return function(t){var e=h(t);return e>=s[0]&&e<s[1]};case\"(]\":return function(t){var e=h(t);return e>s[0]&&e<=s[1]};case\"][\":return function(t){var e=h(t);return e<=s[0]||e>=s[1]};case\")(\":return function(t){var e=h(t);return e<s[0]||e>s[1]};case\"](\":return function(t){var e=h(t);return e<=s[0]||e>s[1]};case\")[\":return function(t){var e=h(t);return e<s[0]||e>=s[1]};case\"{}\":return function(t){return-1!==s.indexOf(h(t))};case\"}{\":return function(t){return-1===s.indexOf(h(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))},v=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([])},v=function(t,e){var r=x[t.astr][e];t.get().push(r)}),k(g);for(var w=o(e.transforms,r),T=0;T<f;T++){y(i[T])?(k(v,T),b[_++]=w(T)):d&&_++}r._indexToPoints=b,e._length=_}}function k(t,r){for(var i=0;i<p.length;i++){t(n.nestedProperty(e,p[i]),r)}}}},{\"../constants/filter_ops\":475,\"../lib\":503,\"../plots/cartesian/axes\":554,\"../registry\":638,\"./helpers\":1121}],1120:[function(t,e,r){\"use strict\";var n=t(\"../lib\"),i=t(\"../plot_api/plot_schema\"),a=t(\"../plots/plots\"),o=t(\"./helpers\").pointsAccessorFunction;function s(t,e){var r,s,l,c,u,f,h,p,d,m,g=e.transform,v=e.transformIndex,y=t.transforms[v].groups,x=o(t.transforms,g);if(!n.isArrayOrTypedArray(y)||0===y.length)return[t];var b=n.filterUnique(y),_=new Array(b.length),w=y.length,T=i.findArrayAttributes(t),k=g.styles||[],A={};for(r=0;r<k.length;r++)A[k[r].target]=k[r].value;g.styles&&(m=n.keyedContainer(g,\"styles\",\"target\",\"value.name\"));var M={},S={};for(r=0;r<b.length;r++){M[f=b[r]]=r,S[f]=0,(h=_[r]=n.extendDeepNoArrays({},t))._group=f,h.transforms[v]._indexToPoints={};var E=null;for(m&&(E=m.get(f)),h.name=E||\"\"===E?E:n.templateString(g.nameformat,{trace:t.name,group:f}),p=h.transforms,h.transforms=[],s=0;s<p.length;s++)h.transforms[s]=n.extendDeepNoArrays({},p[s]);for(s=0;s<T.length;s++)n.nestedProperty(h,T[s]).set([])}for(l=0;l<T.length;l++){for(c=T[l],s=0,d=[];s<b.length;s++)d[s]=n.nestedProperty(_[s],c).get();for(u=n.nestedProperty(t,c).get(),s=0;s<w;s++)d[M[y[s]]].push(u[s])}for(s=0;s<w;s++){(h=_[M[y[s]]]).transforms[v]._indexToPoints[S[y[s]]]=x(s),S[y[s]]++}for(r=0;r<b.length;r++)f=b[r],h=_[r],a.clearExpandedTraceDefaultColors(h),h=n.extendDeepNoArrays(h,A[f]||{});return _}r.moduleType=\"transform\",r.name=\"groupby\",r.attributes={enabled:{valType:\"boolean\",dflt:!0,editType:\"calc\"},groups:{valType:\"data_array\",dflt:[],editType:\"calc\"},nameformat:{valType:\"string\",editType:\"calc\"},styles:{_isLinkedToArray:\"style\",target:{valType:\"string\",editType:\"calc\"},value:{valType:\"any\",dflt:{},editType:\"calc\",_compareAsJSON:!0},editType:\"calc\"},editType:\"calc\"},r.supplyDefaults=function(t,e,i){var a,o={};function s(e,i){return n.coerce(t,o,r.attributes,e,i)}if(!s(\"enabled\"))return o;s(\"groups\"),s(\"nameformat\",i._dataLength>1?\"%{group} (%{trace})\":\"%{group}\");var l=t.styles,c=o.styles=[];if(l)for(a=0;a<l.length;a++){var u=c[a]={};n.coerce(l[a],c[a],r.attributes.styles,\"target\");var f=n.coerce(l[a],c[a],r.attributes.styles,\"value\");n.isPlainObject(f)?u.value=n.extendDeep({},f):f&&delete u.value}return o},r.transform=function(t,e){var r,n,i,a=[];for(n=0;n<t.length;n++)for(r=s(t[n],e),i=0;i<r.length;i++)a.push(r[i]);return a}},{\"../lib\":503,\"../plot_api/plot_schema\":542,\"../plots/plots\":619,\"./helpers\":1121}],1121:[function(t,e,r){\"use strict\";r.pointsAccessorFunction=function(t,e){for(var r,n,i=0;i<t.length&&(r=t[i])!==e;i++)r._indexToPoints&&!1!==r.enabled&&(n=r._indexToPoints);return n?function(t){return n[t]}:function(t){return[t]}}},{}],1122:[function(t,e,r){\"use strict\";var n=t(\"../lib\"),i=t(\"../plots/cartesian/axes\"),a=t(\"./helpers\").pointsAccessorFunction,o=t(\"../constants/numerical\").BADNUM;r.moduleType=\"transform\",r.name=\"sort\",r.attributes={enabled:{valType:\"boolean\",dflt:!0,editType:\"calc\"},target:{valType:\"string\",strict:!0,noBlank:!0,arrayOk:!0,dflt:\"x\",editType:\"calc\"},order:{valType:\"enumerated\",values:[\"ascending\",\"descending\"],dflt:\"ascending\",editType:\"calc\"},editType:\"calc\"},r.supplyDefaults=function(t){var e={};function i(i,a){return n.coerce(t,e,r.attributes,i,a)}return i(\"enabled\")&&(i(\"target\"),i(\"order\")),e},r.calcTransform=function(t,e,r){if(r.enabled){var s=n.getTargetArray(e,r);if(s){var l=r.target,c=s.length;e._length&&(c=Math.min(c,e._length));var u,f,h=e._arrayAttrs,p=function(t,e,r,n){var i,a=new Array(n),s=new Array(n);for(i=0;i<n;i++)a[i]={v:e[i],i:i};for(a.sort(function(t,e){switch(t.order){case\"ascending\":return function(t,r){var n=e(t.v),i=e(r.v);return n===o?1:i===o?-1:n-i};case\"descending\":return function(t,r){var n=e(t.v),i=e(r.v);return n===o?1:i===o?-1:i-n}}}(t,r)),i=0;i<n;i++)s[i]=a[i].i;return s}(r,s,i.getDataToCoordFunc(t,e,l,s),c),d=a(e.transforms,r),m={};for(u=0;u<h.length;u++){var g=n.nestedProperty(e,h[u]),v=g.get(),y=new Array(c);for(f=0;f<c;f++)y[f]=v[p[f]];g.set(y)}for(f=0;f<c;f++)m[f]=d(p[f]);r._indexToPoints=m,e._length=c}}}},{\"../constants/numerical\":479,\"../lib\":503,\"../plots/cartesian/axes\":554,\"./helpers\":1121}],1123:[function(t,e,r){\"use strict\";r.version=\"2.12.1\"},{}],1124:[function(t,e,r){(function(n){(function(){!function(t){\"object\"==typeof r&&void 0!==e?e.exports=t():(\"undefined\"!=typeof window?window:void 0!==n?n:\"undefined\"!=typeof self?self:this).stackgl=t()}((function(){return function e(r,n,i){function a(s,l){if(!n[s]){if(!r[s]){var c=\"function\"==typeof t&&t;if(!l&&c)return c(s,!0);if(o)return o(s,!0);var u=new Error(\"Cannot find module '\"+s+\"'\");throw u.code=\"MODULE_NOT_FOUND\",u}var f=n[s]={exports:{}};r[s][0].call(f.exports,(function(t){return a(r[s][1][t]||t)}),f,f.exports,e,r,n,i)}return n[s].exports}for(var o=\"function\"==typeof t&&t,s=0;s<i.length;s++)a(i[s]);return a}({1:[function(t,e,r){\"use strict\";r.byteLength=function(t){var e=c(t),r=e[0],n=e[1];return 3*(r+n)/4-n},r.toByteArray=function(t){var e,r,n=c(t),o=n[0],s=n[1],l=new a(function(t,e,r){return 3*(e+r)/4-r}(0,o,s)),u=0,f=s>0?o-4:o;for(r=0;r<f;r+=4)e=i[t.charCodeAt(r)]<<18|i[t.charCodeAt(r+1)]<<12|i[t.charCodeAt(r+2)]<<6|i[t.charCodeAt(r+3)],l[u++]=e>>16&255,l[u++]=e>>8&255,l[u++]=255&e;2===s&&(e=i[t.charCodeAt(r)]<<2|i[t.charCodeAt(r+1)]>>4,l[u++]=255&e);1===s&&(e=i[t.charCodeAt(r)]<<10|i[t.charCodeAt(r+1)]<<4|i[t.charCodeAt(r+2)]>>2,l[u++]=e>>8&255,l[u++]=255&e);return l},r.fromByteArray=function(t){for(var e,r=t.length,i=r%3,a=[],o=0,s=r-i;o<s;o+=16383)a.push(u(t,o,o+16383>s?s:o+16383));1===i?(e=t[r-1],a.push(n[e>>2]+n[e<<4&63]+\"==\")):2===i&&(e=(t[r-2]<<8)+t[r-1],a.push(n[e>>10]+n[e>>4&63]+n[e<<2&63]+\"=\"));return a.join(\"\")};for(var n=[],i=[],a=\"undefined\"!=typeof Uint8Array?Uint8Array:Array,o=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",s=0,l=o.length;s<l;++s)n[s]=o[s],i[o.charCodeAt(s)]=s;function c(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 u(t,e,r){for(var i,a,o=[],s=e;s<r;s+=3)i=(t[s]<<16&16711680)+(t[s+1]<<8&65280)+(255&t[s+2]),o.push(n[(a=i)>>18&63]+n[a>>12&63]+n[a>>6&63]+n[63&a]);return o.join(\"\")}i[\"-\".charCodeAt(0)]=62,i[\"_\".charCodeAt(0)]=63},{}],2:[function(t,e,r){},{}],3:[function(t,e,r){(function(e){(function(){\n",
       "/*!\n",
       " * The buffer module from node.js, for the browser.\n",
       " *\n",
       " * @author   Feross Aboukhadijeh <https://feross.org>\n",
       " * @license  MIT\n",
       " */\n",
       "\"use strict\";var e=t(\"base64-js\"),n=t(\"ieee754\");r.Buffer=a,r.SlowBuffer=function(t){+t!=t&&(t=0);return a.alloc(+t)},r.INSPECT_MAX_BYTES=50;function i(t){if(t>2147483647)throw new RangeError('The value \"'+t+'\" is invalid for option \"size\"');var e=new Uint8Array(t);return e.__proto__=a.prototype,e}function a(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 l(t)}return o(t,e,r)}function o(t,e,r){if(\"string\"==typeof t)return function(t,e){\"string\"==typeof e&&\"\"!==e||(e=\"utf8\");if(!a.isEncoding(e))throw new TypeError(\"Unknown encoding: \"+e);var r=0|f(t,e),n=i(r),o=n.write(t,e);o!==r&&(n=n.slice(0,o));return n}(t,e);if(ArrayBuffer.isView(t))return c(t);if(null==t)throw TypeError(\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type \"+typeof t);if(B(t,ArrayBuffer)||t&&B(t.buffer,ArrayBuffer))return function(t,e,r){if(e<0||t.byteLength<e)throw new RangeError('\"offset\" is outside of buffer bounds');if(t.byteLength<e+(r||0))throw new RangeError('\"length\" is outside of buffer bounds');var n;n=void 0===e&&void 0===r?new Uint8Array(t):void 0===r?new Uint8Array(t,e):new Uint8Array(t,e,r);return n.__proto__=a.prototype,n}(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 a.from(n,e,r);var o=function(t){if(a.isBuffer(t)){var e=0|u(t.length),r=i(e);return 0===r.length||t.copy(r,0,0,e),r}if(void 0!==t.length)return\"number\"!=typeof t.length||N(t.length)?i(0):c(t);if(\"Buffer\"===t.type&&Array.isArray(t.data))return c(t.data)}(t);if(o)return o;if(\"undefined\"!=typeof Symbol&&null!=Symbol.toPrimitive&&\"function\"==typeof t[Symbol.toPrimitive])return a.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 \"+typeof t)}function s(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 l(t){return s(t),i(t<0?0:0|u(t))}function c(t){for(var e=t.length<0?0:0|u(t.length),r=i(e),n=0;n<e;n+=1)r[n]=255&t[n];return r}function u(t){if(t>=2147483647)throw new RangeError(\"Attempt to allocate Buffer larger than maximum size: 0x\"+2147483647..toString(16)+\" bytes\");return 0|t}function f(t,e){if(a.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||B(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 '+typeof 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 D(t).length;case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return 2*r;case\"hex\":return r>>>1;case\"base64\":return R(t).length;default:if(i)return n?-1:D(t).length;e=(\"\"+e).toLowerCase(),i=!0}}function h(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 M(this,e,r);case\"utf8\":case\"utf-8\":return T(this,e,r);case\"ascii\":return k(this,e,r);case\"latin1\":case\"binary\":return A(this,e,r);case\"base64\":return w(this,e,r);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return S(this,e,r);default:if(n)throw new TypeError(\"Unknown encoding: \"+t);t=(t+\"\").toLowerCase(),n=!0}}function p(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function d(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),N(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=a.from(e,n)),a.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;a<s;a++)if(c(t,a)===c(e,-1===u?0:a-u)){if(-1===u&&(u=a),a-u+1===l)return u*o}else-1!==u&&(a-=a-u),u=-1}else for(r+l>s&&(r=s-l),a=r;a>=0;a--){for(var f=!0,h=0;h<l;h++)if(c(t,a+h)!==c(e,h)){f=!1;break}if(f)return a}return-1}function g(t,e,r,n){r=Number(r)||0;var i=t.length-r;n?(n=Number(n))>i&&(n=i):n=i;var a=e.length;n>a/2&&(n=a/2);for(var o=0;o<n;++o){var s=parseInt(e.substr(2*o,2),16);if(N(s))return o;t[r+o]=s}return o}function v(t,e,r,n){return F(D(e,t.length-r),t,r,n)}function y(t,e,r,n){return F(function(t){for(var e=[],r=0;r<t.length;++r)e.push(255&t.charCodeAt(r));return e}(e),t,r,n)}function x(t,e,r,n){return y(t,e,r,n)}function b(t,e,r,n){return F(R(e),t,r,n)}function _(t,e,r,n){return F(function(t,e){for(var r,n,i,a=[],o=0;o<t.length&&!((e-=2)<0);++o)r=t.charCodeAt(o),n=r>>8,i=r%256,a.push(i),a.push(n);return a}(e,t.length-r),t,r,n)}function w(t,r,n){return 0===r&&n===t.length?e.fromByteArray(t):e.fromByteArray(t.slice(r,n))}function T(t,e,r){r=Math.min(t.length,r);for(var n=[],i=e;i<r;){var a,o,s,l,c=t[i],u=null,f=c>239?4:c>223?3:c>191?2:1;if(i+f<=r)switch(f){case 1:c<128&&(u=c);break;case 2:128==(192&(a=t[i+1]))&&(l=(31&c)<<6|63&a)>127&&(u=l);break;case 3:a=t[i+1],o=t[i+2],128==(192&a)&&128==(192&o)&&(l=(15&c)<<12|(63&a)<<6|63&o)>2047&&(l<55296||l>57343)&&(u=l);break;case 4:a=t[i+1],o=t[i+2],s=t[i+3],128==(192&a)&&128==(192&o)&&128==(192&s)&&(l=(15&c)<<18|(63&a)<<12|(63&o)<<6|63&s)>65535&&l<1114112&&(u=l)}null===u?(u=65533,f=1):u>65535&&(u-=65536,n.push(u>>>10&1023|55296),u=56320|1023&u),n.push(u),i+=f}return function(t){var e=t.length;if(e<=4096)return String.fromCharCode.apply(String,t);var r=\"\",n=0;for(;n<e;)r+=String.fromCharCode.apply(String,t.slice(n,n+=4096));return r}(n)}r.kMaxLength=2147483647,a.TYPED_ARRAY_SUPPORT=function(){try{var t=new Uint8Array(1);return t.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===t.foo()}catch(t){return!1}}(),a.TYPED_ARRAY_SUPPORT||\"undefined\"==typeof console||\"function\"!=typeof console.error||console.error(\"This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.\"),Object.defineProperty(a.prototype,\"parent\",{enumerable:!0,get:function(){if(a.isBuffer(this))return this.buffer}}),Object.defineProperty(a.prototype,\"offset\",{enumerable:!0,get:function(){if(a.isBuffer(this))return this.byteOffset}}),\"undefined\"!=typeof Symbol&&null!=Symbol.species&&a[Symbol.species]===a&&Object.defineProperty(a,Symbol.species,{value:null,configurable:!0,enumerable:!1,writable:!1}),a.poolSize=8192,a.from=function(t,e,r){return o(t,e,r)},a.prototype.__proto__=Uint8Array.prototype,a.__proto__=Uint8Array,a.alloc=function(t,e,r){return function(t,e,r){return s(t),t<=0?i(t):void 0!==e?\"string\"==typeof r?i(t).fill(e,r):i(t).fill(e):i(t)}(t,e,r)},a.allocUnsafe=function(t){return l(t)},a.allocUnsafeSlow=function(t){return l(t)},a.isBuffer=function(t){return null!=t&&!0===t._isBuffer&&t!==a.prototype},a.compare=function(t,e){if(B(t,Uint8Array)&&(t=a.from(t,t.offset,t.byteLength)),B(e,Uint8Array)&&(e=a.from(e,e.offset,e.byteLength)),!a.isBuffer(t)||!a.isBuffer(e))throw new TypeError('The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array');if(t===e)return 0;for(var r=t.length,n=e.length,i=0,o=Math.min(r,n);i<o;++i)if(t[i]!==e[i]){r=t[i],n=e[i];break}return r<n?-1:n<r?1:0},a.isEncoding=function(t){switch(String(t).toLowerCase()){case\"hex\":case\"utf8\":case\"utf-8\":case\"ascii\":case\"latin1\":case\"binary\":case\"base64\":case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return!0;default:return!1}},a.concat=function(t,e){if(!Array.isArray(t))throw new TypeError('\"list\" argument must be an Array of Buffers');if(0===t.length)return a.alloc(0);var r;if(void 0===e)for(e=0,r=0;r<t.length;++r)e+=t[r].length;var n=a.allocUnsafe(e),i=0;for(r=0;r<t.length;++r){var o=t[r];if(B(o,Uint8Array)&&(o=a.from(o)),!a.isBuffer(o))throw new TypeError('\"list\" argument must be an Array of Buffers');o.copy(n,i),i+=o.length}return n},a.byteLength=f,a.prototype._isBuffer=!0,a.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;e<t;e+=2)p(this,e,e+1);return this},a.prototype.swap32=function(){var t=this.length;if(t%4!=0)throw new RangeError(\"Buffer size must be a multiple of 32-bits\");for(var e=0;e<t;e+=4)p(this,e,e+3),p(this,e+1,e+2);return this},a.prototype.swap64=function(){var t=this.length;if(t%8!=0)throw new RangeError(\"Buffer size must be a multiple of 64-bits\");for(var e=0;e<t;e+=8)p(this,e,e+7),p(this,e+1,e+6),p(this,e+2,e+5),p(this,e+3,e+4);return this},a.prototype.toString=function(){var t=this.length;return 0===t?\"\":0===arguments.length?T(this,0,t):h.apply(this,arguments)},a.prototype.toLocaleString=a.prototype.toString,a.prototype.equals=function(t){if(!a.isBuffer(t))throw new TypeError(\"Argument must be a Buffer\");return this===t||0===a.compare(this,t)},a.prototype.inspect=function(){var t=\"\",e=r.INSPECT_MAX_BYTES;return t=this.toString(\"hex\",0,e).replace(/(.{2})/g,\"$1 \").trim(),this.length>e&&(t+=\" ... \"),\"<Buffer \"+t+\">\"},a.prototype.compare=function(t,e,r,n,i){if(B(t,Uint8Array)&&(t=a.from(t,t.offset,t.byteLength)),!a.isBuffer(t))throw new TypeError('The \"target\" argument must be one of type Buffer or Uint8Array. Received type '+typeof 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 o=(i>>>=0)-(n>>>=0),s=(r>>>=0)-(e>>>=0),l=Math.min(o,s),c=this.slice(n,i),u=t.slice(e,r),f=0;f<l;++f)if(c[f]!==u[f]){o=c[f],s=u[f];break}return o<s?-1:s<o?1:0},a.prototype.includes=function(t,e,r){return-1!==this.indexOf(t,e,r)},a.prototype.indexOf=function(t,e,r){return d(this,t,e,r,!0)},a.prototype.lastIndexOf=function(t,e,r){return d(this,t,e,r,!1)},a.prototype.write=function(t,e,r,n){if(void 0===e)n=\"utf8\",r=this.length,e=0;else if(void 0===r&&\"string\"==typeof e)n=e,r=this.length,e=0;else{if(!isFinite(e))throw new Error(\"Buffer.write(string, encoding, offset[, length]) is no longer supported\");e>>>=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 g(this,t,e,r);case\"utf8\":case\"utf-8\":return v(this,t,e,r);case\"ascii\":return y(this,t,e,r);case\"latin1\":case\"binary\":return x(this,t,e,r);case\"base64\":return b(this,t,e,r);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return _(this,t,e,r);default:if(a)throw new TypeError(\"Unknown encoding: \"+n);n=(\"\"+n).toLowerCase(),a=!0}},a.prototype.toJSON=function(){return{type:\"Buffer\",data:Array.prototype.slice.call(this._arr||this,0)}};function k(t,e,r){var n=\"\";r=Math.min(t.length,r);for(var i=e;i<r;++i)n+=String.fromCharCode(127&t[i]);return n}function A(t,e,r){var n=\"\";r=Math.min(t.length,r);for(var i=e;i<r;++i)n+=String.fromCharCode(t[i]);return n}function M(t,e,r){var n=t.length;(!e||e<0)&&(e=0),(!r||r<0||r>n)&&(r=n);for(var i=\"\",a=e;a<r;++a)i+=z(t[a]);return i}function S(t,e,r){for(var n=t.slice(e,r),i=\"\",a=0;a<n.length;a+=2)i+=String.fromCharCode(n[a]+256*n[a+1]);return i}function E(t,e,r){if(t%1!=0||t<0)throw new RangeError(\"offset is not uint\");if(t+e>r)throw new RangeError(\"Trying to access beyond buffer length\")}function L(t,e,r,n,i,o){if(!a.isBuffer(t))throw new TypeError('\"buffer\" argument must be a Buffer instance');if(e>i||e<o)throw new RangeError('\"value\" argument is out of bounds');if(r+n>t.length)throw new RangeError(\"Index out of range\")}function C(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 P(t,e,r,i,a){return e=+e,r>>>=0,a||C(t,0,r,4),n.write(t,e,r,i,23,4),r+4}function I(t,e,r,i,a){return e=+e,r>>>=0,a||C(t,0,r,8),n.write(t,e,r,i,52,8),r+8}a.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<t&&(e=t);var n=this.subarray(t,e);return n.__proto__=a.prototype,n},a.prototype.readUIntLE=function(t,e,r){t>>>=0,e>>>=0,r||E(t,e,this.length);for(var n=this[t],i=1,a=0;++a<e&&(i*=256);)n+=this[t+a]*i;return n},a.prototype.readUIntBE=function(t,e,r){t>>>=0,e>>>=0,r||E(t,e,this.length);for(var n=this[t+--e],i=1;e>0&&(i*=256);)n+=this[t+--e]*i;return n},a.prototype.readUInt8=function(t,e){return t>>>=0,e||E(t,1,this.length),this[t]},a.prototype.readUInt16LE=function(t,e){return t>>>=0,e||E(t,2,this.length),this[t]|this[t+1]<<8},a.prototype.readUInt16BE=function(t,e){return t>>>=0,e||E(t,2,this.length),this[t]<<8|this[t+1]},a.prototype.readUInt32LE=function(t,e){return t>>>=0,e||E(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},a.prototype.readUInt32BE=function(t,e){return t>>>=0,e||E(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},a.prototype.readIntLE=function(t,e,r){t>>>=0,e>>>=0,r||E(t,e,this.length);for(var n=this[t],i=1,a=0;++a<e&&(i*=256);)n+=this[t+a]*i;return n>=(i*=128)&&(n-=Math.pow(2,8*e)),n},a.prototype.readIntBE=function(t,e,r){t>>>=0,e>>>=0,r||E(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},a.prototype.readInt8=function(t,e){return t>>>=0,e||E(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},a.prototype.readInt16LE=function(t,e){t>>>=0,e||E(t,2,this.length);var r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},a.prototype.readInt16BE=function(t,e){t>>>=0,e||E(t,2,this.length);var r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},a.prototype.readInt32LE=function(t,e){return t>>>=0,e||E(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},a.prototype.readInt32BE=function(t,e){return t>>>=0,e||E(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},a.prototype.readFloatLE=function(t,e){return t>>>=0,e||E(t,4,this.length),n.read(this,t,!0,23,4)},a.prototype.readFloatBE=function(t,e){return t>>>=0,e||E(t,4,this.length),n.read(this,t,!1,23,4)},a.prototype.readDoubleLE=function(t,e){return t>>>=0,e||E(t,8,this.length),n.read(this,t,!0,52,8)},a.prototype.readDoubleBE=function(t,e){return t>>>=0,e||E(t,8,this.length),n.read(this,t,!1,52,8)},a.prototype.writeUIntLE=function(t,e,r,n){(t=+t,e>>>=0,r>>>=0,n)||L(this,t,e,r,Math.pow(2,8*r)-1,0);var i=1,a=0;for(this[e]=255&t;++a<r&&(i*=256);)this[e+a]=t/i&255;return e+r},a.prototype.writeUIntBE=function(t,e,r,n){(t=+t,e>>>=0,r>>>=0,n)||L(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},a.prototype.writeUInt8=function(t,e,r){return t=+t,e>>>=0,r||L(this,t,e,1,255,0),this[e]=255&t,e+1},a.prototype.writeUInt16LE=function(t,e,r){return t=+t,e>>>=0,r||L(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},a.prototype.writeUInt16BE=function(t,e,r){return t=+t,e>>>=0,r||L(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},a.prototype.writeUInt32LE=function(t,e,r){return t=+t,e>>>=0,r||L(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},a.prototype.writeUInt32BE=function(t,e,r){return t=+t,e>>>=0,r||L(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},a.prototype.writeIntLE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);L(this,t,e,r,i-1,-i)}var a=0,o=1,s=0;for(this[e]=255&t;++a<r&&(o*=256);)t<0&&0===s&&0!==this[e+a-1]&&(s=1),this[e+a]=(t/o>>0)-s&255;return e+r},a.prototype.writeIntBE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);L(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},a.prototype.writeInt8=function(t,e,r){return t=+t,e>>>=0,r||L(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},a.prototype.writeInt16LE=function(t,e,r){return t=+t,e>>>=0,r||L(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},a.prototype.writeInt16BE=function(t,e,r){return t=+t,e>>>=0,r||L(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},a.prototype.writeInt32LE=function(t,e,r){return t=+t,e>>>=0,r||L(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},a.prototype.writeInt32BE=function(t,e,r){return t=+t,e>>>=0,r||L(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},a.prototype.writeFloatLE=function(t,e,r){return P(this,t,e,!0,r)},a.prototype.writeFloatBE=function(t,e,r){return P(this,t,e,!1,r)},a.prototype.writeDoubleLE=function(t,e,r){return I(this,t,e,!0,r)},a.prototype.writeDoubleBE=function(t,e,r){return I(this,t,e,!1,r)},a.prototype.copy=function(t,e,r,n){if(!a.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<r&&(n=r),n===r)return 0;if(0===t.length||0===this.length)return 0;if(e<0)throw new RangeError(\"targetStart out of bounds\");if(r<0||r>=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<n-r&&(n=t.length-e+r);var i=n-r;if(this===t&&\"function\"==typeof Uint8Array.prototype.copyWithin)this.copyWithin(e,r,n);else if(this===t&&r<e&&e<n)for(var o=i-1;o>=0;--o)t[o+e]=this[o+r];else Uint8Array.prototype.set.call(t,this.subarray(r,n),e);return i},a.prototype.fill=function(t,e,r,n){if(\"string\"==typeof t){if(\"string\"==typeof e?(n=e,e=0,r=this.length):\"string\"==typeof r&&(n=r,r=this.length),void 0!==n&&\"string\"!=typeof n)throw new TypeError(\"encoding must be a string\");if(\"string\"==typeof n&&!a.isEncoding(n))throw new TypeError(\"Unknown encoding: \"+n);if(1===t.length){var i=t.charCodeAt(0);(\"utf8\"===n&&i<128||\"latin1\"===n)&&(t=i)}}else\"number\"==typeof t&&(t&=255);if(e<0||this.length<e||this.length<r)throw new RangeError(\"Out of range index\");if(r<=e)return this;var o;if(e>>>=0,r=void 0===r?this.length:r>>>0,t||(t=0),\"number\"==typeof t)for(o=e;o<r;++o)this[o]=t;else{var s=a.isBuffer(t)?t:a.from(t,n),l=s.length;if(0===l)throw new TypeError('The value \"'+t+'\" is invalid for argument \"value\"');for(o=0;o<r-e;++o)this[o+e]=s[o%l]}return this};var O=/[^+/0-9A-Za-z-_]/g;function z(t){return t<16?\"0\"+t.toString(16):t.toString(16)}function D(t,e){var r;e=e||1/0;for(var n=t.length,i=null,a=[],o=0;o<n;++o){if((r=t.charCodeAt(o))>55295&&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 R(t){return e.toByteArray(function(t){if((t=(t=t.split(\"=\")[0]).trim().replace(O,\"\")).length<2)return\"\";for(;t.length%4!=0;)t+=\"=\";return t}(t))}function F(t,e,r,n){for(var i=0;i<n&&!(i+r>=e.length||i>=t.length);++i)e[i+r]=t[i];return i}function B(t,e){return t instanceof e||null!=t&&null!=t.constructor&&null!=t.constructor.name&&t.constructor.name===e.name}function N(t){return t!=t}}).call(this)}).call(this,t(\"buffer\").Buffer)},{\"base64-js\":1,buffer:3,ieee754:4}],4:[function(t,e,r){r.read=function(t,e,r,n,i){var a,o,s=8*i-n-1,l=(1<<s)-1,c=l>>1,u=-7,f=r?i-1:0,h=r?-1:1,p=t[e+f];for(f+=h,a=p&(1<<-u)-1,p>>=-u,u+=s;u>0;a=256*a+t[e+f],f+=h,u-=8);for(o=a&(1<<-u)-1,a>>=-u,u+=n;u>0;o=256*o+t[e+f],f+=h,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)},r.write=function(t,e,r,n,i,a){var o,s,l,c=8*a-i-1,u=(1<<c)-1,f=u>>1,h=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+f>=1?h/l:h*Math.pow(2,1-f))*l>=2&&(o++,l/=2),o+f>=u?(s=0,o=u):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<<i|s,c+=i;c>0;t[r+p]=255&o,p+=d,o/=256,c-=8);t[r+p-d]|=128*m}},{}],5:[function(t,e,r){var n,i,a=e.exports={};function o(){throw new Error(\"setTimeout has not been defined\")}function s(){throw new Error(\"clearTimeout has not been defined\")}function l(t){if(n===setTimeout)return setTimeout(t,0);if((n===o||!n)&&setTimeout)return n=setTimeout,setTimeout(t,0);try{return n(t,0)}catch(e){try{return n.call(null,t,0)}catch(e){return n.call(this,t,0)}}}!function(){try{n=\"function\"==typeof setTimeout?setTimeout:o}catch(t){n=o}try{i=\"function\"==typeof clearTimeout?clearTimeout:s}catch(t){i=s}}();var c,u=[],f=!1,h=-1;function p(){f&&c&&(f=!1,c.length?u=c.concat(u):h=-1,u.length&&d())}function d(){if(!f){var t=l(p);f=!0;for(var e=u.length;e;){for(c=u,u=[];++h<e;)c&&c[h].run();h=-1,e=u.length}c=null,f=!1,function(t){if(i===clearTimeout)return clearTimeout(t);if((i===s||!i)&&clearTimeout)return i=clearTimeout,clearTimeout(t);try{i(t)}catch(e){try{return i.call(null,t)}catch(e){return i.call(this,t)}}}(t)}}function m(t,e){this.fun=t,this.array=e}function g(){}a.nextTick=function(t){var e=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)e[r-1]=arguments[r];u.push(new m(t,e)),1!==u.length||f||l(d)},m.prototype.run=function(){this.fun.apply(null,this.array)},a.title=\"browser\",a.browser=!0,a.env={},a.argv=[],a.version=\"\",a.versions={},a.on=g,a.addListener=g,a.once=g,a.off=g,a.removeListener=g,a.removeAllListeners=g,a.emit=g,a.prependListener=g,a.prependOnceListener=g,a.listeners=function(t){return[]},a.binding=function(t){throw new Error(\"process.binding is not supported\")},a.cwd=function(){return\"/\"},a.chdir=function(t){throw new Error(\"process.chdir is not supported\")},a.umask=function(){return 0}},{}],6:[function(t,e,r){e.exports={alpha_shape:t(\"alpha-shape\"),convex_hull:t(\"convex-hull\"),delaunay_triangulate:t(\"delaunay-triangulate\"),gl_cone3d:t(\"gl-cone3d\"),gl_error3d:t(\"gl-error3d\"),gl_heatmap2d:t(\"gl-heatmap2d\"),gl_line3d:t(\"gl-line3d\"),gl_mesh3d:t(\"gl-mesh3d\"),gl_plot2d:t(\"gl-plot2d\"),gl_plot3d:t(\"gl-plot3d\"),gl_pointcloud2d:t(\"gl-pointcloud2d\"),gl_scatter3d:t(\"gl-scatter3d\"),gl_select_box:t(\"gl-select-box\"),gl_spikes2d:t(\"gl-spikes2d\"),gl_streamtube3d:t(\"gl-streamtube3d\"),gl_surface3d:t(\"gl-surface3d\"),ndarray:t(\"ndarray\"),ndarray_linear_interpolate:t(\"ndarray-linear-interpolate\")}},{\"alpha-shape\":12,\"convex-hull\":58,\"delaunay-triangulate\":63,\"gl-cone3d\":79,\"gl-error3d\":84,\"gl-heatmap2d\":88,\"gl-line3d\":91,\"gl-mesh3d\":112,\"gl-plot2d\":118,\"gl-plot3d\":121,\"gl-pointcloud2d\":123,\"gl-scatter3d\":128,\"gl-select-box\":130,\"gl-spikes2d\":139,\"gl-streamtube3d\":143,\"gl-surface3d\":145,ndarray:259,\"ndarray-linear-interpolate\":253}],7:[function(t,e,r){\"use strict\";e.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(),f=i(),h=a();return u.setDistanceLimits(l[0],l[1]),u.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:u,orbit:f,matrix:h},c)};var n=t(\"turntable-camera-controller\"),i=t(\"orbit-camera-controller\"),a=t(\"matrix-camera-controller\");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;r<e.length;++r)e[r].flush(t)},s.idle=function(t){for(var e=this._controllerList,r=0;r<e.length;++r)e[r].idle(t)},s.lookAt=function(t,e,r,n){for(var i=this._controllerList,a=0;a<i.length;++a)i[a].lookAt(t,e,r,n)},s.rotate=function(t,e,r,n){for(var i=this._controllerList,a=0;a<i.length;++a)i[a].rotate(t,e,r,n)},s.pan=function(t,e,r,n){for(var i=this._controllerList,a=0;a<i.length;++a)i[a].pan(t,e,r,n)},s.translate=function(t,e,r,n){for(var i=this._controllerList,a=0;a<i.length;++a)i[a].translate(t,e,r,n)},s.setMatrix=function(t,e){for(var r=this._controllerList,n=0;n<r.length;++n)r[n].setMatrix(t,e)},s.setDistanceLimits=function(t,e){for(var r=this._controllerList,n=0;n<r.length;++n)r[n].setDistanceLimits(t,e)},s.setDistance=function(t,e){for(var r=this._controllerList,n=0;n<r.length;++n)r[n].setDistance(t,e)},s.recalcMatrix=function(t){this._active.recalcMatrix(t)},s.getDistance=function(t){return this._active.getDistance(t)},s.getDistanceLimits=function(t){return this._active.getDistanceLimits(t)},s.lastT=function(){return this._active.lastT()},s.setMode=function(t){if(t!==this._mode){var e=this._controllerNames.indexOf(t);if(!(e<0)){var r=this._active,n=this._controllerList[e],i=Math.max(r.lastT(),n.lastT());r.recalcMatrix(i),n.setMatrix(i,r.computedMatrix),this._active=n,this._mode=t,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}}},s.getMode=function(){return this._mode}},{\"matrix-camera-controller\":245,\"orbit-camera-controller\":263,\"turntable-camera-controller\":305}],8:[function(t,e,r){\"use strict\";var n=\"undefined\"==typeof WeakMap?t(\"weak-map\"):WeakMap,i=t(\"gl-buffer\"),a=t(\"gl-vao\"),o=new n;e.exports=function(t){var e=o.get(t),r=e&&(e._triangleBuffer.handle||e._triangleBuffer.buffer);if(!r||!t.isBuffer(r)){var n=i(t,new Float32Array([-1,-1,-1,4,4,-1]));(e=a(t,[{buffer:n,type:t.FLOAT,size:2}]))._triangleBuffer=n,o.set(t,e)}e.bind(),t.drawArrays(t.TRIANGLES,0,3),e.unbind()}},{\"gl-buffer\":78,\"gl-vao\":150,\"weak-map\":313}],9:[function(t,e,r){var n=t(\"pad-left\");e.exports=function(t,e,r){e=\"number\"==typeof e?e:1,r=r||\": \";var i=t.split(/\\r?\\n/),a=String(i.length+e-1).length;return i.map((function(t,i){var o=i+e,s=String(o).length;return n(o,a-s)+r+t})).join(\"\\n\")}},{\"pad-left\":264}],10:[function(t,e,r){\"use strict\";e.exports=function(t){var e=t.length;if(0===e)return[];if(1===e)return[0];for(var r=t[0].length,n=[t[0]],a=[0],o=1;o<e;++o)if(n.push(t[o]),i(n,r)){if(a.push(o),a.length===r+1)return a}else n.pop();return a};var n=t(\"robust-orientation\");function i(t,e){for(var r=new Array(e+1),i=0;i<t.length;++i)r[i]=t[i];for(i=0;i<=t.length;++i){for(var a=t.length;a<=e;++a){for(var o=new Array(e),s=0;s<e;++s)o[s]=Math.pow(a+1-i,s);r[a]=o}if(n.apply(void 0,r))return!0}return!1}},{\"robust-orientation\":284}],11:[function(t,e,r){\"use strict\";e.exports=function(t,e){return n(e).filter((function(r){for(var n=new Array(r.length),a=0;a<r.length;++a)n[a]=e[r[a]];return i(n)*t<1}))};var n=t(\"delaunay-triangulate\"),i=t(\"circumradius\")},{circumradius:49,\"delaunay-triangulate\":63}],12:[function(t,e,r){e.exports=function(t,e){return i(n(t,e))};var n=t(\"alpha-complex\"),i=t(\"simplicial-complex-boundary\")},{\"alpha-complex\":11,\"simplicial-complex-boundary\":290}],13:[function(t,e,r){e.exports=function(t){return atob(t)}},{}],14:[function(t,e,r){\"use strict\";e.exports=function(t,e){for(var r=e.length,a=new Array(r+1),o=0;o<r;++o){for(var s=new Array(r+1),l=0;l<=r;++l)s[l]=t[l][o];a[o]=s}a[r]=new Array(r+1);for(o=0;o<=r;++o)a[r][o]=1;var c=new Array(r+1);for(o=0;o<r;++o)c[o]=e[o];c[r]=1;var u=n(a,c),f=i(u[r+1]);0===f&&(f=1);var h=new Array(r+1);for(o=0;o<=r;++o)h[o]=i(u[o])/f;return h};var n=t(\"robust-linear-solve\");function i(t){for(var e=0,r=0;r<t.length;++r)e+=t[r];return e}},{\"robust-linear-solve\":283}],15:[function(t,e,r){\"use strict\";var n=t(\"./lib/rationalize\");e.exports=function(t,e){return n(t[0].mul(e[1]).add(e[0].mul(t[1])),t[1].mul(e[1]))}},{\"./lib/rationalize\":25}],16:[function(t,e,r){\"use strict\";e.exports=function(t,e){return t[0].mul(e[1]).cmp(e[0].mul(t[1]))}},{}],17:[function(t,e,r){\"use strict\";var n=t(\"./lib/rationalize\");e.exports=function(t,e){return n(t[0].mul(e[1]),t[1].mul(e[0]))}},{\"./lib/rationalize\":25}],18:[function(t,e,r){\"use strict\";var n=t(\"./is-rat\"),i=t(\"./lib/is-bn\"),a=t(\"./lib/num-to-bn\"),o=t(\"./lib/str-to-bn\"),s=t(\"./lib/rationalize\"),l=t(\"./div\");e.exports=function t(e,r){if(n(e))return r?l(e,t(r)):[e[0].clone(),e[1].clone()];var c,u,f=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),f-=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),f+=256;u=a(r)}else u=a(1);f>0?c=c.ushln(f):f<0&&(u=u.ushln(-f));return s(c,u)}},{\"./div\":17,\"./is-rat\":19,\"./lib/is-bn\":23,\"./lib/num-to-bn\":24,\"./lib/rationalize\":25,\"./lib/str-to-bn\":26}],19:[function(t,e,r){\"use strict\";var n=t(\"./lib/is-bn\");e.exports=function(t){return Array.isArray(t)&&2===t.length&&n(t[0])&&n(t[1])}},{\"./lib/is-bn\":23}],20:[function(t,e,r){\"use strict\";var n=t(\"bn.js\");e.exports=function(t){return t.cmp(new n(0))}},{\"bn.js\":33}],21:[function(t,e,r){\"use strict\";var n=t(\"./bn-sign\");e.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;a<e;a++){var o=r[a];i+=o*Math.pow(67108864,a)}return n(t)*i}},{\"./bn-sign\":20}],22:[function(t,e,r){\"use strict\";var n=t(\"double-bits\"),i=t(\"bit-twiddle\").countTrailingZeros;e.exports=function(t){var e=i(n.lo(t));if(e<32)return e;var r=i(n.hi(t));if(r>20)return 52;return r+32}},{\"bit-twiddle\":32,\"double-bits\":64}],23:[function(t,e,r){\"use strict\";t(\"bn.js\");e.exports=function(t){return t&&\"object\"==typeof t&&Boolean(t.words)}},{\"bn.js\":33}],24:[function(t,e,r){\"use strict\";var n=t(\"bn.js\"),i=t(\"double-bits\");e.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)}},{\"bn.js\":33,\"double-bits\":64}],25:[function(t,e,r){\"use strict\";var n=t(\"./num-to-bn\"),i=t(\"./bn-sign\");e.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);if(o.cmpn(1))return[t.div(o),e.div(o)];return[t,e]}},{\"./bn-sign\":20,\"./num-to-bn\":24}],26:[function(t,e,r){\"use strict\";var n=t(\"bn.js\");e.exports=function(t){return new n(t)}},{\"bn.js\":33}],27:[function(t,e,r){\"use strict\";var n=t(\"./lib/rationalize\");e.exports=function(t,e){return n(t[0].mul(e[0]),t[1].mul(e[1]))}},{\"./lib/rationalize\":25}],28:[function(t,e,r){\"use strict\";var n=t(\"./lib/bn-sign\");e.exports=function(t){return n(t[0])*n(t[1])}},{\"./lib/bn-sign\":20}],29:[function(t,e,r){\"use strict\";var n=t(\"./lib/rationalize\");e.exports=function(t,e){return n(t[0].mul(e[1]).sub(t[1].mul(e[0])),t[1].mul(e[1]))}},{\"./lib/rationalize\":25}],30:[function(t,e,r){\"use strict\";var n=t(\"./lib/bn-to-num\"),i=t(\"./lib/ctz\");e.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,f=n(l.ushln(u).divRound(r));return c*(s+f*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):(f*=Math.pow(2,-1023),c*f*Math.pow(2,1023-h))}},{\"./lib/bn-to-num\":21,\"./lib/ctz\":22}],31:[function(t,e,r){\"use strict\";function n(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 i(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 a(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 o(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 s(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 l(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)}e.exports={ge:function(t,e,r,i,a){return l(t,e,r,i,a,n)},gt:function(t,e,r,n,a){return l(t,e,r,n,a,i)},lt:function(t,e,r,n,i){return l(t,e,r,n,i,a)},le:function(t,e,r,n,i){return l(t,e,r,n,i,o)},eq:function(t,e,r,n,i){return l(t,e,r,n,i,s)}}},{}],32:[function(t,e,r){\"use strict\";function n(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}r.INT_BITS=32,r.INT_MAX=2147483647,r.INT_MIN=-1<<31,r.sign=function(t){return(t>0)-(t<0)},r.abs=function(t){var e=t>>31;return(t^e)-e},r.min=function(t,e){return e^(t^e)&-(t<e)},r.max=function(t,e){return t^(t^e)&-(t<e)},r.isPow2=function(t){return!(t&t-1||!t)},r.log2=function(t){var e,r;return e=(t>65535)<<4,e|=r=((t>>>=e)>255)<<3,e|=r=((t>>>=r)>15)<<2,(e|=r=((t>>>=r)>3)<<1)|(t>>>=r)>>1},r.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},r.popCount=function(t){return 16843009*((t=(858993459&(t-=t>>>1&1431655765))+(t>>>2&858993459))+(t>>>4)&252645135)>>>24},r.countTrailingZeros=n,r.nextPow2=function(t){return t+=0===t,--t,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)+1},r.prevPow2=function(t){return t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)-(t>>>1)},r.parity=function(t){return t^=t>>>16,t^=t>>>8,t^=t>>>4,27030>>>(t&=15)&1};var i=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<<i&255}}(i),r.reverse=function(t){return i[255&t]<<24|i[t>>>8&255]<<16|i[t>>>16&255]<<8|i[t>>>24&255]},r.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},r.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},r.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},r.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},r.nextCombination=function(t){var e=t|t-1;return e+1|(~e&-~e)-1>>>n(t)+1}},{}],33:[function(t,e,r){!function(e,r){\"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 e?e.exports=a:r.BN=a,a.BN=a,a.wordSize=26;try{o=\"undefined\"!=typeof window&&void 0!==window.Buffer?window.Buffer:t(\"buffer\").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<a;o++){var s=t.charCodeAt(o)-48;i*=n,i+=s>=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<t.length&&(16===e?this._parseHex(t,i,r):(this._parseBase(t,e,i),\"le\"===r&&this._initArray(this.toArray(),e,r)))},a.prototype._initNumber=function(t,e,r){t<0&&(this.negative=1,t=-t),t<67108864?(this.words=[67108863&t],this.length=1):t<4503599627370496?(this.words=[67108863&t,t/67108864&67108863],this.length=2):(n(t<9007199254740992),this.words=[67108863&t,t/67108864&67108863,1],this.length=3),\"le\"===r&&this._initArray(this.toArray(),e,r)},a.prototype._initArray=function(t,e,r){if(n(\"number\"==typeof t.length),t.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(t.length/3),this.words=new Array(this.length);for(var i=0;i<this.length;i++)this.words[i]=0;var a,o,s=0;if(\"be\"===r)for(i=t.length-1,a=0;i>=0;i-=3)o=t[i]|t[i-1]<<8|t[i-2]<<16,this.words[a]|=o<<s&67108863,this.words[a+1]=o>>>26-s&67108863,(s+=24)>=26&&(s-=26,a++);else if(\"le\"===r)for(i=0,a=0;i<t.length;i+=3)o=t[i]|t[i+1]<<8|t[i+2]<<16,this.words[a]|=o<<s&67108863,this.words[a+1]=o>>>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<this.length;n++)this.words[n]=0;var i,a=0,o=0;if(\"be\"===r)for(n=t.length-1;n>=e;n-=2)i=l(t,e,n)<<a,this.words[o]|=67108863&i,a>=18?(a-=18,o+=1,this.words[o]|=i>>>26):a+=8;else for(n=(t.length-e)%2==0?e+1:e;n<t.length;n+=2)i=l(t,e,n)<<a,this.words[o]|=67108863&i,a>=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;u<s;u+=n)l=c(t,u,u+n,e),this.imuln(i),this.words[0]+l<67108864?this.words[0]+=l:this._iaddn(l);if(0!==o){var f=1;for(l=c(t,u,t.length,e),u=0;u<o;u++)f*=e;this.imuln(f),this.words[0]+l<67108864?this.words[0]+=l:this._iaddn(l)}this.strip()},a.prototype.copy=function(t){t.words=new Array(this.length);for(var e=0;e<this.length;e++)t.words[e]=this.words[e];t.length=this.length,t.negative=this.negative,t.red=this.red},a.prototype.clone=function(){var t=new a(null);return this.copy(t),t},a.prototype._expand=function(t){for(;this.length<t;)this.words[this.length++]=0;return this},a.prototype.strip=function(){for(;this.length>1&&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?\"<BN-R: \":\"<BN: \")+this.toString(16)+\">\"};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\"],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 c=1;c<n;c++){for(var u=l>>>26,f=67108863&l,h=Math.min(c,e.length-1),p=Math.max(0,c-t.length+1);p<=h;p++){var d=c-p|0;u+=(o=(i=0|t.words[d])*(a=0|e.words[p])+f)/67108864|0,f=67108863&o}r.words[c]=0|f,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<this.length;o++){var s=this.words[o],l=(16777215&(s<<i|a)).toString(16);r=0!==(a=s>>>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=f[t],p=h[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<a;s++)c[s]=0}else{for(s=0;s<a-i;s++)c[s]=0;for(s=0;!u.isZero();s++)o=u.andln(255),u.iushrn(8),c[a-s-1]=o}return c},Math.clz32?a.prototype._countBits=function(t){return 32-Math.clz32(t)}:a.prototype._countBits=function(t){var e=t,r=0;return e>=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;e<this.length;e++){var r=this._zeroBits(this.words[e]);if(t+=r,26!==r)break}return t},a.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},a.prototype.toTwos=function(t){return 0!==this.negative?this.abs().inotn(t).iaddn(1):this.clone()},a.prototype.fromTwos=function(t){return this.testn(t-1)?this.notn(t).iaddn(1).ineg():this.clone()},a.prototype.isNeg=function(){return 0!==this.negative},a.prototype.neg=function(){return this.clone().ineg()},a.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},a.prototype.iuor=function(t){for(;this.length<t.length;)this.words[this.length++]=0;for(var e=0;e<t.length;e++)this.words[e]=this.words[e]|t.words[e];return this.strip()},a.prototype.ior=function(t){return n(0==(this.negative|t.negative)),this.iuor(t)},a.prototype.or=function(t){return this.length>t.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;r<e.length;r++)this.words[r]=this.words[r]&t.words[r];return this.length=e.length,this.strip()},a.prototype.iand=function(t){return n(0==(this.negative|t.negative)),this.iuand(t)},a.prototype.and=function(t){return this.length>t.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;n<r.length;n++)this.words[n]=e.words[n]^r.words[n];if(this!==e)for(;n<e.length;n++)this.words[n]=e.words[n];return this.length=e.length,this.strip()},a.prototype.ixor=function(t){return n(0==(this.negative|t.negative)),this.iuxor(t)},a.prototype.xor=function(t){return this.length>t.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;i<e;i++)this.words[i]=67108863&~this.words[i];return r>0&&(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<<i:this.words[r]&~(1<<i),this.strip()},a.prototype.iadd=function(t){var e,r,n;if(0!==this.negative&&0===t.negative)return this.negative=0,e=this.isub(t),this.negative^=1,this._normSign();if(0===this.negative&&0!==t.negative)return t.negative=0,e=this.isub(t),t.negative=1,e._normSign();this.length>t.length?(r=this,n=t):(r=t,n=this);for(var i=0,a=0;a<n.length;a++)e=(0|r.words[a])+(0|n.words[a])+i,this.words[a]=67108863&e,i=e>>>26;for(;0!==i&&a<r.length;a++)e=(0|r.words[a])+i,this.words[a]=67108863&e,i=e>>>26;if(this.length=r.length,0!==i)this.words[this.length]=i,this.length++;else if(r!==this)for(;a<r.length;a++)this.words[a]=r.words[a];return this},a.prototype.add=function(t){var e;return 0!==t.negative&&0===this.negative?(t.negative=0,e=this.sub(t),t.negative^=1,e):0===t.negative&&0!==this.negative?(this.negative=0,e=t.sub(this),this.negative=1,e):this.length>t.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<n.length;o++)a=(e=(0|r.words[o])-(0|n.words[o])+a)>>26,this.words[o]=67108863&e;for(;0!==a&&o<r.length;o++)a=(e=(0|r.words[o])+a)>>26,this.words[o]=67108863&e;if(0===a&&o<r.length&&r!==this)for(;o<r.length;o++)this.words[o]=r.words[o];return this.length=Math.max(this.length,o),r!==this&&(this.negative=1),this.strip()},a.prototype.sub=function(t){return this.clone().isub(t)};var d=function(t,e,r){var n,i,a,o=t.words,s=e.words,l=r.words,c=0,u=0|o[0],f=8191&u,h=u>>>13,p=0|o[1],d=8191&p,m=p>>>13,g=0|o[2],v=8191&g,y=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],I=8191&P,O=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,H=0|s[1],q=8191&H,G=H>>>13,Y=0|s[2],W=8191&Y,X=Y>>>13,Z=0|s[3],J=8191&Z,K=Z>>>13,Q=0|s[4],$=8191&Q,tt=Q>>>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],ft=8191&ut,ht=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(f,U))|0)+((8191&(i=(i=Math.imul(f,V))+Math.imul(h,U)|0))<<13)|0;c=((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(m,U)|0,a=Math.imul(m,V);var vt=(c+(n=n+Math.imul(f,q)|0)|0)+((8191&(i=(i=i+Math.imul(f,G)|0)+Math.imul(h,q)|0))<<13)|0;c=((a=a+Math.imul(h,G)|0)+(i>>>13)|0)+(vt>>>26)|0,vt&=67108863,n=Math.imul(v,U),i=(i=Math.imul(v,V))+Math.imul(y,U)|0,a=Math.imul(y,V),n=n+Math.imul(d,q)|0,i=(i=i+Math.imul(d,G)|0)+Math.imul(m,q)|0,a=a+Math.imul(m,G)|0;var yt=(c+(n=n+Math.imul(f,W)|0)|0)+((8191&(i=(i=i+Math.imul(f,X)|0)+Math.imul(h,W)|0))<<13)|0;c=((a=a+Math.imul(h,X)|0)+(i>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(b,U),i=(i=Math.imul(b,V))+Math.imul(_,U)|0,a=Math.imul(_,V),n=n+Math.imul(v,q)|0,i=(i=i+Math.imul(v,G)|0)+Math.imul(y,q)|0,a=a+Math.imul(y,G)|0,n=n+Math.imul(d,W)|0,i=(i=i+Math.imul(d,X)|0)+Math.imul(m,W)|0,a=a+Math.imul(m,X)|0;var xt=(c+(n=n+Math.imul(f,J)|0)|0)+((8191&(i=(i=i+Math.imul(f,K)|0)+Math.imul(h,J)|0))<<13)|0;c=((a=a+Math.imul(h,K)|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,q)|0,i=(i=i+Math.imul(b,G)|0)+Math.imul(_,q)|0,a=a+Math.imul(_,G)|0,n=n+Math.imul(v,W)|0,i=(i=i+Math.imul(v,X)|0)+Math.imul(y,W)|0,a=a+Math.imul(y,X)|0,n=n+Math.imul(d,J)|0,i=(i=i+Math.imul(d,K)|0)+Math.imul(m,J)|0,a=a+Math.imul(m,K)|0;var bt=(c+(n=n+Math.imul(f,$)|0)|0)+((8191&(i=(i=i+Math.imul(f,tt)|0)+Math.imul(h,$)|0))<<13)|0;c=((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,q)|0,i=(i=i+Math.imul(T,G)|0)+Math.imul(k,q)|0,a=a+Math.imul(k,G)|0,n=n+Math.imul(b,W)|0,i=(i=i+Math.imul(b,X)|0)+Math.imul(_,W)|0,a=a+Math.imul(_,X)|0,n=n+Math.imul(v,J)|0,i=(i=i+Math.imul(v,K)|0)+Math.imul(y,J)|0,a=a+Math.imul(y,K)|0,n=n+Math.imul(d,$)|0,i=(i=i+Math.imul(d,tt)|0)+Math.imul(m,$)|0,a=a+Math.imul(m,tt)|0;var _t=(c+(n=n+Math.imul(f,rt)|0)|0)+((8191&(i=(i=i+Math.imul(f,nt)|0)+Math.imul(h,rt)|0))<<13)|0;c=((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,q)|0,i=(i=i+Math.imul(M,G)|0)+Math.imul(S,q)|0,a=a+Math.imul(S,G)|0,n=n+Math.imul(T,W)|0,i=(i=i+Math.imul(T,X)|0)+Math.imul(k,W)|0,a=a+Math.imul(k,X)|0,n=n+Math.imul(b,J)|0,i=(i=i+Math.imul(b,K)|0)+Math.imul(_,J)|0,a=a+Math.imul(_,K)|0,n=n+Math.imul(v,$)|0,i=(i=i+Math.imul(v,tt)|0)+Math.imul(y,$)|0,a=a+Math.imul(y,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(f,at)|0)|0)+((8191&(i=(i=i+Math.imul(f,ot)|0)+Math.imul(h,at)|0))<<13)|0;c=((a=a+Math.imul(h,ot)|0)+(i>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(I,U),i=(i=Math.imul(I,V))+Math.imul(O,U)|0,a=Math.imul(O,V),n=n+Math.imul(L,q)|0,i=(i=i+Math.imul(L,G)|0)+Math.imul(C,q)|0,a=a+Math.imul(C,G)|0,n=n+Math.imul(M,W)|0,i=(i=i+Math.imul(M,X)|0)+Math.imul(S,W)|0,a=a+Math.imul(S,X)|0,n=n+Math.imul(T,J)|0,i=(i=i+Math.imul(T,K)|0)+Math.imul(k,J)|0,a=a+Math.imul(k,K)|0,n=n+Math.imul(b,$)|0,i=(i=i+Math.imul(b,tt)|0)+Math.imul(_,$)|0,a=a+Math.imul(_,tt)|0,n=n+Math.imul(v,rt)|0,i=(i=i+Math.imul(v,nt)|0)+Math.imul(y,rt)|0,a=a+Math.imul(y,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(f,lt)|0)|0)+((8191&(i=(i=i+Math.imul(f,ct)|0)+Math.imul(h,lt)|0))<<13)|0;c=((a=a+Math.imul(h,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(I,q)|0,i=(i=i+Math.imul(I,G)|0)+Math.imul(O,q)|0,a=a+Math.imul(O,G)|0,n=n+Math.imul(L,W)|0,i=(i=i+Math.imul(L,X)|0)+Math.imul(C,W)|0,a=a+Math.imul(C,X)|0,n=n+Math.imul(M,J)|0,i=(i=i+Math.imul(M,K)|0)+Math.imul(S,J)|0,a=a+Math.imul(S,K)|0,n=n+Math.imul(T,$)|0,i=(i=i+Math.imul(T,tt)|0)+Math.imul(k,$)|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(v,at)|0,i=(i=i+Math.imul(v,ot)|0)+Math.imul(y,at)|0,a=a+Math.imul(y,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(f,ft)|0)|0)+((8191&(i=(i=i+Math.imul(f,ht)|0)+Math.imul(h,ft)|0))<<13)|0;c=((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,q)|0,i=(i=i+Math.imul(D,G)|0)+Math.imul(R,q)|0,a=a+Math.imul(R,G)|0,n=n+Math.imul(I,W)|0,i=(i=i+Math.imul(I,X)|0)+Math.imul(O,W)|0,a=a+Math.imul(O,X)|0,n=n+Math.imul(L,J)|0,i=(i=i+Math.imul(L,K)|0)+Math.imul(C,J)|0,a=a+Math.imul(C,K)|0,n=n+Math.imul(M,$)|0,i=(i=i+Math.imul(M,tt)|0)+Math.imul(S,$)|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(v,lt)|0,i=(i=i+Math.imul(v,ct)|0)+Math.imul(y,lt)|0,a=a+Math.imul(y,ct)|0,n=n+Math.imul(d,ft)|0,i=(i=i+Math.imul(d,ht)|0)+Math.imul(m,ft)|0,a=a+Math.imul(m,ht)|0;var At=(c+(n=n+Math.imul(f,dt)|0)|0)+((8191&(i=(i=i+Math.imul(f,mt)|0)+Math.imul(h,dt)|0))<<13)|0;c=((a=a+Math.imul(h,mt)|0)+(i>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(B,q),i=(i=Math.imul(B,G))+Math.imul(N,q)|0,a=Math.imul(N,G),n=n+Math.imul(D,W)|0,i=(i=i+Math.imul(D,X)|0)+Math.imul(R,W)|0,a=a+Math.imul(R,X)|0,n=n+Math.imul(I,J)|0,i=(i=i+Math.imul(I,K)|0)+Math.imul(O,J)|0,a=a+Math.imul(O,K)|0,n=n+Math.imul(L,$)|0,i=(i=i+Math.imul(L,tt)|0)+Math.imul(C,$)|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,ct)|0)+Math.imul(_,lt)|0,a=a+Math.imul(_,ct)|0,n=n+Math.imul(v,ft)|0,i=(i=i+Math.imul(v,ht)|0)+Math.imul(y,ft)|0,a=a+Math.imul(y,ht)|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,X))+Math.imul(N,W)|0,a=Math.imul(N,X),n=n+Math.imul(D,J)|0,i=(i=i+Math.imul(D,K)|0)+Math.imul(R,J)|0,a=a+Math.imul(R,K)|0,n=n+Math.imul(I,$)|0,i=(i=i+Math.imul(I,tt)|0)+Math.imul(O,$)|0,a=a+Math.imul(O,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,ct)|0)+Math.imul(k,lt)|0,a=a+Math.imul(k,ct)|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=(c+(n=n+Math.imul(v,dt)|0)|0)+((8191&(i=(i=i+Math.imul(v,mt)|0)+Math.imul(y,dt)|0))<<13)|0;c=((a=a+Math.imul(y,mt)|0)+(i>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(B,J),i=(i=Math.imul(B,K))+Math.imul(N,J)|0,a=Math.imul(N,K),n=n+Math.imul(D,$)|0,i=(i=i+Math.imul(D,tt)|0)+Math.imul(R,$)|0,a=a+Math.imul(R,tt)|0,n=n+Math.imul(I,rt)|0,i=(i=i+Math.imul(I,nt)|0)+Math.imul(O,rt)|0,a=a+Math.imul(O,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,ct)|0)+Math.imul(S,lt)|0,a=a+Math.imul(S,ct)|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=(c+(n=n+Math.imul(b,dt)|0)|0)+((8191&(i=(i=i+Math.imul(b,mt)|0)+Math.imul(_,dt)|0))<<13)|0;c=((a=a+Math.imul(_,mt)|0)+(i>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(B,$),i=(i=Math.imul(B,tt))+Math.imul(N,$)|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(I,at)|0,i=(i=i+Math.imul(I,ot)|0)+Math.imul(O,at)|0,a=a+Math.imul(O,ot)|0,n=n+Math.imul(L,lt)|0,i=(i=i+Math.imul(L,ct)|0)+Math.imul(C,lt)|0,a=a+Math.imul(C,ct)|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=(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)+(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(I,lt)|0,i=(i=i+Math.imul(I,ct)|0)+Math.imul(O,lt)|0,a=a+Math.imul(O,ct)|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=(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)+(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,ct)|0)+Math.imul(R,lt)|0,a=a+Math.imul(R,ct)|0,n=n+Math.imul(I,ft)|0,i=(i=i+Math.imul(I,ht)|0)+Math.imul(O,ft)|0,a=a+Math.imul(O,ht)|0;var Pt=(c+(n=n+Math.imul(L,dt)|0)|0)+((8191&(i=(i=i+Math.imul(L,mt)|0)+Math.imul(C,dt)|0))<<13)|0;c=((a=a+Math.imul(C,mt)|0)+(i>>>13)|0)+(Pt>>>26)|0,Pt&=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,ft)|0,i=(i=i+Math.imul(D,ht)|0)+Math.imul(R,ft)|0,a=a+Math.imul(R,ht)|0;var It=(c+(n=n+Math.imul(I,dt)|0)|0)+((8191&(i=(i=i+Math.imul(I,mt)|0)+Math.imul(O,dt)|0))<<13)|0;c=((a=a+Math.imul(O,mt)|0)+(i>>>13)|0)+(It>>>26)|0,It&=67108863,n=Math.imul(B,ft),i=(i=Math.imul(B,ht))+Math.imul(N,ft)|0,a=Math.imul(N,ht);var Ot=(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)+(Ot>>>26)|0,Ot&=67108863;var zt=(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)+(zt>>>26)|0,zt&=67108863,l[0]=gt,l[1]=vt,l[2]=yt,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]=It,l[17]=Ot,l[18]=zt,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=this.length+t.length;return 10===this.length&&10===t.length?d(this,t,e):r<63?p(this,t,e):r<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<r.length-1;a++){var o=i;i=0;for(var s=67108863&n,l=Math.min(a,e.length-1),c=Math.max(0,a-t.length+1);c<=l;c++){var u=a-c,f=(0|t.words[u])*(0|e.words[c]),h=67108863&f;s=67108863&(h=h+s|0),i+=(o=(o=o+(f/67108864|0)|0)+(h>>>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)},g.prototype.makeRBT=function(t){for(var e=new Array(t),r=a.prototype._countBits(t)-1,n=0;n<t;n++)e[n]=this.revBin(n,r,t);return e},g.prototype.revBin=function(t,e,r){if(0===t||t===r-1)return t;for(var n=0,i=0;i<e;i++)n|=(1&t)<<e-i-1,t>>=1;return n},g.prototype.permute=function(t,e,r,n,i,a){for(var o=0;o<a;o++)n[o]=e[t[o]],i[o]=r[t[o]]},g.prototype.transform=function(t,e,r,n,i,a){this.permute(a,t,e,r,n,i);for(var o=1;o<i;o<<=1)for(var s=o<<1,l=Math.cos(2*Math.PI/s),c=Math.sin(2*Math.PI/s),u=0;u<i;u+=s)for(var f=l,h=c,p=0;p<o;p++){var d=r[u+p],m=n[u+p],g=r[u+p+o],v=n[u+p+o],y=f*g-h*v;v=f*v+h*g,g=y,r[u+p]=d+g,n[u+p]=m+v,r[u+p+o]=d-g,n[u+p+o]=m-v,p!==s&&(y=l*f-c*h,h=l*h+c*f,f=y)}},g.prototype.guessLen13b=function(t,e){var r=1|Math.max(e,t),n=1&r,i=0;for(r=r/2|0;r;r>>>=1)i++;return 1<<i+1+n},g.prototype.conjugate=function(t,e,r){if(!(r<=1))for(var n=0;n<r/2;n++){var i=t[n];t[n]=t[r-n-1],t[r-n-1]=i,i=e[n],e[n]=-e[r-n-1],e[r-n-1]=-i}},g.prototype.normalize13b=function(t,e){for(var r=0,n=0;n<e/2;n++){var i=8192*Math.round(t[2*n+1]/e)+Math.round(t[2*n]/e)+r;t[n]=67108863&i,r=i<67108864?0:i/67108864|0}return t},g.prototype.convert13b=function(t,e,r,i){for(var a=0,o=0;o<e;o++)a+=0|t[o],r[2*o]=8191&a,a>>>=13,r[2*o+1]=8191&a,a>>>=13;for(o=2*e;o<i;++o)r[o]=0;n(0===a),n(0==(-8192&a))},g.prototype.stub=function(t){for(var e=new Array(t),r=0;r<t;r++)e[r]=0;return e},g.prototype.mulp=function(t,e,r){var n=2*this.guessLen13b(t.length,e.length),i=this.makeRBT(n),a=this.stub(n),o=new Array(n),s=new Array(n),l=new Array(n),c=new Array(n),u=new Array(n),f=new Array(n),h=r.words;h.length=n,this.convert13b(t.words,t.length,o,n),this.convert13b(e.words,e.length,c,n),this.transform(o,a,s,l,n,i),this.transform(c,a,u,f,n,i);for(var p=0;p<n;p++){var d=s[p]*u[p]-l[p]*f[p];l[p]=s[p]*f[p]+l[p]*u[p],s[p]=d}return this.conjugate(s,l,n),this.transform(s,l,h,a,n,i),this.conjugate(h,a,n),this.normalize13b(h,n),r.negative=t.negative^e.negative,r.length=t.length+e.length,r.strip()},a.prototype.mul=function(t){var e=new a(null);return e.words=new Array(this.length+t.length),this.mulTo(t,e)},a.prototype.mulf=function(t){var e=new a(null);return e.words=new Array(this.length+t.length),m(this,t,e)},a.prototype.imul=function(t){return this.clone().mulTo(t,this)},a.prototype.imuln=function(t){n(\"number\"==typeof t),n(t<67108864);for(var e=0,r=0;r<this.length;r++){var i=(0|this.words[r])*t,a=(67108863&i)+(67108863&e);e>>=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<e.length;r++){var n=r/26|0,i=r%26;e[r]=(t.words[n]&1<<i)>>>i}return e}(t);if(0===e.length)return new a(1);for(var r=this,n=0;n<e.length&&0===e[n];n++,r=r.sqr());if(++n<e.length)for(var i=r.sqr();n<e.length;n++,i=i.sqr())0!==e[n]&&(r=r.mul(i));return r},a.prototype.iushln=function(t){n(\"number\"==typeof t&&t>=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<this.length;e++){var s=this.words[e]&a,l=(0|this.words[e])-s<<r;this.words[e]=l|o,o=s>>>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<i;e++)this.words[e]=0;this.length+=i}return this.strip()},a.prototype.ishln=function(t){return n(0===this.negative),this.iushln(t)},a.prototype.iushrn=function(t,e,r){var i;n(\"number\"==typeof t&&t>=0),i=e?(e-e%26)/26:0;var a=t%26,o=Math.min((t-a)/26,this.length),s=67108863^67108863>>>a<<a,l=r;if(i-=o,i=Math.max(0,i),l){for(var c=0;c<o;c++)l.words[c]=this.words[c];l.length=o}if(0===o);else if(this.length>o)for(this.length-=o,c=0;c<this.length;c++)this.words[c]=this.words[c+o];else this.words[0]=0,this.length=1;var u=0;for(c=this.length-1;c>=0&&(0!==u||c>=i);c--){var f=0|this.words[c];this.words[c]=u<<26-a|f>>>a,u=f&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<<e;return!(this.length<=r)&&!!(this.words[r]&i)},a.prototype.imaskn=function(t){n(\"number\"==typeof t&&t>=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<<e;this.words[this.length-1]&=i}return this.strip()},a.prototype.maskn=function(t){return this.clone().imaskn(t)},a.prototype.iaddn=function(t){return n(\"number\"==typeof t),n(t<67108864),t<0?this.isubn(-t):0!==this.negative?1===this.length&&(0|this.words[0])<t?(this.words[0]=t-(0|this.words[0]),this.negative=0,this):(this.negative=0,this.isubn(t),this.negative=1,this):this._iaddn(t)},a.prototype._iaddn=function(t){this.words[0]+=t;for(var e=0;e<this.length&&this.words[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<this.length&&this.words[e]<0;e++)this.words[e]+=67108864,this.words[e+1]-=1;return this.strip()},a.prototype.addn=function(t){return this.clone().iaddn(t)},a.prototype.subn=function(t){return this.clone().isubn(t)},a.prototype.iabs=function(){return this.negative=0,this},a.prototype.abs=function(){return this.clone().iabs()},a.prototype._ishlnsubmul=function(t,e,r){var i,a,o=t.length+r;this._expand(o);var s=0;for(i=0;i<t.length;i++){a=(0|this.words[i+r])+s;var l=(0|t.words[i])*e;s=((a-=67108863&l)>>26)-(l/67108864|0),this.words[i+r]=67108863&a}for(;i<this.length-r;i++)s=(a=(0|this.words[i+r])+s)>>26,this.words[i+r]=67108863&a;if(0===s)return this.strip();for(n(-1===s),s=0,i=0;i<this.length;i++)s=(a=-(0|this.words[i])+s)>>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<s.length;c++)s.words[c]=0}var u=n.clone()._ishlnsubmul(i,1,l);0===u.negative&&(n=u,s&&(s.words[l]=1));for(var f=l-1;f>=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),c=0;e.isEven()&&r.isEven();)e.iushrn(1),r.iushrn(1),++c;for(var u=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(u),o.isub(f)),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(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(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 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<<e;if(this.length<=r)return this._expand(r+1),this.words[r]|=i,this;for(var a=i,o=r;0!==a&&o<this.length;o++){var s=0|this.words[o];a=(s+=a)>>>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:i<t?-1:1}return 0!==this.negative?0|-e:e},a.prototype.cmp=function(t){if(0!==this.negative&&0===t.negative)return-1;if(0===this.negative&&0!==t.negative)return 1;var e=this.ucmp(t);return 0!==this.negative?0|-e:e},a.prototype.ucmp=function(t){if(this.length>t.length)return 1;if(this.length<t.length)return-1;for(var e=0,r=this.length-1;r>=0;r--){var n=0|this.words[r],i=0|t.words[r];if(n!==i){n<i?e=-1:n>i&&(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 v={k256:null,p224:null,p192:null,p25519:null};function y(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(){y.call(this,\"k256\",\"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f\")}function b(){y.call(this,\"p224\",\"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001\")}function _(){y.call(this,\"p192\",\"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff\")}function w(){y.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)}y.prototype._tmp=function(){var t=new a(null);return t.words=new Array(Math.ceil(this.n/13)),t},y.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=e<this.n?-1:r.ucmp(this.p);return 0===n?(r.words[0]=0,r.length=1):n>0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},y.prototype.split=function(t,e){t.iushrn(this.n,0,e)},y.prototype.imulK=function(t){return t.imul(this.k)},i(x,y),x.prototype.split=function(t,e){for(var r=Math.min(t.length,9),n=0;n<r;n++)e.words[n]=t.words[n];if(e.length=r,t.length<=9)return t.words[0]=0,void(t.length=1);var i=t.words[9];for(e.words[e.length++]=4194303&i,n=10;n<t.length;n++){var a=0|t.words[n];t.words[n-10]=(4194303&a)<<4|i>>>22,i=a}i>>>=22,t.words[n-10]=i,0===i&&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<t.length;r++){var n=0|t.words[r];e+=977*n,t.words[r]=67108863&e,e=64*n+(e/67108864|0)}return 0===t.words[t.length-1]&&(t.length--,0===t.words[t.length-1]&&t.length--),t},i(b,y),i(_,y),i(w,y),w.prototype.imulK=function(t){for(var e=0,r=0;r<t.length;r++){var n=19*(0|t.words[r])+e,i=67108863&n;n>>>=26,t.words[r]=i,e=n}return 0!==e&&(t.words[t.length++]=e),t},a._prime=function(t){if(v[t])return v[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 v[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 f=this.pow(u,i),h=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<d);var v=this.pow(f,new a(1).iushln(d-g-1));h=h.redMul(v),f=v.redSqr(),p=p.redMul(f),d=g}return h},T.prototype.invm=function(t){var e=t._invmp(this.m);return 0!==e.negative?(e.negative=0,this.imod(e).redNeg()):this.imod(e)},T.prototype.pow=function(t,e){if(e.isZero())return new a(1).toRed(this);if(0===e.cmpn(1))return t.clone();var r=new Array(16);r[0]=new a(1).toRed(this),r[1]=t;for(var n=2;n<r.length;n++)r[n]=this.mul(r[n-1],t);var i=r[0],o=0,s=0,l=e.bitLength()%26;for(0===l&&(l=26),n=e.length-1;n>=0;n--){for(var c=e.words[n],u=l-1;u>=0;u--){var f=c>>u&1;i!==r[0]&&(i=this.sqr(i)),0!==f||0!==o?(o<<=1,o|=f,(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)}}(void 0===e||e,this)},{buffer:2}],34:[function(t,e,r){\"use strict\";e.exports=function(t){var e,r,n,i=t.length,a=0;for(e=0;e<i;++e)a+=t[e].length;var o=new Array(a),s=0;for(e=0;e<i;++e){var l=t[e],c=l.length;for(r=0;r<c;++r){var u=o[s++]=new Array(c-1),f=0;for(n=0;n<c;++n)n!==r&&(u[f++]=l[n]);if(1&r){var h=u[1];u[1]=u[0],u[0]=h}}}return o}},{}],35:[function(t,e,r){\"use strict\";e.exports=function(t,e,r){switch(arguments.length){case 1:return f(t);case 2:return\"function\"==typeof e?c(t,t,e,!0):h(t,e);case 3:return c(t,e,r,!1);default:throw new Error(\"box-intersect: Invalid arguments\")}};var n,i=t(\"typedarray-pool\"),a=t(\"./lib/sweep\"),o=t(\"./lib/intersect\");function s(t,e){for(var r=0;r<t;++r)if(!(e[r]<=e[r+t]))return!0;return!1}function l(t,e,r,n){for(var i=0,a=0,o=0,l=t.length;o<l;++o){var c=t[o];if(!s(e,c)){for(var u=0;u<2*e;++u)r[i++]=c[u];n[a++]=o}}return a}function c(t,e,r,n){var s=t.length,c=e.length;if(!(s<=0||c<=0)){var u=t[0].length>>>1;if(!(u<=0)){var f,h=i.mallocDouble(2*u*s),p=i.mallocInt32(s);if((s=l(t,u,h,p))>0){if(1===u&&n)a.init(s),f=a.sweepComplete(u,r,0,s,h,p,0,s,h,p);else{var d=i.mallocDouble(2*u*c),m=i.mallocInt32(c);(c=l(e,u,d,m))>0&&(a.init(s+c),f=1===u?a.sweepBipartite(u,r,0,s,h,p,0,c,d,m):o(u,r,n,s,h,p,c,d,m),i.free(d),i.free(m))}i.free(h),i.free(p)}return f}}}function u(t,e){n.push([t,e])}function f(t){return n=[],c(t,t,u,!0),n}function h(t,e){return n=[],c(t,e,u,!1),n}},{\"./lib/intersect\":37,\"./lib/sweep\":41,\"typedarray-pool\":308}],36:[function(t,e,r){\"use strict\";function n(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 f=2*t,h=n,p=f*n;h<i;++h,p+=f){var d=a[e+p],m=a[e+p+t],g=o[h];t:for(var v=s,y=f*s;v<l;++v,y+=f){var x=c[e+y],b=c[e+y+t],_=u[v];if(!(b<d||m<x)){for(var w=e+1;w<t;++w){var T=a[w+p],k=a[w+t+p],A=c[w+y],M=c[w+t+y];if(k<A||M<T)continue t}var S=r(g,_);if(void 0!==S)return S}}}}(t,e,r,n,i,a,o,s,l,c,u):function(t,e,r,n,i,a,o,s,l,c,u){for(var f=2*t,h=s,p=f*s;h<l;++h,p+=f){var d=c[e+p],m=c[e+p+t],g=u[h];t:for(var v=n,y=f*n;v<i;++v,y+=f){var x=a[e+y],b=a[e+y+t],_=o[v];if(!(m<x||b<d)){for(var w=e+1;w<t;++w){var T=a[w+y],k=a[w+t+y],A=c[w+p],M=c[w+t+p];if(k<A||M<T)continue t}var S=r(_,g);if(void 0!==S)return S}}}}(t,e,r,n,i,a,o,s,l,c,u)}:function(t,e,r,n,i,a,o,s,l,c,u,f){return a-i>c-l?n?function(t,e,r,n,i,a,o,s,l,c,u){for(var f=2*t,h=n,p=f*n;h<i;++h,p+=f){var d=a[e+p],m=a[e+p+t],g=o[h];t:for(var v=s,y=f*s;v<l;++v,y+=f){var x=c[e+y],b=u[v];if(!(x<=d||m<x)){for(var _=e+1;_<t;++_){var w=a[_+p],T=a[_+t+p],k=c[_+y],A=c[_+t+y];if(T<k||A<w)continue t}var M=r(b,g);if(void 0!==M)return M}}}}(t,e,r,i,a,o,s,l,c,u,f):function(t,e,r,n,i,a,o,s,l,c,u){for(var f=2*t,h=n,p=f*n;h<i;++h,p+=f){var d=a[e+p],m=a[e+p+t],g=o[h];t:for(var v=s,y=f*s;v<l;++v,y+=f){var x=c[e+y],b=u[v];if(!(x<d||m<x)){for(var _=e+1;_<t;++_){var w=a[_+p],T=a[_+t+p],k=c[_+y],A=c[_+t+y];if(T<k||A<w)continue t}var M=r(g,b);if(void 0!==M)return M}}}}(t,e,r,i,a,o,s,l,c,u,f):n?function(t,e,r,n,i,a,o,s,l,c,u){for(var f=2*t,h=s,p=f*s;h<l;++h,p+=f){var d=c[e+p],m=u[h];t:for(var g=n,v=f*n;g<i;++g,v+=f){var y=a[e+v],x=a[e+v+t],b=o[g];if(!(d<=y||x<d)){for(var _=e+1;_<t;++_){var w=a[_+v],T=a[_+t+v],k=c[_+p],A=c[_+t+p];if(T<k||A<w)continue t}var M=r(m,b);if(void 0!==M)return M}}}}(t,e,r,i,a,o,s,l,c,u,f):function(t,e,r,n,i,a,o,s,l,c,u){for(var f=2*t,h=s,p=f*s;h<l;++h,p+=f){var d=c[e+p],m=u[h];t:for(var g=n,v=f*n;g<i;++g,v+=f){var y=a[e+v],x=a[e+v+t],b=o[g];if(!(d<y||x<d)){for(var _=e+1;_<t;++_){var w=a[_+v],T=a[_+t+v],k=c[_+p],A=c[_+t+p];if(T<k||A<w)continue t}var M=r(b,m);if(void 0!==M)return M}}}}(t,e,r,i,a,o,s,l,c,u,f)}}r.partial=n(!1),r.full=n(!0)},{}],37:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,a,u,w,T,k,A){!function(t,e){var r=8*i.log2(e+1)*(t+1)|0,a=i.nextPow2(6*r);v.length<a&&(n.free(v),v=n.mallocInt32(a));var o=i.nextPow2(2*r);y.length<o&&(n.free(y),y=n.mallocDouble(o))}(t,a+T);var M,S=0,E=2*t;x(S++,0,0,a,0,T,r?16:0,-1/0,1/0),r||x(S++,0,0,T,0,a,1,-1/0,1/0);for(;S>0;){var L=6*(S-=1),C=v[L],P=v[L+1],I=v[L+2],O=v[L+3],z=v[L+4],D=v[L+5],R=2*S,F=y[R],B=y[R+1],N=1&D,j=!!(16&D),U=u,V=w,H=k,q=A;if(N&&(U=k,V=A,H=u,q=w),!(2&D&&(I=p(t,C,P,I,U,V,B),P>=I)||4&D&&(P=d(t,C,P,I,U,V,F))>=I)){var G=I-P,Y=z-O;if(j){if(t*G*(G+Y)<1<<22){if(void 0!==(M=l.scanComplete(t,C,e,P,I,U,V,O,z,H,q)))return M;continue}}else{if(t*Math.min(G,Y)<128){if(void 0!==(M=o(t,C,e,N,P,I,U,V,O,z,H,q)))return M;continue}if(t*G*Y<1<<22){if(void 0!==(M=l.scanBipartite(t,C,e,N,P,I,U,V,O,z,H,q)))return M;continue}}var W=f(t,C,P,I,U,V,F,B);if(P<W)if(t*(W-P)<128){if(void 0!==(M=s(t,C+1,e,P,W,U,V,O,z,H,q)))return M}else if(C===t-2){if(void 0!==(M=N?l.sweepBipartite(t,e,O,z,H,q,P,W,U,V):l.sweepBipartite(t,e,P,W,U,V,O,z,H,q)))return M}else x(S++,C+1,P,W,O,z,N,-1/0,1/0),x(S++,C+1,O,z,P,W,1^N,-1/0,1/0);if(W<I){var X=c(t,C,O,z,H,q),Z=H[E*X+C],J=h(t,C,X,z,H,q,Z);if(J<z&&x(S++,C,W,I,J,z,(4|N)+(j?16:0),Z,B),O<X&&x(S++,C,W,I,O,X,(2|N)+(j?16:0),F,Z),X+1===J){if(void 0!==(M=j?_(t,C,e,W,I,U,V,X,H,q[X]):b(t,C,e,N,W,I,U,V,X,H,q[X])))return M}else if(X<J){var K;if(j){if(K=m(t,C,W,I,U,V,Z),W<K){var Q=h(t,C,W,K,U,V,Z);if(C===t-2){if(W<Q&&void 0!==(M=l.sweepComplete(t,e,W,Q,U,V,X,J,H,q)))return M;if(Q<K&&void 0!==(M=l.sweepBipartite(t,e,Q,K,U,V,X,J,H,q)))return M}else W<Q&&x(S++,C+1,W,Q,X,J,16,-1/0,1/0),Q<K&&(x(S++,C+1,Q,K,X,J,0,-1/0,1/0),x(S++,C+1,X,J,Q,K,1,-1/0,1/0))}}else K=N?g(t,C,W,I,U,V,Z):m(t,C,W,I,U,V,Z),W<K&&(C===t-2?M=N?l.sweepBipartite(t,e,X,J,H,q,W,K,U,V):l.sweepBipartite(t,e,W,K,U,V,X,J,H,q):(x(S++,C+1,W,K,X,J,N,-1/0,1/0),x(S++,C+1,X,J,W,K,1^N,-1/0,1/0)))}}}}};var n=t(\"typedarray-pool\"),i=t(\"bit-twiddle\"),a=t(\"./brute\"),o=a.partial,s=a.full,l=t(\"./sweep\"),c=t(\"./median\"),u=t(\"./partition\"),f=u(\"!(lo>=p0)&&!(p1>=hi)\"),h=u(\"lo===p0\"),p=u(\"lo<p0\"),d=u(\"hi<=p0\"),m=u(\"lo<=p0&&p0<=hi\"),g=u(\"lo<p0&&p0<=hi\"),v=n.mallocInt32(1024),y=n.mallocDouble(1024);function x(t,e,r,n,i,a,o,s,l){var c=6*t;v[c]=e,v[c+1]=r,v[c+2]=n,v[c+3]=i,v[c+4]=a,v[c+5]=o;var u=2*t;y[u]=s,y[u+1]=l}function b(t,e,r,n,i,a,o,s,l,c,u){var f=2*t,h=l*f,p=c[h+e];t:for(var d=i,m=i*f;d<a;++d,m+=f){var g=o[m+e],v=o[m+e+t];if(!(p<g||v<p)&&(!n||p!==g)){for(var y,x=s[d],b=e+1;b<t;++b){g=o[m+b],v=o[m+b+t];var _=c[h+b],w=c[h+b+t];if(v<_||w<g)continue t}if(void 0!==(y=n?r(u,x):r(x,u)))return y}}}function _(t,e,r,n,i,a,o,s,l,c){var u=2*t,f=s*u,h=l[f+e];t:for(var p=n,d=n*u;p<i;++p,d+=u){var m=o[p];if(m!==c){var g=a[d+e],v=a[d+e+t];if(!(h<g||v<h)){for(var y=e+1;y<t;++y){g=a[d+y],v=a[d+y+t];var x=l[f+y],b=l[f+y+t];if(v<x||b<g)continue t}var _=r(m,c);if(void 0!==_)return _}}}}},{\"./brute\":36,\"./median\":38,\"./partition\":39,\"./sweep\":41,\"bit-twiddle\":32,\"typedarray-pool\":308}],38:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,a,o,s){if(a<=r+1)return r;var l=r,c=a,u=a+r>>>1,f=2*t,h=u,p=o[f*u+e];for(;l<c;){if(c-l<8){i(t,e,l,c,o,s),p=o[f*u+e];break}var d=c-l,m=Math.random()*d+l|0,g=o[f*m+e],v=Math.random()*d+l|0,y=o[f*v+e],x=Math.random()*d+l|0,b=o[f*x+e];g<=y?b>=y?(h=v,p=y):g>=b?(h=m,p=g):(h=x,p=b):y>=b?(h=v,p=y):b>=g?(h=m,p=g):(h=x,p=b);for(var _=f*(c-1),w=f*h,T=0;T<f;++T,++_,++w){var k=o[_];o[_]=o[w],o[w]=k}var A=s[c-1];s[c-1]=s[h],s[h]=A,h=n(t,e,l,c-1,o,s,p);for(_=f*(c-1),w=f*h,T=0;T<f;++T,++_,++w){k=o[_];o[_]=o[w],o[w]=k}A=s[c-1];if(s[c-1]=s[h],s[h]=A,u<h){for(c=h-1;l<c&&o[f*(c-1)+e]===p;)c-=1;c+=1}else{if(!(h<u))break;for(l=h+1;l<c&&o[f*l+e]===p;)l+=1}}return n(t,e,r,u,o,s,o[f*u+e])};var n=t(\"./partition\")(\"lo<p0\");function i(t,e,r,n,i,a){for(var o=2*t,s=o*(r+1)+e,l=r+1;l<n;++l,s+=o)for(var c=i[s],u=l,f=o*(l-1);u>r&&i[f+e]>c;--u,f-=o){for(var h=f,p=f+o,d=0;d<o;++d,++h,++p){var m=i[h];i[h]=i[p],i[p]=m}var g=a[u];a[u]=a[u-1],a[u-1]=g}}},{\"./partition\":39}],39:[function(t,e,r){\"use strict\";e.exports=function(t){return n[t]};var n={\"lo===p0\":function(t,e,r,n,i,a,o){for(var s=2*t,l=s*r,c=l,u=r,f=e,h=r;n>h;++h,l+=s){if(i[l+f]===o)if(u===h)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[h];a[h]=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,f=e,h=r;n>h;++h,l+=s){if(i[l+f]<o)if(u===h)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[h];a[h]=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,f=t+e,h=r;n>h;++h,l+=s){if(i[l+f]<=o)if(u===h)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[h];a[h]=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,f=t+e,h=r;n>h;++h,l+=s){if(i[l+f]<=o)if(u===h)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[h];a[h]=a[u],a[u++]=m}}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,f=e,h=t+e,p=r;n>p;++p,l+=s){var d=i[l+f],m=i[l+h];if(d<o&&o<=m)if(u===p)u+=1,c+=s;else{for(var g=0;s>g;++g){var v=i[l+g];i[l+g]=i[c],i[c++]=v}var y=a[p];a[p]=a[u],a[u++]=y}}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,f=e,h=t+e,p=r;n>p;++p,l+=s){var d=i[l+f],m=i[l+h];if(d<=o&&o<=m)if(u===p)u+=1,c+=s;else{for(var g=0;s>g;++g){var v=i[l+g];i[l+g]=i[c],i[c++]=v}var y=a[p];a[p]=a[u],a[u++]=y}}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,f=r,h=e,p=t+e,d=r;n>d;++d,c+=l){var m=i[c+h],g=i[c+p];if(!(m>=o||s>=g))if(f===d)f+=1,u+=l;else{for(var v=0;l>v;++v){var y=i[c+v];i[c+v]=i[u],i[u++]=y}var x=a[d];a[d]=a[f],a[f++]=x}}return f}}},{}],40:[function(t,e,r){\"use strict\";e.exports=function(t,e){e<=128?n(0,e-1,t):function t(e,r,u){var f=(r-e+1)/6|0,h=e+f,p=r-f,d=e+r>>1,m=d-f,g=d+f,v=h,y=m,x=d,b=g,_=p,w=e+1,T=r-1,k=0;l(v,y,u)&&(k=v,v=y,y=k);l(b,_,u)&&(k=b,b=_,_=k);l(v,x,u)&&(k=v,v=x,x=k);l(y,x,u)&&(k=y,y=x,x=k);l(v,b,u)&&(k=v,v=b,b=k);l(x,b,u)&&(k=x,x=b,b=k);l(y,_,u)&&(k=y,y=_,_=k);l(y,x,u)&&(k=y,y=x,x=k);l(b,_,u)&&(k=b,b=_,_=k);for(var A=u[2*y],M=u[2*y+1],S=u[2*b],E=u[2*b+1],L=2*v,C=2*x,P=2*_,I=2*h,O=2*d,z=2*p,D=0;D<2;++D){var R=u[L+D],F=u[C+D],B=u[P+D];u[I+D]=R,u[O+D]=F,u[z+D]=B}a(m,e,u),a(g,r,u);for(var N=w;N<=T;++N)if(c(N,A,M,u))N!==w&&i(N,w,u),++w;else if(!c(N,S,E,u))for(;;){if(c(T,S,E,u)){c(T,A,M,u)?(o(N,w,T,u),++w,--T):(i(N,T,u),--T);break}if(--T<N)break}s(e,w-1,A,M,u),s(r,T+1,S,E,u),w-2-e<=32?n(e,w-2,u):t(e,w-2,u);r-(T+2)<=32?n(T+2,r,u):t(T+2,r,u);T-w<=32?n(w,T,u):t(w,T,u)}(0,e-1,t)};function n(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(c<a)break;if(c===a&&u<o)break;r[l]=c,r[l+1]=u,l-=2}r[l]=a,r[l+1]=o}}function i(t,e,r){e*=2;var n=r[t*=2],i=r[t+1];r[t]=r[e],r[t+1]=r[e+1],r[e]=n,r[e+1]=i}function a(t,e,r){e*=2,r[t*=2]=r[e],r[t+1]=r[e+1]}function o(t,e,r,n){e*=2,r*=2;var i=n[t*=2],a=n[t+1];n[t]=n[e],n[t+1]=n[e+1],n[e]=n[r],n[e+1]=n[r+1],n[r]=i,n[r+1]=a}function s(t,e,r,n,i){e*=2,i[t*=2]=i[e],i[e]=r,i[t+1]=i[e+1],i[e+1]=n}function l(t,e,r){e*=2;var n=r[t*=2],i=r[e];return!(n<i)&&(n!==i||r[t+1]>r[e+1])}function c(t,e,r,n){var i=n[t*=2];return i<e||i===e&&n[t+1]<r}},{}],41:[function(t,e,r){\"use strict\";e.exports={init:function(t){var e=i.nextPow2(t);o.length<e&&(n.free(o),o=n.mallocInt32(e));s.length<e&&(n.free(s),s=n.mallocInt32(e));l.length<e&&(n.free(l),l=n.mallocInt32(e));c.length<e&&(n.free(c),c=n.mallocInt32(e));u.length<e&&(n.free(u),u=n.mallocInt32(e));f.length<e&&(n.free(f),f=n.mallocInt32(e));var r=8*e;h.length<r&&(n.free(h),h=n.mallocDouble(r))},sweepBipartite:function(t,e,r,n,i,u,f,m,g,v){for(var y=0,x=2*t,b=t-1,_=x-1,w=r;w<n;++w){var T=u[w],k=x*w;h[y++]=i[k+b],h[y++]=-(T+1),h[y++]=i[k+_],h[y++]=T}for(w=f;w<m;++w){T=v[w]+(1<<28);var A=x*w;h[y++]=g[A+b],h[y++]=-T,h[y++]=g[A+_],h[y++]=T}var M=y>>>1;a(h,M);var S=0,E=0;for(w=0;w<M;++w){var L=0|h[2*w+1];if(L>=1<<28)p(l,c,E--,L=L-(1<<28)|0);else if(L>=0)p(o,s,S--,L);else if(L<=-(1<<28)){L=-L-(1<<28)|0;for(var C=0;C<S;++C){if(void 0!==(P=e(o[C],L)))return P}d(l,c,E++,L)}else{L=-L-1|0;for(C=0;C<E;++C){var P;if(void 0!==(P=e(L,l[C])))return P}d(o,s,S++,L)}}},sweepComplete:function(t,e,r,n,i,m,g,v,y,x){for(var b=0,_=2*t,w=t-1,T=_-1,k=r;k<n;++k){var A=m[k]+1<<1,M=_*k;h[b++]=i[M+w],h[b++]=-A,h[b++]=i[M+T],h[b++]=A}for(k=g;k<v;++k){A=x[k]+1<<1;var S=_*k;h[b++]=y[S+w],h[b++]=1|-A,h[b++]=y[S+T],h[b++]=1|A}var E=b>>>1;a(h,E);var L=0,C=0,P=0;for(k=0;k<E;++k){var I=0|h[2*k+1],O=1&I;if(k<E-1&&I>>1==h[2*k+3]>>1&&(O=2,k+=1),I<0){for(var z=-(I>>1)-1,D=0;D<P;++D){if(void 0!==(R=e(u[D],z)))return R}if(0!==O)for(D=0;D<L;++D){if(void 0!==(R=e(o[D],z)))return R}if(1!==O)for(D=0;D<C;++D){var R;if(void 0!==(R=e(l[D],z)))return R}0===O?d(o,s,L++,z):1===O?d(l,c,C++,z):2===O&&d(u,f,P++,z)}else{z=(I>>1)-1;0===O?p(o,s,L--,z):1===O?p(l,c,C--,z):2===O&&p(u,f,P--,z)}}},scanBipartite:function(t,e,r,n,i,l,c,u,f,m,g,v){var y=0,x=2*t,b=e,_=e+t,w=1,T=1;n?T=1<<28:w=1<<28;for(var k=i;k<l;++k){var A=k+w,M=x*k;h[y++]=c[M+b],h[y++]=-A,h[y++]=c[M+_],h[y++]=A}for(k=f;k<m;++k){A=k+T;var S=x*k;h[y++]=g[S+b],h[y++]=-A}var E=y>>>1;a(h,E);var L=0;for(k=0;k<E;++k){var C=0|h[2*k+1];if(C<0){var P=!1;if((A=-C)>=1<<28?(P=!n,A-=1<<28):(P=!!n,A-=1),P)d(o,s,L++,A);else{var I=v[A],O=x*A,z=g[O+e+1],D=g[O+e+1+t];t:for(var R=0;R<L;++R){var F=o[R],B=x*F;if(!(D<c[B+e+1]||c[B+e+1+t]<z)){for(var N=e+2;N<t;++N)if(g[O+N+t]<c[B+N]||c[B+N+t]<g[O+N])continue t;var j,U=u[F];if(void 0!==(j=n?r(I,U):r(U,I)))return j}}}}else p(o,s,L--,C-w)}},scanComplete:function(t,e,r,n,i,s,l,c,u,f,p){for(var d=0,m=2*t,g=e,v=e+t,y=n;y<i;++y){var x=y+(1<<28),b=m*y;h[d++]=s[b+g],h[d++]=-x,h[d++]=s[b+v],h[d++]=x}for(y=c;y<u;++y){x=y+1;var _=m*y;h[d++]=f[_+g],h[d++]=-x}var w=d>>>1;a(h,w);var T=0;for(y=0;y<w;++y){var k=0|h[2*y+1];if(k<0){if((x=-k)>=1<<28)o[T++]=x-(1<<28);else{var A=p[x-=1],M=m*x,S=f[M+e+1],E=f[M+e+1+t];t:for(var L=0;L<T;++L){var C=o[L],P=l[C];if(P===A)break;var I=m*C;if(!(E<s[I+e+1]||s[I+e+1+t]<S)){for(var O=e+2;O<t;++O)if(f[M+O+t]<s[I+O]||s[I+O+t]<f[M+O])continue t;var z=r(P,A);if(void 0!==z)return z}}}}else{for(x=k-(1<<28),L=T-1;L>=0;--L)if(o[L]===x){for(O=L+1;O<T;++O)o[O-1]=o[O];break}--T}}}};var n=t(\"typedarray-pool\"),i=t(\"bit-twiddle\"),a=t(\"./sort\"),o=n.mallocInt32(1024),s=n.mallocInt32(1024),l=n.mallocInt32(1024),c=n.mallocInt32(1024),u=n.mallocInt32(1024),f=n.mallocInt32(1024),h=n.mallocDouble(8192);function p(t,e,r,n){var i=e[n],a=t[r-1];t[i]=a,e[a]=i}function d(t,e,r,n){t[r]=n,e[n]=r}},{\"./sort\":40,\"bit-twiddle\":32,\"typedarray-pool\":308}],42:[function(t,e,r){\"use strict\";var n=t(\"./lib/monotone\"),i=t(\"./lib/triangulation\"),a=t(\"./lib/delaunay\"),o=t(\"./lib/filter\");function s(t){return[Math.min(t[0],t[1]),Math.max(t[0],t[1])]}function l(t,e){return t[0]-e[0]||t[1]-e[1]}function c(t,e,r){return e in t?t[e]:r}e.exports=function(t,e,r){Array.isArray(e)?(r=r||{},e=e||[]):(r=e||{},e=[]);var u=!!c(r,\"delaunay\",!0),f=!!c(r,\"interior\",!0),h=!!c(r,\"exterior\",!0),p=!!c(r,\"infinity\",!1);if(!f&&!h||0===t.length)return[];var d=n(t,e);if(u||f!==h||p){for(var m=i(t.length,function(t){return t.map(s).sort(l)}(e)),g=0;g<d.length;++g){var v=d[g];m.addTriangle(v[0],v[1],v[2])}return u&&a(t,m),h?f?p?o(m,0,p):m.cells():o(m,1,p):o(m,-1)}return d}},{\"./lib/delaunay\":43,\"./lib/filter\":44,\"./lib/monotone\":45,\"./lib/triangulation\":46}],43:[function(t,e,r){\"use strict\";var n=t(\"robust-in-sphere\")[4];t(\"binary-search-bounds\");function i(t,e,r,i,a,o){var s=e.opposite(i,a);if(!(s<0)){if(a<i){var l=i;i=a,a=l,l=o,o=s,s=l}e.isConstraint(i,a)||n(t[i],t[a],t[o],t[s])<0&&r.push(i,a)}}e.exports=function(t,e){for(var r=[],a=t.length,o=e.stars,s=0;s<a;++s)for(var l=o[s],c=1;c<l.length;c+=2){if(!((p=l[c])<s)&&!e.isConstraint(s,p)){for(var u=l[c-1],f=-1,h=1;h<l.length;h+=2)if(l[h-1]===p){f=l[h];break}f<0||n(t[s],t[p],t[u],t[f])<0&&r.push(s,p)}}for(;r.length>0;){for(var p=r.pop(),d=(s=r.pop(),u=-1,f=-1,l=o[s],1);d<l.length;d+=2){var m=l[d-1],g=l[d];m===p?f=g:g===p&&(u=m)}u<0||f<0||(n(t[s],t[p],t[u],t[f])>=0||(e.flip(s,p),i(t,e,r,u,s,f),i(t,e,r,s,f,u),i(t,e,r,f,p,u),i(t,e,r,p,u,f)))}}},{\"binary-search-bounds\":31,\"robust-in-sphere\":282}],44:[function(t,e,r){\"use strict\";var n,i=t(\"binary-search-bounds\");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]}e.exports=function(t,e,r){var n=function(t,e){for(var r=t.cells(),n=r.length,i=0;i<n;++i){var s=(v=r[i])[0],l=v[1],c=v[2];l<c?l<s&&(v[0]=l,v[1]=c,v[2]=s):c<s&&(v[0]=c,v[1]=s,v[2]=l)}r.sort(o);var u=new Array(n);for(i=0;i<u.length;++i)u[i]=0;var f=[],h=[],p=new Array(3*n),d=new Array(3*n),m=null;e&&(m=[]);var g=new a(r,p,d,u,f,h,m);for(i=0;i<n;++i)for(var v=r[i],y=0;y<3;++y){s=v[y],l=v[(y+1)%3];var x=p[3*i+y]=g.locate(l,s,t.opposite(l,s)),b=d[3*i+y]=t.isConstraint(s,l);x<0&&(b?h.push(i):(f.push(i),u[i]=1),e&&m.push([l,s,-1]))}return g}(t,r);if(0===e)return r?n.cells.concat(n.boundary):n.cells;var i=1,s=n.active,l=n.next,c=n.flags,u=n.cells,f=n.constraint,h=n.neighbor;for(;s.length>0||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=h[3*p+d];m>=0&&0===c[m]&&(f[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 v=function(t,e,r){for(var n=0,i=0;i<t.length;++i)e[i]===r&&(t[n++]=t[i]);return t.length=n,t}(u,c,e);if(r)return v.concat(n.boundary);return v},a.prototype.locate=(n=[0,0,0],function(t,e,r){var a=t,s=e,l=r;return e<r?e<t&&(a=e,s=r,l=t):r<t&&(a=r,s=t,l=e),a<0?-1:(n[0]=a,n[1]=s,n[2]=l,i.eq(this.cells,n,o))})},{\"binary-search-bounds\":31}],45:[function(t,e,r){\"use strict\";var n=t(\"binary-search-bounds\"),i=t(\"robust-orientation\")[3];function a(t,e,r,n,i){this.a=t,this.b=e,this.idx=r,this.lowerIds=n,this.upperIds=i}function o(t,e,r,n){this.a=t,this.b=e,this.type=r,this.idx=n}function s(t,e){var r=t.a[0]-e.a[0]||t.a[1]-e.a[1]||t.type-e.type;return r||(0!==t.type&&(r=i(t.a,t.b,e.b))?r:t.idx-e.idx)}function l(t,e){return i(t.a,t.b,e)}function c(t,e,r,a,o){for(var s=n.lt(e,a,l),c=n.gt(e,a,l),u=s;u<c;++u){for(var f=e[u],h=f.lowerIds,p=h.length;p>1&&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 u(t,e){var r;return(r=t.a[0]<e.a[0]?i(t.a,t.b,e.a):i(e.b,e.a,t.a))?r:(r=e.b[0]<t.b[0]?i(t.a,t.b,e.b):i(e.b,e.a,t.b))||t.idx-e.idx}function f(t,e,r){var i=n.le(t,r,u),o=t[i],s=o.upperIds,l=s[s.length-1];o.upperIds=[l],t.splice(i+1,0,new a(r.a,r.b,r.idx,[l],s))}function h(t,e,r){var i=r.a;r.a=r.b,r.b=i;var a=n.eq(t,r,u),o=t[a];t[a-1].upperIds=o.upperIds,t.splice(a,1)}e.exports=function(t,e){for(var r=t.length,n=e.length,i=[],l=0;l<r;++l)i.push(new o(t[l],null,0,l));for(l=0;l<n;++l){var u=e[l],p=t[u[0]],d=t[u[1]];p[0]<d[0]?i.push(new o(p,d,2,l),new o(d,p,1,l)):p[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,[],[],[],[])],v=[],y=(l=0,i.length);l<y;++l){var x=i[l],b=x.type;0===b?c(v,g,t,x.a,x.idx):2===b?f(g,t,x):h(g,t,x)}return v}},{\"binary-search-bounds\":31,\"robust-orientation\":284}],46:[function(t,e,r){\"use strict\";var n=t(\"binary-search-bounds\");function i(t,e){this.stars=t,this.edges=e}e.exports=function(t,e){for(var r=new Array(t),n=0;n<t;++n)r[n]=[];return new i(r,e)};var a=i.prototype;function o(t,e,r){for(var n=1,i=t.length;n<i;n+=2)if(t[n-1]===e&&t[n]===r)return t[n-1]=t[i-2],t[n]=t[i-1],void(t.length=i-2)}a.isConstraint=function(){var t=[0,0];function e(t,e){return t[0]-e[0]||t[1]-e[1]}return function(r,i){return t[0]=Math.min(r,i),t[1]=Math.max(r,i),n.eq(this.edges,t,e)>=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;n<i;n+=2)if(r[n]===t)return r[n-1];return-1},a.flip=function(t,e){var r=this.opposite(t,e),n=this.opposite(e,t);this.removeTriangle(t,e,r),this.removeTriangle(e,t,n),this.addTriangle(t,n,r),this.addTriangle(e,r,n)},a.edges=function(){for(var t=this.stars,e=[],r=0,n=t.length;r<n;++r)for(var i=t[r],a=0,o=i.length;a<o;a+=2)e.push([i[a],i[a+1]]);return e},a.cells=function(){for(var t=this.stars,e=[],r=0,n=t.length;r<n;++r)for(var i=t[r],a=0,o=i.length;a<o;a+=2){var s=i[a],l=i[a+1];r<Math.min(s,l)&&e.push([r,s,l])}return e}},{\"binary-search-bounds\":31}],47:[function(t,e,r){\"use strict\";e.exports=function(t){for(var e=1,r=1;r<t.length;++r)for(var n=0;n<r;++n)if(t[r]<t[n])e=-e;else if(t[n]===t[r])return 0;return e}},{}],48:[function(t,e,r){\"use strict\";var n=t(\"dup\"),i=t(\"robust-linear-solve\");function a(t,e){for(var r=0,n=t.length,i=0;i<n;++i)r+=t[i]*e[i];return r}function o(t){var e=t.length;if(0===e)return[];t[0].length;var r=n([t.length+1,t.length+1],1),o=n([t.length+1],1);r[e][e]=0;for(var s=0;s<e;++s){for(var l=0;l<=s;++l)r[l][s]=r[s][l]=2*a(t[s],t[l]);o[s]=a(t[s],t[s])}var c=i(r,o),u=0,f=c[e+1];for(s=0;s<f.length;++s)u+=f[s];var h=new Array(e);for(s=0;s<e;++s){f=c[s];var p=0;for(l=0;l<f.length;++l)p+=f[l];h[s]=p/u}return h}function s(t){if(0===t.length)return[];for(var e=t[0].length,r=n([e]),i=o(t),a=0;a<t.length;++a)for(var s=0;s<e;++s)r[s]+=t[a][s]*i[a];return r}s.barycenetric=o,e.exports=s},{dup:65,\"robust-linear-solve\":283}],49:[function(t,e,r){e.exports=function(t){for(var e=n(t),r=0,i=0;i<t.length;++i)for(var a=t[i],o=0;o<e.length;++o)r+=Math.pow(a[o]-e[o],2);return Math.sqrt(r/t.length)};var n=t(\"circumcenter\")},{circumcenter:48}],50:[function(t,e,r){\"use strict\";e.exports=function(t,e,r){var n;if(r){n=e;for(var i=new Array(e.length),a=0;a<e.length;++a){var o=e[a];i[a]=[o[0],o[1],r[a]]}e=i}var s=function(t,e,r){var n=d(t,[],p(t));return v(e,n,r),!!n}(t,e,!!r);for(;y(t,e,!!r);)s=!0;if(r&&s){n.length=0,r.length=0;for(a=0;a<e.length;++a){o=e[a];n.push([o[0],o[1]]),r.push(o[2])}}return s};var n=t(\"union-find\"),i=t(\"box-intersect\"),a=t(\"robust-segment-intersect\"),o=t(\"big-rat\"),s=t(\"big-rat/cmp\"),l=t(\"big-rat/to-float\"),c=t(\"rat-vec\"),u=t(\"nextafter\"),f=t(\"./lib/rat-seg-intersect\");function h(t){var e=l(t);return[u(e,-1/0),u(e,1/0)]}function p(t){for(var e=new Array(t.length),r=0;r<t.length;++r){var n=t[r];e[r]=[u(n[0],-1/0),u(n[1],-1/0),u(n[0],1/0),u(n[1],1/0)]}return e}function d(t,e,r){for(var a=e.length,o=new n(a),s=[],l=0;l<e.length;++l){var c=e[l],f=h(c[0]),p=h(c[1]);s.push([u(f[0],-1/0),u(p[0],-1/0),u(f[1],1/0),u(p[1],1/0)])}i(s,(function(t,e){o.link(t,e)}));var d=!0,m=new Array(a);for(l=0;l<a;++l){(v=o.find(l))!==l&&(d=!1,t[v]=[Math.min(t[l][0],t[v][0]),Math.min(t[l][1],t[v][1])])}if(d)return null;var g=0;for(l=0;l<a;++l){var v;(v=o.find(l))===l?(m[l]=g,t[g++]=t[l]):m[l]=-1}t.length=g;for(l=0;l<a;++l)m[l]<0&&(m[l]=m[o.find(l)]);return m}function m(t,e){return t[0]-e[0]||t[1]-e[1]}function g(t,e){var r=t[0]-e[0]||t[1]-e[1];return r||(t[2]<e[2]?-1:t[2]>e[2]?1:0)}function v(t,e,r){if(0!==t.length){if(e)for(var n=0;n<t.length;++n){var i=e[(o=t[n])[0]],a=e[o[1]];o[0]=Math.min(i,a),o[1]=Math.max(i,a)}else for(n=0;n<t.length;++n){var o;i=(o=t[n])[0],a=o[1];o[0]=Math.min(i,a),o[1]=Math.max(i,a)}r?t.sort(g):t.sort(m);var s=1;for(n=1;n<t.length;++n){var l=t[n-1],c=t[n];(c[0]!==l[0]||c[1]!==l[1]||r&&c[2]!==l[2])&&(t[s++]=c)}t.length=s}}function y(t,e,r){var n=function(t,e){for(var r=new Array(e.length),n=0;n<e.length;++n){var i=e[n],a=t[i[0]],o=t[i[1]];r[n]=[u(Math.min(a[0],o[0]),-1/0),u(Math.min(a[1],o[1]),-1/0),u(Math.max(a[0],o[0]),1/0),u(Math.max(a[1],o[1]),1/0)]}return r}(t,e),h=function(t,e,r){var n=[];return i(r,(function(r,i){var o=e[r],s=e[i];if(o[0]!==s[0]&&o[0]!==s[1]&&o[1]!==s[0]&&o[1]!==s[1]){var l=t[o[0]],c=t[o[1]],u=t[s[0]],f=t[s[1]];a(l,c,u,f)&&n.push([r,i])}})),n}(t,e,n),m=p(t),g=function(t,e,r,n){var o=[];return i(r,n,(function(r,n){var i=e[r];if(i[0]!==n&&i[1]!==n){var s=t[n],l=t[i[0]],c=t[i[1]];a(l,c,s,s)&&o.push([r,n])}})),o}(t,e,n,m),y=d(t,function(t,e,r,n,i){var a,u,h=t.map((function(t){return[o(t[0]),o(t[1])]}));for(a=0;a<r.length;++a){var p=r[a];u=p[0];var d=p[1],m=e[u],g=e[d],v=f(c(t[m[0]]),c(t[m[1]]),c(t[g[0]]),c(t[g[1]]));if(v){var y=t.length;t.push([l(v[0]),l(v[1])]),h.push(v),n.push([u,y],[d,y])}}for(n.sort((function(t,e){if(t[0]!==e[0])return t[0]-e[0];var r=h[t[1]],n=h[e[1]];return s(r[0],n[0])||s(r[1],n[1])})),a=n.length-1;a>=0;--a){var x=e[u=(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]===u;){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,g,r));return v(e,y,r),!!y||(h.length>0||g.length>0)}},{\"./lib/rat-seg-intersect\":51,\"big-rat\":18,\"big-rat/cmp\":16,\"big-rat/to-float\":30,\"box-intersect\":35,nextafter:260,\"rat-vec\":273,\"robust-segment-intersect\":287,\"union-find\":309}],51:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,n){var a=s(e,t),f=s(n,r),h=u(a,f);if(0===o(h))return null;var p=s(t,r),d=u(f,p),m=i(d,h),g=c(a,m);return l(t,g)};var n=t(\"big-rat/mul\"),i=t(\"big-rat/div\"),a=t(\"big-rat/sub\"),o=t(\"big-rat/sign\"),s=t(\"rat-vec/sub\"),l=t(\"rat-vec/add\"),c=t(\"rat-vec/muls\");function u(t,e){return a(n(t[0],e[1]),n(t[1],e[0]))}},{\"big-rat/div\":17,\"big-rat/mul\":27,\"big-rat/sign\":28,\"big-rat/sub\":29,\"rat-vec/add\":272,\"rat-vec/muls\":274,\"rat-vec/sub\":275}],52:[function(t,e,r){e.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]}]}},{}],53:[function(t,e,r){\"use strict\";var n=t(\"./colorScale\"),i=t(\"lerp\");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(\",\")+\")\"}e.exports=function(t){var e,r,l,c,u,f,h,p,d,m;t||(t={});p=(t.nshades||72)-1,h=t.format||\"hex\",(f=t.colormap)||(f=\"jet\");if(\"string\"==typeof f){if(f=f.toLowerCase(),!n[f])throw Error(f+\" not a supported colorscale\");u=n[f]}else{if(!Array.isArray(f))throw Error(\"unsupported colormap option\",f);u=f.slice()}if(u.length>p+1)throw new Error(f+\" 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})),v=[];for(m=0;m<e.length-1;++m){c=e[m+1]-e[m],r=g[m],l=g[m+1];for(var y=0;y<c;y++){var x=y/c;v.push([Math.round(i(r[0],l[0],x)),Math.round(i(r[1],l[1],x)),Math.round(i(r[2],l[2],x)),i(r[3],l[3],x)])}}v.push(u[u.length-1].rgb.concat(d[1])),\"hex\"===h?v=v.map(o):\"rgbaString\"===h?v=v.map(s):\"float\"===h&&(v=v.map(a));return v}},{\"./colorScale\":52,lerp:240}],54:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,a){var o=n(e,r,a);if(0===o){var s=i(n(t,e,r)),c=i(n(t,e,a));if(s===c){if(0===s){var u=l(t,e,r),f=l(t,e,a);return u===f?0:u?1:-1}return 0}return 0===c?s>0||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=t(\"robust-orientation\"),i=t(\"signum\"),a=t(\"two-sum\"),o=t(\"robust-product\"),s=t(\"robust-sum\");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}},{\"robust-orientation\":284,\"robust-product\":285,\"robust-sum\":289,signum:55,\"two-sum\":307}],55:[function(t,e,r){\"use strict\";e.exports=function(t){return t<0?-1:t>0?1:0}},{}],56:[function(t,e,r){e.exports=function(t,e){var r=t.length,a=t.length-e.length;if(a)return a;switch(r){case 0:return 0;case 1:return t[0]-e[0];case 2:return t[0]+t[1]-e[0]-e[1]||n(t[0],t[1])-n(e[0],e[1]);case 3:var o=t[0]+t[1],s=e[0]+e[1];if(a=o+t[2]-(s+e[2]))return a;var l=n(t[0],t[1]),c=n(e[0],e[1]);return n(l,t[2])-n(c,e[2])||n(l+t[2],o)-n(c+e[2],s);case 4:var u=t[0],f=t[1],h=t[2],p=t[3],d=e[0],m=e[1],g=e[2],v=e[3];return u+f+h+p-(d+m+g+v)||n(u,f,h,p)-n(d,m,g,v,d)||n(u+f,u+h,u+p,f+h,f+p,h+p)-n(d+m,d+g,d+v,m+g,m+v,g+v)||n(u+f+h,u+f+p,u+h+p,f+h+p)-n(d+m+g,d+m+v,d+g+v,m+g+v);default:for(var y=t.slice().sort(i),x=e.slice().sort(i),b=0;b<r;++b)if(a=y[b]-x[b])return a;return 0}};var n=Math.min;function i(t,e){return t-e}},{}],57:[function(t,e,r){\"use strict\";var n=t(\"compare-cell\"),i=t(\"cell-orientation\");e.exports=function(t,e){return n(t,e)||i(t)-i(e)}},{\"cell-orientation\":47,\"compare-cell\":56}],58:[function(t,e,r){\"use strict\";var n=t(\"./lib/ch1d\"),i=t(\"./lib/ch2d\"),a=t(\"./lib/chnd\");e.exports=function(t){var e=t.length;if(0===e)return[];if(1===e)return[[0]];var r=t[0].length;if(0===r)return[];if(1===r)return n(t);if(2===r)return i(t);return a(t,r)}},{\"./lib/ch1d\":59,\"./lib/ch2d\":60,\"./lib/chnd\":61}],59:[function(t,e,r){\"use strict\";e.exports=function(t){for(var e=0,r=0,n=1;n<t.length;++n)t[n][0]<t[e][0]&&(e=n),t[n][0]>t[r][0]&&(r=n);return e<r?[[e],[r]]:e>r?[[r],[e]]:[[e]]}},{}],60:[function(t,e,r){\"use strict\";e.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<r;++o){var s=e[o];i[o]=[a,s],a=s}return i};var n=t(\"monotone-convex-hull-2d\")},{\"monotone-convex-hull-2d\":246}],61:[function(t,e,r){\"use strict\";e.exports=function(t,e){try{return n(t,!0)}catch(o){var r=i(t);if(r.length<=e)return[];var a=function(t,e){for(var r=t.length,n=new Array(r),i=0;i<e.length;++i)n[i]=t[e[i]];var a=e.length;for(i=0;i<r;++i)e.indexOf(i)<0&&(n[a++]=t[i]);return n}(t,r);return function(t,e){for(var r=t.length,n=e.length,i=0;i<r;++i)for(var a=t[i],o=0;o<a.length;++o){var s=a[o];if(s<n)a[o]=e[s];else{s-=n;for(var l=0;l<n;++l)s>=e[l]&&(s+=1);a[o]=s}}return t}(n(a,!0),r)}};var n=t(\"incremental-convex-hull\"),i=t(\"affine-hull\")},{\"affine-hull\":10,\"incremental-convex-hull\":233}],62:[function(t,e,r){\"use strict\";e.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,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]=c*t[p]+u*e[p]+f*r[p]+h*n[p];return a}return c*t+u*e+f*r+h*n},e.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}},{}],63:[function(t,e,r){\"use strict\";var n=t(\"incremental-convex-hull\"),i=t(\"uniq\");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<i;++a){var o=n[a]-r[a];if(o)return o}return 0}e.exports=function(t,e){var r=t.length;if(0===r)return[];var s=t[0].length;if(s<1)return[];if(1===s)return function(t,e,r){if(1===t)return r?[[-1,0]]:[];var n=e.map((function(t,e){return[t[0],e]}));n.sort((function(t,e){return t[0]-e[0]}));for(var i=new Array(t-1),a=1;a<t;++a){var o=n[a-1],s=n[a];i[a-1]=[o[1],s[1]]}r&&i.push([-1,i[0][1]],[i[t-1][1],-1]);return i}(r,t,e);for(var l=new Array(r),c=1,u=0;u<r;++u){for(var f=t[u],h=new Array(s+1),p=0,d=0;d<s;++d){var m=f[d];h[d]=m,p+=m*m}h[s]=p,l[u]=new a(h,u),c=Math.max(p,c)}i(l,o),r=l.length;var g=new Array(r+s+1),v=new Array(r+s+1),y=(s+1)*(s+1)*c,x=new Array(s+1);for(u=0;u<=s;++u)x[u]=0;x[s]=y,g[0]=x.slice(),v[0]=-1;for(u=0;u<=s;++u){(h=x.slice())[u]=1,g[u+1]=h,v[u+1]=-1}for(u=0;u<r;++u){var b=l[u];g[u+s+1]=b.point,v[u+s+1]=b.index}var _=n(g,!1);_=e?_.filter((function(t){for(var e=0,r=0;r<=s;++r){var n=v[t[r]];if(n<0&&++e>=2)return!1;t[r]=n}return!0})):_.filter((function(t){for(var e=0;e<=s;++e){var r=v[t[e]];if(r<0)return!1;t[e]=r}return!0}));if(1&s)for(u=0;u<_.length;++u){h=(b=_[u])[0];b[0]=b[1],b[1]=h}return _}},{\"incremental-convex-hull\":233,uniq:310}],64:[function(t,e,r){(function(t){(function(){var r=!1;if(\"undefined\"!=typeof Float64Array){var n=new Float64Array(1),i=new Uint32Array(n.buffer);if(n[0]=1,r=!0,1072693248===i[1]){e.exports=function(t){return n[0]=t,[i[0],i[1]]},e.exports.pack=function(t,e){return i[0]=t,i[1]=e,n[0]},e.exports.lo=function(t){return n[0]=t,i[0]},e.exports.hi=function(t){return n[0]=t,i[1]}}else if(1072693248===i[0]){e.exports=function(t){return n[0]=t,[i[1],i[0]]},e.exports.pack=function(t,e){return i[1]=t,i[0]=e,n[0]},e.exports.lo=function(t){return n[0]=t,i[1]},e.exports.hi=function(t){return n[0]=t,i[0]}}else r=!1}if(!r){var a=new t(8);e.exports=function(t){return a.writeDoubleLE(t,0,!0),[a.readUInt32LE(0,!0),a.readUInt32LE(4,!0)]},e.exports.pack=function(t,e){return a.writeUInt32LE(t,0,!0),a.writeUInt32LE(e,4,!0),a.readDoubleLE(0,!0)},e.exports.lo=function(t){return a.writeDoubleLE(t,0,!0),a.readUInt32LE(0,!0)},e.exports.hi=function(t){return a.writeDoubleLE(t,0,!0),a.readUInt32LE(4,!0)}}e.exports.sign=function(t){return e.exports.hi(t)>>>31},e.exports.exponent=function(t){return(e.exports.hi(t)<<1>>>21)-1023},e.exports.fraction=function(t){var r=e.exports.lo(t),n=e.exports.hi(t),i=1048575&n;return 2146435072&n&&(i+=1<<20),[r,i]},e.exports.denormalized=function(t){return!(2146435072&e.exports.hi(t))}}).call(this)}).call(this,t(\"buffer\").Buffer)},{buffer:3}],65:[function(t,e,r){\"use strict\";e.exports=function(t,e){switch(void 0===e&&(e=0),typeof t){case\"number\":if(t>0)return function(t,e){var r,n;for(r=new Array(t),n=0;n<t;++n)r[n]=e;return r}(0|t,e);break;case\"object\":if(\"number\"==typeof t.length)return function t(e,r,n){var i=0|e[n];if(i<=0)return[];var a,o=new Array(i);if(n===e.length-1)for(a=0;a<i;++a)o[a]=r;else for(a=0;a<i;++a)o[a]=t(e,r,n+1);return o}(t,e,0)}return[]}},{}],66:[function(t,e,r){\"use strict\";e.exports=function(t,e){var r=t.length;if(\"number\"!=typeof e){e=0;for(var i=0;i<r;++i){var a=t[i];e=Math.max(e,a[0],a[1])}e=1+(0|e)}e|=0;var o=new Array(e);for(i=0;i<e;++i)o[i]=[];for(i=0;i<r;++i){a=t[i];o[a[0]].push(a[1]),o[a[1]].push(a[0])}for(var s=0;s<e;++s)n(o[s],(function(t,e){return t-e}));return o};var n=t(\"uniq\")},{uniq:310}],67:[function(t,e,r){\"use strict\";e.exports=function(t,e,r){var n=e||0,i=r||1;return[[t[12]+t[0],t[13]+t[1],t[14]+t[2],t[15]+t[3]],[t[12]-t[0],t[13]-t[1],t[14]-t[2],t[15]-t[3]],[t[12]+t[4],t[13]+t[5],t[14]+t[6],t[15]+t[7]],[t[12]-t[4],t[13]-t[5],t[14]-t[6],t[15]-t[7]],[n*t[12]+t[8],n*t[13]+t[9],n*t[14]+t[10],n*t[15]+t[11]],[i*t[12]-t[8],i*t[13]-t[9],i*t[14]-t[10],i*t[15]-t[11]]]}},{}],68:[function(t,e,r){\"use strict\";e.exports=function(t,e,r){switch(arguments.length){case 0:return new o([0],[0],0);case 1:return\"number\"==typeof t?new o(n=l(t),n,0):new o(t,l(t.length),0);case 2:if(\"number\"==typeof e){var n=l(t.length);return new o(t,n,+e)}r=0;case 3:if(t.length!==e.length)throw new Error(\"state and velocity lengths must match\");return new o(t,e,r)}};var n=t(\"cubic-hermite\"),i=t(\"binary-search-bounds\");function a(t,e,r){return Math.min(e,Math.max(t,r))}function o(t,e,r){this.dimension=t.length,this.bounds=[new Array(this.dimension),new Array(this.dimension)];for(var n=0;n<this.dimension;++n)this.bounds[0][n]=-1/0,this.bounds[1][n]=1/0;this._state=t.slice().reverse(),this._velocity=e.slice().reverse(),this._time=[r],this._scratch=[t.slice(),t.slice(),t.slice(),t.slice(),t.slice()]}var s=o.prototype;function l(t){for(var e=new Array(t),r=0;r<t;++r)e[r]=0;return e}s.flush=function(t){var e=i.gt(this._time,t)-1;e<=0||(this._time.splice(0,e),this._state.splice(0,e*this.dimension),this._velocity.splice(0,e*this.dimension))},s.curve=function(t){var e=this._time,r=e.length,o=i.le(e,t),s=this._scratch[0],l=this._state,c=this._velocity,u=this.dimension,f=this.bounds;if(o<0)for(var h=u-1,p=0;p<u;++p,--h)s[p]=l[h];else if(o>=r-1){h=l.length-1;var d=t-e[r-1];for(p=0;p<u;++p,--h)s[p]=l[h]+d*c[h]}else{h=u*(o+1)-1;var m=e[o],g=e[o+1]-m||1,v=this._scratch[1],y=this._scratch[2],x=this._scratch[3],b=this._scratch[4],_=!0;for(p=0;p<u;++p,--h)v[p]=l[h],x[p]=c[h]*g,y[p]=l[h+u],b[p]=c[h+u]*g,_=_&&v[p]===y[p]&&x[p]===b[p]&&0===x[p];if(_)for(p=0;p<u;++p)s[p]=v[p];else n(v,x,y,b,(t-m)/g,s)}var w=f[0],T=f[1];for(p=0;p<u;++p)s[p]=a(w[p],T[p],s[p]);return s},s.dcurve=function(t){var e=this._time,r=e.length,a=i.le(e,t),o=this._scratch[0],s=this._state,l=this._velocity,c=this.dimension;if(a>=r-1)for(var u=s.length-1,f=(e[r-1],0);f<c;++f,--u)o[f]=l[u];else{u=c*(a+1)-1;var h=e[a],p=e[a+1]-h||1,d=this._scratch[1],m=this._scratch[2],g=this._scratch[3],v=this._scratch[4],y=!0;for(f=0;f<c;++f,--u)d[f]=s[u],g[f]=l[u]*p,m[f]=s[u+c],v[f]=l[u+c]*p,y=y&&d[f]===m[f]&&g[f]===v[f]&&0===g[f];if(y)for(f=0;f<c;++f)o[f]=0;else{n.derivative(d,g,m,v,(t-h)/p,o);for(f=0;f<c;++f)o[f]/=p}}return o},s.lastT=function(){var t=this._time;return t[t.length-1]},s.stable=function(){for(var t=this._velocity,e=t.length,r=this.dimension-1;r>=0;--r)if(t[--e])return!1;return!0},s.jump=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];this._time.push(e,t);for(var u=0;u<2;++u)for(var f=0;f<r;++f)n.push(n[o++]),i.push(0);this._time.push(t);for(f=r;f>0;--f)n.push(a(l[f-1],c[f-1],arguments[f])),i.push(0)}},s.push=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=t-e,l=this.bounds,c=l[0],u=l[1],f=s>1e-6?1/s:0;this._time.push(t);for(var h=r;h>0;--h){var p=a(c[h-1],u[h-1],arguments[h]);n.push(p),i.push((p-n[o++])*f)}}},s.set=function(t){var e=this.dimension;if(!(t<this.lastT()||arguments.length!==e+1)){var r=this._state,n=this._velocity,i=this.bounds,o=i[0],s=i[1];this._time.push(t);for(var l=e;l>0;--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,f=u>1e-6?1/u:0;this._time.push(t);for(var h=r;h>0;--h){var p=arguments[h];n.push(a(l[h-1],c[h-1],n[o++]+p)),i.push(p*f)}}},s.idle=function(t){var e=this.lastT();if(!(t<e)){var r=this.dimension,n=this._state,i=this._velocity,o=n.length-r,s=this.bounds,l=s[0],c=s[1],u=t-e;this._time.push(t);for(var f=r-1;f>=0;--f)n.push(a(l[f],c[f],n[o]+u*i[o])),i.push(0),o+=1}}},{\"binary-search-bounds\":31,\"cubic-hermite\":62}],69:[function(t,e,r){\"use strict\";e.exports=function(t){return new s(t||m,null)};function n(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 i(t){return new n(t._color,t.key,t.value,t.left,t.right,t._count)}function a(t,e){return new n(t,e.key,e.value,e.left,e.right,e._count)}function o(t){t._count=1+(t.left?t.left._count:0)+(t.right?t.right._count:0)}function s(t,e){this._compare=t,this.root=e}var l=s.prototype;function c(t,e){var r;if(e.left&&(r=c(t,e.left)))return r;return(r=t(e.key,e.value))||(e.right?c(t,e.right):void 0)}function u(t,e,r,n){if(e(t,n.key)<=0){var i;if(n.left)if(i=u(t,e,r,n.left))return i;if(i=r(n.key,n.value))return i}if(n.right)return u(t,e,r,n.right)}function f(t,e,r,n,i){var a,o=r(t,i.key),s=r(e,i.key);if(o<=0){if(i.left&&(a=f(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 f(t,e,r,n,i.right)}function h(t,e){this.tree=t,this._stack=e}Object.defineProperty(l,\"keys\",{get:function(){var t=[];return this.forEach((function(e,r){t.push(e)})),t}}),Object.defineProperty(l,\"values\",{get:function(){var t=[];return this.forEach((function(e,r){t.push(r)})),t}}),Object.defineProperty(l,\"length\",{get:function(){return this.root?this.root._count:0}}),l.insert=function(t,e){for(var r=this._compare,i=this.root,l=[],c=[];i;){var u=r(t,i.key);l.push(i),c.push(u),i=u<=0?i.left:i.right}l.push(new n(0,t,e,null,null,1));for(var f=l.length-2;f>=0;--f){i=l[f];c[f]<=0?l[f]=new n(i._color,i.key,i.value,l[f+1],i.right,i._count+1):l[f]=new n(i._color,i.key,i.value,i.left,l[f+1],i._count+1)}for(f=l.length-1;f>1;--f){var h=l[f-1];i=l[f];if(1===h._color||1===i._color)break;var p=l[f-2];if(p.left===h)if(h.left===i){if(!(d=p.right)||0!==d._color){if(p._color=0,p.left=h.right,h._color=1,h.right=p,l[f-2]=h,l[f-1]=i,o(p),o(h),f>=3)(m=l[f-3]).left===p?m.left=h:m.right=h;break}h._color=1,p.right=a(1,d),p._color=0,f-=1}else{if(!(d=p.right)||0!==d._color){if(h.right=i.left,p._color=0,p.left=i.right,i._color=1,i.left=h,i.right=p,l[f-2]=i,l[f-1]=h,o(p),o(h),o(i),f>=3)(m=l[f-3]).left===p?m.left=i:m.right=i;break}h._color=1,p.right=a(1,d),p._color=0,f-=1}else if(h.right===i){if(!(d=p.left)||0!==d._color){if(p._color=0,p.right=h.left,h._color=1,h.left=p,l[f-2]=h,l[f-1]=i,o(p),o(h),f>=3)(m=l[f-3]).right===p?m.right=h:m.left=h;break}h._color=1,p.left=a(1,d),p._color=0,f-=1}else{var d;if(!(d=p.left)||0!==d._color){var m;if(h.left=i.right,p._color=0,p.right=i.left,i._color=1,i.right=h,i.left=p,l[f-2]=i,l[f-1]=h,o(p),o(h),o(i),f>=3)(m=l[f-3]).right===p?m.right=i:m.left=i;break}h._color=1,p.left=a(1,d),p._color=0,f-=1}}return l[0]._color=1,new s(r,l[0])},l.forEach=function(t,e,r){if(this.root)switch(arguments.length){case 1:return c(t,this.root);case 2:return u(e,this._compare,t,this.root);case 3:if(this._compare(e,r)>=0)return;return f(e,r,this._compare,t,this.root)}},Object.defineProperty(l,\"begin\",{get:function(){for(var t=[],e=this.root;e;)t.push(e),e=e.left;return new h(this,t)}}),Object.defineProperty(l,\"end\",{get:function(){for(var t=[],e=this.root;e;)t.push(e),e=e.right;return new h(this,t)}}),l.at=function(t){if(t<0)return new h(this,[]);for(var e=this.root,r=[];;){if(r.push(e),e.left){if(t<e.left._count){e=e.left;continue}t-=e.left._count}if(!t)return new h(this,r);if(t-=1,!e.right)break;if(t>=e.right._count)break;e=e.right}return new h(this,[])},l.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 h(this,n)},l.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 h(this,n)},l.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 h(this,n)},l.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 h(this,n)},l.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 h(this,n);r=i<=0?r.left:r.right}return new h(this,[])},l.remove=function(t){var e=this.find(t);return e?e.remove():this},l.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 p=h.prototype;function d(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 m(t,e){return t<e?-1:t>e?1:0}Object.defineProperty(p,\"valid\",{get:function(){return this._stack.length>0}}),Object.defineProperty(p,\"node\",{get:function(){return this._stack.length>0?this._stack[this._stack.length-1]:null},enumerable:!0}),p.clone=function(){return new h(this.tree,this._stack.slice())},p.remove=function(){var t=this._stack;if(0===t.length)return this.tree;var e=new Array(t.length),r=t[t.length-1];e[e.length-1]=new n(r._color,r.key,r.value,r.left,r.right,r._count);for(var l=t.length-2;l>=0;--l){(r=t[l]).left===t[l+1]?e[l]=new n(r._color,r.key,r.value,e[l+1],r.right,r._count):e[l]=new n(r._color,r.key,r.value,r.left,e[l+1],r._count)}if((r=e[e.length-1]).left&&r.right){var c=e.length;for(r=r.left;r.right;)e.push(r),r=r.right;var u=e[c-1];e.push(new n(r._color,u.key,u.value,r.left,r.right,r._count)),e[c-1].key=r.key,e[c-1].value=r.value;for(l=e.length-2;l>=c;--l)r=e[l],e[l]=new n(r._color,r.key,r.value,r.left,e[l+1],r._count);e[c-1].left=e[c]}if(0===(r=e[e.length-1])._color){var f=e[e.length-2];f.left===r?f.left=null:f.right===r&&(f.right=null),e.pop();for(l=0;l<e.length;++l)e[l]._count--;return new s(this.tree._compare,e[0])}if(r.left||r.right){r.left?d(r,r.left):r.right&&d(r,r.right),r._color=1;for(l=0;l<e.length-1;++l)e[l]._count--;return new s(this.tree._compare,e[0])}if(1===e.length)return new s(this.tree._compare,null);for(l=0;l<e.length;++l)e[l]._count--;var h=e[e.length-2];return function(t){for(var e,r,n,s,l=t.length-1;l>=0;--l){if(e=t[l],0===l)return void(e._color=1);if((r=t[l-1]).left===e){if((n=r.right).right&&0===n.right._color){if(s=(n=r.right=i(n)).right=i(n.right),r.right=n.left,n.left=r,n.right=s,n._color=r._color,e._color=1,r._color=1,s._color=1,o(r),o(n),l>1)(c=t[l-2]).left===r?c.left=n:c.right=n;return void(t[l-1]=n)}if(n.left&&0===n.left._color){if(s=(n=r.right=i(n)).left=i(n.left),r.right=s.left,n.left=s.right,s.left=r,s.right=n,s._color=r._color,r._color=1,n._color=1,e._color=1,o(r),o(n),o(s),l>1)(c=t[l-2]).left===r?c.left=s:c.right=s;return void(t[l-1]=s)}if(1===n._color){if(0===r._color)return r._color=1,void(r.right=a(0,n));r.right=a(0,n);continue}n=i(n),r.right=n.left,n.left=r,n._color=r._color,r._color=0,o(r),o(n),l>1&&((c=t[l-2]).left===r?c.left=n:c.right=n),t[l-1]=n,t[l]=r,l+1<t.length?t[l+1]=e:t.push(e),l+=2}else{if((n=r.left).left&&0===n.left._color){if(s=(n=r.left=i(n)).left=i(n.left),r.left=n.right,n.right=r,n.left=s,n._color=r._color,e._color=1,r._color=1,s._color=1,o(r),o(n),l>1)(c=t[l-2]).right===r?c.right=n:c.left=n;return void(t[l-1]=n)}if(n.right&&0===n.right._color){if(s=(n=r.left=i(n)).right=i(n.right),r.left=s.right,n.right=s.left,s.right=r,s.left=n,s._color=r._color,r._color=1,n._color=1,e._color=1,o(r),o(n),o(s),l>1)(c=t[l-2]).right===r?c.right=s:c.left=s;return void(t[l-1]=s)}if(1===n._color){if(0===r._color)return r._color=1,void(r.left=a(0,n));r.left=a(0,n);continue}var c;n=i(n),r.left=n.right,n.right=r,n._color=r._color,r._color=0,o(r),o(n),l>1&&((c=t[l-2]).right===r?c.right=n:c.left=n),t[l-1]=n,t[l]=r,l+1<t.length?t[l+1]=e:t.push(e),l+=2}}}(e),h.left===r?h.left=null:h.right=null,new s(this.tree._compare,e[0])},Object.defineProperty(p,\"key\",{get:function(){if(this._stack.length>0)return this._stack[this._stack.length-1].key},enumerable:!0}),Object.defineProperty(p,\"value\",{get:function(){if(this._stack.length>0)return this._stack[this._stack.length-1].value},enumerable:!0}),Object.defineProperty(p,\"index\",{get:function(){var 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}),p.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(p,\"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}}),p.update=function(t){var e=this._stack;if(0===e.length)throw new Error(\"Can't update empty node!\");var r=new Array(e.length),i=e[e.length-1];r[r.length-1]=new n(i._color,i.key,t,i.left,i.right,i._count);for(var a=e.length-2;a>=0;--a)(i=e[a]).left===e[a+1]?r[a]=new n(i._color,i.key,i.value,r[a+1],i.right,i._count):r[a]=new n(i._color,i.key,i.value,i.left,r[a+1],i._count);return new s(this.tree._compare,r[0])},p.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(p,\"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}})},{}],70:[function(t,e,r){\"use strict\";e.exports=function(t,e){var r=new u(t);return r.update(e),r};var n=t(\"./lib/text.js\"),i=t(\"./lib/lines.js\"),a=t(\"./lib/background.js\"),o=t(\"./lib/cube.js\"),s=t(\"./lib/ticks.js\"),l=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]);function c(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function u(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.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\",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=u.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),c=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]})),u=!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){r=t.ticks,u=!0,this.autoTicks=!1;for(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,u=!0,this._firstInit=!1),f&&this.autoTicks&&(r=s.create(this.bounds,this.tickSpacing),u=!0),u){for(p=0;p<3;++p)r[p].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),a(\"tickSize\"),a(\"tickAngle\"),a(\"tickPad\"),c(\"tickColor\");var m=l(\"labels\");l(\"labelFont\")&&(m=!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\"),this._text?this._text&&(m||u)&&this._text.update(this.bounds,this.labels,this.labelFont,this.ticks,this.tickFont):this._text=n(this.gl,this.bounds,this.labels,this.labelFont,this.ticks,this.tickFont),this._lines&&u&&(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,c=n[e],u=0;u<3;++u)if(e!==u){var f=a,h=s,p=o,d=l;c&1<<u&&(f=s,h=a,p=l,d=o),f[u]=r[0][u],h[u]=r[1][u],i[u]>0?(p[u]=-1,d[u]=0):(p[u]=0,d[u]=1)}}var m=[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 v=[0,0,0],y=[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,u=o(r,n,i,a,s),f=u.cubeEdges,h=u.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=m;for(A=0;A<3;++A)this.backgroundEnable[A]?E[A]=h[A]:E[A]=0;this._background.draw(r,n,i,a,E,this.backgroundColor),this._lines.bind(r,n,i,this);for(A=0;A<3;++A){var L=[0,0,0];h[A]>0?L[A]=a[1][A]:L[A]=a[0][A];for(var C=0;C<2;++C){var P=(A+1+C)%3,I=(A+1+(1^C))%3;this.gridEnable[P]&&this._lines.drawGrid(P,I,this.bounds,L,this.gridColor[P],this.gridWidth[P]*this.pixelRatio)}for(C=0;C<2;++C){P=(A+1+C)%3,I=(A+1+(1^C))%3;this.zeroEnable[I]&&Math.min(a[0][I],a[1][I])<=0&&Math.max(a[0][I],a[1][I])>=0&&this._lines.drawZero(P,I,this.bounds,L,this.zeroLineColor[I],this.zeroLineWidth[I]*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 O=c(v,M[A].primalMinor),z=c(y,M[A].mirrorMinor),D=this.lineTickLength;for(C=0;C<3;++C){var R=k/r[5*C];O[C]*=D[C]*R,z[C]*=D[C]*R}this.lineTickEnable[A]&&this._lines.drawAxisTicks(A,M[A].primalOffset,O,this.lineTickColor[A],this.lineTickWidth[A]*this.pixelRatio),this.lineTickMirror[A]&&this._lines.drawAxisTicks(A,M[A].mirrorOffset,z,this.lineTickColor[A],this.lineTickWidth[A]*this.pixelRatio)}this._lines.unbind(),this._text.bind(r,n,i,this.pixelRatio);var F,B;function N(t){(B=[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(A=0;A<3;++A){var U=M[A].primalMinor,V=M[A].mirrorMinor,H=c(x,M[A].primalOffset);for(C=0;C<3;++C)this.lineTickEnable[A]&&(H[C]+=k*U[C]*Math.max(this.lineTickLength[C],0)/r[5*C]);var q=[0,0,0];if(q[A]=1,this.tickEnable[A]){-3600===this.tickAngle[A]?(this.tickAngle[A]=0,this.tickAlign[A]=\"auto\"):this.tickAlign[A]=-1,F=1,\"auto\"===(S=[this.tickAlign[A],.5,F])[0]?S[0]=0:S[0]=parseInt(\"\"+S[0]),B=[0,0,0],j(A,U,V);for(C=0;C<3;++C)H[C]+=k*U[C]*this.tickPad[C]/r[5*C];this._text.drawTicks(A,this.tickSize[A],this.tickAngle[A],H,this.tickColor[A],q,B,S)}if(this.labelEnable[A]){F=0,B=[0,0,0],this.labels[A].length>4&&(N(A),F=1),\"auto\"===(S=[this.labelAlign[A],.5,F])[0]?S[0]=0:S[0]=parseInt(\"\"+S[0]);for(C=0;C<3;++C)H[C]+=k*U[C]*this.labelPad[C]/r[5*C];H[A]+=.5*(a[0][A]+a[1][A]),this._text.drawLabel(A,this.labelSize[A],this.labelAngle[A],H,this.labelColor[A],[0,0,0],B,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}},{\"./lib/background.js\":71,\"./lib/cube.js\":72,\"./lib/lines.js\":73,\"./lib/text.js\":75,\"./lib/ticks.js\":76}],71:[function(t,e,r){\"use strict\";e.exports=function(t){for(var e=[],r=[],s=0,l=0;l<3;++l)for(var c=(l+1)%3,u=(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[c]=d;for(var m=-1;m<=1;m+=2)f[u]=m,e.push(f[0],f[1],f[2],h[0],h[1],h[2]),s+=1}var g=c;c=u,u=g}var v=n(t,new Float32Array(e)),y=n(t,new Uint16Array(r),t.ELEMENT_ARRAY_BUFFER),x=i(t,[{buffer:v,type:t.FLOAT,size:3,offset:0,stride:24},{buffer:v,type:t.FLOAT,size:3,offset:12,stride:24}],y),b=a(t);return b.attributes.position.location=0,b.attributes.normal.location=1,new o(t,v,x,b)};var n=t(\"gl-buffer\"),i=t(\"gl-vao\"),a=t(\"./shaders\").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()}},{\"./shaders\":74,\"gl-buffer\":78,\"gl-vao\":150}],72:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,a,p){i(s,e,t),i(s,r,s);for(var y=0,x=0;x<2;++x){u[2]=a[x][2];for(var b=0;b<2;++b){u[1]=a[b][1];for(var _=0;_<2;++_)u[0]=a[_][0],h(l[y],u,s),y+=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]<c[w][2])&&(w=x)}if(w<0){w=0;for(var A=0;A<3;++A){for(var M=(A+2)%3,S=(A+1)%3,E=-1,L=-1,C=0;C<2;++C){var P=(O=C<<A)+(C<<M)+(1-C<<S),I=O+(1-C<<M)+(C<<S);o(c[O],c[P],c[I],f)<0||(C?E=1:L=1)}if(E<0||L<0)L>E&&(w|=1<<A);else{for(C=0;C<2;++C){P=(O=C<<A)+(C<<M)+(1-C<<S),I=O+(1-C<<M)+(C<<S);var O,z=d([l[O],l[P],l[I],l[O+(1<<M)+(1<<S)]]);C?E=z:L=z}L>E&&(w|=1<<A)}}}var D=7^w,R=-1;for(x=0;x<8;++x)x!==w&&x!==D&&(R<0||c[R][1]>c[x][1])&&(R=x);var F=-1;for(x=0;x<3;++x){if((N=R^1<<x)!==w&&N!==D)F<0&&(F=N),(S=c[N])[0]<c[F][0]&&(F=N)}var B=-1;for(x=0;x<3;++x){var N;if((N=R^1<<x)!==w&&N!==D&&N!==F)B<0&&(B=N),(S=c[N])[0]>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,H=w;for(A=0;A<3;++A)V[A]=H&1<<A?-1:1;return v};var n=t(\"bit-twiddle\"),i=t(\"gl-mat4/multiply\"),a=t(\"split-polygon\"),o=t(\"robust-orientation\"),s=new Array(16),l=new Array(8),c=new Array(8),u=new Array(3),f=[0,0,0];function h(t,e,r){for(var n=0;n<4;++n){t[n]=r[12+n];for(var i=0;i<3;++i)t[n]+=e[i]*r[4*i+n]}}!function(){for(var t=0;t<8;++t)l[t]=[1,1,1,1],c[t]=[1,1,1]}();var p=[[0,0,1,0,0],[0,0,-1,1,0],[0,-1,0,1,0],[0,1,0,1,0],[-1,0,0,1,0],[1,0,0,1,0]];function d(t){for(var e=0;e<p.length;++e)if((t=a.positive(t,p[e])).length<3)return 0;var r=t[0],n=r[0]/r[3],i=r[1]/r[3],o=0;for(e=1;e+1<t.length;++e){var s=t[e],l=t[e+1],c=s[0]/s[3]-n,u=s[1]/s[3]-i,f=l[0]/l[3]-n,h=l[1]/l[3]-i;o+=Math.abs(c*h-u*f)}return o}var m=[1,1,1],g=[0,0,0],v={cubeEdges:m,axis:g}},{\"bit-twiddle\":32,\"gl-mat4/multiply\":100,\"robust-orientation\":284,\"split-polygon\":300}],73:[function(t,e,r){\"use strict\";e.exports=function(t,e,r){var o=[],s=[0,0,0],l=[0,0,0],c=[0,0,0],u=[0,0,0];o.push(0,0,1,0,1,1,0,0,-1,0,0,-1,0,1,1,0,1,-1);for(var f=0;f<3;++f){for(var h=o.length/3|0,d=0;d<r[f].length;++d){var m=+r[f][d].x;o.push(m,0,1,m,1,1,m,0,-1,m,0,-1,m,1,1,m,1,-1)}var g=o.length/3|0;s[f]=h,l[f]=g-h;h=o.length/3|0;for(var v=0;v<r[f].length;++v){m=+r[f][v].x;o.push(m,0,1,m,1,1,m,0,-1,m,0,-1,m,1,1,m,1,-1)}g=o.length/3|0;c[f]=h,u[f]=g-h}var y=n(t,new Float32Array(o)),x=i(t,[{buffer:y,type:t.FLOAT,size:3,stride:0,offset:0}]),b=a(t);return b.attributes.position.location=0,new p(t,y,x,b,l,s,u,c)};var n=t(\"gl-buffer\"),i=t(\"gl-vao\"),a=t(\"./shaders\").line,o=[0,0,0],s=[0,0,0],l=[0,0,0],c=[0,0,0],u=[1,1];function f(t){return t[0]=t[1]=t[2]=0,t}function h(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function p(t,e,r,n,i,a,o,s){this.gl=t,this.vertBuffer=e,this.vao=r,this.shader=n,this.tickCount=i,this.tickOffset=a,this.gridCount=o,this.gridOffset=s}var d=p.prototype;d.bind=function(t,e,r){this.shader.bind(),this.shader.uniforms.model=t,this.shader.uniforms.view=e,this.shader.uniforms.projection=r,u[0]=this.gl.drawingBufferWidth,u[1]=this.gl.drawingBufferHeight,this.shader.uniforms.screenShape=u,this.vao.bind()},d.unbind=function(){this.vao.unbind()},d.drawAxisLine=function(t,e,r,n,i){var a=f(s);this.shader.uniforms.majorAxis=s,a[t]=e[1][t]-e[0][t],this.shader.uniforms.minorAxis=a;var o,u=h(c,r);u[t]+=e[0][t],this.shader.uniforms.offset=u,this.shader.uniforms.lineWidth=i,this.shader.uniforms.color=n,(o=f(l))[(t+2)%3]=1,this.shader.uniforms.screenAxis=o,this.vao.draw(this.gl.TRIANGLES,6),(o=f(l))[(t+1)%3]=1,this.shader.uniforms.screenAxis=o,this.vao.draw(this.gl.TRIANGLES,6)},d.drawAxisTicks=function(t,e,r,n,i){if(this.tickCount[t]){var a=f(o);a[t]=1,this.shader.uniforms.majorAxis=a,this.shader.uniforms.offset=e,this.shader.uniforms.minorAxis=r,this.shader.uniforms.color=n,this.shader.uniforms.lineWidth=i;var s=f(l);s[t]=1,this.shader.uniforms.screenAxis=s,this.vao.draw(this.gl.TRIANGLES,this.tickCount[t],this.tickOffset[t])}},d.drawGrid=function(t,e,r,n,i,a){if(this.gridCount[t]){var u=f(s);u[e]=r[1][e]-r[0][e],this.shader.uniforms.minorAxis=u;var p=h(c,n);p[e]+=r[0][e],this.shader.uniforms.offset=p;var d=f(o);d[t]=1,this.shader.uniforms.majorAxis=d;var m=f(l);m[t]=1,this.shader.uniforms.screenAxis=m,this.shader.uniforms.lineWidth=a,this.shader.uniforms.color=i,this.vao.draw(this.gl.TRIANGLES,this.gridCount[t],this.gridOffset[t])}},d.drawZero=function(t,e,r,n,i,a){var o=f(s);this.shader.uniforms.majorAxis=o,o[t]=r[1][t]-r[0][t],this.shader.uniforms.minorAxis=o;var u=h(c,n);u[t]+=r[0][t],this.shader.uniforms.offset=u;var p=f(l);p[e]=1,this.shader.uniforms.screenAxis=p,this.shader.uniforms.lineWidth=a,this.shader.uniforms.color=i,this.vao.draw(this.gl.TRIANGLES,6)},d.dispose=function(){this.vao.dispose(),this.vertBuffer.dispose(),this.shader.dispose()}},{\"./shaders\":74,\"gl-buffer\":78,\"gl-vao\":150}],74:[function(t,e,r){\"use strict\";var n=t(\"glslify\"),i=t(\"gl-shader\"),a=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec3 position;\\n\\nuniform mat4 model, view, projection;\\nuniform vec3 offset, majorAxis, minorAxis, screenAxis;\\nuniform float lineWidth;\\nuniform vec2 screenShape;\\n\\nvec3 project(vec3 p) {\\n  vec4 pp = projection * view * model * vec4(p, 1.0);\\n  return pp.xyz / max(pp.w, 0.0001);\\n}\\n\\nvoid main() {\\n  vec3 major = position.x * majorAxis;\\n  vec3 minor = position.y * minorAxis;\\n\\n  vec3 vPosition = major + minor + offset;\\n  vec3 pPosition = project(vPosition);\\n  vec3 offset = project(vPosition + screenAxis * position.z);\\n\\n  vec2 screen = normalize((offset - pPosition).xy * screenShape) / screenShape;\\n\\n  gl_Position = vec4(pPosition + vec3(0.5 * screen * lineWidth, 0), 1.0);\\n}\\n\"]),o=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nuniform vec4 color;\\nvoid main() {\\n  gl_FragColor = color;\\n}\"]);r.line=function(t){return i(t,a,o,null,[{name:\"position\",type:\"vec3\"}])};var s=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec3 position;\\n\\nuniform mat4 model, view, projection;\\nuniform vec3 offset, axis, alignDir, alignOpt;\\nuniform float scale, angle, pixelScale;\\nuniform vec2 resolution;\\n\\nvec3 project(vec3 p) {\\n  vec4 pp = projection * view * model * vec4(p, 1.0);\\n  return pp.xyz / max(pp.w, 0.0001);\\n}\\n\\nfloat computeViewAngle(vec3 a, vec3 b) {\\n  vec3 A = project(a);\\n  vec3 B = project(b);\\n\\n  return atan(\\n    (B.y - A.y) * resolution.y,\\n    (B.x - A.x) * resolution.x\\n  );\\n}\\n\\nconst float PI = 3.141592;\\nconst float TWO_PI = 2.0 * PI;\\nconst float HALF_PI = 0.5 * PI;\\nconst float ONE_AND_HALF_PI = 1.5 * PI;\\n\\nint option = int(floor(alignOpt.x + 0.001));\\nfloat hv_ratio =       alignOpt.y;\\nbool enableAlign =    (alignOpt.z != 0.0);\\n\\nfloat mod_angle(float a) {\\n  return mod(a, PI);\\n}\\n\\nfloat positive_angle(float a) {\\n  return mod_angle((a < 0.0) ?\\n    a + TWO_PI :\\n    a\\n  );\\n}\\n\\nfloat look_upwards(float a) {\\n  float b = positive_angle(a);\\n  return ((b > 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}\"]);r.text=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}\"]),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}\"]);r.bg=function(t){return i(t,c,u,null,[{name:\"position\",type:\"vec3\"},{name:\"normal\",type:\"vec3\"}])}},{\"gl-shader\":132,glslify:231}],75:[function(t,e,r){(function(r){(function(){\"use strict\";e.exports=function(t,e,r,a,s,l){var u=n(t),f=i(t,[{buffer:u,size:3}]),h=o(t);h.attributes.position.location=0;var p=new c(t,h,u,f);return p.update(e,r,a,s,l),p};var n=t(\"gl-buffer\"),i=t(\"gl-vao\"),a=t(\"vectorize-text\"),o=t(\"./shaders\").text,s=window||r.global||{},l=s.__TEXT_CACHE||{};s.__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}var u=c.prototype,f=[0,0];u.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},u.unbind=function(){this.vao.unbind()},u.update=function(t,e,r,n,i){var o=[];function s(t,e,r,n,i,s){var c=l[r];c||(c=l[r]={});var u=c[e];u||(u=c[e]=function(t,e){try{return a(t,e)}catch(e){return console.warn('error vectorizing text:\"'+t+'\" error:',e),{cells:[],positions:[]}}}(e,{triangles:!0,font:r,textAlign:\"center\",textBaseline:\"middle\",lineSpacing:i,styletags:s}));for(var f=(n||12)/12,h=u.positions,p=u.cells,d=0,m=p.length;d<m;++d)for(var g=p[d],v=2;v>=0;--v){var y=h[g[v]];o.push(f*y[0],-f*y[1],t)}}for(var c=[0,0,0],u=[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]=o.length/3|0,s(.5*(t[0][d]+t[1][d]),e[d],r[d],12,1.25,p),h[d]=(o.length/3|0)-f[d],c[d]=o.length/3|0;for(var m=0;m<n[d].length;++m)n[d][m].text&&s(n[d][m].x,n[d][m].text,n[d][m].font||i,n[d][m].fontSize||12,1.25,p);u[d]=(o.length/3|0)-c[d]}this.buffer.update(o),this.tickOffset=c,this.tickCount=u,this.labelOffset=f,this.labelCount=h},u.drawTicks=function(t,e,r,n,i,a,o,s){this.tickCount[t]&&(this.shader.uniforms.axis=a,this.shader.uniforms.color=i,this.shader.uniforms.angle=r,this.shader.uniforms.scale=e,this.shader.uniforms.offset=n,this.shader.uniforms.alignDir=o,this.shader.uniforms.alignOpt=s,this.vao.draw(this.gl.TRIANGLES,this.tickCount[t],this.tickOffset[t]))},u.drawLabel=function(t,e,r,n,i,a,o,s){this.labelCount[t]&&(this.shader.uniforms.axis=a,this.shader.uniforms.color=i,this.shader.uniforms.angle=r,this.shader.uniforms.scale=e,this.shader.uniforms.offset=n,this.shader.uniforms.alignDir=o,this.shader.uniforms.alignOpt=s,this.vao.draw(this.gl.TRIANGLES,this.labelCount[t],this.labelOffset[t]))},u.dispose=function(){this.shader.dispose(),this.vao.dispose(),this.buffer.dispose()}}).call(this)}).call(this,t(\"_process\"))},{\"./shaders\":74,_process:5,\"gl-buffer\":78,\"gl-vao\":150,\"vectorize-text\":311}],76:[function(t,e,r){\"use strict\";function n(t,e){var r=t+\"\",n=r.indexOf(\".\"),i=0;n>=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 f=\"\"+c;f.length<i;)f=\"0\"+f;return u+\".\"+f}return u}r.create=function(t,e){for(var r=[],i=0;i<3;++i){for(var a=[],o=(t[0][i],t[1][i],0);o*e[i]<=t[1][i];++o)a.push({x:o*e[i],text:n(e[i],o)});for(o=-1;o*e[i]>=t[0][i];--o)a.push({x:o*e[i],text:n(e[i],o)});r.push(a)}return r},r.equal=function(t,e){for(var r=0;r<3;++r){if(t[r].length!==e[r].length)return!1;for(var n=0;n<t[r].length;++n){var i=t[r][n],a=e[r][n];if(i.x!==a.x||i.text!==a.text||i.font!==a.font||i.fontColor!==a.fontColor||i.fontSize!==a.fontSize||i.dx!==a.dx||i.dy!==a.dy)return!1}}return!0}},{}],77:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,l,f){var h=e.model||c,p=e.view||c,v=e.projection||c,y=e._ortho||!1,x=t.bounds,b=(f=f||a(h,p,v,x,y)).axis;o(u,p,h),o(u,v,u);for(var _=m,w=0;w<3;++w)_[w].lo=1/0,_[w].hi=-1/0,_[w].pixelsPerDataUnit=1/0;var T=n(s(u,u));s(u,u);for(var k=0;k<3;++k){var A=(k+1)%3,M=(k+2)%3,S=g;t:for(w=0;w<2;++w){var E=[];if(b[k]<0!=!!w){S[k]=x[w][k];for(var L=0;L<2;++L){S[A]=x[L^w][A];for(var C=0;C<2;++C)S[M]=x[C^L^w][M],E.push(S.slice())}var P=y?5:4;for(L=P;L===P;++L){if(0===E.length)continue t;E=i.positive(E,T[L])}for(L=0;L<E.length;++L){M=E[L];var I=d(g,u,M,r,l);for(C=0;C<3;++C)_[C].lo=Math.min(_[C].lo,M[C]),_[C].hi=Math.max(_[C].hi,M[C]),C!==k&&(_[C].pixelsPerDataUnit=Math.min(_[C].pixelsPerDataUnit,Math.abs(I[C])))}}}}return _};var n=t(\"extract-frustum-planes\"),i=t(\"split-polygon\"),a=t(\"./lib/cube.js\"),o=t(\"gl-mat4/multiply\"),s=t(\"gl-mat4/transpose\"),l=t(\"gl-vec4/transformMat4\"),c=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),u=new Float32Array(16);function f(t,e,r){this.lo=t,this.hi=e,this.pixelsPerDataUnit=r}var h=[0,0,0,1],p=[0,0,0,1];function d(t,e,r,n,i){for(var a=0;a<3;++a){for(var o=h,s=p,c=0;c<3;++c)s[c]=o[c]=r[c];s[3]=o[3]=1,s[a]+=1,l(s,s,e),s[3]<0&&(t[a]=1/0),o[a]-=1,l(o,o,e),o[3]<0&&(t[a]=1/0);var u=(o[0]/o[3]-s[0]/s[3])*n,f=(o[1]/o[3]-s[1]/s[3])*i;t[a]=.25*Math.sqrt(u*u+f*f)}return t}var m=[new f(1/0,-1/0,1/0),new f(1/0,-1/0,1/0),new f(1/0,-1/0,1/0)],g=[0,0,0]},{\"./lib/cube.js\":72,\"extract-frustum-planes\":67,\"gl-mat4/multiply\":100,\"gl-mat4/transpose\":109,\"gl-vec4/transformMat4\":221,\"split-polygon\":300}],78:[function(t,e,r){\"use strict\";var n=t(\"typedarray-pool\"),i=t(\"ndarray-ops\"),a=t(\"ndarray\"),o=[\"uint8\",\"uint8_clamped\",\"uint16\",\"uint32\",\"int8\",\"int16\",\"int32\",\"float32\"];function s(t,e,r,n,i){this.gl=t,this.type=e,this.handle=r,this.length=n,this.usage=i}var l=s.prototype;function c(t,e,r,n,i,a){var o=i.length*i.BYTES_PER_ELEMENT;if(a<0)return t.bufferData(e,i,n),o;if(o+a>r)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<i;++a)r[a]=t[a];return r}l.bind=function(){this.gl.bindBuffer(this.type,this.handle)},l.unbind=function(){this.gl.bindBuffer(this.type,null)},l.dispose=function(){this.gl.deleteBuffer(this.handle)},l.update=function(t,e){if(\"number\"!=typeof e&&(e=-1),this.bind(),\"object\"==typeof t&&void 0!==t.shape){var r=t.dtype;if(o.indexOf(r)<0&&(r=\"float32\"),this.type===this.gl.ELEMENT_ARRAY_BUFFER)r=gl.getExtension(\"OES_element_index_uint\")&&\"uint16\"!==r?\"uint32\":\"uint16\";if(r===t.dtype&&function(t,e){for(var r=1,n=e.length-1;n>=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 f;f=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?f:f.subarray(0,t.length),e),n.free(f)}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}},e.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}},{ndarray:259,\"ndarray-ops\":254,\"typedarray-pool\":308}],79:[function(t,e,r){\"use strict\";var n=t(\"gl-vec3\");e.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,f=1/0,h=-1/0,p=null,d=null,m=[],g=1/0,v=!1,y=0;y<r.length;y++){var x=r[y];s=Math.min(x[0],s),l=Math.max(x[0],l),c=Math.min(x[1],c),u=Math.max(x[1],u),f=Math.min(x[2],f),h=Math.max(x[2],h);var b=i[y];if(n.length(b)>o&&(o=n.length(b)),y){var _=2*n.distance(p,x)/(n.length(d)+n.length(b));_?(g=Math.min(g,_),v=!1):v=!0}v||(p=x,d=b),m.push(b)}var w=[s,c,f],T=[l,u,h];e&&(e[0]=w,e[1]=T),0===o&&(o=1);var k=1/o;isFinite(g)||(g=1),a.vectorScale=g;var A=t.coneSize||.5;t.absoluteConeSize&&(A=t.absoluteConeSize*k),a.coneScale=A;y=0;for(var M=0;y<r.length;y++)for(var S=(x=r[y])[0],E=x[1],L=x[2],C=m[y],P=n.length(C)*k,I=0;I<8;I++){a.positions.push([S,E,L,M++]),a.positions.push([S,E,L,M++]),a.positions.push([S,E,L,M++]),a.positions.push([S,E,L,M++]),a.positions.push([S,E,L,M++]),a.positions.push([S,E,L,M++]),a.vectors.push(C),a.vectors.push(C),a.vectors.push(C),a.vectors.push(C),a.vectors.push(C),a.vectors.push(C),a.vertexIntensity.push(P,P,P),a.vertexIntensity.push(P,P,P);var O=a.positions.length;a.cells.push([O-6,O-5,O-4],[O-3,O-2,O-1])}return a};var i=t(\"./lib/shaders\");e.exports.createMesh=t(\"./create_mesh\"),e.exports.createConeMesh=function(t,r){return e.exports.createMesh(t,r,{shaders:i,traceType:\"cone\"})}},{\"./create_mesh\":80,\"./lib/shaders\":81,\"gl-vec3\":169}],80:[function(t,e,r){\"use strict\";var n=t(\"gl-shader\"),i=t(\"gl-buffer\"),a=t(\"gl-vao\"),o=t(\"gl-texture2d\"),s=t(\"gl-mat4/multiply\"),l=t(\"gl-mat4/invert\"),c=t(\"ndarray\"),u=t(\"colormap\"),f=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function h(t,e,r,n,i,a,o,s,l,c,u){this.gl=t,this.pixelRatio=1,this.cells=[],this.positions=[],this.intensity=[],this.texture=e,this.dirty=!0,this.triShader=r,this.pickShader=n,this.trianglePositions=i,this.triangleVectors=a,this.triangleColors=s,this.triangleUVs=l,this.triangleIds=o,this.triangleVAO=c,this.triangleCount=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.traceType=u,this.tubeScale=1,this.coneScale=2,this.vectorScale=1,this.coneOffset=.25,this._model=f,this._view=f,this._projection=f,this._resolution=[1,1]}var p=h.prototype;function d(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}function m(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}p.isOpaque=function(){return this.opacity>=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=[],f=[];this.cells=r,this.positions=n,this.vectors=i;var h=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;g<p.length;++g){var v=p[g];d=Math.min(d,v),m=Math.max(m,v)}else for(g=0;g<n.length;++g){v=n[g][2];d=Math.min(d,v),m=Math.max(m,v)}this.intensity=p||function(t){for(var e=t.length,r=new Array(e),n=0;n<e;++n)r[n]=t[n][2];return r}(n),this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]];for(g=0;g<n.length;++g)for(var y=n[g],x=0;x<3;++x)!isNaN(y[x])&&isFinite(y[x])&&(this.bounds[0][x]=Math.min(this.bounds[0][x],y[x]),this.bounds[1][x]=Math.max(this.bounds[1][x],y[x]));var b=0;t:for(g=0;g<r.length;++g){var _=r[g];switch(_.length){case 3:for(x=0;x<3;++x){y=n[T=_[x]];for(var w=0;w<3;++w)if(isNaN(y[w])||!isFinite(y[w]))continue t}for(x=0;x<3;++x){var T;y=n[T=_[2-x]];a.push(y[0],y[1],y[2],y[3]);var k=i[T];o.push(k[0],k[1],k[2],k[3]||0);var A,M=h;3===M.length?s.push(M[0],M[1],M[2],1):s.push(M[0],M[1],M[2],M[3]),A=p?[(p[T]-d)/(m-d),0]:[(y[2]-d)/(m-d),0],l.push(A[0],A[1]),f.push(g)}b+=1}}this.triangleCount=b,this.trianglePositions.update(a),this.triangleVectors.update(o),this.triangleColors.update(s),this.triangleUVs.update(l),this.triangleIds.update(new Uint32Array(f))}},p.drawTransparent=p.draw=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]);var c={model:r,view:n,projection:i,inverseModel:f.slice(),clipBounds:a,kambient:this.ambientLight,kdiffuse:this.diffuseLight,kspecular:this.specularLight,roughness:this.roughness,fresnel:this.fresnel,eyePosition:[0,0,0],lightPosition:[0,0,0],opacity:this.opacity,tubeScale:this.tubeScale,vectorScale:this.vectorScale,coneScale:this.coneScale,coneOffset:this.coneOffset,texture:0};c.inverseModel=l(c.inverseModel,c.model),e.disable(e.CULL_FACE),this.texture.bind(0);var u=new Array(16);s(u,c.view,c.model),s(u,c.projection,u),l(u,u);for(o=0;o<3;++o)c.eyePosition[o]=u[12+o]/u[15];var h=u[15];for(o=0;o<3;++o)h+=this.lightPosition[o]*u[4*o+3];for(o=0;o<3;++o){for(var p=u[12+o],d=0;d<3;++d)p+=u[4*d+o]*this.lightPosition[d];c.lightPosition[o]=p/h}if(this.triangleCount>0){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||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()},e.exports=function(t,e,r){var n=r.shaders;1===arguments.length&&(t=(e=t).gl);var s=d(t,n),l=m(t,n),u=o(t,c(new Uint8Array([255,255,255,255]),[1,1,4]));u.generateMipmap(),u.minFilter=t.LINEAR_MIPMAP_LINEAR,u.magFilter=t.LINEAR;var f=i(t),p=i(t),g=i(t),v=i(t),y=i(t),x=a(t,[{buffer:f,type:t.FLOAT,size:4},{buffer:y,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:g,type:t.FLOAT,size:4},{buffer:v,type:t.FLOAT,size:2},{buffer:p,type:t.FLOAT,size:4}]),b=new h(t,u,s,l,f,p,y,g,v,x,r.traceType||\"cone\");return b.update(e),b}},{colormap:53,\"gl-buffer\":78,\"gl-mat4/invert\":98,\"gl-mat4/multiply\":100,\"gl-shader\":132,\"gl-texture2d\":146,\"gl-vao\":150,ndarray:259}],81:[function(t,e,r){var n=t(\"glslify\"),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}\"]);r.meshShader={vertex:i,fragment:a,attributes:[{name:\"position\",type:\"vec4\"},{name:\"color\",type:\"vec4\"},{name:\"uv\",type:\"vec2\"},{name:\"vector\",type:\"vec3\"}]},r.pickShader={vertex:o,fragment:s,attributes:[{name:\"position\",type:\"vec4\"},{name:\"id\",type:\"vec4\"},{name:\"vector\",type:\"vec3\"}]}},{glslify:231}],82:[function(t,e,r){e.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\"}},{}],83:[function(t,e,r){var n=t(\"./1.0/numbers\");e.exports=function(t){return n[t]}},{\"./1.0/numbers\":82}],84:[function(t,e,r){\"use strict\";e.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=t(\"gl-buffer\"),i=t(\"gl-vao\"),a=t(\"./shaders/index\"),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||!1?2:1)*this.pixelRatio*(i[3]*a+i[7]*s+i[11]*l+i[15]*c)/e.drawingBufferHeight;this.vao.bind();for(var f=0;f<3;++f)e.lineWidth(this.lineWidth[f]*this.pixelRatio),r.capSize=this.capSize[f]*u,this.lineCount[f]&&e.drawArrays(e.LINES,this.lineOffset[f],this.lineCount[f]);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 f(t,e,r,n){for(var i=u[n],a=0;a<i.length;++a){var o=i[a];t.push(e[0],e[1],e[2],r[0],r[1],r[2],r[3],o[0],o[1],o[2])}return i.length}l.update=function(t){\"lineWidth\"in(t=t||{})&&(this.lineWidth=t.lineWidth,Array.isArray(this.lineWidth)||(this.lineWidth=[this.lineWidth,this.lineWidth,this.lineWidth])),\"capSize\"in t&&(this.capSize=t.capSize,Array.isArray(this.capSize)||(this.capSize=[this.capSize,this.capSize,this.capSize])),this.hasAlpha=!1,\"opacity\"in t&&(this.opacity=+t.opacity,this.opacity<1&&(this.hasAlpha=!0));var e=t.color||[[0,0,0],[0,0,0],[0,0,0]],r=t.position,n=t.error;if(Array.isArray(e[0])||(e=[e,e,e]),r&&n){var i=[],a=r.length,o=0;this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.lineCount=[0,0,0];for(var s=0;s<3;++s){this.lineOffset[s]=o;t:for(var l=0;l<a;++l){for(var u=r[l],h=0;h<3;++h)if(isNaN(u[h])||!isFinite(u[h]))continue t;var p=n[l],d=e[s];if(Array.isArray(d[0])&&(d=e[l]),3===d.length?d=[d[0],d[1],d[2],1]:4===d.length&&(d=[d[0],d[1],d[2],d[3]],!this.hasAlpha&&d[3]<1&&(this.hasAlpha=!0)),!isNaN(p[0][s])&&!isNaN(p[1][s])){var m;if(p[0][s]<0)(m=u.slice())[s]+=p[0][s],i.push(u[0],u[1],u[2],d[0],d[1],d[2],d[3],0,0,0,m[0],m[1],m[2],d[0],d[1],d[2],d[3],0,0,0),c(this.bounds,m),o+=2+f(i,m,d,s);if(p[1][s]>0)(m=u.slice())[s]+=p[1][s],i.push(u[0],u[1],u[2],d[0],d[1],d[2],d[3],0,0,0,m[0],m[1],m[2],d[0],d[1],d[2],d[3],0,0,0),c(this.bounds,m),o+=2+f(i,m,d,s)}}this.lineCount[s]=o-this.lineOffset[s]}this.buffer.update(i)}},l.dispose=function(){this.shader.dispose(),this.buffer.dispose(),this.vao.dispose()}},{\"./shaders/index\":85,\"gl-buffer\":78,\"gl-vao\":150}],85:[function(t,e,r){\"use strict\";var n=t(\"glslify\"),i=t(\"gl-shader\"),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}\"]);e.exports=function(t){return i(t,a,o,null,[{name:\"position\",type:\"vec3\"},{name:\"color\",type:\"vec4\"},{name:\"offset\",type:\"vec3\"}])}},{\"gl-shader\":132,glslify:231}],86:[function(t,e,r){\"use strict\";var n=t(\"gl-texture2d\");e.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\");!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;a<n;++a)i[a]=t.COLOR_ATTACHMENT0+a;for(a=n;a<r;++a)i[a]=t.NONE;l[n]=i}}(t,c);Array.isArray(e)&&(n=r,r=0|e[1],e=0|e[0]);if(\"number\"!=typeof e)throw new Error(\"gl-fbo: Missing shape parameter\");var u=t.getParameter(t.MAX_RENDERBUFFER_SIZE);if(e<0||e>u||r<0||r>u)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(!c)throw new Error(\"gl-fbo: Multiple draw buffer extension not supported\");if(f>t.getParameter(c.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 m=!0;\"depth\"in n&&(m=!!n.depth);var g=!1;\"stencil\"in n&&(g=!!n.stencil);return new d(t,e,r,h,f,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 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;d<i;++d)this.color[d]=null;this._color_rb=null,this.depth=null,this._depth_rb=null,this._colorType=n,this._useDepth=a,this._useStencil=o;var m=this,g=[0|e,0|r];Object.defineProperties(g,{0:{get:function(){return m._shape[0]},set:function(t){return m.width=t}},1:{get:function(){return m._shape[1]},set:function(t){return m.height=t}}}),this._shapeVector=g,function(t){var e=c(t.gl),r=t.gl,n=t.handle=r.createFramebuffer(),i=t._shape[0],a=t._shape[1],o=t.color.length,s=t._ext,d=t._useStencil,m=t._useDepth,g=t._colorType;r.bindFramebuffer(r.FRAMEBUFFER,n);for(var v=0;v<o;++v)t.color[v]=h(r,i,a,g,r.RGBA,r.COLOR_ATTACHMENT0+v);0===o?(t._color_rb=p(r,i,a,r.RGBA4,r.COLOR_ATTACHMENT0),s&&s.drawBuffersWEBGL(l[0])):o>1&&s.drawBuffersWEBGL(l[o]);var y=r.getExtension(\"WEBGL_depth_texture\");y?d?t.depth=h(r,i,a,y.UNSIGNED_INT_24_8_WEBGL,r.DEPTH_STENCIL,r.DEPTH_STENCIL_ATTACHMENT):m&&(t.depth=h(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){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);for(v=0;v<t.color.length;++v)t.color[v].dispose(),t.color[v]=null;t._color_rb&&(r.deleteRenderbuffer(t._color_rb),t._color_rb=null),u(r,e),f(x)}u(r,e)}(this)}var m=d.prototype;function g(t,e,r){if(t._destroyed)throw new Error(\"gl-fbo: Can't resize destroyed FBO\");if(t._shape[0]!==e||t._shape[1]!==r){var n=t.gl,i=n.getParameter(n.MAX_RENDERBUFFER_SIZE);if(e<0||e>i||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<t.color.length;++o)t.color[o].shape=t._shape;t._color_rb&&(n.bindRenderbuffer(n.RENDERBUFFER,t._color_rb),n.renderbufferStorage(n.RENDERBUFFER,n.RGBA4,t._shape[0],t._shape[1])),t.depth&&(t.depth.shape=t._shape),t._depth_rb&&(n.bindRenderbuffer(n.RENDERBUFFER,t._depth_rb),t._useDepth&&t._useStencil?n.renderbufferStorage(n.RENDERBUFFER,n.DEPTH_STENCIL,t._shape[0],t._shape[1]):t._useDepth?n.renderbufferStorage(n.RENDERBUFFER,n.DEPTH_COMPONENT16,t._shape[0],t._shape[1]):t._useStencil&&n.renderbufferStorage(n.RENDERBUFFER,n.STENCIL_INDEX,t._shape[0],t._shape[1])),n.bindFramebuffer(n.FRAMEBUFFER,t.handle);var s=n.checkFramebufferStatus(n.FRAMEBUFFER);s!==n.FRAMEBUFFER_COMPLETE&&(t.dispose(),u(n,a),f(s)),u(n,a)}}Object.defineProperties(m,{shape:{get:function(){return this._destroyed?[0,0]:this._shapeVector},set:function(t){if(Array.isArray(t)||(t=[0|t,0|t]),2!==t.length)throw new Error(\"gl-fbo: Shape vector must be length 2\");var e=0|t[0],r=0|t[1];return g(this,e,r),[e,r]},enumerable:!1},width:{get:function(){return this._destroyed?0:this._shape[0]},set:function(t){return g(this,t|=0,this._shape[1]),t},enumerable:!1},height:{get:function(){return this._destroyed?0:this._shape[1]},set:function(t){return t|=0,g(this,this._shape[0],t),t},enumerable:!1}}),m.bind=function(){if(!this._destroyed){var t=this.gl;t.bindFramebuffer(t.FRAMEBUFFER,this.handle),t.viewport(0,0,this._shape[0],this._shape[1])}},m.dispose=function(){if(!this._destroyed){this._destroyed=!0;var t=this.gl;t.deleteFramebuffer(this.handle),this.handle=null,this.depth&&(this.depth.dispose(),this.depth=null),this._depth_rb&&(t.deleteRenderbuffer(this._depth_rb),this._depth_rb=null);for(var e=0;e<this.color.length;++e)this.color[e].dispose(),this.color[e]=null;this._color_rb&&(t.deleteRenderbuffer(this._color_rb),this._color_rb=null)}}},{\"gl-texture2d\":146}],87:[function(t,e,r){var n=t(\"sprintf-js\").sprintf,i=t(\"gl-constants/lookup\"),a=t(\"glsl-shader-name\"),o=t(\"add-line-numbers\");e.exports=function(t,e,r){\"use strict\";var s=a(e)||\"of unknown name (see npm glsl-shader-name)\",l=\"unknown type\";void 0!==r&&(l=r===i.FRAGMENT_SHADER?\"fragment\":\"vertex\");for(var c=n(\"Error compiling %s shader %s:\\n\",l,s),u=n(\"%s%s\",c,t),f=t.split(\"\\n\"),h={},p=0;p<f.length;p++){var d=f[p];if(\"\"!==d&&\"\\0\"!==d){var m=parseInt(d.split(\":\")[2]);if(isNaN(m))throw new Error(n(\"Could not parse error: %s\",d));h[m]=d}}var g=o(e).split(\"\\n\");for(p=0;p<g.length;p++)if(h[p+3]||h[p+2]||h[p+1]){var v=g[p];if(c+=v+\"\\n\",h[p+1]){var y=h[p+1];y=y.substr(y.split(\":\",3).join(\":\").length+1).trim(),c+=n(\"^^^ %s\\n\\n\",y)}}return{long:c.trim(),short:u.trim()}}},{\"add-line-numbers\":9,\"gl-constants/lookup\":83,\"glsl-shader-name\":223,\"sprintf-js\":301}],88:[function(t,e,r){\"use strict\";e.exports=function(t,e){var r=t.gl,n=o(r,l.vertex,l.fragment),i=o(r,l.pickVertex,l.pickFragment),a=s(r),u=s(r),f=s(r),h=s(r),p=new c(t,n,i,a,u,f,h);return p.update(e),t.addObject(p),p};var n=t(\"binary-search-bounds\"),i=t(\"iota-array\"),a=t(\"typedarray-pool\"),o=t(\"gl-shader\"),s=t(\"gl-buffer\"),l=t(\"./lib/shaders\");function c(t,e,r,n,i,a,o){this.plot=t,this.shader=e,this.pickShader=r,this.positionBuffer=n,this.weightBuffer=i,this.colorBuffer=a,this.idBuffer=o,this.xData=[],this.yData=[],this.shape=[0,0],this.bounds=[1/0,1/0,-1/0,-1/0],this.pickOffset=0}var u,f=c.prototype,h=[0,0,1,0,0,1,1,0,1,1,0,1];f.draw=(u=[1,0,0,0,1,0,0,0,1],function(){var t=this.plot,e=this.shader,r=this.bounds,n=this.numVertices;if(!(n<=0)){var i=t.gl,a=t.dataBox,o=r[2]-r[0],s=r[3]-r[1],l=a[2]-a[0],c=a[3]-a[1];u[0]=2*o/l,u[4]=2*s/c,u[6]=2*(r[0]-a[0])/l-1,u[7]=2*(r[1]-a[1])/c-1,e.bind();var f=e.uniforms;f.viewTransform=u,f.shape=this.shape;var h=e.attributes;this.positionBuffer.bind(),h.position.pointer(),this.weightBuffer.bind(),h.weight.pointer(i.UNSIGNED_BYTE,!1),this.colorBuffer.bind(),h.color.pointer(i.UNSIGNED_BYTE,!0),i.drawArrays(i.TRIANGLES,0,n)}}),f.drawPick=function(){var t=[1,0,0,0,1,0,0,0,1],e=[0,0,0,0];return function(r){var n=this.plot,i=this.pickShader,a=this.bounds,o=this.numVertices;if(!(o<=0)){var s=n.gl,l=n.dataBox,c=a[2]-a[0],u=a[3]-a[1],f=l[2]-l[0],h=l[3]-l[1];t[0]=2*c/f,t[4]=2*u/h,t[6]=2*(a[0]-l[0])/f-1,t[7]=2*(a[1]-l[1])/h-1;for(var p=0;p<4;++p)e[p]=r>>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]}}}(),f.pick=function(t,e,r){var n=this.pickOffset,i=this.shape[0]*this.shape[1];if(r<n||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 c,u,f,p,d=t.colorLevels||[0],m=t.colorValues||[0,0,0,1],g=d.length,v=this.bounds;l?(c=v[0]=r[0],u=v[1]=o[0],f=v[2]=r[r.length-1],p=v[3]=o[o.length-1]):(c=v[0]=r[0]+(r[1]-r[0])/2,u=v[1]=o[0]+(o[1]-o[0])/2,f=v[2]=r[r.length-1]+(r[r.length-1]-r[r.length-2])/2,p=v[3]=o[o.length-1]+(o[o.length-1]-o[o.length-2])/2);var y=1/(f-c),x=1/(p-u),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<L;++C){var P,I;l?(P=x*(o[C]-u),I=x*(o[C+1]-u)):(P=C<_-1?x*(o[C]-(o[C+1]-o[C])/2-u):x*(o[C]-(o[C]-o[C-1])/2-u),I=C<_-1?x*(o[C]+(o[C+1]-o[C])/2-u):x*(o[C]+(o[C]-o[C-1])/2-u));for(var O=0;O<E;++O){var z,D;l?(z=y*(r[O]-c),D=y*(r[O+1]-c)):(z=O<b-1?y*(r[O]-(r[O+1]-r[O])/2-c):y*(r[O]-(r[O]-r[O-1])/2-c),D=O<b-1?y*(r[O]+(r[O+1]-r[O])/2-c):y*(r[O]+(r[O]-r[O-1])/2-c));for(var R=0;R<h.length;R+=2){var F,B,N,j,U=h[R],V=h[R+1],H=s[l?(C+V)*b+(O+U):C*b+O],q=n.le(d,H);if(q<0)F=m[0],B=m[1],N=m[2],j=m[3];else if(q===g-1)F=m[4*g-4],B=m[4*g-3],N=m[4*g-2],j=m[4*g-1];else{var G=(H-d[q])/(d[q+1]-d[q]),Y=1-G,W=4*q,X=4*(q+1);F=Y*m[W]+G*m[X],B=Y*m[W+1]+G*m[X+1],N=Y*m[W+2]+G*m[X+2],j=Y*m[W+3]+G*m[X+3]}T[4*S]=255*F,T[4*S+1]=255*B,T[4*S+2]=255*N,T[4*S+3]=255*j,k[2*S]=.5*z+.5*D,k[2*S+1]=.5*P+.5*I,A[2*S]=U,A[2*S+1]=V,M[S]=C*b+O,S+=1}}}this.positionBuffer.update(k),this.weightBuffer.update(A),this.colorBuffer.update(T),this.idBuffer.update(M),a.free(k),a.free(T),a.free(A),a.free(M)},f.dispose=function(){this.shader.dispose(),this.pickShader.dispose(),this.positionBuffer.dispose(),this.weightBuffer.dispose(),this.colorBuffer.dispose(),this.idBuffer.dispose(),this.plot.removeObject(this)}},{\"./lib/shaders\":89,\"binary-search-bounds\":31,\"gl-buffer\":78,\"gl-shader\":132,\"iota-array\":235,\"typedarray-pool\":308}],89:[function(t,e,r){\"use strict\";var n=t(\"glslify\");e.exports={fragment:n([\"precision lowp float;\\n#define GLSLIFY 1\\nvarying vec4 fragColor;\\nvoid main() {\\n  gl_FragColor = vec4(fragColor.rgb * fragColor.a, fragColor.a);\\n}\\n\"]),vertex:n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec2 position;\\nattribute vec4 color;\\nattribute vec2 weight;\\n\\nuniform vec2 shape;\\nuniform mat3 viewTransform;\\n\\nvarying vec4 fragColor;\\n\\nvoid main() {\\n  vec3 vPosition = viewTransform * vec3( position + (weight-.5)/(shape-1.) , 1.0);\\n  fragColor = color;\\n  gl_Position = vec4(vPosition.xy, 0, vPosition.z);\\n}\\n\"]),pickFragment:n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nvarying vec4 fragId;\\nvarying vec2 vWeight;\\n\\nuniform vec2 shape;\\nuniform vec4 pickOffset;\\n\\nvoid main() {\\n  vec2 d = step(.5, vWeight);\\n  vec4 id = fragId + pickOffset;\\n  id.x += d.x + d.y*shape.x;\\n\\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  gl_FragColor = id/255.;\\n}\\n\"]),pickVertex:n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec2 position;\\nattribute vec4 pickId;\\nattribute vec2 weight;\\n\\nuniform vec2 shape;\\nuniform mat3 viewTransform;\\n\\nvarying vec4 fragId;\\nvarying vec2 vWeight;\\n\\nvoid main() {\\n  vWeight = weight;\\n\\n  fragId = pickId;\\n\\n  vec3 vPosition = viewTransform * vec3( position + (weight-.5)/(shape-1.) , 1.0);\\n  gl_Position = vec4(vPosition.xy, 0, vPosition.z);\\n}\\n\"])}},{glslify:231}],90:[function(t,e,r){var n=t(\"glslify\"),i=t(\"gl-shader\"),a=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec3 position, nextPosition;\\nattribute float arcLength, lineWidth;\\nattribute vec4 color;\\n\\nuniform vec2 screenShape;\\nuniform float pixelRatio;\\nuniform mat4 model, view, projection;\\n\\nvarying vec4 fragColor;\\nvarying vec3 worldPosition;\\nvarying float pixelArcLength;\\n\\nvec4 project(vec3 p) {\\n  return projection * view * model * vec4(p, 1.0);\\n}\\n\\nvoid main() {\\n  vec4 startPoint = project(position);\\n  vec4 endPoint   = project(nextPosition);\\n\\n  vec2 A = startPoint.xy / startPoint.w;\\n  vec2 B =   endPoint.xy /   endPoint.w;\\n\\n  float clipAngle = atan(\\n    (B.y - A.y) * screenShape.y,\\n    (B.x - A.x) * screenShape.x\\n  );\\n\\n  vec2 offset = 0.5 * pixelRatio * lineWidth * vec2(\\n    sin(clipAngle),\\n    -cos(clipAngle)\\n  ) / screenShape;\\n\\n  gl_Position = vec4(startPoint.xy + startPoint.w * offset, startPoint.zw);\\n\\n  worldPosition = position;\\n  pixelArcLength = arcLength;\\n  fragColor = color;\\n}\\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 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\"}];r.createShader=function(t){return i(t,a,o,null,l)},r.createPickShader=function(t){return i(t,a,s,null,l)}},{\"gl-shader\":132,glslify:231}],91:[function(t,e,r){\"use strict\";e.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}]),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 v(e,r,o,s,l,d);return m.update(t),m};var n=t(\"gl-buffer\"),i=t(\"gl-vao\"),a=t(\"gl-texture2d\"),o=new Uint8Array(4),s=new Float32Array(o.buffer);var l=t(\"binary-search-bounds\"),c=t(\"ndarray\"),u=t(\"./lib/shaders\"),f=u.createShader,h=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 v(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 y=v.prototype;y.isTransparent=function(){return this.hasAlpha},y.isOpaque=function(){return!this.hasAlpha},y.pickSlots=1,y.setPickBase=function(t){this.pickId=t},y.drawTransparent=y.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()}},y.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()}},y.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,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],m=t.lineWidth||1,g=!1;t:for(e=1;e<h.length;++e){var v,y,x,b=h[e-1],_=h[e];for(a.push(s),o.push(b.slice()),r=0;r<3;++r){if(isNaN(b[r])||isNaN(_[r])||!isFinite(b[r])||!isFinite(_[r])){if(!n&&i.length>0){for(var w=0;w<24;++w)i.push(i[i.length-12]);u+=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])?(v=p.length>e-1?p[e-1]:p.length>0?p[p.length-1]:[0,0,0,1],y=p.length>e?p[e]:p.length>0?p[p.length-1]:[0,0,0,1]):v=y=p,3===v.length&&(v=[v[0],v[1],v[2],1]),3===y.length&&(y=[y[0],y[1],y[2],1]),!this.hasAlpha&&v[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(b[0],b[1],b[2],_[0],_[1],_[2],T,x,v[0],v[1],v[2],v[3]);u+=2,g=!1}i.push(b[0],b[1],b[2],_[0],_[1],_[2],T,x,v[0],v[1],v[2],v[3],b[0],b[1],b[2],_[0],_[1],_[2],T,-x,v[0],v[1],v[2],v[3],_[0],_[1],_[2],b[0],b[1],b[2],s,-x,y[0],y[1],y[2],y[3],_[0],_[1],_[2],b[0],b[1],b[2],s,x,y[0],y[1],y[2],y[3]),u+=4}}if(this.buffer.update(i),a.push(s),o.push(h[h.length-1].slice()),this.bounds=f,this.vertexCount=u,this.points=o,this.arcLength=a,\"dashes\"in t){var k=t.dashes.slice();for(k.unshift(0),e=1;e<k.length;++e)k[e]=k[e-1]+k[e];var A=c(new Array(1024),[256,1,4]);for(e=0;e<256;++e){for(r=0;r<4;++r)A.set(e,0,r,0);1&l.le(k,k[k.length-1]*e/255)?A.set(e,0,0,0):A.set(e,0,0,255)}this.texture.setPixels(A)}},y.dispose=function(){this.shader.dispose(),this.vao.dispose(),this.buffer.dispose()},y.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;var e=function(t,e,r,n){return o[0]=n,o[1]=r,o[2]=e,o[3]=t,s[0]}(t.value[0],t.value[1],t.value[2],0),r=l.le(this.arcLength,e);if(r<0)return null;if(r===this.arcLength.length-1)return new g(this.arcLength[this.arcLength.length-1],this.points[this.points.length-1].slice(),r);for(var n=this.points[r],i=this.points[Math.min(r+1,this.points.length-1)],a=(e-this.arcLength[r])/(this.arcLength[r+1]-this.arcLength[r]),c=1-a,u=[0,0,0],f=0;f<3;++f)u[f]=c*n[f]+a*i[f];var h=Math.min(a<.5?r:r+1,this.points.length-1);return new g(e,u,h,this.points[h])}},{\"./lib/shaders\":90,\"binary-search-bounds\":31,\"gl-buffer\":78,\"gl-texture2d\":146,\"gl-vao\":150,ndarray:259}],92:[function(t,e,r){e.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}},{}],93:[function(t,e,r){e.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}},{}],94:[function(t,e,r){e.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],f=t[10],h=t[11],p=t[12],d=t[13],m=t[14],g=t[15];return(e*o-r*a)*(f*g-h*m)-(e*s-n*a)*(u*g-h*d)+(e*l-i*a)*(u*m-f*d)+(r*s-n*o)*(c*g-h*p)-(r*l-i*o)*(c*m-f*p)+(n*l-i*s)*(c*d-u*p)}},{}],95:[function(t,e,r){e.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,f=n*s,h=i*o,p=i*s,d=i*l,m=a*o,g=a*s,v=a*l;return t[0]=1-f-d,t[1]=u+v,t[2]=h-g,t[3]=0,t[4]=u-v,t[5]=1-c-d,t[6]=p+m,t[7]=0,t[8]=h+g,t[9]=p-m,t[10]=1-c-f,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},{}],96:[function(t,e,r){e.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,f=n*l,h=n*c,p=i*l,d=i*c,m=a*c,g=o*s,v=o*l,y=o*c;return t[0]=1-(p+m),t[1]=f+y,t[2]=h-v,t[3]=0,t[4]=f-y,t[5]=1-(u+m),t[6]=d+g,t[7]=0,t[8]=h+v,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}},{}],97:[function(t,e,r){e.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}},{}],98:[function(t,e,r){e.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],f=e[9],h=e[10],p=e[11],d=e[12],m=e[13],g=e[14],v=e[15],y=r*s-n*o,x=r*l-i*o,b=r*c-a*o,_=n*l-i*s,w=n*c-a*s,T=i*c-a*l,k=u*m-f*d,A=u*g-h*d,M=u*v-p*d,S=f*g-h*m,E=f*v-p*m,L=h*v-p*g,C=y*L-x*E+b*S+_*M-w*A+T*k;if(!C)return null;return C=1/C,t[0]=(s*L-l*E+c*S)*C,t[1]=(i*E-n*L-a*S)*C,t[2]=(m*T-g*w+v*_)*C,t[3]=(h*w-f*T-p*_)*C,t[4]=(l*M-o*L-c*A)*C,t[5]=(r*L-i*M+a*A)*C,t[6]=(g*b-d*T-v*x)*C,t[7]=(u*T-h*b+p*x)*C,t[8]=(o*E-s*M+c*k)*C,t[9]=(n*M-r*E-a*k)*C,t[10]=(d*w-m*b+v*y)*C,t[11]=(f*b-u*w-p*y)*C,t[12]=(s*A-o*S-l*k)*C,t[13]=(r*S-n*A+i*k)*C,t[14]=(m*x-d*_-g*y)*C,t[15]=(u*_-f*x+h*y)*C,t}},{}],99:[function(t,e,r){var n=t(\"./identity\");e.exports=function(t,e,r,i){var a,o,s,l,c,u,f,h,p,d,m=e[0],g=e[1],v=e[2],y=i[0],x=i[1],b=i[2],_=r[0],w=r[1],T=r[2];if(Math.abs(m-_)<1e-6&&Math.abs(g-w)<1e-6&&Math.abs(v-T)<1e-6)return n(t);f=m-_,h=g-w,p=v-T,d=1/Math.sqrt(f*f+h*h+p*p),a=x*(p*=d)-b*(h*=d),o=b*(f*=d)-y*p,s=y*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,c=p*a-f*s,u=f*o-h*a,(d=Math.sqrt(l*l+c*c+u*u))?(l*=d=1/d,c*=d,u*=d):(l=0,c=0,u=0);return t[0]=a,t[1]=l,t[2]=f,t[3]=0,t[4]=o,t[5]=c,t[6]=h,t[7]=0,t[8]=s,t[9]=u,t[10]=p,t[11]=0,t[12]=-(a*m+o*g+s*v),t[13]=-(l*m+c*g+u*v),t[14]=-(f*m+h*g+p*v),t[15]=1,t}},{\"./identity\":97}],100:[function(t,e,r){e.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],f=e[8],h=e[9],p=e[10],d=e[11],m=e[12],g=e[13],v=e[14],y=e[15],x=r[0],b=r[1],_=r[2],w=r[3];return t[0]=x*n+b*s+_*f+w*m,t[1]=x*i+b*l+_*h+w*g,t[2]=x*a+b*c+_*p+w*v,t[3]=x*o+b*u+_*d+w*y,x=r[4],b=r[5],_=r[6],w=r[7],t[4]=x*n+b*s+_*f+w*m,t[5]=x*i+b*l+_*h+w*g,t[6]=x*a+b*c+_*p+w*v,t[7]=x*o+b*u+_*d+w*y,x=r[8],b=r[9],_=r[10],w=r[11],t[8]=x*n+b*s+_*f+w*m,t[9]=x*i+b*l+_*h+w*g,t[10]=x*a+b*c+_*p+w*v,t[11]=x*o+b*u+_*d+w*y,x=r[12],b=r[13],_=r[14],w=r[15],t[12]=x*n+b*s+_*f+w*m,t[13]=x*i+b*l+_*h+w*g,t[14]=x*a+b*c+_*p+w*v,t[15]=x*o+b*u+_*d+w*y,t}},{}],101:[function(t,e,r){e.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}},{}],102:[function(t,e,r){e.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}},{}],103:[function(t,e,r){e.exports=function(t,e,r,n){var i,a,o,s,l,c,u,f,h,p,d,m,g,v,y,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);if(Math.abs(P)<1e-6)return null;E*=P=1/P,L*=P,C*=P,i=Math.sin(r),a=Math.cos(r),o=1-a,s=e[0],l=e[1],c=e[2],u=e[3],f=e[4],h=e[5],p=e[6],d=e[7],m=e[8],g=e[9],v=e[10],y=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+m*_,t[1]=l*x+h*b+g*_,t[2]=c*x+p*b+v*_,t[3]=u*x+d*b+y*_,t[4]=s*w+f*T+m*k,t[5]=l*w+h*T+g*k,t[6]=c*w+p*T+v*k,t[7]=u*w+d*T+y*k,t[8]=s*A+f*M+m*S,t[9]=l*A+h*M+g*S,t[10]=c*A+p*M+v*S,t[11]=u*A+d*M+y*S,e!==t&&(t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]);return t}},{}],104:[function(t,e,r){e.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],f=e[10],h=e[11];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]);return t[4]=a*i+c*n,t[5]=o*i+u*n,t[6]=s*i+f*n,t[7]=l*i+h*n,t[8]=c*i-a*n,t[9]=u*i-o*n,t[10]=f*i-s*n,t[11]=h*i-l*n,t}},{}],105:[function(t,e,r){e.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],f=e[10],h=e[11];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]);return t[0]=a*i-c*n,t[1]=o*i-u*n,t[2]=s*i-f*n,t[3]=l*i-h*n,t[8]=a*n+c*i,t[9]=o*n+u*i,t[10]=s*n+f*i,t[11]=l*n+h*i,t}},{}],106:[function(t,e,r){e.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],f=e[6],h=e[7];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]);return t[0]=a*i+c*n,t[1]=o*i+u*n,t[2]=s*i+f*n,t[3]=l*i+h*n,t[4]=c*i-a*n,t[5]=u*i-o*n,t[6]=f*i-s*n,t[7]=h*i-l*n,t}},{}],107:[function(t,e,r){e.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}},{}],108:[function(t,e,r){e.exports=function(t,e,r){var n,i,a,o,s,l,c,u,f,h,p,d,m=r[0],g=r[1],v=r[2];e===t?(t[12]=e[0]*m+e[4]*g+e[8]*v+e[12],t[13]=e[1]*m+e[5]*g+e[9]*v+e[13],t[14]=e[2]*m+e[6]*g+e[10]*v+e[14],t[15]=e[3]*m+e[7]*g+e[11]*v+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],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]=c,t[7]=u,t[8]=f,t[9]=h,t[10]=p,t[11]=d,t[12]=n*m+s*g+f*v+e[12],t[13]=i*m+l*g+h*v+e[13],t[14]=a*m+c*g+p*v+e[14],t[15]=o*m+u*g+d*v+e[15]);return t}},{}],109:[function(t,e,r){e.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}},{}],110:[function(t,e,r){\"use strict\";var n=t(\"barycentric\"),i=t(\"polytope-closest-point/lib/closest_point_2d.js\");function a(t,e){for(var r=[0,0,0,0],n=0;n<4;++n)for(var i=0;i<4;++i)r[i]+=t[4*n+i]*e[n];return r}function o(t,e,r,n,i){for(var o=a(n,a(r,a(e,[t[0],t[1],t[2],1]))),s=0;s<3;++s)o[s]/=o[3];return[.5*i[0]*(1+o[0]),.5*i[1]*(1-o[1])]}function s(t,e){for(var r=[0,0,0],n=0;n<t.length;++n)for(var i=t[n],a=e[n],o=0;o<3;++o)r[o]+=a*i[o];return r}e.exports=function(t,e,r,a,l,c){if(1===t.length)return[0,t[0].slice()];for(var u=new Array(t.length),f=0;f<t.length;++f)u[f]=o(t[f],r,a,l,c);var h=0,p=1/0;for(f=0;f<u.length;++f){for(var d=0,m=0;m<2;++m)d+=Math.pow(u[f][m]-e[m],2);d<p&&(p=d,h=f)}var g=function(t,e){if(2===t.length){for(var r=0,a=0,o=0;o<2;++o)r+=Math.pow(e[o]-t[0][o],2),a+=Math.pow(e[o]-t[1][o],2);return r=Math.sqrt(r),a=Math.sqrt(a),r+a<1e-6?[1,0]:[a/(r+a),r/(a+r)]}if(3===t.length){var s=[0,0];return i(t[0],t[1],t[2],e,s),n(t,s)}return[]}(u,e),v=0;for(f=0;f<3;++f){if(g[f]<-.001||g[f]>1.0001)return null;v+=g[f]}if(Math.abs(v-1)>.001)return null;return[h,s(t,g),g]}},{barycentric:14,\"polytope-closest-point/lib/closest_point_2d.js\":270}],111:[function(t,e,r){var n=t(\"glslify\"),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}\"]),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\"]);r.meshShader={vertex:i,fragment:a,attributes:[{name:\"position\",type:\"vec3\"},{name:\"normal\",type:\"vec3\"},{name:\"color\",type:\"vec4\"},{name:\"uv\",type:\"vec2\"}]},r.wireShader={vertex:o,fragment:s,attributes:[{name:\"position\",type:\"vec3\"},{name:\"color\",type:\"vec4\"},{name:\"uv\",type:\"vec2\"}]},r.pointShader={vertex:l,fragment:c,attributes:[{name:\"position\",type:\"vec3\"},{name:\"color\",type:\"vec4\"},{name:\"uv\",type:\"vec2\"},{name:\"pointSize\",type:\"float\"}]},r.pickShader={vertex:u,fragment:f,attributes:[{name:\"position\",type:\"vec3\"},{name:\"id\",type:\"vec4\"}]},r.pointPickShader={vertex:h,fragment:f,attributes:[{name:\"position\",type:\"vec3\"},{name:\"pointSize\",type:\"float\"},{name:\"id\",type:\"vec4\"}]},r.contourShader={vertex:p,fragment:d,attributes:[{name:\"position\",type:\"vec3\"}]}},{glslify:231}],112:[function(t,e,r){\"use strict\";var n=t(\"gl-shader\"),i=t(\"gl-buffer\"),a=t(\"gl-vao\"),o=t(\"gl-texture2d\"),s=t(\"normals\"),l=t(\"gl-mat4/multiply\"),c=t(\"gl-mat4/invert\"),u=t(\"ndarray\"),f=t(\"colormap\"),h=t(\"simplicial-complex-contour\"),p=t(\"typedarray-pool\"),d=t(\"./lib/shaders\"),m=t(\"./lib/closest-point\"),g=d.meshShader,v=d.wireShader,y=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,c,u,f,h,p,d,m,g,v,y,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=h,this.triangleUVs=f,this.triangleIds=c,this.triangleVAO=p,this.triangleCount=0,this.lineWidth=1,this.edgePositions=d,this.edgeColors=g,this.edgeUVs=v,this.edgeIds=m,this.edgeVAO=y,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;r<e.length;++r){if(e.length<2)return 1;if(e[r][0]===t)return e[r][1];if(e[r][0]>t&&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,g.vertex,g.fragment);return e.attributes.position.location=0,e.attributes.color.location=2,e.attributes.uv.location=3,e.attributes.normal.location=4,e}function S(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}function E(t){var e=n(t,y.vertex,y.fragment);return e.attributes.position.location=0,e.attributes.color.location=2,e.attributes.uv.location=3,e.attributes.pointSize.location=4,e}function L(t){var e=n(t,x.vertex,x.fragment);return e.attributes.position.location=0,e.attributes.id.location=1,e}function C(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 P(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;l<a;++l)for(var c=r[l],u=0;u<2;++u){var f=c[0];2===c.length&&(f=c[u]);for(var d=n[f][0],m=n[f][1],g=i[f],v=1-g,y=this.positions[d],x=this.positions[m],b=0;b<3;++b)o[s++]=g*y[b]+v*x[b]}this.contourCount=s/3|0,this.contourPositions.update(o.subarray(0,s)),p.free(o)}else this.contourCount=0},k.update=function(t){t=t||{};var e=this.gl;this.dirty=!0,\"contourEnable\"in t&&(this.contourEnable=t.contourEnable),\"contourColor\"in t&&(this.contourColor=t.contourColor),\"lineWidth\"in t&&(this.lineWidth=t.lineWidth),\"lightPosition\"in t&&(this.lightPosition=t.lightPosition),this.hasAlpha=!1,\"opacity\"in t&&(this.opacity=t.opacity,this.opacity<1&&(this.hasAlpha=!0)),\"opacityscale\"in t&&(this.opacityscale=t.opacityscale,this.hasAlpha=!0),\"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),t.texture?(this.texture.dispose(),this.texture=o(e,t.texture)):t.colormap&&(this.texture.shape=[256,256],this.texture.minFilter=e.LINEAR_MIPMAP_LINEAR,this.texture.magFilter=e.LINEAR,this.texture.setPixels(function(t,e){for(var r=f({colormap:t,nshades:256,format:\"rgba\"}),n=new Uint8Array(1024),i=0;i<256;++i){for(var a=r[i],o=0;o<3;++o)n[4*i+o]=a[o];n[4*i+3]=e?255*A(i/255,e):255*a[3]}return u(n,[256,256,4],[4,0,1])}(t.colormap,this.opacityscale)),this.texture.generateMipmap());var r=t.cells,n=t.positions;if(n&&r){var i=[],a=[],l=[],c=[],h=[],p=[],d=[],m=[],g=[],v=[],y=[],x=[],b=[],_=[];this.cells=r,this.positions=n;var w=t.vertexNormals,T=t.cellNormals,k=void 0===t.vertexNormalsEpsilon?1e-6:t.vertexNormalsEpsilon,M=void 0===t.faceNormalsEpsilon?1e-6:t.faceNormalsEpsilon;t.useFacetNormals&&!T&&(T=s.faceNormals(r,n,M)),T||w||(w=s.vertexNormals(r,n,k));var S=t.vertexColors,E=t.cellColors,L=t.meshColor||[1,1,1,1],C=t.vertexUVs,P=t.vertexIntensity,I=t.cellUVs,O=t.cellIntensity,z=1/0,D=-1/0;if(!C&&!I)if(P)if(t.vertexIntensityBounds)z=+t.vertexIntensityBounds[0],D=+t.vertexIntensityBounds[1];else for(var R=0;R<P.length;++R){var F=P[R];z=Math.min(z,F),D=Math.max(D,F)}else if(O)if(t.cellIntensityBounds)z=+t.cellIntensityBounds[0],D=+t.cellIntensityBounds[1];else for(R=0;R<O.length;++R){F=O[R];z=Math.min(z,F),D=Math.max(D,F)}else for(R=0;R<n.length;++R){F=n[R][2];z=Math.min(z,F),D=Math.max(D,F)}this.intensity=P||(O||function(t){for(var e=t.length,r=new Array(e),n=0;n<e;++n)r[n]=t[n][2];return r}(n)),this.pickVertex=!(O||E);var B=t.pointSizes,N=t.pointSize||1;this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]];for(R=0;R<n.length;++R)for(var j=n[R],U=0;U<3;++U)!isNaN(j[U])&&isFinite(j[U])&&(this.bounds[0][U]=Math.min(this.bounds[0][U],j[U]),this.bounds[1][U]=Math.max(this.bounds[1][U],j[U]));var V=0,H=0,q=0;t:for(R=0;R<r.length;++R){var G=r[R];switch(G.length){case 1:for(j=n[W=G[0]],U=0;U<3;++U)if(isNaN(j[U])||!isFinite(j[U]))continue t;v.push(j[0],j[1],j[2]),X=S?S[W]:E?E[R]:L,this.opacityscale&&P?a.push(X[0],X[1],X[2],this.opacity*A((P[W]-z)/(D-z),this.opacityscale)):3===X.length?y.push(X[0],X[1],X[2],this.opacity):(y.push(X[0],X[1],X[2],X[3]*this.opacity),X[3]<1&&(this.hasAlpha=!0)),Z=C?C[W]:P?[(P[W]-z)/(D-z),0]:I?I[R]:O?[(O[R]-z)/(D-z),0]:[(j[2]-z)/(D-z),0],x.push(Z[0],Z[1]),B?b.push(B[W]):b.push(N),_.push(R),q+=1;break;case 2:for(U=0;U<2;++U){j=n[W=G[U]];for(var Y=0;Y<3;++Y)if(isNaN(j[Y])||!isFinite(j[Y]))continue t}for(U=0;U<2;++U){j=n[W=G[U]];p.push(j[0],j[1],j[2]),X=S?S[W]:E?E[R]:L,this.opacityscale&&P?a.push(X[0],X[1],X[2],this.opacity*A((P[W]-z)/(D-z),this.opacityscale)):3===X.length?d.push(X[0],X[1],X[2],this.opacity):(d.push(X[0],X[1],X[2],X[3]*this.opacity),X[3]<1&&(this.hasAlpha=!0)),Z=C?C[W]:P?[(P[W]-z)/(D-z),0]:I?I[R]:O?[(O[R]-z)/(D-z),0]:[(j[2]-z)/(D-z),0],m.push(Z[0],Z[1]),g.push(R)}H+=1;break;case 3:for(U=0;U<3;++U)for(j=n[W=G[U]],Y=0;Y<3;++Y)if(isNaN(j[Y])||!isFinite(j[Y]))continue t;for(U=0;U<3;++U){var W,X,Z,J;j=n[W=G[2-U]];i.push(j[0],j[1],j[2]),(X=S?S[W]:E?E[R]:L)?this.opacityscale&&P?a.push(X[0],X[1],X[2],this.opacity*A((P[W]-z)/(D-z),this.opacityscale)):3===X.length?a.push(X[0],X[1],X[2],this.opacity):(a.push(X[0],X[1],X[2],X[3]*this.opacity),X[3]<1&&(this.hasAlpha=!0)):a.push(.5,.5,.5,1),Z=C?C[W]:P?[(P[W]-z)/(D-z),0]:I?I[R]:O?[(O[R]-z)/(D-z),0]:[(j[2]-z)/(D-z),0],c.push(Z[0],Z[1]),J=w?w[W]:T[R],l.push(J[0],J[1],J[2]),h.push(R)}V+=1}}this.pointCount=q,this.edgeCount=H,this.triangleCount=V,this.pointPositions.update(v),this.pointColors.update(y),this.pointUVs.update(x),this.pointSizes.update(b),this.pointIds.update(new Uint32Array(_)),this.edgePositions.update(p),this.edgeColors.update(d),this.edgeUVs.update(m),this.edgeIds.update(new Uint32Array(g)),this.trianglePositions.update(i),this.triangleColors.update(a),this.triangleUVs.update(c),this.triangleNormals.update(l),this.triangleIds.update(new Uint32Array(h))}},k.drawTransparent=k.draw=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]);var s={model:r,view:n,projection:i,inverseModel:w.slice(),clipBounds:a,kambient:this.ambientLight,kdiffuse:this.diffuseLight,kspecular:this.specularLight,roughness:this.roughness,fresnel:this.fresnel,eyePosition:[0,0,0],lightPosition:[0,0,0],contourColor:this.contourColor,texture:0};s.inverseModel=c(s.inverseModel,s.model),e.disable(e.CULL_FACE),this.texture.bind(0);var u=new Array(16);l(u,s.view,s.model),l(u,s.projection,u),c(u,u);for(o=0;o<3;++o)s.eyePosition[o]=u[12+o]/u[15];var f,h=u[15];for(o=0;o<3;++o)h+=this.lightPosition[o]*u[4*o+3];for(o=0;o<3;++o){for(var p=u[12+o],d=0;d<3;++d)p+=u[4*d+o]*this.lightPosition[d];s.lightPosition[o]=p/h}this.triangleCount>0&&((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;a<r.length;++a)i[a]=n[r[a]];var o=t.coord[0],s=t.coord[1];if(!this.pickVertex){var l=this.positions[r[0]],c=this.positions[r[1]],u=this.positions[r[2]],f=[(l[0]+c[0]+u[0])/3,(l[1]+c[1]+u[1])/3,(l[2]+c[2]+u[2])/3];return{_cellCenter:!0,position:[o,s],index:e,cell:r,cellId:e,intensity:this.intensity[e],dataCoordinate:f}}var h=m(i,[o*this.pixelRatio,this._resolution[1]-s*this.pixelRatio],this._model,this._view,this._projection,this._resolution);if(!h)return null;var p=h[2],d=0;for(a=0;a<r.length;++a)d+=p[a]*this.intensity[r[a]];return{position:h[1],index:r[h[0]],cell:r,cellId:e,intensity:d,dataCoordinate:this.positions[r[h[0]]]}},k.dispose=function(){this.texture.dispose(),this.triShader.dispose(),this.lineShader.dispose(),this.pointShader.dispose(),this.pickShader.dispose(),this.pointPickShader.dispose(),this.triangleVAO.dispose(),this.trianglePositions.dispose(),this.triangleColors.dispose(),this.triangleUVs.dispose(),this.triangleNormals.dispose(),this.triangleIds.dispose(),this.edgeVAO.dispose(),this.edgePositions.dispose(),this.edgeColors.dispose(),this.edgeUVs.dispose(),this.edgeIds.dispose(),this.pointVAO.dispose(),this.pointPositions.dispose(),this.pointColors.dispose(),this.pointUVs.dispose(),this.pointSizes.dispose(),this.pointIds.dispose(),this.contourVAO.dispose(),this.contourPositions.dispose(),this.contourShader.dispose()},e.exports=function(t,e){1===arguments.length&&(t=(e=t).gl);var r=t.getExtension(\"OES_standard_derivatives\")||t.getExtension(\"MOZ_OES_standard_derivatives\")||t.getExtension(\"WEBKIT_OES_standard_derivatives\");if(!r)throw new Error(\"derivatives not supported\");var n=M(t),s=S(t),l=E(t),c=L(t),f=C(t),h=P(t),p=o(t,u(new Uint8Array([255,255,255,255]),[1,1,4]));p.generateMipmap(),p.minFilter=t.LINEAR_MIPMAP_LINEAR,p.magFilter=t.LINEAR;var d=i(t),m=i(t),g=i(t),v=i(t),y=i(t),x=a(t,[{buffer:d,type:t.FLOAT,size:3},{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:v,type:t.FLOAT,size:3}]),b=i(t),_=i(t),w=i(t),k=i(t),A=a(t,[{buffer:b,type:t.FLOAT,size:3},{buffer:k,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:_,type:t.FLOAT,size:4},{buffer:w,type:t.FLOAT,size:2}]),I=i(t),O=i(t),z=i(t),D=i(t),R=i(t),F=a(t,[{buffer:I,type:t.FLOAT,size:3},{buffer:R,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:O,type:t.FLOAT,size:4},{buffer:z,type:t.FLOAT,size:2},{buffer:D,type:t.FLOAT,size:1}]),B=i(t),N=a(t,[{buffer:B,type:t.FLOAT,size:3}]),j=new T(t,p,n,s,l,c,f,h,d,y,m,g,v,x,b,k,_,w,A,I,R,O,z,D,F,B,N);return j.update(e),j}},{\"./lib/closest-point\":110,\"./lib/shaders\":111,colormap:53,\"gl-buffer\":78,\"gl-mat4/invert\":98,\"gl-mat4/multiply\":100,\"gl-shader\":132,\"gl-texture2d\":146,\"gl-vao\":150,ndarray:259,normals:261,\"simplicial-complex-contour\":291,\"typedarray-pool\":308}],113:[function(t,e,r){\"use strict\";e.exports=function(t){var e=t.gl,r=n(e,[0,0,0,1,1,0,1,1]),s=i(e,a.boxVert,a.lineFrag);return new o(t,r,s)};var n=t(\"gl-buffer\"),i=t(\"gl-shader\"),a=t(\"./shaders\");function o(t,e,r){this.plot=t,this.vbo=e,this.shader=r}var s,l,c=o.prototype;c.bind=function(){var t=this.shader;this.vbo.bind(),this.shader.bind(),t.attributes.coord.pointer(),t.uniforms.screenBox=this.plot.screenBox},c.drawBox=(s=[0,0],l=[0,0],function(t,e,r,n,i){var a=this.plot,o=this.shader,c=a.gl;s[0]=t,s[1]=e,l[0]=r,l[1]=n,o.uniforms.lo=s,o.uniforms.hi=l,o.uniforms.color=i,c.drawArrays(c.TRIANGLE_STRIP,0,4)}),c.dispose=function(){this.vbo.dispose(),this.shader.dispose()}},{\"./shaders\":116,\"gl-buffer\":78,\"gl-shader\":132}],114:[function(t,e,r){\"use strict\";e.exports=function(t){var e=t.gl,r=n(e),a=i(e,o.gridVert,o.gridFrag),l=i(e,o.tickVert,o.gridFrag);return new s(t,r,a,l)};var n=t(\"gl-buffer\"),i=t(\"gl-shader\"),a=t(\"binary-search-bounds\"),o=t(\"./shaders\");function s(t,e,r,n){this.plot=t,this.vbo=e,this.shader=r,this.tickShader=n,this.ticks=[[],[]]}function l(t,e){return t-e}var c,u,f,h,p,d=s.prototype;d.draw=(c=[0,0],u=[0,0],f=[0,0],function(){for(var t=this.plot,e=this.vbo,r=this.shader,n=this.ticks,i=t.gl,a=t._tickBounds,o=t.dataBox,s=t.viewBox,l=t.gridLineWidth,h=t.gridLineColor,p=t.gridLineEnable,d=t.pixelRatio,m=0;m<2;++m){var g=a[m],v=a[m+2]-g,y=.5*(o[m+2]+o[m]),x=o[m+2]-o[m];u[m]=2*v/x,c[m]=2*(g-y)/x}r.bind(),e.bind(),r.attributes.dataCoord.pointer(),r.uniforms.dataShift=c,r.uniforms.dataScale=u;var b=0;for(m=0;m<2;++m){f[0]=f[1]=0,f[m]=1,r.uniforms.dataAxis=f,r.uniforms.lineWidth=l[m]/(s[m+2]-s[m])*d,r.uniforms.color=h[m];var _=6*n[m].length;p[m]&&_&&i.drawArrays(i.TRIANGLES,b,_),b+=_}}),d.drawTickMarks=function(){var t=[0,0],e=[0,0],r=[1,0],n=[0,1],i=[0,0],o=[0,0];return function(){for(var s=this.plot,c=this.vbo,u=this.tickShader,f=this.ticks,h=s.gl,p=s._tickBounds,d=s.dataBox,m=s.viewBox,g=s.pixelRatio,v=s.screenBox,y=v[2]-v[0],x=v[3]-v[1],b=m[2]-m[0],_=m[3]-m[1],w=0;w<2;++w){var T=p[w],k=p[w+2]-T,A=.5*(d[w+2]+d[w]),M=d[w+2]-d[w];e[w]=2*k/M,t[w]=2*(T-A)/M}e[0]*=b/y,t[0]*=b/y,e[1]*=_/x,t[1]*=_/x,u.bind(),c.bind(),u.attributes.dataCoord.pointer();var S=u.uniforms;S.dataShift=t,S.dataScale=e;var E=s.tickMarkLength,L=s.tickMarkWidth,C=s.tickMarkColor,P=6*f[0].length,I=Math.min(a.ge(f[0],(d[0]-p[0])/(p[2]-p[0]),l),f[0].length),O=Math.min(a.gt(f[0],(d[2]-p[0])/(p[2]-p[0]),l),f[0].length),z=0+6*I,D=6*Math.max(0,O-I),R=Math.min(a.ge(f[1],(d[1]-p[1])/(p[3]-p[1]),l),f[1].length),F=Math.min(a.gt(f[1],(d[3]-p[1])/(p[3]-p[1]),l),f[1].length),B=P+6*R,N=6*Math.max(0,F-R);i[0]=2*(m[0]-E[1])/y-1,i[1]=(m[3]+m[1])/x-1,o[0]=E[1]*g/y,o[1]=L[1]*g/x,N&&(S.color=C[1],S.tickScale=o,S.dataAxis=n,S.screenOffset=i,h.drawArrays(h.TRIANGLES,B,N)),i[0]=(m[2]+m[0])/y-1,i[1]=2*(m[1]-E[0])/x-1,o[0]=L[0]*g/y,o[1]=E[0]*g/x,D&&(S.color=C[0],S.tickScale=o,S.dataAxis=r,S.screenOffset=i,h.drawArrays(h.TRIANGLES,z,D)),i[0]=2*(m[2]+E[3])/y-1,i[1]=(m[3]+m[1])/x-1,o[0]=E[3]*g/y,o[1]=L[3]*g/x,N&&(S.color=C[3],S.tickScale=o,S.dataAxis=n,S.screenOffset=i,h.drawArrays(h.TRIANGLES,B,N)),i[0]=(m[2]+m[0])/y-1,i[1]=2*(m[3]+E[2])/x-1,o[0]=L[2]*g/y,o[1]=E[2]*g/x,D&&(S.color=C[2],S.tickScale=o,S.dataAxis=r,S.screenOffset=i,h.drawArrays(h.TRIANGLES,z,D))}}(),d.update=(h=[1,1,-1,-1,1,-1],p=[1,-1,1,1,-1,-1],function(t){for(var e=t.ticks,r=t.bounds,n=new Float32Array(18*(e[0].length+e[1].length)),i=(this.plot.zeroLineEnable,0),a=[[],[]],o=0;o<2;++o)for(var s=a[o],l=e[o],c=r[o],u=r[o+2],f=0;f<l.length;++f){var d=(l[f].x-c)/(u-c);s.push(d);for(var m=0;m<6;++m)n[i++]=d,n[i++]=h[m],n[i++]=p[m]}this.ticks=a,this.vbo.update(n)}),d.dispose=function(){this.vbo.dispose(),this.shader.dispose(),this.tickShader.dispose()}},{\"./shaders\":116,\"binary-search-bounds\":31,\"gl-buffer\":78,\"gl-shader\":132}],115:[function(t,e,r){\"use strict\";e.exports=function(t){var e=t.gl,r=n(e,[-1,-1,-1,1,1,-1,1,1]),s=i(e,a.lineVert,a.lineFrag);return new o(t,r,s)};var n=t(\"gl-buffer\"),i=t(\"gl-shader\"),a=t(\"./shaders\");function o(t,e,r){this.plot=t,this.vbo=e,this.shader=r}var s,l,c=o.prototype;c.bind=function(){var t=this.shader;this.vbo.bind(),this.shader.bind(),t.attributes.coord.pointer(),t.uniforms.screenBox=this.plot.screenBox},c.drawLine=(s=[0,0],l=[0,0],function(t,e,r,n,i,a){var o=this.plot,c=this.shader,u=o.gl;s[0]=t,s[1]=e,l[0]=r,l[1]=n,c.uniforms.start=s,c.uniforms.end=l,c.uniforms.width=i*o.pixelRatio,c.uniforms.color=a,u.drawArrays(u.TRIANGLE_STRIP,0,4)}),c.dispose=function(){this.vbo.dispose(),this.shader.dispose()}},{\"./shaders\":116,\"gl-buffer\":78,\"gl-shader\":132}],116:[function(t,e,r){\"use strict\";var n=t(\"glslify\"),i=n([\"precision lowp float;\\n#define GLSLIFY 1\\nuniform vec4 color;\\nvoid main() {\\n  gl_FragColor = vec4(color.xyz * color.w, color.w);\\n}\\n\"]);e.exports={lineVert:n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec2 coord;\\n\\nuniform vec4 screenBox;\\nuniform vec2 start, end;\\nuniform float width;\\n\\nvec2 perp(vec2 v) {\\n  return vec2(v.y, -v.x);\\n}\\n\\nvec2 screen(vec2 v) {\\n  return 2.0 * (v - screenBox.xy) / (screenBox.zw - screenBox.xy) - 1.0;\\n}\\n\\nvoid main() {\\n  vec2 delta = normalize(perp(start - end));\\n  vec2 offset = mix(start, end, 0.5 * (coord.y+1.0));\\n  gl_Position = vec4(screen(offset + 0.5 * width * delta * coord.x), 0, 1);\\n}\\n\"]),lineFrag:i,textVert:n([\"#define GLSLIFY 1\\nattribute vec3 textCoordinate;\\n\\nuniform vec2 dataScale, dataShift, dataAxis, screenOffset, textScale;\\nuniform float angle;\\n\\nvoid main() {\\n  float dataOffset  = textCoordinate.z;\\n  vec2 glyphOffset  = textCoordinate.xy;\\n  mat2 glyphMatrix = mat2(cos(angle), sin(angle), -sin(angle), cos(angle));\\n  vec2 screenCoordinate = dataAxis * (dataScale * dataOffset + dataShift) +\\n    glyphMatrix * glyphOffset * textScale + screenOffset;\\n  gl_Position = vec4(screenCoordinate, 0, 1);\\n}\\n\"]),textFrag:i,gridVert:n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec3 dataCoord;\\n\\nuniform vec2 dataAxis, dataShift, dataScale;\\nuniform float lineWidth;\\n\\nvoid main() {\\n  vec2 pos = dataAxis * (dataScale * dataCoord.x + dataShift);\\n  pos += 10.0 * dataCoord.y * vec2(dataAxis.y, -dataAxis.x) + dataCoord.z * lineWidth;\\n  gl_Position = vec4(pos, 0, 1);\\n}\\n\"]),gridFrag:i,boxVert:n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec2 coord;\\n\\nuniform vec4 screenBox;\\nuniform vec2 lo, hi;\\n\\nvec2 screen(vec2 v) {\\n  return 2.0 * (v - screenBox.xy) / (screenBox.zw - screenBox.xy) - 1.0;\\n}\\n\\nvoid main() {\\n  gl_Position = vec4(screen(mix(lo, hi, coord)), 0, 1);\\n}\\n\"]),tickVert:n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec3 dataCoord;\\n\\nuniform vec2 dataAxis, dataShift, dataScale, screenOffset, tickScale;\\n\\nvoid main() {\\n  vec2 pos = dataAxis * (dataScale * dataCoord.x + dataShift);\\n  gl_Position = vec4(pos + tickScale*dataCoord.yz + screenOffset, 0, 1);\\n}\\n\"])}},{glslify:231}],117:[function(t,e,r){\"use strict\";e.exports=function(t){var e=t.gl,r=n(e),a=i(e,s.textVert,s.textFrag);return new l(t,r,a)};var n=t(\"gl-buffer\"),i=t(\"gl-shader\"),a=t(\"text-cache\"),o=t(\"binary-search-bounds\"),s=t(\"./shaders\");function l(t,e,r){this.plot=t,this.vbo=e,this.shader=r,this.tickOffset=[[],[]],this.tickX=[[],[]],this.labelOffset=[0,0],this.labelCount=[0,0]}var c,u,f,h,p,d,m=l.prototype;m.drawTicks=(c=[0,0],u=[0,0],f=[0,0],function(t){var e=this.plot,r=this.shader,n=this.tickX[t],i=this.tickOffset[t],a=e.gl,s=e.viewBox,l=e.dataBox,h=e.screenBox,p=e.pixelRatio,d=e.tickEnable,m=e.tickPad,g=e.tickColor,v=e.tickAngle,y=e.labelEnable,x=e.labelPad,b=e.labelColor,_=e.labelAngle,w=this.labelOffset[t],T=this.labelCount[t],k=o.lt(n,l[t]),A=o.le(n,l[t+2]);c[0]=c[1]=0,c[t]=1,u[t]=(s[2+t]+s[t])/(h[2+t]-h[t])-1;var M=2/h[2+(1^t)]-h[1^t];u[1^t]=M*s[1^t]-1,d[t]&&(u[1^t]-=M*p*m[t],k<A&&i[A]>i[k]&&(r.uniforms.dataAxis=c,r.uniforms.screenOffset=u,r.uniforms.color=g[t],r.uniforms.angle=v[t],a.drawArrays(a.TRIANGLES,i[k],i[A]-i[k]))),y[t]&&T&&(u[1^t]-=M*p*x[t],r.uniforms.dataAxis=f,r.uniforms.screenOffset=u,r.uniforms.color=b[t],r.uniforms.angle=_[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],k<A&&i[A]>i[k]&&(r.uniforms.dataAxis=c,r.uniforms.screenOffset=u,r.uniforms.color=g[t+2],r.uniforms.angle=v[t+2],a.drawArrays(a.TRIANGLES,i[k],i[A]-i[k]))),y[t+2]&&T&&(u[1^t]+=M*p*x[t+2],r.uniforms.dataAxis=f,r.uniforms.screenOffset=u,r.uniforms.color=b[t+2],r.uniforms.angle=_[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=(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,c=.5*(n[o+2]+n[o]),u=n[o+2]-n[o],f=a[o],m=a[o+2]-f,g=i[o],v=i[o+2]-g;p[o]=2*l/u*m/v,h[o]=2*(s-c)/u*m/v}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()}),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)],f=[-1/0],h=l[o];for(e=0;e<h.length;++e){var p=h[e],d=p.x,m=p.text,g=p.font||\"sans-serif\";i=p.fontSize||12;for(var v=1/(c[o+2]-c[o]),y=c[o],x=m.split(\"\\n\"),b=0;b<x.length;b++)for(n=a(g,x[b]).data,r=0;r<n.length;r+=2)s.push(n[r]*i,-n[r+1]*i-b*i*1.2,(d-y)*v);u.push(Math.floor(s.length/3)),f.push(d)}this.tickOffset[o]=u,this.tickX[o]=f}for(o=0;o<2;++o){for(this.labelOffset[o]=Math.floor(s.length/3),n=a(t.labelFont[o],t.labels[o],{textAlign:\"center\"}).data,i=t.labelSize[o],e=0;e<n.length;e+=2)s.push(n[e]*i,-n[e+1]*i,0);this.labelCount[o]=Math.floor(s.length/3)-this.labelOffset[o]}for(this.titleOffset=Math.floor(s.length/3),n=a(t.titleFont,t.title).data,i=t.titleSize,e=0;e<n.length;e+=2)s.push(n[e]*i,-n[e+1]*i,0);this.titleCount=Math.floor(s.length/3)-this.titleOffset,this.vbo.update(s)},m.dispose=function(){this.vbo.dispose(),this.shader.dispose()}},{\"./shaders\":116,\"binary-search-bounds\":31,\"gl-buffer\":78,\"gl-shader\":132,\"text-cache\":303}],118:[function(t,e,r){\"use strict\";e.exports=function(t){var e=t.gl,r=n(e,[e.drawingBufferWidth,e.drawingBufferHeight]),c=new l(e,r);return c.grid=i(c),c.text=a(c),c.line=o(c),c.box=s(c),c.update(t),c};var n=t(\"gl-select-static\"),i=t(\"./lib/grid\"),a=t(\"./lib/text\"),o=t(\"./lib/line\"),s=t(\"./lib/box\");function l(t,e){this.gl=t,this.pickBuffer=e,this.screenBox=[0,0,t.drawingBufferWidth,t.drawingBufferHeight],this.viewBox=[0,0,0,0],this.dataBox=[-10,-10,10,10],this.gridLineEnable=[!0,!0],this.gridLineWidth=[1,1],this.gridLineColor=[[0,0,0,1],[0,0,0,1]],this.pixelRatio=1,this.tickMarkLength=[0,0,0,0],this.tickMarkWidth=[0,0,0,0],this.tickMarkColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.tickPad=[15,15,15,15],this.tickAngle=[0,0,0,0],this.tickEnable=[!0,!0,!0,!0],this.tickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.labelPad=[15,15,15,15],this.labelAngle=[0,Math.PI/2,0,3*Math.PI/2],this.labelEnable=[!0,!0,!0,!0],this.labelColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.titleCenter=[0,0],this.titleEnable=!0,this.titleAngle=0,this.titleColor=[0,0,0,1],this.borderColor=[0,0,0,0],this.backgroundColor=[0,0,0,0],this.zeroLineEnable=[!0,!0],this.zeroLineWidth=[4,4],this.zeroLineColor=[[0,0,0,1],[0,0,0,1]],this.borderLineEnable=[!0,!0,!0,!0],this.borderLineWidth=[2,2,2,2],this.borderLineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.grid=null,this.text=null,this.line=null,this.box=null,this.objects=[],this.overlays=[],this._tickBounds=[1/0,1/0,-1/0,-1/0],this.static=!1,this.dirty=!1,this.pickDirty=!1,this.pickDelay=120,this.pickRadius=10,this._pickTimeout=null,this._drawPick=this.drawPick.bind(this),this._depthCounter=0}var c=l.prototype;function u(t){for(var e=t.slice(),r=0;r<e.length;++r)e[r]=e[r].slice();return e}function f(t,e){return t.x-e.x}c.setDirty=function(){this.dirty=this.pickDirty=!0},c.setOverlayDirty=function(){this.dirty=!0},c.nextDepthValue=function(){return this._depthCounter++/65536},c.draw=function(){var t=this.gl,e=this.screenBox,r=this.viewBox,n=this.dataBox,i=this.pixelRatio,a=this.grid,o=this.line,s=this.text,l=this.objects;if(this._depthCounter=0,this.pickDirty&&(this._pickTimeout&&clearTimeout(this._pickTimeout),this.pickDirty=!1,this._pickTimeout=setTimeout(this._drawPick,this.pickDelay)),this.dirty){if(this.dirty=!1,t.bindFramebuffer(t.FRAMEBUFFER,null),t.enable(t.SCISSOR_TEST),t.disable(t.DEPTH_TEST),t.depthFunc(t.LESS),t.depthMask(!1),t.enable(t.BLEND),t.blendEquation(t.FUNC_ADD,t.FUNC_ADD),t.blendFunc(t.ONE,t.ONE_MINUS_SRC_ALPHA),this.borderColor){t.scissor(e[0],e[1],e[2]-e[0],e[3]-e[1]);var c=this.borderColor;t.clearColor(c[0]*c[3],c[1]*c[3],c[2]*c[3],c[3]),t.clear(t.COLOR_BUFFER_BIT|t.DEPTH_BUFFER_BIT)}t.scissor(r[0],r[1],r[2]-r[0],r[3]-r[1]),t.viewport(r[0],r[1],r[2]-r[0],r[3]-r[1]);var u=this.backgroundColor;t.clearColor(u[0]*u[3],u[1]*u[3],u[2]*u[3],u[3]),t.clear(t.COLOR_BUFFER_BIT),a.draw();var f=this.zeroLineEnable,h=this.zeroLineColor,p=this.zeroLineWidth;if(f[0]||f[1]){o.bind();for(var d=0;d<2;++d)if(f[d]&&n[d]<=0&&n[d+2]>=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],h[d]):o.drawLine(e[0],m,e[2],m,p[d],h[d])}}for(d=0;d<l.length;++d)l[d].draw();t.viewport(e[0],e[1],e[2]-e[0],e[3]-e[1]),t.scissor(e[0],e[1],e[2]-e[0],e[3]-e[1]),this.grid.drawTickMarks(),o.bind();var g=this.borderLineEnable,v=this.borderLineWidth,y=this.borderLineColor;for(g[1]&&o.drawLine(r[0],r[1]-.5*v[1]*i,r[0],r[3]+.5*v[3]*i,v[1],y[1]),g[0]&&o.drawLine(r[0]-.5*v[0]*i,r[1],r[2]+.5*v[2]*i,r[1],v[0],y[0]),g[3]&&o.drawLine(r[2],r[1]-.5*v[1]*i,r[2],r[3]+.5*v[3]*i,v[3],y[3]),g[2]&&o.drawLine(r[0]-.5*v[0]*i,r[3],r[2]+.5*v[2]*i,r[3],v[2],y[2]),s.bind(),d=0;d<2;++d)s.drawTicks(d);this.titleEnable&&s.drawTitle();var x=this.overlays;for(d=0;d<x.length;++d)x[d].draw();t.disable(t.SCISSOR_TEST),t.disable(t.BLEND),t.depthMask(!0)}},c.drawPick=function(){if(!this.static){var t=this.pickBuffer;this.gl,this._pickTimeout=null,t.begin();for(var e=1,r=this.objects,n=0;n<r.length;++n)e=r[n].drawPick(e);t.end()}},c.pick=function(t,e){if(!this.static){var r=this.pixelRatio,n=this.pickPixelRatio,i=this.viewBox,a=0|Math.round((t-i[0]/r)*n),o=0|Math.round((e-i[1]/r)*n),s=this.pickBuffer.query(a,o,this.pickRadius);if(!s)return null;for(var l=s.id+(s.value[0]<<8)+(s.value[1]<<16)+(s.value[2]<<24),c=this.objects,u=0;u<c.length;++u){var f=c[u].pick(a,o,l);if(f)return f}return null}},c.setScreenBox=function(t){var e=this.screenBox,r=this.pixelRatio;e[0]=0|Math.round(t[0]*r),e[1]=0|Math.round(t[1]*r),e[2]=0|Math.round(t[2]*r),e[3]=0|Math.round(t[3]*r),this.setDirty()},c.setDataBox=function(t){var e=this.dataBox;(e[0]!==t[0]||e[1]!==t[1]||e[2]!==t[2]||e[3]!==t[3])&&(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],this.setDirty())},c.setViewBox=function(t){var e=this.pixelRatio,r=this.viewBox;r[0]=0|Math.round(t[0]*e),r[1]=0|Math.round(t[1]*e),r[2]=0|Math.round(t[2]*e),r[3]=0|Math.round(t[3]*e);var n=this.pickPixelRatio;this.pickBuffer.shape=[0|Math.round((t[2]-t[0])*n),0|Math.round((t[3]-t[1])*n)],this.setDirty()},c.update=function(t){t=t||{};var e=this.gl;this.pixelRatio=t.pixelRatio||1;var r=this.pixelRatio;this.pickPixelRatio=Math.max(r,1),this.setScreenBox(t.screenBox||[0,0,e.drawingBufferWidth/r,e.drawingBufferHeight/r]);this.screenBox;this.setViewBox(t.viewBox||[.125*(this.screenBox[2]-this.screenBox[0])/r,.125*(this.screenBox[3]-this.screenBox[1])/r,.875*(this.screenBox[2]-this.screenBox[0])/r,.875*(this.screenBox[3]-this.screenBox[1])/r]);var n=this.viewBox,i=(n[2]-n[0])/(n[3]-n[1]);this.setDataBox(t.dataBox||[-10,-10/i,10,10/i]),this.borderColor=!1!==t.borderColor&&(t.borderColor||[0,0,0,0]).slice(),this.backgroundColor=(t.backgroundColor||[0,0,0,0]).slice(),this.gridLineEnable=(t.gridLineEnable||[!0,!0]).slice(),this.gridLineWidth=(t.gridLineWidth||[1,1]).slice(),this.gridLineColor=u(t.gridLineColor||[[.5,.5,.5,1],[.5,.5,.5,1]]),this.zeroLineEnable=(t.zeroLineEnable||[!0,!0]).slice(),this.zeroLineWidth=(t.zeroLineWidth||[4,4]).slice(),this.zeroLineColor=u(t.zeroLineColor||[[0,0,0,1],[0,0,0,1]]),this.tickMarkLength=(t.tickMarkLength||[0,0,0,0]).slice(),this.tickMarkWidth=(t.tickMarkWidth||[0,0,0,0]).slice(),this.tickMarkColor=u(t.tickMarkColor||[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]]),this.titleCenter=(t.titleCenter||[.5*(n[0]+n[2])/r,(n[3]+120)/r]).slice(),this.titleEnable=!(\"titleEnable\"in t)||!!t.titleEnable,this.titleAngle=t.titleAngle||0,this.titleColor=(t.titleColor||[0,0,0,1]).slice(),this.labelPad=(t.labelPad||[15,15,15,15]).slice(),this.labelAngle=(t.labelAngle||[0,Math.PI/2,0,3*Math.PI/2]).slice(),this.labelEnable=(t.labelEnable||[!0,!0,!0,!0]).slice(),this.labelColor=u(t.labelColor||[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]]),this.tickPad=(t.tickPad||[15,15,15,15]).slice(),this.tickAngle=(t.tickAngle||[0,0,0,0]).slice(),this.tickEnable=(t.tickEnable||[!0,!0,!0,!0]).slice(),this.tickColor=u(t.tickColor||[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]]),this.borderLineEnable=(t.borderLineEnable||[!0,!0,!0,!0]).slice(),this.borderLineWidth=(t.borderLineWidth||[2,2,2,2]).slice(),this.borderLineColor=u(t.borderLineColor||[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]]);var a=t.ticks||[[],[]],o=this._tickBounds;o[0]=o[1]=1/0,o[2]=o[3]=-1/0;for(var s=0;s<2;++s){var l=a[s].slice(0);0!==l.length&&(l.sort(f),o[s]=Math.min(o[s],l[0].x),o[s+2]=Math.max(o[s+2],l[l.length-1].x))}this.grid.update({bounds:o,ticks:a}),this.text.update({bounds:o,ticks:a,labels:t.labels||[\"x\",\"y\"],labelSize:t.labelSize||[12,12],labelFont:t.labelFont||[\"sans-serif\",\"sans-serif\"],title:t.title||\"\",titleSize:t.titleSize||18,titleFont:t.titleFont||\"sans-serif\"}),this.static=!!t.static,this.setDirty()},c.dispose=function(){this.box.dispose(),this.grid.dispose(),this.text.dispose(),this.line.dispose();for(var t=this.objects.length-1;t>=0;--t)this.objects[t].dispose();this.objects.length=0;for(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;r<e.length;++r)if(e[r]===t){e.splice(r,1),this.setDirty();break}},c.addOverlay=function(t){this.overlays.indexOf(t)<0&&(this.overlays.push(t),this.setOverlayDirty())},c.removeOverlay=function(t){for(var e=this.overlays,r=0;r<e.length;++r)if(e[r]===t){e.splice(r,1),this.setOverlayDirty();break}}},{\"./lib/box\":113,\"./lib/grid\":114,\"./lib/line\":115,\"./lib/text\":117,\"gl-select-static\":131}],119:[function(t,e,r){\"use strict\";e.exports=function(t,e){t=t||document.body,e=e||{};var r=[.01,1/0];\"distanceLimits\"in e&&(r[0]=e.distanceLimits[0],r[1]=e.distanceLimits[1]);\"zoomMin\"in e&&(r[0]=e.zoomMin);\"zoomMax\"in e&&(r[1]=e.zoomMax);var c=i({center:e.center||[0,0,0],up:e.up||[0,1,0],eye:e.eye||[0,0,10],mode:e.mode||\"orbit\",distanceLimits:r}),u=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],f=0,h=t.clientWidth,p=t.clientHeight,d={keyBindingMode:\"rotate\",enableWheel:!0,view:c,element:t,delay:e.delay||16,rotateSpeed:e.rotateSpeed||1,zoomSpeed:e.zoomSpeed||1,translateSpeed:e.translateSpeed||1,flipX:!!e.flipX,flipY:!!e.flipY,modes:c.modes,_ortho:e._ortho||e.projection&&\"orthographic\"===e.projection.type||!1,tick:function(){var e=n(),r=this.delay,i=e-2*r;c.idle(e-r),c.recalcMatrix(i),c.flush(e-(100+2*r));for(var a=!0,o=c.computedMatrix,s=0;s<16;++s)a=a&&u[s]===o[s],u[s]=o[s];var l=t.clientWidth===h&&t.clientHeight===p;return h=t.clientWidth,p=t.clientHeight,a?!l:(f=Math.exp(c.computedRadius[0]),!0)},lookAt:function(t,e,r){c.lookAt(c.lastT(),t,e,r)},rotate:function(t,e,r){c.rotate(c.lastT(),t,e,r)},pan:function(t,e,r){c.pan(c.lastT(),t,e,r)},translate:function(t,e,r){c.translate(c.lastT(),t,e,r)}};return Object.defineProperties(d,{matrix:{get:function(){return c.computedMatrix},set:function(t){return c.setMatrix(c.lastT(),t),c.computedMatrix},enumerable:!0},mode:{get:function(){return c.getMode()},set:function(t){var e=c.computedUp.slice(),r=c.computedEye.slice(),i=c.computedCenter.slice();if(c.setMode(t),\"turntable\"===t){var a=n();c._active.lookAt(a,r,i,e),c._active.lookAt(a+500,r,i,[0,0,1]),c._active.flush(a)}return c.getMode()},enumerable:!0},center:{get:function(){return c.computedCenter},set:function(t){return c.lookAt(c.lastT(),null,t),c.computedCenter},enumerable:!0},eye:{get:function(){return c.computedEye},set:function(t){return c.lookAt(c.lastT(),t),c.computedEye},enumerable:!0},up:{get:function(){return c.computedUp},set:function(t){return c.lookAt(c.lastT(),null,null,t),c.computedUp},enumerable:!0},distance:{get:function(){return f},set:function(t){return c.setDistance(c.lastT(),t),t},enumerable:!0},distanceLimits:{get:function(){return c.getDistanceLimits(r)},set:function(t){return c.setDistanceLimits(t),t},enumerable:!0}}),t.addEventListener(\"contextmenu\",(function(t){return t.preventDefault(),!1})),d._lastX=-1,d._lastY=-1,d._lastMods={shift:!1,control:!1,alt:!1,meta:!1},d.enableMouseListeners=function(){function e(e,r,i,a){var o=d.keyBindingMode;if(!1!==o){var s=\"rotate\"===o,l=\"pan\"===o,u=\"zoom\"===o,h=!!a.control,p=!!a.alt,m=!!a.shift,g=!!(1&e),v=!!(2&e),y=!!(4&e),x=1/t.clientHeight,b=x*(r-d._lastX),_=x*(i-d._lastY),w=d.flipX?1:-1,T=d.flipY?1:-1,k=Math.PI*d.rotateSpeed,A=n();if(-1!==d._lastX&&-1!==d._lastY&&((s&&g&&!h&&!p&&!m||g&&!h&&!p&&m)&&c.rotate(A,w*k*b,-T*k*_,0),(l&&g&&!h&&!p&&!m||v||g&&h&&!p&&!m)&&c.pan(A,-d.translateSpeed*b*f,d.translateSpeed*_*f,0),u&&g&&!h&&!p&&!m||y||g&&!h&&p&&!m)){var M=-d.zoomSpeed*_/window.innerHeight*(A-c.lastT())*100;c.pan(A,0,0,f*(Math.exp(M)-1))}return d._lastX=r,d._lastY=i,d._lastMods=a,!0}}d.mouseListener=a(t,e),t.addEventListener(\"touchstart\",(function(r){var n=s(r.changedTouches[0],t);e(0,n[0],n[1],d._lastMods),e(1,n[0],n[1],d._lastMods)}),!!l&&{passive:!0}),t.addEventListener(\"touchmove\",(function(r){var n=s(r.changedTouches[0],t);e(1,n[0],n[1],d._lastMods),r.preventDefault()}),!!l&&{passive:!1}),t.addEventListener(\"touchend\",(function(t){e(0,d._lastX,d._lastY,d._lastMods)}),!!l&&{passive:!0}),d.wheelListener=o(t,(function(t,e){if(!1!==d.keyBindingMode&&d.enableWheel){var r=d.flipX?1:-1,i=d.flipY?1:-1,a=n();if(Math.abs(t)>Math.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,f*(Math.exp(o)-1))}}}),!0)},d.enableMouseListeners(),d};var n=t(\"right-now\"),i=t(\"3d-view\"),a=t(\"mouse-change\"),o=t(\"mouse-wheel\"),s=t(\"mouse-event-offset\"),l=t(\"has-passive-events\")},{\"3d-view\":7,\"has-passive-events\":232,\"mouse-change\":247,\"mouse-event-offset\":248,\"mouse-wheel\":250,\"right-now\":278}],120:[function(t,e,r){var n=t(\"glslify\"),i=t(\"gl-shader\"),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}\"]);e.exports=function(t){return i(t,a,o,null,[{name:\"position\",type:\"vec2\"}])}},{\"gl-shader\":132,glslify:231}],121:[function(t,e,r){\"use strict\";var n=t(\"./camera.js\"),i=t(\"gl-axes3d\"),a=t(\"gl-axes3d/properties\"),o=t(\"gl-spikes3d\"),s=t(\"gl-select-static\"),l=t(\"gl-fbo\"),c=t(\"a-big-triangle\"),u=t(\"mouse-change\"),f=t(\"gl-mat4/perspective\"),h=t(\"gl-mat4/ortho\"),p=t(\"./lib/shader\"),d=t(\"is-mobile\")({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}if(e>0){r=Math.round(Math.pow(10,e));return Math.ceil(t/r)*r}return Math.ceil(t)}function v(t){return\"boolean\"!=typeof t||t}e.exports={createScene:function(t){(t=t||{}).camera=t.camera||{};var e=t.canvas;if(!e){if(e=document.createElement(\"canvas\"),t.container)t.container.appendChild(e);else document.body.appendChild(e)}var r=t.gl;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}));if(!r)throw new Error(\"webgl not supported\");var y=t.bounds||[[-10,-10,-10],[10,10,10]],x=new m,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=[],I=!0,O=!0,z=new Array(16),D=new Array(16),R={view:null,projection:z,model:D,_ortho:!1},F=(O=!0,[r.drawingBufferWidth,r.drawingBufferHeight]),B=t.cameraObject||n(e,T),N={gl:r,contextLost:!1,pixelRatio:t.pixelRatio||1,canvas:e,selection:x,camera:B,axes:A,axesPixels:null,spikes:S,bounds:y,objects:E,shape:F,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:v(t.autoResize),autoBounds:v(t.autoBounds),autoScale:!!t.autoScale,autoCenter:v(t.autoCenter),clipToBounds:v(t.clipToBounds),snapToData:!!t.snapToData,onselect:t.onselect||null,onrender:t.onrender||null,onclick:t.onclick||null,cameraParams:R,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,O=!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)}},j=[r.drawingBufferWidth/N.pixelRatio|0,r.drawingBufferHeight/N.pixelRatio|0];function U(){if(!N._stopped&&N.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*N.pixelRatio),a=0|Math.ceil(n*N.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\",I=!0}}}N.autoResize&&U();function V(){for(var t=E.length,e=P.length,n=0;n<e;++n)C[n]=0;t:for(n=0;n<t;++n){var i=E[n],a=i.pickSlots;if(a){for(var o=0;o<e;++o)if(C[o]+a<255){L[n]=o,i.setPickBase(C[o]+1),C[o]+=a;continue t}var l=s(r,F);L[n]=e,P.push(l),C.push(a),i.setPickBase(1),e+=1}else L[n]=-1}for(;e>0&&0===C[e-1];)C.pop(),P.pop().dispose()}function H(){if(N.contextLost)return!0;r.isContextLost()&&(N.contextLost=!0,N.mouseListener.enabled=!1,N.selection.object=null,N.oncontextloss&&N.oncontextloss())}window.addEventListener(\"resize\",U),N.update=function(t){N._stopped||(t=t||{},I=!0,O=!0)},N.add=function(t){N._stopped||(t.axes=A,E.push(t),L.push(-1),I=!0,O=!0,V())},N.remove=function(t){if(!N._stopped){var e=E.indexOf(t);e<0||(E.splice(e,1),L.pop(),I=!0,O=!0,V())}},N.dispose=function(){if(!N._stopped&&(N._stopped=!0,window.removeEventListener(\"resize\",U),e.removeEventListener(\"webglcontextlost\",H),N.mouseListener.enabled=!1,!N.contextLost)){A.dispose(),S.dispose();for(var t=0;t<E.length;++t)E[t].dispose();b.dispose();for(t=0;t<P.length;++t)P[t].dispose();_.dispose(),r=null,A=null,S=null,E=[]}},N._mouseRotating=!1,N._prevButtons=0,N.enableMouseListeners=function(){N.mouseListener=u(e,(function(t,e,r){if(!N._stopped){var n=P.length,i=E.length,a=x.object;x.distance=1/0,x.mouse[0]=e,x.mouse[1]=r,x.object=null,x.screen=null,x.dataCoordinate=x.dataPosition=null;var o=!1;if(t&&N._prevButtons)N._mouseRotating=!0;else{N._mouseRotating&&(O=!0),N._mouseRotating=!1;for(var s=0;s<n;++s){var l=P[s].query(e,j[1]-r-1,N.pickRadius);if(l){if(l.distance>x.distance)continue;for(var c=0;c<i;++c){var u=E[c];if(L[c]===s){var f=u.pick(l);f&&(x.buttons=t,x.screen=l.coord,x.distance=l.distance,x.object=u,x.index=f.distance,x.dataPosition=f.position,x.dataCoordinate=f.dataCoordinate,x.data=f,o=!0)}}}}}a&&a!==x.object&&(a.highlight&&a.highlight(null),I=!0),x.object&&(x.object.highlight&&x.object.highlight(x.data),I=!0),(o=o||x.object!==a)&&N.onselect&&N.onselect(x),1&t&&!(1&N._prevButtons)&&N.onclick&&N.onclick(x),N._prevButtons=t}}))},e.addEventListener(\"webglcontextlost\",H);var q=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],G=[q[0].slice(),q[1].slice()];function Y(){if(!H()){U();var t=N.camera.tick();R.view=N.camera.matrix,I=I||t,O=O||t,A.pixelRatio=N.pixelRatio,S.pixelRatio=N.pixelRatio;var e=E.length,n=q[0],i=q[1];n[0]=n[1]=n[2]=1/0,i[0]=i[1]=i[2]=-1/0;for(var o=0;o<e;++o){(C=E[o]).pixelRatio=N.pixelRatio,C.axes=N.axes,I=I||!!C.dirty,O=O||!!C.dirty;var s=C.bounds;if(s)for(var l=s[0],u=s[1],p=0;p<3;++p)n[p]=Math.min(n[p],l[p]),i[p]=Math.max(i[p],u[p])}var d=N.bounds;if(N.autoBounds)for(p=0;p<3;++p){if(i[p]<n[p])n[p]=-1,i[p]=1;else{n[p]===i[p]&&(n[p]-=1,i[p]+=1);var m=.05*(i[p]-n[p]);n[p]=n[p]-m,i[p]=i[p]+m}d[0][p]=n[p],d[1][p]=i[p]}var v=!1;for(p=0;p<3;++p)v=v||G[0][p]!==d[0][p]||G[1][p]!==d[1][p],G[0][p]=d[0][p],G[1][p]=d[1][p];if(O=O||v,I=I||v){if(v){var y=[0,0,0];for(o=0;o<3;++o)y[o]=g((d[1][o]-d[0][o])/10);A.autoTicks?A.update({bounds:d,tickSpacing:y}):A.update({bounds:d})}var T=r.drawingBufferWidth,k=r.drawingBufferHeight;F[0]=T,F[1]=k,j[0]=0|Math.max(T/N.pixelRatio,1),j[1]=0|Math.max(k/N.pixelRatio,1),function(t,e){var r=t.bounds,n=t.cameraParams,i=n.projection,a=n.model,o=t.gl.drawingBufferWidth,s=t.gl.drawingBufferHeight,l=t.zNear,c=t.zFar,u=t.fovy,p=o/s;e?(h(i,-p,p,-1,1,l,c),n._ortho=!0):(f(i,u,p,l,c),n._ortho=!1);for(var d=0;d<16;++d)a[d]=0;a[15]=1;var m=0;for(d=0;d<3;++d)m=Math.max(m,r[1][d]-r[0][d]);for(d=0;d<3;++d)t.autoScale?a[5*d]=t.aspect[d]/(r[1][d]-r[0][d]):a[5*d]=1/m,t.autoCenter&&(a[12+d]=.5*-a[5*d]*(r[0][d]+r[1][d]))}(N,w);for(o=0;o<e;++o){(C=E[o]).axesBounds=d,N.clipToBounds&&(C.clipBounds=d)}x.object&&(N.snapToData?S.position=x.dataCoordinate:S.position=x.dataPosition,S.bounds=d),O&&(O=!1,function(){if(!H()){r.colorMask(!0,!0,!0,!0),r.depthMask(!0),r.disable(r.BLEND),r.enable(r.DEPTH_TEST),r.depthFunc(r.LEQUAL);for(var t=E.length,e=P.length,n=0;n<e;++n){var i=P[n];i.shape=j,i.begin();for(var a=0;a<t;++a)if(L[a]===n){var o=E[a];o.drawPick&&(o.pixelRatio=1,o.drawPick(R))}i.end()}}}()),N.axesPixels=a(N.axes,R,T,k),N.onrender&&N.onrender(),r.bindFramebuffer(r.FRAMEBUFFER,null),r.viewport(0,0,T,k),N.clearRGBA(),r.depthMask(!0),r.colorMask(!0,!0,!0,!0),r.enable(r.DEPTH_TEST),r.depthFunc(r.LEQUAL),r.disable(r.BLEND),r.disable(r.CULL_FACE);var M=!1;A.enable&&(M=M||A.isTransparent(),A.draw(R)),S.axes=A,x.object&&S.draw(R),r.disable(r.CULL_FACE);for(o=0;o<e;++o){(C=E[o]).axes=A,C.pixelRatio=N.pixelRatio,C.isOpaque&&C.isOpaque()&&C.draw(R),C.isTransparent&&C.isTransparent()&&(M=!0)}if(M){b.shape=F,b.bind(),r.clear(r.DEPTH_BUFFER_BIT),r.colorMask(!1,!1,!1,!1),r.depthMask(!0),r.depthFunc(r.LESS),A.enable&&A.isTransparent()&&A.drawTransparent(R);for(o=0;o<e;++o){(C=E[o]).isOpaque&&C.isOpaque()&&C.draw(R)}r.enable(r.BLEND),r.blendEquation(r.FUNC_ADD),r.blendFunc(r.ONE,r.ONE_MINUS_SRC_ALPHA),r.colorMask(!0,!0,!0,!0),r.depthMask(!1),r.clearColor(0,0,0,0),r.clear(r.COLOR_BUFFER_BIT),A.isTransparent()&&A.drawTransparent(R);for(o=0;o<e;++o){var C;(C=E[o]).isTransparent&&C.isTransparent()&&C.drawTransparent(R)}r.bindFramebuffer(r.FRAMEBUFFER,null),r.blendFunc(r.ONE,r.ONE_MINUS_SRC_ALPHA),r.disable(r.DEPTH_TEST),_.bind(),b.color[0].bind(0),_.uniforms.accumBuffer=0,c(r),r.disable(r.BLEND)}I=!1;for(o=0;o<e;++o)E[o].dirty=!1}}}return N.enableMouseListeners(),function t(){if(N._stopped||N.contextLost)return;Y(),requestAnimationFrame(t)}(),N.redraw=function(){N._stopped||(I=!0,Y())},N},createCamera:n}},{\"./camera.js\":119,\"./lib/shader\":120,\"a-big-triangle\":8,\"gl-axes3d\":70,\"gl-axes3d/properties\":77,\"gl-fbo\":86,\"gl-mat4/ortho\":101,\"gl-mat4/perspective\":102,\"gl-select-static\":131,\"gl-spikes3d\":141,\"is-mobile\":238,\"mouse-change\":247}],122:[function(t,e,r){var n=t(\"glslify\");r.pointVertex=n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec2 position;\\n\\nuniform mat3 matrix;\\nuniform float pointSize;\\nuniform float pointCloud;\\n\\nhighp float rand(vec2 co) {\\n  highp float a = 12.9898;\\n  highp float b = 78.233;\\n  highp float c = 43758.5453;\\n  highp float d = dot(co.xy, vec2(a, b));\\n  highp float e = mod(d, 3.14);\\n  return fract(sin(e) * c);\\n}\\n\\nvoid main() {\\n  vec3 hgPosition = matrix * vec3(position, 1);\\n  gl_Position  = vec4(hgPosition.xy, 0, hgPosition.z);\\n    // if we don't jitter the point size a bit, overall point cloud\\n    // saturation 'jumps' on zooming, which is disturbing and confusing\\n  gl_PointSize = pointSize * ((19.5 + rand(position)) / 20.0);\\n  if(pointCloud != 0.0) { // pointCloud is truthy\\n    // get the same square surface as circle would be\\n    gl_PointSize *= 0.886;\\n  }\\n}\"]),r.pointFragment=n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nuniform vec4 color, borderColor;\\nuniform float centerFraction;\\nuniform float pointCloud;\\n\\nvoid main() {\\n  float radius;\\n  vec4 baseColor;\\n  if(pointCloud != 0.0) { // pointCloud is truthy\\n    if(centerFraction == 1.0) {\\n      gl_FragColor = color;\\n    } else {\\n      gl_FragColor = mix(borderColor, color, centerFraction);\\n    }\\n  } else {\\n    radius = length(2.0 * gl_PointCoord.xy - 1.0);\\n    if(radius > 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\"]),r.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\"]),r.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\"])},{glslify:231}],123:[function(t,e,r){\"use strict\";var n=t(\"gl-shader\"),i=t(\"gl-buffer\"),a=t(\"typedarray-pool\"),o=t(\"./lib/shader\");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}e.exports=function(t,e){var r=t.gl,a=i(r),l=i(r),c=n(r,o.pointVertex,o.pointFragment),u=n(r,o.pickVertex,o.pickFragment),f=new s(t,a,l,c,u);return f.update(e),t.addObject(f),f};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<n;e++)c[e]=e;this.points=s,this.offsetBuffer.update(l),this.pickBuffer.update(c),i||a.free(l),o||a.free(c),this.pointCount=n,this.pickOffset=0},u.unifiedDraw=(l=[1,0,0,0,1,0,0,0,1],c=[0,0,0,0],function(t){var e=void 0!==t,r=e?this.pickShader:this.shader,n=this.plot.gl,i=this.plot.dataBox;if(0===this.pointCount)return t;var a=i[2]-i[0],o=i[3]-i[1],s=function(t,e){var r,n=0,i=t.length>>>1;for(r=0;r<i;r++){var a=t[2*r],o=t[2*r+1];a>=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 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}),u.draw=u.unifiedDraw,u.drawPick=u.unifiedDraw,u.pick=function(t,e,r){var n=this.pickOffset,i=this.pointCount;if(r<n||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]]}}},{\"./lib/shader\":122,\"gl-buffer\":78,\"gl-shader\":132,\"typedarray-pool\":308}],124:[function(t,e,r){e.exports=function(t,e,r,n){var i,a,o,s,l,c=e[0],u=e[1],f=e[2],h=e[3],p=r[0],d=r[1],m=r[2],g=r[3];(a=c*p+u*d+f*m+h*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);return t[0]=s*c+l*p,t[1]=s*u+l*d,t[2]=s*f+l*m,t[3]=s*h+l*g,t}},{}],125:[function(t,e,r){\"use strict\";e.exports=function(t){return t||0===t?t.toString():\"\"}},{}],126:[function(t,e,r){\"use strict\";var n=t(\"vectorize-text\");e.exports=function(t,e,r){var a=i[e];a||(a=i[e]={});if(t in a)return a[t];var o={textAlign:\"center\",textBaseline:\"middle\",lineHeight:1,font:e,lineSpacing:1.25,styletags:{breaklines:!0,bolds:!0,italics:!0,subscripts:!0,superscripts:!0},triangles:!0},s=n(t,o);o.triangles=!1;var l,c,u=n(t,o);if(r&&1!==r){for(l=0;l<s.positions.length;++l)for(c=0;c<s.positions[l].length;++c)s.positions[l][c]/=r;for(l=0;l<u.positions.length;++l)for(c=0;c<u.positions[l].length;++c)u.positions[l][c]/=r}var f=[[1/0,1/0],[-1/0,-1/0]],h=u.positions.length;for(l=0;l<h;++l){var p=u.positions[l];for(c=0;c<2;++c)f[0][c]=Math.min(f[0][c],p[c]),f[1][c]=Math.max(f[1][c],p[c])}return a[t]=[s,u,f]};var i={}},{\"vectorize-text\":311}],127:[function(t,e,r){var n=t(\"gl-shader\"),i=t(\"glslify\"),a=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 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\"}],f={vertex:a,fragment:l,attributes:u},h={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 v(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}r.createPerspective=function(t){return v(t,f)},r.createOrtho=function(t){return v(t,h)},r.createProject=function(t){return v(t,p)},r.createPickPerspective=function(t){return v(t,d)},r.createPickOrtho=function(t){return v(t,m)},r.createPickProject=function(t){return v(t,g)}},{\"gl-shader\":132,glslify:231}],128:[function(t,e,r){\"use strict\";var n=t(\"is-string-blank\"),i=t(\"gl-buffer\"),a=t(\"gl-vao\"),o=t(\"typedarray-pool\"),s=t(\"gl-mat4/multiply\"),l=t(\"./lib/shaders\"),c=t(\"./lib/glyphs\"),u=t(\"./lib/get-simple-string\"),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 m(t){return!0===t||t>1?1:t}function g(t,e,r,n,i,a,o,s,l,c,u,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=c,this.pickOrthoShader=u,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}e.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),f=i(e),h=i(e),p=i(e),d=i(e),m=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}]),v=new g(e,r,n,o,f,h,p,d,m,s,c,u);return v.update(t),v};var v=g.prototype;v.pickSlots=1,v.setPickBase=function(t){this.pickId=t},v.isTransparent=function(){if(this.hasAlpha)return!0;for(var t=0;t<3;++t)if(this.axesProject[t]&&this.projectHasAlpha)return!0;return!1},v.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 y=[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}function L(t,e,r,n){var i,a=e.axesProject,o=e.gl,l=t.uniforms,c=r.model||f,u=r.view||f,h=r.projection||f,d=e.axesBounds,m=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],y[0]=2/o.drawingBufferWidth,y[1]=2/o.drawingBufferHeight,t.bind(),l.view=u,l.projection=h,l.screenSize=y,l.highlightId=e.highlightId,l.highlightScale=e.highlightScale,l.clipBounds=m,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 v=T,L=0;L<16;++L)v[L]=0;for(L=0;L<4;++L)v[5*L]=1;v[5*g]=0,i[g]<0?v[12+g]=d[0][g]:v[12+g]=d[1][g],s(v,c,v),l.model=v;var C=(g+1)%3,P=(g+2)%3,I=M(x),O=M(b);I[C]=1,O[P]=1;var z=p(0,0,0,S(_,I)),D=p(0,0,0,S(w,O));if(Math.abs(z[1])>Math.abs(D[1])){var R=z;z=D,D=R,R=I,I=O,O=R;var F=C;C=P,P=F}z[0]<0&&(I[C]=-1),D[1]>0&&(O[P]=-1);var B=0,N=0;for(L=0;L<4;++L)B+=Math.pow(c[4*C+L],2),N+=Math.pow(c[4*P+L],2);I[C]/=Math.sqrt(B),O[P]/=Math.sqrt(N),l.axes[0]=I,l.axes[1]=O,l.fragClipBounds[0]=E(k,m[0],g,-1e8),l.fragClipBounds[1]=E(k,m[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()}}var C=[[-1e8,-1e8,-1e8],[1e8,1e8,1e8]];function P(t,e,r,n,i,a,o){var s=r.gl;if((a===r.projectHasAlpha||o)&&L(e,r,n,i),a===r.hasAlpha||o){t.bind();var l=t.uniforms;l.model=n.model||f,l.view=n.view||f,l.projection=n.projection||f,y[0]=2/s.drawingBufferWidth,y[1]=2/s.drawingBufferHeight,l.screenSize=y,l.highlightId=r.highlightId,l.highlightScale=r.highlightScale,l.fragClipBounds=C,l.clipBounds=r.axes.bounds,l.opacity=r.opacity,l.pickGroup=r.pickId/255,l.pixelRatio=i,r.vao.bind(),r.vao.draw(s.TRIANGLES,r.vertexCount),r.lineWidth>0&&(s.lineWidth(r.lineWidth*i),r.vao.draw(s.LINES,r.lineVertexCount,r.vertexCount)),r.vao.unbind()}}function I(t,e,r,i){var a;a=Array.isArray(t)?e<t.length?t[e]:void 0:t,a=u(a);var o=!0;n(a)&&(a=\"\\u25bc\",o=!1);var s=c(a,r,i);return{mesh:s[0],lines:s[1],bounds:s[2],visible:o}}v.draw=function(t){P(this.useOrtho?this.orthoShader:this.shader,this.projectShader,this,t,this.pixelRatio,!1,!1)},v.drawTransparent=function(t){P(this.useOrtho?this.orthoShader:this.shader,this.projectShader,this,t,this.pixelRatio,!0,!1)},v.drawPick=function(t){P(this.useOrtho?this.pickOrthoShader:this.pickPerspectiveShader,this.pickProjectShader,this,t,1,!0,!0)},v.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;var e=t.value[2]+(t.value[1]<<8)+(t.value[0]<<16);if(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},v.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]},v.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){if(Array.isArray(t.projectOpacity))this.projectOpacity=t.projectOpacity.slice();else{r=+t.projectOpacity;this.projectOpacity=[r,r,r]}for(var n=0;n<3;++n)this.projectOpacity[n]=m(this.projectOpacity[n]),this.projectOpacity[n]<1&&(this.projectHasAlpha=!0)}this.hasAlpha=!1,\"opacity\"in t&&(this.opacity=m(t.opacity),this.opacity<1&&(this.hasAlpha=!0)),this.dirty=!0;var i,a,s=t.position,l=t.font||\"normal\",c=t.alignment||[0,0];if(2===c.length)i=c[0],a=c[1];else{i=[],a=[];for(n=0;n<c.length;++n)i[n]=c[n][0],a[n]=c[n][1]}var u=[1/0,1/0,1/0],f=[-1/0,-1/0,-1/0],h=t.glyph,p=t.color,d=t.size,g=t.angle,v=t.lineColor,y=-1,x=0,b=0,_=0;if(s.length){_=s.length;t:for(n=0;n<_;++n){for(var w=s[n],T=0;T<3;++T)if(isNaN(w[T])||!isFinite(w[T]))continue t;var k=(N=I(h,n,l,this.pixelRatio)).mesh,A=N.lines,M=N.bounds;x+=3*k.cells.length,b+=2*A.edges.length}}var S=x+b,E=o.mallocFloat(3*S),L=o.mallocFloat(4*S),C=o.mallocFloat(2*S),P=o.mallocUint32(S);if(S>0){var O=0,z=x,D=[0,0,0,1],R=[0,0,0,1],F=Array.isArray(p)&&Array.isArray(p[0]),B=Array.isArray(v)&&Array.isArray(v[0]);t:for(n=0;n<_;++n){y+=1;for(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]),u[T]=Math.min(u[T],w[T])}k=(N=I(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?n<p.length?p[n]:[0,0,0,0]:p).length){for(T=0;T<3;++T)D[T]=U[T];D[3]=1}else if(4===U.length){for(T=0;T<4;++T)D[T]=U[T];!this.hasAlpha&&U[3]<1&&(this.hasAlpha=!0)}}else D[0]=D[1]=D[2]=0,D[3]=1;else D=[1,1,1,0];if(j)if(Array.isArray(v)){var U;if(3===(U=B?n<v.length?v[n]:[0,0,0,0]:v).length){for(T=0;T<3;++T)R[T]=U[T];R[T]=1}else if(4===U.length){for(T=0;T<4;++T)R[T]=U[T];!this.hasAlpha&&U[3]<1&&(this.hasAlpha=!0)}}else R[0]=R[1]=R[2]=0,R[3]=1;else R=[1,1,1,0];var V=.5;j?Array.isArray(d)?V=n<d.length?+d[n]:12:d?V=+d:this.useOrtho&&(V=12):V=0;var H=0;Array.isArray(g)?H=n<g.length?+g[n]:0:g&&(H=+g);var q=Math.cos(H),G=Math.sin(H);for(w=s[n],T=0;T<3;++T)f[T]=Math.max(f[T],w[T]),u[T]=Math.min(u[T],w[T]);var Y=i,W=a;Y=0;Array.isArray(i)?Y=n<i.length?i[n]:0:i&&(Y=i);W=0;Array.isArray(a)?W=n<a.length?a[n]:0:a&&(W=a);var X=[Y*=Y>0?1-M[0][0]:Y<0?1+M[1][0]:1,W*=W>0?1-M[0][1]:W<0?1+M[1][1]:1],Z=k.cells||[],J=k.positions||[];for(T=0;T<Z.length;++T)for(var K=Z[T],Q=0;Q<3;++Q){for(var $=0;$<3;++$)E[3*O+$]=w[$];for($=0;$<4;++$)L[4*O+$]=D[$];P[O]=y;var tt=J[K[Q]];C[2*O]=V*(q*tt[0]-G*tt[1]+X[0]),C[2*O+1]=V*(G*tt[0]+q*tt[1]+X[1]),O+=1}for(Z=A.edges,J=A.positions,T=0;T<Z.length;++T)for(K=Z[T],Q=0;Q<2;++Q){for($=0;$<3;++$)E[3*z+$]=w[$];for($=0;$<4;++$)L[4*z+$]=R[$];P[z]=y;tt=J[K[Q]];C[2*z]=V*(q*tt[0]-G*tt[1]+X[0]),C[2*z+1]=V*(G*tt[0]+q*tt[1]+X[1]),z+=1}}}this.bounds=[u,f],this.points=s,this.pointCount=s.length,this.vertexCount=x,this.lineVertexCount=b,this.pointBuffer.update(E),this.colorBuffer.update(L),this.glyphBuffer.update(C),this.idBuffer.update(P),o.free(E),o.free(L),o.free(C),o.free(P)},v.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()}},{\"./lib/get-simple-string\":125,\"./lib/glyphs\":126,\"./lib/shaders\":127,\"gl-buffer\":78,\"gl-mat4/multiply\":100,\"gl-vao\":150,\"is-string-blank\":239,\"typedarray-pool\":308}],129:[function(t,e,r){\"use strict\";var n=t(\"glslify\");r.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\"]),r.boxFragment=n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nuniform vec4 color;\\n\\nvoid main() {\\n  gl_FragColor = color;\\n}\\n\"])},{glslify:231}],130:[function(t,e,r){\"use strict\";var n=t(\"gl-shader\"),i=t(\"gl-buffer\"),a=t(\"./lib/shaders\");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}e.exports=function(t,e){var r=t.gl,s=i(r,[0,0,0,1,1,0,1,1]),l=n(r,a.boxVertex,a.boxFragment),c=new o(t,s,l);return c.update(e),t.addOverlay(c),c};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,f=(e[0]-l[0])*(c[2]-c[0])/(l[2]-l[0])+c[0],h=(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(f=Math.max(f,c[0]),h=Math.max(h,c[1]),p=Math.min(p,c[2]),d=Math.min(d,c[3]),!(p<f||d<h)){o.bind();var m=s[2]-s[0],g=s[3]-s[1];if(this.outerFill&&(o.drawBox(0,0,m,h,i),o.drawBox(0,h,f,d,i),o.drawBox(0,d,m,g,i),o.drawBox(p,h,m,d,i)),this.innerFill&&o.drawBox(f,h,p,d,n),r>0){var v=r*u;o.drawBox(f-v,h-v,p+v,h+v,a),o.drawBox(f-v,d-v,p+v,d+v,a),o.drawBox(f-v,h-v,f+v,d+v,a),o.drawBox(p-v,h-v,p+v,d+v,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)}},{\"./lib/shaders\":129,\"gl-buffer\":78,\"gl-shader\":132}],131:[function(t,e,r){\"use strict\";e.exports=function(t,e){var r=e[0],a=e[1],o=n(t,r,a,{}),s=i.mallocUint8(r*a*4);return new l(t,o,s)};var n=t(\"gl-fbo\"),i=t(\"typedarray-pool\"),a=t(\"ndarray\"),o=t(\"bit-twiddle\").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;a<r*e*4;++a)n[a]=255}return t}}}),c.begin=function(){var t=this.gl;this.shape;t&&(this.fbo.bind(),t.clearColor(1,1,1,1),t.clear(t.COLOR_BUFFER_BIT|t.DEPTH_BUFFER_BIT))},c.end=function(){var t=this.gl;t&&(t.bindFramebuffer(t.FRAMEBUFFER,null),this._readTimeout||clearTimeout(this._readTimeout),this._readTimeout=setTimeout(this._readCallback,1))},c.query=function(t,e,r){if(!this.gl)return null;var n=this.fbo.shape.slice();t|=0,e|=0,\"number\"!=typeof r&&(r=1);var i=0|Math.min(Math.max(t-r,0),n[0]),o=0|Math.min(Math.max(t+r,0),n[0]),l=0|Math.min(Math.max(e-r,0),n[1]),c=0|Math.min(Math.max(e+r,0),n[1]);if(o<=i||c<=l)return null;var u=[o-i,c-l],f=a(this.buffer,[u[0],u[1],4],[4,4*n[0],1],4*(i+n[0]*l)),h=function(t,e,r){for(var n=1e8,i=-1,a=-1,o=t.shape[0],s=t.shape[1],l=0;l<o;l++)for(var c=0;c<s;c++){var u=t.get(l,c,0),f=t.get(l,c,1),h=t.get(l,c,2),p=t.get(l,c,3);if(u<255||f<255||h<255||p<255){var d=e-l,m=r-c,g=d*d+m*m;g<n&&(n=g,i=l,a=c)}}return[i,a,n]}(f.hi(u[0],u[1],1),r,r),p=h[0],d=h[1];return p<0||Math.pow(this.radius,2)<h[2]?null:new s(p+i|0,d+l|0,f.get(p,d,0),[f.get(p,d,1),f.get(p,d,2),f.get(p,d,3)],Math.sqrt(h[2]))},c.dispose=function(){this.gl&&(this.fbo.dispose(),i.free(this.buffer),this.gl=null,this._readTimeout&&clearTimeout(this._readTimeout))}},{\"bit-twiddle\":32,\"gl-fbo\":86,ndarray:259,\"typedarray-pool\":308}],132:[function(t,e,r){\"use strict\";var n=t(\"./lib/create-uniforms\"),i=t(\"./lib/create-attributes\"),a=t(\"./lib/reflect\"),o=t(\"./lib/shader-cache\"),s=t(\"./lib/runtime-reflect\"),l=t(\"./lib/GLError\");function c(t){this.gl=t,this.gl.lastAttribCount=0,this._vref=this._fref=this._relink=this.vertShader=this.fragShader=this.program=this.attributes=this.uniforms=this.types=null}var u=c.prototype;function f(t,e){return t.name<e.name?-1:1}u.bind=function(){var t;this.program||this._relink();var e=this.gl.getProgramParameter(this.program,this.gl.ACTIVE_ATTRIBUTES),r=this.gl.lastAttribCount;if(e>r)for(t=r;t<e;t++)this.gl.enableVertexAttribArray(t);else if(r>e)for(t=e;t<r;t++)this.gl.disableVertexAttribArray(t);this.gl.lastAttribCount=e,this.gl.useProgram(this.program)},u.dispose=function(){for(var t=this.gl.lastAttribCount,e=0;e<t;e++)this.gl.disableVertexAttribArray(e);this.gl.lastAttribCount=0,this._fref&&this._fref.dispose(),this._vref&&this._vref.dispose(),this.attributes=this.types=this.vertShader=this.fragShader=this.program=this._relink=this._fref=this._vref=null},u.update=function(t,e,r,c){if(!e||1===arguments.length){var u=t;t=u.vertex,e=u.fragment,r=u.uniforms,c=u.attributes}var h=this,p=h.gl,d=h._vref;h._vref=o.shader(p,p.VERTEX_SHADER,t),d&&d.dispose(),h.vertShader=h._vref.shader;var m=this._fref;if(h._fref=o.shader(p,p.FRAGMENT_SHADER,e),m&&m.dispose(),h.fragShader=h._fref.shader,!r||!c){var g=p.createProgram();if(p.attachShader(g,h.fragShader),p.attachShader(g,h.vertShader),p.linkProgram(g),!p.getProgramParameter(g,p.LINK_STATUS)){var v=p.getProgramInfoLog(g);throw new l(v,\"Error linking program:\"+v)}r=r||s.uniforms(p,g),c=c||s.attributes(p,g),p.deleteProgram(g)}(c=c.slice()).sort(f);var y,x=[],b=[],_=[];for(y=0;y<c.length;++y){var w=c[y];if(w.type.indexOf(\"mat\")>=0){for(var T=0|w.type.charAt(w.type.length-1),k=new Array(T),A=0;A<T;++A)k[A]=_.length,b.push(w.name+\"[\"+A+\"]\"),\"number\"==typeof w.location?_.push(w.location+A):Array.isArray(w.location)&&w.location.length===T&&\"number\"==typeof w.location[A]?_.push(0|w.location[A]):_.push(-1);x.push({name:w.name,type:w.type,locations:k})}else x.push({name:w.name,type:w.type,locations:[_.length]}),b.push(w.name),\"number\"==typeof w.location?_.push(0|w.location):_.push(-1)}var M=0;for(y=0;y<_.length;++y)if(_[y]<0){for(;_.indexOf(M)>=0;)M+=1;_[y]=M}var S=new Array(r.length);function E(){h.program=o.program(p,h._vref,h._fref,b,_);for(var t=0;t<r.length;++t)S[t]=p.getUniformLocation(h.program,r[t].name)}E(),h._relink=E,h.types={uniforms:a(r),attributes:a(c)},h.attributes=i(p,h,x,_),Object.defineProperty(h,\"uniforms\",n(p,h,r,S))},e.exports=function(t,e,r,n,i){var a=new c(t);return a.update(e,r,n,i),a}},{\"./lib/GLError\":133,\"./lib/create-attributes\":134,\"./lib/create-uniforms\":135,\"./lib/reflect\":136,\"./lib/runtime-reflect\":137,\"./lib/shader-cache\":138}],133:[function(t,e,r){function n(t,e,r){this.shortMessage=e||\"\",this.longMessage=r||\"\",this.rawError=t||\"\",this.message=\"gl-shader: \"+(e||t||\"\")+(r?\"\\n\"+r:\"\"),this.stack=(new Error).stack}n.prototype=new Error,n.prototype.name=\"GLError\",n.prototype.constructor=n,e.exports=n},{}],134:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,i){for(var a={},o=0,c=r.length;o<c;++o){var u=r[o],f=u.name,h=u.type,p=u.locations;switch(h){case\"bool\":case\"int\":case\"float\":s(t,e,p[0],i,1,a,f);break;default:if(h.indexOf(\"vec\")>=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=t(\"./GLError\");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._gl,a=this._locations[this._index];i.vertexAttribPointer(a,this._dimension,t||i.FLOAT,!!e,r||0,n||0),i.enableVertexAttribArray(a)},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;u<i;++u)s(t,e,r[u],n,i,l,u),c[u]=l[u];Object.defineProperty(l,\"location\",{set:function(t){if(Array.isArray(t))for(var e=0;e<i;++e)c[e].location=t[e];else for(e=0;e<i;++e)c[e].location=t+e;return t},get:function(){for(var t=new Array(i),e=0;e<i;++e)t[e]=n[r[e]];return t},enumerable:!0}),l.pointer=function(e,a,o,s){e=e||t.FLOAT,a=!!a,o=o||i*i,s=s||0;for(var l=0;l<i;++l){var c=n[r[l]];t.vertexAttribPointer(c,i,e,a,o,s+l*i),t.enableVertexAttribArray(c)}};var f=new Array(i),h=t[\"vertexAttrib\"+i+\"fv\"];Object.defineProperty(a,o,{set:function(e){for(var a=0;a<i;++a){var o=n[r[a]];if(t.disableVertexAttribArray(o),Array.isArray(e[0]))h.call(t,o,e[a]);else{for(var s=0;s<i;++s)f[s]=e[i*a+s];h.call(t,o,f)}}return e},get:function(){return l},enumerable:!0})}},{\"./GLError\":133}],135:[function(t,e,r){\"use strict\";var n=t(\"./reflect\"),i=t(\"./GLError\");function a(t){return function(){return t}}function o(t,e){for(var r=new Array(t),n=0;n<t;++n)r[n]=e;return r}e.exports=function(t,e,r,s){function l(e){return function(n){for(var a=function t(e,r){if(\"object\"!=typeof r)return[[e,r]];var n=[];for(var i in r){var a=r[i],o=e;parseInt(i)+\"\"===i?o+=\"[\"+i+\"]\":o+=\".\"+i,\"object\"==typeof a?n.push.apply(n,t(o,a)):n.push([o,a])}return n}(\"\",e),o=0;o<a.length;++o){var l=a[o],c=l[0],u=l[1];if(s[u]){var f=n;if(\"string\"==typeof c&&(0===c.indexOf(\".\")||0===c.indexOf(\"[\"))){var h=c;if(0===c.indexOf(\".\")&&(h=c.slice(1)),h.indexOf(\"]\")===h.length-1){var p=h.indexOf(\"[\"),d=h.slice(0,p),m=h.slice(p+1,h.length-1);f=d?n[d][m]:n[m]}else f=n[h]}var g,v=r[u].type;switch(v){case\"bool\":case\"int\":case\"sampler2D\":case\"samplerCube\":t.uniform1i(s[u],f);break;case\"float\":t.uniform1f(s[u],f);break;default:var y=v.indexOf(\"vec\");if(!(0<=y&&y<=1&&v.length===4+y)){if(0===v.indexOf(\"mat\")&&4===v.length){if((g=v.charCodeAt(v.length-1)-48)<2||g>4)throw new i(\"\",\"Invalid uniform dimension type for matrix \"+name+\": \"+v);t[\"uniformMatrix\"+g+\"fv\"](s[u],!1,f);break}throw new i(\"\",\"Unknown uniform data type for \"+name+\": \"+v)}if((g=v.charCodeAt(v.length-1)-48)<2||g>4)throw new i(\"\",\"Invalid data type\");switch(v.charAt(0)){case\"b\":case\"i\":t[\"uniform\"+g+\"iv\"](s[u],f);break;case\"v\":t[\"uniform\"+g+\"fv\"](s[u],f);break;default:throw new i(\"\",\"Unrecognized data type for vector \"+name+\": \"+v)}}}}}}function c(t,e,n){if(\"object\"==typeof n){var c=u(n);Object.defineProperty(t,e,{get:a(c),set:l(n),enumerable:!0,configurable:!1})}else s[n]?Object.defineProperty(t,e,{get:(f=n,function(t,e,r){return t.getUniform(e.program,r[f])}),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 f}function u(t){var e;if(Array.isArray(t)){e=new Array(t.length);for(var r=0;r<t.length;++r)c(e,r,t[r])}else for(var n in e={},t)c(e,n,t[n]);return e}var f=n(r,!0);return{get:a(u(f)),set:l(f),enumerable:!0,configurable:!0}}},{\"./GLError\":133,\"./reflect\":136}],136:[function(t,e,r){\"use strict\";e.exports=function(t,e){for(var r={},n=0;n<t.length;++n)for(var i=t[n].name.split(\".\"),a=r,o=0;o<i.length;++o){var s=i[o].split(\"[\");if(s.length>1){s[0]in a||(a[s[0]]=[]),a=a[s[0]];for(var l=1;l<s.length;++l){var c=parseInt(s[l]);l<s.length-1||o<i.length-1?(c in a||(l<s.length-1?a[c]=[]:a[c]={}),a=a[c]):a[c]=e?n:t[n].type}}else o<i.length-1?(s[0]in a||(a[s[0]]={}),a=a[s[0]]):a[s[0]]=e?n:t[n].type}return r}},{}],137:[function(t,e,r){\"use strict\";r.uniforms=function(t,e){for(var r=t.getProgramParameter(e,t.ACTIVE_UNIFORMS),n=[],i=0;i<r;++i){var o=t.getActiveUniform(e,i);if(o){var s=a(t,o.type);if(o.size>1)for(var l=0;l<o.size;++l)n.push({name:o.name.replace(\"[0]\",\"[\"+l+\"]\"),type:s});else n.push({name:o.name,type:s})}}return n},r.attributes=function(t,e){for(var r=t.getProgramParameter(e,t.ACTIVE_ATTRIBUTES),n=[],i=0;i<r;++i){var o=t.getActiveAttrib(e,i);o&&n.push({name:o.name,type:a(t,o.type)})}return n};var n={FLOAT:\"float\",FLOAT_VEC2:\"vec2\",FLOAT_VEC3:\"vec3\",FLOAT_VEC4:\"vec4\",INT:\"int\",INT_VEC2:\"ivec2\",INT_VEC3:\"ivec3\",INT_VEC4:\"ivec4\",BOOL:\"bool\",BOOL_VEC2:\"bvec2\",BOOL_VEC3:\"bvec3\",BOOL_VEC4:\"bvec4\",FLOAT_MAT2:\"mat2\",FLOAT_MAT3:\"mat3\",FLOAT_MAT4:\"mat4\",SAMPLER_2D:\"sampler2D\",SAMPLER_CUBE:\"samplerCube\"},i=null;function a(t,e){if(!i){var r=Object.keys(n);i={};for(var a=0;a<r.length;++a){var o=r[a];i[t[o]]=n[o]}}return i[e]}},{}],138:[function(t,e,r){\"use strict\";r.shader=function(t,e,r){return u(t).getShaderReference(e,r)},r.program=function(t,e,r,n,i){return u(t).getProgram(e,r,n,i)};var n=t(\"./GLError\"),i=t(\"gl-format-compiler-error\"),a=new(\"undefined\"==typeof WeakMap?t(\"weakmap-shim\"):WeakMap),o=0;function s(t,e,r,n,i,a,o){this.id=t,this.src=e,this.type=r,this.shader=n,this.count=a,this.programs=[],this.cache=o}function l(t){this.gl=t,this.shaders=[{},{}],this.programs={}}s.prototype.dispose=function(){if(0==--this.count){for(var t=this.cache,e=t.gl,r=this.programs,n=0,i=r.length;n<i;++n){var a=t.programs[r[n]];a&&(delete t.programs[n],e.deleteProgram(a))}e.deleteShader(this.shader),delete t.shaders[this.type===e.FRAGMENT_SHADER|0][this.src]}};var c=l.prototype;function u(t){var e=a.get(t);return e||(e=new l(t),a.set(t,e)),e}c.getShaderReference=function(t,e){var r=this.gl,a=this.shaders[t===r.FRAGMENT_SHADER|0],l=a[e];if(l&&r.isShader(l.shader))l.count+=1;else{var c=function(t,e,r){var a=t.createShader(e);if(t.shaderSource(a,r),t.compileShader(a),!t.getShaderParameter(a,t.COMPILE_STATUS)){var o=t.getShaderInfoLog(a);try{var s=i(o,r,e)}catch(t){throw console.warn(\"Failed to format compiler error: \"+t),new n(o,\"Error compiling shader:\\n\"+o)}throw new n(o,s.short,s.long)}return a}(r,t,e);l=a[e]=new s(o++,e,t,c,[],1,this)}return l},c.getProgram=function(t,e,r,i){var a=[t.id,e.id,r.join(\":\"),i.join(\":\")].join(\"@\"),o=this.programs[a];return o&&this.gl.isProgram(o)||(this.programs[a]=o=function(t,e,r,i,a){var o=t.createProgram();t.attachShader(o,e),t.attachShader(o,r);for(var s=0;s<i.length;++s)t.bindAttribLocation(o,a[s],i[s]);if(t.linkProgram(o),!t.getProgramParameter(o,t.LINK_STATUS)){var l=t.getProgramInfoLog(o);throw new n(l,\"Error linking program: \"+l)}return o}(this.gl,t.shader,e.shader,r,i),t.programs.push(a),e.programs.push(a)),o}},{\"./GLError\":133,\"gl-format-compiler-error\":87,\"weakmap-shim\":316}],139:[function(t,e,r){\"use strict\";function n(t){this.plot=t,this.enable=[!0,!0,!1,!1],this.width=[1,1,1,1],this.color=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.center=[1/0,1/0]}e.exports=function(t,e){var r=new n(t);return r.update(e),t.addOverlay(r),r};var i=n.prototype;i.update=function(t){t=t||{},this.enable=(t.enable||[!0,!0,!1,!1]).slice(),this.width=(t.width||[1,1,1,1]).slice(),this.color=(t.color||[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]]).map((function(t){return t.slice()})),this.center=(t.center||[1/0,1/0]).slice(),this.plot.setOverlayDirty()},i.draw=function(){var t=this.enable,e=this.width,r=this.color,n=this.center,i=this.plot,a=i.line,o=i.dataBox,s=i.viewBox;if(a.bind(),o[0]<=n[0]&&n[0]<=o[2]&&o[1]<=n[1]&&n[1]<=o[3]){var l=s[0]+(n[0]-o[0])/(o[2]-o[0])*(s[2]-s[0]),c=s[1]+(n[1]-o[1])/(o[3]-o[1])*(s[3]-s[1]);t[0]&&a.drawLine(l,c,s[0],c,e[0],r[0]),t[1]&&a.drawLine(l,c,l,s[1],e[1],r[1]),t[2]&&a.drawLine(l,c,s[2],c,e[2],r[2]),t[3]&&a.drawLine(l,c,l,s[3],e[3],r[3])}},i.dispose=function(){this.plot.removeOverlay(this)}},{}],140:[function(t,e,r){\"use strict\";var n=t(\"glslify\"),i=t(\"gl-shader\"),a=n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec3 position, color;\\nattribute float weight;\\n\\nuniform mat4 model, view, projection;\\nuniform vec3 coordinates[3];\\nuniform vec4 colors[3];\\nuniform vec2 screenShape;\\nuniform float lineWidth;\\n\\nvarying vec4 fragColor;\\n\\nvoid main() {\\n  vec3 vertexPosition = mix(coordinates[0],\\n    mix(coordinates[2], coordinates[1], 0.5 * (position + 1.0)), abs(position));\\n\\n  vec4 clipPos = projection * view * model * vec4(vertexPosition, 1.0);\\n  vec2 clipOffset = (projection * view * model * vec4(color, 0.0)).xy;\\n  vec2 delta = weight * clipOffset * screenShape;\\n  vec2 lineOffset = normalize(vec2(delta.y, -delta.x)) / screenShape;\\n\\n  gl_Position   = vec4(clipPos.xy + clipPos.w * 0.5 * lineWidth * lineOffset, clipPos.z, clipPos.w);\\n  fragColor     = color.x * colors[0] + color.y * colors[1] + color.z * colors[2];\\n}\\n\"]),o=n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nvarying vec4 fragColor;\\n\\nvoid main() {\\n  gl_FragColor = fragColor;\\n}\"]);e.exports=function(t){return i(t,a,o,null,[{name:\"position\",type:\"vec3\"},{name:\"color\",type:\"vec3\"},{name:\"weight\",type:\"float\"}])}},{\"gl-shader\":132,glslify:231}],141:[function(t,e,r){\"use strict\";var n=t(\"gl-buffer\"),i=t(\"gl-vao\"),a=t(\"./shaders/index\");e.exports=function(t,e){var r=[];function o(t,e,n,i,a,o){var s=[t,e,n,0,0,0,1];s[i+3]=1,s[i]=a,r.push.apply(r,s),s[6]=-1,r.push.apply(r,s),s[i]=o,r.push.apply(r,s),r.push.apply(r,s),s[6]=1,r.push.apply(r,s),s[i]=a,r.push.apply(r,s)}o(0,0,0,0,0,1),o(0,0,0,1,0,1),o(0,0,0,2,0,1),o(1,0,0,1,-1,1),o(1,0,0,2,-1,1),o(0,1,0,0,-1,1),o(0,1,0,2,-1,1),o(0,0,1,0,-1,1),o(0,0,1,1,-1,1);var l=n(t,r),c=i(t,[{type:t.FLOAT,buffer:l,size:3,offset:0,stride:28},{type:t.FLOAT,buffer:l,size:3,offset:12,stride:28},{type:t.FLOAT,buffer:l,size:1,offset:24,stride:28}]),u=a(t);u.attributes.position.location=0,u.attributes.color.location=1,u.attributes.weight.location=2;var f=new s(t,l,c,u);return f.update(e),f};var 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.buffer=e,this.vao=r,this.shader=n,this.pixelRatio=1,this.bounds=[[-1e3,-1e3,-1e3],[1e3,1e3,1e3]],this.position=[0,0,0],this.lineWidth=[2,2,2],this.colors=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.enabled=[!0,!0,!0],this.drawSides=[!0,!0,!0],this.axes=null}var l=s.prototype,c=[0,0,0],u=[0,0,0],f=[0,0];l.isTransparent=function(){return!1},l.drawTransparent=function(t){},l.draw=function(t){var e=this.gl,r=this.vao,n=this.shader;r.bind(),n.bind();var i,a=t.model||o,s=t.view||o,l=t.projection||o;this.axes&&(i=this.axes.lastCubeProps.axis);for(var h=c,p=u,d=0;d<3;++d)i&&i[d]<0?(h[d]=this.bounds[0][d],p[d]=this.bounds[1][d]):(h[d]=this.bounds[1][d],p[d]=this.bounds[0][d]);f[0]=e.drawingBufferWidth,f[1]=e.drawingBufferHeight,n.uniforms.model=a,n.uniforms.view=s,n.uniforms.projection=l,n.uniforms.coordinates=[this.position,h,p],n.uniforms.colors=this.colors,n.uniforms.screenShape=f;for(d=0;d<3;++d)n.uniforms.lineWidth=this.lineWidth[d]*this.pixelRatio,this.enabled[d]&&(r.draw(e.TRIANGLES,6,6*d),this.drawSides[d]&&r.draw(e.TRIANGLES,12,18+12*d));r.unbind()},l.update=function(t){t&&(\"bounds\"in t&&(this.bounds=t.bounds),\"position\"in t&&(this.position=t.position),\"lineWidth\"in t&&(this.lineWidth=t.lineWidth),\"colors\"in t&&(this.colors=t.colors),\"enabled\"in t&&(this.enabled=t.enabled),\"drawSides\"in t&&(this.drawSides=t.drawSides))},l.dispose=function(){this.vao.dispose(),this.buffer.dispose(),this.shader.dispose()}},{\"./shaders/index\":140,\"gl-buffer\":78,\"gl-vao\":150}],142:[function(t,e,r){var n=t(\"glslify\"),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 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}\"]);r.meshShader={vertex:i,fragment:a,attributes:[{name:\"position\",type:\"vec4\"},{name:\"color\",type:\"vec4\"},{name:\"uv\",type:\"vec2\"},{name:\"vector\",type:\"vec4\"}]},r.pickShader={vertex:o,fragment:s,attributes:[{name:\"position\",type:\"vec4\"},{name:\"id\",type:\"vec4\"},{name:\"vector\",type:\"vec4\"}]}},{glslify:231}],143:[function(t,e,r){\"use strict\";var n=t(\"gl-vec3\"),i=t(\"gl-vec4\"),a=[\"xyz\",\"xzy\",\"yxz\",\"yzx\",\"zxy\",\"zyx\"],o=function(t,e,r,a){for(var o=0,s=0;s<t.length;s++)for(var l=t[s].velocities,c=0;c<l.length;c++)o=Math.max(o,n.length(l[c]));var u=t.map((function(t){return function(t,e,r,a){for(var o=t.points,s=t.velocities,l=t.divergences,c=[],u=[],f=[],h=[],p=[],d=[],m=0,g=0,v=i.create(),y=i.create(),x=0;x<o.length;x++){var b=o[x],_=s[x],w=l[x];0===e&&(w=.05*r),g=n.length(_)/a,v=i.create(),n.copy(v,_),v[3]=w;for(var T=0;T<8;T++)p[T]=[b[0],b[1],b[2],T];if(h.length>0)for(T=0;T<8;T++){var k=(T+1)%8;c.push(h[T],p[T],p[k],p[k],h[k],h[T]),f.push(y,v,v,v,y,y),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=h;h=p,p=M;var S=y;y=v,v=S;var E=m;m=g,g=E}return{positions:c,cells:u,vectors:f,vertexIntensity:d}}(t,r,a,o)})),f=[],h=[],p=[],d=[];for(s=0;s<u.length;s++){var m=u[s],g=f.length;f=f.concat(m.positions),p=p.concat(m.vectors),d=d.concat(m.vertexIntensity);for(c=0;c<m.cells.length;c++){var v=m.cells[c],y=[];h.push(y);for(var x=0;x<v.length;x++)y.push(v[x]+g)}}return{positions:f,cells:h,vectors:p,vertexIntensity:d,colormap:e}},s=function(t,e){var r,n=t.length;for(r=0;r<n;r++){var i=t[r];if(i===e)return r;if(i>e)return r-1}return r},l=function(t,e,r){return t<e?e:t>r?r:t},c=function(t){var e=1/0;t.sort((function(t,e){return t-e}));for(var r=t.length,n=1;n<r;n++){var i=Math.abs(t[n]-t[n-1]);i<e&&(e=i)}return e};e.exports=function(t,e){var r=t.startingPositions,i=t.maxLength||1e3,u=t.tubeSize||1,f=t.absoluteTubeSize,h=t.gridFill||\"+x+y+z\",p={};-1!==h.indexOf(\"-x\")&&(p.reversedX=!0),-1!==h.indexOf(\"-y\")&&(p.reversedY=!0),-1!==h.indexOf(\"-z\")&&(p.reversedZ=!0),p.filled=a.indexOf(h.replace(/-/g,\"\").replace(/\\+/g,\"\"));var d=t.getVelocity||function(e){return function(t,e,r){var i=e.vectors,a=e.meshgrid,o=t[0],c=t[1],u=t[2],f=a[0].length,h=a[1].length,p=a[2].length,d=s(a[0],o),m=s(a[1],c),g=s(a[2],u),v=d+1,y=m+1,x=g+1;if(d=l(d,0,f-1),v=l(v,0,f-1),m=l(m,0,h-1),y=l(y,0,h-1),g=l(g,0,p-1),x=l(x,0,p-1),d<0||m<0||g<0||v>f-1||y>h-1||x>p-1)return n.create();var b,_,w,T,k,A,M=a[0][d],S=a[0][v],E=a[1][m],L=a[1][y],C=a[2][g],P=(o-M)/(S-M),I=(c-E)/(L-E),O=(u-C)/(a[2][x]-C);switch(isFinite(P)||(P=.5),isFinite(I)||(I=.5),isFinite(O)||(O=.5),r.reversedX&&(d=f-1-d,v=f-1-v),r.reversedY&&(m=h-1-m,y=h-1-y),r.reversedZ&&(g=p-1-g,x=p-1-x),r.filled){case 5:k=g,A=x,w=m*p,T=y*p,b=d*p*h,_=v*p*h;break;case 4:k=g,A=x,b=d*p,_=v*p,w=m*p*f,T=y*p*f;break;case 3:w=m,T=y,k=g*h,A=x*h,b=d*h*p,_=v*h*p;break;case 2:w=m,T=y,b=d*h,_=v*h,k=g*h*f,A=x*h*f;break;case 1:b=d,_=v,k=g*f,A=x*f,w=m*f*p,T=y*f*p;break;default:b=d,_=v,w=m*f,T=y*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(),H=n.create(),q=n.create(),G=n.create();n.lerp(V,z,B,P),n.lerp(H,D,N,P),n.lerp(q,R,j,P),n.lerp(G,F,U,P);var Y=n.create(),W=n.create();n.lerp(Y,V,q,I),n.lerp(W,H,G,I);var X=n.create();return n.lerp(X,Y,W,O),X}(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=[],v=e[0][0],y=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!(e<v||e>b||r<y||r>_||n<x||n>w)},k=10*n.distance(e[0],e[1])/i,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,l=0;l<s;l++){var u=t[l],f=u[0],h=u[1],p=u[2];i[f]||(e.push(f),i[f]=!0),a[h]||(r.push(h),a[h]=!0),o[p]||(n.push(p),o[p]=!0)}var d=c(e),m=c(r),g=c(n),v=Math.min(d,m,g);return isFinite(v)?v:1}(r));for(var L=0;L<E;L++){var C=n.create();n.copy(C,r[L]);var P=[C],I=[],O=d(C),z=C;I.push(O);var D=[],R=m(C,O),F=n.length(R);isFinite(F)&&F>S&&(S=F),D.push(F),g.push({points:P,velocities:I,divergences:D});for(var B=0;B<100*i&&P.length<i&&T(C);){B++;var N=n.clone(O),j=n.squaredLength(N);if(0===j)break;if(j>A&&n.scale(N,N,k/Math.sqrt(j)),n.add(N,N,C),O=d(N),n.squaredDistance(z,N)-A>-1e-4*A){P.push(N),z=N,I.push(O);R=m(N,O),F=n.length(R);isFinite(F)&&F>S&&(S=F),D.push(F)}C=N}}var U=o(g,t.colormap,S,M);return f?U.tubeScale=f:(0===S&&(S=1),U.tubeScale=.5*u*M/S),U};var u=t(\"./lib/shaders\"),f=t(\"gl-cone3d\").createMesh;e.exports.createTubeMesh=function(t,e){return f(t,e,{shaders:u,traceType:\"streamtube\"})}},{\"./lib/shaders\":142,\"gl-cone3d\":79,\"gl-vec3\":169,\"gl-vec4\":205}],144:[function(t,e,r){var n=t(\"gl-shader\"),i=t(\"glslify\"),a=i([\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec4 uv;\\nattribute vec3 f;\\nattribute vec3 normal;\\n\\nuniform vec3 objectOffset;\\nuniform mat4 model, view, projection, inverseModel;\\nuniform vec3 lightPosition, eyePosition;\\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 localCoordinate = vec3(uv.zw, f.x);\\n  worldCoordinate = objectOffset + localCoordinate;\\n  vec4 worldPosition = model * vec4(worldCoordinate, 1.0);\\n  vec4 clipPosition = projection * view * worldPosition;\\n  gl_Position = clipPosition;\\n  kill = f.y;\\n  value = f.z;\\n  planeCoordinate = uv.xy;\\n\\n  vColor = texture2D(colormap, vec2(value, value));\\n\\n  //Lighting geometry parameters\\n  vec4 cameraCoordinate = view * worldPosition;\\n  cameraCoordinate.xyz /= cameraCoordinate.w;\\n  lightDirection = lightPosition - cameraCoordinate.xyz;\\n  eyeDirection   = eyePosition - cameraCoordinate.xyz;\\n  surfaceNormal  = normalize((vec4(normal,0) * inverseModel).xyz);\\n}\\n\"]),o=i([\"precision 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 beckmannSpecular(\\n  vec3 lightDirection,\\n  vec3 viewDirection,\\n  vec3 surfaceNormal,\\n  float roughness) {\\n  return beckmannDistribution(dot(surfaceNormal, normalize(lightDirection + viewDirection)), roughness);\\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 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 \\u2014 in vertex or in fragment\\n  vec4 surfaceColor =\\n    step(vertexColor, .5) * texture2D(colormap, vec2(value, value)) +\\n    step(.5, vertexColor) * vColor;\\n\\n  vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular,  1.0);\\n\\n  gl_FragColor = mix(litColor, contourColor, contourTint) * opacity;\\n}\\n\"]),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\"]);r.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},r.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},r.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},r.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}},{\"gl-shader\":132,glslify:231}],145:[function(t,e,r){\"use strict\";e.exports=function(t){var e=t.gl,r=y(e),n=b(e),s=x(e),l=_(e),c=i(e),u=a(e,[{buffer:c,size:4,stride:40,offset:0},{buffer:c,size:3,stride:40,offset:16},{buffer:c,size:3,stride:40,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}]),m=o(e,1,256,e.RGBA,e.UNSIGNED_BYTE);m.minFilter=e.LINEAR,m.magFilter=e.LINEAR;var g=new M(e,[0,0],[[0,0,0],[0,0,0]],r,n,c,u,m,s,l,f,h,p,d,[0,0,0]),v={levels:[[],[],[]]};for(var w in t)v[w]=t[w];return v.colormap=v.colormap||\"jet\",g.update(v),g};var n=t(\"bit-twiddle\"),i=t(\"gl-buffer\"),a=t(\"gl-vao\"),o=t(\"gl-texture2d\"),s=t(\"typedarray-pool\"),l=t(\"colormap\"),c=t(\"ndarray-ops\"),u=t(\"ndarray-pack\"),f=t(\"ndarray\"),h=t(\"surface-nets\"),p=t(\"gl-mat4/multiply\"),d=t(\"gl-mat4/invert\"),m=t(\"binary-search-bounds\"),g=t(\"ndarray-gradient\"),v=t(\"./lib/shaders\"),y=v.createShader,x=v.createContourShader,b=v.createPickShader,_=v.createPickContourShader,w=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],T=[[0,0],[0,1],[1,0],[1,1],[1,0],[0,1]],k=[[0,0,0,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 A(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=k[t],r=(t+2)%3;e[(t+1)%3+0]=1,e[r+3]=1,e[t+6]=1}}();function M(t,e,r,n,i,a,o,l,c,u,h,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=h,this._contourVAO=p,this._contourOffsets=[[],[],[]],this._contourCounts=[[],[],[]],this._vertexCount=0,this._pickResult=new A([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=[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 S=M.prototype;S.genColormap=function(t,e){var r=!1,n=u([l({colormap:t,nshades:256,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;r<e.length;++r){if(e.length<2)return 1;if(e[r][0]===t)return e[r][1];if(e[r][0]>t&&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},S.isTransparent=function(){return this.opacity<1||this.hasAlphaScale},S.isOpaque=function(){return!this.isTransparent()},S.pickSlots=1,S.setPickBase=function(t){this.pickId=t};var E=[0,0,0],L={showSurface:!1,showContour:!1,projections:[w.slice(),w.slice(),w.slice()],clipBounds:[[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]]]};function C(t,e){var r,n,i,a=e.axes&&e.axes.lastCubeProps.axis||E,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=L.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=L.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 L.showSurface=o,L.showContour=s,L}var P={model:w,view:w,projection:w,inverseModel:w.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},I=w.slice(),O=[1,0,0,0,1,0,0,0,1];function z(t,e){t=t||{};var r=this.gl;r.disable(r.CULL_FACE),this._colorMap.bind(0);var n=P;n.model=t.model||w,n.view=t.view||w,n.projection=t.projection||w,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=O,n.vertexColor=this.vertexColor;var s=I;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=C(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 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=k[i],r.lineWidth(this.contourWidth[i]*this.pixelRatio),o=0;o<this.contourLevels[i].length;++o)o===this.highlightLevel[i]?(f.uniforms.contourColor=this.highlightColor[i],f.uniforms.contourTint=this.highlightTint[i]):0!==o&&o-1!==this.highlightLevel[i]||(f.uniforms.contourColor=this.contourColor[i],f.uniforms.contourTint=this.contourTint[i]),this._contourCounts[i][o]&&(f.uniforms.height=this.contourLevels[i][o],h.draw(r.LINES,this._contourCounts[i][o],this._contourOffsets[i][o]));for(i=0;i<3;++i)for(f.uniforms.model=u.projections[i],f.uniforms.clipBounds=u.clipBounds[i],o=0;o<3;++o)if(this.contourProject[i][o]){f.uniforms.permutation=k[o],r.lineWidth(this.contourWidth[o]*this.pixelRatio);for(var m=0;m<this.contourLevels[o].length;++m)m===this.highlightLevel[o]?(f.uniforms.contourColor=this.highlightColor[o],f.uniforms.contourTint=this.highlightTint[o]):0!==m&&m-1!==this.highlightLevel[o]||(f.uniforms.contourColor=this.contourColor[o],f.uniforms.contourTint=this.contourTint[o]),this._contourCounts[o][m]&&(f.uniforms.height=this.contourLevels[o][m],h.draw(r.LINES,this._contourCounts[o][m],this._contourOffsets[o][m]))}for(h.unbind(),(h=this._dynamicVAO).bind(),i=0;i<3;++i)if(0!==this._dynamicCounts[i])for(f.uniforms.model=n.model,f.uniforms.clipBounds=n.clipBounds,f.uniforms.permutation=k[i],r.lineWidth(this.dynamicWidth[i]*this.pixelRatio),f.uniforms.contourColor=this.dynamicColor[i],f.uniforms.contourTint=this.dynamicTint[i],f.uniforms.height=this.dynamicLevel[i],h.draw(r.LINES,this._dynamicCounts[i],this._dynamicOffsets[i]),o=0;o<3;++o)this.contourProject[o][i]&&(f.uniforms.model=u.projections[o],f.uniforms.clipBounds=u.clipBounds[o],h.draw(r.LINES,this._dynamicCounts[i],this._dynamicOffsets[i]));h.unbind()}}S.draw=function(t){return z.call(this,t,!1)},S.drawTransparent=function(t){return z.call(this,t,!0)};var D={model:w,view:w,projection:w,inverseModel:w,clipBounds:[[0,0,0],[0,0,0]],height:0,shape:[0,0],pickId:0,lowerBound:[0,0,0],upperBound:[0,0,0],zOffset:0,objectOffset:[0,0,0],permutation:[1,0,0,0,1,0,0,0,1],lightPosition:[0,0,0],eyePosition:[0,0,0]};function R(t,e){return Array.isArray(t)?[e(t[0]),e(t[1]),e(t[2])]:[e(t),e(t),e(t)]}function F(t){return Array.isArray(t)?3===t.length?[t[0],t[1],t[2],1]:[t[0],t[1],t[2],t[3]]:[0,0,0,1]}function B(t){if(Array.isArray(t)){if(Array.isArray(t))return[F(t[0]),F(t[1]),F(t[2])];var e=F(t);return[e.slice(),e.slice(),e.slice()]}}S.drawPick=function(t){t=t||{};var e=this.gl;e.disable(e.CULL_FACE);var r=D;r.model=t.model||w,r.view=t.view||w,r.projection=t.projection||w,r.shape=this._field[2].shape,r.pickId=this.pickId/255,r.lowerBound=this.bounds[0],r.upperBound=this.bounds[1],r.objectOffset=this.objectOffset,r.permutation=O;for(var n=0;n<2;++n)for(var i=r.clipBounds[n],a=0;a<3;++a)i[a]=Math.min(Math.max(this.clipBounds[n][a],-1e8),1e8);var o=C(r,this);if(o.showSurface){for(this._pickShader.bind(),this._pickShader.uniforms=r,this._vao.bind(),this._vao.draw(e.TRIANGLES,this._vertexCount),n=0;n<3;++n)this.surfaceProject[n]&&(this._pickShader.uniforms.model=o.projections[n],this._pickShader.uniforms.clipBounds=o.clipBounds[n],this._vao.draw(e.TRIANGLES,this._vertexCount));this._vao.unbind()}if(o.showContour){var s=this._contourPickShader;s.bind(),s.uniforms=r;var l=this._contourVAO;for(l.bind(),a=0;a<3;++a)for(e.lineWidth(this.contourWidth[a]*this.pixelRatio),s.uniforms.permutation=k[a],n=0;n<this.contourLevels[a].length;++n)this._contourCounts[a][n]&&(s.uniforms.height=this.contourLevels[a][n],l.draw(e.LINES,this._contourCounts[a][n],this._contourOffsets[a][n]));for(n=0;n<3;++n)for(s.uniforms.model=o.projections[n],s.uniforms.clipBounds=o.clipBounds[n],a=0;a<3;++a)if(this.contourProject[n][a]){s.uniforms.permutation=k[a],e.lineWidth(this.contourWidth[a]*this.pixelRatio);for(var c=0;c<this.contourLevels[a].length;++c)this._contourCounts[a][c]&&(s.uniforms.height=this.contourLevels[a][c],l.draw(e.LINES,this._contourCounts[a][c],this._contourOffsets[a][c]))}l.unbind()}},S.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;var e=this._field[2].shape,r=this._pickResult,n=e[0]*(t.value[0]+(t.value[2]>>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 f=u?a:1-a,h=0;h<2;++h)for(var p=i+u,d=s+h,g=f*(h?l:1-l),v=0;v<3;++v)c[v]+=this._field[v].get(p,d)*g;for(var y=this._pickResult.level,x=0;x<3;++x)if(y[x]=m.le(this.contourLevels[x],c[x]),y[x]<0)this.contourLevels[x].length>0&&(y[x]=0);else if(y[x]<this.contourLevels[x].length-1){var b=this.contourLevels[x][y[x]],_=this.contourLevels[x][y[x]+1];Math.abs(b-c[x])>Math.abs(_-c[x])&&(y[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],v=0;v<3;++v)r.dataCoordinate[v]=this._field[v].get(r.index[0],r.index[1]);return r},S.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))},S.update=function(t){t=t||{},this.objectOffset=t.objectOffset||this.objectOffset,this.dirty=!0,\"contourWidth\"in t&&(this.contourWidth=R(t.contourWidth,Number)),\"showContour\"in t&&(this.showContour=R(t.showContour,Boolean)),\"showSurface\"in t&&(this.showSurface=!!t.showSurface),\"contourTint\"in t&&(this.contourTint=R(t.contourTint,Boolean)),\"contourColor\"in t&&(this.contourColor=B(t.contourColor)),\"contourProject\"in t&&(this.contourProject=R(t.contourProject,(function(t){return R(t,Boolean)}))),\"surfaceProject\"in t&&(this.surfaceProject=t.surfaceProject),\"dynamicColor\"in t&&(this.dynamicColor=B(t.dynamicColor)),\"dynamicTint\"in t&&(this.dynamicTint=R(t.dynamicTint,Number)),\"dynamicWidth\"in t&&(this.dynamicWidth=R(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 c=l[o];for(v=0;v<2;++v)if(c.shape[v]!==a[v])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=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 m=[0,0];m[o]=1,this._field[o]=f(this._field[o].data,[a[0]+2,a[1]+2],m,0)}this._field[0].set(0,0,0);for(var v=0;v<a[0];++v)this._field[0].set(v+1,0,v);for(this._field[0].set(a[0]+1,0,a[0]-1),this._field[1].set(0,0,0),v=0;v<a[1];++v)this._field[1].set(0,v+1,v);this._field[1].set(0,a[1]+1,a[1]-1)}var y=this._field,x=f(s.mallocFloat(3*y[2].size*2),[3,a[0]+2,a[1]+2,2]);for(o=0;o<3;++o)g(x.pick(o),y[o],\"mirror\");var b=f(s.mallocFloat(3*y[2].size),[a[0]+2,a[1]+2,3]);for(o=0;o<a[0]+2;++o)for(v=0;v<a[1]+2;++v){var _=x.get(0,o,v,0),w=x.get(0,o,v,1),k=x.get(1,o,v,0),A=x.get(1,o,v,1),M=x.get(2,o,v,0),S=x.get(2,o,v,1),E=k*S-A*M,L=M*w-S*_,C=_*A-w*k,P=Math.sqrt(E*E+L*L+C*C);P<1e-8?(P=Math.max(Math.abs(E),Math.abs(L),Math.abs(C)))<1e-8?(C=1,L=E=0,P=1):P=1/P:P=1/Math.sqrt(P),b.set(o,v,0,E*P),b.set(o,v,1,L*P),b.set(o,v,2,C*P)}s.free(x.data);var I=[1/0,1/0,1/0],O=[-1/0,-1/0,-1/0],z=1/0,D=-1/0,F=(a[0]-1)*(a[1]-1)*6,N=s.mallocFloat(n.nextPow2(10*F)),j=0,U=0;for(o=0;o<a[0]-1;++o)t:for(v=0;v<a[1]-1;++v){for(var V=0;V<2;++V)for(var H=0;H<2;++H)for(var q=0;q<3;++q){var G=this._field[q].get(1+o+V,1+v+H);if(isNaN(G)||!isFinite(G))continue t}for(q=0;q<6;++q){var Y=o+T[q][0],W=v+T[q][1],X=this._field[0].get(Y+1,W+1),Z=this._field[1].get(Y+1,W+1);G=this._field[2].get(Y+1,W+1),E=b.get(Y+1,W+1,0),L=b.get(Y+1,W+1,1),C=b.get(Y+1,W+1,2),t.intensity&&(J=t.intensity.get(Y,W));var J=t.intensity?t.intensity.get(Y,W):G+this.objectOffset[2];N[j++]=Y,N[j++]=W,N[j++]=X,N[j++]=Z,N[j++]=G,N[j++]=0,N[j++]=J,N[j++]=E,N[j++]=L,N[j++]=C,I[0]=Math.min(I[0],X+this.objectOffset[0]),I[1]=Math.min(I[1],Z+this.objectOffset[1]),I[2]=Math.min(I[2],G+this.objectOffset[2]),z=Math.min(z,J),O[0]=Math.max(O[0],X+this.objectOffset[0]),O[1]=Math.max(O[1],Z+this.objectOffset[1]),O[2]=Math.max(O[2],G+this.objectOffset[2]),D=Math.max(D,J),U+=1}}for(t.intensityBounds&&(z=+t.intensityBounds[0],D=+t.intensityBounds[1]),o=6;o<j;o+=10)N[o]=(N[o]-z)/(D-z);this._vertexCount=U,this._coordinateBuffer.update(N.subarray(0,j)),s.freeFloat(N),s.free(b.data),this.bounds=[I,O],this.intensity=t.intensity||this._field[2],this.intensityBounds[0]===z&&this.intensityBounds[1]===D||(r=!0),this.intensityBounds=[z,D]}if(\"levels\"in t){var K=t.levels;for(K=Array.isArray(K[0])?K.slice():[[],[],K],o=0;o<3;++o)K[o]=K[o].slice(),K[o].sort((function(t,e){return t-e}));for(o=0;o<3;++o)for(v=0;v<K[o].length;++v)K[o][v]-=this.objectOffset[o];t:for(o=0;o<3;++o){if(K[o].length!==this.contourLevels[o].length){r=!0;break}for(v=0;v<K[o].length;++v)if(K[o][v]!==this.contourLevels[o][v]){r=!0;break t}}this.contourLevels=K}if(r){y=this._field,a=this.shape;for(var Q=[],$=0;$<3;++$){var tt=this.contourLevels[$],et=[],rt=[],nt=[0,0,0];for(o=0;o<tt.length;++o){var it=h(this._field[$],tt[o]);et.push(Q.length/5|0),U=0;t:for(v=0;v<it.cells.length;++v){var at=it.cells[v];for(q=0;q<2;++q){var ot=it.positions[at[q]],st=ot[0],lt=0|Math.floor(st),ct=st-lt,ut=ot[1],ft=0|Math.floor(ut),ht=ut-ft,pt=!1;e:for(var dt=0;dt<3;++dt){nt[dt]=0;var mt=($+dt+1)%3;for(V=0;V<2;++V){var gt=V?ct:1-ct;for(Y=0|Math.min(Math.max(lt+V,0),a[0]),H=0;H<2;++H){var vt=H?ht:1-ht;if(W=0|Math.min(Math.max(ft+H,0),a[1]),G=dt<2?this._field[mt].get(Y,W):(this.intensity.get(Y,W)-this.intensityBounds[0])/(this.intensityBounds[1]-this.intensityBounds[0]),!isFinite(G)||isNaN(G)){pt=!0;break e}var yt=gt*vt;nt[dt]+=yt*G}}}if(pt){if(q>0){for(var xt=0;xt<5;++xt)Q.pop();U-=1}continue t}Q.push(nt[0],nt[1],ot[0],ot[1],nt[2]),U+=1}}rt.push(U)}this._contourOffsets[$]=et,this._contourCounts[$]=rt}var bt=s.mallocFloat(Q.length);for(o=0;o<Q.length;++o)bt[o]=Q[o];this._contourBuffer.update(bt),s.freeFloat(bt)}},S.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)},S.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,c=(o+2)%3,u=this._field[o],f=this._field[l],p=this._field[c],d=h(u,r[o]),m=d.cells,g=d.positions;for(this._dynamicOffsets[o]=n,e=0;e<m.length;++e)for(var v=m[e],y=0;y<2;++y){var x=g[v[y]],b=+x[0],_=0|b,w=0|Math.min(_+1,i[0]),T=b-_,k=1-T,A=+x[1],M=0|A,S=0|Math.min(M+1,i[1]),E=A-M,L=1-E,C=k*L,P=k*E,I=T*L,O=T*E,z=C*f.get(_,M)+P*f.get(_,S)+I*f.get(w,M)+O*f.get(w,S),D=C*p.get(_,M)+P*p.get(_,S)+I*p.get(w,M)+O*p.get(w,S);if(isNaN(z)||isNaN(D)){y&&(n-=1);break}a[2*n+0]=z,a[2*n+1]=D,n+=1}this._dynamicCounts[o]=n-this._dynamicOffsets[o]}else this.dynamicLevel[o]=NaN,this._dynamicCounts[o]=0;this._dynamicBuffer.update(a.subarray(0,2*n)),s.freeFloat(a)}}},{\"./lib/shaders\":144,\"binary-search-bounds\":31,\"bit-twiddle\":32,colormap:53,\"gl-buffer\":78,\"gl-mat4/invert\":98,\"gl-mat4/multiply\":100,\"gl-texture2d\":146,\"gl-vao\":150,ndarray:259,\"ndarray-gradient\":252,\"ndarray-ops\":254,\"ndarray-pack\":255,\"surface-nets\":302,\"typedarray-pool\":308}],146:[function(t,e,r){\"use strict\";var n=t(\"ndarray\"),i=t(\"ndarray-ops\"),a=t(\"typedarray-pool\");e.exports=function(t){if(arguments.length<=1)throw new Error(\"gl-texture2d: Missing arguments for texture2d constructor\");o||c(t);if(\"number\"==typeof arguments[1])return v(t,arguments[1],arguments[2],arguments[3]||t.RGBA,arguments[4]||t.UNSIGNED_BYTE);if(Array.isArray(arguments[1]))return v(t,0|arguments[1][0],0|arguments[1][1],arguments[2]||t.RGBA,arguments[3]||t.UNSIGNED_BYTE);if(\"object\"==typeof arguments[1]){var e=arguments[1],r=u(e)?e:e.raw;if(r)return y(t,r,0|e.width,0|e.height,arguments[2]||t.RGBA,arguments[3]||t.UNSIGNED_BYTE);if(e.shape&&e.data&&e.stride)return x(t,e)}throw new Error(\"gl-texture2d: Invalid arguments for texture2d constructor\")};var o=null,s=null,l=null;function c(t){o=[t.LINEAR,t.NEAREST_MIPMAP_LINEAR,t.LINEAR_MIPMAP_NEAREST,t.LINEAR_MIPMAP_NEAREST],s=[t.NEAREST,t.LINEAR,t.NEAREST_MIPMAP_NEAREST,t.NEAREST_MIPMAP_LINEAR,t.LINEAR_MIPMAP_NEAREST,t.LINEAR_MIPMAP_LINEAR],l=[t.REPEAT,t.CLAMP_TO_EDGE,t.MIRRORED_REPEAT]}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 f=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 p(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 d=p.prototype;function m(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 g(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 v(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=g(t);return t.texImage2D(t.TEXTURE_2D,0,n,e,r,0,n,i,null),new p(t,o,e,r,n,i)}function y(t,e,r,n,i,a){var o=g(t);return t.texImage2D(t.TEXTURE_2D,0,i,i,a,e),new p(t,o,r,n,i,a)}function x(t,e){var r=e.dtype,o=e.shape.slice(),s=t.getParameter(t.MAX_TEXTURE_SIZE);if(o[0]<0||o[0]>s||o[1]<0||o[1]>s)throw new Error(\"gl-texture2d: Invalid texture size\");var l=m(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 u,h,d=0;if(2===o.length)d=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])d=t.ALPHA;else if(2===o[2])d=t.LUMINANCE_ALPHA;else if(3===o[2])d=t.RGB;else{if(4!==o[2])throw new Error(\"gl-texture2d: Invalid shape for pixel coords\");d=t.RGBA}}c!==t.FLOAT||t.getExtension(\"OES_texture_float\")||(c=t.UNSIGNED_BYTE,l=!1);var v=e.size;if(l)u=0===e.offset&&e.data.length===v?e.data:e.data.subarray(e.offset,e.offset+v);else{var y=[o[2],o[2]*o[0],1];h=a.malloc(v,r);var x=n(h,o,y,0);\"float32\"!==r&&\"float64\"!==r||c!==t.UNSIGNED_BYTE?i.assign(x,e):f(x,e),u=h.subarray(0,v)}var b=g(t);return t.texImage2D(t.TEXTURE_2D,0,d,o[0],o[1],0,d,c,u),l||a.free(h),new p(t,b,o[0],o[1],d,c)}Object.defineProperties(d,{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}}}),d.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},d.dispose=function(){this.gl.deleteTexture(this.handle)},d.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)},d.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,c,u){var h=u.dtype,p=u.shape.slice();if(p.length<2||p.length>3)throw new Error(\"gl-texture2d: Invalid ndarray, must be 2d or 3d\");var d=0,g=0,v=m(p,u.stride.slice());\"float32\"===h?d=t.FLOAT:\"float64\"===h?(d=t.FLOAT,v=!1,h=\"float32\"):\"uint8\"===h?d=t.UNSIGNED_BYTE:(d=t.UNSIGNED_BYTE,v=!1,h=\"uint8\");if(2===p.length)g=t.LUMINANCE,p=[p[0],p[1],1],u=n(u.data,p,[u.stride[0],u.stride[1],1],u.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]}g!==t.LUMINANCE&&g!==t.ALPHA||s!==t.LUMINANCE&&s!==t.ALPHA||(g=s);if(g!==s)throw new Error(\"gl-texture2d: Incompatible texture format for setPixels\");var y=u.size,x=c.indexOf(o)<0;x&&c.push(o);if(d===l&&v)0===u.offset&&u.data.length===y?x?t.texImage2D(t.TEXTURE_2D,o,s,p[0],p[1],0,s,l,u.data):t.texSubImage2D(t.TEXTURE_2D,o,e,r,p[0],p[1],s,l,u.data):x?t.texImage2D(t.TEXTURE_2D,o,s,p[0],p[1],0,s,l,u.data.subarray(u.offset,u.offset+y)):t.texSubImage2D(t.TEXTURE_2D,o,e,r,p[0],p[1],s,l,u.data.subarray(u.offset,u.offset+y));else{var b;b=l===t.FLOAT?a.mallocFloat32(y):a.mallocUint8(y);var _=n(b,p,[p[2],p[2]*p[0],1]);d===t.FLOAT&&l===t.UNSIGNED_BYTE?f(_,u):i.assign(_,u),x?t.texImage2D(t.TEXTURE_2D,o,s,p[0],p[1],0,s,l,b.subarray(0,y)):t.texSubImage2D(t.TEXTURE_2D,o,e,r,p[0],p[1],s,l,b.subarray(0,y)),l===t.FLOAT?a.freeFloat32(b):a.freeUint8(b)}}(s,e,r,o,this.format,this.type,this._mipLevels,t)}}},{ndarray:259,\"ndarray-ops\":254,\"typedarray-pool\":308}],147:[function(t,e,r){\"use strict\";e.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;i<r.length;++i){var a=r[i];if(a.buffer){var o=a.buffer,s=a.size||4,l=a.type||t.FLOAT,c=!!a.normalized,u=a.stride||0,f=a.offset||0;o.bind(),t.enableVertexAttribArray(i),t.vertexAttribPointer(i,s,l,c,u,f)}else{if(\"number\"==typeof a)t.vertexAttrib1f(i,a);else if(1===a.length)t.vertexAttrib1f(i,a[0]);else if(2===a.length)t.vertexAttrib2f(i,a[0],a[1]);else if(3===a.length)t.vertexAttrib3f(i,a[0],a[1],a[2]);else{if(4!==a.length)throw new Error(\"gl-vao: Invalid vertex attribute\");t.vertexAttrib4f(i,a[0],a[1],a[2],a[3])}t.disableVertexAttribArray(i)}}for(;i<n;++i)t.disableVertexAttribArray(i)}else{t.bindBuffer(t.ARRAY_BUFFER,null);for(i=0;i<n;++i)t.disableVertexAttribArray(i)}}},{}],148:[function(t,e,r){\"use strict\";var n=t(\"./do-bind.js\");function i(t){this.gl=t,this._elements=null,this._attributes=null,this._elementsType=t.UNSIGNED_SHORT}i.prototype.bind=function(){n(this.gl,this._elements,this._attributes)},i.prototype.update=function(t,e,r){this._elements=e,this._attributes=t,this._elementsType=r||this.gl.UNSIGNED_SHORT},i.prototype.dispose=function(){},i.prototype.unbind=function(){},i.prototype.draw=function(t,e,r){r=r||0;var n=this.gl;this._elements?n.drawElements(t,e,this._elementsType,r):n.drawArrays(t,r,e)},e.exports=function(t){return new i(t)}},{\"./do-bind.js\":147}],149:[function(t,e,r){\"use strict\";var n=t(\"./do-bind.js\");function i(t,e,r,n,i,a){this.location=t,this.dimension=e,this.a=r,this.b=n,this.c=i,this.d=a}function a(t,e,r){this.gl=t,this._ext=e,this.handle=r,this._attribs=[],this._useElements=!1,this._elementsType=t.UNSIGNED_SHORT}i.prototype.bind=function(t){switch(this.dimension){case 1:t.vertexAttrib1f(this.location,this.a);break;case 2:t.vertexAttrib2f(this.location,this.a,this.b);break;case 3:t.vertexAttrib3f(this.location,this.a,this.b,this.c);break;case 4:t.vertexAttrib4f(this.location,this.a,this.b,this.c,this.d)}},a.prototype.bind=function(){this._ext.bindVertexArrayOES(this.handle);for(var t=0;t<this._attribs.length;++t)this._attribs[t].bind(this.gl)},a.prototype.unbind=function(){this._ext.bindVertexArrayOES(null)},a.prototype.dispose=function(){this._ext.deleteVertexArrayOES(this.handle)},a.prototype.update=function(t,e,r){if(this.bind(),n(this.gl,e,t),this.unbind(),this._attribs.length=0,t)for(var a=0;a<t.length;++a){var o=t[a];\"number\"==typeof o?this._attribs.push(new i(a,1,o)):Array.isArray(o)&&this._attribs.push(new i(a,o.length,o[0],o[1],o[2],o[3]))}this._useElements=!!e,this._elementsType=r||this.gl.UNSIGNED_SHORT},a.prototype.draw=function(t,e,r){r=r||0;var n=this.gl;this._useElements?n.drawElements(t,e,this._elementsType,r):n.drawArrays(t,r,e)},e.exports=function(t,e){return new a(t,e,e.createVertexArrayOES())}},{\"./do-bind.js\":147}],150:[function(t,e,r){\"use strict\";var n=t(\"./lib/vao-native.js\"),i=t(\"./lib/vao-emulated.js\");function a(t){this.bindVertexArrayOES=t.bindVertexArray.bind(t),this.createVertexArrayOES=t.createVertexArray.bind(t),this.deleteVertexArrayOES=t.deleteVertexArray.bind(t)}e.exports=function(t,e,r,o){var s,l=t.createVertexArray?new a(t):t.getExtension(\"OES_vertex_array_object\");return(s=l?n(t,l):i(t)).update(e,r,o),s}},{\"./lib/vao-emulated.js\":148,\"./lib/vao-native.js\":149}],151:[function(t,e,r){e.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}},{}],152:[function(t,e,r){e.exports=function(t,e){var r=n(t[0],t[1],t[2]),o=n(e[0],e[1],e[2]);i(r,r),i(o,o);var s=a(r,o);return s>1?0:Math.acos(s)};var n=t(\"./fromValues\"),i=t(\"./normalize\"),a=t(\"./dot\")},{\"./dot\":162,\"./fromValues\":168,\"./normalize\":179}],153:[function(t,e,r){e.exports=function(t,e){return t[0]=Math.ceil(e[0]),t[1]=Math.ceil(e[1]),t[2]=Math.ceil(e[2]),t}},{}],154:[function(t,e,r){e.exports=function(t){var e=new Float32Array(3);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e}},{}],155:[function(t,e,r){e.exports=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}},{}],156:[function(t,e,r){e.exports=function(){var t=new Float32Array(3);return t[0]=0,t[1]=0,t[2]=0,t}},{}],157:[function(t,e,r){e.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}},{}],158:[function(t,e,r){e.exports=t(\"./distance\")},{\"./distance\":159}],159:[function(t,e,r){e.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)}},{}],160:[function(t,e,r){e.exports=t(\"./divide\")},{\"./divide\":161}],161:[function(t,e,r){e.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}},{}],162:[function(t,e,r){e.exports=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}},{}],163:[function(t,e,r){e.exports=1e-6},{}],164:[function(t,e,r){e.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=t(\"./epsilon\")},{\"./epsilon\":163}],165:[function(t,e,r){e.exports=function(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]}},{}],166:[function(t,e,r){e.exports=function(t,e){return t[0]=Math.floor(e[0]),t[1]=Math.floor(e[1]),t[2]=Math.floor(e[2]),t}},{}],167:[function(t,e,r){e.exports=function(t,e,r,i,a,o){var s,l;e||(e=3);r||(r=0);l=i?Math.min(i*e+r,t.length):t.length;for(s=r;s<l;s+=e)n[0]=t[s],n[1]=t[s+1],n[2]=t[s+2],a(n,n,o),t[s]=n[0],t[s+1]=n[1],t[s+2]=n[2];return t};var n=t(\"./create\")()},{\"./create\":156}],168:[function(t,e,r){e.exports=function(t,e,r){var n=new Float32Array(3);return n[0]=t,n[1]=e,n[2]=r,n}},{}],169:[function(t,e,r){e.exports={EPSILON:t(\"./epsilon\"),create:t(\"./create\"),clone:t(\"./clone\"),angle:t(\"./angle\"),fromValues:t(\"./fromValues\"),copy:t(\"./copy\"),set:t(\"./set\"),equals:t(\"./equals\"),exactEquals:t(\"./exactEquals\"),add:t(\"./add\"),subtract:t(\"./subtract\"),sub:t(\"./sub\"),multiply:t(\"./multiply\"),mul:t(\"./mul\"),divide:t(\"./divide\"),div:t(\"./div\"),min:t(\"./min\"),max:t(\"./max\"),floor:t(\"./floor\"),ceil:t(\"./ceil\"),round:t(\"./round\"),scale:t(\"./scale\"),scaleAndAdd:t(\"./scaleAndAdd\"),distance:t(\"./distance\"),dist:t(\"./dist\"),squaredDistance:t(\"./squaredDistance\"),sqrDist:t(\"./sqrDist\"),length:t(\"./length\"),len:t(\"./len\"),squaredLength:t(\"./squaredLength\"),sqrLen:t(\"./sqrLen\"),negate:t(\"./negate\"),inverse:t(\"./inverse\"),normalize:t(\"./normalize\"),dot:t(\"./dot\"),cross:t(\"./cross\"),lerp:t(\"./lerp\"),random:t(\"./random\"),transformMat4:t(\"./transformMat4\"),transformMat3:t(\"./transformMat3\"),transformQuat:t(\"./transformQuat\"),rotateX:t(\"./rotateX\"),rotateY:t(\"./rotateY\"),rotateZ:t(\"./rotateZ\"),forEach:t(\"./forEach\")}},{\"./add\":151,\"./angle\":152,\"./ceil\":153,\"./clone\":154,\"./copy\":155,\"./create\":156,\"./cross\":157,\"./dist\":158,\"./distance\":159,\"./div\":160,\"./divide\":161,\"./dot\":162,\"./epsilon\":163,\"./equals\":164,\"./exactEquals\":165,\"./floor\":166,\"./forEach\":167,\"./fromValues\":168,\"./inverse\":170,\"./len\":171,\"./length\":172,\"./lerp\":173,\"./max\":174,\"./min\":175,\"./mul\":176,\"./multiply\":177,\"./negate\":178,\"./normalize\":179,\"./random\":180,\"./rotateX\":181,\"./rotateY\":182,\"./rotateZ\":183,\"./round\":184,\"./scale\":185,\"./scaleAndAdd\":186,\"./set\":187,\"./sqrDist\":188,\"./sqrLen\":189,\"./squaredDistance\":190,\"./squaredLength\":191,\"./sub\":192,\"./subtract\":193,\"./transformMat3\":194,\"./transformMat4\":195,\"./transformQuat\":196}],170:[function(t,e,r){e.exports=function(t,e){return t[0]=1/e[0],t[1]=1/e[1],t[2]=1/e[2],t}},{}],171:[function(t,e,r){e.exports=t(\"./length\")},{\"./length\":172}],172:[function(t,e,r){e.exports=function(t){var e=t[0],r=t[1],n=t[2];return Math.sqrt(e*e+r*r+n*n)}},{}],173:[function(t,e,r){e.exports=function(t,e,r,n){var i=e[0],a=e[1],o=e[2];return t[0]=i+n*(r[0]-i),t[1]=a+n*(r[1]-a),t[2]=o+n*(r[2]-o),t}},{}],174:[function(t,e,r){e.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}},{}],175:[function(t,e,r){e.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}},{}],176:[function(t,e,r){e.exports=t(\"./multiply\")},{\"./multiply\":177}],177:[function(t,e,r){e.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}},{}],178:[function(t,e,r){e.exports=function(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t}},{}],179:[function(t,e,r){e.exports=function(t,e){var r=e[0],n=e[1],i=e[2],a=r*r+n*n+i*i;a>0&&(a=1/Math.sqrt(a),t[0]=e[0]*a,t[1]=e[1]*a,t[2]=e[2]*a);return t}},{}],180:[function(t,e,r){e.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}},{}],181:[function(t,e,r){e.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}},{}],182:[function(t,e,r){e.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}},{}],183:[function(t,e,r){e.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}},{}],184:[function(t,e,r){e.exports=function(t,e){return t[0]=Math.round(e[0]),t[1]=Math.round(e[1]),t[2]=Math.round(e[2]),t}},{}],185:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t}},{}],186:[function(t,e,r){e.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}},{}],187:[function(t,e,r){e.exports=function(t,e,r,n){return t[0]=e,t[1]=r,t[2]=n,t}},{}],188:[function(t,e,r){e.exports=t(\"./squaredDistance\")},{\"./squaredDistance\":190}],189:[function(t,e,r){e.exports=t(\"./squaredLength\")},{\"./squaredLength\":191}],190:[function(t,e,r){e.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}},{}],191:[function(t,e,r){e.exports=function(t){var e=t[0],r=t[1],n=t[2];return e*e+r*r+n*n}},{}],192:[function(t,e,r){e.exports=t(\"./subtract\")},{\"./subtract\":193}],193:[function(t,e,r){e.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}},{}],194:[function(t,e,r){e.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}},{}],195:[function(t,e,r){e.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}},{}],196:[function(t,e,r){e.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,f=c*i+l*n-o*a,h=c*a+o*i-s*n,p=-o*n-s*i-l*a;return t[0]=u*c+p*-o+f*-l-h*-s,t[1]=f*c+p*-s+h*-o-u*-l,t[2]=h*c+p*-l+u*-s-f*-o,t}},{}],197:[function(t,e,r){e.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}},{}],198:[function(t,e,r){e.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}},{}],199:[function(t,e,r){e.exports=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t}},{}],200:[function(t,e,r){e.exports=function(){var t=new Float32Array(4);return t[0]=0,t[1]=0,t[2]=0,t[3]=0,t}},{}],201:[function(t,e,r){e.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)}},{}],202:[function(t,e,r){e.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}},{}],203:[function(t,e,r){e.exports=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]}},{}],204:[function(t,e,r){e.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}},{}],205:[function(t,e,r){e.exports={create:t(\"./create\"),clone:t(\"./clone\"),fromValues:t(\"./fromValues\"),copy:t(\"./copy\"),set:t(\"./set\"),add:t(\"./add\"),subtract:t(\"./subtract\"),multiply:t(\"./multiply\"),divide:t(\"./divide\"),min:t(\"./min\"),max:t(\"./max\"),scale:t(\"./scale\"),scaleAndAdd:t(\"./scaleAndAdd\"),distance:t(\"./distance\"),squaredDistance:t(\"./squaredDistance\"),length:t(\"./length\"),squaredLength:t(\"./squaredLength\"),negate:t(\"./negate\"),inverse:t(\"./inverse\"),normalize:t(\"./normalize\"),dot:t(\"./dot\"),lerp:t(\"./lerp\"),random:t(\"./random\"),transformMat4:t(\"./transformMat4\"),transformQuat:t(\"./transformQuat\")}},{\"./add\":197,\"./clone\":198,\"./copy\":199,\"./create\":200,\"./distance\":201,\"./divide\":202,\"./dot\":203,\"./fromValues\":204,\"./inverse\":206,\"./length\":207,\"./lerp\":208,\"./max\":209,\"./min\":210,\"./multiply\":211,\"./negate\":212,\"./normalize\":213,\"./random\":214,\"./scale\":215,\"./scaleAndAdd\":216,\"./set\":217,\"./squaredDistance\":218,\"./squaredLength\":219,\"./subtract\":220,\"./transformMat4\":221,\"./transformQuat\":222}],206:[function(t,e,r){e.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}},{}],207:[function(t,e,r){e.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)}},{}],208:[function(t,e,r){e.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}},{}],209:[function(t,e,r){e.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}},{}],210:[function(t,e,r){e.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}},{}],211:[function(t,e,r){e.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}},{}],212:[function(t,e,r){e.exports=function(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t}},{}],213:[function(t,e,r){e.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;o>0&&(o=1/Math.sqrt(o),t[0]=r*o,t[1]=n*o,t[2]=i*o,t[3]=a*o);return t}},{}],214:[function(t,e,r){var n=t(\"./normalize\"),i=t(\"./scale\");e.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}},{\"./normalize\":213,\"./scale\":215}],215:[function(t,e,r){e.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}},{}],216:[function(t,e,r){e.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}},{}],217:[function(t,e,r){e.exports=function(t,e,r,n,i){return t[0]=e,t[1]=r,t[2]=n,t[3]=i,t}},{}],218:[function(t,e,r){e.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}},{}],219:[function(t,e,r){e.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}},{}],220:[function(t,e,r){e.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}},{}],221:[function(t,e,r){e.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}},{}],222:[function(t,e,r){e.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,f=c*i+l*n-o*a,h=c*a+o*i-s*n,p=-o*n-s*i-l*a;return t[0]=u*c+p*-o+f*-l-h*-s,t[1]=f*c+p*-s+h*-o-u*-l,t[2]=h*c+p*-l+u*-s-f*-o,t[3]=e[3],t}},{}],223:[function(t,e,r){var n=t(\"glsl-tokenizer\"),i=t(\"atob-lite\");e.exports=function(t){for(var e=Array.isArray(t)?t:n(t),r=0;r<e.length;r++){var a=e[r];if(\"preprocessor\"===a.type){var o=a.data.match(/\\#define\\s+SHADER_NAME(_B64)?\\s+(.+)$/);if(o&&o[2]){var s=o[1],l=o[2];return(s?i(l):l).trim()}}}}},{\"atob-lite\":13,\"glsl-tokenizer\":230}],224:[function(t,e,r){e.exports=function(t){var e,r,c,u=0,f=0,h=999,p=[],d=[],m=1,g=0,v=0,y=!1,x=!1,b=\"\",_=a,w=n;\"300 es\"===(t=t||{}).version&&(_=s,w=o);var T={},k={};for(u=0;u<_.length;u++)T[_[u]]=!0;for(u=0;u<w.length;u++)k[w[u]]=!0;return function(t){return d=[],null!==t?function(t){u=0,t.toString&&(t=t.toString());var r;b+=t.replace(/\\r\\n/g,\"\\n\"),c=b.length;for(;e=b[u],u<c;){switch(r=u,h){case 0:u=L();break;case 1:case 2:u=E();break;case 3:u=C();break;case 4:u=O();break;case 11:u=I();break;case 5:u=z();break;case 9999:u=D();break;case 9:u=S();break;case 999:u=M()}if(r!==u)switch(b[r]){case\"\\n\":g=0,++m;break;default:++g}}return f+=u,b=b.slice(u),d}(t):function(t){p.length&&A(p.join(\"\"));return h=10,A(\"(eof)\"),d}()};function A(t){t.length&&d.push({type:l[h],data:t,position:v,line:m,column:g})}function M(){return p=p.length?[]:p,\"/\"===r&&\"*\"===e?(v=f+u-1,h=0,r=e,u+1):\"/\"===r&&\"/\"===e?(v=f+u-1,h=1,r=e,u+1):\"#\"===e?(h=2,v=f+u,u):/\\s/.test(e)?(h=9,v=f+u,u):(y=/\\d/.test(e),x=/[^\\w_]/.test(e),v=f+u,h=y?4:x?3:9999,u)}function S(){return/[^\\s]/g.test(e)?(A(p.join(\"\")),h=999,u):(p.push(e),r=e,u+1)}function E(){return\"\\r\"!==e&&\"\\n\"!==e||\"\\\\\"===r?(p.push(e),r=e,u+1):(A(p.join(\"\")),h=999,u)}function L(){return\"/\"===e&&\"*\"===r?(p.push(e),A(p.join(\"\")),h=999,u+1):(p.push(e),r=e,u+1)}function C(){if(\".\"===r&&/\\d/.test(e))return h=5,u;if(\"/\"===r&&\"*\"===e)return h=0,u;if(\"/\"===r&&\"/\"===e)return h=1,u;if(\".\"===e&&p.length){for(;P(p););return h=5,u}if(\";\"===e||\")\"===e||\"(\"===e){if(p.length)for(;P(p););return A(e),h=999,u+1}var t=2===p.length&&\"=\"!==e;if(/[\\w_\\d\\s]/.test(e)||t){for(;P(p););return h=999,u}return p.push(e),r=e,u+1}function P(t){for(var e,r,n=0;;){if(e=i.indexOf(t.slice(0,t.length+n).join(\"\")),r=i[e],-1===e){if(n--+t.length>0)continue;r=t.slice(0,1).join(\"\")}return A(r),v+=r.length,(p=p.slice(r.length)).length}}function I(){return/[^a-fA-F0-9]/.test(e)?(A(p.join(\"\")),h=999,u):(p.push(e),r=e,u+1)}function O(){return\".\"===e||/[eE]/.test(e)?(p.push(e),h=5,r=e,u+1):\"x\"===e&&1===p.length&&\"0\"===p[0]?(h=11,p.push(e),r=e,u+1):/[^\\d]/.test(e)?(A(p.join(\"\")),h=999,u):(p.push(e),r=e,u+1)}function z(){return\"f\"===e&&(p.push(e),r=e,u+=1),/[eE]/.test(e)?(p.push(e),r=e,u+1):(\"-\"!==e&&\"+\"!==e||!/[eE]/.test(r))&&/[^\\d]/.test(e)?(A(p.join(\"\")),h=999,u):(p.push(e),r=e,u+1)}function D(){if(/[^\\d\\w_]/.test(e)){var t=p.join(\"\");return h=k[t]?8:T[t]?7:6,A(p.join(\"\")),h=999,u}return p.push(e),r=e,u+1}};var n=t(\"./lib/literals\"),i=t(\"./lib/operators\"),a=t(\"./lib/builtins\"),o=t(\"./lib/literals-300es\"),s=t(\"./lib/builtins-300es\"),l=[\"block-comment\",\"line-comment\",\"preprocessor\",\"operator\",\"integer\",\"float\",\"ident\",\"builtin\",\"keyword\",\"whitespace\",\"eof\",\"integer\"]},{\"./lib/builtins\":226,\"./lib/builtins-300es\":225,\"./lib/literals\":228,\"./lib/literals-300es\":227,\"./lib/operators\":229}],225:[function(t,e,r){var n=t(\"./builtins\");n=n.slice().filter((function(t){return!/^(gl\\_|texture)/.test(t)})),e.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\"])},{\"./builtins\":226}],226:[function(t,e,r){e.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\"]},{}],227:[function(t,e,r){var n=t(\"./literals\");e.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\"])},{\"./literals\":228}],228:[function(t,e,r){e.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\"]},{}],229:[function(t,e,r){e.exports=[\"<<=\",\">>=\",\"++\",\"--\",\"<<\",\">>\",\"<=\",\">=\",\"==\",\"!=\",\"&&\",\"||\",\"+=\",\"-=\",\"*=\",\"/=\",\"%=\",\"&=\",\"^^\",\"^=\",\"|=\",\"(\",\")\",\"[\",\"]\",\".\",\"!\",\"~\",\"*\",\"/\",\"%\",\"+\",\"-\",\"<\",\">\",\"&\",\"^\",\"|\",\"?\",\":\",\"=\",\",\",\";\",\"{\",\"}\"]},{}],230:[function(t,e,r){var n=t(\"./index\");e.exports=function(t,e){var r=n(e),i=[];return i=(i=i.concat(r(t))).concat(r(null))}},{\"./index\":224}],231:[function(t,e,r){e.exports=function(t){\"string\"==typeof t&&(t=[t]);for(var e=[].slice.call(arguments,1),r=[],n=0;n<t.length-1;n++)r.push(t[n],e[n]||\"\");return r.push(t[n]),r.join(\"\")}},{}],232:[function(t,e,r){\"use strict\";var n=t(\"is-browser\");e.exports=n&&function(){var t=!1;try{var e=Object.defineProperty({},\"passive\",{get:function(){t=!0}});window.addEventListener(\"test\",null,e),window.removeEventListener(\"test\",null,e)}catch(e){t=!1}return t}()},{\"is-browser\":236}],233:[function(t,e,r){\"use strict\";e.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 f=new a(l,new Array(i+1),!1),h=f.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 v=new a(d,new Array(i+1),!0);h[u]=v,p[u]=v}p[i+1]=f;for(u=0;u<=i;++u){d=h[u].vertices;var y=h[u].adjacent;for(m=0;m<=i;++m){var x=d[m];if(x<0)y[m]=f;else for(var b=0;b<=i;++b)h[b].vertices.indexOf(x)<0&&(y[m]=h[b])}}var _=new c(i,o,p),w=!!e;for(u=i+1;u<r;++u)_.insert(t[u],w);return _.boundary()};var n=t(\"robust-orientation\"),i=t(\"simplicial-complex\").compareCells;function a(t,e,r){this.vertices=t,this.adjacent=e,this.boundary=r,this.lastVisited=-1}function o(t,e,r){this.vertices=t,this.cell=e,this.index=r}function s(t,e){return i(t.vertices,e.vertices)}a.prototype.flip=function(){var t=this.vertices[0];this.vertices[0]=this.vertices[1],this.vertices[1]=t;var e=this.adjacent[0];this.adjacent[0]=this.adjacent[1],this.adjacent[1]=e};var l=[];function c(t,e,r){this.dimension=t,this.vertices=e,this.simplices=r,this.interior=r.filter((function(t){return!t.boundary})),this.tuple=new Array(t+1);for(var i=0;i<=t;++i)this.tuple[i]=this.vertices[i];var a,o=l[t];o||(o=l[t]=((a=n[t+1])||(a=n),function(t){return function(){var e=this.tuple;return t.apply(this,e)}}(a))),this.orient=o}var u=c.prototype;u.handleBoundaryDegeneracy=function(t,e){var r=this.dimension,n=this.vertices.length-1,i=this.tuple,a=this.vertices,o=[t];for(t.lastVisited=-n;o.length>0;)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,f=0;f<=r;++f){var h=u[f];i[f]=h<0?e:a[h]}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]];s.lastVisited=r;for(u=0;u<=n;++u){var f=c[u];if(!(f.lastVisited>=r)){var h=a[u];a[u]=t;var p=this.orient();if(a[u]=h,p<0){s=f;continue t}f.boundary?f.lastVisited=-r:f.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,f=[e];e.lastVisited=r,e.vertices[e.vertices.indexOf(-1)]=r,e.boundary=!1,c.push(e);for(var h=[];f.length>0;){var p=(e=f.pop()).vertices,d=e.adjacent,m=p.indexOf(r);if(!(m<0))for(var g=0;g<=n;++g)if(g!==m){var v=d[g];if(v.boundary&&!(v.lastVisited>=r)){var y=v.vertices;if(v.lastVisited!==-r){for(var x=0,b=0;b<=n;++b)y[b]<0?(x=b,l[b]=t):l[b]=i[y[b]];if(this.orient()>0){y[x]=r,v.boundary=!1,c.push(v),f.push(v),v.lastVisited=r;continue}v.lastVisited=-r}var _=v.adjacent,w=p.slice(),T=d.slice(),k=new a(w,T,!0);u.push(k);var A=_.indexOf(e);if(!(A<0)){_[A]=k,T[m]=v,w[g]=-1,T[g]=e,d[g]=k,k.flip();for(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))}}}}}}h.sort(s);for(g=0;g+1<h.length;g+=2){var P=h[g],I=h[g+1],O=P.index,z=I.index;O<0||z<0||(P.cell.adjacent[P.index]=I.cell,I.cell.adjacent[I.index]=P.cell)}},u.insert=function(t,e){var r=this.vertices;r.push(t);var n=this.walk(t,e);if(n){for(var i=this.dimension,a=this.tuple,o=0;o<=i;++o){var s=n.vertices[o];a[o]=s<0?t:r[s]}var l=this.orient(a);l<0||(0!==l||(n=this.handleBoundaryDegeneracy(n,t)))&&this.addPeaks(t,n)}},u.boundary=function(){for(var t=this.dimension,e=[],r=this.simplices,n=r.length,i=0;i<n;++i){var a=r[i];if(a.boundary){for(var o=new Array(t),s=a.vertices,l=0,c=0,u=0;u<=t;++u)s[u]>=0?o[l++]=s[u]:c=1&u;if(c===(1&t)){var f=o[0];o[0]=o[1],o[1]=f}e.push(o)}}return e}},{\"robust-orientation\":284,\"simplicial-complex\":293}],234:[function(t,e,r){\"use strict\";var n=t(\"binary-search-bounds\");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}e.exports=function(t){if(!t||0===t.length)return new v(null);return new v(g(t))};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<t.length&&t[n][0]<=e;++n){var i=r(t[n]);if(i)return i}}function f(t,e,r){for(var n=t.length-1;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<t.length;++r){var n=e(t[r]);if(n)return n}}function p(t,e){return t-e}function d(t,e){var r=t[0]-e[0];return r||t[1]-e[1]}function m(t,e){var r=t[1]-e[1];return r||t[0]-e[0]}function g(t){if(0===t.length)return null;for(var e=[],r=0;r<t.length;++r)e.push(t[r][0],t[r][1]);e.sort(p);var n=e[e.length>>1],a=[],o=[],s=[];for(r=0;r<t.length;++r){var l=t[r];l[1]<n?a.push(l):n<l[0]?o.push(l):s.push(l)}var c=s,u=s.slice();return c.sort(d),u.sort(m),new i(n,g(a),g(o),c,u)}function v(t){this.root=t}a.intervals=function(t){return t.push.apply(t,this.leftPoints),this.left&&this.left.intervals(t),this.right&&this.right.intervals(t),t},a.insert=function(t){var e=this.count-this.leftPoints.length;if(this.count+=1,t[1]<this.mid)this.left?4*(this.left.count+1)>3*(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]<this.mid)return this.left?4*(this.right?this.right.count:0)>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);a<this.leftPoints.length&&this.leftPoints[a][0]===t[0];++a)if(this.leftPoints[a]===t){this.count-=1,this.leftPoints.splice(a,1);for(s=n.ge(this.rightPoints,t,m);s<this.rightPoints.length&&this.rightPoints[s][1]===t[1];++s)if(this.rightPoints[s]===t)return this.rightPoints.splice(s,1),1}return 0},a.queryPoint=function(t,e){if(t<this.mid){if(this.left)if(r=this.left.queryPoint(t,e))return r;return u(this.leftPoints,t,e)}if(t>this.mid){var r;if(this.right)if(r=this.right.queryPoint(t,e))return r;return f(this.rightPoints,t,e)}return h(this.leftPoints,e)},a.queryInterval=function(t,e,r){var n;if(t<this.mid&&this.left&&(n=this.left.queryInterval(t,e,r)))return n;if(e>this.mid&&this.right&&(n=this.right.queryInterval(t,e,r)))return n;return e<this.mid?u(this.leftPoints,e,r):t>this.mid?f(this.rightPoints,t,r):h(this.leftPoints,r)};var y=v.prototype;y.insert=function(t){this.root?this.root.insert(t):this.root=new i(t[0],null,null,[t],[t])},y.remove=function(t){if(this.root){var e=this.root.remove(t);return 2===e&&(this.root=null),0!==e}return!1},y.queryPoint=function(t,e){if(this.root)return this.root.queryPoint(t,e)},y.queryInterval=function(t,e,r){if(t<=e&&this.root)return this.root.queryInterval(t,e,r)},Object.defineProperty(y,\"count\",{get:function(){return this.root?this.root.count:0}}),Object.defineProperty(y,\"intervals\",{get:function(){return this.root?this.root.intervals([]):[]}})},{\"binary-search-bounds\":31}],235:[function(t,e,r){\"use strict\";e.exports=function(t){for(var e=new Array(t),r=0;r<t;++r)e[r]=r;return e}},{}],236:[function(t,e,r){e.exports=!0},{}],237:[function(t,e,r){function n(t){return!!t.constructor&&\"function\"==typeof t.constructor.isBuffer&&t.constructor.isBuffer(t)}\n",
       "/*!\n",
       " * Determine if an object is a Buffer\n",
       " *\n",
       " * @author   Feross Aboukhadijeh <https://feross.org>\n",
       " * @license  MIT\n",
       " */\n",
       "e.exports=function(t){return null!=t&&(n(t)||function(t){return\"function\"==typeof t.readFloatLE&&\"function\"==typeof t.slice&&n(t.slice(0,0))}(t)||!!t._isBuffer)}},{}],238:[function(t,e,r){\"use strict\";e.exports=a,e.exports.isMobile=a,e.exports.default=a;var n=/(android|bb\\d+|meego).+mobile|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|symbian|treo|up\\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i,i=/(android|bb\\d+|meego).+mobile|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|symbian|treo|up\\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino|android|ipad|playbook|silk/i;function a(t){t||(t={});var e=t.ua;if(e||\"undefined\"==typeof navigator||(e=navigator.userAgent),e&&e.headers&&\"string\"==typeof e.headers[\"user-agent\"]&&(e=e.headers[\"user-agent\"]),\"string\"!=typeof e)return!1;var r=t.tablet?i.test(e):n.test(e);return!r&&t.tablet&&t.featureDetect&&navigator&&navigator.maxTouchPoints>1&&-1!==e.indexOf(\"Macintosh\")&&-1!==e.indexOf(\"Safari\")&&(r=!0),r}},{}],239:[function(t,e,r){\"use strict\";e.exports=function(t){for(var e,r=t.length,n=0;n<r;n++)if(((e=t.charCodeAt(n))<9||e>13)&&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}},{}],240:[function(t,e,r){e.exports=function(t,e,r){return t*(1-r)+e*r}},{}],241:[function(t,e,r){var n=t(\"./normalize\"),i=t(\"gl-mat4/create\"),a=t(\"gl-mat4/clone\"),o=t(\"gl-mat4/determinant\"),s=t(\"gl-mat4/invert\"),l=t(\"gl-mat4/transpose\"),c={length:t(\"gl-vec3/length\"),normalize:t(\"gl-vec3/normalize\"),dot:t(\"gl-vec3/dot\"),cross:t(\"gl-vec3/cross\")},u=i(),f=i(),h=[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}e.exports=function(t,e,r,i,g,v){if(e||(e=[0,0,0]),r||(r=[0,0,0]),i||(i=[0,0,0]),g||(g=[0,0,0,1]),v||(v=[0,0,0,1]),!n(u,t))return!1;if(a(f,u),f[3]=0,f[7]=0,f[11]=0,f[15]=1,Math.abs(o(f)<1e-8))return!1;var y,x,b,_,w,T,k,A=u[3],M=u[7],S=u[11],E=u[12],L=u[13],C=u[14],P=u[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),y=g,b=f,_=(x=h)[0],w=x[1],T=x[2],k=x[3],y[0]=b[0]*_+b[4]*w+b[8]*T+b[12]*k,y[1]=b[1]*_+b[5]*w+b[9]*T+b[13]*k,y[2]=b[2]*_+b[6]*w+b[10]*T+b[14]*k,y[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,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 I=0;I<3;I++)r[I]*=-1,p[I][0]*=-1,p[I][1]*=-1,p[I][2]*=-1;return v[0]=.5*Math.sqrt(Math.max(1+p[0][0]-p[1][1]-p[2][2],0)),v[1]=.5*Math.sqrt(Math.max(1-p[0][0]+p[1][1]-p[2][2],0)),v[2]=.5*Math.sqrt(Math.max(1-p[0][0]-p[1][1]+p[2][2],0)),v[3]=.5*Math.sqrt(Math.max(1+p[0][0]+p[1][1]+p[2][2],0)),p[2][1]>p[1][2]&&(v[0]=-v[0]),p[0][2]>p[2][0]&&(v[1]=-v[1]),p[1][0]>p[0][1]&&(v[2]=-v[2]),!0}},{\"./normalize\":242,\"gl-mat4/clone\":92,\"gl-mat4/create\":93,\"gl-mat4/determinant\":94,\"gl-mat4/invert\":98,\"gl-mat4/transpose\":109,\"gl-vec3/cross\":157,\"gl-vec3/dot\":162,\"gl-vec3/length\":172,\"gl-vec3/normalize\":179}],242:[function(t,e,r){e.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}},{}],243:[function(t,e,r){var n=t(\"gl-vec3/lerp\"),i=t(\"mat4-recompose\"),a=t(\"mat4-decompose\"),o=t(\"gl-mat4/determinant\"),s=t(\"quat-slerp\"),l=f(),c=f(),u=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]}e.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,c.translate,c.scale,c.skew,c.perspective,c.quaternion);return!(!h||!p)&&(n(u.translate,l.translate,c.translate,f),n(u.skew,l.skew,c.skew,f),n(u.scale,l.scale,c.scale,f),n(u.perspective,l.perspective,c.perspective,f),s(u.quaternion,l.quaternion,c.quaternion,f),i(t,u.translate,u.scale,u.skew,u.perspective,u.quaternion),!0)}},{\"gl-mat4/determinant\":94,\"gl-vec3/lerp\":173,\"mat4-decompose\":241,\"mat4-recompose\":244,\"quat-slerp\":271}],244:[function(t,e,r){var n={identity:t(\"gl-mat4/identity\"),translate:t(\"gl-mat4/translate\"),multiply:t(\"gl-mat4/multiply\"),create:t(\"gl-mat4/create\"),scale:t(\"gl-mat4/scale\"),fromRotationTranslation:t(\"gl-mat4/fromRotationTranslation\")},i=(n.create(),n.create());e.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}},{\"gl-mat4/create\":93,\"gl-mat4/fromRotationTranslation\":96,\"gl-mat4/identity\":97,\"gl-mat4/multiply\":100,\"gl-mat4/scale\":107,\"gl-mat4/translate\":108}],245:[function(t,e,r){\"use strict\";var n=t(\"binary-search-bounds\"),i=t(\"mat4-interpolate\"),a=t(\"gl-mat4/invert\"),o=t(\"gl-mat4/rotateX\"),s=t(\"gl-mat4/rotateY\"),l=t(\"gl-mat4/rotateZ\"),c=t(\"gl-mat4/lookAt\"),u=t(\"gl-mat4/translate\"),f=(t(\"gl-mat4/scale\"),t(\"gl-vec3/normalize\")),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]}e.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],h=(l=16*r,this.prevMatrix),p=!0;for(c=0;c<16;++c)h[c]=s[l++];var d=this.nextMatrix;for(c=0;c<16;++c)d[c]=s[l++],p=p&&h[c]===d[c];if(u<1e-6||p)for(c=0;c<16;++c)o[c]=h[c];else i(o,h,d,(t-e[r])/u)}var m=this.computedUp;m[0]=o[1],m[1]=o[5],m[2]=o[9],f(m,m);var g=this.computedInverse;a(g,o);var v=this.computedEye,y=g[15];v[0]=g[12]/y,v[1]=g[13]/y,v[2]=g[14]/y;var x=this.computedCenter,b=Math.exp(this.computedRadius[0]);for(c=0;c<3;++c)x[c]=v[c]-o[2+4*c]*b}},d.idle=function(t){if(!(t<this.lastT())){for(var e=this._components,r=e.length-16,n=0;n<16;++n)e.push(e[r++]);this._time.push(t)}},d.flush=function(t){var e=n.gt(this._time,t)-2;e<0||(this._time.splice(0,e),this._components.splice(0,16*e))},d.lastT=function(){return this._time[this._time.length-1]},d.lookAt=function(t,e,r,n){this.recalcMatrix(t),e=e||this.computedEye,r=r||h,n=n||this.computedUp,this.setMatrix(t,c(this.computedMatrix,e,r,n));for(var i=0,a=0;a<3;++a)i+=Math.pow(r[a]-e[a],2);i=Math.log(Math.sqrt(i)),this.computedRadius[0]=i},d.rotate=function(t,e,r,n){this.recalcMatrix(t);var i=this.computedInverse;e&&s(i,i,e),r&&o(i,i,r),n&&l(i,i,n),this.setMatrix(t,a(this.computedMatrix,i))};var m=[0,0,0];d.pan=function(t,e,r,n){m[0]=-(e||0),m[1]=-(r||0),m[2]=-(n||0),this.recalcMatrix(t);var i=this.computedInverse;u(i,i,m),this.setMatrix(t,a(i,i))},d.translate=function(t,e,r,n){m[0]=e||0,m[1]=r||0,m[2]=n||0,this.recalcMatrix(t);var i=this.computedMatrix;u(i,i,m),this.setMatrix(t,i)},d.setMatrix=function(t,e){if(!(t<this.lastT())){this._time.push(t);for(var r=0;r<16;++r)this._components.push(e[r])}},d.setDistance=function(t,e){this.computedRadius[0]=e},d.setDistanceLimits=function(t,e){var r=this._limits;r[0]=t,r[1]=e},d.getDistanceLimits=function(t){var e=this._limits;return t?(t[0]=e[0],t[1]=e[1],t):e}},{\"binary-search-bounds\":31,\"gl-mat4/invert\":98,\"gl-mat4/lookAt\":99,\"gl-mat4/rotateX\":104,\"gl-mat4/rotateY\":105,\"gl-mat4/rotateZ\":106,\"gl-mat4/scale\":107,\"gl-mat4/translate\":108,\"gl-vec3/normalize\":179,\"mat4-interpolate\":243}],246:[function(t,e,r){\"use strict\";e.exports=function(t){var e=t.length;if(e<3){for(var r=new Array(e),i=0;i<e;++i)r[i]=i;return 2===e&&t[0][0]===t[1][0]&&t[0][1]===t[1][1]?[0]:r}var a=new Array(e);for(i=0;i<e;++i)a[i]=i;a.sort((function(e,r){var n=t[e][0]-t[r][0];return n||t[e][1]-t[r][1]}));var o=[a[0],a[1]],s=[a[0],a[1]];for(i=2;i<e;++i){for(var l=a[i],c=t[l],u=o.length;u>1&&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 f=0,h=(i=0,o.length);i<h;++i)r[f++]=o[i];for(var p=s.length-2;p>0;--p)r[f++]=s[p];return r};var n=t(\"robust-orientation\")[3]},{\"robust-orientation\":284}],247:[function(t,e,r){\"use strict\";e.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 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)?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\",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 v={element:t};return Object.defineProperties(v,{enabled:{get:function(){return s},set:function(e){e?g():function(){if(!s)return;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\",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}}),v};var n=t(\"mouse-event\")},{\"mouse-event\":249}],248:[function(t,e,r){var n={left:0,top:0};e.exports=function(t,e,r){e=e||t.currentTarget||t.srcElement,Array.isArray(r)||(r=[0,0]);var i=t.clientX||0,a=t.clientY||0,o=(s=e,s===window||s===document||s===document.body?n:s.getBoundingClientRect());var s;return r[0]=i-o.left,r[1]=a-o.top,r}},{}],249:[function(t,e,r){\"use strict\";function n(t){return t.target||t.srcElement||window}r.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<<e-1}else if(\"button\"in t){var e;if(1===(e=t.button))return 4;if(2===e)return 2;if(e>=0)return 1<<e}}return 0},r.element=n,r.x=function(t){if(\"object\"==typeof t){if(\"offsetX\"in t)return t.offsetX;var e=n(t).getBoundingClientRect();return t.clientX-e.left}return 0},r.y=function(t){if(\"object\"==typeof t){if(\"offsetY\"in t)return t.offsetY;var e=n(t).getBoundingClientRect();return t.clientY-e.top}return 0}},{}],250:[function(t,e,r){\"use strict\";var n=t(\"to-px\");e.exports=function(t,e,r){\"function\"==typeof t&&(r=!!e,e=t,t=window);var i=n(\"ex\",t),a=function(t){r&&t.preventDefault();var n=t.deltaX||0,a=t.deltaY||0,o=t.deltaZ||0,s=1;switch(t.deltaMode){case 1:s=i;break;case 2:s=window.innerHeight}if(a*=s,o*=s,(n*=s)||a||o)return e(n,a,o,t)};return t.addEventListener(\"wheel\",a),a}},{\"to-px\":304}],251:[function(t,e,r){\"use strict\";var n=t(\"typedarray-pool\");e.exports=function(t){function e(t){throw new Error(\"ndarray-extract-contour: \"+t)}\"object\"!=typeof t&&e(\"Must specify arguments\");var r=t.order;Array.isArray(r)||e(\"Must specify order\");var a=t.arrayArguments||1;a<1&&e(\"Must have at least one array argument\");var o=t.scalarArguments||0;o<0&&e(\"Scalar arg count must be > 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 s=t.getters||[],l=new Array(a),c=0;c<a;++c)s.indexOf(c)>=0?l[c]=!0:l[c]=!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,l)};var i={\"false,0,1\":function(t,e,r,n,i){return function(a,o,s,l){var c,u=0|a.shape[0],f=0|a.shape[1],h=a.data,p=0|a.offset,d=0|a.stride[0],m=0|a.stride[1],g=p,v=0|-d,y=0,x=0|-m,b=0,_=-d-m|0,w=0,T=0|d,k=m-d*u|0,A=0,M=0,S=0,E=2*u|0,L=n(E),C=n(E),P=0,I=0,O=-1,z=-1,D=0,R=0|-u,F=0|u,B=0,N=-u-1|0,j=u-1|0,U=0,V=0,H=0;for(A=0;A<u;++A)L[P++]=r(h[g],o,s,l),g+=T;if(g+=k,f>0){if(M=1,L[P++]=r(h[g],o,s,l),g+=T,u>0)for(A=1,c=h[g],I=L[P]=r(c,o,s,l),D=L[P+O],B=L[P+R],U=L[P+N],I===D&&I===B&&I===U||(y=h[g+v],b=h[g+x],w=h[g+_],t(A,M,c,y,b,w,I,D,B,U,o,s,l),V=C[P]=S++),P+=1,g+=T,A=2;A<u;++A)c=h[g],I=L[P]=r(c,o,s,l),D=L[P+O],B=L[P+R],U=L[P+N],I===D&&I===B&&I===U||(y=h[g+v],b=h[g+x],w=h[g+_],t(A,M,c,y,b,w,I,D,B,U,o,s,l),V=C[P]=S++,U!==D&&e(C[P+O],V,w,y,U,D,o,s,l)),P+=1,g+=T;for(g+=k,P=0,H=O,O=z,z=H,H=R,R=F,F=H,H=N,N=j,j=H,M=2;M<f;++M){if(L[P++]=r(h[g],o,s,l),g+=T,u>0)for(A=1,c=h[g],I=L[P]=r(c,o,s,l),D=L[P+O],B=L[P+R],U=L[P+N],I===D&&I===B&&I===U||(y=h[g+v],b=h[g+x],w=h[g+_],t(A,M,c,y,b,w,I,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;A<u;++A)c=h[g],I=L[P]=r(c,o,s,l),D=L[P+O],B=L[P+R],U=L[P+N],I===D&&I===B&&I===U||(y=h[g+v],b=h[g+x],w=h[g+_],t(A,M,c,y,b,w,I,D,B,U,o,s,l),V=C[P]=S++,U!==B&&e(C[P+R],V,b,w,B,U,o,s,l),U!==D&&e(C[P+O],V,w,y,U,D,o,s,l)),P+=1,g+=T;1&M&&(P=0),H=O,O=z,z=H,H=R,R=F,F=H,H=N,N=j,j=H,g+=k}}i(C),i(L)}},\"false,1,0\":function(t,e,r,n,i){return function(a,o,s,l){var c,u=0|a.shape[0],f=0|a.shape[1],h=a.data,p=0|a.offset,d=0|a.stride[0],m=0|a.stride[1],g=p,v=0|-d,y=0,x=0|-m,b=0,_=-d-m|0,w=0,T=0|m,k=d-m*f|0,A=0,M=0,S=0,E=2*f|0,L=n(E),C=n(E),P=0,I=0,O=-1,z=-1,D=0,R=0|-f,F=0|f,B=0,N=-f-1|0,j=f-1|0,U=0,V=0,H=0;for(M=0;M<f;++M)L[P++]=r(h[g],o,s,l),g+=T;if(g+=k,u>0){if(A=1,L[P++]=r(h[g],o,s,l),g+=T,f>0)for(M=1,c=h[g],I=L[P]=r(c,o,s,l),B=L[P+R],D=L[P+O],U=L[P+N],I===B&&I===D&&I===U||(y=h[g+v],b=h[g+x],w=h[g+_],t(A,M,c,y,b,w,I,B,D,U,o,s,l),V=C[P]=S++),P+=1,g+=T,M=2;M<f;++M)c=h[g],I=L[P]=r(c,o,s,l),B=L[P+R],D=L[P+O],U=L[P+N],I===B&&I===D&&I===U||(y=h[g+v],b=h[g+x],w=h[g+_],t(A,M,c,y,b,w,I,B,D,U,o,s,l),V=C[P]=S++,U!==D&&e(C[P+O],V,b,w,D,U,o,s,l)),P+=1,g+=T;for(g+=k,P=0,H=R,R=F,F=H,H=O,O=z,z=H,H=N,N=j,j=H,A=2;A<u;++A){if(L[P++]=r(h[g],o,s,l),g+=T,f>0)for(M=1,c=h[g],I=L[P]=r(c,o,s,l),B=L[P+R],D=L[P+O],U=L[P+N],I===B&&I===D&&I===U||(y=h[g+v],b=h[g+x],w=h[g+_],t(A,M,c,y,b,w,I,B,D,U,o,s,l),V=C[P]=S++,U!==B&&e(C[P+R],V,w,y,U,B,o,s,l)),P+=1,g+=T,M=2;M<f;++M)c=h[g],I=L[P]=r(c,o,s,l),B=L[P+R],D=L[P+O],U=L[P+N],I===B&&I===D&&I===U||(y=h[g+v],b=h[g+x],w=h[g+_],t(A,M,c,y,b,w,I,B,D,U,o,s,l),V=C[P]=S++,U!==D&&e(C[P+O],V,b,w,D,U,o,s,l),U!==B&&e(C[P+R],V,w,y,U,B,o,s,l)),P+=1,g+=T;1&A&&(P=0),H=R,R=F,F=H,H=O,O=z,z=H,H=N,N=j,j=H,g+=k}}i(C),i(L)}}}},{\"typedarray-pool\":308}],252:[function(t,e,r){\"use strict\";var n=t(\"dup\"),i={zero:function(t,e,r,n){var i=t[0];n|=0;var a=0,o=r[0];for(a=0;a<i;++a)e[n]=0,n+=o},fdTemplate1:function(t,e,r,n,i,a,o){var s=t[0],l=r[0],c=-1*l,u=l;n|=0,o|=0;var f=0,h=l,p=a[0];for(f=0;f<s;++f)i[o]=.5*(e[n+c]-e[n+u]),n+=h,o+=p},fdTemplate2:function(t,e,r,n,i,a,o,s,l,c){var u=t[0],f=t[1],h=r[0],p=r[1],d=a[0],m=a[1],g=l[0],v=l[1],y=-1*h,x=h,b=-1*p,_=p;n|=0,o|=0,c|=0;var w=0,T=0,k=p,A=h-f*p,M=m,S=d-f*m,E=v,L=g-f*v;for(T=0;T<u;++T){for(w=0;w<f;++w)i[o]=.5*(e[n+y]-e[n+x]),s[c]=.5*(e[n+b]-e[n+_]),n+=k,o+=M,c+=E;n+=A,o+=S,c+=L}}},a={cdiff:function(t){var e={};return function(r,n,i){var a=r.dtype,o=r.order,s=n.dtype,l=n.order,c=i.dtype,u=i.order,f=[a,o.join(),s,l.join(),c,u.join()].join(),h=e[f];return h||(e[f]=h=t([a,o,s,l,c,u])),h(r.shape.slice(0),r.data,r.stride,0|r.offset,n.data,n.stride,0|n.offset,i.data,i.stride,0|i.offset)}},zero:function(t){var e={};return function(r){var n=r.dtype,i=r.order,a=[n,i.join()].join(),o=e[a];return o||(e[a]=o=t([n,i])),o(r.shape.slice(0),r.data,r.stride,0|r.offset)}},fdTemplate1:function(t){var e={};return function(r,n){var i=r.dtype,a=r.order,o=n.dtype,s=n.order,l=[i,a.join(),o,s.join()].join(),c=e[l];return c||(e[l]=c=t([i,a,o,s])),c(r.shape.slice(0),r.data,r.stride,0|r.offset,n.data,n.stride,0|n.offset)}},fdTemplate2:function(t){var e={};return function(r,n,i){var a=r.dtype,o=r.order,s=n.dtype,l=n.order,c=i.dtype,u=i.order,f=[a,o.join(),s,l.join(),c,u.join()].join(),h=e[f];return h||(e[f]=h=t([a,o,s,l,c,u])),h(r.shape.slice(0),r.data,r.stride,0|r.offset,n.data,n.stride,0|n.offset,i.data,i.stride,0|i.offset)}}};function o(t){return(0,a[t.funcName])(s.bind(void 0,t))}function s(t){return i[t.funcName]}function l(t){return o({funcName:t.funcName})}var c={},u={},f=l({funcName:\"cdiff\"}),h=l({funcName:\"zero\"});function p(t){return t in c?c[t]:c[t]=l({funcName:\"fdTemplate\"+t})}function d(t,e,r,n){return function(t,i){var a=i.shape.slice();return a[0]>2&&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}}e.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=[f,h],i=1;i<=r;++i)n.push(p(i));var a=d.apply(void 0,n);return u[e]=a,a}(r)(t,e)}},{dup:65}],253:[function(t,e,r){\"use strict\";function n(t,e){var r=Math.floor(e),n=e-r,i=0<=r&&r<t.shape[0],a=0<=r+1&&r+1<t.shape[0];return(1-n)*(i?+t.get(r):0)+n*(a?+t.get(r+1):0)}function i(t,e,r){var n=Math.floor(e),i=e-n,a=0<=n&&n<t.shape[0],o=0<=n+1&&n+1<t.shape[0],s=Math.floor(r),l=r-s,c=0<=s&&s<t.shape[1],u=0<=s+1&&s+1<t.shape[1],f=a&&c?t.get(n,s):0,h=a&&u?t.get(n,s+1):0;return(1-l)*((1-i)*f+i*(o&&c?t.get(n+1,s):0))+l*((1-i)*h+i*(o&&u?t.get(n+1,s+1):0))}function a(t,e,r,n){var i=Math.floor(e),a=e-i,o=0<=i&&i<t.shape[0],s=0<=i+1&&i+1<t.shape[0],l=Math.floor(r),c=r-l,u=0<=l&&l<t.shape[1],f=0<=l+1&&l+1<t.shape[1],h=Math.floor(n),p=n-h,d=0<=h&&h<t.shape[2],m=0<=h+1&&h+1<t.shape[2],g=o&&u&&d?t.get(i,l,h):0,v=o&&f&&d?t.get(i,l+1,h):0,y=s&&u&&d?t.get(i+1,l,h):0,x=s&&f&&d?t.get(i+1,l+1,h):0,b=o&&u&&m?t.get(i,l,h+1):0,_=o&&f&&m?t.get(i,l+1,h+1):0;return(1-p)*((1-c)*((1-a)*g+a*y)+c*((1-a)*v+a*x))+p*((1-c)*((1-a)*b+a*(s&&u&&m?t.get(i+1,l,h+1):0))+c*((1-a)*_+a*(s&&f&&m?t.get(i+1,l+1,h+1):0)))}function o(t){var e,r,n=0|t.shape.length,i=new Array(n),a=new Array(n),o=new Array(n),s=new Array(n);for(e=0;e<n;++e)r=+arguments[e+1],i[e]=Math.floor(r),a[e]=r-i[e],o[e]=0<=i[e]&&i[e]<t.shape[e],s[e]=0<=i[e]+1&&i[e]+1<t.shape[e];var l,c,u,f=0;t:for(e=0;e<1<<n;++e){for(c=1,u=t.offset,l=0;l<n;++l)if(e&1<<l){if(!s[l])continue t;c*=a[l],u+=t.stride[l]*(i[l]+1)}else{if(!o[l])continue t;c*=1-a[l],u+=t.stride[l]*i[l]}f+=c*t.data[u]}return f}e.exports=function(t,e,r,s){switch(t.shape.length){case 0:return 0;case 1:return n(t,e);case 2:return i(t,e,r);case 3:return a(t,e,r,s);default:return o.apply(void 0,arguments)}},e.exports.d1=n,e.exports.d2=i,e.exports.d3=a},{}],254:[function(t,e,r){\"use strict\";var n={\"float64,2,1,0\":function(){return function(t,e,r,n,i){var a=t[0],o=t[1],s=t[2],l=r[0],c=r[1],u=r[2];n|=0;var f=0,h=0,p=0,d=u,m=c-s*u,g=l-o*c;for(p=0;p<a;++p){for(h=0;h<o;++h){for(f=0;f<s;++f)e[n]/=i,n+=d;n+=m}n+=g}}},\"uint8,2,0,1,float64,2,1,0\":function(){return function(t,e,r,n,i,a,o,s){for(var l=t[0],c=t[1],u=t[2],f=r[0],h=r[1],p=r[2],d=a[0],m=a[1],g=a[2],v=n|=0,y=o|=0,x=0|t[0];x>0;){x<64?(l=x,x=0):(l=64,x-=64);for(var b=0|t[1];b>0;){b<64?(c=b,b=0):(c=64,b-=64),n=v+x*f+b*h,o=y+x*d+b*m;var _=0,w=0,T=0,k=p,A=f-u*p,M=h-l*f,S=g,E=d-u*g,L=m-l*d;for(T=0;T<c;++T){for(w=0;w<l;++w){for(_=0;_<u;++_)e[n]=i[o]*s,n+=k,o+=S;n+=A,o+=E}n+=M,o+=L}}}}},\"float32,1,0,float32,1,0\":function(){return function(t,e,r,n,i,a,o){var s=t[0],l=t[1],c=r[0],u=r[1],f=a[0],h=a[1];n|=0,o|=0;var p=0,d=0,m=u,g=c-l*u,v=h,y=f-l*h;for(d=0;d<s;++d){for(p=0;p<l;++p)e[n]=i[o],n+=m,o+=v;n+=g,o+=y}}},\"float32,1,0,float32,0,1\":function(){return function(t,e,r,n,i,a,o){for(var s=t[0],l=t[1],c=r[0],u=r[1],f=a[0],h=a[1],p=n|=0,d=o|=0,m=0|t[1];m>0;){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*h+g*f;var v=0,y=0,x=u,b=c-l*u,_=h,w=f-l*h;for(y=0;y<s;++y){for(v=0;v<l;++v)e[n]=i[o],n+=x,o+=_;n+=b,o+=w}}}}},\"uint8,2,0,1,uint8,1,2,0\":function(){return function(t,e,r,n,i,a,o){for(var s=t[0],l=t[1],c=t[2],u=r[0],f=r[1],h=r[2],p=a[0],d=a[1],m=a[2],g=n|=0,v=o|=0,y=0|t[2];y>0;){y<64?(c=y,y=0):(c=64,y-=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+y*h+x*u+b*f,o=v+y*m+x*p+b*d;var _=0,w=0,T=0,k=h,A=u-c*h,M=f-s*u,S=m,E=p-c*m,L=d-s*p;for(T=0;T<l;++T){for(w=0;w<s;++w){for(_=0;_<c;++_)e[n]=i[o],n+=k,o+=S;n+=A,o+=E}n+=M,o+=L}}}}}},\"uint8,2,0,1,array,2,0,1\":function(){return function(t,e,r,n,i,a,o){var s=t[0],l=t[1],c=t[2],u=r[0],f=r[1],h=r[2],p=a[0],d=a[1],m=a[2];n|=0,o|=0;var g=0,v=0,y=0,x=h,b=u-c*h,_=f-s*u,w=m,T=p-c*m,k=d-s*p;for(y=0;y<l;++y){for(v=0;v<s;++v){for(g=0;g<c;++g)e[n]=i[o],n+=x,o+=w;n+=b,o+=T}n+=_,o+=k}}}};var i=function(t,e){var r=e.join(\",\");return(0,n[r])()},a={mul:function(t){var e={};return function(r,n,i){var a=r.dtype,o=r.order,s=n.dtype,l=n.order,c=i.dtype,u=i.order,f=[a,o.join(),s,l.join(),c,u.join()].join(),h=e[f];return h||(e[f]=h=t([a,o,s,l,c,u])),h(r.shape.slice(0),r.data,r.stride,0|r.offset,n.data,n.stride,0|n.offset,i.data,i.stride,0|i.offset)}},muls:function(t){var e={};return function(r,n,i){var a=r.dtype,o=r.order,s=n.dtype,l=n.order,c=[a,o.join(),s,l.join()].join(),u=e[c];return u||(e[c]=u=t([a,o,s,l])),u(r.shape.slice(0),r.data,r.stride,0|r.offset,n.data,n.stride,0|n.offset,i)}},mulseq:function(t){var e={};return function(r,n){var i=r.dtype,a=r.order,o=[i,a.join()].join(),s=e[o];return s||(e[o]=s=t([i,a])),s(r.shape.slice(0),r.data,r.stride,0|r.offset,n)}},div:function(t){var e={};return function(r,n,i){var a=r.dtype,o=r.order,s=n.dtype,l=n.order,c=i.dtype,u=i.order,f=[a,o.join(),s,l.join(),c,u.join()].join(),h=e[f];return h||(e[f]=h=t([a,o,s,l,c,u])),h(r.shape.slice(0),r.data,r.stride,0|r.offset,n.data,n.stride,0|n.offset,i.data,i.stride,0|i.offset)}},divs:function(t){var e={};return function(r,n,i){var a=r.dtype,o=r.order,s=n.dtype,l=n.order,c=[a,o.join(),s,l.join()].join(),u=e[c];return u||(e[c]=u=t([a,o,s,l])),u(r.shape.slice(0),r.data,r.stride,0|r.offset,n.data,n.stride,0|n.offset,i)}},divseq:function(t){var e={};return function(r,n){var i=r.dtype,a=r.order,o=[i,a.join()].join(),s=e[o];return s||(e[o]=s=t([i,a])),s(r.shape.slice(0),r.data,r.stride,0|r.offset,n)}},assign:function(t){var e={};return function(r,n){var i=r.dtype,a=r.order,o=n.dtype,s=n.order,l=[i,a.join(),o,s.join()].join(),c=e[l];return c||(e[l]=c=t([i,a,o,s])),c(r.shape.slice(0),r.data,r.stride,0|r.offset,n.data,n.stride,0|n.offset)}}};function o(t){return e={funcName:t.funcName},(0,a[e.funcName])(i.bind(void 0,e));var e}var s={mul:\"*\",div:\"/\"};!function(){for(var t in s)r[t]=o({funcName:t}),r[t+\"s\"]=o({funcName:t+\"s\"}),r[t+\"seq\"]=o({funcName:t+\"seq\"})}(),r.assign=o({funcName:\"assign\"})},{}],255:[function(t,e,r){\"use strict\";var n=t(\"ndarray\"),i=t(\"./doConvert.js\");e.exports=function(t,e){for(var r=[],a=t,o=1;Array.isArray(a);)r.push(a.length),o*=a.length,a=a[0];return 0===r.length?n():(e||(e=n(new Float64Array(o),r)),i(e,t),e)}},{\"./doConvert.js\":256,ndarray:259}],256:[function(t,e,r){\"use strict\";var n,i=function(){return function(t,e,r,n,i){var a=t[0],o=t[1],s=t[2],l=r[0],c=r[1],u=r[2],f=[0,0,0];n|=0;var h=0,p=0,d=0,m=u,g=c-s*u,v=l-o*c;for(d=0;d<a;++d){for(p=0;p<o;++p){for(h=0;h<s;++h){var y,x=i;for(y=0;y<f.length-1;++y)x=x[f[y]];e[n]=x[f[f.length-1]],n+=m,++f[2]}n+=g,f[2]-=s,++f[1]}n+=v,f[1]-=o,++f[0]}}};e.exports=(n={funcName:{funcName:\"convert\"}.funcName},function(t){var e={};return function(r,n){var i=r.dtype,a=r.order,o=[i,a.join()].join(),s=e[o];return s||(e[o]=s=t([i,a])),s(r.shape.slice(0),r.data,r.stride,0|r.offset,n)}}(i.bind(void 0,n)))},{}],257:[function(t,e,r){\"use strict\";var n=t(\"typedarray-pool\");function i(t){switch(t){case\"uint32\":return[n.mallocUint32,n.freeUint32];default:return null}}var a={\"uint32,1,0\":function(t,e){return function(r,n,i,a,o,s,l,c,u,f,h){var p,d,m,g,v,y,x,b,_=r*o+a,w=t(c);for(p=r+1;p<=n;++p){for(d=p,m=_+=o,v=0,y=_,g=0;g<c;++g)w[v++]=i[y],y+=u;t:for(;d-- >r;){v=0,y=m-o;e:for(g=0;g<c;++g){if((x=i[y])<(b=w[v]))break t;if(x>b)break e;y+=f,v+=h}for(v=m,y=m-o,g=0;g<c;++g)i[v]=i[y],v+=u,y+=u;m-=o}for(v=m,y=0,g=0;g<c;++g)i[v]=w[y++],v+=u}e(w)}}};var o={\"uint32,1,0\":function(t,e,r){return function n(i,a,o,s,l,c,u,f,h,p,d){var m,g,v,y,x,b,_,w,T,k,A,M,S,E,L,C,P,I,O,z,D,R,F,B,N,j=(a-i+1)/6|0,U=i+j,V=a-j,H=i+a>>1,q=H-j,G=H+j,Y=U,W=q,X=H,Z=G,J=V,K=i+1,Q=a-1,$=!0,tt=0,et=0,rt=0,nt=f,it=e(nt),at=e(nt);A=l*Y,M=l*W,N=s;t:for(k=0;k<f;++k){if(w=M+N,(rt=o[_=A+N]-o[w])>0){g=Y,Y=W,W=g;break t}if(rt<0)break t;N+=p}A=l*Z,M=l*J,N=s;t:for(k=0;k<f;++k){if(w=M+N,(rt=o[_=A+N]-o[w])>0){g=Z,Z=J,J=g;break t}if(rt<0)break t;N+=p}A=l*Y,M=l*X,N=s;t:for(k=0;k<f;++k){if(w=M+N,(rt=o[_=A+N]-o[w])>0){g=Y,Y=X,X=g;break t}if(rt<0)break t;N+=p}A=l*W,M=l*X,N=s;t:for(k=0;k<f;++k){if(w=M+N,(rt=o[_=A+N]-o[w])>0){g=W,W=X,X=g;break t}if(rt<0)break t;N+=p}A=l*Y,M=l*Z,N=s;t:for(k=0;k<f;++k){if(w=M+N,(rt=o[_=A+N]-o[w])>0){g=Y,Y=Z,Z=g;break t}if(rt<0)break t;N+=p}A=l*X,M=l*Z,N=s;t:for(k=0;k<f;++k){if(w=M+N,(rt=o[_=A+N]-o[w])>0){g=X,X=Z,Z=g;break t}if(rt<0)break t;N+=p}A=l*W,M=l*J,N=s;t:for(k=0;k<f;++k){if(w=M+N,(rt=o[_=A+N]-o[w])>0){g=W,W=J,J=g;break t}if(rt<0)break t;N+=p}A=l*W,M=l*X,N=s;t:for(k=0;k<f;++k){if(w=M+N,(rt=o[_=A+N]-o[w])>0){g=W,W=X,X=g;break t}if(rt<0)break t;N+=p}A=l*Z,M=l*J,N=s;t:for(k=0;k<f;++k){if(w=M+N,(rt=o[_=A+N]-o[w])>0){g=Z,Z=J,J=g;break t}if(rt<0)break t;N+=p}for(A=l*Y,M=l*W,S=l*X,E=l*Z,L=l*J,C=l*U,P=l*H,I=l*V,B=0,N=s,k=0;k<f;++k)_=A+N,w=M+N,T=S+N,O=E+N,z=L+N,D=C+N,R=P+N,F=I+N,it[B]=o[w],at[B]=o[O],$=$&&it[B]===at[B],v=o[_],y=o[T],x=o[z],o[D]=v,o[R]=y,o[F]=x,++B,N+=h;for(A=l*q,M=l*i,N=s,k=0;k<f;++k)w=M+N,o[_=A+N]=o[w],N+=h;for(A=l*G,M=l*a,N=s,k=0;k<f;++k)w=M+N,o[_=A+N]=o[w],N+=h;if($)for(b=K;b<=Q;++b){_=s+b*l,B=0;t:for(k=0;k<f&&0===(rt=o[_]-it[B]);++k)B+=d,_+=p;if(0!==rt)if(rt<0){if(b!==K)for(A=l*b,M=l*K,N=s,k=0;k<f;++k)w=M+N,m=o[_=A+N],o[_]=o[w],o[w]=m,N+=h;++K}else for(;;){_=s+Q*l,B=0;t:for(k=0;k<f&&0===(rt=o[_]-it[B]);++k)B+=d,_+=p;if(!(rt>0)){if(rt<0){for(A=l*b,M=l*K,S=l*Q,N=s,k=0;k<f;++k)w=M+N,T=S+N,m=o[_=A+N],o[_]=o[w],o[w]=o[T],o[T]=m,N+=h;++K,--Q;break}for(A=l*b,M=l*Q,N=s,k=0;k<f;++k)w=M+N,m=o[_=A+N],o[_]=o[w],o[w]=m,N+=h;--Q;break}Q--}}else for(b=K;b<=Q;++b){_=s+b*l,B=0;t:for(k=0;k<f&&0===(tt=o[_]-it[B]);++k)B+=d,_+=p;if(tt<0){if(b!==K)for(A=l*b,M=l*K,N=s,k=0;k<f;++k)w=M+N,m=o[_=A+N],o[_]=o[w],o[w]=m,N+=h;++K}else{_=s+b*l,B=0;t:for(k=0;k<f&&0===(et=o[_]-at[B]);++k)B+=d,_+=p;if(et>0)for(;;){_=s+Q*l,B=0;t:for(k=0;k<f&&0===(rt=o[_]-at[B]);++k)B+=d,_+=p;if(!(rt>0)){_=s+Q*l,B=0;t:for(k=0;k<f&&0===(rt=o[_]-it[B]);++k)B+=d,_+=p;if(rt<0){for(A=l*b,M=l*K,S=l*Q,N=s,k=0;k<f;++k)w=M+N,T=S+N,m=o[_=A+N],o[_]=o[w],o[w]=o[T],o[T]=m,N+=h;++K,--Q}else{for(A=l*b,M=l*Q,N=s,k=0;k<f;++k)w=M+N,m=o[_=A+N],o[_]=o[w],o[w]=m,N+=h;--Q}break}if(--Q<b)break}}}for(A=l*i,M=l*(K-1),B=0,N=s,k=0;k<f;++k)w=M+N,o[_=A+N]=o[w],o[w]=it[B],++B,N+=h;for(A=l*a,M=l*(Q+1),B=0,N=s,k=0;k<f;++k)w=M+N,o[_=A+N]=o[w],o[w]=at[B],++B,N+=h;if(K-2-i<=32?t(i,K-2,o,s,l,c,u,f,h,p,d):n(i,K-2,o,s,l,c,u,f,h,p,d),a-(Q+2)<=32?t(Q+2,a,o,s,l,c,u,f,h,p,d):n(Q+2,a,o,s,l,c,u,f,h,p,d),$)return r(it),void r(at);if(K<U&&Q>V){t:for(;;){for(_=s+K*l,B=0,N=s,k=0;k<f;++k){if(o[_]!==it[B])break t;++B,_+=h}++K}t:for(;;){for(_=s+Q*l,B=0,N=s,k=0;k<f;++k){if(o[_]!==at[B])break t;++B,_+=h}--Q}for(b=K;b<=Q;++b){_=s+b*l,B=0;t:for(k=0;k<f&&0===(tt=o[_]-it[B]);++k)B+=d,_+=p;if(0===tt){if(b!==K)for(A=l*b,M=l*K,N=s,k=0;k<f;++k)w=M+N,m=o[_=A+N],o[_]=o[w],o[w]=m,N+=h;++K}else{_=s+b*l,B=0;t:for(k=0;k<f&&0===(et=o[_]-at[B]);++k)B+=d,_+=p;if(0===et)for(;;){_=s+Q*l,B=0;t:for(k=0;k<f&&0===(rt=o[_]-at[B]);++k)B+=d,_+=p;if(0!==rt){_=s+Q*l,B=0;t:for(k=0;k<f&&0===(rt=o[_]-it[B]);++k)B+=d,_+=p;if(rt<0){for(A=l*b,M=l*K,S=l*Q,N=s,k=0;k<f;++k)w=M+N,T=S+N,m=o[_=A+N],o[_]=o[w],o[w]=o[T],o[T]=m,N+=h;++K,--Q}else{for(A=l*b,M=l*Q,N=s,k=0;k<f;++k)w=M+N,m=o[_=A+N],o[_]=o[w],o[w]=m,N+=h;--Q}break}if(--Q<b)break}}}}r(it),r(at),Q-K<=32?t(K,Q,o,s,l,c,u,f,h,p,d):n(K,Q,o,s,l,c,u,f,h,p,d)}}};var s={\"uint32,1,0\":function(t,e){return function(r){var n=r.data,i=0|r.offset,a=r.shape,o=r.stride,s=0|o[0],l=0|a[0],c=0|o[1],u=0|a[1],f=c,h=c;l<=32?t(0,l-1,n,i,s,c,l,u,f,h,1):e(0,l-1,n,i,s,c,l,u,f,h,1)}}};e.exports=function(t,e){var r=[e,t].join(\",\"),n=s[r],l=function(t,e){var r=i(e),n=[e,t].join(\",\"),o=a[n];return r?o(r[0],r[1]):o()}(t,e),c=function(t,e,r){var n=i(e),a=[e,t].join(\",\"),s=o[a];return t.length>1&&n?s(r,n[0],n[1]):s(r)}(t,e,l);return n(l,c)}},{\"typedarray-pool\":308}],258:[function(t,e,r){\"use strict\";var n=t(\"./lib/compile_sort.js\"),i={};e.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}},{\"./lib/compile_sort.js\":257}],259:[function(t,e,r){var n=t(\"is-buffer\"),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<r.length;++t)r[t]=[Math.abs(e[t]),t];r.sort(a);var n=new Array(r.length);for(t=0;t<n.length;++t)n[t]=r[t][1];return n}var s={T:function(t){function e(t){this.data=t}var r=e.prototype;return r.dtype=t,r.index=function(){return-1},r.size=0,r.dimension=-1,r.shape=r.stride=r.order=[],r.lo=r.hi=r.transpose=r.step=function(){return new e(this.data)},r.get=r.set=function(){},r.pick=function(){return null},function(t){return new e(t)}},0:function(t,e){function r(t,e){this.data=t,this.offset=e}var n=r.prototype;return n.dtype=t,n.index=function(){return this.offset},n.dimension=0,n.size=1,n.shape=n.stride=n.order=[],n.lo=n.hi=n.transpose=n.step=function(){return new r(this.data,this.offset)},n.pick=function(){return e(this.data)},n.valueOf=n.get=function(){return\"generic\"===t?this.data.get(this.offset):this.data[this.offset]},n.set=function(e){return\"generic\"===t?this.data.set(this.offset,e):this.data[this.offset]=e},function(t,e,n,i){return new r(t,i)}},1:function(t,e,r){function n(t,e,r,n){this.data=t,this.shape=[e],this.stride=[r],this.offset=0|n}var i=n.prototype;return i.dtype=t,i.dimension=1,Object.defineProperty(i,\"size\",{get:function(){return this.shape[0]}}),i.order=[0],i.set=function(e,r){return\"generic\"===t?this.data.set(this.offset+this.stride[0]*e,r):this.data[this.offset+this.stride[0]*e]=r},i.get=function(e){return\"generic\"===t?this.data.get(this.offset+this.stride[0]*e):this.data[this.offset+this.stride[0]*e]},i.index=function(t){return this.offset+this.stride[0]*t},i.hi=function(t){return new n(this.data,\"number\"!=typeof t||t<0?this.shape[0]:0|t,this.stride[0],this.offset)},i.lo=function(t){var e=this.offset,r=0,i=this.shape[0],a=this.stride[0];return\"number\"==typeof t&&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],f=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+=f*(a=0|r),l-=a),new n(this.data,o,s,l,c,u,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],c=this.stride[2],u=this.offset,f=0,h=Math.ceil;return\"number\"==typeof t&&((f=0|t)<0?(u+=s*(i-1),i=h(-i/f)):i=h(i/f),s*=f),\"number\"==typeof e&&((f=0|e)<0?(u+=l*(a-1),a=h(-a/f)):a=h(a/f),l*=f),\"number\"==typeof r&&((f=0|r)<0?(u+=c*(o-1),o=h(-o/f)):o=h(o/f),c*=f),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],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),c-=o),\"number\"==typeof i&&i>=0&&(a+=d*(o=0|i),u-=o),new n(this.data,s,l,c,u,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],c=this.stride[0],u=this.stride[1],f=this.stride[2],h=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+=f*(s-1),s=m(-s/d)):s=m(s/d),f*=d),\"number\"==typeof i&&((d=0|i)<0?(p+=h*(l-1),l=m(-l/d)):l=m(l/d),h*=d),new n(this.data,a,o,s,l,c,u,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,c,u,f){this.data=t,this.shape=[e,r,n,i,a],this.stride=[o,s,l,c,u],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],c=this.shape[1],u=this.shape[2],f=this.shape[3],h=this.shape[4],p=this.stride[0],d=this.stride[1],m=this.stride[2],g=this.stride[3],v=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),f-=s),\"number\"==typeof a&&a>=0&&(o+=v*(s=0|a),h-=s),new n(this.data,l,c,u,f,h,p,d,m,g,v,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],f=this.stride[0],h=this.stride[1],p=this.stride[2],d=this.stride[3],m=this.stride[4],g=this.offset,v=0,y=Math.ceil;return\"number\"==typeof t&&((v=0|t)<0?(g+=f*(o-1),o=y(-o/v)):o=y(o/v),f*=v),\"number\"==typeof e&&((v=0|e)<0?(g+=h*(s-1),s=y(-s/v)):s=y(s/v),h*=v),\"number\"==typeof r&&((v=0|r)<0?(g+=p*(l-1),l=y(-l/v)):l=y(l/v),p*=v),\"number\"==typeof i&&((v=0|i)<0?(g+=d*(c-1),c=y(-c/v)):c=y(c/v),d*=v),\"number\"==typeof a&&((v=0|a)<0?(g+=m*(u-1),u=y(-u/v)):u=y(u/v),m*=v),new n(this.data,o,s,l,c,u,f,h,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:[]};e.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){a=0;for(s=0;s<o;++s)r[s]<0&&(a-=(e[s]-1)*r[s])}for(var f=function(t){if(n(t))return\"buffer\";if(i)switch(Object.prototype.toString.call(t)){case\"[object Float64Array]\":return\"float64\";case\"[object Float32Array]\":return\"float32\";case\"[object Int8Array]\":return\"int8\";case\"[object Int16Array]\":return\"int16\";case\"[object Int32Array]\":return\"int32\";case\"[object Uint8ClampedArray]\":return\"uint8_clamped\";case\"[object Uint8Array]\":return\"uint8\";case\"[object Uint16Array]\":return\"uint16\";case\"[object Uint32Array]\":return\"uint32\";case\"[object BigInt64Array]\":return\"bigint64\";case\"[object BigUint64Array]\":return\"biguint64\"}return Array.isArray(t)?\"array\":\"generic\"}(t),h=c[f];h.length<=o+1;)h.push(l(f,h.length-1));return(0,h[o+1])(t,e,r,a)}},{\"is-buffer\":237}],260:[function(t,e,r){\"use strict\";var n=t(\"double-bits\"),i=Math.pow(2,-1074);e.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),a=n.lo(t);e>t==t>0?a===-1>>>0?(r+=1,a=0):a+=1:0===a?(a=-1>>>0,r-=1):a-=1;return n.pack(a,r)}},{\"double-bits\":64}],261:[function(t,e,r){r.vertexNormals=function(t,e,r){for(var n=e.length,i=new Array(n),a=void 0===r?1e-6:r,o=0;o<n;++o)i[o]=[0,0,0];for(o=0;o<t.length;++o)for(var s=t[o],l=0,c=s[s.length-1],u=s[0],f=0;f<s.length;++f){l=c,c=u,u=s[(f+1)%s.length];for(var h=e[l],p=e[c],d=e[u],m=new Array(3),g=0,v=new Array(3),y=0,x=0;x<3;++x)m[x]=h[x]-p[x],g+=m[x]*m[x],v[x]=d[x]-p[x],y+=v[x]*v[x];if(g*y>a){var b=i[c],_=1/Math.sqrt(g*y);for(x=0;x<3;++x){var w=(x+1)%3,T=(x+2)%3;b[x]+=_*(v[w]*m[T]-v[T]*m[w])}}}for(o=0;o<n;++o){b=i[o];var k=0;for(x=0;x<3;++x)k+=b[x]*b[x];if(k>a)for(_=1/Math.sqrt(k),x=0;x<3;++x)b[x]*=_;else for(x=0;x<3;++x)b[x]=0}return i},r.faceNormals=function(t,e,r){for(var n=t.length,i=new Array(n),a=void 0===r?1e-6:r,o=0;o<n;++o){for(var s=t[o],l=new Array(3),c=0;c<3;++c)l[c]=e[s[c]];var u=new Array(3),f=new Array(3);for(c=0;c<3;++c)u[c]=l[1][c]-l[0][c],f[c]=l[2][c]-l[0][c];var h=new Array(3),p=0;for(c=0;c<3;++c){var d=(c+1)%3,m=(c+2)%3;h[c]=u[d]*f[m]-u[m]*f[d],p+=h[c]*h[c]}p=p>a?1/Math.sqrt(p):0;for(c=0;c<3;++c)h[c]*=p;i[o]=h}return i}},{}],262:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,n,i,a,o,s,l,c){var u=e+a+c;if(f>0){var f=Math.sqrt(u+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,c);f=Math.sqrt(2*h-u+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}},{}],263:[function(t,e,r){\"use strict\";e.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 f(r,e,Math.log(n));i.setDistanceLimits(t.zoomMin,t.zoomMax),(\"eye\"in t||\"up\"in t)&&i.lookAt(0,t.eye,t.center,t.up);return i};var n=t(\"filtered-vector\"),i=t(\"gl-mat4/lookAt\"),a=t(\"gl-mat4/fromQuat\"),o=t(\"gl-mat4/invert\"),s=t(\"./lib/quatFromFrame\");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 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;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,f=0;f<3;++f)c+=r[l+4*f]*i[f];r[12+l]=-c}},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],c=l(a,o,s);a/=c,o/=c,s/=c;var u=i[0],f=i[4],h=i[8],p=u*a+f*o+h*s,d=l(u-=a*p,f-=o*p,h-=s*p);u/=d,f/=d,h/=d;var m=i[2],g=i[6],v=i[10],y=m*a+g*o+v*s,x=m*u+g*f+v*h,b=l(m-=y*a+x*u,g-=y*o+x*f,v-=y*s+x*h);m/=b,g/=b,v/=b;var _=u*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],u=i[1],f=i[5],h=i[9],p=i[2],d=i[6],m=i[10],g=e*a+r*u,v=e*o+r*f,y=e*s+r*h,x=-(d*y-m*v),b=-(m*g-p*y),_=-(p*v-d*g),w=Math.sqrt(Math.max(0,1-Math.pow(x,2)-Math.pow(b,2)-Math.pow(_,2))),T=c(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,I=E*w-A*x-M*b-S*_;if(n){x=p,b=d,_=m;var O=Math.sin(n)/l(x,b,_);x*=O,b*=O,_*=O,I=I*(w=Math.cos(e))-(L=L*w+I*x+C*_-P*b)*x-(C=C*w+I*b+P*x-L*_)*b-(P=P*w+I*_+L*b-C*x)*_}var z=c(L,C,P,I);z>1e-6?(L/=z,C/=z,P/=z,I/=z):(L=C=P=0,I=1),this.rotation.set(t,L,C,P,I)},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]),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])},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]),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 f=Math.exp(this.computedRadius[0]);this.center.set(t,a-n[2]*f,l-n[6]*f,c-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)}},{\"./lib/quatFromFrame\":262,\"filtered-vector\":68,\"gl-mat4/fromQuat\":95,\"gl-mat4/invert\":98,\"gl-mat4/lookAt\":99}],264:[function(t,e,r){\n",
       "/*!\n",
       " * pad-left <https://github.com/jonschlinkert/pad-left>\n",
       " *\n",
       " * Copyright (c) 2014-2015, Jon Schlinkert.\n",
       " * Licensed under the MIT license.\n",
       " */\n",
       "\"use strict\";var n=t(\"repeat-string\");e.exports=function(t,e,r){return n(r=void 0!==r?r+\"\":\" \",e)+t}},{\"repeat-string\":277}],265:[function(t,e,r){e.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}},{}],266:[function(t,e,r){\"use strict\";e.exports=function(t,e){for(var r=0|e.length,i=t.length,a=[new Array(r),new Array(r)],o=0;o<r;++o)a[0][o]=[],a[1][o]=[];for(o=0;o<i;++o){var s=t[o];a[0][s[0]].push(s),a[1][s[1]].push(s)}var l=[];for(o=0;o<r;++o)a[0][o].length+a[1][o].length===0&&l.push([o]);function c(t,e){var r=a[e][t[e]];r.splice(r.indexOf(t),1)}function u(t,r,i){for(var o,s,l,u=0;u<2;++u)if(a[u][r].length>0){o=a[u][r][0],l=u;break}s=o[1^l];for(var f=0;f<2;++f)for(var h=a[f][r],p=0;p<h.length;++p){var d=h[p],m=d[1^f];n(e[t],e[r],e[s],e[m])>0&&(o=d,s=m,l=f)}return i||o&&c(o,l),s}function f(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],f=t,h=o[1],p=u(l,f,!0);if(n(e[l],e[f],e[h],e[p])<0)break;o.push(t),s=u(l,f)}return o}function h(t,e){return e[1]===e[e.length-1]}for(o=0;o<r;++o)for(var p=0;p<2;++p){for(var d=[];a[p][o].length>0;){a[0][o].length;var m=f(o,p);h(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=t(\"compare-angle\")},{\"compare-angle\":54}],267:[function(t,e,r){\"use strict\";e.exports=function(t,e){for(var r=n(t,e.length),i=new Array(e.length),a=new Array(e.length),o=[],s=0;s<e.length;++s){var l=r[s].length;a[s]=l,i[s]=!0,l<=1&&o.push(s)}for(;o.length>0;){var c=o.pop();i[c]=!1;var u=r[c];for(s=0;s<u.length;++s){var f=u[s];0==--a[f]&&o.push(f)}}var h=new Array(e.length),p=[];for(s=0;s<e.length;++s)if(i[s]){c=p.length;h[s]=c,p.push(e[s])}else h[s]=-1;var d=[];for(s=0;s<t.length;++s){var m=t[s];i[m[0]]&&i[m[1]]&&d.push([h[m[0]],h[m[1]]])}return[d,p]};var n=t(\"edges-to-adjacency-list\")},{\"edges-to-adjacency-list\":66}],268:[function(t,e,r){\"use strict\";e.exports=function(t,e){var r=c(t,e);t=r[0];for(var f=(e=r[1]).length,h=(t.length,n(t,e.length)),p=0;p<f;++p)if(h[p].length%2==1)throw new Error(\"planar-graph-to-polyline: graph must be manifold\");var d=i(t,e);var m=(d=d.filter((function(t){for(var r=t.length,n=[0],i=0;i<r;++i){var a=e[t[i]],l=e[t[(i+1)%r]],c=o(-a[0],a[1]),u=o(-a[0],l[1]),f=o(l[0],a[1]),h=o(l[0],l[1]);n=s(n,s(s(c,u),s(f,h)))}return n[n.length-1]>0}))).length,g=new Array(m),v=new Array(m);for(p=0;p<m;++p){g[p]=p;var y=new Array(m),x=d[p].map((function(t){return e[t]})),b=a([x]),_=0;t:for(var w=0;w<m;++w)if(y[w]=0,p!==w){for(var T=(H=d[w]).length,k=0;k<T;++k){var A=b(e[H[k]]);if(0!==A){A<0&&(y[w]=1,_+=1);continue t}}y[w]=1,_+=1}v[p]=[_,p,y]}v.sort((function(t,e){return e[0]-t[0]}));for(p=0;p<m;++p){var M=(y=v[p])[1],S=y[2];for(w=0;w<m;++w)S[w]&&(g[w]=M)}var E=function(t){for(var e=new Array(t),r=0;r<t;++r)e[r]=[];return e}(m);for(p=0;p<m;++p)E[p].push(g[p]),E[g[p]].push(p);var L={},C=u(f,!1);for(p=0;p<m;++p)for(T=(H=d[p]).length,w=0;w<T;++w){var P=H[w],I=H[(w+1)%T],O=Math.min(P,I)+\":\"+Math.max(P,I);if(O in L){var z=L[O];E[z].push(p),E[p].push(z),C[P]=C[I]=!0}else L[O]=p}function D(t){for(var e=t.length,r=0;r<e;++r)if(!C[t[r]])return!1;return!0}var R=[],F=u(m,-1);for(p=0;p<m;++p)g[p]!==p||D(d[p])?F[p]=-1:(R.push(p),F[p]=0);r=[];for(;R.length>0;){var B=R.pop(),N=E[B];l(N,(function(t,e){return t-e}));var j,U=N.length,V=F[B];if(0===V){var H=d[B];j=[H]}for(p=0;p<U;++p){var q=N[p];if(!(F[q]>=0))if(F[q]=1^V,R.push(q),0===V)D(H=d[q])||(H.reverse(),j.push(H))}0===V&&r.push(j)}return r};var n=t(\"edges-to-adjacency-list\"),i=t(\"planar-dual\"),a=t(\"point-in-big-polygon\"),o=t(\"two-product\"),s=t(\"robust-sum\"),l=t(\"uniq\"),c=t(\"./lib/trim-leaves\");function u(t,e){for(var r=new Array(t),n=0;n<t;++n)r[n]=e;return r}},{\"./lib/trim-leaves\":267,\"edges-to-adjacency-list\":66,\"planar-dual\":266,\"point-in-big-polygon\":269,\"robust-sum\":289,\"two-product\":306,uniq:310}],269:[function(t,e,r){e.exports=function(t){for(var e=t.length,r=[],a=[],s=0;s<e;++s)for(var u=t[s],f=u.length,h=f-1,p=0;p<f;h=p++){var d=u[h],m=u[p];d[0]===m[0]?a.push([d,m]):r.push([d,m])}if(0===r.length)return 0===a.length?c:(g=l(a),function(t){return g(t[0],t[1])?0:1});var g;var v=i(r),y=function(t,e){return function(r){var i=o.le(e,r[0]);if(i<0)return 1;var a=t[i];if(!a){if(!(i>0&&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]<l[1][0])if(c<0)a=a.left;else{if(!(c>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}}(v.slabs,v.coordinates);return 0===a.length?y:function(t,e){return function(r){return t(r[0],r[1])?0:e(r)}}(l(a),y)};var n=t(\"robust-orientation\")[3],i=t(\"slab-decomposition\"),a=t(\"interval-tree-1d\"),o=t(\"binary-search-bounds\");function s(){return!0}function l(t){for(var e={},r=0;r<t.length;++r){var n=t[r],i=n[0][0],o=n[0][1],l=n[1][1],c=[Math.min(o,l),Math.max(o,l)];i in e?e[i].push(c):e[i]=[c]}var u={},f=Object.keys(e);for(r=0;r<f.length;++r){var h=e[f[r]];u[f[r]]=a(h)}return function(t){return function(e,r){var n=t[e];return!!n&&!!n.queryPoint(r,s)}}(u)}function c(t){return 1}},{\"binary-search-bounds\":31,\"interval-tree-1d\":234,\"robust-orientation\":284,\"slab-decomposition\":299}],270:[function(t,e,r){\"use strict\";var n=new Float64Array(4),i=new Float64Array(4),a=new Float64Array(4);e.exports=function(t,e,r,o,s){n.length<o.length&&(n=new Float64Array(o.length),i=new Float64Array(o.length),a=new Float64Array(o.length));for(var l=0;l<o.length;++l)n[l]=t[l]-o[l],i[l]=e[l]-t[l],a[l]=r[l]-t[l];var c=0,u=0,f=0,h=0,p=0,d=0;for(l=0;l<o.length;++l){var m=i[l],g=a[l],v=n[l];c+=m*m,u+=m*g,f+=g*g,h+=v*m,p+=v*g,d+=v*v}var y,x,b,_,w,T=Math.abs(c*f-u*u),k=u*p-f*h,A=u*h-c*p;if(k+A<=T)if(k<0)A<0&&h<0?(A=0,-h>=c?(k=1,y=c+2*h+d):y=h*(k=-h/c)+d):(k=0,p>=0?(A=0,y=d):-p>=f?(A=1,y=f+2*p+d):y=p*(A=-p/f)+d);else if(A<0)A=0,h>=0?(k=0,y=d):-h>=c?(k=1,y=c+2*h+d):y=h*(k=-h/c)+d;else{var M=1/T;y=(k*=M)*(c*k+u*(A*=M)+2*h)+A*(u*k+f*A+2*p)+d}else k<0?(b=f+p)>(x=u+h)?(_=b-x)>=(w=c-2*u+f)?(k=1,A=0,y=c+2*h+d):y=(k=_/w)*(c*k+u*(A=1-k)+2*h)+A*(u*k+f*A+2*p)+d:(k=0,b<=0?(A=1,y=f+2*p+d):p>=0?(A=0,y=d):y=p*(A=-p/f)+d):A<0?(b=c+h)>(x=u+p)?(_=b-x)>=(w=c-2*u+f)?(A=1,k=0,y=f+2*p+d):y=(k=1-(A=_/w))*(c*k+u*A+2*h)+A*(u*k+f*A+2*p)+d:(A=0,b<=0?(k=1,y=c+2*h+d):h>=0?(k=0,y=d):y=h*(k=-h/c)+d):(_=f+p-u-h)<=0?(k=0,A=1,y=f+2*p+d):_>=(w=c-2*u+f)?(k=1,A=0,y=c+2*h+d):y=(k=_/w)*(c*k+u*(A=1-k)+2*h)+A*(u*k+f*A+2*p)+d;var S=1-k-A;for(l=0;l<o.length;++l)s[l]=S*t[l]+k*e[l]+A*r[l];return y<0?0:y}},{}],271:[function(t,e,r){e.exports=t(\"gl-quat/slerp\")},{\"gl-quat/slerp\":124}],272:[function(t,e,r){\"use strict\";var n=t(\"big-rat/add\");e.exports=function(t,e){for(var r=t.length,i=new Array(r),a=0;a<r;++a)i[a]=n(t[a],e[a]);return i}},{\"big-rat/add\":15}],273:[function(t,e,r){\"use strict\";e.exports=function(t){for(var e=new Array(t.length),r=0;r<t.length;++r)e[r]=n(t[r]);return e};var n=t(\"big-rat\")},{\"big-rat\":18}],274:[function(t,e,r){\"use strict\";var n=t(\"big-rat\"),i=t(\"big-rat/mul\");e.exports=function(t,e){for(var r=n(e),a=t.length,o=new Array(a),s=0;s<a;++s)o[s]=i(t[s],r);return o}},{\"big-rat\":18,\"big-rat/mul\":27}],275:[function(t,e,r){\"use strict\";var n=t(\"big-rat/sub\");e.exports=function(t,e){for(var r=t.length,i=new Array(r),a=0;a<r;++a)i[a]=n(t[a],e[a]);return i}},{\"big-rat/sub\":29}],276:[function(t,e,r){\"use strict\";var n=t(\"compare-cell\"),i=t(\"compare-oriented-cell\"),a=t(\"cell-orientation\");e.exports=function(t){t.sort(i);for(var e=t.length,r=0,o=0;o<e;++o){var s=t[o],l=a(s);if(0!==l){if(r>0){var c=t[r-1];if(0===n(s,c)&&a(c)!==l){r-=1;continue}}t[r++]=s}}return t.length=r,t}},{\"cell-orientation\":47,\"compare-cell\":56,\"compare-oriented-cell\":57}],277:[function(t,e,r){\n",
       "/*!\n",
       " * repeat-string <https://github.com/jonschlinkert/repeat-string>\n",
       " *\n",
       " * Copyright (c) 2014-2015, Jon Schlinkert.\n",
       " * Licensed under the MIT License.\n",
       " */\n",
       "\"use strict\";var n,i=\"\";e.exports=function(t,e){if(\"string\"!=typeof t)throw new TypeError(\"expected a string\");if(1===e)return t;if(2===e)return t+t;var r=t.length*e;if(n!==t||void 0===n)n=t,i=\"\";else if(i.length>=r)return i.substr(0,r);for(;r>i.length&&e>1;)1&e&&(i+=t),e>>=1,t+=t;return i=(i+=t).substr(0,r)}},{}],278:[function(t,e,r){(function(t){(function(){e.exports=t.performance&&t.performance.now?function(){return performance.now()}:Date.now||function(){return+new Date}}).call(this)}).call(this,void 0!==n?n:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{}],279:[function(t,e,r){\"use strict\";e.exports=function(t){for(var e=t.length,r=t[t.length-1],n=e,i=e-2;i>=0;--i){var a=r,o=t[i];(l=o-((r=a+o)-a))&&(t[--n]=r,r=l)}var s=0;for(i=n;i<e;++i){var l;a=t[i];(l=(o=r)-((r=a+o)-a))&&(t[s++]=l)}return t[s++]=r,t.length=s,t}},{}],280:[function(t,e,r){\"use strict\";var n=t(\"two-product\"),i=t(\"robust-sum\"),a=t(\"robust-scale\"),o=t(\"robust-compress\");function s(t,e,r,n){return function(e){return n(t(r(e[0][0],e[1][1]),r(-e[0][1],e[1][0])))}}function l(t,e,r,n){return function(i){return n(t(e(t(r(i[1][1],i[2][2]),r(-i[1][2],i[2][1])),i[0][0]),t(e(t(r(i[1][0],i[2][2]),r(-i[1][2],i[2][0])),-i[0][1]),e(t(r(i[1][0],i[2][1]),r(-i[1][1],i[2][0])),i[0][2]))))}}function c(t,e,r,n){return function(i){return n(t(t(e(t(e(t(r(i[2][2],i[3][3]),r(-i[2][3],i[3][2])),i[1][1]),t(e(t(r(i[2][1],i[3][3]),r(-i[2][3],i[3][1])),-i[1][2]),e(t(r(i[2][1],i[3][2]),r(-i[2][2],i[3][1])),i[1][3]))),i[0][0]),e(t(e(t(r(i[2][2],i[3][3]),r(-i[2][3],i[3][2])),i[1][0]),t(e(t(r(i[2][0],i[3][3]),r(-i[2][3],i[3][0])),-i[1][2]),e(t(r(i[2][0],i[3][2]),r(-i[2][2],i[3][0])),i[1][3]))),-i[0][1])),t(e(t(e(t(r(i[2][1],i[3][3]),r(-i[2][3],i[3][1])),i[1][0]),t(e(t(r(i[2][0],i[3][3]),r(-i[2][3],i[3][0])),-i[1][1]),e(t(r(i[2][0],i[3][1]),r(-i[2][1],i[3][0])),i[1][3]))),i[0][2]),e(t(e(t(r(i[2][1],i[3][2]),r(-i[2][2],i[3][1])),i[1][0]),t(e(t(r(i[2][0],i[3][2]),r(-i[2][2],i[3][0])),-i[1][1]),e(t(r(i[2][0],i[3][1]),r(-i[2][1],i[3][0])),i[1][2]))),-i[0][3]))))}}function u(t,e,r,n){return function(i){return n(t(t(e(t(t(e(t(e(t(r(i[3][3],i[4][4]),r(-i[3][4],i[4][3])),i[2][2]),t(e(t(r(i[3][2],i[4][4]),r(-i[3][4],i[4][2])),-i[2][3]),e(t(r(i[3][2],i[4][3]),r(-i[3][3],i[4][2])),i[2][4]))),i[1][1]),e(t(e(t(r(i[3][3],i[4][4]),r(-i[3][4],i[4][3])),i[2][1]),t(e(t(r(i[3][1],i[4][4]),r(-i[3][4],i[4][1])),-i[2][3]),e(t(r(i[3][1],i[4][3]),r(-i[3][3],i[4][1])),i[2][4]))),-i[1][2])),t(e(t(e(t(r(i[3][2],i[4][4]),r(-i[3][4],i[4][2])),i[2][1]),t(e(t(r(i[3][1],i[4][4]),r(-i[3][4],i[4][1])),-i[2][2]),e(t(r(i[3][1],i[4][2]),r(-i[3][2],i[4][1])),i[2][4]))),i[1][3]),e(t(e(t(r(i[3][2],i[4][3]),r(-i[3][3],i[4][2])),i[2][1]),t(e(t(r(i[3][1],i[4][3]),r(-i[3][3],i[4][1])),-i[2][2]),e(t(r(i[3][1],i[4][2]),r(-i[3][2],i[4][1])),i[2][3]))),-i[1][4]))),i[0][0]),e(t(t(e(t(e(t(r(i[3][3],i[4][4]),r(-i[3][4],i[4][3])),i[2][2]),t(e(t(r(i[3][2],i[4][4]),r(-i[3][4],i[4][2])),-i[2][3]),e(t(r(i[3][2],i[4][3]),r(-i[3][3],i[4][2])),i[2][4]))),i[1][0]),e(t(e(t(r(i[3][3],i[4][4]),r(-i[3][4],i[4][3])),i[2][0]),t(e(t(r(i[3][0],i[4][4]),r(-i[3][4],i[4][0])),-i[2][3]),e(t(r(i[3][0],i[4][3]),r(-i[3][3],i[4][0])),i[2][4]))),-i[1][2])),t(e(t(e(t(r(i[3][2],i[4][4]),r(-i[3][4],i[4][2])),i[2][0]),t(e(t(r(i[3][0],i[4][4]),r(-i[3][4],i[4][0])),-i[2][2]),e(t(r(i[3][0],i[4][2]),r(-i[3][2],i[4][0])),i[2][4]))),i[1][3]),e(t(e(t(r(i[3][2],i[4][3]),r(-i[3][3],i[4][2])),i[2][0]),t(e(t(r(i[3][0],i[4][3]),r(-i[3][3],i[4][0])),-i[2][2]),e(t(r(i[3][0],i[4][2]),r(-i[3][2],i[4][0])),i[2][3]))),-i[1][4]))),-i[0][1])),t(e(t(t(e(t(e(t(r(i[3][3],i[4][4]),r(-i[3][4],i[4][3])),i[2][1]),t(e(t(r(i[3][1],i[4][4]),r(-i[3][4],i[4][1])),-i[2][3]),e(t(r(i[3][1],i[4][3]),r(-i[3][3],i[4][1])),i[2][4]))),i[1][0]),e(t(e(t(r(i[3][3],i[4][4]),r(-i[3][4],i[4][3])),i[2][0]),t(e(t(r(i[3][0],i[4][4]),r(-i[3][4],i[4][0])),-i[2][3]),e(t(r(i[3][0],i[4][3]),r(-i[3][3],i[4][0])),i[2][4]))),-i[1][1])),t(e(t(e(t(r(i[3][1],i[4][4]),r(-i[3][4],i[4][1])),i[2][0]),t(e(t(r(i[3][0],i[4][4]),r(-i[3][4],i[4][0])),-i[2][1]),e(t(r(i[3][0],i[4][1]),r(-i[3][1],i[4][0])),i[2][4]))),i[1][3]),e(t(e(t(r(i[3][1],i[4][3]),r(-i[3][3],i[4][1])),i[2][0]),t(e(t(r(i[3][0],i[4][3]),r(-i[3][3],i[4][0])),-i[2][1]),e(t(r(i[3][0],i[4][1]),r(-i[3][1],i[4][0])),i[2][3]))),-i[1][4]))),i[0][2]),t(e(t(t(e(t(e(t(r(i[3][2],i[4][4]),r(-i[3][4],i[4][2])),i[2][1]),t(e(t(r(i[3][1],i[4][4]),r(-i[3][4],i[4][1])),-i[2][2]),e(t(r(i[3][1],i[4][2]),r(-i[3][2],i[4][1])),i[2][4]))),i[1][0]),e(t(e(t(r(i[3][2],i[4][4]),r(-i[3][4],i[4][2])),i[2][0]),t(e(t(r(i[3][0],i[4][4]),r(-i[3][4],i[4][0])),-i[2][2]),e(t(r(i[3][0],i[4][2]),r(-i[3][2],i[4][0])),i[2][4]))),-i[1][1])),t(e(t(e(t(r(i[3][1],i[4][4]),r(-i[3][4],i[4][1])),i[2][0]),t(e(t(r(i[3][0],i[4][4]),r(-i[3][4],i[4][0])),-i[2][1]),e(t(r(i[3][0],i[4][1]),r(-i[3][1],i[4][0])),i[2][4]))),i[1][2]),e(t(e(t(r(i[3][1],i[4][2]),r(-i[3][2],i[4][1])),i[2][0]),t(e(t(r(i[3][0],i[4][2]),r(-i[3][2],i[4][0])),-i[2][1]),e(t(r(i[3][0],i[4][1]),r(-i[3][1],i[4][0])),i[2][2]))),-i[1][4]))),-i[0][3]),e(t(t(e(t(e(t(r(i[3][2],i[4][3]),r(-i[3][3],i[4][2])),i[2][1]),t(e(t(r(i[3][1],i[4][3]),r(-i[3][3],i[4][1])),-i[2][2]),e(t(r(i[3][1],i[4][2]),r(-i[3][2],i[4][1])),i[2][3]))),i[1][0]),e(t(e(t(r(i[3][2],i[4][3]),r(-i[3][3],i[4][2])),i[2][0]),t(e(t(r(i[3][0],i[4][3]),r(-i[3][3],i[4][0])),-i[2][2]),e(t(r(i[3][0],i[4][2]),r(-i[3][2],i[4][0])),i[2][3]))),-i[1][1])),t(e(t(e(t(r(i[3][1],i[4][3]),r(-i[3][3],i[4][1])),i[2][0]),t(e(t(r(i[3][0],i[4][3]),r(-i[3][3],i[4][0])),-i[2][1]),e(t(r(i[3][0],i[4][1]),r(-i[3][1],i[4][0])),i[2][3]))),i[1][2]),e(t(e(t(r(i[3][1],i[4][2]),r(-i[3][2],i[4][1])),i[2][0]),t(e(t(r(i[3][0],i[4][2]),r(-i[3][2],i[4][0])),-i[2][1]),e(t(r(i[3][0],i[4][1]),r(-i[3][1],i[4][0])),i[2][2]))),-i[1][3]))),i[0][4])))))}}function f(t){return(2===t?s:3===t?l:4===t?c:5===t?u:void 0)(i,a,n,o)}var h=[function(){return[0]},function(t){return[t[0][0]]}];function p(t,e,r,n,i,a,o,s){return function(l){switch(l.length){case 0:return t(l);case 1:return e(l);case 2:return r(l);case 3:return n(l);case 4:return i(l);case 5:return a(l)}var c=o[l.length];return c||(c=o[l.length]=s(l.length)),c(l)}}!function(){for(;h.length<6;)h.push(f(h.length));e.exports=p.apply(void 0,h.concat([h,f]));for(var t=0;t<h.length;++t)e.exports[t]=h[t]}()},{\"robust-compress\":279,\"robust-scale\":286,\"robust-sum\":289,\"two-product\":306}],281:[function(t,e,r){\"use strict\";var n=t(\"two-product\"),i=t(\"robust-sum\");e.exports=function(t,e){for(var r=n(t[0],e[0]),a=1;a<t.length;++a)r=i(r,n(t[a],e[a]));return r}},{\"robust-sum\":289,\"two-product\":306}],282:[function(t,e,r){\"use strict\";var n=t(\"two-product\"),i=t(\"robust-sum\"),a=t(\"robust-subtract\"),o=t(\"robust-scale\");function s(t){return(3===t?l:4===t?c:5===t?u:f)(i,a,n,o)}function l(t,e,r,n){return function(i,a,o){var s=r(i[0],i[0]),l=n(s,a[0]),c=n(s,o[0]),u=r(a[0],a[0]),f=n(u,i[0]),h=n(u,o[0]),p=r(o[0],o[0]),d=n(p,i[0]),m=n(p,a[0]),g=t(e(m,h),e(f,l)),v=e(d,c),y=e(g,v);return y[y.length-1]}}function c(t,e,r,n){return function(i,a,o,s){var l=t(r(i[0],i[0]),r(i[1],i[1])),c=n(l,a[0]),u=n(l,o[0]),f=n(l,s[0]),h=t(r(a[0],a[0]),r(a[1],a[1])),p=n(h,i[0]),d=n(h,o[0]),m=n(h,s[0]),g=t(r(o[0],o[0]),r(o[1],o[1])),v=n(g,i[0]),y=n(g,a[0]),x=n(g,s[0]),b=t(r(s[0],s[0]),r(s[1],s[1])),_=n(b,i[0]),w=n(b,a[0]),T=n(b,o[0]),k=t(t(n(e(T,x),a[1]),t(n(e(w,m),-o[1]),n(e(y,d),s[1]))),t(n(e(w,m),i[1]),t(n(e(_,f),-a[1]),n(e(p,c),s[1])))),A=t(t(n(e(T,x),i[1]),t(n(e(_,f),-o[1]),n(e(v,u),s[1]))),t(n(e(y,d),i[1]),t(n(e(v,u),-a[1]),n(e(p,c),o[1])))),M=e(k,A);return M[M.length-1]}}function u(t,e,r,n){return function(i,a,o,s,l){var c=t(r(i[0],i[0]),t(r(i[1],i[1]),r(i[2],i[2]))),u=n(c,a[0]),f=n(c,o[0]),h=n(c,s[0]),p=n(c,l[0]),d=t(r(a[0],a[0]),t(r(a[1],a[1]),r(a[2],a[2]))),m=n(d,i[0]),g=n(d,o[0]),v=n(d,s[0]),y=n(d,l[0]),x=t(r(o[0],o[0]),t(r(o[1],o[1]),r(o[2],o[2]))),b=n(x,i[0]),_=n(x,a[0]),w=n(x,s[0]),T=n(x,l[0]),k=t(r(s[0],s[0]),t(r(s[1],s[1]),r(s[2],s[2]))),A=n(k,i[0]),M=n(k,a[0]),S=n(k,o[0]),E=n(k,l[0]),L=t(r(l[0],l[0]),t(r(l[1],l[1]),r(l[2],l[2]))),C=n(L,i[0]),P=n(L,a[0]),I=n(L,o[0]),O=n(L,s[0]),z=t(t(t(n(t(n(e(O,E),o[1]),t(n(e(I,T),-s[1]),n(e(S,w),l[1]))),a[2]),t(n(t(n(e(O,E),a[1]),t(n(e(P,y),-s[1]),n(e(M,v),l[1]))),-o[2]),n(t(n(e(I,T),a[1]),t(n(e(P,y),-o[1]),n(e(_,g),l[1]))),s[2]))),t(n(t(n(e(S,w),a[1]),t(n(e(M,v),-o[1]),n(e(_,g),s[1]))),-l[2]),t(n(t(n(e(O,E),a[1]),t(n(e(P,y),-s[1]),n(e(M,v),l[1]))),i[2]),n(t(n(e(O,E),i[1]),t(n(e(C,p),-s[1]),n(e(A,h),l[1]))),-a[2])))),t(t(n(t(n(e(P,y),i[1]),t(n(e(C,p),-a[1]),n(e(m,u),l[1]))),s[2]),t(n(t(n(e(M,v),i[1]),t(n(e(A,h),-a[1]),n(e(m,u),s[1]))),-l[2]),n(t(n(e(S,w),a[1]),t(n(e(M,v),-o[1]),n(e(_,g),s[1]))),i[2]))),t(n(t(n(e(S,w),i[1]),t(n(e(A,h),-o[1]),n(e(b,f),s[1]))),-a[2]),t(n(t(n(e(M,v),i[1]),t(n(e(A,h),-a[1]),n(e(m,u),s[1]))),o[2]),n(t(n(e(_,g),i[1]),t(n(e(b,f),-a[1]),n(e(m,u),o[1]))),-s[2]))))),D=t(t(t(n(t(n(e(O,E),o[1]),t(n(e(I,T),-s[1]),n(e(S,w),l[1]))),i[2]),n(t(n(e(O,E),i[1]),t(n(e(C,p),-s[1]),n(e(A,h),l[1]))),-o[2])),t(n(t(n(e(I,T),i[1]),t(n(e(C,p),-o[1]),n(e(b,f),l[1]))),s[2]),n(t(n(e(S,w),i[1]),t(n(e(A,h),-o[1]),n(e(b,f),s[1]))),-l[2]))),t(t(n(t(n(e(I,T),a[1]),t(n(e(P,y),-o[1]),n(e(_,g),l[1]))),i[2]),n(t(n(e(I,T),i[1]),t(n(e(C,p),-o[1]),n(e(b,f),l[1]))),-a[2])),t(n(t(n(e(P,y),i[1]),t(n(e(C,p),-a[1]),n(e(m,u),l[1]))),o[2]),n(t(n(e(_,g),i[1]),t(n(e(b,f),-a[1]),n(e(m,u),o[1]))),-l[2])))),R=e(z,D);return R[R.length-1]}}function f(t,e,r,n){return function(i,a,o,s,l,c){var u=t(t(r(i[0],i[0]),r(i[1],i[1])),t(r(i[2],i[2]),r(i[3],i[3]))),f=n(u,a[0]),h=n(u,o[0]),p=n(u,s[0]),d=n(u,l[0]),m=n(u,c[0]),g=t(t(r(a[0],a[0]),r(a[1],a[1])),t(r(a[2],a[2]),r(a[3],a[3]))),v=n(g,i[0]),y=n(g,o[0]),x=n(g,s[0]),b=n(g,l[0]),_=n(g,c[0]),w=t(t(r(o[0],o[0]),r(o[1],o[1])),t(r(o[2],o[2]),r(o[3],o[3]))),T=n(w,i[0]),k=n(w,a[0]),A=n(w,s[0]),M=n(w,l[0]),S=n(w,c[0]),E=t(t(r(s[0],s[0]),r(s[1],s[1])),t(r(s[2],s[2]),r(s[3],s[3]))),L=n(E,i[0]),C=n(E,a[0]),P=n(E,o[0]),I=n(E,l[0]),O=n(E,c[0]),z=t(t(r(l[0],l[0]),r(l[1],l[1])),t(r(l[2],l[2]),r(l[3],l[3]))),D=n(z,i[0]),R=n(z,a[0]),F=n(z,o[0]),B=n(z,s[0]),N=n(z,c[0]),j=t(t(r(c[0],c[0]),r(c[1],c[1])),t(r(c[2],c[2]),r(c[3],c[3]))),U=n(j,i[0]),V=n(j,a[0]),H=n(j,o[0]),q=n(j,s[0]),G=n(j,l[0]),Y=t(t(t(n(t(t(n(t(n(e(G,N),s[1]),t(n(e(q,O),-l[1]),n(e(B,I),c[1]))),o[2]),n(t(n(e(G,N),o[1]),t(n(e(H,S),-l[1]),n(e(F,M),c[1]))),-s[2])),t(n(t(n(e(q,O),o[1]),t(n(e(H,S),-s[1]),n(e(P,A),c[1]))),l[2]),n(t(n(e(B,I),o[1]),t(n(e(F,M),-s[1]),n(e(P,A),l[1]))),-c[2]))),a[3]),t(n(t(t(n(t(n(e(G,N),s[1]),t(n(e(q,O),-l[1]),n(e(B,I),c[1]))),a[2]),n(t(n(e(G,N),a[1]),t(n(e(V,_),-l[1]),n(e(R,b),c[1]))),-s[2])),t(n(t(n(e(q,O),a[1]),t(n(e(V,_),-s[1]),n(e(C,x),c[1]))),l[2]),n(t(n(e(B,I),a[1]),t(n(e(R,b),-s[1]),n(e(C,x),l[1]))),-c[2]))),-o[3]),n(t(t(n(t(n(e(G,N),o[1]),t(n(e(H,S),-l[1]),n(e(F,M),c[1]))),a[2]),n(t(n(e(G,N),a[1]),t(n(e(V,_),-l[1]),n(e(R,b),c[1]))),-o[2])),t(n(t(n(e(H,S),a[1]),t(n(e(V,_),-o[1]),n(e(k,y),c[1]))),l[2]),n(t(n(e(F,M),a[1]),t(n(e(R,b),-o[1]),n(e(k,y),l[1]))),-c[2]))),s[3]))),t(t(n(t(t(n(t(n(e(q,O),o[1]),t(n(e(H,S),-s[1]),n(e(P,A),c[1]))),a[2]),n(t(n(e(q,O),a[1]),t(n(e(V,_),-s[1]),n(e(C,x),c[1]))),-o[2])),t(n(t(n(e(H,S),a[1]),t(n(e(V,_),-o[1]),n(e(k,y),c[1]))),s[2]),n(t(n(e(P,A),a[1]),t(n(e(C,x),-o[1]),n(e(k,y),s[1]))),-c[2]))),-l[3]),n(t(t(n(t(n(e(B,I),o[1]),t(n(e(F,M),-s[1]),n(e(P,A),l[1]))),a[2]),n(t(n(e(B,I),a[1]),t(n(e(R,b),-s[1]),n(e(C,x),l[1]))),-o[2])),t(n(t(n(e(F,M),a[1]),t(n(e(R,b),-o[1]),n(e(k,y),l[1]))),s[2]),n(t(n(e(P,A),a[1]),t(n(e(C,x),-o[1]),n(e(k,y),s[1]))),-l[2]))),c[3])),t(n(t(t(n(t(n(e(G,N),s[1]),t(n(e(q,O),-l[1]),n(e(B,I),c[1]))),a[2]),n(t(n(e(G,N),a[1]),t(n(e(V,_),-l[1]),n(e(R,b),c[1]))),-s[2])),t(n(t(n(e(q,O),a[1]),t(n(e(V,_),-s[1]),n(e(C,x),c[1]))),l[2]),n(t(n(e(B,I),a[1]),t(n(e(R,b),-s[1]),n(e(C,x),l[1]))),-c[2]))),i[3]),n(t(t(n(t(n(e(G,N),s[1]),t(n(e(q,O),-l[1]),n(e(B,I),c[1]))),i[2]),n(t(n(e(G,N),i[1]),t(n(e(U,m),-l[1]),n(e(D,d),c[1]))),-s[2])),t(n(t(n(e(q,O),i[1]),t(n(e(U,m),-s[1]),n(e(L,p),c[1]))),l[2]),n(t(n(e(B,I),i[1]),t(n(e(D,d),-s[1]),n(e(L,p),l[1]))),-c[2]))),-a[3])))),t(t(t(n(t(t(n(t(n(e(G,N),a[1]),t(n(e(V,_),-l[1]),n(e(R,b),c[1]))),i[2]),n(t(n(e(G,N),i[1]),t(n(e(U,m),-l[1]),n(e(D,d),c[1]))),-a[2])),t(n(t(n(e(V,_),i[1]),t(n(e(U,m),-a[1]),n(e(v,f),c[1]))),l[2]),n(t(n(e(R,b),i[1]),t(n(e(D,d),-a[1]),n(e(v,f),l[1]))),-c[2]))),s[3]),n(t(t(n(t(n(e(q,O),a[1]),t(n(e(V,_),-s[1]),n(e(C,x),c[1]))),i[2]),n(t(n(e(q,O),i[1]),t(n(e(U,m),-s[1]),n(e(L,p),c[1]))),-a[2])),t(n(t(n(e(V,_),i[1]),t(n(e(U,m),-a[1]),n(e(v,f),c[1]))),s[2]),n(t(n(e(C,x),i[1]),t(n(e(L,p),-a[1]),n(e(v,f),s[1]))),-c[2]))),-l[3])),t(n(t(t(n(t(n(e(B,I),a[1]),t(n(e(R,b),-s[1]),n(e(C,x),l[1]))),i[2]),n(t(n(e(B,I),i[1]),t(n(e(D,d),-s[1]),n(e(L,p),l[1]))),-a[2])),t(n(t(n(e(R,b),i[1]),t(n(e(D,d),-a[1]),n(e(v,f),l[1]))),s[2]),n(t(n(e(C,x),i[1]),t(n(e(L,p),-a[1]),n(e(v,f),s[1]))),-l[2]))),c[3]),n(t(t(n(t(n(e(q,O),o[1]),t(n(e(H,S),-s[1]),n(e(P,A),c[1]))),a[2]),n(t(n(e(q,O),a[1]),t(n(e(V,_),-s[1]),n(e(C,x),c[1]))),-o[2])),t(n(t(n(e(H,S),a[1]),t(n(e(V,_),-o[1]),n(e(k,y),c[1]))),s[2]),n(t(n(e(P,A),a[1]),t(n(e(C,x),-o[1]),n(e(k,y),s[1]))),-c[2]))),i[3]))),t(t(n(t(t(n(t(n(e(q,O),o[1]),t(n(e(H,S),-s[1]),n(e(P,A),c[1]))),i[2]),n(t(n(e(q,O),i[1]),t(n(e(U,m),-s[1]),n(e(L,p),c[1]))),-o[2])),t(n(t(n(e(H,S),i[1]),t(n(e(U,m),-o[1]),n(e(T,h),c[1]))),s[2]),n(t(n(e(P,A),i[1]),t(n(e(L,p),-o[1]),n(e(T,h),s[1]))),-c[2]))),-a[3]),n(t(t(n(t(n(e(q,O),a[1]),t(n(e(V,_),-s[1]),n(e(C,x),c[1]))),i[2]),n(t(n(e(q,O),i[1]),t(n(e(U,m),-s[1]),n(e(L,p),c[1]))),-a[2])),t(n(t(n(e(V,_),i[1]),t(n(e(U,m),-a[1]),n(e(v,f),c[1]))),s[2]),n(t(n(e(C,x),i[1]),t(n(e(L,p),-a[1]),n(e(v,f),s[1]))),-c[2]))),o[3])),t(n(t(t(n(t(n(e(H,S),a[1]),t(n(e(V,_),-o[1]),n(e(k,y),c[1]))),i[2]),n(t(n(e(H,S),i[1]),t(n(e(U,m),-o[1]),n(e(T,h),c[1]))),-a[2])),t(n(t(n(e(V,_),i[1]),t(n(e(U,m),-a[1]),n(e(v,f),c[1]))),o[2]),n(t(n(e(k,y),i[1]),t(n(e(T,h),-a[1]),n(e(v,f),o[1]))),-c[2]))),-s[3]),n(t(t(n(t(n(e(P,A),a[1]),t(n(e(C,x),-o[1]),n(e(k,y),s[1]))),i[2]),n(t(n(e(P,A),i[1]),t(n(e(L,p),-o[1]),n(e(T,h),s[1]))),-a[2])),t(n(t(n(e(C,x),i[1]),t(n(e(L,p),-a[1]),n(e(v,f),s[1]))),o[2]),n(t(n(e(k,y),i[1]),t(n(e(T,h),-a[1]),n(e(v,f),o[1]))),-s[2]))),c[3]))))),W=t(t(t(n(t(t(n(t(n(e(G,N),s[1]),t(n(e(q,O),-l[1]),n(e(B,I),c[1]))),o[2]),n(t(n(e(G,N),o[1]),t(n(e(H,S),-l[1]),n(e(F,M),c[1]))),-s[2])),t(n(t(n(e(q,O),o[1]),t(n(e(H,S),-s[1]),n(e(P,A),c[1]))),l[2]),n(t(n(e(B,I),o[1]),t(n(e(F,M),-s[1]),n(e(P,A),l[1]))),-c[2]))),i[3]),t(n(t(t(n(t(n(e(G,N),s[1]),t(n(e(q,O),-l[1]),n(e(B,I),c[1]))),i[2]),n(t(n(e(G,N),i[1]),t(n(e(U,m),-l[1]),n(e(D,d),c[1]))),-s[2])),t(n(t(n(e(q,O),i[1]),t(n(e(U,m),-s[1]),n(e(L,p),c[1]))),l[2]),n(t(n(e(B,I),i[1]),t(n(e(D,d),-s[1]),n(e(L,p),l[1]))),-c[2]))),-o[3]),n(t(t(n(t(n(e(G,N),o[1]),t(n(e(H,S),-l[1]),n(e(F,M),c[1]))),i[2]),n(t(n(e(G,N),i[1]),t(n(e(U,m),-l[1]),n(e(D,d),c[1]))),-o[2])),t(n(t(n(e(H,S),i[1]),t(n(e(U,m),-o[1]),n(e(T,h),c[1]))),l[2]),n(t(n(e(F,M),i[1]),t(n(e(D,d),-o[1]),n(e(T,h),l[1]))),-c[2]))),s[3]))),t(t(n(t(t(n(t(n(e(q,O),o[1]),t(n(e(H,S),-s[1]),n(e(P,A),c[1]))),i[2]),n(t(n(e(q,O),i[1]),t(n(e(U,m),-s[1]),n(e(L,p),c[1]))),-o[2])),t(n(t(n(e(H,S),i[1]),t(n(e(U,m),-o[1]),n(e(T,h),c[1]))),s[2]),n(t(n(e(P,A),i[1]),t(n(e(L,p),-o[1]),n(e(T,h),s[1]))),-c[2]))),-l[3]),n(t(t(n(t(n(e(B,I),o[1]),t(n(e(F,M),-s[1]),n(e(P,A),l[1]))),i[2]),n(t(n(e(B,I),i[1]),t(n(e(D,d),-s[1]),n(e(L,p),l[1]))),-o[2])),t(n(t(n(e(F,M),i[1]),t(n(e(D,d),-o[1]),n(e(T,h),l[1]))),s[2]),n(t(n(e(P,A),i[1]),t(n(e(L,p),-o[1]),n(e(T,h),s[1]))),-l[2]))),c[3])),t(n(t(t(n(t(n(e(G,N),o[1]),t(n(e(H,S),-l[1]),n(e(F,M),c[1]))),a[2]),n(t(n(e(G,N),a[1]),t(n(e(V,_),-l[1]),n(e(R,b),c[1]))),-o[2])),t(n(t(n(e(H,S),a[1]),t(n(e(V,_),-o[1]),n(e(k,y),c[1]))),l[2]),n(t(n(e(F,M),a[1]),t(n(e(R,b),-o[1]),n(e(k,y),l[1]))),-c[2]))),i[3]),n(t(t(n(t(n(e(G,N),o[1]),t(n(e(H,S),-l[1]),n(e(F,M),c[1]))),i[2]),n(t(n(e(G,N),i[1]),t(n(e(U,m),-l[1]),n(e(D,d),c[1]))),-o[2])),t(n(t(n(e(H,S),i[1]),t(n(e(U,m),-o[1]),n(e(T,h),c[1]))),l[2]),n(t(n(e(F,M),i[1]),t(n(e(D,d),-o[1]),n(e(T,h),l[1]))),-c[2]))),-a[3])))),t(t(t(n(t(t(n(t(n(e(G,N),a[1]),t(n(e(V,_),-l[1]),n(e(R,b),c[1]))),i[2]),n(t(n(e(G,N),i[1]),t(n(e(U,m),-l[1]),n(e(D,d),c[1]))),-a[2])),t(n(t(n(e(V,_),i[1]),t(n(e(U,m),-a[1]),n(e(v,f),c[1]))),l[2]),n(t(n(e(R,b),i[1]),t(n(e(D,d),-a[1]),n(e(v,f),l[1]))),-c[2]))),o[3]),n(t(t(n(t(n(e(H,S),a[1]),t(n(e(V,_),-o[1]),n(e(k,y),c[1]))),i[2]),n(t(n(e(H,S),i[1]),t(n(e(U,m),-o[1]),n(e(T,h),c[1]))),-a[2])),t(n(t(n(e(V,_),i[1]),t(n(e(U,m),-a[1]),n(e(v,f),c[1]))),o[2]),n(t(n(e(k,y),i[1]),t(n(e(T,h),-a[1]),n(e(v,f),o[1]))),-c[2]))),-l[3])),t(n(t(t(n(t(n(e(F,M),a[1]),t(n(e(R,b),-o[1]),n(e(k,y),l[1]))),i[2]),n(t(n(e(F,M),i[1]),t(n(e(D,d),-o[1]),n(e(T,h),l[1]))),-a[2])),t(n(t(n(e(R,b),i[1]),t(n(e(D,d),-a[1]),n(e(v,f),l[1]))),o[2]),n(t(n(e(k,y),i[1]),t(n(e(T,h),-a[1]),n(e(v,f),o[1]))),-l[2]))),c[3]),n(t(t(n(t(n(e(B,I),o[1]),t(n(e(F,M),-s[1]),n(e(P,A),l[1]))),a[2]),n(t(n(e(B,I),a[1]),t(n(e(R,b),-s[1]),n(e(C,x),l[1]))),-o[2])),t(n(t(n(e(F,M),a[1]),t(n(e(R,b),-o[1]),n(e(k,y),l[1]))),s[2]),n(t(n(e(P,A),a[1]),t(n(e(C,x),-o[1]),n(e(k,y),s[1]))),-l[2]))),i[3]))),t(t(n(t(t(n(t(n(e(B,I),o[1]),t(n(e(F,M),-s[1]),n(e(P,A),l[1]))),i[2]),n(t(n(e(B,I),i[1]),t(n(e(D,d),-s[1]),n(e(L,p),l[1]))),-o[2])),t(n(t(n(e(F,M),i[1]),t(n(e(D,d),-o[1]),n(e(T,h),l[1]))),s[2]),n(t(n(e(P,A),i[1]),t(n(e(L,p),-o[1]),n(e(T,h),s[1]))),-l[2]))),-a[3]),n(t(t(n(t(n(e(B,I),a[1]),t(n(e(R,b),-s[1]),n(e(C,x),l[1]))),i[2]),n(t(n(e(B,I),i[1]),t(n(e(D,d),-s[1]),n(e(L,p),l[1]))),-a[2])),t(n(t(n(e(R,b),i[1]),t(n(e(D,d),-a[1]),n(e(v,f),l[1]))),s[2]),n(t(n(e(C,x),i[1]),t(n(e(L,p),-a[1]),n(e(v,f),s[1]))),-l[2]))),o[3])),t(n(t(t(n(t(n(e(F,M),a[1]),t(n(e(R,b),-o[1]),n(e(k,y),l[1]))),i[2]),n(t(n(e(F,M),i[1]),t(n(e(D,d),-o[1]),n(e(T,h),l[1]))),-a[2])),t(n(t(n(e(R,b),i[1]),t(n(e(D,d),-a[1]),n(e(v,f),l[1]))),o[2]),n(t(n(e(k,y),i[1]),t(n(e(T,h),-a[1]),n(e(v,f),o[1]))),-l[2]))),-s[3]),n(t(t(n(t(n(e(P,A),a[1]),t(n(e(C,x),-o[1]),n(e(k,y),s[1]))),i[2]),n(t(n(e(P,A),i[1]),t(n(e(L,p),-o[1]),n(e(T,h),s[1]))),-a[2])),t(n(t(n(e(C,x),i[1]),t(n(e(L,p),-a[1]),n(e(v,f),s[1]))),o[2]),n(t(n(e(k,y),i[1]),t(n(e(T,h),-a[1]),n(e(v,f),o[1]))),-s[2]))),l[3]))))),X=e(Y,W);return X[X.length-1]}}var h=[function(){return 0},function(){return 0},function(){return 0}];function p(t){var e=h[t.length];return e||(e=h[t.length]=s(t.length)),e.apply(void 0,t)}function d(t,e,r,n,i,a,o,s){return function(e,r,l,c,u,f){switch(arguments.length){case 0:case 1:return 0;case 2:return n(e,r);case 3:return i(e,r,l);case 4:return a(e,r,l,c);case 5:return o(e,r,l,c,u);case 6:return s(e,r,l,c,u,f)}for(var h=new Array(arguments.length),p=0;p<arguments.length;++p)h[p]=arguments[p];return t(h)}}!function(){for(;h.length<=6;)h.push(s(h.length));e.exports=d.apply(void 0,[p].concat(h));for(var t=0;t<=6;++t)e.exports[t]=h[t]}()},{\"robust-scale\":286,\"robust-subtract\":288,\"robust-sum\":289,\"two-product\":306}],283:[function(t,e,r){\"use strict\";var n=t(\"robust-determinant\");function i(t){var e=2===t?a:3===t?o:4===t?s:5===t?l:c;return e(t<6?n[t]:n)}function a(t){return function(e,r){return[t([[+r[0],+e[0][1]],[+r[1],+e[1][1]]]),t([[+e[0][0],+r[0]],[+e[1][0],+r[1]]]),t(e)]}}function o(t){return function(e,r){return[t([[+r[0],+e[0][1],+e[0][2]],[+r[1],+e[1][1],+e[1][2]],[+r[2],+e[2][1],+e[2][2]]]),t([[+e[0][0],+r[0],+e[0][2]],[+e[1][0],+r[1],+e[1][2]],[+e[2][0],+r[2],+e[2][2]]]),t([[+e[0][0],+e[0][1],+r[0]],[+e[1][0],+e[1][1],+r[1]],[+e[2][0],+e[2][1],+r[2]]]),t(e)]}}function s(t){return function(e,r){return[t([[+r[0],+e[0][1],+e[0][2],+e[0][3]],[+r[1],+e[1][1],+e[1][2],+e[1][3]],[+r[2],+e[2][1],+e[2][2],+e[2][3]],[+r[3],+e[3][1],+e[3][2],+e[3][3]]]),t([[+e[0][0],+r[0],+e[0][2],+e[0][3]],[+e[1][0],+r[1],+e[1][2],+e[1][3]],[+e[2][0],+r[2],+e[2][2],+e[2][3]],[+e[3][0],+r[3],+e[3][2],+e[3][3]]]),t([[+e[0][0],+e[0][1],+r[0],+e[0][3]],[+e[1][0],+e[1][1],+r[1],+e[1][3]],[+e[2][0],+e[2][1],+r[2],+e[2][3]],[+e[3][0],+e[3][1],+r[3],+e[3][3]]]),t([[+e[0][0],+e[0][1],+e[0][2],+r[0]],[+e[1][0],+e[1][1],+e[1][2],+r[1]],[+e[2][0],+e[2][1],+e[2][2],+r[2]],[+e[3][0],+e[3][1],+e[3][2],+r[3]]]),t(e)]}}function l(t){return function(e,r){return[t([[+r[0],+e[0][1],+e[0][2],+e[0][3],+e[0][4]],[+r[1],+e[1][1],+e[1][2],+e[1][3],+e[1][4]],[+r[2],+e[2][1],+e[2][2],+e[2][3],+e[2][4]],[+r[3],+e[3][1],+e[3][2],+e[3][3],+e[3][4]],[+r[4],+e[4][1],+e[4][2],+e[4][3],+e[4][4]]]),t([[+e[0][0],+r[0],+e[0][2],+e[0][3],+e[0][4]],[+e[1][0],+r[1],+e[1][2],+e[1][3],+e[1][4]],[+e[2][0],+r[2],+e[2][2],+e[2][3],+e[2][4]],[+e[3][0],+r[3],+e[3][2],+e[3][3],+e[3][4]],[+e[4][0],+r[4],+e[4][2],+e[4][3],+e[4][4]]]),t([[+e[0][0],+e[0][1],+r[0],+e[0][3],+e[0][4]],[+e[1][0],+e[1][1],+r[1],+e[1][3],+e[1][4]],[+e[2][0],+e[2][1],+r[2],+e[2][3],+e[2][4]],[+e[3][0],+e[3][1],+r[3],+e[3][3],+e[3][4]],[+e[4][0],+e[4][1],+r[4],+e[4][3],+e[4][4]]]),t([[+e[0][0],+e[0][1],+e[0][2],+r[0],+e[0][4]],[+e[1][0],+e[1][1],+e[1][2],+r[1],+e[1][4]],[+e[2][0],+e[2][1],+e[2][2],+r[2],+e[2][4]],[+e[3][0],+e[3][1],+e[3][2],+r[3],+e[3][4]],[+e[4][0],+e[4][1],+e[4][2],+r[4],+e[4][4]]]),t([[+e[0][0],+e[0][1],+e[0][2],+e[0][3],+r[0]],[+e[1][0],+e[1][1],+e[1][2],+e[1][3],+r[1]],[+e[2][0],+e[2][1],+e[2][2],+e[2][3],+r[2]],[+e[3][0],+e[3][1],+e[3][2],+e[3][3],+r[3]],[+e[4][0],+e[4][1],+e[4][2],+e[4][3],+r[4]]]),t(e)]}}function c(t){return function(e,r){return[t([[+r[0],+e[0][1],+e[0][2],+e[0][3],+e[0][4],+e[0][5]],[+r[1],+e[1][1],+e[1][2],+e[1][3],+e[1][4],+e[1][5]],[+r[2],+e[2][1],+e[2][2],+e[2][3],+e[2][4],+e[2][5]],[+r[3],+e[3][1],+e[3][2],+e[3][3],+e[3][4],+e[3][5]],[+r[4],+e[4][1],+e[4][2],+e[4][3],+e[4][4],+e[4][5]],[+r[5],+e[5][1],+e[5][2],+e[5][3],+e[5][4],+e[5][5]]]),t([[+e[0][0],+r[0],+e[0][2],+e[0][3],+e[0][4],+e[0][5]],[+e[1][0],+r[1],+e[1][2],+e[1][3],+e[1][4],+e[1][5]],[+e[2][0],+r[2],+e[2][2],+e[2][3],+e[2][4],+e[2][5]],[+e[3][0],+r[3],+e[3][2],+e[3][3],+e[3][4],+e[3][5]],[+e[4][0],+r[4],+e[4][2],+e[4][3],+e[4][4],+e[4][5]],[+e[5][0],+r[5],+e[5][2],+e[5][3],+e[5][4],+e[5][5]]]),t([[+e[0][0],+e[0][1],+r[0],+e[0][3],+e[0][4],+e[0][5]],[+e[1][0],+e[1][1],+r[1],+e[1][3],+e[1][4],+e[1][5]],[+e[2][0],+e[2][1],+r[2],+e[2][3],+e[2][4],+e[2][5]],[+e[3][0],+e[3][1],+r[3],+e[3][3],+e[3][4],+e[3][5]],[+e[4][0],+e[4][1],+r[4],+e[4][3],+e[4][4],+e[4][5]],[+e[5][0],+e[5][1],+r[5],+e[5][3],+e[5][4],+e[5][5]]]),t([[+e[0][0],+e[0][1],+e[0][2],+r[0],+e[0][4],+e[0][5]],[+e[1][0],+e[1][1],+e[1][2],+r[1],+e[1][4],+e[1][5]],[+e[2][0],+e[2][1],+e[2][2],+r[2],+e[2][4],+e[2][5]],[+e[3][0],+e[3][1],+e[3][2],+r[3],+e[3][4],+e[3][5]],[+e[4][0],+e[4][1],+e[4][2],+r[4],+e[4][4],+e[4][5]],[+e[5][0],+e[5][1],+e[5][2],+r[5],+e[5][4],+e[5][5]]]),t([[+e[0][0],+e[0][1],+e[0][2],+e[0][3],+r[0],+e[0][5]],[+e[1][0],+e[1][1],+e[1][2],+e[1][3],+r[1],+e[1][5]],[+e[2][0],+e[2][1],+e[2][2],+e[2][3],+r[2],+e[2][5]],[+e[3][0],+e[3][1],+e[3][2],+e[3][3],+r[3],+e[3][5]],[+e[4][0],+e[4][1],+e[4][2],+e[4][3],+r[4],+e[4][5]],[+e[5][0],+e[5][1],+e[5][2],+e[5][3],+r[5],+e[5][5]]]),t([[+e[0][0],+e[0][1],+e[0][2],+e[0][3],+e[0][4],+r[0]],[+e[1][0],+e[1][1],+e[1][2],+e[1][3],+e[1][4],+r[1]],[+e[2][0],+e[2][1],+e[2][2],+e[2][3],+e[2][4],+r[2]],[+e[3][0],+e[3][1],+e[3][2],+e[3][3],+e[3][4],+r[3]],[+e[4][0],+e[4][1],+e[4][2],+e[4][3],+e[4][4],+r[4]],[+e[5][0],+e[5][1],+e[5][2],+e[5][3],+e[5][4],+r[5]]]),t(e)]}}var u=[function(){return[[0]]},function(t,e){return[[e[0]],[t[0][0]]]}];function f(t,e,r,n,i,a,o,s){return function(l,c){switch(l.length){case 0:return t(l,c);case 1:return e(l,c);case 2:return r(l,c);case 3:return n(l,c);case 4:return i(l,c);case 5:return a(l,c)}var u=o[l.length];return u||(u=o[l.length]=s(l.length)),u(l,c)}}!function(){for(;u.length<6;)u.push(i(u.length));e.exports=f.apply(void 0,u.concat([u,i]));for(var t=0;t<6;++t)e.exports[t]=u[t]}()},{\"robust-determinant\":280}],284:[function(t,e,r){\"use strict\";var n=t(\"two-product\"),i=t(\"robust-sum\"),a=t(\"robust-scale\"),o=t(\"robust-subtract\");function s(t,e,r,n){return function(r,i,a){var o=t(t(e(i[1],a[0]),e(-a[1],i[0])),t(e(r[1],i[0]),e(-i[1],r[0]))),s=t(e(r[1],a[0]),e(-a[1],r[0])),l=n(o,s);return l[l.length-1]}}function l(t,e,r,n){return function(i,a,o,s){var l=t(t(r(t(e(o[1],s[0]),e(-s[1],o[0])),a[2]),t(r(t(e(a[1],s[0]),e(-s[1],a[0])),-o[2]),r(t(e(a[1],o[0]),e(-o[1],a[0])),s[2]))),t(r(t(e(a[1],s[0]),e(-s[1],a[0])),i[2]),t(r(t(e(i[1],s[0]),e(-s[1],i[0])),-a[2]),r(t(e(i[1],a[0]),e(-a[1],i[0])),s[2])))),c=t(t(r(t(e(o[1],s[0]),e(-s[1],o[0])),i[2]),t(r(t(e(i[1],s[0]),e(-s[1],i[0])),-o[2]),r(t(e(i[1],o[0]),e(-o[1],i[0])),s[2]))),t(r(t(e(a[1],o[0]),e(-o[1],a[0])),i[2]),t(r(t(e(i[1],o[0]),e(-o[1],i[0])),-a[2]),r(t(e(i[1],a[0]),e(-a[1],i[0])),o[2])))),u=n(l,c);return u[u.length-1]}}function c(t,e,r,n){return function(i,a,o,s,l){var c=t(t(t(r(t(r(t(e(s[1],l[0]),e(-l[1],s[0])),o[2]),t(r(t(e(o[1],l[0]),e(-l[1],o[0])),-s[2]),r(t(e(o[1],s[0]),e(-s[1],o[0])),l[2]))),a[3]),t(r(t(r(t(e(s[1],l[0]),e(-l[1],s[0])),a[2]),t(r(t(e(a[1],l[0]),e(-l[1],a[0])),-s[2]),r(t(e(a[1],s[0]),e(-s[1],a[0])),l[2]))),-o[3]),r(t(r(t(e(o[1],l[0]),e(-l[1],o[0])),a[2]),t(r(t(e(a[1],l[0]),e(-l[1],a[0])),-o[2]),r(t(e(a[1],o[0]),e(-o[1],a[0])),l[2]))),s[3]))),t(r(t(r(t(e(o[1],s[0]),e(-s[1],o[0])),a[2]),t(r(t(e(a[1],s[0]),e(-s[1],a[0])),-o[2]),r(t(e(a[1],o[0]),e(-o[1],a[0])),s[2]))),-l[3]),t(r(t(r(t(e(s[1],l[0]),e(-l[1],s[0])),a[2]),t(r(t(e(a[1],l[0]),e(-l[1],a[0])),-s[2]),r(t(e(a[1],s[0]),e(-s[1],a[0])),l[2]))),i[3]),r(t(r(t(e(s[1],l[0]),e(-l[1],s[0])),i[2]),t(r(t(e(i[1],l[0]),e(-l[1],i[0])),-s[2]),r(t(e(i[1],s[0]),e(-s[1],i[0])),l[2]))),-a[3])))),t(t(r(t(r(t(e(a[1],l[0]),e(-l[1],a[0])),i[2]),t(r(t(e(i[1],l[0]),e(-l[1],i[0])),-a[2]),r(t(e(i[1],a[0]),e(-a[1],i[0])),l[2]))),s[3]),t(r(t(r(t(e(a[1],s[0]),e(-s[1],a[0])),i[2]),t(r(t(e(i[1],s[0]),e(-s[1],i[0])),-a[2]),r(t(e(i[1],a[0]),e(-a[1],i[0])),s[2]))),-l[3]),r(t(r(t(e(o[1],s[0]),e(-s[1],o[0])),a[2]),t(r(t(e(a[1],s[0]),e(-s[1],a[0])),-o[2]),r(t(e(a[1],o[0]),e(-o[1],a[0])),s[2]))),i[3]))),t(r(t(r(t(e(o[1],s[0]),e(-s[1],o[0])),i[2]),t(r(t(e(i[1],s[0]),e(-s[1],i[0])),-o[2]),r(t(e(i[1],o[0]),e(-o[1],i[0])),s[2]))),-a[3]),t(r(t(r(t(e(a[1],s[0]),e(-s[1],a[0])),i[2]),t(r(t(e(i[1],s[0]),e(-s[1],i[0])),-a[2]),r(t(e(i[1],a[0]),e(-a[1],i[0])),s[2]))),o[3]),r(t(r(t(e(a[1],o[0]),e(-o[1],a[0])),i[2]),t(r(t(e(i[1],o[0]),e(-o[1],i[0])),-a[2]),r(t(e(i[1],a[0]),e(-a[1],i[0])),o[2]))),-s[3]))))),u=t(t(t(r(t(r(t(e(s[1],l[0]),e(-l[1],s[0])),o[2]),t(r(t(e(o[1],l[0]),e(-l[1],o[0])),-s[2]),r(t(e(o[1],s[0]),e(-s[1],o[0])),l[2]))),i[3]),r(t(r(t(e(s[1],l[0]),e(-l[1],s[0])),i[2]),t(r(t(e(i[1],l[0]),e(-l[1],i[0])),-s[2]),r(t(e(i[1],s[0]),e(-s[1],i[0])),l[2]))),-o[3])),t(r(t(r(t(e(o[1],l[0]),e(-l[1],o[0])),i[2]),t(r(t(e(i[1],l[0]),e(-l[1],i[0])),-o[2]),r(t(e(i[1],o[0]),e(-o[1],i[0])),l[2]))),s[3]),r(t(r(t(e(o[1],s[0]),e(-s[1],o[0])),i[2]),t(r(t(e(i[1],s[0]),e(-s[1],i[0])),-o[2]),r(t(e(i[1],o[0]),e(-o[1],i[0])),s[2]))),-l[3]))),t(t(r(t(r(t(e(o[1],l[0]),e(-l[1],o[0])),a[2]),t(r(t(e(a[1],l[0]),e(-l[1],a[0])),-o[2]),r(t(e(a[1],o[0]),e(-o[1],a[0])),l[2]))),i[3]),r(t(r(t(e(o[1],l[0]),e(-l[1],o[0])),i[2]),t(r(t(e(i[1],l[0]),e(-l[1],i[0])),-o[2]),r(t(e(i[1],o[0]),e(-o[1],i[0])),l[2]))),-a[3])),t(r(t(r(t(e(a[1],l[0]),e(-l[1],a[0])),i[2]),t(r(t(e(i[1],l[0]),e(-l[1],i[0])),-a[2]),r(t(e(i[1],a[0]),e(-a[1],i[0])),l[2]))),o[3]),r(t(r(t(e(a[1],o[0]),e(-o[1],a[0])),i[2]),t(r(t(e(i[1],o[0]),e(-o[1],i[0])),-a[2]),r(t(e(i[1],a[0]),e(-a[1],i[0])),o[2]))),-l[3])))),f=n(c,u);return f[f.length-1]}}function u(t){return(3===t?s:4===t?l:c)(i,n,a,o)}var f=u(3),h=u(4),p=[function(){return 0},function(){return 0},function(t,e){return e[0]-t[0]},function(t,e,r){var n,i=(t[1]-r[1])*(e[0]-r[0]),a=(t[0]-r[0])*(e[1]-r[1]),o=i-a;if(i>0){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],c=r[1]-n[1],u=t[2]-n[2],f=e[2]-n[2],p=r[2]-n[2],d=a*c,m=o*l,g=o*s,v=i*c,y=i*l,x=a*s,b=u*(d-m)+f*(g-v)+p*(y-x),_=7771561172376103e-31*((Math.abs(d)+Math.abs(m))*Math.abs(u)+(Math.abs(g)+Math.abs(v))*Math.abs(f)+(Math.abs(y)+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]=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),f=0;f<arguments.length;++f)u[f]=arguments[f];return t(u)}}!function(){for(;p.length<=5;)p.push(u(p.length));e.exports=m.apply(void 0,[d].concat(p));for(var t=0;t<=5;++t)e.exports[t]=p[t]}()},{\"robust-scale\":286,\"robust-subtract\":288,\"robust-sum\":289,\"two-product\":306}],285:[function(t,e,r){\"use strict\";var n=t(\"robust-sum\"),i=t(\"robust-scale\");e.exports=function(t,e){if(1===t.length)return i(e,t[0]);if(1===e.length)return i(t,e[0]);if(0===t.length||0===e.length)return[0];var r=[0];if(t.length<e.length)for(var a=0;a<t.length;++a)r=n(r,i(e,t[a]));else for(a=0;a<e.length;++a)r=n(r,i(t,e[a]));return r}},{\"robust-scale\":286,\"robust-sum\":289}],286:[function(t,e,r){\"use strict\";var n=t(\"two-product\"),i=t(\"two-sum\");e.exports=function(t,e){var r=t.length;if(1===r){var a=n(t[0],e);return a[0]?a:[a[1]]}var o=new Array(2*r),s=[.1,.1],l=[.1,.1],c=0;n(t[0],e,s),s[0]&&(o[c++]=s[0]);for(var u=1;u<r;++u){n(t[u],e,l);var f=s[1];i(f,l[0],s),s[0]&&(o[c++]=s[0]);var h=l[1],p=s[1],d=h+p,m=p-(d-h);s[1]=d,m&&(o[c++]=m)}s[1]&&(o[c++]=s[1]);0===c&&(o[c++]=0);return o.length=c,o}},{\"two-product\":306,\"two-sum\":307}],287:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,i){var a=n(t,r,i),o=n(e,r,i);if(a>0&&o>0||a<0&&o<0)return!1;var s=n(r,t,e),l=n(i,t,e);if(s>0&&l>0||s<0&&l<0)return!1;if(0===a&&0===o&&0===s&&0===l)return 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],f=Math.min(c,u);if(Math.max(c,u)<s||l<f)return!1}return!0}(t,e,r,i);return!0};var n=t(\"robust-orientation\")[3]},{\"robust-orientation\":284}],288:[function(t,e,r){\"use strict\";e.exports=function(t,e){var r=0|t.length,n=0|e.length;if(1===r&&1===n)return function(t,e){var r=t+e,n=r-t,i=t-(r-n)+(e-n);if(i)return[i,r];return[r]}(t[0],-e[0]);var i,a,o=new Array(r+n),s=0,l=0,c=0,u=Math.abs,f=t[l],h=u(f),p=-e[c],d=u(p);h<d?(a=f,(l+=1)<r&&(f=t[l],h=u(f))):(a=p,(c+=1)<n&&(p=-e[c],d=u(p)));l<r&&h<d||c>=n?(i=f,(l+=1)<r&&(f=t[l],h=u(f))):(i=p,(c+=1)<n&&(p=-e[c],d=u(p)));var m,g,v=i+a,y=v-i,x=a-y,b=x,_=v;for(;l<r&&c<n;)h<d?(i=f,(l+=1)<r&&(f=t[l],h=u(f))):(i=p,(c+=1)<n&&(p=-e[c],d=u(p))),(x=(a=b)-(y=(v=i+a)-i))&&(o[s++]=x),b=_-((m=_+v)-(g=m-_))+(v-g),_=m;for(;l<r;)(x=(a=b)-(y=(v=(i=f)+a)-i))&&(o[s++]=x),b=_-((m=_+v)-(g=m-_))+(v-g),_=m,(l+=1)<r&&(f=t[l]);for(;c<n;)(x=(a=b)-(y=(v=(i=p)+a)-i))&&(o[s++]=x),b=_-((m=_+v)-(g=m-_))+(v-g),_=m,(c+=1)<n&&(p=-e[c]);b&&(o[s++]=b);_&&(o[s++]=_);s||(o[s++]=0);return o.length=s,o}},{}],289:[function(t,e,r){\"use strict\";e.exports=function(t,e){var r=0|t.length,n=0|e.length;if(1===r&&1===n)return function(t,e){var r=t+e,n=r-t,i=t-(r-n)+(e-n);if(i)return[i,r];return[r]}(t[0],e[0]);var i,a,o=new Array(r+n),s=0,l=0,c=0,u=Math.abs,f=t[l],h=u(f),p=e[c],d=u(p);h<d?(a=f,(l+=1)<r&&(f=t[l],h=u(f))):(a=p,(c+=1)<n&&(p=e[c],d=u(p)));l<r&&h<d||c>=n?(i=f,(l+=1)<r&&(f=t[l],h=u(f))):(i=p,(c+=1)<n&&(p=e[c],d=u(p)));var m,g,v=i+a,y=v-i,x=a-y,b=x,_=v;for(;l<r&&c<n;)h<d?(i=f,(l+=1)<r&&(f=t[l],h=u(f))):(i=p,(c+=1)<n&&(p=e[c],d=u(p))),(x=(a=b)-(y=(v=i+a)-i))&&(o[s++]=x),b=_-((m=_+v)-(g=m-_))+(v-g),_=m;for(;l<r;)(x=(a=b)-(y=(v=(i=f)+a)-i))&&(o[s++]=x),b=_-((m=_+v)-(g=m-_))+(v-g),_=m,(l+=1)<r&&(f=t[l]);for(;c<n;)(x=(a=b)-(y=(v=(i=p)+a)-i))&&(o[s++]=x),b=_-((m=_+v)-(g=m-_))+(v-g),_=m,(c+=1)<n&&(p=e[c]);b&&(o[s++]=b);_&&(o[s++]=_);s||(o[s++]=0);return o.length=s,o}},{}],290:[function(t,e,r){\"use strict\";e.exports=function(t){return i(n(t))};var n=t(\"boundary-cells\"),i=t(\"reduce-simplicial-complex\")},{\"boundary-cells\":34,\"reduce-simplicial-complex\":276}],291:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,s){r=r||0,void 0===s&&(s=function(t){for(var e=t.length,r=0,n=0;n<e;++n)r=0|Math.max(r,t[n].length);return r-1}(t));if(0===t.length||s<1)return{cells:[],vertexIds:[],vertexWeights:[]};var l=function(t,e){for(var r=t.length,n=i.mallocUint8(r),a=0;a<r;++a)n[a]=t[a]<e|0;return n}(e,+r),c=function(t,e){for(var r=t.length,o=e*(e+1)/2*r|0,s=i.mallocUint32(2*o),l=0,c=0;c<r;++c)for(var u=t[c],f=(e=u.length,0);f<e;++f)for(var h=0;h<f;++h){var p=u[h],d=u[f];s[l++]=0|Math.min(p,d),s[l++]=0|Math.max(p,d)}a(n(s,[l/2|0,2]));var m=2;for(c=2;c<l;c+=2)s[c-2]===s[c]&&s[c-1]===s[c+1]||(s[m++]=s[c],s[m++]=s[c+1]);return n(s,[m/2|0,2])}(t,s),u=function(t,e,r,a){for(var o=t.data,s=t.shape[0],l=i.mallocDouble(s),c=0,u=0;u<s;++u){var f=o[2*u],h=o[2*u+1];if(r[f]!==r[h]){var p=e[f],d=e[h];o[2*c]=f,o[2*c+1]=h,l[c++]=(d-a)/(d-p)}}return t.shape[0]=c,n(l,[c])}(c,e,l,+r),f=function(t,e){var r=i.mallocInt32(2*e),n=t.shape[0],a=t.data;r[0]=0;for(var o=0,s=0;s<n;++s){var l=a[2*s];if(l!==o){for(r[2*o+1]=s;++o<l;)r[2*o]=s,r[2*o+1]=s;r[2*o]=s}}r[2*o+1]=n;for(;++o<e;)r[2*o]=r[2*o+1]=n;return r}(c,0|e.length),h=o(s)(t,c.data,f,l),p=function(t){for(var e=0|t.shape[0],r=t.data,n=new Array(e),i=0;i<e;++i)n[i]=[r[2*i],r[2*i+1]];return n}(c),d=[].slice.call(u.data,0,u.shape[0]);return i.free(l),i.free(c.data),i.free(u.data),i.free(f),{cells:h,vertexIds:p,vertexWeights:d}};var n=t(\"ndarray\"),i=t(\"typedarray-pool\"),a=t(\"ndarray-sort\"),o=t(\"./lib/codegen\")},{\"./lib/codegen\":292,ndarray:259,\"ndarray-sort\":258,\"typedarray-pool\":308}],292:[function(t,e,r){\"use strict\";e.exports=function(t){return n[t]()};var n=[function(){return function(t,e,r,n){for(var i=t.length,a=0;a<i;++a)t[a].length;return[]}},function(){function t(t,e,r,n){for(var i=0|Math.min(r,n),a=0|Math.max(r,n),o=t[2*i],s=t[2*i+1];o<s;){var l=o+s>>1,c=e[2*l+1];if(c===a)return l;a<c?s=l:o=l+1}return o}return function(e,r,n,i){for(var a=e.length,o=[],s=0;s<a;++s){var l=e[s];if(2===l.length){var c=(i[l[0]]<<0)+(i[l[1]]<<1);if(0===c||3===c)continue;switch(c){case 0:break;case 1:o.push([t(n,r,l[0],l[1])]);break;case 2:o.push([t(n,r,l[1],l[0])])}}}return o}},function(){function t(t,e,r,n){for(var i=0|Math.min(r,n),a=0|Math.max(r,n),o=t[2*i],s=t[2*i+1];o<s;){var l=o+s>>1,c=e[2*l+1];if(c===a)return l;a<c?s=l:o=l+1}return o}return function(e,r,n,i){for(var a=e.length,o=[],s=0;s<a;++s){var l=e[s],c=l.length;if(3===c){if(0===(u=(i[l[0]]<<0)+(i[l[1]]<<1)+(i[l[2]]<<2))||7===u)continue;switch(u){case 0:break;case 1:o.push([t(n,r,l[0],l[2]),t(n,r,l[0],l[1])]);break;case 2:o.push([t(n,r,l[1],l[0]),t(n,r,l[1],l[2])]);break;case 3:o.push([t(n,r,l[0],l[2]),t(n,r,l[1],l[2])]);break;case 4:o.push([t(n,r,l[2],l[1]),t(n,r,l[2],l[0])]);break;case 5:o.push([t(n,r,l[2],l[1]),t(n,r,l[0],l[1])]);break;case 6:o.push([t(n,r,l[1],l[0]),t(n,r,l[2],l[0])])}}else if(2===c){var u;if(0===(u=(i[l[0]]<<0)+(i[l[1]]<<1))||3===u)continue;switch(u){case 0:break;case 1:o.push([t(n,r,l[0],l[1])]);break;case 2:o.push([t(n,r,l[1],l[0])])}}}return o}},function(){function t(t,e,r,n){for(var i=0|Math.min(r,n),a=0|Math.max(r,n),o=t[2*i],s=t[2*i+1];o<s;){var l=o+s>>1,c=e[2*l+1];if(c===a)return l;a<c?s=l:o=l+1}return o}return function(e,r,n,i){for(var a=e.length,o=[],s=0;s<a;++s){var l=e[s],c=l.length;if(4===c){if(0===(u=(i[l[0]]<<0)+(i[l[1]]<<1)+(i[l[2]]<<2)+(i[l[3]]<<3))||15===u)continue;switch(u){case 0:break;case 1:o.push([t(n,r,l[0],l[1]),t(n,r,l[0],l[2]),t(n,r,l[0],l[3])]);break;case 2:o.push([t(n,r,l[1],l[2]),t(n,r,l[1],l[0]),t(n,r,l[1],l[3])]);break;case 3:o.push([t(n,r,l[1],l[2]),t(n,r,l[0],l[2]),t(n,r,l[0],l[3])],[t(n,r,l[1],l[3]),t(n,r,l[1],l[2]),t(n,r,l[0],l[3])]);break;case 4:o.push([t(n,r,l[2],l[0]),t(n,r,l[2],l[1]),t(n,r,l[2],l[3])]);break;case 5:o.push([t(n,r,l[0],l[1]),t(n,r,l[2],l[1]),t(n,r,l[0],l[3])],[t(n,r,l[2],l[1]),t(n,r,l[2],l[3]),t(n,r,l[0],l[3])]);break;case 6:o.push([t(n,r,l[2],l[0]),t(n,r,l[1],l[0]),t(n,r,l[1],l[3])],[t(n,r,l[2],l[3]),t(n,r,l[2],l[0]),t(n,r,l[1],l[3])]);break;case 7:o.push([t(n,r,l[0],l[3]),t(n,r,l[1],l[3]),t(n,r,l[2],l[3])]);break;case 8:o.push([t(n,r,l[3],l[1]),t(n,r,l[3],l[0]),t(n,r,l[3],l[2])]);break;case 9:o.push([t(n,r,l[3],l[1]),t(n,r,l[0],l[1]),t(n,r,l[0],l[2])],[t(n,r,l[3],l[2]),t(n,r,l[3],l[1]),t(n,r,l[0],l[2])]);break;case 10:o.push([t(n,r,l[1],l[0]),t(n,r,l[3],l[0]),t(n,r,l[1],l[2])],[t(n,r,l[3],l[0]),t(n,r,l[3],l[2]),t(n,r,l[1],l[2])]);break;case 11:o.push([t(n,r,l[1],l[2]),t(n,r,l[0],l[2]),t(n,r,l[3],l[2])]);break;case 12:o.push([t(n,r,l[3],l[0]),t(n,r,l[2],l[0]),t(n,r,l[2],l[1])],[t(n,r,l[3],l[1]),t(n,r,l[3],l[0]),t(n,r,l[2],l[1])]);break;case 13:o.push([t(n,r,l[0],l[1]),t(n,r,l[2],l[1]),t(n,r,l[3],l[1])]);break;case 14:o.push([t(n,r,l[2],l[0]),t(n,r,l[1],l[0]),t(n,r,l[3],l[0])])}}else if(3===c){if(0===(u=(i[l[0]]<<0)+(i[l[1]]<<1)+(i[l[2]]<<2))||7===u)continue;switch(u){case 0:break;case 1:o.push([t(n,r,l[0],l[2]),t(n,r,l[0],l[1])]);break;case 2:o.push([t(n,r,l[1],l[0]),t(n,r,l[1],l[2])]);break;case 3:o.push([t(n,r,l[0],l[2]),t(n,r,l[1],l[2])]);break;case 4:o.push([t(n,r,l[2],l[1]),t(n,r,l[2],l[0])]);break;case 5:o.push([t(n,r,l[2],l[1]),t(n,r,l[0],l[1])]);break;case 6:o.push([t(n,r,l[1],l[0]),t(n,r,l[2],l[0])])}}else if(2===c){var u;if(0===(u=(i[l[0]]<<0)+(i[l[1]]<<1))||3===u)continue;switch(u){case 0:break;case 1:o.push([t(n,r,l[0],l[1])]);break;case 2:o.push([t(n,r,l[1],l[0])])}}}return o}}]},{}],293:[function(t,e,r){\"use strict\";var n=t(\"bit-twiddle\"),i=t(\"union-find\");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 f=e.slice(0);f.sort();for(var h=0;h<r;++h)if(n=u[h]-f[h])return n;return 0}}function o(t,e){return a(t[0],e[0])}function s(t,e){if(e){for(var r=t.length,n=new Array(r),i=0;i<r;++i)n[i]=[t[i],e[i]];n.sort(o);for(i=0;i<r;++i)t[i]=n[i][0],e[i]=n[i][1];return t}return t.sort(a),t}function l(t){if(0===t.length)return[];for(var e=1,r=t.length,n=1;n<r;++n){var i=t[n];if(a(i,t[n-1])){if(n===e){e++;continue}t[e++]=i}}return t.length=e,t}function c(t,e){for(var r=0,n=t.length-1,i=-1;r<=n;){var o=r+n>>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<o;++i)r[i]=[];for(var s=[],l=(i=0,e.length);i<l;++i)for(var u=e[i],f=u.length,h=1,p=1<<f;h<p;++h){s.length=n.popCount(h);for(var d=0,m=0;m<f;++m)h&1<<m&&(s[d++]=u[m]);var g=c(t,s);if(!(g<0))for(;r[g++].push(i),!(g>=t.length||0!==a(t[g],s)););}return r}function f(t,e){if(e<0)return[];for(var r=[],i=(1<<e+1)-1,a=0;a<t.length;++a)for(var o=t[a],l=i;l<1<<o.length;l=n.nextCombination(l)){for(var c=new Array(e+1),u=0,f=0;f<o.length;++f)l&1<<f&&(c[u++]=o[f]);r.push(c)}return s(r)}r.dimension=function(t){for(var e=0,r=Math.max,n=0,i=t.length;n<i;++n)e=r(e,t[n].length);return e-1},r.countVertices=function(t){for(var e=-1,r=Math.max,n=0,i=t.length;n<i;++n)for(var a=t[n],o=0,s=a.length;o<s;++o)e=r(e,a[o]);return e+1},r.cloneCells=function(t){for(var e=new Array(t.length),r=0,n=t.length;r<n;++r)e[r]=t[r].slice(0);return e},r.compareCells=a,r.normalize=s,r.unique=l,r.findCell=c,r.incidence=u,r.dual=function(t,e){if(!e)return u(l(f(t,0)),t);for(var r=new Array(e),n=0;n<e;++n)r[n]=[];n=0;for(var i=t.length;n<i;++n)for(var a=t[n],o=0,s=a.length;o<s;++o)r[a[o]].push(n);return r},r.explode=function(t){for(var e=[],r=0,n=t.length;r<n;++r)for(var i=t[r],a=0|i.length,o=1,l=1<<a;o<l;++o){for(var c=[],u=0;u<a;++u)o>>>u&1&&c.push(i[u]);e.push(c)}return s(e)},r.skeleton=f,r.boundary=function(t){for(var e=[],r=0,n=t.length;r<n;++r)for(var i=t[r],a=0,o=i.length;a<o;++a){for(var l=new Array(i.length-1),c=0,u=0;c<o;++c)c!==a&&(l[u++]=i[c]);e.push(l)}return s(e)},r.connectedComponents=function(t,e){return e?function(t,e){for(var r=new i(e),n=0;n<t.length;++n)for(var a=t[n],o=0;o<a.length;++o)for(var s=o+1;s<a.length;++s)r.link(a[o],a[s]);var l=[],c=r.ranks;for(n=0;n<c.length;++n)c[n]=-1;for(n=0;n<t.length;++n){var u=r.find(t[n][0]);c[u]<0?(c[u]=l.length,l.push([t[n].slice(0)])):l[c[u]].push(t[n].slice(0))}return l}(t,e):function(t){for(var e=l(s(f(t,0))),r=new i(e.length),n=0;n<t.length;++n)for(var a=t[n],o=0;o<a.length;++o)for(var u=c(e,[a[o]]),h=o+1;h<a.length;++h)r.link(u,c(e,[a[h]]));var p=[],d=r.ranks;for(n=0;n<d.length;++n)d[n]=-1;for(n=0;n<t.length;++n){var m=r.find(c(e,[t[n][0]]));d[m]<0?(d[m]=p.length,p.push([t[n].slice(0)])):p[d[m]].push(t[n].slice(0))}return p}(t)}},{\"bit-twiddle\":32,\"union-find\":309}],294:[function(t,e,r){arguments[4][32][0].apply(r,arguments)},{dup:32}],295:[function(t,e,r){arguments[4][293][0].apply(r,arguments)},{\"bit-twiddle\":294,dup:293,\"union-find\":296}],296:[function(t,e,r){\"use strict\";function n(t){this.roots=new Array(t),this.ranks=new Array(t);for(var e=0;e<t;++e)this.roots[e]=e,this.ranks[e]=0}e.exports=n,n.prototype.length=function(){return this.roots.length},n.prototype.makeSet=function(){var t=this.roots.length;return this.roots.push(t),this.ranks.push(0),t},n.prototype.find=function(t){for(var e=this.roots;e[t]!==t;){var r=e[t];e[t]=e[r],t=r}return t},n.prototype.link=function(t,e){var r=this.find(t),n=this.find(e);if(r!==n){var i=this.ranks,a=this.roots,o=i[r],s=i[n];o<s?a[r]=n:s<o?a[n]=r:(a[n]=r,++i[r])}}},{}],297:[function(t,e,r){\"use strict\";e.exports=function(t,e,r){for(var a=e.length,o=t.length,s=new Array(a),l=new Array(a),c=new Array(a),u=new Array(a),f=0;f<a;++f)s[f]=l[f]=-1,c[f]=1/0,u[f]=!1;for(f=0;f<o;++f){var h=t[f];if(2!==h.length)throw new Error(\"Input must be a graph\");var p=h[1],d=h[0];-1!==l[d]?l[d]=-2:l[d]=p,-1!==s[p]?s[p]=-2:s[p]=d}function m(t){if(u[t])return 1/0;var r,i,a,o,c,f=s[t],h=l[t];return f<0||h<0?1/0:(r=e[t],i=e[f],a=e[h],o=Math.abs(n(r,i,a)),c=Math.sqrt(Math.pow(i[0]-a[0],2)+Math.pow(i[1]-a[1],2)),o/c)}function g(t,e){var r=k[t],n=k[e];k[t]=n,k[e]=r,A[r]=e,A[n]=t}function v(t){return c[k[t]]}function y(t){return 1&t?t-1>>1:(t>>1)-1}function x(t){for(var e=v(t);;){var r=e,n=2*t+1,i=2*(t+1),a=t;if(n<M){var o=v(n);o<r&&(a=n,r=o)}if(i<M)v(i)<r&&(a=i);if(a===t)return t;g(t,a),t=a}}function b(t){for(var e=v(t);t>0;){var r=y(t);if(r>=0)if(e<v(r)){g(t,r),t=r;continue}return t}}function _(){if(M>0){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,b(t),_(),c[r]=e,b((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(f=0;f<a;++f){(c[f]=m(f))<1/0?(A[f]=k.length,k.push(f)):A[f]=-1}var M=k.length;for(f=M>>1;f>=0;--f)x(f);for(;;){var S=_();if(S<0||c[S]>r)break;T(S)}var E=[];for(f=0;f<a;++f)u[f]||(A[f]=E.length,E.push(e[f].slice()));E.length;function L(t,e){if(t[e]<0)return e;var r=e,n=e;do{var i=t[n];if(!u[n]||i<0||i===n)break;if(i=t[n=i],!u[n]||i<0||i===n)break;n=i,r=t[r]}while(r!==n);for(var a=e;a!==n;a=t[a])t[a]=n;return n}var C=[];return t.forEach((function(t){var e=L(s,t[0]),r=L(l,t[1]);if(e>=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=t(\"robust-orientation\"),i=t(\"simplicial-complex\")},{\"robust-orientation\":284,\"simplicial-complex\":295}],298:[function(t,e,r){\"use strict\";e.exports=function(t,e){var r,a,o,s;if(e[0][0]<e[1][0])r=e[0],a=e[1];else{if(!(e[0][0]>e[1][0]))return i(e,t);r=e[1],a=e[0]}if(t[0][0]<t[1][0])o=t[0],s=t[1];else{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=t(\"robust-orientation\");function i(t,e){var r,i,a,o;if(e[0][0]<e[1][0])r=e[0],i=e[1];else{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 l<c?l-c:s>u?s-u:l-u}r=e[1],i=e[0]}t[0][1]<t[1][1]?(a=t[0],o=t[1]):(a=t[1],o=t[0]);var f=n(i,r,a);return f||((f=n(i,r,o))||o-i)}},{\"robust-orientation\":284}],299:[function(t,e,r){\"use strict\";e.exports=function(t){for(var e=t.length,r=2*e,n=new Array(r),a=0;a<e;++a){var l=t[a],c=l[0][0]<l[1][0];n[2*a]=new f(l[0][0],l,c,a),n[2*a+1]=new f(l[1][0],l,!c,a)}n.sort((function(t,e){var r=t.x-e.x;return r||((r=t.create-e.create)||Math.min(t.segment[0][1],t.segment[1][1])-Math.min(e.segment[0][1],e.segment[1][1]))}));var h=i(o),p=[],d=[],m=[];for(a=0;a<r;){for(var g=n[a].x,v=[];a<r;){var y=n[a];if(y.x!==g)break;a+=1,y.segment[0][0]===y.x&&y.segment[1][0]===y.x?y.create&&(y.segment[0][1]<y.segment[1][1]?(v.push(new u(y.segment[0][1],y.index,!0,!0)),v.push(new u(y.segment[1][1],y.index,!1,!1))):(v.push(new u(y.segment[1][1],y.index,!0,!1)),v.push(new u(y.segment[0][1],y.index,!1,!0)))):h=y.create?h.insert(y.segment,y.index):h.remove(y.segment)}p.push(h.root),d.push(g),m.push(v)}return new s(p,d,m)};var n=t(\"binary-search-bounds\"),i=t(\"functional-red-black-tree\"),a=t(\"robust-orientation\"),o=t(\"./lib/order-segments\");function s(t,e,r){this.slabs=t,this.coordinates=e,this.horizontal=r}function l(t,e){return t.y-e}function c(t,e){for(var r=null;t;){var n,i,o=t.key;o[0][0]<o[1][0]?(n=o[0],i=o[1]):(n=o[1],i=o[0]);var s=a(n,i,e);if(s<0)t=t.left;else if(s>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 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=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 f=this.horizontal[e];if(f.length>0){var h=n.ge(f,t[1],l);if(h<f.length){var p=f[h];if(t[1]===p.y){if(p.closed)return p.index;for(;h<f.length-1&&f[h+1].y===t[1];)if((p=f[h+=1]).closed)return p.index;if(p.y===t[1]&&!p.start){if((h+=1)>=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}},{\"./lib/order-segments\":298,\"binary-search-bounds\":31,\"functional-red-black-tree\":69,\"robust-orientation\":284}],300:[function(t,e,r){\"use strict\";var n=t(\"robust-dot-product\"),i=t(\"robust-sum\");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;l<o;++l)s[l]=i*t[l]+a*r[l];return s}e.exports=function(t,e){for(var r=[],n=[],i=a(t[t.length-1],e),s=t[t.length-1],l=t[0],c=0;c<t.length;++c,s=l){var u=a(l=t[c],e);if(i<0&&u>0||i>0&&u<0){var f=o(s,u,l,i);r.push(f),n.push(f.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}},e.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;l<t.length;++l,i=s){var c=a(s=t[l],e);(n<0&&c>0||n>0&&c<0)&&r.push(o(i,c,s,n)),c>=0&&r.push(s.slice()),n=c}return r},e.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;l<t.length;++l,i=s){var c=a(s=t[l],e);(n<0&&c>0||n>0&&c<0)&&r.push(o(i,c,s,n)),c<=0&&r.push(s.slice()),n=c}return r}},{\"robust-dot-product\":281,\"robust-sum\":289}],301:[function(t,e,r){!function(){\"use strict\";var t={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 e(t){return i(o(t),arguments)}function n(t,r){return e.apply(null,[t].concat(r||[]))}function i(r,n){var i,a,o,s,l,c,u,f,h,p=1,d=r.length,m=\"\";for(a=0;a<d;a++)if(\"string\"==typeof r[a])m+=r[a];else if(\"object\"==typeof r[a]){if((s=r[a]).keys)for(i=n[p],o=0;o<s.keys.length;o++){if(null==i)throw new Error(e('[sprintf] Cannot access property \"%s\" of undefined value \"%s\"',s.keys[o],s.keys[o-1]));i=i[s.keys[o]]}else i=s.param_no?n[s.param_no]:n[p++];if(t.not_type.test(s.type)&&t.not_primitive.test(s.type)&&i instanceof Function&&(i=i()),t.numeric_arg.test(s.type)&&\"number\"!=typeof i&&isNaN(i))throw new TypeError(e(\"[sprintf] expecting number but found %T\",i));switch(t.number.test(s.type)&&(f=i>=0),s.type){case\"b\":i=parseInt(i,10).toString(2);break;case\"c\":i=String.fromCharCode(parseInt(i,10));break;case\"d\":case\"i\":i=parseInt(i,10);break;case\"j\":i=JSON.stringify(i,null,s.width?parseInt(s.width):0);break;case\"e\":i=s.precision?parseFloat(i).toExponential(s.precision):parseFloat(i).toExponential();break;case\"f\":i=s.precision?parseFloat(i).toFixed(s.precision):parseFloat(i);break;case\"g\":i=s.precision?String(Number(i.toPrecision(s.precision))):parseFloat(i);break;case\"o\":i=(parseInt(i,10)>>>0).toString(8);break;case\"s\":i=String(i),i=s.precision?i.substring(0,s.precision):i;break;case\"t\":i=String(!!i),i=s.precision?i.substring(0,s.precision):i;break;case\"T\":i=Object.prototype.toString.call(i).slice(8,-1).toLowerCase(),i=s.precision?i.substring(0,s.precision):i;break;case\"u\":i=parseInt(i,10)>>>0;break;case\"v\":i=i.valueOf(),i=s.precision?i.substring(0,s.precision):i;break;case\"x\":i=(parseInt(i,10)>>>0).toString(16);break;case\"X\":i=(parseInt(i,10)>>>0).toString(16).toUpperCase()}t.json.test(s.type)?m+=i:(!t.number.test(s.type)||f&&!s.sign?h=\"\":(h=f?\"+\":\"-\",i=i.toString().replace(t.sign,\"\")),c=s.pad_char?\"0\"===s.pad_char?\"0\":s.pad_char.charAt(1):\" \",u=s.width-(h+i).length,l=s.width&&u>0?c.repeat(u):\"\",m+=s.align?h+i+l:\"0\"===c?h+l+i:l+h+i)}return m}var a=Object.create(null);function o(e){if(a[e])return a[e];for(var r,n=e,i=[],o=0;n;){if(null!==(r=t.text.exec(n)))i.push(r[0]);else if(null!==(r=t.modulo.exec(n)))i.push(\"%\");else{if(null===(r=t.placeholder.exec(n)))throw new SyntaxError(\"[sprintf] unexpected placeholder\");if(r[2]){o|=1;var s=[],l=r[2],c=[];if(null===(c=t.key.exec(l)))throw new SyntaxError(\"[sprintf] failed to parse named argument key\");for(s.push(c[1]);\"\"!==(l=l.substring(c[0].length));)if(null!==(c=t.key_access.exec(l)))s.push(c[1]);else{if(null===(c=t.index_access.exec(l)))throw new SyntaxError(\"[sprintf] failed to parse named argument key\");s.push(c[1])}r[2]=s}else o|=2;if(3===o)throw new Error(\"[sprintf] mixing positional and named placeholders is not (yet) supported\");i.push({placeholder:r[0],param_no:r[1],keys:r[2],sign:r[3],pad_char:r[4],align:r[5],width:r[6],precision:r[7],type:r[8]})}n=n.substring(r[0].length)}return a[e]=i}void 0!==r&&(r.sprintf=e,r.vsprintf=n),\"undefined\"!=typeof window&&(window.sprintf=e,window.vsprintf=n)}()},{}],302:[function(t,e,r){\"use strict\";e.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;s<n;++s)a[s]=[r[s]],o[s]=[s];return{positions:a,cells:o}}(t,e);var r=t.order.join()+\"-\"+t.dtype,s=o[r];e=+e||0;s||(s=o[r]=function(t,e){var r=t.length+\"d\",i=a[r];if(i)return i(n,t,e)}(t.order,t.dtype));return s(t,e)};var n=t(\"ndarray-extract-contour\"),i=t(\"zero-crossings\"),a={\"2d\":function(t,e,r){var n=t({order:e,scalarArguments:3,getters:\"generic\"===r?[0]:void 0,phase:function(t,e,r,n){return t>n|0},vertex:function(t,e,r,n,i,a,o,s,l,c,u,f,h){var p=(o<<0)+(s<<1)+(l<<2)+(c<<3)|0;if(0!==p&&15!==p)switch(p){case 0:u.push([t-.5,e-.5]);break;case 1:u.push([t-.25-.25*(n+r-2*h)/(r-n),e-.25-.25*(i+r-2*h)/(r-i)]);break;case 2:u.push([t-.75-.25*(-n-r+2*h)/(n-r),e-.25-.25*(a+n-2*h)/(n-a)]);break;case 3:u.push([t-.5,e-.5-.5*(i+r+a+n-4*h)/(r-i+n-a)]);break;case 4:u.push([t-.25-.25*(a+i-2*h)/(i-a),e-.75-.25*(-i-r+2*h)/(i-r)]);break;case 5:u.push([t-.5-.5*(n+r+a+i-4*h)/(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*h)/(i-a),e-.75-.25*(a+n-2*h)/(n-a)]);break;case 8:u.push([t-.75-.25*(-a-i+2*h)/(a-i),e-.75-.25*(-a-n+2*h)/(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*h)/(n-r+a-i),e-.5]);break;case 11:u.push([t-.25-.25*(-a-i+2*h)/(a-i),e-.75-.25*(i+r-2*h)/(r-i)]);break;case 12:u.push([t-.5,e-.5-.5*(-i-r-a-n+4*h)/(i-r+a-n)]);break;case 13:u.push([t-.75-.25*(n+r-2*h)/(r-n),e-.25-.25*(-a-n+2*h)/(a-n)]);break;case 14:u.push([t-.25-.25*(-n-r+2*h)/(n-r),e-.25-.25*(-i-r+2*h)/(i-r)]);break;case 15:u.push([t-.5,e-.5])}},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}}}};var o={}},{\"ndarray-extract-contour\":251,\"zero-crossings\":318}],303:[function(t,e,r){(function(r){(function(){\"use strict\";e.exports=function t(e,r,i){i=i||{};var o=a[e];o||(o=a[e]={\" \":{data:new Float32Array(0),shape:.2}});var s=o[r];if(!s)if(r.length<=1||!/\\d/.test(r))s=o[r]=function(t){for(var e=t.cells,r=t.positions,n=new Float32Array(6*e.length),i=0,a=0,o=0;o<e.length;++o)for(var s=e[o],l=0;l<3;++l){var c=r[s[l]];n[i++]=c[0],n[i++]=c[1]+1.4,a=Math.max(c[0],a)}return{data:n,shape:a}}(n(r,{triangles:!0,font:e,textAlign:i.textAlign||\"left\",textBaseline:\"alphabetic\",styletags:{breaklines:!0,bolds:!0,italics:!0,subscripts:!0,superscripts:!0}}));else{for(var l=r.split(/(\\d|\\s)/),c=new Array(l.length),u=0,f=0,h=0;h<l.length;++h)c[h]=t(e,l[h]),u+=c[h].data.length,f+=c[h].shape,h>0&&(f+=.02);var p=new Float32Array(u),d=0,m=-.5*f;for(h=0;h<c.length;++h){for(var g=c[h].data,v=0;v<g.length;v+=2)p[d++]=g[v]+m,p[d++]=g[v+1];m+=c[h].shape+.02}s=o[r]={data:p,shape:f}}return s};var n=t(\"vectorize-text\"),i=window||r.global||{},a=i.__TEXT_CACHE||{};i.__TEXT_CACHE={}}).call(this)}).call(this,t(\"_process\"))},{_process:5,\"vectorize-text\":311}],304:[function(t,e,r){\"use strict\";var n=t(\"parse-unit\");e.exports=a;function i(t,e){var r=n(getComputedStyle(t).getPropertyValue(e));return r[0]*a(r[1],t)}function a(t,e){switch(e=e||document.body,t=(t||\"px\").trim().toLowerCase(),e!==window&&e!==document||(e=document.body),t){case\"%\":return e.clientHeight/100;case\"ch\":case\"ex\":return function(t,e){var r=document.createElement(\"div\");r.style[\"font-size\"]=\"128\"+t,e.appendChild(r);var n=i(r,\"font-size\")/128;return e.removeChild(r),n}(t,e);case\"em\":return i(e,\"font-size\");case\"rem\":return i(document.body,\"font-size\");case\"vw\":return window.innerWidth/100;case\"vh\":return window.innerHeight/100;case\"vmin\":return Math.min(window.innerWidth,window.innerHeight)/100;case\"vmax\":return Math.max(window.innerWidth,window.innerHeight)/100;case\"in\":return 96;case\"cm\":return 96/2.54;case\"mm\":return 96/25.4;case\"pt\":return 96/72;case\"pc\":return 16}return 1}},{\"parse-unit\":265}],305:[function(t,e,r){\"use strict\";e.exports=function(t){var e=(t=t||{}).center||[0,0,0],r=t.up||[0,1,0],n=t.right||f(r),i=t.radius||1,a=t.theta||0,u=t.phi||0;if(e=[].slice.call(e,0,3),r=[].slice.call(r,0,3),s(r,r),n=[].slice.call(n,0,3),s(n,n),\"eye\"in t){var p=t.eye,d=[p[0]-e[0],p[1]-e[1],p[2]-e[2]];o(n,d,r),c(n[0],n[1],n[2])<1e-6?n=f(r):s(n,n),i=c(d[0],d[1],d[2]);var m=l(r,d)/i,g=l(n,d)/i;u=Math.acos(m),a=Math.acos(g)}return i=Math.log(i),new h(t.zoomMin,t.zoomMax,e,r,n,i,a,u)};var n=t(\"filtered-vector\"),i=t(\"gl-mat4/invert\"),a=t(\"gl-mat4/rotate\"),o=t(\"gl-vec3/cross\"),s=t(\"gl-vec3/normalize\"),l=t(\"gl-vec3/dot\");function c(t,e,r){return Math.sqrt(Math.pow(t,2)+Math.pow(e,2)+Math.pow(r,2))}function u(t){return Math.min(1,Math.max(-1,t))}function f(t){var e=Math.abs(t[0]),r=Math.abs(t[1]),n=Math.abs(t[2]),i=[0,0,0];e>Math.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 c=0;c<16;++c)this.computedMatrix[c]=.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),u=0;for(a=0;a<3;++a)r[a]-=e[a]*i/n,u+=r[a]*r[a],e[a]/=l;var f=Math.sqrt(u);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],m=this.computedAngle[1],g=Math.cos(d),v=Math.sin(d),y=Math.cos(m),x=Math.sin(m),b=this.computedCenter,_=g*y,w=v*y,T=x,k=-g*x,A=-v*x,M=y,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],I=E[9],O=E[2],z=E[6],D=E[10],R=P*D-I*z,F=I*O-C*D,B=C*z-P*O,N=c(R,F,B);R/=N,F/=N,B/=N,E[0]=R,E[4]=F,E[8]=B;for(a=0;a<3;++a)S[a]=b[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];a(i,i,n,d);for(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],f=i[4],h=i[8],p=u*a+f*o+h*s,d=c(u-=a*p,f-=o*p,h-=s*p),m=(u/=d)*e+a*r,g=(f/=d)*e+o*r,v=(h/=d)*e+s*r;this.center.move(t,m,g,v);var y=Math.exp(this.computedRadius[0]);y=Math.max(1e-4,y+n),this.radius.set(t,Math.log(y))},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),m=Math.max(h,p,d);h===m?(s=s<0?-1:1,l=f=0):d===m?(f=f<0?-1:1,s=l=0):(l=l<0?-1:1,s=f=0)}else{var g=c(s,l,f);s/=g,l/=g,f/=g}var v,y,x=e[o],b=e[o+4],_=e[o+8],w=x*s+b*l+_*f,T=c(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=c(k,A,M);if(k/=S,A/=S,M/=S,this.center.jump(t,q,G,Y),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*_,I=E*k+L*A+C*M;v=R<0?-Math.PI/2:Math.PI/2,y=Math.atan2(I,P)}else{var O=e[2],z=e[6],D=e[10],R=O*s+z*l+D*f,F=O*x+z*b+D*_,B=O*k+z*A+D*M;v=Math.asin(u(R)),y=Math.atan2(B,F)}this.angle.jump(t,y,v),this.recalcMatrix(t);var N=e[2],j=e[6],U=e[10],V=this.computedMatrix;i(V,e);var H=V[15],q=V[12]/H,G=V[13]/H,Y=V[14]/H,W=Math.exp(this.computedRadius[0]);this.center.jump(t,q-N*W,G-j*W,Y-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],f=e[1]-r[1],h=e[2]-r[2],p=c(l,f,h);if(!(p<1e-6)){l/=p,f/=p,h/=p;var d=this.computedRight,m=d[0],g=d[1],v=d[2],y=i*m+a*g+o*v,x=c(m-=y*i,g-=y*a,v-=y*o);if(!(x<.01&&(x=c(m=a*h-o*f,g=o*l-i*h,v=i*f-a*l))<1e-6)){m/=x,g/=x,v/=x,this.up.set(t,i,a,o),this.right.set(t,m,g,v),this.center.set(t,r[0],r[1],r[2]),this.radius.set(t,Math.log(p));var b=a*v-o*g,_=o*m-i*v,w=i*g-a*m,T=c(b,_,w),k=i*l+a*f+o*h,A=m*l+g*f+v*h,M=(b/=T)*l+(_/=T)*f+(w/=T)*h,S=Math.asin(u(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 I=Math.abs(C+2*Math.PI-E),O=Math.abs(C-E),z=Math.abs(C-2*Math.PI-E);I<O&&(C+=2*Math.PI),z<O&&(C-=2*Math.PI),this.angle.jump(this.angle.lastT(),C,P),this.angle.set(t,E,S)}}}}},{\"filtered-vector\":68,\"gl-mat4/invert\":98,\"gl-mat4/rotate\":103,\"gl-vec3/cross\":157,\"gl-vec3/dot\":162,\"gl-vec3/normalize\":179}],306:[function(t,e,r){\"use strict\";e.exports=function(t,e,r){var i=t*e,a=n*t,o=a-(a-t),s=t-o,l=n*e,c=l-(l-e),u=e-c,f=s*u-(i-o*c-s*c-o*u);if(r)return r[0]=f,r[1]=i,r;return[f,i]};var n=+(Math.pow(2,27)+1)},{}],307:[function(t,e,r){\"use strict\";e.exports=function(t,e,r){var n=t+e,i=n-t,a=e-i,o=t-(n-i);if(r)return r[0]=o+a,r[1]=n,r;return[o+a,n]}},{}],308:[function(t,e,r){(function(e){(function(){\"use strict\";var n=t(\"bit-twiddle\"),i=t(\"dup\"),a=t(\"buffer\").Buffer;e.__TYPEDARRAY_POOL||(e.__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=e.__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,f=c.BUFFER;function h(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 v(t){return new Int8Array(p(t),0,t)}function y(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)}r.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);u[r].push(t)}},r.freeUint8=r.freeUint16=r.freeUint32=r.freeBigUint64=r.freeInt8=r.freeInt16=r.freeInt32=r.freeBigInt64=r.freeFloat32=r.freeFloat=r.freeFloat64=r.freeDouble=r.freeUint8Clamped=r.freeDataView=function(t){h(t.buffer)},r.freeArrayBuffer=h,r.freeBuffer=function(t){f[n.log2(t.length)].push(t)},r.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 v(t);case\"int16\":return y(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},r.mallocArrayBuffer=p,r.mallocUint8=d,r.mallocUint16=m,r.mallocUint32=g,r.mallocInt8=v,r.mallocInt16=y,r.mallocInt32=x,r.mallocFloat32=r.mallocFloat=b,r.mallocFloat64=r.mallocDouble=_,r.mallocUint8Clamped=w,r.mallocBigUint64=T,r.mallocBigInt64=k,r.mallocDataView=A,r.mallocBuffer=M,r.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,f[t].length=0}}).call(this)}).call(this,void 0!==n?n:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{\"bit-twiddle\":32,buffer:3,dup:65}],309:[function(t,e,r){\"use strict\";function n(t){this.roots=new Array(t),this.ranks=new Array(t);for(var e=0;e<t;++e)this.roots[e]=e,this.ranks[e]=0}e.exports=n;var i=n.prototype;Object.defineProperty(i,\"length\",{get:function(){return this.roots.length}}),i.makeSet=function(){var t=this.roots.length;return this.roots.push(t),this.ranks.push(0),t},i.find=function(t){for(var e=t,r=this.roots;r[t]!==t;)t=r[t];for(;r[e]!==t;){var n=r[e];r[e]=t,e=n}return t},i.link=function(t,e){var r=this.find(t),n=this.find(e);if(r!==n){var i=this.ranks,a=this.roots,o=i[r],s=i[n];o<s?a[r]=n:s<o?a[n]=r:(a[n]=r,++i[r])}}},{}],310:[function(t,e,r){\"use strict\";e.exports=function(t,e,r){return 0===t.length?t:e?(r||t.sort(e),function(t,e){for(var r=1,n=t.length,i=t[0],a=t[0],o=1;o<n;++o)if(a=i,e(i=t[o],a)){if(o===r){r++;continue}t[r++]=i}return t.length=r,t}(t,e)):(r||t.sort(),function(t){for(var e=1,r=t.length,n=t[0],i=t[0],a=1;a<r;++a,i=n)if(i=n,(n=t[a])!==i){if(a===e){e++;continue}t[e++]=n}return t.length=e,t}(t))}},{}],311:[function(t,e,r){\"use strict\";e.exports=function(t,e){\"object\"==typeof e&&null!==e||(e={});return n(t,e.canvas||i,e.context||a,e)};var n=t(\"./lib/vtext\"),i=null,a=null;\"undefined\"!=typeof document&&((i=document.createElement(\"canvas\")).width=8192,i.height=1024,a=i.getContext(\"2d\"))},{\"./lib/vtext\":312}],312:[function(t,e,r){e.exports=function(t,e,r,n){var a=64,o=1.25,s={breaklines:!1,bolds:!1,italics:!1,subscripts:!1,superscripts:!1};n&&(n.size&&n.size>0&&(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));return 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\",h(function(t,e,r,n,a,o){r=r.replace(/\\n/g,\"\"),r=!0===o.breaklines?r.replace(/\\<br\\>/g,\"\\n\"):r.replace(/\\<br\\>/g,\" \");var s=\"\",l=[];for(p=0;p<r.length;++p)l[p]=s;!0===o.bolds&&(l=c(\"b\",\"b|\",r,l));!0===o.italics&&(l=c(\"i\",\"i|\",r,l));!0===o.superscripts&&(l=c(\"sup\",\"+1\",r,l));!0===o.subscripts&&(l=c(\"sub\",\"-1\",r,l));var u=[],f=\"\";for(p=0;p<r.length;++p)null!==l[p]&&(f+=r[p],u.push(l[p]));var h,p,d,m,g,v=f.split(\"\\n\"),y=v.length,x=Math.round(a*n),b=n,_=2*n,w=0,T=y*x+_;t.height<T&&(t.height=T);e.fillStyle=\"#000\",e.fillRect(0,0,t.width,t.height),e.fillStyle=\"#fff\";var k=0,A=\"\";function M(){if(\"\"!==A){var t=e.measureText(A).width;e.fillText(A,b+d,_+m),d+=t}}function S(){return Math.round(g)+\"px \"}function E(t,r){var n=\"\"+e.font;if(!0===o.subscripts){var i=t.indexOf(\"-\"),a=r.indexOf(\"-\"),s=i>-1?parseInt(t[1+i]):0,l=a>-1?parseInt(r[1+a]):0;s!==l&&(n=n.replace(S(),\"?px \"),g*=Math.pow(.75,l-s),n=n.replace(\"?px \",S())),m+=.25*x*(l-s)}if(!0===o.superscripts){var c=t.indexOf(\"+\"),u=r.indexOf(\"+\"),f=c>-1?parseInt(t[1+c]):0,h=u>-1?parseInt(r[1+u]):0;f!==h&&(n=n.replace(S(),\"?px \"),g*=Math.pow(.75,h-f),n=n.replace(\"?px \",S())),m-=.25*x*(h-f)}if(!0===o.bolds){var p=t.indexOf(\"b|\")>-1,d=r.indexOf(\"b|\")>-1;!p&&d&&(n=v?n.replace(\"italic \",\"italic bold \"):\"bold \"+n),p&&!d&&(n=n.replace(\"bold \",\"\"))}if(!0===o.italics){var v=t.indexOf(\"i|\")>-1,y=r.indexOf(\"i|\")>-1;!v&&y&&(n=\"italic \"+n),v&&!y&&(n=n.replace(\"italic \",\"\"))}e.font=n}for(h=0;h<y;++h){var L=v[h]+\"\\n\";for(d=0,m=h*x,g=n,A=\"\",p=0;p<L.length;++p){var C=p+k<u.length?u[p+k]:u[u.length-1];s===C?A+=L[p]:(M(),A=L[p],void 0!==C&&(E(s,C),s=C))}M(),k+=L.length;var P=0|Math.round(d+2*b);w<P&&(w=P)}var I=w,O=_+x*y;return i(e.getImageData(0,0,I,O).data,[O,I,4]).pick(-1,-1,0).transpose(1,0)}(e,r,t,a,o,s),n,a)},e.exports.processPixels=h;var n=t(\"surface-nets\"),i=t(\"ndarray\"),a=t(\"simplify-planar-graph\"),o=t(\"clean-pslg\"),s=t(\"cdt2d\"),l=t(\"planar-graph-to-polyline\");function c(t,e,r,n){for(var i=\"<\"+t+\">\",a=\"</\"+t+\">\",o=i.length,s=a.length,l=\"+\"===e[0]||\"-\"===e[0],c=0,u=-s;c>-1&&-1!==(c=r.indexOf(i,c))&&-1!==(u=r.indexOf(a,c+o))&&!(u<=c);){for(var f=c;f<u+s;++f)if(f<c+o||f>=u)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=c+o,d=r.substr(p,u-p).indexOf(i);c=-1!==d?d:u+s}return n}function u(t,e){var r=n(t,128);return e?a(r.cells,r.positions,.25):{edges:r.cells,positions:r.positions}}function f(t,e,r,n){var i=u(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<s;++l)for(var c=t[l],u=0;u<2;++u)a[u]=0|Math.min(a[u],c[u]),o[u]=0|Math.max(o[u],c[u]);var f=0;switch(n){case\"center\":f=-.5*(a[0]+o[0]);break;case\"right\":case\"end\":f=-o[0];break;case\"left\":case\"start\":f=-a[0];break;default:throw new Error(\"vectorize-text: Unrecognized textAlign: '\"+n+\"'\")}var h=0;switch(i){case\"hanging\":case\"top\":h=-a[1];break;case\"middle\":h=-.5*(a[1]+o[1]);break;case\"alphabetic\":case\"ideographic\":h=-3*r;break;case\"bottom\":h=-o[1];break;default:throw new Error(\"vectorize-text: Unrecoginized textBaseline: '\"+i+\"'\")}var p=1/r;return\"lineHeight\"in e?p*=+e.lineHeight:\"width\"in e?p=e.width/(o[0]-a[0]):\"height\"in e&&(p=e.height/(o[1]-a[1])),t.map((function(t){return[p*(t[0]+f),p*(t[1]+h)]}))}(i.positions,e,r),c=i.edges,f=\"ccw\"===e.orientation;if(o(a,c),e.polygons||e.polygon||e.polyline){for(var h=l(c,a),p=new Array(h.length),d=0;d<h.length;++d){for(var m=h[d],g=new Array(m.length),v=0;v<m.length;++v){for(var y=m[v],x=new Array(y.length),b=0;b<y.length;++b)x[b]=a[y[b]].slice();f&&x.reverse(),g[v]=x}p[d]=g}return p}return e.triangles||e.triangulate||e.triangle?{cells:s(a,c,{delaunay:!1,exterior:!1,interior:!0}),positions:a}:{edges:c,positions:a}}function h(t,e,r){try{return f(t,e,r,!0)}catch(t){}try{return f(t,e,r,!1)}catch(t){}return e.polygons||e.polyline||e.polygon?[]:e.triangles||e.triangulate||e.triangle?{cells:[],positions:[]}:{edges:[],positions:[]}}},{cdt2d:42,\"clean-pslg\":50,ndarray:259,\"planar-graph-to-polyline\":268,\"simplify-planar-graph\":297,\"surface-nets\":302}],313:[function(t,e,r){!function(){\"use strict\";if(\"undefined\"==typeof ses||!ses.ok||ses.ok()){\"undefined\"!=typeof ses&&(ses.weakMapPermitHostObjects=m);var t=!1;if(\"function\"==typeof WeakMap){var r=WeakMap;if(\"undefined\"!=typeof navigator&&/Firefox/.test(navigator.userAgent));else{var n=new r,i=Object.freeze({});if(n.set(i,1),1===n.get(i))return void(e.exports=WeakMap);t=!0}}Object.prototype.hasOwnProperty;var a=Object.getOwnPropertyNames,o=Object.defineProperty,s=Object.isExtensible,l=\"weakmap:ident:\"+Math.random()+\"___\";if(\"undefined\"!=typeof crypto&&\"function\"==typeof crypto.getRandomValues&&\"function\"==typeof ArrayBuffer&&\"function\"==typeof Uint8Array){var c=new ArrayBuffer(25),u=new Uint8Array(c);crypto.getRandomValues(u),l=\"weakmap:rand:\"+Array.prototype.map.call(u,(function(t){return(t%36).toString(36)})).join(\"\")+\"___\"}if(o(Object,\"getOwnPropertyNames\",{value:function(t){return a(t).filter(g)}}),\"getPropertyNames\"in Object){var f=Object.getPropertyNames;o(Object,\"getPropertyNames\",{value:function(t){return f(t).filter(g)}})}!function(){var t=Object.freeze;o(Object,\"freeze\",{value:function(e){return v(e),t(e)}});var e=Object.seal;o(Object,\"seal\",{value:function(t){return v(t),e(t)}});var r=Object.preventExtensions;o(Object,\"preventExtensions\",{value:function(t){return v(t),r(t)}})}();var h=!1,p=0,d=function(){this instanceof d||x();var t=[],e=[],r=p++;return Object.create(d.prototype,{get___:{value:y((function(n,i){var a,o=v(n);return o?r in o?o[r]:i:(a=t.indexOf(n))>=0?e[a]:i}))},has___:{value:y((function(e){var n=v(e);return n?r in n:t.indexOf(e)>=0}))},set___:{value:y((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:y((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)}))}})};d.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 d||x();var e,n=new r,i=void 0,a=!1;return e=t?function(t,e){return n.set(t,e),n.has(t)||(i||(i=new d),i.set(t,e)),this}:function(t,e){if(a)try{n.set(t,e)}catch(r){i||(i=new d),i.set___(t,e)}else n.set(t,e);return this},Object.create(d.prototype,{get___:{value:y((function(t,e){return i?n.has(t)?n.get(t):i.get___(t,e):n.get(t,e)}))},has___:{value:y((function(t){return n.has(t)||!!i&&i.has___(t)}))},set___:{value:y(e)},delete___:{value:y((function(t){var e=!!n.delete(t);return i&&i.delete___(t)||e}))},permitHostObjects___:{value:y((function(t){if(t!==m)throw new Error(\"bogus call to permitHostObjects___\");a=!0}))}})}t&&\"undefined\"!=typeof Proxy&&(Proxy=void 0),n.prototype=d.prototype,e.exports=n,Object.defineProperty(WeakMap.prototype,\"constructor\",{value:WeakMap,enumerable:!1,configurable:!0,writable:!0})}():(\"undefined\"!=typeof Proxy&&(Proxy=void 0),e.exports=d)}function m(t){t.permitHostObjects___&&t.permitHostObjects___(m)}function g(t){return!(\"weakmap:\"==t.substr(0,\"weakmap:\".length)&&\"___\"===t.substr(t.length-3))}function v(t){if(t!==Object(t))throw new TypeError(\"Not an object: \"+t);var e=t[l];if(e&&e.key===t)return e;if(s(t)){e={key:t};try{return o(t,l,{value:e,writable:!1,enumerable:!1,configurable:!1}),e}catch(t){return}}}function y(t){return t.prototype=null,Object.freeze(t)}function x(){h||\"undefined\"==typeof console||(h=!0,console.warn(\"WeakMap should be invoked as new WeakMap(), not WeakMap(). This will be an error in the future.\"))}}()},{}],314:[function(t,e,r){var n=t(\"./hidden-store.js\");e.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)}}},{\"./hidden-store.js\":315}],315:[function(t,e,r){e.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}},{}],316:[function(t,e,r){var n=t(\"./create-store.js\");e.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}}}},{\"./create-store.js\":314}],317:[function(t,e,r){\"use strict\";var 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,f=s;for(u=0;u<o;++u){var h=e[n]-a,p=e[n+c]-a;h>=0!=p>=0&&i.push(l[0]+.5+.5*(h+p)/(h-p)),n+=f,++l[0]}}};e.exports=(n={funcName:{funcName:\"zeroCrossings\"}.funcName},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)}}(i.bind(void 0,n)))},{}],318:[function(t,e,r){\"use strict\";e.exports=function(t,e){var r=[];return e=+e||0,n(t.hi(t.shape[0]-1),r,e),r};var n=t(\"./lib/zc-core\")},{\"./lib/zc-core\":317}]},{},[6])(6)}))}).call(this)}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{}]},{},[27])(27)}));\n",
       "        });\n",
       "        require(['plotly'], function(Plotly) {\n",
       "            window._Plotly = Plotly;\n",
       "        });\n",
       "        }\n",
       "        </script>\n",
       "        "
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import numpy as np # linear algebra\n",
    "import pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv)\n",
    "import matplotlib.pyplot as plt\n",
    "import seaborn as sns\n",
    "sns.set_style('darkgrid')\n",
    "import plotly.express as ex\n",
    "import plotly.graph_objs as go\n",
    "import plotly.offline as pyo\n",
    "from plotly.subplots import make_subplots\n",
    "import plotly.figure_factory as ff\n",
    "pyo.init_notebook_mode()\n",
    "from imblearn.over_sampling import SMOTE\n",
    "import scikitplot as skplt\n",
    "\n",
    "\n",
    "from sklearn.pipeline import Pipeline\n",
    "from sklearn.preprocessing import StandardScaler,LabelEncoder\n",
    "from sklearn.model_selection import train_test_split,cross_val_score\n",
    "from sklearn.metrics import accuracy_score, precision_score, recall_score, f1_score\n",
    "\n",
    "\n",
    "from sklearn.linear_model import LinearRegression,LogisticRegression\n",
    "from sklearn.tree import DecisionTreeRegressor,DecisionTreeClassifier\n",
    "from sklearn.ensemble import RandomForestClassifier\n",
    "from sklearn.svm import SVC\n",
    "import os\n",
    "\n",
    "from sklearn.metrics import classification_report,confusion_matrix,f1_score\n",
    "import warnings\n",
    "warnings.filterwarnings('ignore')\n",
    "\n",
    "plt.rc('figure',figsize=(17,13))\n",
    "sns.set_context('paper',font_scale=2)\n",
    "\n",
    "def set_seed(seed=31415):\n",
    "    np.random.seed(seed)\n",
    "    os.environ['PYTHONHASHSEED'] = str(seed)\n",
    "    os.environ['TF_DETERMINISTIC_OPS'] = '1'\n",
    "set_seed()\n",
    "# Import necessary libraries\n",
    "import pandas as pd\n",
    "from sklearn.decomposition import PCA\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "# Import necessary libraries\n",
    "import pandas as pd\n",
    "from sklearn.feature_selection import RFE\n",
    "from sklearn.decomposition import PCA\n",
    "from sklearn.svm import SVC\n",
    "from sklearn.model_selection import train_test_split\n",
    "import pandas as pd\n",
    "import numpy as np\n",
    "from sklearn.tree import DecisionTreeClassifier\n",
    "from sklearn.ensemble import ExtraTreesClassifier\n",
    "from sklearn.feature_selection import SelectKBest, chi2, RFE\n",
    "from sklearn.model_selection import train_test_split\n",
    "from sklearn.metrics import accuracy_score\n",
    "\n",
    "from sklearn.model_selection import train_test_split\n",
    "from sklearn.preprocessing import StandardScaler\n",
    "from sklearn.ensemble import AdaBoostClassifier\n",
    "from sklearn.tree import DecisionTreeClassifier\n",
    "from sklearn.model_selection import cross_val_score\n",
    "from sklearn.linear_model import LogisticRegression\n",
    "from sklearn.ensemble import GradientBoostingClassifier\n",
    "from sklearn.svm import SVC\n",
    "from sklearn.ensemble import RandomForestClassifier\n",
    "from sklearn.ensemble import GradientBoostingClassifier\n",
    "from sklearn.neural_network import MLPClassifier\n",
    "from sklearn.metrics import accuracy_score\n",
    "from sklearn.metrics import confusion_matrix\n",
    "from sklearn.metrics import classification_report\n",
    "import matplotlib.pyplot as plt\n",
    "from sklearn.metrics import roc_curve, auc\n",
    "\n",
    "\n",
    "from sklearn.ensemble import VotingClassifier\n",
    "from sklearn.svm import SVC\n",
    "from sklearn.linear_model import LogisticRegression\n",
    "from sklearn.ensemble import RandomForestClassifier\n",
    "from datetime import datetime\n",
    "import time \n",
    "from datetime import timedelta\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "37bffb4b",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>id</th>\n",
       "      <th>gender</th>\n",
       "      <th>age</th>\n",
       "      <th>hypertension</th>\n",
       "      <th>heart_disease</th>\n",
       "      <th>ever_married</th>\n",
       "      <th>work_type</th>\n",
       "      <th>Residence_type</th>\n",
       "      <th>avg_glucose_level</th>\n",
       "      <th>bmi</th>\n",
       "      <th>smoking_status</th>\n",
       "      <th>stroke</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>9046</td>\n",
       "      <td>Male</td>\n",
       "      <td>67.0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>Yes</td>\n",
       "      <td>Private</td>\n",
       "      <td>Urban</td>\n",
       "      <td>228.69</td>\n",
       "      <td>36.6</td>\n",
       "      <td>formerly smoked</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>51676</td>\n",
       "      <td>Female</td>\n",
       "      <td>61.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>Yes</td>\n",
       "      <td>Self-employed</td>\n",
       "      <td>Rural</td>\n",
       "      <td>202.21</td>\n",
       "      <td>NaN</td>\n",
       "      <td>never smoked</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>31112</td>\n",
       "      <td>Male</td>\n",
       "      <td>80.0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>Yes</td>\n",
       "      <td>Private</td>\n",
       "      <td>Rural</td>\n",
       "      <td>105.92</td>\n",
       "      <td>32.5</td>\n",
       "      <td>never smoked</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "      id  gender   age  hypertension  heart_disease ever_married  \\\n",
       "0   9046    Male  67.0             0              1          Yes   \n",
       "1  51676  Female  61.0             0              0          Yes   \n",
       "2  31112    Male  80.0             0              1          Yes   \n",
       "\n",
       "       work_type Residence_type  avg_glucose_level   bmi   smoking_status  \\\n",
       "0        Private          Urban             228.69  36.6  formerly smoked   \n",
       "1  Self-employed          Rural             202.21   NaN     never smoked   \n",
       "2        Private          Rural             105.92  32.5     never smoked   \n",
       "\n",
       "   stroke  \n",
       "0       1  \n",
       "1       1  \n",
       "2       1  "
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df = pd.read_csv('D:/Brain Stroke Prediction data/healthcare-dataset-stroke-data.csv')\n",
    "df.head(3)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "17b579d1",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "id                     0\n",
       "gender                 0\n",
       "age                    0\n",
       "hypertension           0\n",
       "heart_disease          0\n",
       "ever_married           0\n",
       "work_type              0\n",
       "Residence_type         0\n",
       "avg_glucose_level      0\n",
       "bmi                  201\n",
       "smoking_status         0\n",
       "stroke                 0\n",
       "dtype: int64"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.isnull().sum()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "e09ed9a2",
   "metadata": {},
   "outputs": [],
   "source": [
    "df.bmi.replace(to_replace=np.nan, value=df.bmi.mean(), inplace=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "3971679c",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "id                   0\n",
       "gender               0\n",
       "age                  0\n",
       "hypertension         0\n",
       "heart_disease        0\n",
       "ever_married         0\n",
       "work_type            0\n",
       "Residence_type       0\n",
       "avg_glucose_level    0\n",
       "bmi                  0\n",
       "smoking_status       0\n",
       "stroke               0\n",
       "dtype: int64"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.isnull().sum()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "a6fa1718",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>id</th>\n",
       "      <th>age</th>\n",
       "      <th>hypertension</th>\n",
       "      <th>heart_disease</th>\n",
       "      <th>avg_glucose_level</th>\n",
       "      <th>bmi</th>\n",
       "      <th>stroke</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>count</th>\n",
       "      <td>5110.000000</td>\n",
       "      <td>5110.000000</td>\n",
       "      <td>5110.000000</td>\n",
       "      <td>5110.000000</td>\n",
       "      <td>5110.000000</td>\n",
       "      <td>5110.000000</td>\n",
       "      <td>5110.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>mean</th>\n",
       "      <td>36517.829354</td>\n",
       "      <td>43.226614</td>\n",
       "      <td>0.097456</td>\n",
       "      <td>0.054012</td>\n",
       "      <td>106.147677</td>\n",
       "      <td>28.893237</td>\n",
       "      <td>0.048728</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>std</th>\n",
       "      <td>21161.721625</td>\n",
       "      <td>22.612647</td>\n",
       "      <td>0.296607</td>\n",
       "      <td>0.226063</td>\n",
       "      <td>45.283560</td>\n",
       "      <td>7.698018</td>\n",
       "      <td>0.215320</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>min</th>\n",
       "      <td>67.000000</td>\n",
       "      <td>0.080000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>55.120000</td>\n",
       "      <td>10.300000</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25%</th>\n",
       "      <td>17741.250000</td>\n",
       "      <td>25.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>77.245000</td>\n",
       "      <td>23.800000</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50%</th>\n",
       "      <td>36932.000000</td>\n",
       "      <td>45.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>91.885000</td>\n",
       "      <td>28.400000</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>75%</th>\n",
       "      <td>54682.000000</td>\n",
       "      <td>61.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>114.090000</td>\n",
       "      <td>32.800000</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>max</th>\n",
       "      <td>72940.000000</td>\n",
       "      <td>82.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>271.740000</td>\n",
       "      <td>97.600000</td>\n",
       "      <td>1.000000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                 id          age  hypertension  heart_disease  \\\n",
       "count   5110.000000  5110.000000   5110.000000    5110.000000   \n",
       "mean   36517.829354    43.226614      0.097456       0.054012   \n",
       "std    21161.721625    22.612647      0.296607       0.226063   \n",
       "min       67.000000     0.080000      0.000000       0.000000   \n",
       "25%    17741.250000    25.000000      0.000000       0.000000   \n",
       "50%    36932.000000    45.000000      0.000000       0.000000   \n",
       "75%    54682.000000    61.000000      0.000000       0.000000   \n",
       "max    72940.000000    82.000000      1.000000       1.000000   \n",
       "\n",
       "       avg_glucose_level          bmi       stroke  \n",
       "count        5110.000000  5110.000000  5110.000000  \n",
       "mean          106.147677    28.893237     0.048728  \n",
       "std            45.283560     7.698018     0.215320  \n",
       "min            55.120000    10.300000     0.000000  \n",
       "25%            77.245000    23.800000     0.000000  \n",
       "50%            91.885000    28.400000     0.000000  \n",
       "75%           114.090000    32.800000     0.000000  \n",
       "max           271.740000    97.600000     1.000000  "
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.describe()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "d9f0aef3",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>id</th>\n",
       "      <th>age</th>\n",
       "      <th>hypertension</th>\n",
       "      <th>heart_disease</th>\n",
       "      <th>avg_glucose_level</th>\n",
       "      <th>bmi</th>\n",
       "      <th>stroke</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>id</th>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.003538</td>\n",
       "      <td>0.003550</td>\n",
       "      <td>-0.001296</td>\n",
       "      <td>0.001092</td>\n",
       "      <td>0.002999</td>\n",
       "      <td>0.006388</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>age</th>\n",
       "      <td>0.003538</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.276398</td>\n",
       "      <td>0.263796</td>\n",
       "      <td>0.238171</td>\n",
       "      <td>0.325942</td>\n",
       "      <td>0.245257</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>hypertension</th>\n",
       "      <td>0.003550</td>\n",
       "      <td>0.276398</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.108306</td>\n",
       "      <td>0.174474</td>\n",
       "      <td>0.160189</td>\n",
       "      <td>0.127904</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>heart_disease</th>\n",
       "      <td>-0.001296</td>\n",
       "      <td>0.263796</td>\n",
       "      <td>0.108306</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.161857</td>\n",
       "      <td>0.038899</td>\n",
       "      <td>0.134914</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>avg_glucose_level</th>\n",
       "      <td>0.001092</td>\n",
       "      <td>0.238171</td>\n",
       "      <td>0.174474</td>\n",
       "      <td>0.161857</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.168751</td>\n",
       "      <td>0.131945</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>bmi</th>\n",
       "      <td>0.002999</td>\n",
       "      <td>0.325942</td>\n",
       "      <td>0.160189</td>\n",
       "      <td>0.038899</td>\n",
       "      <td>0.168751</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.038947</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>stroke</th>\n",
       "      <td>0.006388</td>\n",
       "      <td>0.245257</td>\n",
       "      <td>0.127904</td>\n",
       "      <td>0.134914</td>\n",
       "      <td>0.131945</td>\n",
       "      <td>0.038947</td>\n",
       "      <td>1.000000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                         id       age  hypertension  heart_disease  \\\n",
       "id                 1.000000  0.003538      0.003550      -0.001296   \n",
       "age                0.003538  1.000000      0.276398       0.263796   \n",
       "hypertension       0.003550  0.276398      1.000000       0.108306   \n",
       "heart_disease     -0.001296  0.263796      0.108306       1.000000   \n",
       "avg_glucose_level  0.001092  0.238171      0.174474       0.161857   \n",
       "bmi                0.002999  0.325942      0.160189       0.038899   \n",
       "stroke             0.006388  0.245257      0.127904       0.134914   \n",
       "\n",
       "                   avg_glucose_level       bmi    stroke  \n",
       "id                          0.001092  0.002999  0.006388  \n",
       "age                         0.238171  0.325942  0.245257  \n",
       "hypertension                0.174474  0.160189  0.127904  \n",
       "heart_disease               0.161857  0.038899  0.134914  \n",
       "avg_glucose_level           1.000000  0.168751  0.131945  \n",
       "bmi                         0.168751  1.000000  0.038947  \n",
       "stroke                      0.131945  0.038947  1.000000  "
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.corr()"
   ]
  },
  {
   "cell_type": "raw",
   "id": "4a70261f",
   "metadata": {},
   "source": [
    "plt.figure(figsize=(9, 8))\n",
    "plt.subplot(2,1,1)\n",
    "plt.title('Stroke Sample Distribution Based On Bmi And Glucose Level')\n",
    "sns.scatterplot(x=df['avg_glucose_level'],y=df['bmi'],hue=df['stroke'])\n",
    "plt.subplot(2,1,2)\n",
    "plt.title('Stroke Sample Distribution Based On Bmi And Age')\n",
    "sns.scatterplot(x=df['age'],y=df['bmi'],hue=df['stroke'])\n",
    "plt.tight_layout()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "raw",
   "id": "7dae6a86",
   "metadata": {},
   "source": [
    "import seaborn as sns\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "# Set custom color palette\n",
    "import matplotlib.colors as mcolors\n",
    "plt.figure(figsize=(10, 7))\n",
    "colors = ['#ff7f0e', '#1f87b4']\n",
    "cmap = mcolors.ListedColormap(colors)\n",
    "\n",
    "# Plot correlation matrix\n",
    "corr = df.corr()\n",
    "sns.heatmap(corr, cmap=cmap, annot=True)\n",
    "plt.title('Correlation Matrix')\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "4391463a",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAABhoAAAPCCAYAAACOegJSAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOzdd1wT5x8H8E8SZhgCCq66Bw4c4N6riKvubR11Va3bqm3d27oHrjrrFhfuidbWCSjWvXCCisjekPH7g1+uRBJIwsbP+/Xi1Zrcc3nucrn7PlukVCqVICIiIiIiIiIiIiIiMoA4pzNARERERERERERERER5FxsaiIiIiIiIiIiIiIjIYGxoICIiIiIiIiIiIiIig7GhgYiIiIiIiIiIiIiIDMaGBiIiIiIiIiIiIiIiMhgbGoiIiIiIiIiIiIiIyGBsaCAiIiIiIiIiIiIiIoOxoYGIiIiIiIiIiIiIiAzGhgYiIiIiIiIiIiIiIjKYUU5ngDJGLpejWbNmCA4OBgAcOnQI1apVy+Fc6efWrVsYMGCAxvdEIhGMjY1RoEABlCpVCi1btkSXLl1gZ2encfsjR47g119/BQDcu3cPpqamGc5fdHQ09u7di+HDh+ud9pdffsHRo0dRo0YNeHh4pPt6dkhMTMT27dvxww8/wMTERHh97dq1cHd3R6FChXDt2rVszZO+cmteFQoFzp49i/Pnz+P+/fsICQmBSCSCnZ0dqlSpgubNm+O7775TO+9fevv2LW7duoUePXpkW74DAgLQqlUrAMDmzZvRtGnTbPvs9Dx9+hRHjx7FjRs38PHjR8TExMDGxgbffPMNGjVqhC5duuCbb77Rml7b9Z4Zzp49ixIlSqBq1aqZul+izObo6Kj1PWNjY9jY2KBMmTJo0aIF+vTpA3Nz81TbffmsbtGiBTZu3KjT50+aNAknT54EAI33bdUzsXjx4rh06ZJO+wTUn/lfEolEMDU1RYECBVCuXDm4urqiY8eOsLS01Lh9VjxXgoODcebMGa0xTlr69+8Pb29vtGvXDitXrkz39eygLR7KyZhGX7k1r4mJiTh27Bi8vLzw5MkThIaGwtjYGAULFkT16tXRqlUruLm5QSzW3kfs0aNHePPmDdq2bZtt+U55Xzh9+jTKlSuXbZ+dntu3b+PEiRPw9vbGp0+fkJCQAFtbW5QuXRqNGzdGt27dULBgQa3pMxL/p0WhUODgwYNo2rQpihYtmqn7JsppISEhOHjwIP7++2+8ffsW4eHhsLCwgIODA+rVq4d27drBxcUlzX3kRHydW8uWKiEhIThy5AiuXr2K58+fIzIyEsbGxihWrBhcXFzQvXt31KhRI6ezmamy6h6sScuWLREYGIhhw4bh559/zvLP0zU/+rCysoKvr28W5YiyUk7FUqqYuG7duti1a1em7psNDXnc33//LTQyAMC+ffvyXENDSgUKFICxsbHwb4VCgfj4eAQHByM4OBi+vr74448/MH/+fLi6umZ5fq5fv46ff/4ZIpEoWx5yWe3JkycYPXo03r17h0GDBuV0dvKVjx8/YtSoUXj48CGA5EouKysriEQiBAYGIiAgAOfPn8f69euxYsUKjcHg1q1bsXLlSri6umZrQ0Nu9fvvv2PHjh1QKBQAAHNzc1haWiI8PBzBwcHw8/PDH3/8gZEjR2LUqFGp0mfV9R4dHY2RI0fC29sbmzdvzrT9EmU1qVQKqVQq/FupVCIhIQGfP39GcHAwvL29sWfPHuzatQvFihVLc19Xr15FVFQUrKys0twuPj5er8YDQ9na2kIikQj/VigUiIuLQ1BQEIKCgnD9+nVs3rwZS5cuRe3atbM8P8ePH8fs2bNRvnx5gxoacpv8Fg/lJk+ePMHYsWPx5s0bAIBYLIaVlRUUCgXevHmDN2/e4MSJE6hUqRLWrFmDUqVKpdrHwoULsWvXLgwZMiRbGxpyo6SkJPz66684ceKE8Jrq3hcSEoKgoCDcunULGzduxG+//Ybu3bun2kdWXe8fPnzAyJEj8fjxY5w+fTrT9kuUG5w8eRKzZs1CdHQ0gOSODJaWloiPj8ezZ8/w7Nkz7Nq1C25ubliyZAnMzMzU0jO+Tk0ul2PDhg34448/kJCQAACQSCSwsrJCZGQkXrx4gRcvXsDDwwPfffcd5s2bp7GzSF7DmCOZqalpunG2iraONEQ5gQ0NedyhQ4cAAK1atYKXlxdOnTqFX375BdbW1jmcM8OsXbsW9erVS/V6VFQUbty4geXLl+P169cYP3483N3d0aJFC7XtrKysUKZMGQDJFb0Zdfv2bYSEhKBQoUIGpbe3t0eZMmVQvHjxDOclMzx69Ajv3r3T+J6trS3KlCmjdbQIaZeYmIgffvgBL1++RKlSpTB58mQ0atRIqNCLjo7G33//jaVLlyIgIABDhw7FoUOHUlUW/PXXX0hKSsqJQ8h13N3dsW3bNhgbG+Onn35Cly5dhN+RXC7Ho0ePsGnTJly4cAGrV6+GqakphgwZoraPtK73jAgPD4e3t3em75coqw0ePBhjxoxJ9XpcXBwuX76MmTNnIiAgAGPGjMHhw4e17kckEiEpKQleXl7o3Llzmp95+fJlxMbGZjTr6Tp06JDG0U2hoaG4cuUKli9fjvfv32PYsGHYuXNnqk4Zmf0MvH79OmJiYgxOX7RoUZQpUwaFCxfOlPxkVFrxUG6LdfKSkJAQDBkyBJ8/f0bVqlXx888/o1atWsKI3PDwcJw7dw4rVqzAkydPMGjQIBw9ehQ2NjZq+7l48aLQKP+1mzlzJk6cOAELCwuMHz8e7dq1E67bpKQk3L17F6tWrYKvry+mT58OCwuLVI0zGY3/tXn79i0eP36cqfskyg1u3LiBKVOmQC6Xo0OHDhg2bBgqVqwojMJ69+4dPDw8sGXLFpw7dw6JiYmpRkUyvlYnk8kwevRoXL58GUByL/dBgwbB2dkZJiYmSEpKwvPnz7FlyxacOnUKJ06cwIcPH7B9+/ZMH8Wd3bLqHpzXtGvXDosXL87pbFAWMzc3F+ow8/pvV4VrNORhISEhuHLlCgBgxIgRsLe3R3x8PI4cOZLDOct8VlZWaN26NQ4ePIiKFStCJpNh0qRJCA0NVdvO1dUVZ8+exdmzZ3PFj3TSpEk4e/Zstk9vYIjvv/8eZ8+exd69e3M6K3nOkSNH8PLlS1hZWWHPnj1wdXVV6zVsaWmJdu3aYevWrbCwsEBkZCTc3d1zMMe5W3h4OLZu3QoAmDZtGkaPHq1WgSWRSFCtWjWsWbMGTZo0AQCsW7cOEREROZJforzO3Nwc7dq1w2+//QYAePDgAW7duqV1+5o1awIAzpw5k+6+T506BQAae2FnBzs7O3Tp0gUHDx6Eg4MDYmNjMW7cOCQmJqptl9uegUuWLMHZs2fxyy+/5HRW0pWXYp3cZseOHfj8+TNKlCiB3bt3o2HDhmrTftrY2KBXr15wd3eHkZER3r9/jx07duRchnM5f39/HD16FACwatUqDBgwQK2iytjYGHXq1MHWrVtRqVIlKJVKLF26FDKZLKeyTJQvrFq1CnK5HO3atcPy5ctRqVIltaneSpQogUmTJmH8+PEAkjsh3LhxI4dymzcsXbpUaGQYP348NmzYgHr16gl1HMbGxqhSpQpWrFiBqVOnAgB8fX2xbt26HMszEemvevXqQh1miRIlcjo7mYINDXmYp6cnkpKSULhwYVSrVg0dOnQAAOzfvz+Hc5Z1rK2tsXTpUojFYsTExHBYJeUKqgq52rVrw97eXut2ZcuWFX6n//zzT7bkLS+6d++e0AM6rSkgxGIxRo8eDQCIiYmBn59ftuSPKL9SrdUCJI8I0qZdu3YAgGvXriEyMlLrdqrRXObm5mr7zglFixbFvHnzAACBgYE4ePBgjuaHCPgvfmjevLlaB4Uv1alTB/Xr1wfA+CEt3t7eUCqVsLS0THO9KTMzM2E6jsDAQLx69Sq7skiU78THx+Pff/8FkHbcDgBDhgyBhYUFgOQpoEmzZ8+eYefOnQCArl27YuTIkWluP3jwYNStWxcA8OeffyIqKirL80hEpA0bGvIw1bQGbdq0gUgkEqYvePXqVbo9BN69e4fZs2fDzc0N1atXR+PGjTF16lS8ffsWp06dgqOjI/r3768xbVBQEBYvXox27dqhRo0acHZ2xnfffYdly5aprReRVSpVqoRmzZoBSJ4DOaUjR47A0dERjo6OwjyGKqqGiV69esHFxQVOTk5o0qQJfvrpJ5w7dw5KpVLY9tatW3B0dBR6nX/+/FnYb0BAAIDkxVMcHR3x+++/486dO+jatSucnJzQsGFDTJ8+XW2bnj17aj2e2NhYrFy5Et9++y2qVauGpk2b4pdffsGzZ880bt+/f384OjpiwoQJWvfZqFEjODo6Yu3atQCSF/t1dHRUWzSzevXqcHR0FAq5a9euhaOjIxo1aqRxnyEhIVi5ciU6deoEZ2dn1KhRA25ubpg3b57W6WlUed29ezeio6OxYsUKtG3bFtWrV0fdunUxePBgXLx4Uetx6CIpKQlbtmxB+/btUa1aNTRs2BBjx47F7du3teanX79+ae6zU6dOcHR0xIoVK3TKQ1xcHADg9evX6U5d0L17d4wdOxZjxowRrjnVuVcNFz59+jQcHR3RsmVLIV3Lli3h6OiIy5cvw8PDA61atYKTkxNatmyJffv2qX3G7du3MWnSJDRr1gxOTk6oW7cu+vbti927d6fqxZsehUKBSZMmwdHREVWqVMGxY8dSbZPZ9wTV+QSAly9fprlttWrVMGrUKPz6668oWbIkAN2udxV/f3/Mnz8fHTt2RJ06dVC1alXUq1cPffr0wdatW1NN+dKyZUu1CtNhw4ap/dZU9w5HR0f4+/trzPO+ffuEbb6kz32KKLOlXOMgrTl+69evD1tbWyQlJaV5D7948SISEhLQokWLNCtRs0vz5s1RsWJFAMmdNVJK6xkYGhqKVatWoUuXLqhZsyaqV6+OFi1aYOLEibh+/bratqo4RNWr+t9//031e0/5bLx48SLatWsHJycnNG3aFGvWrFHbJq1nfWhoKObOnYtmzZqhWrVqaNmyJebMmaN1AUHVc2TZsmUa309ISBDyqhodq088pC3WCQgIwIIFC9C2bVu1Z8Ty5cvx+fPnNPN6+fJlBAcHY968eWjVqhWqVauG+vXrY9SoURle9FDX+EupVOLbb7+Fo6MjpkyZonV/SUlJaNCgARwdHXHgwAGd8qB63qX3rAOSK5LGjx+vFp+rzr3qO9+8eXOqGF71fT19+hQbN25E48aNUb16dbi5uaX6/f71118YNWoUGjduDCcnJ9SvXx+DBw+Gp6cn5HK5TsekEh8fL1zHNWvW1Fg2efnyJWbOnAlXV1dUr14dtWrVQrdu3bBhwwaDKspU5zM6OhpBQUFpbtuwYUOMGjUKv/32mzDlrC7Xu8q///6L6dOno23btqhVqxacnJzQoEEDDBo0CPv37081Faajo6Paei3t2rVT+62lVYZRWbZsWar4UEWf+xRRZoqLixPi0/TuZUZGRpg6dSp+/vlntcZAXePrevXqISoqCr/88gtcXFzg7OyMrl274u3bt0LaxMRE7N27F99//z3q1KkjPF8nTJhg0HPj7du3aNKkCRwdHeHq6ooPHz6k2ubatWsYM2aMcO+sV68efvjhBxw9elTveycA7N69GwqFAkZGRhqnvNTkxx9/hJubG8aPH69xlFZGyvL61DuoGPIc1/UeHBAQgIULF6J9+/aoXr06atasCVdXV/z666+4f/++TudLm4CAAEyZMgWNGjUSnpXLli1LNZNGQEAAKlWqBEdHR2E6c00eP34sHIMuz/rMMGTIEDg6Oqa7RuF3330HR0dHoSNOSvpe0/r8Rg2hekaqYs3jx4+jT58+qFWrFmrVqoVevXqprX10584djBgxAvXq1UO1atXw3XffYffu3VrL0jExMdixYwd++OEHNGrUCE5OTnB2doabmxtmzpypsVyvyzHrs422+gOlUonTp09j2LBhaNCgAZycnNCoUSOMGDEi3bq0gIAAzJ8/X6j3bdasGebOnZvqes5sXKMhj7pz545wEXbt2hVAcgV81apV8fDhQ+zbtw8NGjTQmPbq1asYM2aMUIGmWlzV09MT58+fx3fffaf1cy9duoRJkyYJaVXDu1ULPHl4eGDlypVaK6szS7NmzXD58mV8/vwZT58+1Vhhl1JERAT69u2LFy9eAEgOcqRSKT59+oSLFy/i4sWLcHNzw+rVqyESiWBsbIxChQohNjYWsbGxEIvFwrzNKStigORj37dvH+Li4mBhYaHXfILR0dHo27cvHj9+DIlEAqlUiqCgIBw9ehTHjx/HnDlzMmVRYIlEgkKFCiE+Pl5YoEuVx5SLb2tz48YNjB8/HuHh4QCSe4JJJBK8fv0ar1+/hoeHB+bPn49OnTppTB8UFIROnTohICAAIpEIUqkUERERuHbtGq5du4Zx48ZpXMw3PTKZDCNGjMDVq1chFothaWmJ0NBQnDt3DufOncNPP/2EsWPHCtv36NED3t7euH37Nt69e6dxaNrjx4/x5MkTAP/9ttJTpUoVXL58Ga9evcL06dMxceJErddA9erVUb16dbXXpFIpChUqhIiICCQlJQkLP9na2qZKf/jwYVy4cAESiQQmJiYIDAxE6dKlhfcXLlyIP//8U/i3tbU1YmNjcfv2bdy+fRv79+/Hxo0bNc5l/iWFQoHffvsNJ0+ehEQiwZIlS4QRGSpZcU+oUqUKRCIRlEolfv31VyxcuBC1atXSuK1EIsG4ceNSvabL9b5jxw78/vvvaotNGxkZITw8HHfu3MGdO3fg6emJAwcOCJWktra2iI2NRVhYGID/FrDPjEpUfe9TRJlNNR2jRCJJ8zcrkUjQunVrHDhwAGfOnNF6rzx58iQAoH379rlmXvJmzZrh2bNnePjwISIjI9Nd0+rdu3fo16+fUGlpbGwMU1NTvH//Hu/fv8epU6cwaNAgoWHTzMwMhQoVQlRUFBISEmBsbIwCBQpo3Pe1a9dw5coVKBQKmJubIygoCEWLFtXpOD58+IBu3brh/fv3Qp4CAwOxd+9eHDlyBGvWrBE6ZWSEPvGQJidOnMCMGTOECmCpVAqFQiE8I/bv34/Vq1ejYcOGGtM/e/YMv/zyC8LDwyGRSGBqaoqwsDB4eXnh0qVLWLx4cbrrhGiiT/wlEonQrVs3rFq1ChcuXEBMTIzQIzelv/76C6GhoTA3N0f79u11ykeVKlXw7NkzXLt2DStXrsTQoUO1LvzYqFGjVL9LS0tLFCpUCKGhoVAoFMKix5quubVr1+LChQswNjaGWCzGmzdvUL58eQDJFXNTpkwRpkMTiUSwtrZGZGSkEKsdOnQIa9eu1RibfCkhIQGjRo2Ct7c3pFIpNm7cmGoNtgMHDmDu3LlChZhUKoVMJsODBw/w4MED7N+/Hxs2bECVKlXSP5H/l3LbsWPHYu7cuVrLCLa2tqniB12v90WLFqlNYaW6HkJDQ3Hjxg3cuHED58+fx5YtW4TpYwoVKoSkpCRhmkfVAvZfLohrCH3vU0SZydbWFsWKFcP79++xadMmFCtWDO3atYORkeaqpl69emnchy7xtUKhEO4t5ubmSExMRFhYmFCu+fDhA4YPHy40GKti6aCgIJw+fRqnT59G//798dtvv6lN7aRNQEAABg4ciE+fPqF06dLYuXOn2tpJMpkMM2fOVFvXysrKCtHR0bh+/TquX7+Ow4cPw93dPdXaOmm5dOkSgOQOVcWKFdMpTePGjdG4cWON72W0LJ8R+jzHdbkH37t3D4MHDxYao01NTSESifD27Vu8ffsWR44cwbRp09QadnX15MkTdOnSBZGRkTA1NRXO0ebNm3Hw4EFs2bJFWOPrm2++QYMGDXD9+nV4enqie/fuGvepujZcXFxQtmxZvfNkiC5duuDq1au4desWgoKCNK739eTJE+F3kjKOyug1nd5vNKOUSiUmT54sdDi2sLBATEwM7t69i7t37yIsLAwmJiaYNWsW5HI5pFIpkpKS8OzZM8ybNw8fPnzA5MmT1fb5/PlzDB06FB8/fgSQfK2pprtW/UaOHj2KjRs3aiwfpXXMqoZJXbbRJCYmBhMmTBDKaEBy/U5YWBguX76My5cvw83NDUuXLlWbehNI/t2PHj1aqA+xtLRESEgI9uzZg4sXL2bptLYc0ZBHqVpNq1atikqVKgmvd+vWDQDg5eWlsSfP+/fvMXr0aMTGxqJGjRo4duwYbt++jTt37mD+/PlQKBRae2Hdu3cPY8eORWxsLNq3b49Tp07h7t278PPzw4kTJ9CiRQtERERg9OjRQkVZVlEVjIDkG0N63N3d8eLFCxQrVgx79uzBgwcP4OPjA29vb/zwww8AgHPnzgkFLBcXF1y7dg2DBw8GkDzHs6qg9WUlwNWrV1G4cGGcPn0ad+7cwZkzZ9LtMa/i7++PJ0+eYMyYMfD29oavry/Onj2LunXrQi6XY9asWbh3755O+0pL0aJFce3aNUybNk147dKlS7h27RpcXFzSTPv8+XOMGjUK4eHhKF++PHbu3Im7d+8KlbC1a9dGYmIifvnlF1y7dk3jPrZs2YLo6GjMnz9fqMA9ceKE0LN03bp1wo1dH+Hh4bh69Sr69u2La9euwcfHB1euXIGbm5uw33Pnzgnbu7m5wdraGkqlUmPPfOC/YKB27dpqFfhp6dOnj1DwPnz4MJo1a4YBAwZg48aN8PX11dozTWXIkCG4du0anJ2dASRPX3Lt2jWNi7FeuHABLVu2xI0bN+Dn54c9e/YI0ym4u7sLjQw9evTA33//DR8fH9y5cwdLlixBgQIF8Pz5cwwfPjzdRUqVSiVmzZqFo0ePwsjICMuXL0/VyJBV94QSJUoIDZ6vX79G37590bp1a8yfPx9nz55Nd5SELte7n58fFi9eDIVCgU6dOuHy5cu4e/cu/v33X1y6dEmoOFU1JKocPnxYrdfKsmXLcO3atVQLURtC3/sUUWaJjY3F8ePHMWvWLADA8OHD050jVFWReuPGDY3ro4SFheHGjRuwtrZOcwqT7KaKH+RyudZRRyktWrQIQUFBqFy5Mo4ePYoHDx7g9u3b+Oeff4T71I4dO4RpI9q1a4dr164J00tVqVJFiB++dOnSJVSrVg1XrlyBn58fDh06pHMFtZ+fHz5//oxZs2YJDcmHDh1CxYoVER8fj/Hjx6fqgW0IfeKhL924cQNTp05FXFwcXFxccOTIEfj5+eHu3bvYvXs3KlasiMjISIwaNQpPnz7VuI9Vq1bB3Nwca9euhZ+fn/DcK1q0KJRKJRYsWJDuM1YTfeOvrl27QiKRIDY2FufPn9e4T1XP9NatW8PS0lKnfAwZMkSoaFYVYIcPH47t27fj3r176a4dMH36dLXvol+/frh27ZrGdaAuXLiAXr16wcfHR/gOVHHOrFmzcObMGYhEIowYMQLXr1+Ht7c3fHx8MG3aNJiYmMDHxwdjx45Nd+RmYmIixowZg2vXrkEqlWLz5s2pGhkuXryImTNnQi6Xo1+/fvDy8hKujQMHDsDZ2RkfP37E8OHDtY560aR+/fqoXbs2AODu3bvo2LEjOnbsiCVLluDy5ctCJZs2ulzvp06dEhoZBg8ejBs3buDOnTu4f/8+Tp8+jRYtWgBIbkhMea1cu3ZNrcfvnj171O4VGaHvfYoos6k6jMXGxmLy5Mlo1KgRJk+ejIMHD+o0NZmu8XVkZCR8fX0xf/58+Pn5wdfXF2vXroVYLEZCQgKGDBmCZ8+ewcrKSph1wMfHB3///bfQwLFr165Uve81+fDhAwYMGID379+jbNmy2LVrV6oK26VLl+Lw4cOwsrLCr7/+KjxP/Pz8sGbNGjg4OMDHxwfjxo3TeVTyp0+fhLKOqmyYEZlRls8IfZ7jutyDZ8yYgaioKDRs2BBnz57FvXv34Ofnh/PnzwuVwEuWLEmz8lYb1dSEK1euFOosduzYgaJFiyI8PBw//fST2mg7VeOCr6+vxpgrKSlJWKtMVU+XHVxdXWFtbQ2FQqHWyz8lVV1IhQoVhMYTIOPXdFq/0cxw//59HD9+HP379xeev2fOnBHimWXLlmHWrFlo3rw5Ll68CD8/P/z999+oU6cOgOSpxVQNmkByeWDixIn4+PEjSpQogZ07dwplcD8/PyxYsACWlpZITEzEokWLNOZJl2M29LxMnToVV65cgYODAxYtWiTc01T7srKywrlz5zB79my1dJ8/fxYaGapWrYqjR48K9b4LFixAZGSkMJtGVmBDQx4UExMjVDR92Yvwu+++g6mpKWQymcb5h1etWoW4uDiULFkS27dvFxopTExM0KNHjzSnilm4cCGSkpKE7cqXLy/8MCpWrIj169ejVq1aiI2NxapVqzLpaDVTtWwD0GnYj2q49sCBA1G7dm2hN3CBAgWE4UuWlpZCT3Z9TZ8+HeXKlQOQPA9/WvP0f2ncuHEYPXq0UCgtU6YMtmzZgrJly0Iul+sUCGWl5cuXIzY2FkWKFMGePXtQr1494fxVrlwZ27dvR7Vq1aBQKITGqi8pFAqsWrUKPXr0EHqmVKxYEQsXLgSQ3HJuaGDTo0cPzJo1S7gmChcujFWrVgmV76tXrxa2NTU1FSrLNTU0GBoM2NvbY/PmzcKCxTKZDLdu3cLKlSvRr18/1KpVC/3798eWLVvSHcqfHnNzcyxevBgFChSASCQSruegoCD88ccfAJIbPubPny8EwyYmJujUqRO2bNkCIyMj+Pv7Y/fu3Wl+zty5c+Hh4QFjY2OsWrVK45yrWXlPmD9/Ptq0aSP8+82bN9i1axfGjRuHxo0bC0N9DZ06QzV0smLFili8eLFab6HixYtjwYIFQsBy584dgz5DX1l9nyLatm2b0Cta9Ve7dm24uLhg8uTJiIuLw4wZM1L18tWkTp06sLe3R1JSEi5cuJDq/XPnzkEmk6F169bCwoW5Qcre2PrED6NHj1brLe3g4IAlS5agePHisLGxwYMHDwzKz6JFi4R7dbVq1fQaHbVgwQL07dtX6MFUrVo1/Pnnn7Czs0NsbCy2bNliUJ4yy6JFiyCXy1GlShX8+eefqFq1KoDk3vJ16tTB7t27Ubx4ccTFxWHJkiUa9yESibBt2za0bt1aOM7atWsLi2RHRkYavD6PPvFX4cKFhZ6iX067BSRfS6oKCn3ih4oVK6qNEkhISMCVK1ewePFi9OjRA3Xq1MGQIUOwZ8+edCvJ01O0aFHMnDkT5ubmEIvFQoX8gwcPhEaSSZMmYcKECUJMZWFhgQEDBgjlA29vb62VFkByHDV+/HhcuXIFlpaW2Lp1q/A5KjKZTIj/xo8fj5kzZwo9HUUiEWrWrInt27ejVKlSCA4O1ns9Nnd3d2GucgB4+vQptm7dihEjRqB+/fpCw4Oho6x27doFIHl01NSpU4VzJRKJUK5cOaxcuVK4prI7fsiq+xRRenr06IFJkyYJI4fDw8Nx/PhxTJ8+HW3atEHDhg0xadIknDlzJtW0Yvpq27YtevToIYySd3JyAgDs3bsX/v7+kEgk2Lx5Mzp37iw8NwoXLoy5c+cK08pt3rwZ79+/1/oZQUFBGDhwIAIDA1GhQgXs2rULDg4Oatu8evVKWEdh06ZNGDRokDCazMTEBG5ubti6dSuMjY1x8+ZNYZRCelJ2vtPUE11fmVGWz4jMfI6HhoYK5aApU6agTJkywnulSpXCmjVrYG5uDmtrazx8+FDvvIrFYmzYsEEYkSMSidCgQQNs3boVpqamCAoKUlsP1dXVFTY2Nlo7MapGOkql0nTXL9Hk9OnTqeJ2bX8pO9+ampoKn3fixIlU+1UoFEKdR5cuXYTXM+ua1vYbzQxKpRLt2rXD9OnThedv2bJl1Ro7K1WqBHd3d6HTlIODg3C9JSUlqU2vdfPmTWFkx4oVK1CvXj2hPkMqlaJ79+4YOnQogORGO23TOupyzPqel2vXruHChQswMzPD7t270bVrV2EEpVQqRY8ePYS6riNHjqjVEWzcuBHR0dGwt7fH9u3bhdjAxMQE3bt3x9KlS9P87IxiQ0MedObMGcTGxsLExCTVNEfW1tZwdXUFABw8eFBt/rTExEShMiDlQkwptWrVCjVr1kz1+ps3b4QHQO/evTXmSywWC+9duXIF8fHx+h+cjlIOxUyvZzbw35BmLy8vjQtX/vnnn7h9+zYmTpyod15MTExS9dTSVYECBTT2hDY1NRVa8q9evZpjCzpFR0cLBechQ4ZoHB5nYmIiVEq9fPlSYyGmePHiGqfycnJyEiqgQkJC9M6fRCJRmxpJRSwW48cffwSQ3GsxZU9JVc+Dt2/fplrHQRUMWFhYqFVy66JatWo4ceIEJk+erDbKCEh+oHl7e2Pp0qVo3bo1NmzYYPBc+9WqVdM4JYJqLnRjY2ON5wSAMM8koLmhRWXhwoXYu3cvjI2NsWbNGuGeklJW3xNMTU2xevVq/PHHH2jVqlWqqQVev36N3bt3o1+/fhg2bJjevVZGjx6NDRs2YMGCBRp7EojFYlSoUAGAbveYzJCV9ykiIDn4/vz5s9pfVFSUcD+SyWQ4cOCATgs0isVi4T6paZSNqgDz5UionJZy+jR94odTp06luoeJxWKcPXsWt27d0nkkY0rFixc3eBh9uXLl0LFjx1Sv29nZCfPXnjlzJsfWdXnx4oXw7B09erTGxqYCBQoIC/JevXpVY8/1WrVqaTxHKXt5GhI/GBJ/qeIHb2/vVM+c48ePIykpCSVKlFCr5NZF06ZNcfr0aYwaNSrVSMrY2FhcvXoVc+fORevWreHh4aHXvlNq0KCBxqlMVA0HBQsW1Dqfs6urq1A+0BY/qNZ08vLygpWVFbZt26Zx1Ky3t7ewpoSmKVSA5E4VqsoPbSNItLG1tcXOnTuxYsUKNGzYUO03r1QqhYaHzp07Y/LkyRpHZKVl9uzZcHd317peh7m5ubBmVHbHD1lxnyLS1fDhw3H06FH07Nkz1RRrISEhOHnyJMaPH49OnTplaI2dJk2aaHxdFXe0bNlS60iAsWPHwszMTK1z2Zc+f/6MgQMH4s2bN3B0dMTOnTs1Tonr6ekJhUKBihUrap3itWLFikJPal3vZSlHsmV0atbMKstnRGY+x1UN5UDys+jLUX+Wlpbw9vbG9evX8e233+qd18aNG6dqHAeSY67WrVsDUI95U9bHfbl2KPDfSMc2bdporHtLT0JCQqq4Xdvfl+dC9Qx9+PBhqrUhVFMqSSQStVgys65pbb/RzKJpytaU0yR27NgxVfle1SkYgNqIhqpVq2Lnzp1YuXJlqumtVVSzcADan+u6HLO+50W13luDBg20TnPUqFEj4b2U34fq/3v16qWx7sjV1VXtuDIb12jIg1TDCr/99luNF0337t1x8uRJfPz4EZcvXxZuso8ePRLmUU+rYrxBgwa4e/eu2mspW5mHDh2qdV5e1Q0uMTERb9++zbKLVzXPGACdbtrdunXD3bt34e3tjWbNmqF+/fpo1KgRGjRogHLlymWot2Xx4sUNTu/i4qI1rermrlAo8ODBA61rbmSlBw8eCN+ptvmTgeTrycjICDKZDPfu3Ut1k055Y09JJBIJ6yrou0ixar9f9i5RcXFxgVgshkKhwL1794SHT9WqVVG5cmU8fvwYnp6eag9RVTDQtm1bgwI7CwsLDB06FEOHDkVQUBBu3boFX19f3Lp1C69fvwaQvDjiqlWrEBwcjJkzZ+r9GSl7bqSkmuKhUqVKaiN+vtSwYUOcOnUK/v7+iI6OTjW9w/r164Xfe8WKFdG8eXON+8mue0KzZs3QrFkzxMfH486dO8IaG3fv3hWumb///hv9+/fH/v37dV4fpUyZMqnOZUhICN6+fQt/f3/cu3cPPj4+AGDQIm6GyMr7FBGQXOH75aKC8fHxiIiIwL1797BhwwY8fPgQo0aNwsqVK4VClTbt2rXDrl27cPPmTYSHhwsF2KCgIPj6+sLe3l7vStesZkj8sHHjRpw+fRrXrl1Dw4YNhd/lN998k6Hfpbb7uS7SiglUheTw8HC8e/dOqPTMTqopWkQikTDCUJOUc93ev39fmHZGRVv8kHJtDUN6xxoSf7Vo0QIFCxZESEgIjh07hhEjRghpVIXBrl27GrSGjp2dHcaNG4dx48YJCwP6+vrC29tb6HUbEREhTBlhyHR96cUPderUSXPdroYNG+Lu3btap/ScMWOGEBvUrVsXNWrU0LhdyvghrYZI1VQa79+/17ouhjYikQjt27dH+/btER0dDR8fH2GqgQcPHgjP9ePHj+P169fYuXMnzM3Nddp3pUqV1DqUKJVKfPr0Ce/evcPz58/x77//CjFfZvcM1iYr71NE+qhQoQLmzZuHOXPm4NGjR8K0K76+vkKjnr+/P4YMGaJxxJMuNN3LZDKZ0IM9reejtbU1nJyc4Ovrq3HR4ISEBAwaNEiY7qlr165ay1Wq+pJXr16lua6VKu7QZbpnAGplGX0bQr+UWWX5jMjM57i5uTnatWuHkydPYvv27Th58iQaN26MBg0aoGHDhrC3t8/Q/S692OrEiRN48uQJEhMThc/p3r07du3ahdevX+POnTtCA7uhIx1T6tKlCxYvXmxQWmdnZ5QpUwavXr3CyZMn1ToiqjoMNG7cWG0mjsy6pjMS3+pCU31CyjoNTdO/pnzGpyzb29jYpKobjYuLQ0BAAF69eoXHjx+rrY+grV5Al2PW97yovo/r16+n+X2o7hOqqao/fvwozKKR1jTp9erVE0ZzZDY2NOQxL1++FAJ01YJGadm7d6/Q0PDp0yfh9bSm9ilSpEiq11LOiZ6yBTAtGX0wpiXldAe6VCz27NkTYWFhWLduHWJjY3Hp0iVhqFexYsXQqlUr9O3b16CehbrOw6uJtkryL98zpLdeZkh5ntMaumliYgJbW1sEBwdrnIoircKhqrXZkF6XaZ0/MzMzWFlZISIiIlWeunfvjnnz5uHs2bOYPn06TE1NMyUYSKlw4cLC3MAAEBgYCA8PD+zYsQPx8fHYs2cPOnfurHcgp+16Ux1jekNsU74fFhaWan9+fn5CoPnw4UPs3LlTYw/H7L4nmJmZoWHDhkKQHBcXBy8vL6xbtw4vX77Eu3fvsG7dOmGOeV1ERkZi7969+Ouvv/Ds2bNUPRQyay5JXWXlfYpIGzMzM5iZmcHV1RWNGjVC9+7d4e/vj/nz56NZs2apFhZLydnZGUWLFsWHDx9w4cIFYfHcM2fOQKFQoE2bNjotGJyd9I0fxowZg5iYGOzduxcRERE4c+aM0JutTJkyaN26Nfr162fQ9AZZFT+kjPFCQkJypKFBdZ6trKzSjAFSnjd94oeU92dDKnMNib+MjY3RqVMnbNu2Ta2h4fHjx3jy5AnEYrHaFASGKlmyJEqWLCn8nvz9/bFnzx7s378fcrkcK1euRIcOHfS+5rSdS33jh4iICCgUilTPSD8/PxgbGyMpKQleXl64cOGCxhGRKeMHXddfiIiIMKg3KJD8O2vRooXQiBUZGYkzZ85g/fr1+PjxI+7du4c9e/YIUyPoIigoCHv27MHVq1fh7++vcRQBYFhsa4isvE8RGUIsFsPJyQlOTk4YPHgw5HI5bt++jU2bNuHq1auIj4/HnDlzcPz4cb0bZzU9O1X3JUD3e5mmZ05UVBSioqKEe9maNWvQunVrjQsyq+5lSUlJOt3LdC0HpXyG67NGjSaZVZbPiMx+js+dOxcAcPLkSQQHB+Po0aNCY3/lypXh5uaGvn37auyQmx5dYiu5XI7w8HBh20qVKqFq1ap4+PAhPD09hYpd1UjH0qVLG9Sglhm6dOmCFStWqDU0xMfHC73dv4xZMuuazkh8q4v04oG0Ok1oc+HCBRw/fhz37t1DUFCQ2vM75bWq7bmuyzHre15U30dCQoJO65GppthMGWcVLFhQ6/ZZGRNw6qQ8JuUiSbq4fv063rx5A0C9pTitwFfTeylfu3//Pp4+fZrun2pIVVZIOaRPNedven788UdcuXIF8+fPh6urq/Dwef/+PXbt2oXvvvtO45C39GRVZWTKB66+N8vM6oGtTwFJlV9NwaIhvfsygypPX54/1VomkZGR8PLyAvBfMFCmTJl0F8hOKS4uDv7+/kLvd22KFy+OCRMmYNOmTcJrFy9e1PlzVLRdb7oGaCm30/S9mJiYYN26dUIvw5UrVwr3kJSy6p6gVCrx7t073L17N81Fn83NzdGhQwccOnRImOJI0zzx2jx58gTt2rXDypUr4efnB6VSierVq6NLly747bffcPToUWGaqcyW1neVVfcpIl1IpVJhao2goKB057cViUTCHLAph5KrpiP4cnrH3EAVPxgbG6sNs9bGyMgI06dPx+XLlzFt2jQ0adJEGPH26tUrbNq0CW3atMHNmzf1zktG4oe0nqsp78/6xA+ZOXpL1/ghvWdSTsQPacVfqumTXr58KfTsV42GbNiwYboLZKcUHR2NZ8+epbtAb7ly5TBz5kzMnz8fQHI8/9dff+n8OSpZHT8UKFAAe/fuFUaEzJkzR+O6Eqr92Nvb6xQ7PH36VGMl35dkMpkwLaam6QdVrK2t0atXLxw+fFhobNQnHrtx4wbatm2LTZs24eHDhzA1NYWLi4uwZtiZM2fUFtbMTNp+o1l5nyJKz+fPn/Hw4UP4+/tr3UYikaBu3brYunWrMO3Js2fPhNE/+tB0/9GnojqtMisAVKlSBUePHkWBAgUQExODGTNmpLmf9u3b63QfU5U502Nubi6MmtJniim5XI65c+fi5MmTQiVxZpXl0/vctGT2c9zCwgLLly/HuXPnMGnSJNStW1cYXfD48WOsWrUKbdq0MaintqGxlSo2OHv2rDDiXtX4kZ2LQH+pc+fOEIvFePPmjRBreHl5ISYmBgUKFECrVq3Uts+sazqrYzdDGhK0kclkGDVqFEaPHo3z588jODgYpUqVQqtWrTBy5Ehs2rRJbc1PbXQ5Zn3Pi+r7GD58uE7fh2p9DV1l5nn8Ehsa8hCZTCYMc/r+++9x7949rX8XLlyAWCyGUqkUFqxJ2XMv5eiGL2lqvUw5z6K+c6FnBdX80cWLF9c6X5kmtra26NGjB9zd3XHz5k0cPXoUY8eORYECBSCTyTB37txsm08VSHukQspFgzX1ukwroEo5NURGpBwqmnJhqi/Fx8cLhcm0pu3JbGmdv5iYGOE8fHn+ChQoIPSyO3v2LID/Ksn0DQYuXLiAdu3a4fvvv0/zd6VSv359oXIro71UUlK1Vqf1PX35vqbvatasWWjevDmmTZsGGxsbxMfHY/r06akC1ay6J6gWeOrVq5dQeZMWCwsLIbgLDQ3VOaD++eefERwcjKJFiwprHxw8eBCLFy/GwIEDUaVKFYPuBSkDCG15Se/3mdvuU/R1Sdn7Pb37CZA8fRKQPN9rWFgY3r17h3v37uGbb77ROnVKTpHL5bh27RqA5NEYX679kpbChQtjwIAB2LJlC3x8fLB//34MHToUpqamiI2N1VoRkVXSen6kjB80jWDVFj9kVuwA/Pd8iYqKSvN+lfL5kVavq8xmaPxVrlw5YV5p1RoYqjhC3/hB1Xg8cOBAnRp5unbtCisrKwA5Gz/Y2tpqLCyvXr0a1atXx7x582BsbIzg4GBh0eeUVPFDWFhYpq7nFhISAldXV/Tt21endWYKFSokNJTqej7j4uIwceJExMTEwNHREYcOHYK3tzf27duH+fPnC6MODfktpTyn2n6j6T37c9t9ir4OkydPRteuXTX+3jVRLcgMZN6ofRsbG2EEZcp7uCaqe5mmcpClpSV27NiBChUqCOuwXL16VWNnT9W9LCvqRlTl1EePHqV7PCre3t7Ys2cPJk2aJCwAnFll+eyod9BX6dKlMXz4cOzatQu+vr7YsWMH+vTpA7FYjNDQUCxYsEDvfeoSW5mYmKhN+wQkd6wxMzNDREQErl27hpcvX+LJkyeQSCTo1KmT3vnILIULFxZmA1B1AlJdG+3atUs1zVRWXtO51Y4dO4QGk0mTJsHb2xvnzp3D+vXrMX78eDRv3jzV+hfZxdDvI+XInLTuH1k5awobGvKQv/76S7j5dezYEaamplr/SpYsKcw1duTIESQkJMDJyUlotfpyEdyUNLWcp+yZo5peRpMdO3bA1dUVgwcPFtaDyGz37t3DnTt3AGheCOZLoaGh2LNnD+bMmaNWESwWi1GlShX89NNPWLRoEYDkAvGXi+VkpQcPHmitjFT1OjI2NlYbtaF6IGh7qL99+9ag+Yo1cXJyEnrAXb9+Xet2t27dEgrJXy6EnJVevHihtdB169Yt4dxqWuBcVTn9zz//4N27d/j3339hZGSEzp0765UHVW96AOlOZaaiGvpWvHhxvT4rLaopmJ4+fZrmkFfV91iqVCmN61CoHkx2dnb45ZdfACQHrnv37lXbLqvuCWKxWJgaSNfzGRcXByB5eiFdegq8ePFCmFNywoQJqF+/vsaenqqeMPr0BkoZsGn7jarmT0wpN9+n6OuSMiDVpeG4WrVqKFmyJGQyGS5evCg02ua2RaAB4Ny5c8J897rED4GBgdixYwdmzZqlto6QkZERnJ2dMXnyZPz8888Akp+9mT3dQFq0zZMP/Bc/FClSRG1YdHrxQ1q9UfWleiYplUrcuHFD63YpYwtdRphkFkPiLxVV/HDhwgX8+++/+PTpE2xsbPReeFIVP8TFxQnT5KVFJpMJ8V1WxA++vr5pxo+q70pbnKeKH8qVKydMK3Xs2LFUoy9U8YNMJkvz2li4cCHatGmDsWPH6vQcdnBwECp/tC3y+iVVQ4eu59Pb21v4nc+cOVPjyIXY2Fi8e/cOQPbED7n5PkVfh/LlywNI/n2kNRpZRRW3A5l3LzM2NhbuTWmVWcPDw4XRmpruZWZmZsJo4u7duwtrDC1evDhVhZ3q9//gwQOt08gqlUr07t0bnTp1woYNG3Q+nu+++w4SiQQKhQLLly/XKc0ff/whHIMqBstoWT476x108fz5c2zevDnVugWmpqZo0KABZs+ejQEDBgBIO07SRpfYqlq1aqmmBbWyshJGwp8/f14YJdekSZMcn7JONT3SxYsXER4ejqtXrwLQHAdn5TWdW6k6izRo0ADDhw/XOL1RytEx2TUlIvDf93Hz5k2tjR3x8fFwc3ND165dcfDgQQDJDUyqkaC3bt3Sun9VnWpWYENDHqJqSS9RooROvQRVFabh4eE4ffo0LCwshELQ9u3bNc7zdefOHY0XY6VKlYRFV/744w+NN56QkBBs2bIFb9++hYmJiUGL6aYnMjJSqPy0s7PDwIEDdUq3YMEC7N27VxgR8qWUNwzVYpbAf8PMs2ox2I8fP2rsIREVFYXt27cDANzc3NR6XaoeVg8ePND4HR44cEDr56WsTNXlmKysrNCsWTMAwLZt2zQOgU9MTMSaNWsAAEWLFtVYqZ9VkpKSsHnzZo2vr1+/HkByr1VN81PXr18fJUqUQGxsLGbPng2lUokmTZqkuX6JJpUrVxZ6N7q7u2tcWCylM2fO4PXr15BIJKkq4jJyvbVu3VptPlFN7t27JwQ+bdq0SXefXbp0EXpBLFu2DAEBAcJ7WXlP6Nu3L4Dk6Y1WrlyZ5rahoaHw8PAAAGE9DBVt13vKxiltwcKePXuEnj9fPthTBpdf9vBJGUxqatANDg7G5cuXNX6mofcposyiVCqFZ5KlpaVwb0uPqlfwhQsXhIC9ffv2WZNJA71//16YeqZ8+fI6TesUERGBRYsWYf/+/VqnVlH9Lo2MjNQKJ1kdP/j5+WmspH3//r1Q0Piy4Vx1f9JWsNAlftD1eCpWrCg8I9atW6dWAaoSGRmJLVu2AEh+VmtaIyyrGBJ/qbRt2xZSqRTv3r3D2rVrASRXCum7AGWzZs2ESrYFCxYIldPaqNZ4srS0RMuWLdXey8j1pvqthoSEYMeOHRq3OX/+vBDf6BI/DB8+XKh8nDlzJqKiooT3GjduLDRirl69WmMs++rVKxw4cACvXr2Cvb29zlMS9OnTBwBw+fLlNK9nILmCTNWhQVv88OX51GU04dq1a4XrPTPjh6dPn2qcZisj9ymizNC7d2+IxWIkJiZiypQpaY5UUigUQtmtTp06atPNpfX70IWqXHX58mW1RedTcnd3R2JiIkQiEVq3bp3uPufOnQtTU1NERUVh5syZau+p7huJiYlayyvHjh2Dn58fnjx5otcaa6VKlRLKQ8ePH8e2bdvS3N7d3V1oSBg0aJBQns1oWT4j9Q4Zoe0e/Pr1ayxbtgzbt2/X2iigut8ZskbD+fPnNTbo3r9/X+gQoK1ToqoTwqVLlwwe6ZgVXF1dYW1tjcDAQLi7uyMpKQnlypXTuE5kVl7TuZXqua6tTuD9+/fYt2+f8O/sHN2g+j6Cg4O13gO2bt2K169f4+HDh6hcubLwuiq2O3jwoMbRTD4+PnpNzaYvNjTkEZ8+fRJ6DetaeG/durVQsaf6cYwfPx6mpqZ4+fIlhgwZIrTOyWQynD59GiNHjtT6I/vtt98gFosRFBSEfv364ebNm1AqlVAqlfDz88PgwYMRHBwMU1NTjBo1KqOHrCYoKAiHDx9G165d4e/vD4lEgiVLlghDyNNiZ2cnVIKsXr0aO3fuFFrlZTIZ/v77b8ybNw8AUKtWLbVV6lUPqIiICIPmkNTFvHnzsHfvXqFQ8ujRIwwcOBCBgYGwsLDAuHHj1LZXBQvh4eGYPHmyMOQpNDQUy5Ytw9atW7XOt5bygZvenMAqEydOhJmZGT5+/Ijvv/8e3t7ewjXy5MkTDB48GA8ePIBIJMLcuXOzfeHPTZs2wd3dXXhIvHnzBiNGjMD9+/dhZGQkDHv9kkgkElryVS37qgBBX7Nnz4a1tTWioqLQp08fLFy4EA8fPlQLjl68eIGlS5di8uTJAIBhw4almvZL9f08f/5crbePLhwcHDBs2DAAyb/3GTNmCD1vEhMTcfz4cQwdOhQymUwYaqqLuXPnwtzcHLGxsZg+fbrae1l1T+jatSsaN24MANi4cSO+//57XLx4Ua2AHxYWBk9PT/Ts2RPv379H+fLl8cMPP6jtR9v1XqFCBeHeuGbNGty5c0e4pt+9e4eFCxcK9wQAqb6LlMNlvwxyixYtKlSuubu74+LFi8I5uXHjBr7//nuNBbCM3KeIMsOrV68wbtw4oXCumm5DF6rpk65fv46HDx+qVTLntHfv3mHnzp3o3r07QkJCIJVKsWzZMhgZGaWbtkqVKkJjy6xZs+Dp6Sn8fhMTE3H69GmhcP7lEHTV/ScgICDLehCPGzcOp0+fFp41t27dwsCBAxEdHY0iRYqkuieq4ofnz59j7ty5wj3m/fv3+PXXX3HmzJl04wd94qFffvkFYrEYjx49wqBBg4RepEqlEr6+vujXrx/ev38PU1NTzJ49W9/DzzB94y8VCwsL4ZpXxQ+GVCYYGxsL0wx9+PABHTt2xNq1a+Hv7y88kxQKBR48eIDp06dj2bJlAICpU6emmrZB9e9Hjx7pXQh2cnISpnZYvnw5Vq5cKXQeiImJwa5du4Qe8bVq1dLpWE1MTDBv3jyIRCIEBQUJI/KA5N62qljo8ePHGDhwoLB2ilwuxz///IMhQ4YgPj4etra2qa7jtAwbNgyVK1eGUqnEzJkzMWrUKFy9elWtgiwoKAi7d+9Gnz59EBMTg7p166aa2kLb9V6tWjWhAmz+/PlqvRyfPXuGKVOmqFUGpBU/fBmHV69eXehEMH/+fKECQCaT4cKFCxgyZIjGBpeM3KeIMkO5cuXw008/AUiOA9q1a4cDBw6ojdBNSEjA1atXMXDgQFy+fBlSqRS//fab2n7Siq910bt3b5QtWxZyuRzDhw+Hp6encH//9OkTZs2ahV27dgFIvleUK1cu3X2WKlUKo0ePBpA8u4Snp6fwnpOTk9Bb/MCBA5g2bZpQoRcfH4+9e/cKjRM1a9ZMNR9+eiZPnoxatWpBqVTi999/x48//ohr164J9xWZTIbbt29jxIgRQqN3/fr1MWbMGLX9ZKQsn5F6h4zQdg9u3ry50EA/duxYXLp0SRhRERcXhz179gij8PWdpQBIvmcOHTpUmGZToVDg4sWLGD58OGQyGapUqaJ1v3Xr1kWpUqWEUTN2dnZo0aKF3nnIbKampkIZM71zk9XXdG6kali7efMmtm7dKsQLsbGxQl1Dyga6zJzyMT2urq7CLDUrVqzAihUrhPgsKioK69atE377bm5ucHJyEtL++OOPKFy4MCIjIzFgwAChM7lcLsfZs2eFe3ZWSb+URbmCp6enUHDQdXFFqVSKNm3a4MiRI/j333/x6NEjVKlSBcuXL8eECRPg4+OD7777DlZWVkhISEBiYiIKFCiAOnXqwMfHJ1Ug2qBBAyxevBjTp0+Hv78/Bg4cKPT0Uv3gjI2NsXz5co0tpLoYM2aM2sNKLpcjJiZGrSecra0tfv/9dzRp0kTn/U6bNg1Pnz7F8+fPsWDBAixYsABWVlaIjY0VCuglSpQQCnEqNWvWhEgkgkKhQJs2bWBhYYHNmzfrtVhwWlq2bIkXL15gzpw5WLBgAczNzYVeX5aWlnB3d0/VG9/V1RWNGzfG1atXce7cOZw7dw5WVlZCunbt2kGhUAgt6SlVrVoVpqamSEhIwKBBg2BlZYXZs2enOcVFxYoVsXbtWkyYMAHPnz9H//79YW5uDrFYLFT8mpubY9asWWjatGmmnBddOTs7Q6FQYO3atVi3bh0sLS2FBQCNjY2xePHiNL+rrl27Yu3atVAoFChYsKAQTOmrUqVK2LZtG3777Tc8e/YMf/75J/7880+IxWJYW1sjJiZGCIKMjY3x008/YezYsan24+LignPnzuHly5eoU6cOLCwscP36dZ0bb8aMGYOwsDDs27cPHh4e8PDwQIECBRAbGyt8fqVKlbBmzRqde7SVKFECo0ePxtKlS3Hjxg0cOHAAvXr1ApB19wRjY2O4u7tj7ty5OHr0KHx8fITFti0tLaFQKNSmYapbty6WLl2aquExret96tSpmDVrFgIDA9GnTx+YmppCLBYLwbu1tTUaNmyIs2fP4sOHD1AoFELlgoWFBRwdHfH06VOsW7cOO3bswHfffYc5c+YASG6AGT58OGJjY/HTTz/B1NQUSqUSiYmJsLS0xJw5c1IVrgDD71NEutq2bZuwbpOKUqlEfHy8WkNe165ddW6MBJLvK2XLlhWm9MqJaZO6d++udq+UyWRq914geYqGVatWqfX4Sc/vv/+O/v37IygoCFOnThUqeaOiooSCupOTU6q5z11cXITeg02aNIGJiQnOnj2baUPoO3fujCtXrmDChAkwMTGBkZGRcF90cHDAH3/8kWrkU+/evXH8+HE8fvwYe/bswb59+yCVSoUGh8GDB+P27dsaOyIYEg81atQICxYswMyZM3H79m107doVUqkUSqVSuNfa2NhgyZIl2TrtImBY/JVS9+7dhRERVapU0euaSqlRo0bYsGEDZs6ciffv38Pd3R3u7u5Cz/Po6Ggh/pdKpZg8eTJ69uyZaj8uLi54+PAhbt68iVq1aqFkyZLCPMy6UK39c/HiRWzcuBF//PGHcJ2rnj/16tXDypUrdWqkU+WpT58+2Lt3Lw4fPoy2bdsKsXvXrl0REhKCFStWwM/PD926dYNUKkVSUpLwm7WwsMDGjRvxzTff6HwcVlZWQjx2+fJleHl5CXMvW1tbIykpSa3yv3Xr1li4cGGqY0rreh82bBg2bdqEx48f47vvvoNUKoVcLhcqJwoXLoxKlSrhypUrCAwMVNtv6dKlYWdnh9DQUEybNg2LFi3Cjz/+iOHDh8PExAS//fYbpk6diuDgYPTr10/tnDg4OGDq1KnCyKyUDL1PEWWW0aNHQyqVYu3atQgMDBQqI83MzGBqaorIyEjhWvzmm2/w+++/o0qVKmr7SC++To9UKsUff/yB4cOH4+XLl5g6dSqmT58OqVSq9vn9+/fH+PHjdT62wYMH49SpU3jy5AkWLlyIRo0aCSMGZs+ejdjYWJw7dw6HDh3CoUOHYG1tjejoaGFURrly5bBhwwad750qpqam2LJlC+bNm4cjR47gr7/+Eqai+7J8ByQ/l2bOnJnqczJSls9IvUNGpHUPXrFiBYYOHYoPHz5g5MiREIvFanUAQHIDiSEdX3v37g1PT08MHjw4VZm2fPnyWL9+fZqNtd26dcOKFSsAJPdGz2gjzOnTp9OcovhL06ZNEzpCpNSlSxccOHAAcrk83XUjsvKazo1Gjx6Nf/75B8HBwViyZAmWLVuW6nrq2rUrTpw4gaSkJAQGBhoc8+lLLBZj9erVGDNmDHx8fLBp0yb88ccfsLKyUstf7dq1sWTJErW0VlZWwv3wzZs3GDBggFq8UqBAAXTt2lWnNTENynuW7JUy3eHDhwEkF+ZVQ5F1kbK1UtWC6erqimPHjqFz584oUqQI4uPjUaBAAXTv3h3Hjh0TWvctLCxS7a9Tp044c+YMBgwYgPLly0MsFkMul6NEiRLo0aMHjh07JixeZIiIiAh8/vxZ+AsLC4NYLEaxYsXQrFkzzJw5ExcvXtS7QtjOzg6HDh3C1KlT4eLiIjycrays4OzsjKlTp+LkyZPCXGYqTk5OWLhwIcqUKQMjIyMYGxvrvCCTrvk6ePAgvv/+exQsWBDx8fEoXrw4+vbti1OnTqFBgwap0ojFYmzatAkzZ85E9erVIZVKoVAo4OzsjMWLF2PlypUa55sHkisf1qxZg8qVKwsVq7osgNe0aVOcOXMGQ4cOFXqpKpVKVKhQAUOHDsWJEyeE1u/sZGZmhp07d2LEiBEoXrw44uLi4ODggM6dO+PYsWPpVnYVKVJEeFB06tQpQ8FAtWrV4OnpiZUrV6Jr164oV64cChQogJiYGFhaWqJq1aoYMWIETp48qbGRAQD69euHIUOGCPMcm5qa6nW9icVizJ49G3/++SfatGkDBwcHxMbGwtraGnXr1sW8efNw8OBBvRZQB4AffvhBKAwsWbJEbUGirLonmJubY9GiRTh69ChGjBgBZ2dnFC5cWAioS5UqhY4dO2Ljxo3YtWuXxik30rree/fujS1btqBx48awsbGBTCaDkZGR2vek6nEZEREhzMupsnr1ajRu3BgWFhZQKBRqPR0aNGgAT09PdOnSBQ4ODkJDVs+ePXHixAmt04sZep8i0lVsbKzaM1b1nBWJRKhQoQK6du2KnTt3YtGiRXqPTktZsNFUyMlqYWFhascVEREBY2NjlCxZEq6urli0aBHOnj2rd0eIUqVK4cSJExg9ejScnJxgaWmJ2NhY2NraokGDBpg7dy4OHDiQqoe5q6srfv75ZxQvXhwikQgWFhbC+hCZoVSpUjh69Cg6d+4MKysrYbTasGHDcPLkSY3rHUilUuzbtw8TJ06Eo6MjTExMIBaL0aBBA2zYsAFTp07V+nmGxkNdu3bFqVOn0LdvX5QuXRoKhQJGRkaoUqUKxo4di1OnThncyJ8RhsRfKTk7OwuL9GV0aoQmTZrg7NmzWLhwIdq1a4fSpUvD0tISMTExsLGxgbOzMyZMmICzZ88KU2l8acKECejRowdsbW0hl8sRGxurcboqbczMzODu7o5169ahRYsWsLW1RUxMDAoWLIimTZti5cqV2LFjh94Ldk+aNEl4Ps+cOVNtnu9hw4bB09MTPXr0QKlSpaBQKCASiVC2bFkMHDgQp06dMmg6Tjs7O2zcuBF79uzBoEGDULVqVdjb2yM+Ph4SiQRly5ZFr169sHv3bqxdu1bj6Oi0rveJEydi+fLlqF27NiwtLZGQkAAzMzPUrFkTkyZNwsmTJzFkyBAAydMdpeyNa2Jigo0bN8LZ2Rnm5uZQKpVqI546deqEAwcOwM3NDXZ2dkhKShJGJx0/flxr/GbofYooMw0ePBjnzp3DlClT0LhxYxQvXhwSiQRxcXEoUqQImjZtinnz5uHUqVOoXbu2xn2kFV/rokSJEjh69Ch+++03uLi4wMzMDHFxcfjmm2/QuXNn7Nu3D9OnT9crxjEyMsK8efMgkUgQERGhNgLPzMwMa9aswcaNG+Hq6goHBwfExcXBzMwM1atXx+TJk3H48GGd1rzSRCqVYtGiRfD09MTAgQNRtWpVodLX2NgYFSpUQN++fXHkyBEsWLBA60hUQ8vyGal3yIi07sE1a9bEyZMnMXjwYFSsWBFmZmaIjY2Fvb09WrRogZUrV+KPP/4waPSWi4sLDh06BFdXV6GhoWLFipg4cSIOHz6sNtWXJilHMGTGtEkJCQmp4va0/rT1tnd2dhamOWrYsGGanV6y+prObYoXL47Dhw+jd+/ewj0rISEB33zzDdq3by+Ui1QjBzO7US09tra2+PPPP7F06VI0adIEdnZ2Qv1AnTp1MGfOHPz5558ap/qsVKkSPD09MXLkSJQvXx4KhQKWlpbo0KEDDh8+jDJlymRZvkXK7FzNgnKcUqlMd57Tn376CRcvXsQPP/wgrIdAlB+FhISgWbNmSEpKwunTp3UaQktERERft0ePHqFLly4wNTXFP//8Y9Bc0ERERJR/7NixA4sWLUL16tWF9bKIvkYc0fCVcXNzg5ubm9r8gil9+vRJmJMus6YHIsqt9u7di6SkJNStW5eNDERERKSTnTt3AkgevcNGBiIioq9bYmKisC5qnz59cjg3RDkr70+qRXpxdnaGp6cnFi1aBHNzc7Ro0QImJiaQy+Xw9vbG/PnzERcXB0dHRzRv3jyns0uU6Y4fPw47OzvcuXMHGzZsAJA81JeIiIhIk/j4eJw7dw52dna4dOkSjh49CrFYjEGDBuV01oiIiCgHvHnzBk+fPoVEIsHOnTvx+vVrODg45MhaZUS5CadO+soEBQWhf//+ePPmDQBAJBIJi4WpFncpU6YMNmzYkKVzdhHllFatWiEgIED4t5ubG9asWZODOSIiIqLcTC6Xo3r16sLCzEByJ4W01rUgIiKi/MvHxwfff/+98G+RSIT169ejZcuWOZir3Of06dNYsGCBwekPHTqU7voYlLtwRMNXpnDhwjh27BiOHz+OkydP4t27d/j8+TPs7OxQqlQptG3bFt26dYNUKs3prBJlibp16yI4OBhWVlbo0KEDJk2alNNZIiIiolxMIpGgbt268PHxQaFChdCrVy+MGDEip7NFREREOaRUqVL45ptv8OnTJ5QpUwZjx45lI4MG8fHx+Pz5s8Hp5XJ5JuaGsgNHNBARERERERERERERkcG4GDQRERERERERERERERmMDQ1ERERERERERERERGQwNjQQEREREREREREREZHBuBh0HhIZGQe5XGFweltbC4SFxWRijkiF5zZr8LxmHZ7brJMd51YiEcPa2jxLP4Pyj4zGD7kd72cZx3OYOXgeM47nMOPSOoeMH0gf+T1+ICIi3egTP7ChIQ+RyxWQyQx70ItE/+2Dy39nLp7brMHzmnV4brMOzy3lRhmJH3I7/uYyjucwc/A8ZhzPYcbxHFJmys/xAxERZQ1OnURERERERERERERERAZjQwMRERERERERERERERmMDQ1ERERERERERERERGQwNjQQEREREREREREREZHB2NBAREREREREREREREQGY0MDEREREREREREREREZjA0NRERERERERERERERkMDY0EBERERERERERERGRwYxyOgOUPZRKJRQKBRQKBZTKnM5N/iISAXK5XOO5FYlEEIlEOZMxIiIiIqIsolQqoczEgkVaMTX9h+ULIiLKyzI7fiDdZFf8wIaGfEypVCIuLgbx8TFITIzHp09iKBSKnM5WvhQcrPncikRimJlZwNLSGhIJf25ERERElHd9Wb7IbNpialJnYmIGMzMLmJtbsNGBiIjyBLlchujoSMTHx0Cp5LM+J2RH/MCaz3xKqVQiMjIUiYnxkEqtYG1tBxMTI8hkbDXMCkZGYshkX94olZDJZIiJiURo6CcULFgEYjFnKyMiIiKivEdT+SI5ts28gqrmmJr+kzxKPSEhDjExEUhKSoC1tR0bG4iIKFdTKBQIDf0EIyNj2No6wMjICJkZP1B6si9+YENDPhUXl9zLyM6uCCQSCQBALBZDLGbgnhWSz23q101MJDA2LoTQ0E+IiYmElZVNtueNiIiIiCijNJUvMpu2mJr+IxZLYGRkDDMzC4SGfkRcXAykUsuczhYREZFWMTGREIslsLEpxMbxHJJd8QPDuHwqPj4GUqlVlhUCSHcikQhSqQUSEuJyOitERERERAZh+SJ3kUgkkEqtEB8fk9NZISIiSlNCQhykUk73lxtkdfzAEQ35kFKpRGJiPKyt7XI6K/R/xsZmkMlCoFQqv+obqz6Hrtr2yzRcM4iIiHITI6PU/XY49QvlNyxf5E6mpuaIigr/6ssYlPvx8tQfy72UXyiVSshkiTA2NsvprND/ZWX8wIaGfEi1ejvXA8g9xOLkH+7XXAgoaGsGsZGx/ukKWqn9WyFLQkhY5i8+SEREpC8jIzHM35yDMipYeE1kZY+4Um5sbKB8heWL3Cn5+1B+1WUMyv3sbEwgMTbN6WzkOfKkBISGJ+Z0NogyjDFE7pOV8QMbGvI1Bpu5x9f9XYhEgNjIGLFeK6CUJeiWBoDU3ASxcYlQdeYQGZlC2moiRKJ49vAgIqJcQRkVDEXkB+HfLEJR/vZ1x7S5D78Pyt1EIkBibIrAld9CkRCd09nJM8Smlig+4SJEokSWe4koC2Rd/MCGBiLKNkpZAqBjQwMAQA617RljERERERER5S2KhGgoE7meiK44JpKI8ip2uiIiIiIiIiIiIiIiIoOxoYGIiIiIiIiIiIiIiAzGhgbKVImJidi1azuSkpKy9XNHjx6Oxo1rY9asX7P1c4mIiIiIKGuxjEFERET6YvyQ/djQQJnm+fNn+P77Hti0aR0UCs4qSEREREREGcMyBhEREemL8UPO4GLQlGmeP3+K9+8DczobRERERESUT7CMQTnpwYMH2Lx5M3x9fREREQF7e3s0btwYgwcPRpkyZTSmuX//PjZs2IDbt28jNjYWxYoVQ5s2bTB8+HBYWFhoTKNUKrF//354eHjA398fJiYmqFSpEvr37w83Nzet+QsODsbatWtx5coVhISEwM7ODo0aNcLIkSNRsmTJTDkHRER5EeOHnMERDUREREREREREKXh5eaFXr144e/YsEhISUL58ecTExMDDwwOdO3fGpUuXUqW5ceMG+vTpAy8vL5iYmKBChQoIDAzExo0b0b17d4SHh2v8rGnTpmH27Nl4/PgxSpUqBTs7O/j4+GDs2LFYsmSJxjRBQUHo0aMHDhw4gOjoaFSsWBHx8fE4cuQIOnfujH///TczTwcREVG62NBARERERERERPR/79+/x+TJkyGTyTB48GBcv34dnp6euHbtGoYNG4b4+HhMmjQJoaGhQprQ0FCMGTMGSUlJmDJlCv7++28cOXIEXl5ecHJywsuXLzFr1qxUn+Xh4YHDhw/D3t4enp6eOHHiBM6fP4/169fD1NQUW7duxZUrV1KlGz9+PD58+IA2bdrgn3/+wZEjR/DPP/+gW7duiImJwbhx45CQkJCl54mIiCglTp1EWiUlJeHkyWO4dOkCXrx4jri4WFhZWaNCBUe0bPkt2rRpDyMjI3z48B49enRUS9uqVSMAwJo1G+HiUhtbt27C9u2b0bx5SwwbNgpLly7Eo0cPYWZmBien6li8eDnE4uR2r7CwUBw8uB/Xr19FYOA7KBQKODgURt269dGrVz8UK1Zcr+O4evUKpk+fCplMhkaNmmD+/CUwNjYW3pfJZDh9+gQuXDgLf/8XiIuLhY2NLapVq4EuXbrD2blWBs8kEREREREBaZcxXF1d4erajmUMynHHjx9HTEwMnJ2dMWXKFIhEIgCAsbExJk2ahCtXruDZs2c4ffo0vv/+ewDA7t27ERUVhRYtWmDIkCHCvgoXLox169bB1dUV586dg7+/P8qVKwcAkMvl2LRpEwBgxowZqFSpkpCuVatWGDduHJYsWYL169ejWbNmwns3b97EnTt3ULBgQSxevBjm5uYAAFNTU8ybNw8PHjzA06dPcfToUfTu3TtrTxYRUTZgHWXeiB/Y0EAaJSUlYcKEn3D37h0AgFgshoWFJcLDw+DtfQPe3jdw+vQJrFjhDrFYDDu7gkhIiEdMTAwAwM6uIACo/VgA4PPnzxgz5keEhoZAKrVAZGQErKwshR+wr683Zs36FREREQCSAyWJxAjv3r3Fu3dvceKEJ6ZOnQ43t3Y6HceNG9cwY8YvkMlkaNKkOebNWwwjo/8u+9DQEEydOgGPHz8CAIhEIlhaWuHz52BcunQBly5dQLduPTF+/GQhuCQiIiIiIv3pUsY4ceI4yxiU4woXLow2bdqgRYsWqb4jkUiE8uXL49mzZ3j//r3wuqenJwCgW7duqfZXpEgRNG/eHOfPn8eZM2cwevRoAICvry8CAgJgbW0NV1fXVOl69OiBZcuW4e7duwgMDETx4sXVPqtdu3ZCI4OKRCJBjx49MH/+fJw+fZoNDUSU57GOMu/ED2xoII2OHj2Iu3fvwNLSCtOnz0aDBo0hkUj+P+ejBzZsWIt79+7i0KH9+P77QTh+/BxOnz6BhQvnAAAOHjwOU1PTVPt98OAebGxssXHjdjg5VcOnT0FISkoCALx86Y9ff52EuLg4lC5dFhMnToGzcy2IRCI8f/4Uq1Ytw7//+mHBgtmws7NDnTr10zwGH59bmDZtCpKSktC8eSvMnr1A7Qcsk8nwyy+T8PjxI5QoURIjR45FvXr1YWpqhsjISJw86YktWzbi8GEP2NjY4ocfhmXiGSYiIiIi+rqwjMEyRl7RpUsXdOnSReN7crkcjx4lVwKVKlUKAPDp0ycEBiYvOurs7KwxnbOzM86fPw9fX1/htbt37wIAatSoIVRspWRtbS00avj6+goNDX5+fgAAFxcXrZ+l2k4mk6ldo0REeQ3jh7wTP3CNBtLI19cbANC2bQc0btwMEokEAGBmZoa+fQfA1bUNzM3N8eqVv977Hjp0BJycqgEAHBwKo3jxbwAAmza5Iy4uDg4OhbF+/Wa4uNQWWugqVHDEqlXrUblyFSgUCqxatQwKhULrZ/j53cYvv0xEYmICWrVqneoHDACnT5/Ao0cPYGdXEJs2bUfTps1hamoGIDmg69t3AMaPnwwA2LVrB0JDQ/Q+ViIiIiIiSpZeGaN1a5YxKHcLDAzE5MmT8fr1axQrVgwdOnQAALx9+xYAIJVKUahQIY1pixUrprYtALx58wYAULJkSa2f+WU6hUKBgIAAAECJEiXSTJOYmIiPHz/qdnBERLkU6yjzTvzAhgbSyNxcCgDw8bmJ4OBPqd7/7bdZuHDhH8yYMU/vfdev3zDVazEx0bh58zoAoE+f/rC2LpBqG2NjYwwdOhIA8ObNazx58kjj/u/du4spUyYgISEBbm5tMXPmPI09OM6cOQkAaNGilcbPA4B27b6DmZkZEhMTcOPGNd0OkIiIiIiIUkmvjDFjxmyWMShX2rZtG1q3bg1XV1ecOnUKzs7O2LFjBywsLAAAISHJFT62trZa92FjYwMACAsLE15TLSatT7qIiAjIZLI006V8PeXn6UskyvgfGS4zzj//+Jcb/jKKdZTJMjt+yIrvj+PnSKP27TvCy+s8Xr9+hZ49O6FmTRfUqVMPtWvXRYUKjgYPvTQxMUGRIkVTvf706RPI5XIAQO3adbWmd3auBYlEArlcjsePH6JKFSe191+/foWffx6HuLhYAEDv3t8LLZ0pyWQy4SZw+vQJXL7spfUzVcOmXr16mc7RERERERGRNumVMYyNjSGTae8RqA3LGJTVfHx8hNEHABAUFITr168LUyfFxcUBSL4WtTEzS+6ZGh8fL7ymSqdpSg8V1XuqdCnTa0snEolgYmKCxMREJCQkaD+wNNjaWhiUjjJPwYJWOZ0FogyTy+UIDhbDyEiscYo4XXTs2EktfnB2roW6deuhTp16qFjREUZGqe+9YvF/NeRGRsmf/+V7JiYm+Oab1Is5v3jxVIgf6tevr5Y2pTp16kAiMYJcLsPTp49QvXp1AMn3YCB1/NCv3wCYmhqn2o8h8cObN6+05is9CkXyOhcFC1pqjGcygg0NpFHduvXx668zsXbtCkRHR8PH5xZ8fG4BAGxt7dCoURN06tQVlStX1Wu/UqnmYCVlLwt7ewet6U1MTGBjY4OQkBCEh4enet/f/wUAwMjICDKZDIsWzcMff+xI1TASFRUp/Djj4uKEAC8tkZER6W5DRERERESapVfGaNy4KTp27MIyBuU606dPx6pVq/Dx40d4eHhg27ZtmD17NhISEjBo0CCh8iytxTmVSiUAqFW06VPppto2ZRpdPs/QBUPDwmIgl+vf8JeSSMTK8owICYnC/79GojxLoVBAoVBAJlPAwHYG1KpVTy1+8Pa+CW/vmwC011EqFP/9eGQyBSQSRar3pFILjR0cPn8OFf7f1raQ1k4QYrERbGwKICQkBKGhYcJ2qvvvl/HD/PlzNMYPYWHhescP4eHhBnXOAP77TkJConV6DkkkYp0bn9nQQFq1b98RLVp8i6tX/8aNG1dx544PQkJCEBYWipMnj+HUqeP48cef8P33g3Tep7YLWKnU/ceR8mahSdu2HdCqVWv8/PNYPHv2BHv37sSAAYO/2Md/n/fzz7+ic+duOn8+EREREREZJq0yxokTnjh58hjLGJTrqBZhLlWqFCZPngwTExOsX78e69evR8+ePSGVJk/rkdboAdV7KUchqNIlJiamm041IkKVJq3PUyqVQqWVKp0hWMmds5RKfgeU92XWNcw6ysyXFfcYrtFAaZJKpWjdug1mzZqPY8fOYc+eQxg9ejwcHApDqVRi8+YN+PDhfYY/x9bWTvj/T5+CtG6XkBAv9PpJmUalZk0X/PbbLNSv3xBubu0AADt2bEk1JNnauoBwQ0nr84iIiIiIKHOxjEF53ZAhQyASiRAREYEXL14IayJoGhGjonrPzu6/a0yfdKptLSwsYGxsnGa6lKN5Un4eEVFexvgh92NDA6WSkBCPY8eOYM2a5Xjx4rnae6VKlUbv3t9jyZJVAJLnWtO24Ik+HB0rCz8q1Wrymty54yvMk1a+fIVU7xcsWFAYGjp27ETY2NgiMTERixbNFdIByYu2lCtXHgBw69YNrZ8XHPwJXbu2x/Dhg3D9+lX9D4yIiIiIiHQqYyxfvhoAyxiU80JDQ3Hv3j1ER0drfN/S0hIFCxYEkLwQdLly5QAAMTExWiv/AwMDAUBY1wGAkC4gIEBrXlTpSpcuDSC5B26ZMmXU3tOWxszMDIULF9a6byKi3I51lP/JC/EDGxooFSMjY2zc6A4Pj33w9DyscRtlirE1qtXQUw45SjnsRxeWlpaoX78RAGD//t0a5ypNSkrC1q1/AAAcHAqjatVqae6zQAEbjB07EQDw6NEDHDiwV+391q2TWxOfPn2MixfPadzHli0b8elTEJ49e4KKFSvpdUxERERERJRMlzJGSixjUE5q27YtevTogStXrmh8Py4uDhERydeTvb09bGxsULJkSQDA3bt3Nabx8/MDADg7OwuvVauWfL3du3dPrYytEhkZCX9/fwBAzZo1hddVC46q9qnts6pXr27w4qtERLkB6yj/kxfiBz5xKBWJRCLMB+bpeQhbtmwUemUoFAo8eHAP8+bNAAAULVocNWokB0pWVtbCPh49eqD3544Y8RNMTU3x6VMQfvppGPz8bgs3i+fPn2HChJ/w5MkjiEQiTJkyTaeV0Vu3bou6dRsASP5Bvn37RnivS5fuKF26LABgwYLZ2L9/N2JjYwAAYWGhWLHid5w6dRwA0KNHHxQqVEjvYyIiIiIiIt3KGLNnTwfAMgblvAYNkr9fDw8Pje/v378fSUlJcHBwQJUqVQAAbm5uWtN8/PgRV65cgVgsRocOHYTXXVxcYG9vj5CQEHh5eaVK5+HhAYVCgdq1awvrRKT8rBMnTqRaNFShUODgwYMAgE6dOul8zEREuRHrKPNW/MCGBtJo0KChcHauBSB5/rAOHb6Fm1sztGzZECNGDMbLl/6wsbHBwoVLhNXSHR0rw8QkeWGrceNGok2b5rhw4azOn1m2bHksWLAUFhYWePXqJcaM+RGurk3QunUz/PBDX9y9ewdmZmbC/Ga6mjz5V5ibmyMxMQGLFs0VWjLNzMywdOkqlClTFklJSXB3X4W2bVuiTZvm+O671jhyJDk4a9nSFSNHjtH584iIiIiIKLX0yhj+/i9YxqBc4ccff4REIsHNmzexePFiYdFlpVKJQ4cOYfny5QCASZMmCb1mBwwYAAsLC3h5ecHd3V2YFiMoKAijR49GYmIi2rZtK0yBBCT3uB05ciQAYMaMGfj333+F9y5duoQ1a9YI+UmpSZMmqF69OoKDgzFhwgRERUUBSF4cevr06Xj27BmKFSuGjh07ZsHZISLKXqyjzDvxg1FOZ4ByJ1NTU6xcuQ6nT5+Al9d5+Ps/R1RUFMzNzVGs2Ddo1KgJevToA2vr/1oICxUqhPnzf8fmzevx5s0biERihIaG6PW59es3xJ49h+HhsRc3b17D+/eBUCqVKFOmLBo0aIzOnbuhWLHi6e8ohaJFi2HIkB/h7r4K9+//i0OHDqBnzz7Ce1u37sbJk8dw+fJFvHz5AtHR0ShQoAAcHSujXbvv8O23bnp9HhERERERpZZeGaNJk6bo1q03yxiU4ypXrowFCxZgxowZ2L59Ozw8PFC6dGl8+vQJwcHBEIlEGDNmDDp37iykcXBwwMKFCzFx4kSsXbsW+/btQ+HChfH8+XMkJiaiQoUKmDNnTqrP6t27N27evInz58+jZ8+eqFChAhITE/HmTXJP15EjR6Jp06ZqaUQiEX7//Xf0798fly9fRtOmTVGmTBkEBAQgIiICUqkU69evh4mJSZaeJyKi7MA6yrwTP4iUmiYCpFwpLCwGMln684opFAp8+vQODg4l1OYkMzIS65Se9JfeudX2nXwtRCKgUCErxJxbBMgSdEsDQCo1RWxsAoSblJEpLNx+xefPUeCdy3Cq74PnMfNl17k1MhLD1tYi6z6A8hVd44e8KKfvZ0ZGYpg92A1F5AfhNbF1UcQ7fZ9nznlOn8P8Ir+fx+yKZVle0c+X30t61yHjB/09fvwYmzdvhre3N8LCwmBjYwMXFxcMHDgQtWvX1pjm/v372LhxI3x9fREdHY0iRYrA1dUVo0aNUqsES0mhUGD//v04dOgQXr58CQBwdHREv3790hyV8OnTJ6xfvx5//fUXPn/+DCsrKzRo0AA//fSTsNC0oTIjflBdk+8W14cyMSZD+/qaiEwsUOKXm/n2mUJfl6+9Piw30vc70Sd+4IgGIiIiIiIiIqIvVK5cGStWrNArTbVq1bBu3Tq90ojFYvTt2xd9+/bVK52DgwNmz56tVxoiIqKswoYGIqIMEIkyvg/2UiEiIiIiIiIioryMDQ1ERAYqaGsGsZFxhvejkCUhJCw+E3JERERERERERESU/djQQERkAJEIEBsZI9ZrBZQ6rjuhcT9GppC2mgiRKJ4jG4iIiIiIiIiIKE9iQwMRUQYoZQk6L3CtMX0m5oWIiIiIiIiIiCgncLlvIiIiIiIiIiIiIiIyGBsaiIiIiIiIiIiIiIjIYGxoICIiIiIiIiIiIiIig7GhgYiIiIiIiIiIiIiIDMaGBiIiIiIiIiIiIiIiMhgbGoiIiIiIiIiIiIiIyGBsaCAiIiIiIiIiIiIiIoOxoYGIiIiIiIiIiIiIiAzGhgYiIiIiIiIiIiIiIjKYUU5ngIiIAJEo4/tQKjO+DyIiIiIiIiIiIn2xoYGIKCeJJYBChoIFrTK8K4UsCSFh8ZmQKSIiIiIiIiIiIt2xoYEypSd1TmEPbsrzRBJAbIQ4rxVQyBIM342RKaStJkIkiufvgoiIiHJURsoXuaFswliKiIgo++WGGCAjGD+woeGrV9DWDGIj45zOhsGysgd3TEw0/vxzG/76ywufPgXBysoaNWo4Y8CAH1CxYqUs+Uz6eillCUAGGhr4PCMiIqLcIK+XLwCWMYiIiLKbnY0JJMamOZ2NDJEnJSA0PDFL9p1X4gc2NHzFRCJAbGSMWK8VyZWceUxW9uCOjY3BTz8Nx4sXz2Bqaopy5Srg06cg/PWXF65evYK5cxejadPmmfuhRERERER5WEbLF2IxoFBkQcb0wDIGERFR9hKJAImxKQJXfgtFQnROZ8cgYlNLFJ9wESJR4lcdP7ChgTLckzqnZGUP7qVLF+HFi2eoWdMF8+cvgY2NDeRyObZv34wdO7Zg3ryZOHDgKOzsCmZhLoiIKLfw9/dH586dkZiYiKdPn2rc5v79+9iwYQNu376N2NhYFCtWDG3atMHw4cNhYWGhMY1SqcT+/fvh4eEBf39/mJiYoFKlSujfvz/c3Nyy8pCIiLKMweULsQhQ5Ow4TZYxiIiIcoYiIRrKxJiczoZBsrKfRF6KH8Q5nQGi3CYg4B28vM7DxMQEs2bNh42NDQBAIpFg6NARaNiwMeLiYuHhsS9nM0pERNlCoVDgt99+Q2Ki9mGwN27cQJ8+feDl5QUTExNUqFABgYGB2LhxI7p3747w8HCN6aZNm4bZs2fj8ePHKFWqFOzs7ODj44OxY8diyZIlWXRERESU3VjGICIiIn3ltfiBDQ1EXzh37jQUCgXq1q0Pe3uHVO937NgVAODldSG7s0ZERDlg27ZtuHv3rtb3Q0NDMWbMGCQlJWHKlCn4+++/ceTIEXh5ecHJyQkvX77ErFmzUqXz8PDA4cOHYW9vD09PT5w4cQLnz5/H+vXrYWpqiq1bt+LKlStZeGRERJRdWMYgIiIifeW1+IENDURfePjwPgDAyam6xverVUt+/cOHQHz6FJRt+SIiouz36tUrrFmzBmZmZlq32b17N6KiotCiRQsMGTIEIpEIAFC4cGGsW7cOJiYmOHfuHPz9/YU0crkcmzZtAgDMmDEDlSr9t4BXq1atMG7cOADA+vXrs+KwiIgom7GMQURERPrKa/EDGxqIvhAQ8A4AULz4NxrfL1DABubmUrVtiYgo/1EoFPj111+RmJiIsWPHat3O09MTANCtW7dU7xUpUgTNmzeHUqnEmTNnhNd9fX0REBAAa2truLq6pkrXo0cPiMVi3L17F4GBgRk/GCIiylEsYxAREZG+8lr8wIYGoi+EhYUBSP6xamNtbQ0AiIgIz4YcERFRTvjzzz/h5+eHXr16oW7duhq3+fTpk9AQ4OzsrHEb1eu+vr7Ca6qpmGrUqAGxOHU4Zm1tjfLly6dKR0REeRPLGERERKSvvBY/sKGB6AsJCfEAABMTU63bmJqa/n/bhGzJExERZa83b95g1apVKFq0KCZPnqx1u7dv3wIApFIpChUqpHGbYsWKqW2r2j8AlCxZUuu+NaUjIqK8iWUMIiIi0ldeix+McjoD2eHBgwfYvHkzfH19ERERAXt7ezRu3BiDBw9GmTJlNKa5f/8+NmzYgNu3byM2NhbFihVDmzZtMHz4cFhYWGhMo1QqsX//fnh4eMDf3x8mJiaoVKkS+vfvDzc3t6w8RMpEYrEYCoVCmGNbE6VSKWxLRET5i1KpxG+//Yb4+HjMmTMHlpaWWrcNCQkBANja2mrdxsbGBsB/vVGA5AWkDUlnqDQeaXma6rhy+vg0fXxO50lXueUc5nX5/Tzm1+PKTllZxhCJ/vtT/ZuIiIjyvrxWR5nvGxq8vLwwduxYyGQyWFlZoXz58nj//j08PDxw/PhxrFy5Ei1btlRLc+PGDQwbNgxJSUlwcHBA8eLF8ezZM2zcuBHnz5/Hvn37hMJ/StOmTcPhw4chEolQoUIFJCQkwMfHBz4+PhgyZAimTJmSTUdNGWFmZo7o6CgkJmpvCUxMTATwX6shERHlHzt37oSvry86d+6MZs2apbltXFwcAMDExETrNqqFpOPj41OlS+s5onovZTpD2Npq7iCRnxQsaJVzH25mAshM1f5tngfPeY6ew3wkv55HuVyO4GAxjIzEOhVixWIAYsNqu8UGpss0/z88iSRzC+vm5uaIioqCXJ4EIyPN+05KSvz/tmZat0lJoUiuVChY0BISiUR4Pb9eh0RERF+bvFZHma8bGt6/f4/JkydDJpNh8ODBmDBhAkxMTJCUlITVq1dj8+bNmDRpEry8vGBnZwcguYfhmDFjkJSUhClTpmDw4MEQiUQICgrCqFGj8ODBA8yaNQurV69W+ywPDw8cPnwY9vb22LJlCypVqgQguaFjwoQJ2Lp1K+rVq5duhQXlPBsbG0RHRyEyMkLrNqr3bGy090QlIqK85927d1i5ciUKFSqEX3/9Nd3tVRVu+vYw0ae3SUZ7poSFxUAuV2RoH7mVSJRcoRYSEoX/n+ZsJZGIYRafCGXsf4G/yCgR8XnonOf0Ocwv8vt5VCgUUCgUkMkUSOuWpLoVKhQAFPqfCLFYBIUB6TLV/3+6crkiU7/LAgVsEBUVhbCwMMhkmu8PERHJZQxraxut26Sk+l5CQqIhFovTvQ4lEvFX0fhMRESUX+S1OsqcH1ORhY4fP46YmBg4OztjypQpQm9DY2NjTJo0CRUrVkRsbCxOnz4tpNm9ezeioqLQokULDBkyRKg4KFy4MNatWwcTExOcO3cO/v7+Qhq5XI5NmzYBAGbMmCE0MgBAq1atMG7cOADA+vXrs/yYKeNKlSoNAPjw4b3G98PDw4WeqN98UyK7skVERFlMNWVSXFwcZs2apXH04pekUimAtOfDVL2XsoeJKp2q90la6VQjIjJCqcy/fzl5fML5TfGXF895Xstvbv3L7+eRMiYryxi6XodERESUt+S1Osp83dBQuHBhtGnTBr17907V01AkEqF8+fIAkkc+qHh6egIAunXrlmp/RYoUQfPmzaFUKnHmzBnhdV9fXwQEBMDa2hqurq6p0vXo0QNisRh3795FYGBgZhwaZaHKlasCAB48uK/x/QcP/gUAFC1aDAULal74k4iI8p69e/fC29sbbm5uaN26tU5pVGsshIeHa91G9Z5q9KS+6dJax4GIiPIGljGIiIhIX3ktfsjXDQ1dunTB6tWr0blz51TvyeVyPHr0CABQqlQpAMCnT5+EhgBnZ2eN+1S97uvrK7x29+5dAECNGjU0Tm9gbW0tNGqkTEe5U/PmrQAAN25cxefPn1O9f/z4UQCAm1u7bM0XERFlrbNnzwIAzp07B0dHR7W/7t27C9upXjty5AjKlSsHAIiJidHaaKCKLVTxBgAhXUBAgNb8qNKVLl3a4GMiIqLcgWUMIiIi0ldeix/ydUODNoGBgZg8eTJev36NYsWKoUOHDgCAt2/fAkiezqBQIc2tQMWKFVPbFgDevHkDAChZsqTWz9SUjnKn0qXLoHnzVkhISMCvv07C58/BAJIbp7Zs2Yjr169CKrVAt269cjinRESUmSpWrAgXFxeNfymnRVS9VrBgQdjY2AjPf1XHgy/5+fkBUO/EUK1aNQDAvXv3oNQwn0VkZKQwTWPNmjUz4/CIiCgHsYxBRERE+spr8UO+Xgz6S9u2bcP+/fsREBAAuVwOZ2dn/P7777CwSF4QKyQkBEDaUxSo5msOCwsTXgsNDTUonSHSWGtSr23UtjcyRV6cslNklHWrqU+cOAX+/s/x+PFD9OzZCaVLl8Xnz8EIDQ2BRCLBvHmLDZrKQiTS//vJD1THrNehi/77r+iLCzQ3nEODjinNHWbOvvS5R+SG85jf8NzmbTNmzND63v3794VRDfv27VN7z83NDZs3b4aHhweaN2+u9t7Hjx9x5coViMVioWMDkNxYYW9vj+DgYHh5eeHbb79VS+fh4QGFQoHatWujePHiGTwyIqLsZXD5QgxhMeackhfLGERERPmB2NQyp8MAg4lNLbNs33kpfviqGhp8fHyE0QcAEBQUhOvXrwtTGagWz1AtGq2JakHG+Ph44TVVupSLPH5J9V7KdPqytbXQaTu5XI7gYDGMjMSppnIyMlL/t0Img7TVRIPzlNMUMhkkkswfmOPgYI/t23fhzz+34/Lli3j1yh/m5uZo3LgpBg0aDCen6qnSfHlu1fKpAMRiMQoWtIREIsn0/OYVUnMTQK5vmhS/K0nyb7NgQatMzFXGGHJMav5/v5GamQDGGdiPAecmN53H/Ibn9usyYMAA7N27F15eXnB3d8fIkSMhkUgQFBSE0aNHIzExEe3bt1ebAkksFmPkyJGYO3cuZsyYAXt7e9SoUQMAcOnSJaxZswYA8OOPP+bEIRERGUSpBBSypDxdvgCSjyErFk+2syuIzZt3Yteu7fjrLy+8euUPMzNzNGrUBP37D4aTU7XM/1AiIqJcTqkE5EkJKD7hYk5nJUPkSQlfffzwVTU0TJ8+HatWrcLHjx/h4eGBbdu2Yfbs2UhISMCgQYOESvkvF45OSTW9QcoKfE3rMmijz7ZfCguLgVyeftueQqGAQqGATKZAyo8zMhJDJlNPHxIWl6d73mbFD1jFzMwCP/44Gj/+ODrVe1+eR03nNiXVdxISEp2hayCvEomSK15j4xIBWYKOiZIbGWLjEiB0iTMCpABCQqKy9LvXhUHHpIncBFIAsfGJQFIG9qPHuVHlPTecx/wmu86tRCLWufGZsp6DgwMWLlyIiRMnYu3atdi3bx8KFy6M58+fIzExERUqVMCcOXNSpevduzdu3ryJ8+fPo2fPnqhQoQISExOFThEjR45E06ZNs/twiIgyJCQsHiKRYZ2rJBKxTuWdrJaVz3BLS0uMHDkGI0eOyboPISIiymNCwxMhEiXmdDYyhPHDV9bQoJp6oFSpUpg8eTJMTEywfv16rF+/Hj179oRUKgUAJCRor+xTvZdy9IIqXWKi9h+EKp1qRIShdLlo9b2wWdGYfZTKr/t863PownRJytTpctN5zLRsaDhOg3ajx7nJTecxv+G5/fq0adMGxYsXx8aNG+Hr64unT5+iSJEicHV1xahRo2BllXqUi0QiwerVq7F//34cOnQIL1++BJC8JkO/fv3QsWPH7D4MIqJMkZFnIJ+fREREXyfGAHnfV9XQ8KUhQ4Zgw4YNiIiIwIsXL4T5rMLDw7WmUb1nZ2cnvKZPutwyZxZRXpYZo3D4ACMifVSrVg1Pnz5Nd5t169bptV+xWIy+ffuib9++GckeERERZbI3b95g69atuH79OoKCgmBkZIRy5cqhQ4cO6Nu3b6opl8+ePYtx48aluc/Zs2ejT58+aq8plUrs378fHh4e8Pf3h4mJCSpVqoT+/fvDzc1N676Cg4Oxdu1aXLlyBSEhIbCzs0OjRo0wcuRIlCxZ0vADJyIiMlC+bmgIDQ1FQEAAypYtC0vL1ItyWFpaomDBgvj8+TNCQkLg7OwMAIiJiUF4eLiwgHNKgYGBACCs6wAA5cqVAwAEBARozYsqXcr5mYlIT2IJoJBlyvz3ClkSQsIMXzOFvl5pNXTpuhg0G7qIiIiIcq9//vkHY8eORWxsLIyNjVGmTBlERUXh/v37uH//Pk6fPo1t27ap1TOoOiQUL14chQsX1rhfe3v7VK9NmzYNhw8fhkgkQoUKFZCQkAAfHx/4+PhgyJAhmDJlSqo0QUFB6NWrFz58+ABLS0tUrFgRAQEBOHLkCM6dO4ft27cLaz8RERFll3zd0NC2bVuEh4djxYoVaN++far34+LiEBERASD5gW9jY4OSJUvi7du3uHv3Lpo3b54qjZ+fHwAIjRJAcg9GALh37x6USmWqNR4iIyPh7+8PIHk6BCIykEgCiI0Q57UCigysiyAyMoW01USIRPGs8CW9FLQ1g9go/VW702sMY0MXERERUe4UGhqKiRMnIjY2Fh06dMDs2bOFKRDv3LmDiRMn4t9//8W8efPw+++/C+lUDQ3jx4/XefpDDw8PHD58GPb29tiyZQsqVaoEAPDy8sKECROwdetW1KtXD82aNVNLN378eHz48AFt2rTBokWLIJVKkZCQgDlz5uDw4cMYN24czp07pzblMxERUVbL1w0NDRo0wJkzZ+Dh4aGxoWH//v1ISkqCg4MDqlSpAgBwc3PD5s2b4eHhkaqh4ePHj7hy5QrEYjE6dOggvO7i4gJ7e3sEBwfDy8sL3377rVo6Dw8PKBQK1K5dW1gngogMp5QlZGgBZrYtkCFEIkBsZIxYrxXJ16CmbQBIzU0QG5eo9TpjQxcRERFR7nX48GFERkaidOnSWLx4MYyN/+tk4uLigsWLF2PgwIE4fvw4pk6dKkyrrGpoqFixok6fI5fLsWnTJgDAjBkzhEYGAGjVqhXGjRuHJUuWYP369WoNDTdv3sSdO3dQsGBBLF68GObm5gCS15GcN28eHjx4gKdPn+Lo0aPo3bt3xk4GERGRHsQ5nYGs9OOPP0IikeDmzZtYvHixsCCzUqnEoUOHsHz5cgDApEmTIBYnn4oBAwbAwsICXl5ecHd3h1wuB5A8NHH06NFITExE27Zt1aZAEovFGDlyJIDkAOHff/8V3rt06RLWrFkj5IeIiPI2oaFL2588Mc33tTVSEBEREVHO8/b2BgC4urqqNTKo1KtXDxYWFlAoFHj8+DEAIDo6GoGBgTAyMkLZsmV1+hxfX18EBATA2toarq6uqd7v0aMHxGIx7t69K0zFDACenp4AgHbt2gmNDCoSiQQ9evQAAJw+fVqnfBAREWWWfD2ioXLlyliwYAFmzJiB7du3w8PDA6VLl8anT58QHBwMkUiEMWPGoHPnzkIaBwcHLFy4EBMnTsTatWuxb98+FC5cGM+fP0diYiIqVKiAOXPmpPqs3r174+bNmzh//jx69uyJChUqIDExEW/evAEAjBw5Ek2bNs2uQyciIiIiIiIiPY0ePRrt27eHo6OjxvdlMhmSkpIAQOiY+PTpUyiVSpQuXTrVItHa3L17FwBQo0YNoeNjStbW1ihfvjyePXsGX19fYXYE1XTOLi4uGvermubZz88PMpkMRkb5utqHiIhykXz/xOnSpQsqVaqEzZs3w9vbG0+fPoWNjQ1at26NgQMHonbt2qnStGnTBsWLF8fGjRvh6+uLp0+fokiRInB1dcWoUaOE+RlTkkgkWL16Nfbv349Dhw7h5cuXAJLXZOjXr5/OczQSERERERERUc6oUaNGmgsp//3330hMTAQAlC9fHsB/0yZVqFABt27dwunTp/HmzRuYmZmhevXq6NmzJwoVKqS2H1WnxJIlS2r9rGLFiuHZs2d4+/YtAEChUCAgIAAAUKJECa1pACAxMREfP37EN998k+4xExERZYZ839AAJI9sWLFihV5pqlWrhnXr1umVRiwWo2/fvujbt69e6YiIiIiIiIgod4uPj8eyZcsAAHXr1hUq9VUNDVeuXMGZM2fU0ly+fBlbtmzBsmXL0LJlS+H10NBQAICtra3Wz7OxsQEAhIWFAQAiIiIgk8nSTJfy9bCwMDY0EBFRtsnXazQQEREREREREWWUXC7HlClT8PLlSxgZGWHy5MnCe6qGBqVSialTp+Lvv//G/fv3cfToUbRs2RIxMTEYO3Ys7t27J6SJi4sDkLyIszaq9+Lj49X+m1Y6kUgkTN+kWqfSUCJRxv/IcJlx/vnHv9zwR7lTVnx/X8WIBiIiIiIiIiIiQ8hkMkydOhXnzp0DAPz888+oXr268H7r1q1RqlQpdO7cGQ0aNBBer1KlCtavX48RI0bgr7/+wvLly/Hnn38CgMZ1GbRRbZsyjSiN2h+lUpnuNumxtbUwOC1ljoIFU0/bTZTXyOVyBAeLYWQk1uu+R1lHoUh+nhQsaAmJRJKp+2ZDAxERERERERGRBrGxsZgwYQL++usvAMCPP/6IH374QW2bwYMHa00vEomEhgZvb29ERUXBysoKUqkUAIT1HjRRjUgwMzMDACFNyve+pFQqhcWqVekMERYWA7lcYXB6ILknLCvLDRcSEoX/txkR5VkKhQIKhQIymQJsZ8gdVN9JSEi0To0/EolY58ZnNjQQEREREREREX3h8+fPGD58OB4+fAgAGDduHEaNGqX3fipXrgwguXLnw4cPsLKyEtZSCA8P15pO9Z5qWwsLCxgbGyMpKQnh4eEoXrx4qjSq9RwAwM7OTu+8psRK7pylVPI7oLyP13DulRX3GLYlERERERERERGl8Pr1a/Tq1QsPHz6ERCLBvHnz0mxkSGs9BGWKmhxjY2MAQLly5QAAAQEBWtMFBgYCAEqXLg0geaqLMmXKqL2nLY2ZmRkKFy6sdd9ERESZjQ0NRERERERERET/FxAQgAEDBiAgIABmZmZYu3YtevbsqXHbe/fuwcXFBdWrV0dQUJDGbR4/fgwgufJfNQqhWrVqQnqlhi6lkZGR8Pf3BwDUrFlTeF21NoSfn5/Gz1K9Xr16dc6HTkRE2YpPHcrx1ee5cj0RERERUf6Rkdg+p8sXLGNQQkICRo4ciaCgIEilUmzZsgWtWrXSun25cuWgUCSvZXDs2DGN22zfvh0A0KpVK5iYmAAAXFxcYG9vj5CQEHh5eaVK4+HhAYVCgdq1a6tNkeTm5gYAOHHiBOLi4tTSKBQKHDx4EADQqVMnXQ+ZiChXyOnnP+OHjOMaDV85G1spjI0yd4Xx7JQkkyM8LDbbPm/dutXYt28XtmzZiUqVqmTb5xIRERER5QV5vXwBZG8Zg+WL3GfTpk149uwZAGDZsmWoU6dOmttbWFigT58+2LZtG9auXYvixYujffv2AIC4uDisWLEC58+fh7m5OcaNGyekE4vFGDlyJObOnYsZM2bA3t4eNWrUAABcunQJa9asAZC8+HRKTZo0QfXq1XHv3j1MmDABS5cuhZWVFRISEjBnzhw8e/YMxYoVQ8eOHTPtnBARZTVrG3OYGuftauqEJBkiw+PS3zAT5Nb4IW9/g5QhIhFgbCTBmnOPkSBT5HR29GZqJMZYt8oQibJncZlr1/6Bh8ferP8gIiIiIqI8KKPlC7FYBIUiZ1eNzM4yBssXuU9iYiJ2794NIHmaoy1btmDLli1atx8/fjzq1auHCRMm4Pnz5/jnn38wceJELFq0CIULF8bLly8RGxsLc3NzuLu7o1SpUmrpe/fujZs3b+L8+fPo2bMnKlSogMTERLx58wYAMHLkSDRt2lQtjUgkwu+//47+/fvj8uXLaNq0KcqUKYOAgABERERAKpVi/fr1wsgJIqLcTiQCTI2N0Hb+IcTEJ+V0dgxiYWaMM9O7f/XxAxsaCAkyBRLzYENDdrpy5RLmzJkBuVye01khIiIiIsrVDC1f5IaGhuzC8kXu9OzZM0RERAAA4uPjcefOnTS3DwsLAwCYmJjgjz/+wJEjR3D06FE8efIET58+hYODAzp27Ijhw4erTX+kIpFIsHr1auzfvx+HDh3Cy5cvASSvydCvXz+toxLKli2Lo0ePYv369fjrr7/w7NkzWFlZoX379vjpp5+EhaaJiPKSmPgkxCTkzYaG7JLb4wc2NBClITY2Blu2bISHx76czgoREREREeVxLF/kbk5OTnj69KlBacViMbp3747u3bvrna5v377o27evXukcHBwwe/ZsvdIQEVHelFfiBy4GTaTF8+fP0Lt3V3h47IOJiSl++WVGTmeJiIiIiIjyKJYviIiISF95KX5gQwORFh8+vEdoaAhq166LHTv2oEOHTjmdJcpkIlHG/oiIiIiIdMXyBREREekrL8UPnDqJSItvvvkGa9ZshItL7ZzOCmU2sQRQyFCwoFVO54SIiIiIvhIsXxAREZG+8lL8wIYGIi3Kli2f01mgrCKSAGIjxHmtgEKWYNguTK0gbT4aIgBfx5KFRERERJQRLF8QERGRvvJS/MCGBiL6aillCYCBDQ1KiUkm54aIiIiIiIiIiChvYkMDEVE+osvaEapttG2r5BANIiIiIiIiIiLSAxsaiIjyAwPWndC2rUKWhJCw+MzKGRERERERERER5XNsaCAiyg/0WHdCBEBqboLYuMRU60uIjEwhbTURIlE8RzYQEREREREREZFO2NBARJSP6LzuhBwat2PbAhERERERERER6Uuc0xkgIiIiIiIiIiIiIqK8iw0NRERERERERERERERkMDY0EBERERERERERERGRwbhGA8HUKG+2N+XVfBMRERER5WeGxulisQgKRc6uGMUyBhERUc6wMDPO6SwYLC/nPTOxoeErplQCSTI5xrpVzumsGCxJJoeSq9cSEREREeW4/FC+AFjGICIiyk5KJZCQJMOZ6d1zOisZkpAk++rjBzY0fOXCw2IhEuV0LgyX3T/gq1d9s/cDiYiIiIjykIyULyQSMeRyReZmyADZWcZg+YKIiAiIDI/L0/WTAOMHgA0NhOyvrCciIiIiovwrI+ULlk2IiIi+TowB8j5OQElERERERERERERERAZjQwMRERERERERERERERmMDQ1ERERERERERERERGQwNjQQEREREREREREREZHB2NBAREREREREREREREQGM8rpDBBR1hKJMpZeqcycfBAREREREREREVH+xIaGr4lSCSOjjA9iUSqVkMtZ+5wXFLQ1g9jIOEP7UMiSEBIWn0k5IiIiIiIiIiIiovyGDQ352heNASIRFJFBGeuiLhJBbF049b4pHdl/vkQiQGxkjFivFVDKEgzbh5EppK0mQiSK58gGIiIioq8eA8Lchd8HERER6Svr4gc2NORDov/PlaNQKCAWS9TfVCoBKAzfuZLLehhCoUj+EYsyOo+RAZSyBMDAhgYWXYiIiIgozfIF5RiFQgFAlCNlDCIiIl2oxxCsU8wNsjJ+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bDYbnTp1qpW63XbbbbRs2ZK7776b66+/3rn9yiuvZOHChTz++ONs3bqVN954g+XLlwOUui5DWRxlC8cYynnqZv+t01temYo0aeLvcqy4hzteuBJpKPT7UD94JNEA8OyzzxIYGMg777xDbm4uBw4cAApuhI6bore3N48++ijjxo3zVDVFRMTDnIvPuxrvxrqI56n/ICIicnEaOnQomzdvZvHixQQEBPCXv/wFk8lUpIzVauVf//oXixcvxmAwVLiIs7s88sgjZe4zGAzORMOuXbvIyMggICAAPz8/oGAthbI4RiT4+voCOGMK7yvObreTl5dXJM4VaWmZWK02l+Oh4A1kPRx0XWpqhl6UakD0+1A9+n3wHJPJWOnks8cSDQBjx45l6NChfP755xw4cICzZ89is9lo2rQpnTt35rbbbiMkJMSTVRQREZE6Rv0HERGRi0+fPn3o378/n376Ka+99hrLli2jZ8+eRUY2xsfHk5qait1up1+/fvTt29fDtS7QsWNHoGAx5xMnThAQEOBcS+HcuXNlxjn2Ocr6+/vj7e1NXl4e586dIyIiokRM4XUZqjt1lB7qeZbdru+BiIN+H+oHjyYaAEJDQxk2bBjDhg0DIC8vjwsXLpS7IJKIiIhc3NR/EBERufi89tprNGrUiI8++oiUlBQ+/fTTIvsdoxvvuusu/v73v9dq3XJzc8tcN8Fe6OmYt7c3AG3atAEgKSmpzGMmJycD0KpVK6Bg6qTWrVuTkJBAcnIyV111VZkxvr6+ziSMiIhIbaj8pIBucPToUaZMmcJnn31WZpk9e/Zw44038sQTT3DkyJFarJ2IiIjUReo/iIiICBQ8pH/llVdYu3YtI0eOpEePHlxxxRW0atWKa665hocffpi1a9cye/bschdZdqcDBw7QvXt3OnfuzKlTp0ot88MPPwAFD/8doxAc60ccOHCgSCLCIT093dmn6dq1q3O7YzHpvXv3lnoux/bOnTtXaR0IERGR6qq1u87q1au566672LBhAzt27Ciz3K5du8jPz+ezzz7jnnvu4cMPP6ytKoqIiEgdo/6DiIiIFHfVVVcxefJk3nvvPT755BM2bdrEypUrefrpp0t9y78mtWnTBputYC2Djz/+uNQy7777LgB9+/bFbDYD0L17d0JCQkhNTSUuLq5ETHR0NDabjR49ehSZIikqKgqADRs2kJ2dXSTGZrPxwQcfAAWjOkRERGpTrSQaPv74Y6ZPn05eXh4mk6ncNwuuu+46/vSnP+Hl5YXFYuH5558nJiamNqopIiIidYj6D9IgGIyYTEa8vAr+mUx6u1REpDqOHj3K3//+d3bv3l1ku9Vq5Q9/+APPP/88x48fr7X6+Pv7c//99wMwb948PvnkE+e+7OxsXn75ZWJjY2nUqBHjx4937jMajYwePRqAqVOnsn//fue+zZs3M3fuXABGjRpV5Hw33ngjnTt35syZM0ycOJGMjAygYOqm559/noSEBMLDw7nzzjtr5oJFRETKUONrNJw9e5aXXnoJKBjuN3v2bFq2bFlm+Z49e9KzZ0/GjRvHhAkT+P7775k2bRrXX389gYGBNV1dERERqQPUf5CGwuAfjO+xTVjTzwBgDI3EbjR4uFYiIvXTxx9/zNSpU8nLy+Pyyy+nZ8+ezn2//vorKSkprF27lk8++YS33nqLm2++uVbqNXHiRH788Ue++OILJk2axCuvvEJYWBhHjx4lKyuLRo0aMX/+/BJ9mfvuu4+dO3cSGxvL0KFDiYyMxGKxkJiYCMDo0aO56aabisQYDAZmz57Ngw8+yJYtW7jpppto3bo1SUlJnD9/Hj8/PxYuXOgcOSEiIlJbavyVqjVr1pCRkUGbNm3417/+Ve5DgsJatGjBu+++S3h4OOfPn9cUCCIiIhcR9R+kIbFdSMGWfgJb+gnsWWmero6ISL106NAhnnvuOSwWC5deemmR6YQAgoKCmDhxIq1atSI7O5uJEyfyyy+/1ErdzGYz//znP3n55Zfp0aMH2dnZHD58mCZNmnDffffxySef8Ic//KFEnMlkYs6cOUybNo2rrrqKpKQkTp8+TdeuXXnttdeYMGFCqee74oor+Oijj7j//vu55JJLSEhIwGQycccdd7BmzRo6duxYw1csIiJSUo2PaNi+fTsGg4GxY8fi6+tbpdhLLrmEsWPH8uyzz7JlyxYeeuihmqmkiIiI1CnqP4iIiEhhS5cuJT8/nxtvvJF58+aV6B8EBAQwatQoHnroIcaMGcNXX33F0qVLmT59ulvOf/jw4XL3G41GBg8ezODBg6t0XKPRyLBhwxg2bFiV4kJDQ912bSIiIu5Q4yMafvrpJ6BgHkFX9OvXD4PBQEJCgjurJSIiInVYXeg/JCYm8sILL3DrrbfSqVMnunXrxuDBg/nXv/6FxWIpNebgwYOMGTOGXr160alTJ6KionjzzTfJzMws8zx2u51Vq1Zxzz330LlzZ3r06MEDDzygNSZEREQK2b17NwaDgWnTppX7EoKPjw/PP/88AF988UVtVU9EROSiV+MjGi5cuEBAQACNGzd2KT4gIIDAwEDnAkciIiLS8Hm6//DFF1/wxBNPkJWVhbe3N61btyYjI4ODBw9y8OBBNm7cyLJly4rUb8eOHTz66KPk5eURGhpKREQECQkJLFq0iNjYWFatWkVQUFCJcz333HOsXbsWg8FAZGQkubm57N69m927dzNy5EimTJni0jWIiIg0JCkpKTRu3JjLLruswrKtW7fGz8+P06dP10LNREREBGphRIOPjw95eXkux9tsNjIzM/H29nZjrURERKQu82T/4ezZs0yaNImsrCwGDhzIjh072LBhA1u3bmXVqlVceuml7N+/nxdffLFIzLhx48jLy2PKlCls376dDz/8kLi4OK6++mqOHj3KtGnTSpwrOjqatWvXEhISwrp169iwYQOxsbEsXLgQHx8fli5dyrZt21xuBxERkYaiSZMmZGdnlzmqsLD8/Hzy8vJo1KhRLdRMREREoBYSDZdffjk5OTkuL8J0/Phx8vPzCQ0NdXPNREREpK7yZP9h7dq1pKen06pVK2bNmkVAQIBzX/fu3Zk1axYA69ev5+zZswCsXLmSjIwMbrnlFkaOHInBYAAgLCyMBQsWYDabiYmJ4ciRI85jWa1WFi9eDMDUqVPp0KGDc1/fvn0ZP348AAsXLqzyNYiIiDQ0bdu2xWq1snHjxgrLfv755+Tl5REZGVkLNRMRERGohURD9+7dgYIP46748MMPAbjqqqvcVicRERGp2zzZf9i1axdQsM5DaSMievXqhb+/PzabjR9++AGAdevWATBo0KAS5Zs3b06fPn2w2+1s2rTJuT0+Pp6kpCQCAwPp169fibghQ4ZgNBrZt28fycnJVb4OERGRhuSuu+7Cbrfz0ksv8c0335RZbv/+/cyYMQODwcDtt99eizUUERG5uNX4Gg133nkn//nPf1i2bBm33nor7du3r3Ts4cOHWblyJQaDgVtvvbUGaykiIiJ1iSf7D2PHjuWOO+4o85yO6RigYFTC6dOnnYmAbt26lRrTrVs3YmNjiY+Pd27bt28fAF26dMFoLPnuR2Bg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q+KJiIiIiIiIiIiIiIjLlGgQERERERERERERERGXKdEgIiIiIiIiIiIiIiIuU6JBRERERERERERERERcpkSDiIiIiIiIiIiIiIi4TIkGERERERERERERERFxmRINIiIiIiIiIiIiIiLiMiUaRERERERERERERETEZUo0iIiIiIiIiIiIiIiIy5RoEBERERERERERERERlynRICIiIiIiIiIiIiIiLvPydAVEREREROQ3BiMmU8l3gfLzbR6ojIiIiIiISOUo0SAiIiIiUkcY/IPxPbYJa/qZ37cFhJDdMkrJBhERERERqbOUaBARERERqUNsF1KwpZ9wfq25TkVEREREpK7T5xYREREREREREREREXGZEg0iIiIiIiIiIiIiIuIyTZ0kIiIiIvWOl9fv78uYTKUvoCwiIiIiIiK1Q4kGEREREalXvLyMNEqMwZ5xBnzN+OZYMIZGYjcaPF01ERFpoGbPns2yZctYs2YNnTp1KrXMwYMHefvtt/n222/JysoiPDyc/v3789hjj+Hv719qjN1uZ/Xq1URHR3PkyBHMZjMdOnTgwQcfJCoqqsz6nDlzhnnz5rFt2zZSU1MJDg6md+/ejB49mhYtWrjlmkVERKpCr36JiIiISL1jzziDPf0EXDiJPf0E9qw0T1dJREQaqC1btrB8+fJyy+zYsYP777+fuLg4zGYzkZGRJCcns2jRIgYPHsy5c+dKjXvuueeYPn06P/zwAy1btiQ4OJjdu3fzxBNP8Oqrr5Yac+rUKYYMGcL777/PhQsXaNeuHTk5OXz44Yfcfffd7N+/v7qXLCIiUmVKNIiIiIiIiIiIlCI2Npbx48djtVrLLHP27FnGjRtHXl4eU6ZMYfv27Xz44YfExcVx9dVXc/ToUaZNm1YiLjo6mrVr1xISEsK6devYsGEDsbGxLFy4EB8fH5YuXcq2bdtKxE2YMIETJ07Qv39/vvjiCz788EO++OILBg0aRGZmJuPHjyc3N9et7SAiIlIRJRpERERERERERAq5cOECM2fOZNy4cRU+tF+5ciUZGRnccsstjBw5EoOhYCq/sLAwFixYgNlsJiYmhiNHjjhjrFYrixcvBmDq1Kl06NDBua9v376MHz8egIULFxY5186dO9mzZw9NmzZl1qxZ+Pn5AeDj48OLL75I+/btOXHiBB999FH1G0FERKQKlGgQEREREREREfnNoUOHiIqKYvny5fj4+PDyyy+XW37dunUADBo0qMS+5s2b06dPH+x2O5s2bXJuj4+PJykpicDAQPr161cibsiQIRiNRvbt20dycnKJc91+++00atSoSIzJZGLIkCEAbNy4sVLXKiIi4i5KNIiIiIiIiIiI/CYpKYmUlBRuuOEG1q1bx+DBg8sse/r0aWcioFu3bqWWcWyPj493btu3bx8AXbp0wWgs+WgmMDCQtm3blojbu3cvAN27dy/3XHv37iU/P7/MeouIiLibl6crICIiIiIiIiJSV7Ro0YLly5dz3XXXVVj2+PHjAPj5+dGsWbNSy4SHhxcpC5CYmOg8V1nCw8NJSEhwxtlsNpKSkgC4/PLLyz2XxWLh5MmTXHbZZRVeg4iIiDso0SAiIiIiIiIi8pt27dpVumxqaioATZo0KbNMUFAQAGlpac5tZ8+erXLc+fPnnaMUyoorvD0tLa1aiYbflprwWPzFTu3XsOj7WT1qv/pBiQYRERERERERERdkZ2cDYDabyyzj6+sLQE5OTok4Hx+fMuMc+xxxhePLijMYDJjNZiwWS4WLWJenSRN/l2PFPZo2DfB0FUTqDP0+1A9KNIiIiIiIiIiIuMCxvoKhnNdt7XZ7kbLF/7+y5ygcU5nzlVemImlpmVitNpfjC86vh4PVkZqawW/fSmkA9PtQPfp98ByTyVjp5LMSDSIiIiIidZnBiMlU9IFUfn71Hv6IiIh7+Pn5AZQ7esCxr/AoBEecxWKpMM4xIsIRU9757HY7eXl5ReJcpYd6nmW363sg4qDfh/pBiQYRERERkTrM4B+M77FNWNPPFHwdEEJ2yyglG0RE6gDHmgjnzp0rs4xjX3BwsEtxjrL+/v54e3uTl5fHuXPniIiIKBFTeB2IwucTERGpaZUfqyciIiIiIh5hu5CCLf0EtvQT2DPOeLo6IiLymzZt2gCQmZlZZtIgOTkZgJYtW5aIS0pKKvPYjrhWrVoBBVMntW7dusi+smJ8fX0JCwur5FWIiIhUnxINIiIiIiIiIiIuCAoKokWLFgDs27ev1DJ79+4FoFu3bs5tnTp1AuDAgQPONRUKS09P58iRIwB07drVub1z585FjlnWuTp37lyldSBERESq66K868yePZv27dtz8ODBMsscPHiQMWPG0KtXLzp16kRUVBRvvvkmmZmZZcbY7XZWrVrFPffcQ+fOnenRowcPPPAAMTExNXEZIiIiIiIiIuJhUVFRAERHR5fYd/LkSbZt24bRaGTgwIHO7d27dyckJITU1FTi4uJKxEVHR2Oz2ejRo0eRKZIc59qwYQPZ2dlFYmw2Gx988AEAd911V/UvTEREpAouukTDli1bWL58ebllduzYwf33309cXBxms5nIyEiSk5NZtGgRgwcPLnM45HPPPcf06dP54YcfaNmyJcHBwezevZsnnniCV199tQauRkREREREREQ8acSIEfj7+xMXF8f8+fOxWq0AnDp1irFjx2KxWBgwYIBzCiQomAZp9OjRAEydOpX9+/c7923evJm5c+cCMGrUqCLnuvHGG+ncuTNnzpxh4sSJZGRkAAWLQz///PMkJCQQHh7OnXfeWZOXLCIiUsJFtRh0bGwsTz31lPOmX5qzZ88ybtw48vLymDJlCo888ggGg4FTp04xZswYvvvuO6ZNm8acOXOKxEVHR7N27VpCQkJYsmQJHTp0ACAuLo6JEyeydOlSevXqxc0331yj1ygiIiLSEHh5FX0fRgsfi4hIXRUaGsrMmTOZNGkS8+bNY9WqVYSFhfHjjz9isViIjIxkxowZJeLuu+8+du7cSWxsLEOHDiUyMhKLxUJiYiIAo0eP5qabbioSYzAYmD17Ng8++CBbtmzhpptuonXr1iQlJXH+/Hn8/PxYuHAhZrO5Vq5dRETE4aIY0XDhwgVmzpzJuHHjyM3NLbfsypUrycjI4JZbbmHkyJEYDAYAwsLCWLBgAWazmZiYGOdciQBWq5XFixcDBW8iOJIMAH379mX8+PEALFy40N2XJiIiItLgeHkZaZQYg+93K/H9biWNEmNKJB5ERETqkv79+/P+++9z6623kp+fz+HDhwkNDeXhhx/mP//5DwEBASViTCYTc+bMYdq0aVx11VUkJSVx+vRpunbtymuvvcaECRNKPdcVV1zBRx99xP33388ll1xCQkICJpOJO+64gzVr1tCxY8cavloREZGSGvyIhkOHDjFy5EhSUlLw8fHhhRde4Lnnniuz/Lp16wAYNGhQiX3NmzenT58+xMbGsmnTJsaOHQtAfHw8SUlJBAYG0q9fvxJxQ4YM4fXXX2ffvn0kJycXmV9RREREREqyZ5zBln4CuEjejBERkTrt8OHDFZbp1KkTCxYsqNJxjUYjw4YNY9iwYVWKCw0NZfr06VWKERERqUkN/nNbUlISKSkp3HDDDaxbt47BgweXWfb06dMkJycD0K1bt1LLOLbHx8c7t+3btw+ALl26YDSWbNLAwEDatm1bIk5EREREREREREREpL5r8CMaWrRowfLly7nuuusqLHv8+HEA/Pz8aNasWallwsPDi5QFnPMntmjRosxjh4eHk5CQUCRORERERERERERERKS+a/CJhnbt2lW6bGpqKgBNmjQps0xQUBAAaWlpzm1nz551KU5EREREREREREREpL5r8ImGqsjOzgbAbDaXWcbX1xeAnJycEnE+Pj5lxjn2FY5zxW9rU7seZwAXD1HsgA3wOK4ew1Dyv3Xmmtx1HE/UpXB72utAfWryGLV9nPLa1p31qY9tU93jVKZtHUXcUhkREREREREREc9ToqEQx/oKhnKe/tjt9iJli/9/Zc/hiiZN/F2OdfDzNYN3NQ7wWxKmQR3HTXXx861D1+Su49SBuvg1KpTAqwP1qZN1cfE4RdrWnfVpAG1T3eOU2rYOpoLjNG0aUI3KiMhFzWDEZCrap8zPt3moMiIiIiIiIko0FOHn5wdAbm5umWUc+wqPXnDEWSyWCuMcIyJckZaWidXq2odIoxGCgwPIyrFAXtnXVyGrGT9oWMep7jEMBQ8Vs3Isdeea3HUcT9bF0a7ZueB4M1xt457jlNa27qxPfW6b6h6nvLZ18AI/IDU1A3sFox7KYjIZ3ZJ8FpH6yeAfjO+xTVjTzxR8HRBCdssoJRtERERERMRjlGgoxLHGwrlz58os49gXHBzsUlx56zhUhqsPpZxx9rKffVXtgA3wOC4ew1Cobd1Wl7p2HA/UxVBee17kbVPd45Tbtu6sTz1sm+oep1Jt6yhid/1vuoiI7UIKtvQTALg+XlZERERERMQ99LmkkDZt2gCQmZlZZtIgOTkZgJYtW5aIS0pKKvPYjrhWrVq5oaYiIiIiIiIiIiIiInWDEg2FBAUF0aJFCwD27dtXapm9e/cC0K1bN+e2Tp06AXDgwAHnGg6Fpaenc+TIEQC6du3qxhqLiIiIiIiIiIiIiHiWEg3FREVFARAdHV1i38mTJ9m2bRtGo5GBAwc6t3fv3p2QkBBSU1OJi4srERcdHY3NZqNHjx5ERETUXOVFRERERERERERERGqZEg3FjBgxAn9/f+Li4pg/fz5WqxWAU6dOMXbsWCwWCwMGDCgyBZLRaGT06NEATJ06lf379zv3bd68mblz5wIwatSo2rsQEREREREREREREZFaoMWgiwkNDWXmzJlMmjSJefPmsWrVKsLCwvjxxx+xWCxERkYyY8aMEnH33XcfO3fuJDY2lqFDhxIZGYnFYiExMRGA0aNHc9NNN9X25YiIiIiIiIiIiIiI1CglGkrRv39/IiIiWLRoEfHx8Rw+fJjmzZvTr18/xowZQ0BAQIkYk8nEnDlzWL16NWvWrOHo0aNAwZoMw4cP584776ztyxARERERERERERERqXEXZaLh8OHDFZbp1KkTCxYsqNJxjUYjw4YNY9iwYa5WTURERESKMxgxmX6f8bPw/4uIiIiIiIjnXZSJBhERERGpPwz+wfge24Q1/QwAxtBI7EYDdg/XS0RERERERAoo0SAiIiIidZ7tQgq29BMAGBo383BtREREREREpDCNOxcREREREREREREREZcp0SAiIiIiIiIiIiIiIi5TokFERESkEmbPnk379u05ePBgmWUOHjzImDFj6NWrF506dSIqKoo333yTzMzMMmPsdjurVq3innvuoXPnzvTo0YMHHniAmJiYmrgMEREREREREbfTGg0iIiIiFdiyZQvLly8vt8yOHTt49NFHycvLIzQ0lIiICBISEli0aBGxsbGsWrWKoKCgEnHPPfcca9euxWAwEBkZSW5uLrt372b37t2MHDmSKVOm1NBViYiIiIiIiLiHRjSIiIiIlCM2Npbx48djtVrLLHP27FnGjRtHXl4eU6ZMYfv27Xz44YfExcVx9dVXc/ToUaZNm1YiLjo6mrVr1xISEsK6devYsGEDsbGxLFy4EB8fH5YuXcq2bdtq8vJEREREREREqk2JBhEREZFSXLhwgZkzZzJu3Dhyc3PLLbty5UoyMjK45ZZbGDlyJAaDAYCwsDAWLFiA2WwmJiaGI0eOOGOsViuLFy8GYOrUqXTo0MG5r2/fvowfPx6AhQsXuvvSpKExGDGZjHh5/f5PRERERESkNulTiIiIiEgxhw4dIioqiuXLl+Pj48PLL79cbvl169YBMGjQoBL7mjdvTp8+fbDb7WzatMm5PT4+nqSkJAIDA+nXr1+JuCFDhmA0Gtm3bx/JycnVuyBp0Az+wfge24Tvdyvx/W4ljRJjlGwQEREREZFapU8gIiIiIsUkJSWR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IiIirlAfQkRE6iIlGtwgKioKgG3btnH69OkS+6OjowG46667arVeIiIiUnep/yAiIiKuUB9CRETqIiUa3KBNmzZERUWRk5PD3/72N06dOgWA1Wplzpw5bN26FX9/fx588EEP11RERETqCvUfRERExBXqQ4iISF1ksNvtdk9XoiFISUlh+PDh/Pzzz5jNZiIjIzl16hQpKSl4eXmxaNEibrzxRk9XU0REROoQ9R9ERETEFepDiIhIXaNEgxtlZGSwePFiYmJiOHHiBH5+fnTv3p3HH3+crl27erp6IiIiUgep/yAiIiKuUB9CRETqEiUaRERERERERERERETEZVqjQUREREREREREREREXObl6QpIzblw4QJvv/02MTExnDx5ksDAQHr06MHjjz/OlVde6enq1QuJiYksXbqUr7/+mlOnTuHl5UWbNm0YOHAgw4YNw2w2l4g5ePAgb7/9Nt9++y1ZWVmEh4fTv39/HnvsMfz9/T1wFXXfkSNHuPvuu7FYLBw+fLjUMmrXyrHb7Xz88cesXbuWw4cPk52dzeWXX86AAQN49NFH8fX1LRGjtq3YqVOnWLRoEdu2beP06dM0atSIq666igceeIBbb721zDi1rYjrdA92P91vXaN7a/XoHlo9s2fPZtmyZaxZs4ZOnTqVWsaVtrLb7axevZro6GiOHDmC2WymQ4cOPPjgg0RFRdXkJYk0SBMmTGDTpk14e3vz0UcfERkZWW75rKwsBg4cSHJyMtdccw0rV67EaNS7wNKwJSUl0bdvXwAeeughnnnmmXLL//3vf+ff//4399xzD7NmzaqNKko1aeqkBurChQsMHz6cQ4cO4evrS5s2bTh58iSpqal4e3vz1ltvlduxF/jiiy944oknyMrKwtvbm9atW5ORkcGJEycA6NKlC8uWLaNx48bOmB07dvDoo4+Sl5dHaGgoISEhJCQkkJeXxxVXXMGqVasICgry0BXVTTabjfvvv599+/YBlPrgQ+1aORaLhYkTJ/L5558D0KpVK6DgYZ3dbueqq65ixYoV+pmtooSEBEaMGEFaWhpms5lWrVqRlpbGmTNnAHjkkUd4+umnS8SpbUVcp3uw++l+6xrdW6tH99Dq2bJlC3/729+wWq1lJhpcbatnn32WtWvXYjAYiIyMJDc3l8TERABGjhzJlClTavryRBqU1NRUbr/9ds6dO0fXrl1ZtWpVuYmDmTNnsnz5cho1asT69etp0aJFLdZWxDMKJxqMRiOrVq0qdz0ZJRrqIbs0SJMmTbK3a9fOPnz4cHtqaqrdbrfb8/Pz7W+99Za9Xbt29q5du9rPnDnj4VrWXampqfYePXrY27VrZ580aZI9PT3due/bb7+133zzzfZ27drZp0yZUiTmmmuusbdr186+ZMkSu81ms9vtdvvJkyftf/7zn+3t2rWzP/HEE7V+LXXdO++8Y2/Xrp3zX3Fq18qbPXu2vV27dvbrrrvO/u233zq379+/3967d297u3bt7C+//LJzu9q2Yjabzf6nP/3J+ff09OnTzn3vv/++vX379vZ27drZN2/eXCRObSviOt2Da4but67RvdV1uodWT0xMjL1Tp07O39kDBw6UKONqW73//vv2du3a2Xv37m3/4YcfnNs///xz5zm3bt1acxcn0kB99NFHzt/ZFStWlFlu//799g4dOtjbtWtnf++992qxhiKe9csvvxTpj95+++323NzcMsvPmDHD3q5dO/vTTz9di7WU6tC4rAYoMTGRjRs3YjabeeONNwgODgbAZDIxfvx4+vTpQ1ZWFsuXL/dwTeuutWvXkp6eTqtWrZg1axYBAQHOfd27d3dmUtevX8/Zs2cBWLlyJRkZGdxyyy2MHDkSg8EAQFhYGAsWLMBsNhMTE8ORI0dq/4LqqGPHjjF37txSpxxwULtWTnJyMsuXL8dgMLBo0SK6d+/u3Ne5c2fn24IfffQRNpsNUNtWxqFDh5xv/b7xxhuEhIQ49w0dOpS77roLKPibUZjaVsR1uge7n+63rtG9tXp0D3XNhQsXmDlzJuPGjSM3N7fcsq60ldVqZfHixQBMnTqVDh06OPf17duX8ePHA7Bw4UJ3X5pIg3f33Xdz0003AfCPf/zDORKzsLy8PJ577jlsNhvXXnstw4cPr+1qitQJBoOBn376ibffftvTVRE3UqKhAVq/fj02m40//OEPhIWFldh/7733ArBx48barlq9sWvXLgD69euHt7d3if29evXC398fm83GDz/8AMC6desAGDRoUInyzZs3p0+fPtjtdjZt2lRzFa9HbDYbzzzzDBaLhSeeeKLMcmrXyvnkk0/Iz88nKiqKLl26lNjft29fxo0bx/jx47FYLIDatjIcHw6aNGlS6t9TxxQGv/76a5HtalsR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t2vXju7du5f6r/DckY5tTZs2VbtWgeP3/sCBA6Xut1qt/PLLLwBcfvnlattKCggIAOD06dNllnE8SHF0YtS2ItWne7DrdL91H91bq0f30Jrlalt16tQJKPi5Lu1t5/T0dI4cOQJA165d3VhjESkuMDCQpk2bAvDTTz+VWS4+Pp4ff/zROSVSbm4uhw8f5tChQ0DB6KMBAwYwY8YMtmzZ4lzvYf369TV8BSLudeuttzJgwACg4GWY1NTUIvtbt24NwP/+978yj+HYZzQaueyyy2qoplIWJRoaoKioKKAgI15axz46OhqAu+66q1brVZ/k5uYyevRoTp06hZ+fH0uWLKFv377lxjja3dG+hZ08eZJt27ZhNBrLXOSpoZs6dSqrVq0q9d9LL73kLOfYdvPNNwNq18pyXP/WrVudc3cWtmbNGrKysggODqZHjx6A2rYyevXqBZTeRgDffvut821XR1lQ24pUh+7B1aP7rfvo3lo9uofWPFfaqnv37oSEhJCamuqc3qqw6OhobDYbPXr0ICIiouYqLyIAzvvwypUrS91/6NAhHnjgAQYOHOhMHq5fv54777yzxJoPACaTiZ49ewJgs9lqqNYiNWfq1KkEBQVx7tw5YmJiiuy78cYbMZlMHDt2zDntYnHvvfceUJBk14iG2qdEQwPUpk0boqKiyMnJ4W9/+xunTp0CCt66mjNnDlu3bsXf358HH3zQwzWtuxYvXkxCQgJQsBCN40ZdnhEjRuDv709cXBzz58/HarUCcOrUKcaOHYvFYmHAgAEaglxFatfKufnmm7n22mvJy8vj8ccf5/Dhw85933zzDW+88QZQsIiql1fBrHlq24qNGjUKb29vduzYwfTp04sM0dy9ezdPPvkkdrudO+64wzkVAahtRapD92DPUBuWpHtr9egeWvNcaSuj0cjo0aOBgoc5+/fvd+7bvHkzc+fOBQq+fyJS8x577DEaNWrEli1bmDFjRol1G8aMGYPdbqdTp05cf/31APTr1w9fX18SEhJ49dVXiywKf/z4cd59910Abrrpptq9GBE3aNq0Kc8++yxAiZF3ERERDBo0CICnnnqKr776yrkvNzeX1157jY0bN2IymUqs6ya1w2DX6jANUkpKCsOHD+fnn3/GbDYTGRnJqVOnbFCInQABAABJREFUSElJwcvLi0WLFnHjjTd6upp1ksVi4Q9/+APnz5/H19fXuWJ9WSZMmOB8C+vTTz9l0qRJWK1WmjVrRlhYGD/++CMWi4XIyEhWrVrlHEYuvzt48CCDBw8GKPIh3kHtWjkpKSk8/PDDJCQkYDAYaNOmDTabjaNHjwLwpz/9iVdffdU5nzSobSvjv//9L8888wwWi4VGjRrRunVrUlJSnCPGevbsyeLFi53zRTqobUWqTvfgmqX7bdXp3lo9uodWn2M9lTVr1jinPSrMlbayWq1MmDCB2NhYACIjI7FYLM4RJqNHj2bChAk1e2EiF4lvvvmGESNGABAXF1fqVC6ff/45Tz31FNnZ2fj6+tKmTRsyMzNJTEzEbrfTokUL/v3vfxMaGuqM2bhxIxMnTgQKpp9r0aIF2dnZHD9+HKvVylVXXcWKFSv0RrfUKUlJSc6Ryjt27CA4OLjMso899hjbtm0D4J577mHWrFkAzpeqv/zyS6Ag+RAcHMzRo0fJzMzEbDYzbdo0Z59XapcSDQ1YRkYGixcvJiYmhhMnTuDn50f37t15/PHHNd9mOb777jtnhrQy5syZQ//+/Z1fHzx4kEWLFhEfH8+FCxdo3rw5/fr1Y8yYMQQGBtZEleu9ih58OMqoXStmsVhYsWIF//3vf0lMTMTLy4vIyEjuvffeMqdLU9tW7KeffmLZsmXs2LGDM2fO4OPjQ2RkJHfffTeDBw92vslanNpWpGp0D65Zut+6RvfW6tE9tHoqSjSAa21ls9lYvXo1a9ascSbO2rdvz/Dhw7nzzjtr5mJELkKVSTQA/PLLL7z77rt8+eWXnDx5EoPBQIsWLbj11lt55JFHSk2u7ty5k5UrV7Jv3z7S0tKcCd0BAwbwwAMPYDaba/TaRKqqKomGEydOcMcdd5CZmVkk0QAF97D169ezdu1aDh06RE5ODs2bN+eGG25gxIgRRUZKSu1SokFERERERERERERERFymNRpERERERERERERERMRlSjSIiIiIiIiIiIiIiIjLlGgQERERERERERERERGXKdEgIiIiIiIiIiIiIiIuU6JBRERERERERERERERcpkSDiIiIiIiIiIiIiIi4TIkGERERERERERERERFxmRINIiIiIiIiIiIiIiLiMiUaRERERERERERERETEZUo0iIiIiIiIiIiIiIiIy5RoEBERERGROuWbb76hffv2tG/fniNHjni6OiQlJTnrs337dk9XR0RERKQET/VX5s2bR/v27fnjH/9Ya+eUukmJBhERERERERERERERcZmXpysgIiIiIiJSl3l7e9O6dWsA/Pz8PFwbERERkZLUXxFPU6JBRERERESkHGFhYXz66aeeroaIiIhImdRfEU/T1EkiIiIiIiIiIiIiIuIyjWgQkRp39uxZVq9ezZdffsmxY8fIyMjAx8eH8PBwevfuzYgRIwgPDy819syZMyxfvpzNmzfz66+/4uvry7XXXsvjjz+OxWLh3nvvJSIigs2bN5eIPX/+vDM2MTERm81G8+bN6d27Nw899BAtWrSo6UsXERERN/jss8949913+eGHHzCZTHTs2JFBgwZx1113YTAYnOU+/PBDnnnmGbp06UJ0dDTr169n1apVJCQkANC2bVv+8pe/cPvttwOwZ88e/vnPf7J3716ysrJo1aoV9957L8OHDy9y3KSkJPr27QvAO++8w0033VSLVy8iIuIedrudTZs28dFHH/Hdd9+RkZHBJZdcQqdOnRg8eDC33nprkfIvvPAC77//Pi1atOCzzz4r87iPP/44W7Zs4ZZbbmHRokVF9h04cIAVK1YQHx9PSkoKfn5+tG3blv79+3Pvvffi4+NTpHzhe+4333zD22+/zbp168jNzeXyyy/n73//O926dXO5Db755htGjBhBs2bN+Oqrr9i2bRv/+te/+P7777FYLLRo0YKhQ4cyfPhwAH788Ufefvttdu7cSXp6OhEREfzpT39i1KhReHt7lzi+xWLh448/Ji4uju+//560tDRMJhNNmzblmmuuYdiwYXTt2rXK1xwSElKlMmX1V7766itWr17N3r17OXfuHP7+/lx55ZXceeed3HnnnZhMplLbLTU1lRUrVvD555+TnJyMv78/vXv3Zty4cS5/L6ThMdjtdrunKyEiDdfu3bsZM2YM6enpQMGcgT4+Ply4cMFZJjAwkPfee48OHToUif3+++/561//SmpqKlAwx6DVaiU3NxeTycSwYcN47733Sk007Nu3jzFjxjhjvb298fX1JSMjAwAfHx9efPFF7rrrrhq7dhEREXGN4yEAwMCBA/nvf/8LQEBAANnZ2eTn5wNw4403Mn/+fHx9fYHfEw2dO3emVatWrF+/HgB/f38yMzOdx3/hhRcwm81MmzYNq9WKn58f2dnZOD4a/fWvf2Xy5MnO8ko0iIhIfZeZmcnEiRPZtm2bc1tgYCCZmZlYrVYAoqKieO2115wP//fu3ct9990HQHR0NF26dClx3LS0NG688Uby8vKYM2cO/fv3d+6bM2cOCxcudH7t7+9PXl4eFosFgMjISBYtWsRll13mLFP4ntuvXz8+++wzfHx8sNlseHl58eWXX9K4cWOX26FwomHw4MHOxEjxvsIjjzzCddddx7hx48jNzcXPz4/c3FxnWw0YMIC33nqryLFPnTrFX//6V+cLDkajkcaNG5ORkeHsYxiNRmbOnMk999xTpWs+d+5clcoU76/k5+fzwgsvsHbtWue24v2qnj17Mn/+fIKCgopc16FDh3j00Uc5ffo0UPTZTOPGjenZsydbtmwp8yVQuXho6iQRqTEZGRlMmDCB9PR0rr76atauXcvBgwf59ttv2b17N//3f/+Hl5cX6enpvPnmm0ViL1y4wGOPPUZqaiqtWrXi3//+N3v37mXv3r3MnTvXmZwoTVJSkjO2d+/efPDBB+zfv5/4+Hg+//xz/vznP5Obm8szzzzDjh07aqMpRERExEX//e9/6dmzJxs3biQ+Pp5du3Yxfvx4DAYDX3zxBa+99lqJmIMHD7J+/XoefPBBduzYwZ49e9i0aROtWrUC4PXXX2fatGn06dOHzz//nL1797J9+3Z69uwJwPLly0lLS6vNyxQREalRTz/9NNu2bSM0NJRXXnmFPXv2sHv3buLj43nppZcICAggJiaG6dOnO2O6devmXFx4w4YNpR5348aN5OXlERQUxB//+Efn9hUrVrBw4ULMZjNjxozhyy+/ZM+ePezbt49ly5bRpk0bfvzxR0aNGkVubm6px/7ss88YN24ce/bsYc+ePbz77rvVSjIUlpqayqJFi7j99tvZunUre/bsYfv27c7RBitWrGDChAlcddVVbNiwgT179rBz505nImXTpk3OhILDs88+S0JCAkFBQSxYsICDBw+ye/du9u/fz/z58wkNDcVms/HKK684ky2uXLMr7fLaa6+xdu1aAgICeOaZZ9i1axfx8fHOZyyhoaHs3r2b8ePHU/id9JycHMaMGcPp06e57LLLWLFihfPZzPz58zGbzWzZsqWqzS8NlBINIlJjNm3aREpKCt7e3ixcuJCrr77aOQ1BYGAgDz/8sDOLv2fPniKxS5cu5cyZMwQFBbFixQp69OgBgMlk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IYM3b0JEVPzMzMywa9cuBAQEwN/fH48fP0Z0dDQsLCxQuXJldOrUCW5ublonKiIiIiIiIiKid0tmZiZevnz5VvFEVHTYo4GIiIiIiIiIiIiIiAqMczQQEREREREREREREVGBsaGBiIiIiIiIiIiIiIgKjA0NRERERERERERERERUYGxoICIiIiIiIiIiIiKiAmNDAxERERERERERERERFRgbGoiIiIiIiIiIiIiIqMDY0EBERERERERERERERAXGhgYiIiIiIiIiIiIiIiowNjQQEREREREREREREVGBsaGBiIiIiIiIiIiIiIgKjA0NRERERERERERERERUYGxoICIiIiIiIiIiIiKiAmNDAxERERERERERERERFRgbGoiIiIiIiIiIiIiIqMDY0EBERERERERERERERAXGhgYiIiIiIiIiIiIiIiowNjQQEREREREREREREVGBsaGBiIiIiIiIiIiIiIgKjA0NRERERERERERERERUYGxoICIiIiIiIiIiIiKiAmNDAxERERERERERERERFRgbGoiIiIiIiIiIiIiIqMDY0EBERERERERERERERAXGhgYiIiIiIiIiIiIiIiowNjQQEREREREREREREVGBsaGBiIiIiIiIiIiIiIgKjA0NRERERERERERERERUYGxoICIiIiIiIiIiIiKiAjMo6QLQ+yE2NhZ79+7F33//jadPnyI+Ph5mZmaws7ND8+bN0bVrV7i4uOS5j2PHjqFq1aqoX79+MZUaWL16NdasWYMKFSrg/PnzxXbc/IqNjYW/vz/OnTuH+/fvIzExEYaGhrC3t4eLiwv69u2LRo0alXQxC1VycjJ27tyJkSNHFvmxPv/8c0RERGDEiBH49ttvi/x4+nr27Bn++OMP/PPPP3j48CESEhJgaGgIa2tr1KtXD23atEGPHj1gYmJS0kXVS3h4ONq3bw8A2L59O5o3b17CJSJ6/7DeLhqst4tWaau3VeXp3bs3Fi5c+Mbt/f39MX36dABAYGAgqlSpUtRFLFEKhQJbt27F119/DblcXtLFKRD11+zmzZswMjIq4RIRFQ/mCUWDeULRYp5Qcp4+fYp//vkHbm5u+Y75559/MGjQIK3rJBIJDA0NUa5cOVSrVg2ff/45evfuDRsbG63bs74uPmxooCL3559/YtasWUhOTgYAGBoawtzcHOnp6QgN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m7788ksMGzYMdnZ2AHIa1/I7+blKQkICXr58Kf69evUKUqkU9vb2+PTTT/Hjjz/ixIkTeg9FqMqRpk2bBhcXF7Fxz8LCAk2aNMG0adPw559/5hpGuiSut5GREbZu3Yq5c+eiRYsWsLa2Rnp6OoyNjVG/fn2MHTsWAQEBWhuCRowYgQMHDsDNzQ3VqlWDUqmERCJBzZo1MXjwYBw+fFhjOLW3IRFK80weRETvgF9//RULFiyAs7Mz9u7dW9LFISIiojyU9no7v+X77rvvsH//fjRq1Ai+vr7FWEIiIqJ3V2nPE4hKEns0EBEVIYVCIU7moxpTj4iIiEqn0l5vl/byERERvctYDxPljQNYExEVsidPniAkJAQymQzbt2/H48ePYWdnh+7du5d00YiIiOg1pb3eLu3lIyIiepexHibKPzY0EBEVsujoaIwbN078f4lEgjlz5hRo/EgiIiIqWqW93i7t5SMiInqXsR4myj8OnUREVMiqVauGKlWqQC6Xo06dOlizZg0+//zzki4WERERaVHa6+3SXj4iIqJ3GethovzjZNBERERERERERERERFRg7NFAREREREREREREREQFxoYGIiIiIiIiIiIiIiIqMDY0EBERERERERERERFRgRmUdAEo/xIT05CdrSzpYhARUQmTyaSwtDQp6WJQGcH8gYiIAOYPpB/mD0REBOiXP7ChoQzJzlYiK4sVPREREeUf8wciIiLSF/MHIiLSF4dOIiIiIiIiIiIiIiKiAmNDAxERERERERERERERFRgbGoiIiIiIiIiIiIiIqMDY0EBERERERERERERERAXGhgYiIiIiIiIiIiIiIiowNjQQEREREREREREREVGBsaGBiIiIiIiIiIiIiIgKjA0NRERERERERERERERUYAYlXQAiIipZgiBAEISSLsZ7RyKRQCKRlHQxiIiICoT5Q8lg/kBERGUZ84eSUVz5AxsaiIjeQ4IgIC0tBenpKVAo0ku6OO8tudwYxsZmMDEx400DIiIq9Zg/lA7MH4iIqKzJzs5CcnIi0tNTIAjKki7Oe6k48gc2NBARvWcEQUBiYhwUinSYmlrA0tIGUqkUAH+oFh8BSqUSGRlpSElJQGZmBiwtbXizgIiISi3mD6UB8wciIip7lEol4uKiYWBgCGtrOxgYGID5Q3EqvvyBDQ1ERO+ZtLScpxBtbCpB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PIaiQYOGRXZsIiKi0o75g3bMH4iIiHRj/qBdWcof2NBARES5CAKQnZmByhNPlHRR3kp2ZgYEoWj2bW5uDk/PcfD0HFc0ByAiIipjmD+8GfMHIiIiTcwf3qys5A9saCAiIq3i4hWQSBQlXYy3UlSVPBEREWnH/IGIiIj0xfzh3cCGBiIi0okVJREREemL+QMRERHpi/lD2Sct6QIQEREREREREREREVHZxYYGIiIiIiIiIiIiIiIqMDY0EBERERERERERERFRgbGhgYiIiIiIiIiIiIiICowNDUREREREREREREREVGBsaCAiIiIiIiIiIiIiogJjQwMRERERERERERERERUYGxqIiIiIiIiIiIiIiKjA2NBAREREREREREREREQFxoYGIiIiIiIiIiIiIiIqMDY0EBERERERERERERFRgbGhgYiIiIiIiIiIiIiICowNDUREREREREREREREVGBsaCAiIiIiIiIiIiIiogJjQwMREekkkZTtv+Lk7b0SrVs3xb17d4r3wERERKVMSdf/zB+IiIjKnpKu/5k/vD2Dki4AERGVTpZWJjAyLNvVREZmFhLj04r8OOfPn4Wv784iPw4REVFpx/wh/5g/EBER5WD+kH+lOX8o268gEREVCYkEMDI0QJef9yElPbOki1MgZsaGODqjLyQSQBCK7jhnzpzEnDkzkZ2dXXQHISIiKgOYP+Qf8wciIqIczB/yr7TnD2xoICIinVLSM5GSUTYr+qKWmpqCTZvWwdd3V0kXhYiIqFRh/qAb8wciIiLtmD/oVlbyB87RQEREpKf790MxYMAX8PXdBbncCN99N7Oki0RERESlHPMHIiIi0ldZyh/Y0EBERKSnyMjniIuLRdOmzfDrr7+je/eeJV0kIiIiKuWYPxAREZG+ylL+wKGTiIiI9FSlShWsWrUOLi5NS7ooREREVEYwfyAiIiJ9laX8gQ0NREREeqpZs3ZJF4GIiIjKGOYPREREpK+ylD9w6CQiIiIiIiIiIiIiIiowNjQQEREREREREREREVGBsaGBiIiIiIiIiIiIiIgKjA0NRERERERERERERERUYGxoICIiIiIiIiIiIiKiAmNDAxERERERERERERERFRgbGoiIiIiIiIiIiIiIqMDY0EBERERERERERERERAXGhgYiIiIiIiIiIiIiIiowg5IuABERlV5mxoYlXYQCK8tlJyIiKsvKch1clstORERUlpXlOrgsl70wsaGBiIhyEQQgIzMLR2f0LemivJWMzCwIQvEc69y5oOI5EBERUSnF/EF/zB+IiOh9x/xBf6U1fyhTDQ1PnjzB5s2bceHCBURFRcHAwAC1atVC9+7d4e7uDrlcnivm1q1bWLt2La5evYrU1FTY29vD1dUVI0eOhJmZmdbjCIKA3bt3w9fXF2FhYZDL5XBycoKHhwc6d+6ss3wxMTFYvXo1zpw5g9jYWNjY2KBVq1bw9PTEhx9+WGjXgYioOCTGp0EiKelSvJ3iquSJiIgoB/MHIiIi0hfzh3dDmWloOHv2LMaPH4/U1FQYGhqiRo0aSEpKwq1bt3Dr1i0cOXIEW7Zsgbm5uRhz8eJFjBgxApmZmbCzs0PlypURGhqKdevW4fjx49i1axesrKxyHeuHH36An58fJBIJHBwckJGRgStXruDKlSsYNmwYpk6dmismKioK/fv3R2RkJMzNzeHo6Ijw8HD4+/sjICAAW7duRaNGjYryEhERFTpWlERERKQv5g9ERESkL+YPZV+ZmAw6Li4OkyZNQmpqKrp3746LFy/i0KFDOH36NHbt2oUPPvgAN27cwNy5czVixo0bh8zMTEydOhV///03/P39ERgYiAYNGuDhw4eYNWtWrmP5+vrCz88Ptra2OHDgAA4dOoTjx4/Dx8cHRkZG2Lx5M86cOZMrzsvLC5GRkXB1dcXZs2fh7++Ps2fPok+fPkhJScGECROQkZFRpNeJiIiIiIiIiIiIiKi4lYmGBj8/PyQmJqJ69epYuHAhLCwsxHUuLi5YuHAhAODgwYOIi4sDAOzYsQNJSUn47LPPMGzYMEj+v/9NxYoV4e3tDblcjoCAAISFhYn7ys7Oxvr16wEAM2fOhJOTk7iuffv2mDBhAgDAx8dHo3yXLl3CtWvXUL58eSxcuBCmpqYAACMjI8ydOxd16tRBZGQk9u/fX9iXhoiIiIiIiIiIiIioRJWJhobLly8DADp27AhDw9yzeDdv3hxmZmZQKpW4e/cuAODAgQMAgD59+uTavlKlSmjXrh0EQcDRo0fF5UFBQQgPD4elpSU6duyYK87NzQ1SqRTXr19HRESEuFx1rK5du8LExEQjRiaTwc3NDQBw5MgRPc6aiIiIiIiIiIiIiKj0KxMNDWPHjsWiRYvQrVs3reuzsrKQmZkJIKdXQnR0tNgQ0KRJE60xquVBQf/N0n39+nUAQKNGjSCV5r40lpaWqF27dq644OBgADm9K/I6VnBwMLKysrSfJBERERERERERERFRGVQmJoNu1KhRnhMp//3331AoFACA2rVr4+nTpwAAU1NTVKhQQWuMvb09AIjbAsCTJ08AAB9++KHOY9nb2yM0NFSMUyqVCA8PBwBUrVo1z2MpFAq8ePECVapU0bl/IiIiIiIiIiIiIqKypEz0aMhLeno6lixZAgBo1qwZ7O3tERsbCwCwtrbWGWdlZQUAePXqlbhMNb+DPnEJCQliLwVdcerL1Y9XHCSSd+ePiIiIiIiIiIiIiEqfMtGjQZfs7GxMnToVDx8+hIGBAaZMmQIASEtLAwDI5XKdscbGxgByGipUVHFGRkY641TrVHHq8briJBIJ5HI5FAoFMjIy3nheedHnhrt1OTlkhrrPpazJzszAqwRFSRejTHlXG2je1fMqDrx2pRsbVomIiIiIiIioLCqzDQ1ZWVmYNm0aAgICAADffvstnJ2dAUCcX0GSx90aQRA0tn3932+i2lY9Jj/Hy2ubN7G2NtM7JmJ5Bygzkgt8zNJCamSOyhNPoEKFd6fhhAqufHmLki5CmaVUKhETI4WBgUSv7zwqWkqlAKlUigoVLPi6FJHbt29j48aNCAoKQkJCAmxtbdG6dWsMHToUNWrU0Bpz69YtrF27FlevXkVqairs7e3h6uqKkSNHwsxMe50sCAJ2794NX19fhIWFQS6Xw8nJCR4eHujcubPO8sXExGD16tU4c+YMYmNjYWNjg1atWsHT0zPPIR2JiIqXUNIFIA18PYiIiEhfRZc/lMmGhtTUVEycOBGnT58GAIwaNQpff/21uN7U1BQA8uw9oFqn3gtBFaea7yGvOFWPCFVMXscTBEGcrFoVVxCvXqUgO1uZr20lkpybscqMZAiKlAIfs7RQnXVsbBIE5tP5pnofvGv4Pig4QRCgVCqhUGTBwICPzpcWWVlZUCoFxMYm56tBWiaTFqjx+X0VGBiI8ePHIysrCxYWFqhduzaeP38OX19fHDx4EMuXL8fnn3+uEXPx4kWMGDECmZmZsLOzQ+XKlREaGop169bh+PHj2LVrlzicoroffvgBfn5+kEgkcHBwQEZGBq5cuYIrV65g2LBhmDp1aq6YqKgo9O/fH5GRkTA3N4ejoyPCw8Ph7++PgIAAbN26Nc+5qoiIipqqblIqlZBKZSVcGlJRKpUAJG/1MBsREVFR0swh+FBdaVCU+UOZe4VfvnyJr776SmxkmDBhAiZNmqSxjWpOhPj4eJ37Ua2zsbEpUJxqWzMzMxgaGuYZpz4vg/rxCkIQ8v/3LtLn/PnH9wH/tL0fJJDLjZGRkVbSLyOpychIg1xuBEDy3n6ui8rz588xZcoUZGVlYejQobhw4QIOHDiA8+fPY8SIEUhPT8fkyZPFeZqAnDmbxo0bh8zMTEydOhV///03/P39ERgYiAYNGuDhw4eYNWtWrmP5+vrCz88Ptra2OHDgAA4dOoTjx4/Dx8cHRkZG2Lx5M86cOZMrzsvLC5GRkXB1dcXZs2fh7++Ps2fPok+fPkhJScGECRPeeuhFIqK3kTMULPOH0kaVP7ChgYiISiuJRAIDAzkyM9PfvDEVi6LMH8pUQ8Pjx4/Rv39//Pvvv5DJZJg7dy5Gjx6da7tatWoBAFJSUnTe/I+IiAAAVKtWLVdceHi4zjKo4qpXrw4gZ+gk1ZALqnW6YoyNjVGxYkWd+yYiKg7GxmZITU1CdnZ2SReFkDPfUGpqEoyN2UOhKBw8eBApKSlo0qQJpk6dKs7fZGhoiMmTJ8PR0RGpqak4cuSIGLNjxw4kJSXhs88+w7Bhw8QErGLFivD29oZcLkdAQADCwsLEmOzsbKxfvx4AMHPmTDg5OYnr2rdvjwkTJgAAfHx8NMp36dIlXLt2DeXLl8fChQvFnpJGRkaYO3cu6tSpg8jISOzfv78Irg4RUf4xfyhdmD8QEVFZYWRkgtTUFAh8aq7EFXX+UGYaGsLDwzFo0CCEh4fD2NgYq1evRr9+/bRua2VlJY5nfP36da3bBAcHAwCaNGkiLmvYsCEA4ObNm1rf/ImJieJNhcaNG4vLVXNDqPap61jOzs7sJkREJc7ExAxyuTHi4l4gJSURWVmZUCqzoVQq+Vdsf9nIyspESkoi4uJeQC43hokJbxQUhYoVK8LV1RUDBgzI9cSGRCJB7dq1AeT0fFA5cOAAAKBPnz659lepUiW0a9cOgiDg6NGj4vKgoCCEh4fD0tISHTt2zBXn5uYGqVSK69evazyYoDpW165dYWJiohEjk8ng5uYGABoNIUREJYH5Q2n4Y/5ARERlj5mZJZTKbMTHv4RCkcH84R3OH8rEHA0ZGRnw9PREVFQUTE1NsWHDBnz88cd5xnTu3BkbN26Er68v2rVrp7HuxYsXOHPmDKRSKbp37y4ud3Fxga2tLWJiYhAYGIgOHTpoxPn6+kKpVKJp06aoXLmyxrH27duHQ4cOYfz48Ro3CpRKJfbu3QsA6NmzZ0EvARFRoZFIJLC0tEFaWgrS01OQlBQPcDLBEiCBXG4EM7NyMDEx47AHRaR3797o3bu31nXZ2dm4c+cOgP96OEZHR4sNAeoPI6hr0qQJjh8/jqCgIHGZ6sGGRo0aaX2owNLSErVr10ZoaCiCgoLEPEL1MIKLi4vOY6m2y8rKgoFBmUjdiOgdxPyhtGD+QEREZYtUKoWNjR1SUhLx6lU0BCF/889SYSqe/KFM/Fpdv349QkNDAQBLlix5YyMDAAwaNAg7d+5EYGAg1qxZA09PT8hkMkRFRWHs2LFQKBTo1q2bOAQSkPPG9/T0xE8//YSZM2fC1tZWnHzx5MmTWLVqFYCcyafVtWnTBs7Ozrh58yYmTpyIX375BRYWFsjIyMCcOXMQGhoKe3t79OjRo5CuCBHR25FIJDA1NYepqTkEQWAXxhIgkXDyxpIUERGBpUuX4vHjx7C3txcfPHj69CkAwNTUFBUqVNAaa29vr7EtADx58gQAxB6VuuJCQ0PFOKVSKQ7XWLVq1TyPpVAo8OLFC1SpUiXf50hEVNiYP5Q85g9ERFQWyWQGsLS0gYWFNfOHElBc+UOpb2hQKBTYsWMHgJw5DjZt2oRNmzbp3N7LywvNmzeHnZ0d5s+fj0mTJmH16tXYtWsXKlasiPv370OhUMDBwQFz5szJFT9gwABcunQJx48fR79+/eDg4ACFQiHeQPD09ETbtm01YiQSCRYtWgQPDw+cOnUKbdu2RY0aNRAeHo6EhASYmprCx8dHHBeaiKg04Q9Wep9s2bIFu3fvRnh4OLKzs9GkSRMsWrQIZmY5XUdjY2MBANbW1jr3YWVlBQB49eqVuEw1mbQ+cQkJCcjKysozTn35q1evCtzQ8LYfcX5FvB1eP3oX5eQOfHMTERFR/vH+w7ut1Dc0hIaGIiEhAQCQnp6Oa9eu5bm9+o9+V1dXVK5cGevWrUNQUBBCQkJQqVIldOzYEaNHj4aFhUWueJlMhpUrV2L37t3Yt28fHj58CCBnToYvv/xSZ6+EmjVrYv/+/fDx8cHp06cRGhoKCwsLdOvWDWPGjBEnmiYiIqKSc+XKFfHhAQCIiorChQsXxKGT0tLSACDPhwOMjY0B5OQlKqo4IyMjnXGqdao49XhdcRKJBHK5HAqFAhkZGbpPLA/W1hy/u6SVL5875yQiIiIiInqXlPqGhgYNGiAkJKTA8Q0bNoS3t7deMVKpFO7u7nB3d9crzs7ODrNnz9YrhoiIiIrPjBkzsGLFCrx48QK+vr7YsmULZs+ejYyMDAwZMkScXyGvp2xUXX3V52LQNi+DLqpt1WPyc7yCPvnz6lUKsrPfbhxUiYQ3y99GbGwS2EOciEqaTCZl4zMREREVmVLf0EBERERUWFSTMFerVg1TpkyBXC6Hj48PfHx80K9fP5iamgJAnr0HVOvUeyGo4hQKxRvjVD0iVDF5HU8QBGRmZmrEFQRvcpcsQeBrQERUFt2+fRsbN25EUFAQEhISYGtri9atW2Po0KGoUaOG1phbt25h7dq1uHr1KlJTU2Fvbw9XV1eMHDlSHKrxdYIgYPfu3fD19UVYWBjkcjmcnJzg4eGBzp076yxfTEwMVq9ejTNnziA2NhY2NjZo1aoVPD0985w3ioiIqCjk//E7IiIionfMsGHDIJFIkJCQgAcPHohzIsTHx+uMUa2zsbERl+kTp9rWzMwMhoaGecapDwmpfjwiIiIqWoGBgejfvz+OHTuGjIwM1K5dGykpKfD19UWvXr1w8uTJXDEXL17EwIEDERgYCLlcDgcHB0RERGDdunXo27evzvr+hx9+wOzZs3H37l1Uq1YNNjY2uHLlCsaPH4/FixdrjYmKioKbmxv27NmD5ORkODo6Ij09Hf7+/ujVqxdu3LhRmJeDiIjojdjQQERERO+suLg43Lx5E8nJyVrXm5ubo3z58gByJoJWzamUkpKi82ZAREQEAIjzOgAQ48LDw3WWRRVXvXp1ADlDJ6mehlSt0xVjbGyMihUr6tw3ERERFZ7nz59jypQpyMrKwtChQ3HhwgUcOHAA58+fx4gRI5Ceno7JkycjLi5OjImLi8O4ceOQmZmJqVOn4u+//4a/vz8CAwPRoEEDPHz4ELNmzcp1LF9fX/j5+cHW1hYHDhzAoUOHcPz4cfj4+MDIyAibN2/GmTNncsV5eXkhMjISrq6uOHv2LPz9/XH27Fn06dMHKSkpmDBhQoHndyIiIioINjQQERHRO6tLly5wc3PT+gMdyJnEOSEhAQBga2sLKysrcaiB69eva40JDg4GADRp0kRc1rBhQwDAzZs3xTkV1CUmJiIsLAwA0LhxY3G5s7Ozxj51HcvZ2VmveSCIiIio4A4ePIiUlBQ0adIEU6dOhVwuBwAYGhpi8uTJcHR0RGpqKo4cOSLG7NixA0lJSfjss8/EHpMAULFiRXh7e0MulyMgIEDMBwAgOzsb69evBwDMnDkTTk5O4rr27dtjwoQJAAAfHx+N8l26dAnXrl1D+fLlsXDhQnE4RiMjI8ydOxd16tRBZGQk9u/fXwRXh4iISDv+YiUiIqJ3VsuWLQHkPC2oze7du5GZmQk7OzvUq1cPAMSxkLXFvHjxAmfOnIFUKkX37t3F5S4uLrC1tUVsbCwCAwNzxfn6+kKpVKJp06biPBHqxzp06BDS0tI0YpRKJfbu3QsA6NmzZ77PmYiIiN5OxYoV4erqigEDBogNBioSiQS1a9cGkNPzQeXAgQMAgD59+uTaX6VKldCuXTsIgoCjR4+Ky4OCghAeHg5LS0t07NgxV5ybmxukUimuX7+u0ftRdayuXbvCxMREI0Ymk8HNzQ0ANBpCiIiIihobGoiIiOidNWrUKMhkMly6dAkLFy4UhxAQBAH79u3D0qVLAQCTJ08WewwMGjQIZmZmCAwMxJo1a5CdnQ0gZyzksWPHQqFQoEuXLuIQSEDOMEienp4Acp5IVB8X+eTJk1i1apVYHnVt2rSBs7MzYmJiMHHiRCQlJQHImRx6xowZCA0Nhb29PXr06FEEV4eIiIi06d27N1auXIlevXrlWpednY07d+4A+G8YxejoaLEhQL3HozrV8qCgIHGZqvdko0aNtPZctLS0FBs11ONUPR5dXFzyPFZwcDCysrK0nyQREVEhMyjpAhAREREVlbp162LevHmYOXMmtm7dCl9fX1SvXh3R0dGIiYmBRCLBuHHjNG4k2NnZYf78+Zg0aRJWr16NXbt2oWLFirh//z4UCgUcHBwwZ86cXMcaMGAALl26hOPHj6Nfv35wcHCAQqHAkydPAACenp5o27atRoxEIsGiRYvg4eGBU6dOoW3btqhRowbCw8ORkJAAU1NT+Pj4iEM2EBERUcmJiIjA0qVL8fjxY9jb24u9G58+fQoAMDU1RYUKFbTG2tvba2wLQMwRVMM26ooLDQ0V45RKpTgnVNWqVfM8lkKhwIsXL1ClSpV8nyMREVFBsaGBiIiI3mm9e/eGk5MTNm7ciMuXLyMkJARWVlbo1KkTBg8ejKZNm+aKcXV1ReXKlbFu3ToEBQUhJCQElSpVQseOHTF69GhYWFjkipHJZFi5ciV2796Nffv24eHDhwBy5mT48ssvdfZKqFmzJvbv3w8fHx+cPn0aoaGhsLCwQLdu3TBmzBhxomkiIiIqGVu2bMHu3bsRHh6O7OxsNGnSBIsWLYKZmRkAIDY2FgBgbW2tcx9WVlYAgFevXonLVJNJ6xOXkJAg9lLQFae+/NWrV2xoICKiYsGGBiIiInrn1a1bF8uWLdMrpmHDhvD29tYrRiqVwt3dHe7u7nrF2dnZYfbs2XrFEBERUfG4cuWK2PsAyBlO8cKFC+LQSap5lvLqgWhsbAwASE9PF5ep4oyMjHTGqdap4tTjdcVJJBLI5XIoFApx2MiCeG16imKPf9/x+hFRWcOGBiIiIiIiIiIiHWbMmIEVK1bgxYsX8PX1xZYtWzB79mxkZGRgyJAh4vwKr08crU4QBADQmItB27wMuqi2VY/Jz/Hy2iYv1tZmBYqjwlO+fO4etEREpRkbGoiIiIiIiIiIdKhcuTKAnMmfp0yZArlcDh8fH/j4+KBfv34wNTUFgDx7D6jWqfdCUMUpFIo3xql6RKhi8jqeIAjIzMzUiNPXq1cpyM5WFihWRSLhzfK3ERubhP9vLyIiKjEymTTfjc9saCAiIiIiIiIiyqdhw4Zh7dq1SEhIwIMHD8Q5EeLj43XGqNbZ2NiIy/SJU21rZmYGQ0NDZGZmIj4+XmwEUac+D4T68fTFm9wlSxD4GhBR2ZL/fnpERERERERERO+4uLg43Lx5E8nJyVrXm5ubo3z58gByJoKuVasWACAlJUVno0FERAQAiPM6ABDjwsPDdZZFFVe9enUAOUMn1ahRQ2OdrhhjY2NUrFhR576JiIgKExsaiIiIiIiIiIj+X5cuXeDm5oYzZ85oXZ+WloaEhAQAgK2tLaysrPDhhx8CAK5fv641Jjg4GADQpEkTcVnDhg0BADdv3hTnVFCXmJiIsLAwAEDjxo3F5c7Ozhr71HUsZ2dnveaBICIiehuscYiIiIiIiIiI/l/Lli0BAL6+vlrX7969G5mZmbCzs0O9evUAAJ07d9YZ8+LFC5w5cwZSqRTdu3cXl7u4uMDW1haxsbEIDAzMFefr6wulUommTZtqDJGkOtahQ4eQlpamEaNUKrF3714AQM+ePfN9zkRERG+LDQ1ERERERERERP9v1KhRkMlkuHTpEhYuXChOuiwIAvbt24elS5cCACZPniz2GBg0aBDMzMwQGBiINWvWIDs7GwAQFRWFsWPHQqFQoEuXLuIQSEDOMEienp4AgJkzZ+LGjRviupMnT2LVqlViedS1adMGzs7OiImJwcSJE5GUlAQgZ3LoGTNmIDQ0FPb29ujRo0cRXB0iIiLtOBk0EREREREREdH/q1u3LubNm4eZM2di69at8PX1RfXq1REdHY2YmBhIJBKMGzcOvXr1EmPs7Owwf/58TJo0CatXr8auXbtQsWJF3L9/HwqFAg4ODpgzZ06uYw0YMACXLl3C8ePH0a9fPzg4OEChUODJkycAAE9PT7Rt21YjRiKRYNGiRfDw8MCpU6fQtm1b1KhRA+Hh4UhISICpqSl8fHwgl8uL9DoRERGpY48GIiIiIiIiIiI1vXv3xt69e9GtWzeYmpoiJCQEgiCgU6dO2LFjB8aOHZsrxtXVFXv27EGHDh2QlZWFkJAQ2NnZ4euvv8bOnTthYWGRK0Ymk2HlypWYNWsW6tevj/DwcERHR6Nx48b45Zdf4OXlpbV8NWvWxP79+zFw4ECUK1cOoaGhkMlk6NatG/bt24e6desW9iUhIiLKE3s0EBERERERERG9pm7duli2bJleMQ0bNoS3t7deMVKpFO7u7nB3d9crzs7ODrNnz9YrhoiIqKiwRwMRERERERERERERERUYGxqIiIiIiIiIiIiIiKjA3qqhYfr06ViwYEG+tx81ahQGDhz4NockIiKiMo75AxEREemL+QMREVHp9lYNDfv378fhw4fzvf3ly5dx9+7dtzkkERERlXHMH4iIiEhfzB+IiIhKt3xPBn3x4kU8ffo01/KMjAzs2bMnz9js7GzcunULaWlpKFeunP6lJCIiojKJ+QMRERHpi/kDERFR2ZPvhgapVIpZs2ZBIpGIyyQSCZKTkzF79ux8H7BFixZ6FZCIiP6vvTuPs7Hu/zj+PjNjViPbGJHdDGLGcpNIKDRCVLasFZVGZLsjd9nqTpFyI6Ko3CrZRck21kKRNcUIYSbGOsxi1nP9/pj7XL85ZjFzZszm9Xw8ziNd1/dzvt/rmHF9zvW5ru8XKLzIHwAAQHaRPwAAUPhkeeqkpk2bql27djIMw3xJsvv/jF4Wi0X33HOPHn30UY0fP/6OHQwAAChYyB8AAEB2kT8AAFD4ZPmJBkmaNWuW3f/Xrl1bZcuW1Y8//pirgwIAAEUH+QMAAMgu8gcAAAqXbBUabtWkSROVKlUqt8YCAADuAuQPAAAgu8gfAAAo2HJUaFi0aFFujQMAANwlyB8AAEB2kT8AAFCwZXmNBgAAAAAAAAAAgFvl6IkGSYqLi9OiRYu0Y8cOXblyRYmJibJarRm2t1gs2rx5c067BQAAhRj5AwAAyC7yBwAACq4cFRpiY2PVu3dvHT9+XJJkGMZtYywWS066BAAAhRz5AwAAyC7yBwAACrYcFRo+//xzHTt2TJLk5+enhg0bytvbW05OzMgEAADSR/4AAACyi/wBAICCLUeFhvXr18tisah///4aO3Zsbo0JAAAUYeQPAAAgu8gfAAAo2HJU+j937pycnJw0dOjQ3BoPAAAo4sgfAABAdpE/AABQsOXoiQY3Nzc5OzurePHiuTUeAABQxJE/AACA7CJ/AACgYMvREw3+/v6KjY3VhQsXcms8AACgiCN/AAAA2UX+AABAwZajQkOvXr1kGIZmz56dW+MBAABFHPkDAADILvIHAAAKthxNndShQwft2bNHy5YtU2Jiorp166bq1avf9lFGV1fXnHQLAAAKMfIHAACQXeQPAAAUbDkqNHTr1k2SZLFY9O233+rbb7+9bYzFYtHvv/+ek24BAEAhRv4AAACyi/wBAICCLUeFht9++y23xgEAAO4S5A8AACC7yB8AACjYclRoePfdd3NrHAAA4C5B/gAAALKL/AEAgIItR4WGp556KrfG4ZApU6bos88+0/LlyxUQEJBm//r16zVs2LBM32PixInq1auX3TbDMPTNN99o6dKlOnnypFxdXVW7dm3169dPQUFBGb7XpUuXNGvWLG3fvl1XrlxR6dKl9dBDDyk4OFiVK1d27CABAChi8jt/AAAAhQ/5AwAABVuOCg35aevWrVq4cGGmbY4fPy5Jqlixonx9fdNt4+Pjk2bbG2+8oRUrVshiscjPz0/x8fHau3ev9u7dq4EDB2r06NFpYiIiItSzZ0+dP39exYsXl7+/v8LCwrRy5Upt2LBBn3/+uerXr+/AkQIAAAAAAAAAUHAVykLDxo0b9c9//lPJycmZtrMVGoYPH67OnTtn6b2XLl2qFStWyMfHR/Pnz1ft2rUlSSEhIRoxYoQWLFigpk2bqlWrVnZxw4cP1/nz59W+fXu9++678vT0VHx8vCZNmqQVK1Zo2LBh2rBhg9zc3Bw4YgAAAAAAAAAACqYcFRrq1KmT7RiLxaLff//dof6io6M1c+bM2z7JYGMrNPj7+2epfXJysubNmydJGjdunFlkkKQ2bdpo2LBhmjp1qubMmWNXaNizZ4/279+vMmXK6L333pOHh4ckyc3NTW+//bZ+++03HT9+XKtWrdIzzzyTpbEAAFBU5XX+AAAACj/yBwAACjannAQbhpHtl9VqdaivY8eOKSgoSAsXLpSbm5veeeedTNtHR0crPDxcLi4uql69epb62Ldvn8LCwlSiRAm1a9cuzf7u3bvLyclJBw8eVHh4uLl99erVkqQOHTqYRQYbZ2dnde/eXZK0bt26LI0DAICiLC/zBwAAUDSQPwAAULDl6ImGiRMnZrgvOTlZMTEx+vPPP7V161ZzGiFH1ykICwvT5cuX1bx5c40bN07Vq1fXG2+8kWH748ePyzAMVa1aVa6urlnq4+DBg5Kk+vXry8kpbQ2mRIkSqlmzpkJDQ7Vv3z5VrFhRknTgwAFJUqNGjdJ934YNG5rtkpKS5OJSKGesAgAgV+Rl/gAAAIoG8gcAAAq2HF3xzuo0QJcuXVLfvn317rvvas2aNQ71VblyZS1cuFAPPvhgltrbpk3y8/PTzz//rHXr1unMmTNyd3dXYGCgevToobJly9rFnDlzxuwrIxUqVFBoaKjOnj0rSbJarQoLC5MkVapUKcMYSUpISNCFCxd03333ZekYAAAoivIyfwAAAEUD+QMAAAVbjqZOyiofHx9NnDhRN27c0Mcff+zQe/j7+2e5yCD9f6Fh+/bt6t+/v7755hvt3r1bW7du1YwZM/TYY49py5YtdjFXr16VJJUqVSrD9y1ZsqQk6dq1a5Kk69evKykpKdO41NttcQAAIHO5kT8AAIC7C/kDAAD5I8/m8GnWrJlcXV21c+fOPOnPVmgwDENjxoxRx44dVapUKf3555+aNWuWtmzZoldffVVff/21AgMDJUk3b96UlLKIc0Zs++Li4uz+m1mcxWKRq6urEhISFB8fn6Pjslhyt11hU1SP604pqp9XUT0uAGnldf4AAAAKP/IHAADyXp4uFmCxWHT58uU86euxxx5TlSpV9OSTT6pZs2bm9vvvv19z5szRyy+/rG3btumDDz7QwoULJSnddRkyYmubOsaSydVPwzBu2+Z2SpXycji2qChTxju/h4ACgJ8D4O6Sl/kDAAAoGsgfAADIW3lWaAgJCVF8fLx8fX3zpL8BAwZkuM9isZiFhl9++UVRUVHy9vaWp6enpJS1FDJieyLB3d1dksyY1PtuZRiGEhMT7eIcce1ajJKTrVlqa7EUzYuxV65E6X81G2QBPwdA0eTs7HTXFJ/zOn8AAACFH/kDAAB5L0eFhtOnT2e632q1KiYmRr/++qs++ugjWSwWNW/ePCdd5po6depIShnj+fPn5e3tba6lEBkZmWGcbZ+trZeXl4oVK6bExERFRkaqYsWKaWJSr8tQunTpHI37br+4ahh8BuDnACjsCnP+AAAA8gf5AwAABVuOCg2PP/54lqcCMgxDbm5ueumll3LSZbbEx8dnuG6CkeoqZbFixSRJNWrUkCSFhYVl+J7h4eGSpKpVq0pKmTqpWrVqCg0NVXh4uOrWrZthjLu7O3dUAADuegU9fwAAAAUP+QMAAAVb1hclyIBhGFl6+fn5ad68eapWrVpujDtThw8fVqNGjRQYGKiIiIh02/zxxx+SUi7+255CCAgIMOONdG6XvnHjhk6ePClJatCggbndtpj0gQMH0u3Ltj0wMDBb60AAAFBUFcT8AQAAFGzkDwAAFFw5eqLhv//9b6b7LRaLXF1d5evrq/Lly+ekq2ypUaOGrNaUtQy+/fbbdO9i+PzzzyVJbdq0kaurqySpUaNG8vHx0aVLlxQSEqK2bdvaxSxdulRWq1WNGze2myIpKChIy5cv19q1a/Xqq6/Kw8PD3Ge1WrVs2TJJUpcuXXL3QAEAKIQKav4AAAAKLvIHAAAKthwVGh544IHcGkeu8vLyUq9evfTZZ59p1qxZqlixojp27ChJunnzpj788ENt3LhRHh4eGjZsmBnn5OSk4OBgvfXWWxo3bpx8fHxUv359SdKWLVs0c+ZMSdKgQYPs+nv44YcVGBiow4cPa8SIEXr//ffl7e2t+Ph4TZo0SaGhoapQoYI6d+6cR58AAAAFV0HNHwAAQMFF/gAAQMGWo0JDQTZixAidOHFCO3fu1MiRI/Xuu+/K19dXp06dUmxsrDw8PPTRRx+pSpUqdnHPPPOM9uzZo40bN6pHjx7y8/NTQkKCzpw5I0kKDg5Wy5Yt7WIsFoumTJmifv36aevWrWrZsqWqVaumsLAwXb9+XZ6enpozZ4755AQAAAAAAAAAAEVFrhUa1q1bp2+//VaHDx/W9evXJUmlSpVS7dq11b59e3Xt2jVP1ydwdXXVJ598opUrV2rVqlU6duyYjh8/rnLlyqlz58566aWX7KY/snF2dtaMGTP0zTffaPny5Tp16pSklDUZ+vTpk+FTCdWrV9eqVas0Z84cbdu2TaGhofL29lbHjh31yiuvmAtNAwCA/1fQ8gcAAFDwkT8AAFDwWIz0Vj3OhsjISA0bNky//PKLJKW7iLLFYlHjxo01Y8YMlS5dOifd3dWuXYtRUpI1S20tFqlsWW+de+9BGQkxd3hkd57F1UuVXt+jy5ejlLOf2LsLPwdA0eTi4qRSpbzyexg5Qv6Qd7KTP2SkqJ1P8grnLQAFCfkDsoP8If+QPwAoSLKTP+ToiQar1aqhQ4dq3759MgxDDRo0UPPmzeXr6yur1aoLFy5o165dOnLkiPbt26dRo0aZizADAIC7E/kDAADILvIHAAAKthwVGtauXau9e/fKzc1NH3zwgdq2bZumzYgRI7Rx40a99tpr2rNnj9avX6/27dvnpFsAAFCIkT8AAIDsIn8AAKBgy9GkhWvWrJHFYtFrr72W7kne5rHHHtM///lPGYahVatW5aRLAABQyJE/AACA7CJ/AACgYMtRoeH333+Xs7Ozunbtetu2Xbt2lbOzs44dO5aTLgEAQCFH/gAAALKL/AEAgIItR4WGqKgoeXl5ycPD47ZtPT09Vbx4cV29ejUnXQIAgEKO/AEAAGQX+QMAAAVbjgoNJUuWVFRUlCIjI2/bNjIyUlFRUbrnnnty0iUAACjkyB8AAEB2kT8AAFCw5ajQEBgYKMMwtHDhwtu2/eKLL2S1WhUQEJCTLgEAQCFH/gAAALKL/AEAgIItR4WGHj16yDAMzZs3T5999pmSk5PTtElOTtaCBQs0b948WSwWdevWLSddAgCAQi6v84czZ85o/Pjxatu2rQICAtSwYUN169ZNX3zxhRISEtKNOXLkiAYPHqymTZsqICBAQUFBmj59umJiYjLsxzAMLV68WE899ZQCAwPVuHFj9e3bVxs2bMh0fJcuXdL48ePVqlUr1atXTy1bttTYsWN19uxZh48ZAICihusPAAAUbBbDMIycvMHw4cO1fv16WSwWlSlTRk2aNJGvr68k6cKFC9q3b5+uXLkiwzDUrl07zZo1K1cGfje6di1GSUnWLLW1WKSyZb117r0HZSRkfFGksLC4eqnS63t0+XKUcvYTe3fh5wAomlxcnFSqlFd+DyNH8ip/2Llzp1599VXFxsaqWLFiqlatmqKionT+/HlJUv369fXZZ5+pePHiZszu3bv14osvKjExUeXKlZOPj49CQ0OVmJio6tWra/HixSpZsmSavv71r39pxYoVslgs8vPzU3x8vM6cOSNJGjhwoEaPHp0mJiIiQj179tT58+dVvHhxValSRWFhYbp+/bq8vLz0+eefq379+g4du0128oeMFLXzSV7hvAWgICF/QHaQP+Qf8gcABUl28geXnHb2/vvvy8PDQ6tWrdLly5e1fv16u/22OkaXLl301ltv5bQ7AABQBORF/nD16lWNHDlSsbGx6tSpkyZOnChvb29J0v79+zVy5EgdOnRIb7/9tqZMmWLGDB06VImJiRo9erQGDBggi8WiiIgIDR48WL/99psmTJigGTNm2PW1dOlSrVixQj4+Ppo/f75q164tSQoJCdGIESO0YMECNW3aVK1atbKLGz58uM6fP6/27dvr3Xfflaenp+Lj4zVp0iStWLFCw4YN04YNG+Tm5ubQZwAAQFHC9QcAAAquHD/RYHP06FGtW7dOhw8f1tWrV2W1WlWmTBkFBASoU6dOqlu3bm50c1fjiQYq+tnFzwFQNBWFOxJt7mT+8Omnn2ratGmqWrWqvvvuOxUrVsxu/549e/Tss8/KyclJP/30k0qXLq2ZM2dq9uzZeuSRRzR37ly79hcuXFC7du2UmJio77//XjVq1JCUMk3DY489prCwMM2cOVNBQUF2cQsWLNDUqVPVoEEDLVmyJE3/ZcqUUUhIiDw8PMx9ycnJeuqpp3T8+HFNmjRJzzzzjMOfA3ck5h/OWwAKEvIHZAf5Q/4hfwBQkOTpEw02devW5WQOAACy5U7mD7/88oskqV27dmmKDJLUtGlTeXl5KSYmRn/88YceeughrV69WpLUtWvXNO3Lly+v1q1ba+PGjfrhhx80ZMgQSdK+ffsUFhamEiVKqF27dmniunfvrmnTpungwYMKDw9XxYoVJcnsq0OHDnZFBklydnZW9+7d9e9//1vr1q3LUaEBAICihusPAAAUPDlaDNrm1KlTeuutt7R371677cnJyWrRooXefPNNFjQEAAB27nT+MGTIEE2ZMkUdO3ZMd39SUpISExPNPi9evKjw8HBJUsOGDdONsW3ft2+fue3gwYOSUtZ7cHJKm1qVKFFCNWvWTBN34MABSVKjRo0y7evAgQNKSkpK/yABALjLcP0BAICCKceFhm+//VZPPvmkFi9erN9++81u399//63Lly9rxYoV6tKli7Zv357T7gAAQBGQF/lD/fr19eSTT6pOnTrp7t+xY4cSEhIkSTVr1jQvSnh6eqps2bLpxlSoUEGS7C5g2BZ8rly5coZjuTXOarUqLCxMklSpUqVMYxISEnThwoUM3xsAgLsF1x8AACi4clRoOHbsmN544w0lJCTo3nvvNacCsClZsqRGjBihqlWr6ubNmxoxYoTOnTuXowEDAIDCrSDkD3FxcZo2bZok6YEHHlCFChV05coVSVKpUqUyjCtZsqQk6dq1a+a2q1evZjvu+vXr5lMKGcWl3p66PwAA7kZ5nT+cOXNG48ePV9u2bRUQEKCGDRuqW7du+uKLL8wbFW515MgRDR48WE2bNlVAQICCgoI0ffp0xcRkvD6BYRhavHixnnrqKQUGBqpx48bq27evNmzYkOn4Ll26pPHjx6tVq1aqV6+eWrZsqbFjx/I0BwAg3+So0LBgwQIlJSXp4Ycf1rp16/TYY4/Z7ff29tagQYO0evVqPfTQQ4qNjdWCBQtyNGAAAFC45Xf+kJycrNGjR+vUqVNycXHRa6+9Jkm6efOmJMnV1TXDWHd3d0kphQobW5ybm1uGcbZ9trjU8RnFWSwWcyzx8fGZH9RtWCw5f8FxufH58+LFi1dOX4VdXuYPO3fu1JNPPqklS5bowoULqlq1qu655x4dOXJE7777rvr27avo6Gi7mN27d6tXr14KCQmRq6ur/Pz8FB4errlz56pbt26KjIxMt6833nhDEydO1B9//KEqVaqodOnS2rt3r1599VVNnTo13ZiIiAh1795dS5YsUXR0tPz9/RUXF6eVK1fqySef1KFDhxw6bgAAciJHi0Hv3btXFotFEyZMML94p8fNzU1vvvmmHn/8ce3cuTMnXQIAgEIuP/OHpKQkjRkzxrxL8J///KcCAwMlyVxfwZLJ1RjDMOza3vrn27G1TR2Tlf4ya3M7pUp5ORyL3FGmjHd+DwEACr28yh+uXr2qkSNHKjY2Vp06ddLEiRPl7Z3y7/j+/fs1cuRIHTp0SG+//bamTJlixgwdOlSJiYkaPXq0BgwYIIvFooiICA0ePFi//fabJkyYoBkzZtj1tXTpUq1YsUI+Pj6aP3++ateuLUkKCQnRiBEjtGDBAjVt2lStWrWyixs+fLjOnz+v9u3b691335Wnp6fi4+M1adIkrVixQsOGDdOGDRsyvQkCAIDclqNCw+XLl1W8eHHdd999t21brVo1eXp66uLFiznpEgAAFHL5lT/ExsZqxIgR2rZtmyRp0KBBev755839np6ekjJ/esC2L/UXd1tcRtMopI6zXRixxWTWn2EY5mLVmV1QuZ1r12KUnGx1OF5KuROWi+WOu3IlSv+rGQFAvnF2dirUxee8yh9WrFihGzduqGrVqnrvvfdUrFgxc1+jRo303nvv6dlnn9WaNWs0ZswYlS5dWl9++aWioqL0yCOPaODAgWZ7X19fzZ49W+3atdOGDRt08uRJ1ahRQ1LKE5bz5s2TJI0bN84sMkhSmzZtNGzYME2dOlVz5syxKzTs2bNH+/fvV5kyZfTee+/Jw8NDUkpu8vbbb+u3337T8ePHtWrVKj3zzDPZPn4AAByVo6mTSpUqpZs3b2b6xdomKSlJiYmJ5kkQAADcnfIjf7h8+bL69u1rFhmGDRumkSNHphmXpAynNki9r3Tp0g7F2dp6eXmZFy4yiku9LkPq/hxhGDl/wXG58fnz4sWLV05fhV1e5Q+//PKLJKldu3Z2RQabpk2bysvLS1arVX/88YckafXq1ZKkrl27pmlfvnx5tW7dWoZh6IcffjC379u3T2FhYSpRooTatWuXJq579+5ycnLSwYMHFR4ebm639dWhQ4c0x+fs7Kzu3btLktatW5eNowYAIOdyVGioWbOmkpOTs3QC27x5sxITE+Xn55eTLgEAQCGX1/nDX3/9pZ49e+ro0aNydnbW22+/rcGDB6dpZ7vDMCYmJsOL/7Yv+lWqVEkTFxYWluEYbHFVq1aVlDJ1UrVq1ez2ZRTj7u4uX1/fDN8bAIC7QV7lD0OGDNGUKVPUsWPHdPfbihhSylMJFy9eNM/ZDRs2TDfGtn3fvn3mtoMHD0qS6tevn+40jCVKlFDNmjXTxB04cEBSytMVmfV14MABJSUlpX+QAADcATkqNHTp0kWGYejf//63fv755wzbHTp0SJMmTZLFYlGHDh1y0iUAACjk8jJ/CAsLU//+/RUWFiZ3d3fNmjVLPXr0SLdtyZIlVblyZUn//+X/VrYv96kvJAQEBEiSDh8+LCOdW0Zv3LihkydPSpIaNGhgbretDWF7z4z6CgwMzNY6EAAAFEV5lT/Ur19fTz75pOrUqZPu/h07dphPVdSsWVNnz56VlDItYtmyZdONqVChgiSZbSXpzJkzkmTmHlmJs1qt5o0NlSpVyjQmISFBFy5cyPC9AQDIbTlao+GJJ57QkiVLdODAAT333HNq2LChmjRpIh8fH0nSpUuXdODAAe3bt09Wq1V16tTJ8Ms9AAC4O+RV/hAfH6/g4GBFRETI09NTn3zyiZo0aZJpTFBQkD799FMtXbpUrVu3ttt34cIFbd++XU5OTurUqZO5vVGjRvLx8dGlS5cUEhKitm3b2sUtXbpUVqtVjRs3VsWKFe36Wr58udauXatXX33VbvoDq9WqZcuWSUq5sAIAwN2uIFx/iIuL07Rp0yRJDzzwgCpUqKAjR45I+v/pEdNTsmRJSfbTIl69ejXbcdevXzefUsgoLvX2a9euZWlNCwAAckOOCg3Ozs6aOXOmRo4cqb1792r//v1p7sqz3dkXEBCgjz76KN05DgEAwN0jr/KHefPmKTQ0VJI0bdq02xYZJKl///76+uuvFRISoo8++kjBwcFydnZWRESEhgwZooSEBHXs2NGcAklKmQYpODhYb731lsaNGycfHx/Vr19fkrRlyxbNnDlTUsri06k9/PDDCgwM1OHDhzVixAi9//778vb2Vnx8vCZNmqTQ0FBVqFBBnTt3zvaxAwBQ1OT39Yfk5GSNHj1ap06dkouLi1577TVJ0s2bNyVJrq6uGca6u7tLSilU2Nji3NzcMoyz7bPFpY7PKM5iscjV1VUJCQmKj4+/7XFlxmLJUXiO4+92fH4ACpscFRokycfHR4sWLdLGjRu1YcMGHTlyRJcvX1ZSUpJKlSqlunXrqkOHDnr88cfl7OycG2MGAACF3J3OHxISEvTll19KSvlyP3/+fM2fPz/D9sOHD1fTpk1Vrlw5TZ48WSNHjtSsWbO0ePFi+fr66sSJE0pISJCfn58mTZqUJv6ZZ57Rnj17tHHjRvXo0UN+fn5KSEgwp0UIDg5Wy5Yt7WIsFoumTJmifv36aevWrWrZsqWqVaumsLAwXb9+XZ6enpozZ06mFy4AALib5Nf1h6SkJI0ZM0YbNmyQJP3zn/80p0C0TW9oyeSqsK0AknoqxOxMi2hrmzomK/1l1uZ2SpXycjgWuaNMGe/8HgIAZEuOCw02jz32mB577LHcejsAAHAXuFP5Q2hoqK5fvy4p5e6//fv3Z9o+9VQG7du3V8WKFTV37lzt27dPx48fV/ny5dWuXTsNHjxY3t5pv/Q5OztrxowZ+uabb7R8+XKdOnVKUsqaDH369MnwqYTq1atr1apVmjNnjrZt26bQ0FB5e3urY8eOeuWVV8yFpgEAwP/Ly+sPsbGxGjFihLZt2yYp5QnF559/3tzv6ekpSZk+PWDbl/opBFucbb2HzOJsT0TYYjLrzzAMc7FqW5wjrl2LUXKy1eF4KeWOfC6WO+7KlSils/wXAOQpZ2enLBefc63QAAAAUFDUq1dPx48fdzg+ICBAs2fPzlaMk5OTevfurd69e2crrly5cpo4cWK2YgAAwJ13+fJlvfTSSzp69KgkadiwYRo8eLBdG9uaCJGRkRm+j21f6dKlHYqztfXy8lKxYsWUmJioyMhIu7WfbFLfPJG6P0dwkTt/GQZ/BwAKl6w/qwcAAAAAAHAX+Ouvv9SzZ08dPXpUzs7Oevvtt9MUGSSZTx/GxMRkWDQIDw+XJFWpUiVNXFhYWIZjsMXZ1oZycnJStWrV7PZlFOPu7i5fX98M3xsAgNxGoQEAAAAAAOB/wsLC1L9/f4WFhcnd3V2zZs1Sjx490m1bsmRJVa5cWZJ08ODBdNvYFq1u2LChuS0gIECSdPjwYXNNhdRu3LihkydPSkqZitHGtjbErQth39pXYGBgttaBAAAgpzjrAAAAAAAAKGXtg+DgYEVERMjT01Pz589XmzZtMo0JCgqSJC1dujTNvgsXLmj79u1ycnJSp06dzO2NGjWSj4+Prly5opCQkDRxS5culdVqVePGje2mSLL1tXbtWt28edMuxmq1atmyZZKkLl26ZPGIAQDIHRQaAAAAAAAAJM2bN0+hoaGSpGnTpqlJkya3jenfv7+8vLwUEhKijz76SMnJyZKkiIgIDRkyRAkJCXr88cfNKZCklGmQgoODJUnjxo3ToUOHzH1btmzRzJkzJaUsPp3aww8/rMDAQF26dEkjRoxQVFSUpJQCyZtvvqnQ0FBVqFBBnTt3dvxDAADAASwGDQAAAAAA7noJCQn68ssvJaWscTB//nzNnz8/w/bDhw9X06ZNVa5cOU2ePFkjR47UrFmztHjxYvn6+urEiRNKSEiQn5+fJk2alCb+mWee0Z49e7Rx40b16NFDfn5+SkhI0JkzZyRJwcHBatmypV2MxWLRlClT1K9fP23dulUtW7ZUtWrVFBYWpuvXr8vT01Nz5syRq6trLn4yAADcHoUGAAAAAABw1wsNDdX169clSXFxcdq/f3+m7a9du2b+uX379qpYsaLmzp2rffv26fjx4ypfvrzatWunwYMHy9vbO028s7OzZsyYoW+++UbLly/XqVOnJKWsydCnT58Mn0qoXr26Vq1apTlz5mjbtm0KDQ2Vt7e3OnbsqFdeecVcaBoAgLxEoQEAAAAAANz16tWrp+PHjzscHxAQoNmzZ2crxsnJSb1791bv3r2zFVeuXDlNnDgxWzEAANxJrNEAAAAAAAAAAAAcRqEBAAAAAAAAAAA4jEIDAAAAAAAAAABwGIUGAAAAAAAAAADgMAoNAAAAAAAAAADAYRQaAAAAAAAAAACAwyg0AAAAAAAAAAAAh1FoAAAAAAAAAAAADqPQAAAAAAAAAAAAHFaoCw1TpkxRrVq1dOTIkQzbHDlyRIMHD1bTpk0VEBCgoKAgTZ8+XTExMRnGGIahxYsX66mnnlJgYKAaN26svn37asOGDZmO59KlSxo/frxatWqlevXqqWXLlho7dqzOnj3r8DECAAAAAAAAAFCQFdpCw9atW7Vw4cJM2+zevVu9evVSSEiIXF1d5efnp/DwcM2dO1fdunVTZGRkunFvvPGGJk6cqD/++ENVqlRR6dKltXfvXr366quaOnVqujERERHq3r27lixZoujoaPn7+ysuLk4rV67Uk08+qUOHDuX0kAEAAAAAAAAAKHAKZaFh48aNGjZsmJKTkzNsc/XqVQ0dOlSJiYkaPXq0duzYoZUrVyokJET16tXTqVOnNGHChDRxS5cu1YoVK+Tj46PVq1dr7dq12rhxo+bMmSM3NzctWLBA27dvTxM3fPhwnT9/Xu3bt9fOnTu1cuVK7dy5U127dlVMTIyGDRum+Pj4XP0cAAAAAAAAAADIb4Wq0BAdHa3Jkydr6NCht71o/+WXXyoqKkqPPPKIBg4cKIvFIkny9fXV7Nmz5erqqg0bNujkyZNmTHJysubNmydJGjdunGrXrm3ua9OmjYYNGyZJmjNnjl1fe/bs0f79+1WmTBm999578vT0lCS5ubnp7bffVq1atXT+/HmtWrUq5x8CAAAAAAAAAAAFSKEpNBw7dkxBQUFauHCh3Nzc9M4772TafvXq1ZKkrl27ptlXvnx5tW7dWoZh6IcffjC379u3T2FhYSpRooTatWuXJq579+5ycnLSwYMHFR4enqavDh06yMPDwy7G2dlZ3bt3lyStW7cuS8cKAAAAAAAAAEBhUWgKDWFhYbp8+bKaN2+u1atXq1u3bhm2vXjxolkIaNiwYbptbNv37dtnbjt48KAkqX79+nJySvvRlChRQjVr1kwTd+DAAUlSo0aNMu3rwIEDSkpKynDcAAAAAAAAAAAUNi75PYCsqly5shYuXKgHH3zwtm3Pnj0rSfL09FTZsmXTbVOhQgW7tpJ05swZs6+MVKhQQaGhoWac1WpVWFiYJKlSpUqZ9pWQkKALFy7ovvvuu+0xAAAAAAAAAABQGBSaQoO/v3+W2165ckWSVKpUqQzblCxZUpJ07do1c9vVq1ezHXf9+nXzKYWM4lJvv3btGoUGAAAAAAAAAECRUWgKDdlx8+ZNSZKrq2uGbdzd3SVJcXFxaeLc3NwyjLPts8Wljs8ozmKxyNXVVQkJCbddxPp2/remda61K2yK6nHdKUX18yqqxwUAAAAAAAAURkWy0GBbX8GSydVIwzDs2t7656z2kTomK/1l1uZ2SpXycji2qChTxju/h4ACgJ8DAAAAAAAAoOAokoUGT09PScr06QHbvtRPIdjiEhISbhtneyLCFpNZf4ZhKDEx0S7OEdeuxSg52ZqlthZL0bwYe+VKlP5Xs0EW8HMAFE3Ozk4UnwEAAAAAQIFRJAsNtjURIiMjM2xj21e6dGmH4mxtvby8VKxYMSUmJioyMlIVK1ZME5N6HYjU/Tnibr+4ahh8BuDnAAAAAAAAAChIsj5XUCFSo0YNSVJMTEyGRYPw8HBJUpUqVdLEhYWFZfjetriqVatKSpk6qVq1anb7Mopxd3eXr69vFo8CAAAAAAAAAICCr0gWGkqWLKnKlStLkg4ePJhumwMHDkiSGjZsaG4LCAiQJB0+fNhcUyG1Gzdu6OTJk5KkBg0amNsDAwPt3jOjvgIDA7O1DgQAAAAAAAAAAAVdkb3qHRQUJElaunRpmn0XLlzQ9u3b5eTkpE6dOpnbGzVqJB8fH125ckUhISFp4pYuXSqr1arGjRvbTZFk62vt2rW6efOmXYzVatWyZcskSV26dMn5gQEAAAAAAAAAUIAU2UJD//795eXlpZCQEH300UdKTk6WJEVERGjIkCFKSEjQ448/bk6BJKVMgxQcHCxJGjdunA4dOmTu27Jli2bOnClJGjRokF1fDz/8sAIDA3Xp0iWNGDFCUVFRklIWh37zzTcVGhqqChUqqHPnznfykAEAAAAAAAAAyHNFcjFoSSpXrpwmT56skSNHatasWVq8eLF8fX114sQJJSQkyM/PT5MmTUoT98wzz2jPnj3auHGjevToIT8/PyUkJOjMmTOSpODgYLVs2dIuxmKxaMqUKerXr5+2bt2qli1bqlq1agoLC9P169fl6empOXPmyNXVNU+OHQAAAAAAAACAvFJkn2iQpPbt22vJkiVq27atkpKSdPz4cZUrV07PP/+8vv76a3l7e6eJcXZ21owZMzRhwgTVrVtXYWFhunjxoho0aKD3339fw4cPT7ev6tWra9WqVerVq5fuuecehYaGytnZWR07dtTy5ctVp06dO3y0AAAAAAAAAADkvUL9RMPx48dv2yYgIECzZ8/O1vs6OTmpd+/e6t27d7biypUrp4kTJ2YrBgAAAAAAAACAwqxIP9EAAAAAAAAAAADuLAoNAAAAAAAAAADAYRQaAAAAAAAAAACAwyg0AAAAAAAAAAAAh1FoAAAAAAAAAAAADqPQAAAAAAAAAAAAHEahAQAAAAAAAAAAOIxCAwAAAAAAAAAAcBiFBgAAAAAAAAAA4DAKDQAAAAAAAAAAwGEUGgAAAAAAAAAAgMMoNAAAAAAAAAAAAIdRaAAAAAAAAAAAAA6j0AAAAAAAAAAAABxGoQEAAAAAAAAAADiMQgMAAAAAAAAAAHAYhQYAAAAAAAAAAOAwCg0AAAAAAAAAAMBhFBoAAAAAAAAAAIDDKDQAAAAAAAAAAACHUWgAAAAAAAAAAAAOo9AAAAAAAAAAAAAcRqEBAAAAAAAAAAA4jEIDAAAAAAAAAABwGIUGAAAAAAAAAADgMAoNAADgrjJlyhTVqlVLR44cybDNkSNHNHjwYDVt2lQBAQEKCgrS9OnTFRMTk2GMYRhavHixnnrqKQUGBqpx48bq27evNmzYkOl4Ll26pPHjx6tVq1aqV6+eWrZsqbFjx+rs2bMOHyMAAAAAAHmJQgMAALhrbN26VQsXLsy0ze7du9WrVy+FhITI1dVVfn5+Cg8P19y5c9WtWzdFRkamG/fGG29o4sSJ+uOPP1SlShWVLl1ae/fu1auvvqqpU6emGxMREaHu3btryZIlio6Olr+/v+Li4rRy5Uo9+eSTOnToUE4PGQAAAACAO45CAwAAuCts3LhRw4YNU3JycoZtrl69qqFDhyoxMVGjR4/Wjh07tHLlSoWEhKhevXo6deqUJkyYkCZu6dKlWrFihXx8fLR69WqtXbtWGzdu1Jw5c+Tm5qYFCxZo+/btaeKGDx+u8+fPq3379tq5c6dWrlypnTt3qmvXroqJidGwYcMUHx+fq58DAAAAAAC5jUIDAAAo0qKjozV58mQNHTr0thftv/zyS0VFRemRRx7RwIEDZbFYJEm+vr6aPXu2XF1dtWHDBp08edKMSU5O1rx58yRJ48aNU+3atc19bdq00bBhwyRJc+bMsetrz5492r9/v8qUKaP33ntPnp6ekiQ3Nze9/fbbqlWrls6fP69Vq1bl/EMAAAA5wtSLAABkjkIDAAAoso4dO6agoCAtXLhQbm5ueueddzJtv3r1aklS165d0+wrX768WrduLcMw9MMPP5jb9+3bp7CwMJUoUULt2rVLE9e9e3c5OTnp4MGDCg8PT9NXhw4d5OHhYRfj7Oys7t27S5LWrVuXpWMFAAB3BlMvAgBwexQaAABAkRUWFqbLly+refPmWr16tbp165Zh24sXL5qFgIYNG6bbxrZ937595raDBw9KkurXry8np7SpVYkSJVSzZs00cQcOHJAkNWrUKNO+Dhw4oKSkpAzHDQAA7hymXgQAIGsoNAAAgCKrcuXKWrhwoT7//HNVr14907a2qQY8PT1VtmzZdNtUqFDBrq0knTlzxuwrI7fGWa1WhYWFSZIqVaqUaUxCQoIuXLiQ6dgBAEDuYupFAACyh0IDAAAosvz9/fXggw9mqe2VK1ckSaVKlcqwTcmSJSVJ165dM7ddvXo123HXr183n1LIKC719tT9OcJiyfkLjsuNz58XL168cvpC1jH1IgAA2eeS3wMAAAAoCG7evClJcnV1zbCNu7u7JCkuLi5NnJubW4Zxtn22uNTxGcVZLBa5uroqISEhR9MflCrl5XAsckeZMt75PQQAQDaknnpx3Lhxql69ut54441022Z16sWNGzc6NPViaGio9u3bp4oVK0rK/tSLLi5c9gEA5A3OOAAAAJL5Jd+SyW2fhmHYtb31z1ntI3VMVvrLrM3tXLsWo+Rkq8PxKf1zsTwnrlyJ0v/+KgEg3zg7O1F8ziLb1ItZeSryTk+9GBoamqOpF++7777bHgMAALmBQgMAAIBkznGc2dMDtn2pn0KwxSUkJNw2zvZEhC0ms/4Mw1BiYqJdnKO4yJ2/DIO/AwAoTPz9/bPctqBPvUihAQCQVyg0AAAA6P+/mEdGRmbYxravdOnSDsXZ2np5ealYsWJKTExUZGSkOR1CaqkvRqTuDwAAFBxFderFlPfKUThrg+QQnx+AwoZCAwAAgKQaNWpIkmJiYhQZGWneRZiabQ7mKlWqpImzTWWQHltc1apVJaVMnVStWjWFhoYqPDxcdevWzTDG3d1dvr6+2T8gAABwxxXVqReZZiv/MW0lgMKGQgMAAIBSpieoXLmyzp49q4MHD6p169Zp2tgWYEy92GNAQIAk6fDhwzIMI82X+hs3bujkyZOSpAYNGpjbAwMDFRoaqgMHDuixxx7LsK/AwMBsXYwAAAB5p6hOvcgaT/mPNZ4AFATZWeOJb60AAAD/ExQUJElaunRpmn0XLlzQ9u3b5eTkpE6dOpnbGzVqJB8fH125ckUhISFp4pYuXSqr1arGjRvbTZFk62vt2rXm9Ak2VqtVy5YtkyR16dIl5wcGAADuiPyYejGzuNycetG2xlBOXnBcbnz+vHjx4pXTV3ZQaAAAAPif/v37y8vLSyEhIfroo4+UnJwsSYqIiNCQIUOUkJCgxx9/3JwCSUqZxiA4OFiSNG7cOB06dMjct2XLFs2cOVOSNGjQILu+Hn74YQUGBurSpUsaMWKEoqKiJKXcofjmm28qNDRUFSpUUOfOne/kIQMAgBy4derF9OT21Iup92UUw9SLAIC8xtRJAAAA/1OuXDlNnjxZI0eO1KxZs7R48WL5+vrqxIkTSkhIkJ+fnyZNmpQm7plnntGePXu0ceNG9ejRQ35+fkpISNCZM2ckScHBwWrZsqVdjMVi0ZQpU9SvXz9t3bpVLVu2VLVq1RQWFqbr16/L09NTc+bMyXRxSQAAkL+YehEAgBRF+qxjGIYaNWqkWrVqZfjq0aNHmrgjR45o8ODBatq0qQICAhQUFKTp06crJiYm074WL16sp556SoGBgWrcuLH69u2rDRs23MlDBAAAuax9+/ZasmSJ2rZtq6SkJB0/flzlypXT888/r6+//lre3mnnGnZ2dtaMGTM0YcIE1a1bV2FhYbp48aIaNGig999/X8OHD0+3r+rVq2vVqlXq1auX7rnnHoWGhsrZ2VkdO3bU8uXLVadOnTt8tAAAIKeYehEAgCL+RENYWJhiYmLk7u6u+++/P902fn5+dv+/e/duvfjii0pMTFS5cuVUsWJFhYaGau7cudq4caMWL16skiVLpnmfN954QytWrJDFYpGfn5/i4+O1d+9e7d27VwMHDtTo0aPvxCECAIBsOn78+G3bBAQEaPbs2dl6XycnJ/Xu3Vu9e/fOVly5cuU0ceLEbMUAAICCo3///vr666/NqReDg4Pl7OxsN/Vix44d05168a233tK4cePk4+Oj+vXrS8ra1IuHDx/WiBEj9P7778vb21vx8fGaNGkSUy8CAPJNkS402C4kNGrUSJ9//vlt21+9elVDhw5VYmKiRo8erQEDBshisSgiIkKDBw/Wb7/9pgkTJmjGjBl2cUuXLtWKFSvk4+Oj+fPnq3bt2pKkkJAQjRgxQgsWLFDTpk3VqlWr3D9IAAAAAACQb5h6EQCAIj510rFjxyRJ/v7+WWr/5ZdfKioqSo888ogGDhxozpHo6+ur2bNny9XVVRs2bDDnSZSk5ORkzZs3T1LKApC2IoMktWnTRsOGDZMkzZkzJ1eOCQAAAAAAFCxMvQgAuNsV6ScaQkNDJaWdHikjq1evliR17do1zb7y5curdevW2rhxo3744QcNGTJEkrRv3z6FhYWpRIkSateuXZq47t27a9q0aTp48KDCw8Pt5lYEAAAAAAAFH1MvAgCQuSL9RIMtEcjKEw0XL15UeHi4JKlhw4bptrFt37dvn7nt4MGDkqT69evLySntx1miRAnVrFkzTRwAAAAAAAAAAEVBkX2i4ebNmzp79qwsFou8vb01Z84cHT58WPHx8apSpYo6deqkxo0bm+3Pnj0rSfL09FTZsmXTfc8KFSrYtZVkzp1YuXLlDMdSoUIFhYaG2sUBAAAAAAAAAFAUFNlCQ2hoqKxWq1xcXNSlSxfFx8eb+3bt2qXFixerW7dumjRpklxcXHTlyhVJUqlSpTJ8z5IlS0qSrl27Zm67evWqQ3EAAAAAAAAAABQFRbbQYJs2KSkpSW3atNGgQYPk5+ena9euae3atZoxY4aWL1+u4sWLa+zYsbp586YkydXVNcP3dHd3lyTFxcWZ22xxbm5uGcbZ9qWOc9T/1qfOtXaFTVE9rjulqH5eRfW4AAAAAAAAgMKoyBYaqlatqj59+uiee+7RsGHDzO2+vr564YUXVLFiRQ0fPlyLFi1S3759zfUVLJlcwTQMQ5Ls1mJIb12GjGSnbXpKlfLKUXxRUKaMd34PAQUAPwcAAAAAAABAwVFkCw0PPPCAHnjggQz3P/7445oxY4ZOnz6t7du3q3z58pJkN8XSrWz7Uj+94OnpKUlKSEi4bZztiQhHXbsWo+Rka5baWixF82LslStR+l+9B1nAzwFQNDk7O1F8BgAAAAAABUaRLTRkRe3atXX69GmFh4erTp06kqTIyMgM29v2lS5d2txmW5shK3GZreOQVXf7xVXD4DMAPwcAAAAAAABAQZKzuXwKuOTkZCUmJma43zYVUrFixVSjRg1JUkxMTIZFg/DwcElSlSpVzG22uLCwsAz7scVVrVo1y2MHAAAAAAAAAKAwKLKFhq5du6pevXr67LPPMmxz7NgxSVL16tVVsmRJVa5cWZJ08ODBdNsfOHBAktSwYUNzW0BAgCTp8OHDZuEitRs3bujkyZOSpAYNGmT7OAAAAAAAAAAAKMiKbKGhRo0aslqt+u6779J9qmHLli3666+/5OHhodatW0uSgoKCJElLly5N0/7ChQvavn27nJyc1KlTJ3N7o0aN5OPjoytXrigkJCRN3NKlS2W1WtW4cWNVrFgxl44OAAAAAAAAAICCocgWGp5//nk5OzsrNDRU//rXvxQdHW3u2759u8aMGSNJCg4OVsmSJSVJ/fv3l5eXl0JCQvTRRx8pOTlZkhQREaEhQ4YoISFBjz/+uN0USE5OTgoODpYkjRs3TocOHTL3bdmyRTNnzpQkDRo06E4eLgAAAAAAAAAA+aLILgZdp04dTZo0SRMnTtSaNWu0adMmVatWTZGRkfr7778lST179tRLL71kxpQrV06TJ0/WyJEjNWvWLC1evFi+vr46ceKEEhIS5Ofnp0mTJqXp65lnntGePXu0ceNG9ejRQ35+fkpISNCZM2ckpRQzWrZsmTcHDgAAAAAAAABAHiqyhQZJ6t69u+rWravPPvtMv/zyi06cOCEvLy89/PDD6tWrl9q0aZMmpn379qpYsaLmzp2rffv26fjx4ypfvrzatWunwYMHy9vbO02Ms7OzZsyYoW+++UbLly/XqVOnJKWsydCnTx917tz5jh8rAAAAAAAAAAD5oUgXGiTp/vvv17Rp07IVExAQoNmzZ2crxsnJSb1791bv3r2zFQcAAAAAAAAAQGFWZNdoAAAAAAAAAAAAdx6FBgAAAAAAAAAA4DAKDQAAAAAAAAAAwGEUGgAAAAAAAAAAgMMoNAAAAAAAAAAAAIdRaAAAAAAAAAAAAA6j0AAAAAAAAAAAABxGoQEAAAAAAAAAADiMQgMAAAAAAAAAAHAYhQYAAAAAAAAAAOAwCg0AAAAAAAAAAMBhFBoAAAAAAAAAAIDDKDQAAAAAAAAAAACHUWgAAAAAAAAAAAAOo9AAAAAAAAAAAAAcRqEBAAAAAAAAAAA4zCW/BwAAAAAAhY3Fkt8jKHwMI79HAAAAgDuFQgMAAAAAZEPpkq5yLuaW38ModJIT43U1MiG/hwEAAIA7gEIDAAAAAGSRxSI5F3NT+PS2ssZH5/dwCg0nt+KqOGKzLJYEnmwAAAAogig0AAAAAEA2WeOjZSTE5PcwCg1rfg8AAAAAdxSLQQMAAAAAAAAAAIdRaAAAAAAAAAAAAA6j0AAAAAAAAAAAABxGoQEAAAAAAAAAADiMQgMAAAAAAAAAAHAYhQYAAAAAAAAAAOAwCg0AAAAAAAAAAMBhFBoAAAAAAAAAAIDDKDQAAAAAAAAAAACHUWgAAAAAAAAAAAAOo9AAAAAAAAAAAAAcRqEBAAAAAAAAAAA4jEIDAAAAAAAAAABwmEt+DwAAsstiye8R5B7DyO8RAAAAAACAvFCUrmfkFa6bFB4UGgAUHs6uSkhKVpky3vk9klwTn5ikG5E383sYAAAAAADgDipd0lXOxdzyexiFTnJivK5GJuT3MJAFFBoAFBoWZxe5ujjr8X8vV0xcYn4PJ8e83Ivphze7yWKhQg8AAAAA+H/c+e6Ygvrd2mKRnIu5KXx6W1njo/N7OIWGk1txVRyxWRZLQoH9u8X/o9AAoNCJiUtUTHzhLzQAAO4OXCjIPr5IAgDuWkXwSf68VNBnDbDGR8tIiMnvYRQa1vweALKFQgMKlaL0RZ0v0AAAFHFcKHBYQb9IAADAnVLUnuTPS8waAOQvCg0oHIrgF3W+QAMAULRxocAxXCQAAIAn+QEUPhQaUCgUtS/qfIEGAODuwYUCAAAAAEUdhQYUKnxRBwAAAAAAAICCxSm/BwAAAAAAAAAAAAovnmjIRdHR0fr444+1YcMGXbhwQSVKlFDjxo318ssv6/7778/v4QEAgAKI/AEAADiCHAIAUJDwREMuiY6OVp8+fTR//nxdunRJ/v7+kqQNGzaoR48e2rx5cz6PEAAAFDTkDwAAwBHkEACAgoZCQy6ZMGGCjh07piZNmmjr1q1auXKldu7cqcGDBysxMVGvvfaaLl++nN/DBAAABQj5AwAAcAQ5BACgoKHQkAvOnDmjdevWydXVVR988IFKly4tSXJ2dtawYcPUunVrxcbGauHChfk8UgAAUFCQPwC4G1ksvLL7Am5FDgEAKIhYoyEXrFmzRlarVS1atJCvr2+a/T179tS2bdu0bt06jRo1Kh9GCAAAChryBwB3FWdXJSQlq0wZ7/weSaETn5ikG5E383sYKEDIIQDcbSi8Z59h5H2fFBpywcGDByVJDRs2THe/bXtYWJguXLig8uXL59XQAABAAUX+AOBuYnF2kauLsx7/93LFxCXm93AKDS/3YvrhzW6yWPLnggEKJnIIAHcNblRwWH7cqEChIRecOXNGklS5cuV095cqVUqenp6KjY3VmTNnOMkDAADyBwB3pZi4RMXEU2gAcoIcAsDdghsVHJNfNypQaMgFV65ckZRyMs9IyZIlFRsbq2vXruXVsAAAQAFG/gAAABxBDgHgbsONCoUDhYZcEBcXJ0lyc3PLsI1tn62tI5yds752t23uMrdKDWRNKPzzeTp7piRQgVV9FBeflM+jyTl3t5RfPRcXpztaWeTnoGDLq58Dm6I0p+HdPnVAds4HKLgKYv6QkaJ2PskrRe28lVfy+vyYXfw+OIbfB8fk5u8D+UPRkRc5BPlD/uHfS8cV5ByC3wfH8PvgmPzKHyg05AJnZ2dZrVZZMrmKZ/zvb9XJyfGTdYkSHtmOKddnrsP9FUQfvdA2v4eQq0qW9MqTfvg5KNjy6ucAQMFSkPOHjBS180leKWrnrbxS0M+P/D44ht8HxxT03wfkrbzIIcgf8h//XjquIP+bye+DY/h9cExe/y5wS0Mu8PBIOQHHx8dn2CYhIUGS5O7unidjAgAABRv5AwAAcAQ5BACgIKLQkAts8yJGRkZm2Ma2r3Tp0nkwIgAAUNCRPwAAAEeQQwAACiIKDbmgevXqkqTw8PB091+9elWxsbGSpCpVquTZuAAAQMFF/gAAABxBDgEAKIgoNOSCwMBASdKBAwfS3W/bXrFiRfn4+OTZuAAAQMFF/gAAABxBDgEAKIgoNOSCoKAgSdL27dt18eLFNPuXLl0qSerSpUuejgsAABRc5A8AAMAR5BAAgIKIQkMuqFGjhoKCghQXF6dXXnlFERERkqTk5GTNmDFD27Ztk5eXl/r165fPIwUAAAUF+QMAAHAEOQQAoCCyGIZh5PcgioLLly+rT58++uuvv+Tq6io/Pz9FRETo8uXLcnFx0dy5c/Xwww/n9zABAEABQv4AAAAcQQ4BAChoKDTkoqioKM2bN08bNmzQ+fPn5enpqUaNGunll19WgwYN8nt4AACgACJ/AAAAjiCHAAAUJBQaAAAAAAAAAACAw1ijAQAAAAAAAAAAOIxCAwAAAAAAAAAAcBiFBuSKsLAw1apVy3zNnDkzS3GvvPKKGfPWW2/laAyzZs1SrVq1NGjQoBy9D2T3d3m7V5cuXfJ7uLnGdkxHjhzJ76EUaleuXNHHH3+sXr166aGHHlK9evX0wAMPqFevXpo3b56uXr2aafz58+cVExNjt+3111/PlX8nACAvREdH6/3331fbtm1Vr149NW/eXK+++qp+//33/B4akO+mTJlCvgUA6SB/ADJG/lA4uOT3AFA0bdy4Ua+++mqmbaKjo7Vz5848GhEcUbVqVZUuXfq2bQCbr776Sh988IFZKKhYsaJq1aqliIgI7d+/X/v379fcuXP1zjvvqEOHDnaxycnJmjt3rj799FN999138vLyyo9DAIAciY6OVp8+fXTs2DG5u7vL399fFy5c0IYNG7Rlyxb95z//Udu2bfN7mEC+2Lp1qxYuXJjfwwCAAof8AcgY+UPhQaEBuc7FxUUnTpzQyZMnVaNGjQzbbdmyRfHx8Xk4MmTXoEGD9PTTT+f3MFBIfPjhh5o3b54sFot69uypl156Sffdd5+5//Tp05o3b55WrVqlESNG6K+//tLgwYPN/devX8/y01AAUFBNmDBBx44dU5MmTTRz5kyVLl1aycnJ+uijjzRnzhy99tpr2rRpk8qWLZvfQwXy1MaNG/XPf/5TycnJ+T0UAChwyB+A9JE/FC5MnYRc17RpU0kp/xhk5ocffpAk3X///Xd8TADurA0bNphFhg8++EBvvfWWXZFBkqpVq6b33ntP48aNkyTNnDlTP//8c34MFwDuiDNnzmjdunVydXXVBx98YD4V6OzsrGHDhql169aKjY3ljizcVaKjozV58mQNHTqUm4wAIB3kD0Ba5A+FE4UG5Lr27dtLSrnwmJHo6Gj9+OOPql69umrVqpVXQwNwByQnJ2vq1KmSpOeff14dO3bMtH3fvn3Vvn17GYahN954gzsTABQZa9askdVqVYsWLeTr65tmf8+ePSVJ69aty+uhAfni2LFjCgoK0sKFC+Xm5qZ33nknv4cEAAUO+QNgj/yh8KLQgFzXsmVLeXp66o8//tC5c+fSbbN582YlJCTo8ccfz/B9/v77b02ZMkVdunRR48aNVa9ePT344IMaMGCA1qxZk60xJSUl6ZtvvlGvXr3UuHFjBQYGqn379po6deptF6ZF9p08eVL/+te/9Mgjj6hevXpq2rSpXnjhBW3dujXd9o8++qhq1aqlS5cuKSQkRH369FHDhg3VpEkTDRgwQIcOHZKUMrXOO++8o9atW6tevXp69NFHNX36dCUkJKR5T6vVqnXr1ik4OFgPP/yw6tWrp4YNG6p9+/Z6++239ffff9/RY7qbbN++XWFhYXJxcdGAAQOyFDN8+HBJ0rlz57Rjxw69/vrratasmbm/TZs2qlWrVrpPPJw8eVKjRo3SQw89pICAALVr107Tpk1Ls4C0TXZ//1euXKlatWrpjTfe0I8//qgOHTqYP2+bN2/O0vEBuDsdPHhQktSwYcN099u2h4WF6cKFC3k1LCDfhIWF6fLly2revLlWr16tbt265feQAKDAIX8A7JE/FF4UGpDrXF1d9eijj0qS1q9fn24b2/ZbF4O12bt3rzp27KjPPvtM586dU8WKFVWlShXdvHlTP/30k1577TVNmzYtS+OJiorSs88+qwkTJujAgQMqUaKEatasqfDwcC1YsECdO3fWsWPHHDhSpOf7779Xly5dtGLFCkVGRsrPz08eHh7auXOnXn75ZU2aNCnD2I8//liDBw/Wn3/+qSpVqigxMVE//fST+vXrp19++UVdu3bVl19+KQ8PD5UrV07h4eGaO3euxo8fb/c+VqtVr776qkaMGKEtW7bI1dVVtWrVkre3t06fPq0vv/xSTz/9tM6fP3/Hj+lusHv3bklSrVq15OPjk6WYatWqyc/PT5K0Y8cOVa1aVfXr1zf316tXT40aNZK3t7dd3MGDB9W1a1etX79eZcqUkY+Pj86ePatPP/1Uffr0SVN0ysnv/x9//KHg4GBdvXpVNWrU0MWLF1W7du0sfy4A7j5nzpyRJFWuXDnd/aVKlZKnp6ddW6Aoq1y5shYuXKjPP/9c1atXz+/hAECBRP4A2CN/KLwoNOCOsE2flN46DVFRUfrxxx/l7++vmjVrptmfmJioMWPGKDY2Vn379tWuXbv07bff6vvvv9ePP/6op556SpL0xRdfKCoq6rZjeeONN7Rv3z4FBARo7dq12rJli1auXKkff/xRHTt21KVLlzR48GDFxsbm8Kjx+++/a8yYMTIMQ6NHj9bevXu1atUqbdu2TZ988olKlCihr7/+Wl999VW68V999ZVeeukl7dy5U6tXr9aGDRtUvnx5xcfH69lnn5Wbm5u+++47/fDDD9qyZYtGjRolSfr222916dIl832WLVumTZs2qXTp0lqxYoVCQkK0YsUK7dixQ4sWLZK3t7euXbuW4Thy85juBrYL9dm9CF+nTh1J0vHjx/Xyyy9r7ty55r4ZM2Zo8eLFadZwOXr0qOrVq6fNmzdrzZo12rJli2bOnCmLxaI//vjDXPvFJie//0ePHlWTJk20bds2ffvtt9qxY0eadScAILUrV65ISrkgkJGSJUtKkq5du5YXQwLylb+/vx588MH8HgYAFGjkD4A98ofCi0ID7gjb9EmHDx9OM0VNSEiIEhMTM5w26ejRo7p+/bp8fHw0duxYubu7m/u8vb01duxYSSkFib/++ivTcfz+++/asGGD7rnnHi1YsMC8g1qS7rnnHk2dOlU1atRQeHi4Vq5c6eDRFl1jx45VrVq1MnzNmjXLrv2sWbOUmJio4OBgDRw4UC4uLua+Vq1amYsAf/zxx0pMTEzTX2BgoEaNGiVXV1dJkq+vr5588klJKU8p2P6+bAYMGCBXV1dZrVaFhoaa23/88Uc5OztryJAhqlevnl0fDzzwgPmeJ06cuO1nkNNjuhtERkZK+v/kN6vKli0rSdmavszLy0uzZs3Svffea24LCgpSixYtJEn79+83t+fG7/+oUaPMf4Nsi7IBQEbi4uIkSW5ubhm2se2ztQUAAHc38gcARQWFBtwRbm5ueuSRRySlfarBdsdxRoWGBg0a6Ndff9XmzZvtLuraODk5ZfkkGxISIkl6+OGHdc8996TZ7+LiYk7fxFz7aVWtWlWNGjXK8JX6Ym9CQoJ+/PFHSVKnTp3Sfb/27durWLFiunTpko4ePZpmv+1nJrUKFSpISrm7o27dunb7XFxczIvb0dHR5vZZs2bp8OHD5qJZt7I9dnrz5s2MDj3XjulukJSUJEkqVqxYtuKcnZ0lSYZhZDnmH//4R7p3+tiKCKnv8Mnp77+np6f51AUAZIXt3zWLxZJhG9u/eU5OpOEAAID8AUDRkfYqLpBL2rdvr++//14bN27Uc889J0m6ceOGfvrpJ91///2qVq1apvHu7u46ceKEfv/9d505c0Znz55VaGio/vzzTyUnJ0tKucs9M7Y71n/++Wf16tUr3Ta2u6lPnz6dncO7KwwaNEhPP/10ltr+9ddf5vz4o0ePNpOlW9mSp9OnT6tBgwZ2+1IXLmxsF68zupvctv/Wi9UuLi6Kjo7WgQMHdOrUKZ07d06nTp3S77//bl6Mvt0F7tw4pruBr6+vTp06pevXr2crzvb3kJ0nBcqVK5fudlvxKD4+3tyW09//MmXKkMgDyBYPDw8lJiba/Vt0K9t5JfUTmwAA4O5F/gCgqKDQgDvGNn3SgQMHdPHiRZUrV06bN2/OdNokm/3792vq1Kk6cOCA3fZ7771XXbp00dq1a7M0TY1tDYdLly7ZzeGfntR3xCP7Uq+XcejQoWy1t/Hw8MiwfXYu+CYkJGjmzJlavHix3d+rq6urAgIC5OLiop9//jlbY3T0mO4GVatW1e7du7O9qPoff/whSXZTGt1OZo8T3yqnv/8k8QCyq1SpUrpx44Y5pVx6bPuYjg0AAEjkDwCKDgoNuGPc3d3VunVrrVu3Tps2bVKfPn20fv16SRlPmyRJJ0+e1HPPPaf4+HjVr19fnTt3Vq1atVSjRg3zpLp27dosjcF24XrYsGEaPHhwDo8ImbHdUe7i4pLvUwiNGzdOq1evlpubm5577jk1bNhQfn5+qlKlilxcXDRv3rwsFRoK0jEVZEFBQVq8eLF+++03s6h4O+Hh4WZhomXLlndkXPz+A8hr1atX15kzZxQeHp7u/qtXr5qLz1epUiUvhwYAAAoo8gcARQVzQuCOat++vaSUdRpu3LihXbt2KSAgQJUqVcowZuHChYqPj9cDDzygr7/+Wn379lWTJk3MIsPVq1ezvOiubXqmkydPZtjmzJkzOnTokK5cuZLVw0I6KlWqJGdnZyUlJWU6DdXu3bt16tQp89HP3BYREaFvv/1WkjRv3jyNHTtW7du3V40aNcw1Py5cuJCl9yoox1TQNW3aVJUqVVJiYqLmzp2bpZiPP/5YycnJuvfee9W6des7Mi5+/wHktcDAQElK80SmjW17xYoV5ePjk2fjAgAABRf5A4CigkID7qhWrVrJ09NT+/bt04oVK5SYmGguvpoRWxX//vvvT3cx6GXLlpl/tq3VkBHbBcyQkBCdP38+zX6r1aqRI0eqR48emjJlyu0OB5koXry4GjduLEn68ssv022zZcsWPffcc+rYsWO6fx+54e+//zbXXggICEiz//r169q0aZOk/1/EOCMF5ZgKOicnJ7399tuyWCz66quvtGrVqkzbL1++XMuWLZPFYtHbb79t/p6nnh4rOwtEZ4TffwB5LSgoSJK0fft2Xbx4Mc3+pUuXSpK6dOmSp+MCAAAFF/kDgKKCQgPuKHd3d7Vq1UpJSUmaNWuWLBaL+ZRDRqpWrSpJ+v777+3uRI6NjdWnn36qmTNnmttu3ryZ6Xs1adJEzZo1082bN/XCCy/YzSEfFRWlf/3rX/rtt99UrFgxPf/88w4cIVIbMmSInJyc9NVXX2n27Nl2d/jv3r1bY8eOlSQ99thjd+yRz8qVK5sXrGfPnm1XTPjjjz/0/PPPm/P1x8XF3fb9CsIxFQbNmjXTq6++KkkaO3asJkyYoL///tuuTXh4uMaPH6833nhDkvTyyy/r4YcfNvfbpqqSlCbWEfz+A8hrNWrUUFBQkOLi4vTKK68oIiJCUsqNETNmzNC2bdvk5eWlfv365fNIAQBAQUH+AKCoYI0G3HHt27fXDz/8oJiYGDVs2FAVKlTItP1zzz2n7777TpcuXdITTzyhatWqycXFRWfPnlVsbKzKly8vDw8PnT59OktT4HzwwQd64YUX9Pvvv6tLly6qWrWqPD09dfr0ad28eVNOTk6aMmWK6tSpk1uHfNd64IEHNH78eL399tuaOXOmPvvsM1WrVk1Xr141n1SpX7++Jk+efMfGUKZMGfXv319ffPGFPvvsM61atUoVK1bUtWvXzDE0a9ZMu3fvNhO4gn5MhcXgwYNVpUoVjRs3Tt98842++eYbVa5cWSVLltS1a9d07tw5SSkFhbfeektPPPGEXbyrq6tq1qypP//8U8HBwapWrZpGjBihFi1aODwmfv8B5LXx48fr+PHjOnz4sNq2bSs/Pz9FRETo8uXLcnFx0YwZM1jIEQAA2CF/AFAU8EQD7jjb9ElS5otA21SqVEmrV69Wt27ddN999+nMmTM6e/asqlSpoldeeUVr1qwxHxncunXrbd+vTJky+uabb/Tmm2+qYcOGunz5skJDQ1WiRAl16tRJy5YtU8eOHXN2kDD16tVLK1eu1FNPPaUSJUro2LFjunbtmurVq6cxY8boyy+/lJeX1x0dw+uvv65p06apYcOGMgxDx48fV1JSktq2bavPPvtMn3zyiTw9PXXlyhUdOnSoUBxTYdGxY0dt3rxZI0eOVKNGjRQZGamjR4/qxo0b+sc//qFRo0YpJCQkTZHB5oMPPlCjRo2UnJysv/76S2fOnMnRePj9B5DXypYtq+XLl+vFF19U+fLlFRoaqsTERD3yyCP66quv7J7kAgAAkMgfABQNFiM3JsIGAAAAAAAAAAB3JZ5oAAAAAAAAAAAADqPQAAAAAAAAAAAAHEahAQAAAAAAAAAAOIxCAwAAAAAAAAAAcBiFBgAAAAAAAAAA4DAKDQAAAAAAAAAAwGEUGgAAAAAAAAAAgMMoNAAAAAAAAAAAAIdRaAAAAAAAAAAAAA6j0ACgyKtVq5Zq1aqllStX5vdQAADINT///LN5jjt58mR+DyffnT17VsuWLcvvYeRIv379VKtWLY0YMSK/hwIAKMSKco6wfv16HT16NE/7fP3111WrVi3169cv3e09evTI0/EABRWFBgAAAACF2oIFC9ShQwft2rUrv4cCAADugOjoaPXr10/Dhg3TlStX8ns4ANJBoQEAAABAobZt2zYlJibm9zBy7N5771W1atXk6+ub30MBAKBAiYyM1C+//JLfw7Dj4+OjatWqqWLFivk9FKBAcMnvAQAAAAAApKlTp+b3EAAAQBaNGjVKo0aNyu9hAAUGTzQAAAAAAAAAAACH8UQDgHRFRUXp66+/1rp163Tu3Dm5uLgoMDBQAwcOVM2aNdWiRQtJ0vHjx+3ibt68qcWLF2v9+vU6deqU4uPj5ePjo6ZNm6p///6qU6dOmr5ef/11rVq1SgMGDNCIESP0xRdf6Pvvv9fZs2fl5OSkWrVqqXv37urSpYucnNKvj27fvl2LFi3SsWPHFB0drerVq+uZZ55R9+7db3ushw8f1n//+1/t27dPly9flqenp2rWrKn27durZ8+ecnNzs2sfFhamNm3aSEpZZOvjjz/W6tWrFR8fr0qVKumtt95Sw4YNs/Q5AwCQW3bv3q2FCxfqwIEDunnzpsqXL69HH31UL730kkqXLi1J+uijjzRr1ix5eHjoxx9/VPHixdN9r3//+99atGiRGjZsqG+++UaSVKtWLUnS6tWrZRiGZs6cqQMHDighIUGVK1dWx44d1bt37wzfU5J++uknffPNNzpw4IAiIyPl5eWl+++/X507d1bnzp3l7Oxs1/7nn39W//79VbJkSW3evFnvvPOONm7cKMMwVK1aNdWoUUNr1qwx269bt07r1q1TxYoVtWXLFrv3OnXqlL744gvt3r1bERERKlasmKpWraq2bduqb9++8vb2TjNe2zGvXbtWrq6umjdvnnbt2qUrV66oZMmSatq0qV588UXVrl07TaxhGFq7dq3Wrl2rI0eOKDo6WsWLF5efn5/atGmjnj17ysPDwy6mX79++uWXX9ShQwdNnz49zXseP35cixYt0p49exQRESFXV1dVrVpV7dq1U9++fdP97HNyDACAoiErOUJqSUlJWrlypdauXavQ0FDFxMSodOnSatSokXr37q0HHnggw75OnjypxYsX65dfftH58+cVGxur4sWLq3r16mrbtq169eolT09Pu5jU1wTatWunf//73woNDVWJEiX06KOPateuXQoPDzfbv/jii5KkIUOGaOjQobnyGYWFhemLL77Qzp07df78eZUqVUpt2rTRkCFDMoyxjbt+/fpaunRpmvf773//q59++knnzp2Tk5OTfHx81LhxY/Xu3VsBAQHpvqdhGPrhhx+0atUq/fbbb4qKitI999yjgIAAdevWTW3bts1wPOfPn9fXX3+t3bt369y5c4qOjpanp6cqVaqk1q1bq2/fvun+fV+9elX//e9/tX37dp0+fVpWq1VlypRRw4YN1a1bNzVv3jzDPrOb26FosxiGYeT3IAAULGFhYRo4cKD++usvSZK7u7ucnJwUGxsrSXruuef0xRdfSLIvNJw+fVqDBg3SmTNnJEnOzs7y8vLSjRs3JElOTk4aMWKEXnrpJbv+bCfnHj166OjRozp69KgkqXjx4oqOjjbbdevWTe+8845drNVq1eTJk7Vo0SKzj+LFiysqKkqGYeiJJ57Q2rVrJUnvvvuunn76abv4GTNmaM6cOeb/e3l5KTExUQkJCZIkPz8/zZ07V/fdd5/d52MrNLRr106bNm2Sm5ubrFarXFxcMr1wAwBAbrFdhJekTp066bvvvpMkeXp6Ki4uTlarVZLk6+urFStWyMfHR+fPn9ejjz5qnj+7du2a5n0TExPVsmVLXb16Vf/+97/Nor3tgvWYMWM0ffp0JSQkyMPDQ1arVfHx8ZKkGjVqaP78+apQoYLdeyYlJWn8+PFasWKFuc3b21s3b95UUlKSJKlJkyb66KOPVLJkyTTHWKJECdWuXVu//PKLPDw8lJCQIF9fX/Xu3VtffPGFrl+/rsTERLm5ucnb21vly5e362vJkiV66623zL48PT1ltVoVFxcnSSpfvrw+/vhj3X///Xbjth3z2LFjNX36dMXFxalYsWJydnY2Y4sVK6ZPP/1UzZo1s4sdNWqU+XdisVjk7e2t6Oho8++lRo0aWrRokcqUKWPGZFZo+Oyzz/TBBx+Yx1C8eHElJCSYOcudOAYAQOHkSI5gc/nyZb388ss6cuSIpJRzWIkSJXTjxg3ZLiH27dtXb775piwWi12/X3zxhaZMmWK+v4eHhwzDMM83kuTv768lS5bYFRts1wRatGihX3/9VTdv3pSXl5diYmIUHBysnTt3Kjw8XNeuXZMk3XPPPSpWrJgGDBiggQMH5vjz2r17t4YMGWJefyhevLji4+OVmJgoX19fValSRb/88oseeOAB89pD6nHfWmg4fPiwBgwYoKioKEmSm5ubnJ2dzWsqkvTGG2+Yf0c2MTExGjFihLZv325uK1GihGJiYpScnCxJCgoK0vvvv5/mhsgffvhBo0ePNvMCV1dXubi42PV57733asmSJXZrQZ07d059+vRRRESEpJScwM3Nze5azHPPPaexY8fa9edobocizgCAVJKSkozOnTsb/v7+xkMPPWSEhIQYycnJhtVqNXbt2mW0adPG8Pf3N182169fNx599FHD39/f6Nq1q7Fr1y4jPj7eMAzDuHjxojF16lSjVq1ahr+/v7Fy5Uq7PseMGWP4+/sbtWvXNgIDA41PPvnEuH79umEYhnHu3DmjX79+Zn8HDhywi/3qq6/MfZMnTzYiIyMNwzCMCxcuGKNGjbIb64oVK+xiFy5caPj7+xv16tUz/vOf/xgXL140P4Mff/zRePzxxw1/f3+jQ4cORlxcnBl37tw5u/edNWuWkZiYaMTHxxv79+/Pnb8IAABuY8+ePXbno4EDBxonTpwwDMMwYmNjjY8//tjcN27cODNuwIABhr+/v9G3b99033fjxo2Gv7+/0aBBAyMqKsrcbnuvOnXqGM2bNzdzhKSkJOP77783/vGPfxj+/v5Gjx49DKvVaveekydPNvz9/Y1//OMfxueff26er+Pj443169cbLVq0MPz9/Y3+/fvbxaY+xtq1axtLly41rFarERMTYxw5csRs17dvX8Pf398YPnx4muPZtGmT4e/vb9SqVcuYNGmSce7cOcMwDMNqtRoHDhwwevbsaeY9ly5dsotN3XeHDh2MXbt2GQkJCYbVajU2b95sNG7c2PD39zeCgoLS7bNu3brGihUrzJwoISHBWLFihVGvXj3D39/fGD9+vF1cRsexcuVKcyzBwcHGqVOnDMNIyVm2bNlitGrVyvD39zeaN29uXLhwIVeOAQBQeDmaIyQkJBjdu3c3/P39jccee8zYtGmTcfPmTcMwDCMyMtL49NNPzXPYrFmz7Prcv3+/+Z3/tddeM8LDw819YWFhxuuvv272OX/+fLtY2zUBW79//vmnYRiGcfLkSfN7eurv4du3b8+1z+rSpUtGo0aNDH9/f+Opp54yjh49ahhGSo6ybNkyo379+ma/t+ZOtnF3797dbrvtmspzzz1nnrMNwzD++usv4/nnnzdzhL///tsu7pVXXjH8/f2NFi1aGCtWrDCio6MNwzCMmJgYY+nSpWau9frrr9vFnTt3zggMDDT/rm2fn+34pk2bZh7DpEmT7GKDg4MNf39/o0uXLuaxG4ZhRERE2F1TOXjwoF2co7kdijbWaABgZ9WqVTp27JiKFSum+fPn69FHH5WTk5MsFouaNWum//73vypRokSauAULFigsLEz+/v766quv1KxZM7m6ukqSfHx89Nprr2nQoEGSpA8++MCssqdmtVr15ptv6sUXXzT7uO+++/Thhx+aUybt2LHDbJ+QkKAZM2ZIknr27KmxY8fqnnvukZRyZ8a0adPMJw9udf36dfNOwcmTJ2vYsGHmXRzOzs566KGHtHDhQpUsWVJ//vmnlixZku77NGjQQEOGDJGLi4tcXV2ZMgkAkC8CAwM1b9481axZU1LKHYQvv/yyWrZsKUn68ccfzbbdunWTJO3du1d///13mvdauXKlpJQ75tJ7Qs/JyUkLFiwwcwRnZ2d16NBBs2bNkiQdPHhQGzZsMNufPn1a//3vfyVJ8+bN03PPPWeer11dXRUUFKQFCxaoWLFi2rNnT5opj2wef/xxde/eXRaLRZ6enqpXr95tP5ekpCRNnjxZkjR8+HCNHz/efErRYrGoQYMG+vzzz1WlShVdunRJn376abrvU7x4cS1atEjNmjVTsWLFZLFY1KZNG7388svmMZ47d85sv2vXLklSy5Yt9fTTT5s5UbFixfT0009rwIABcnNz06lTp257DHFxcZo2bZokqXXr1po9e7aqVasmKSVneeSRR/Tll1/K29tbly9f1uzZs3PlGAAARUN2coRVq1bp0KFDKlu2rJYsWaK2bdvK3d1dUspTBC+88ILGjRsnSfrkk090+fJlM/bLL7+UYRjy9/fXe++9Z/d0Y8WKFfXOO++oatWqkqT9+/dnON4333xTNWrUkCRVr17d7mmLO2Hu3LmKjo6Wj4+PPv/8c/PJQFdXV3Xr1k3vv/9+tt7v6tWrOnbsmCRp9OjR5jlbkqpUqaKZM2fKw8NDJUqUMGdzkFKmINq0aZPc3d315Zdf6umnn5aXl5eklCdRunfvbl7/WLlypdmHJC1btkxxcXEqVaqUZs2aZX5+klS2bFmNGjXKnP7o1s9+9+7dklKmoUr9VGS5cuU0depUVaxYUSVLltRvv/1m7sut3A5FD4UGAHa+//57SdJjjz2W7ly9FSpU0DPPPJNm+6pVqyRJTz31VJpH+Gx69+4tSbp06VK6iYWrq6u6dOmSZnvZsmVVuXJlSbJLZPbu3avIyEhJ/z9H461eeeWVdLdv3LjRnCuyY8eO6bbx8fFRu3btzPbpefjhh9PdDgBAXnrmmWfSnQO3cePGkqSLFy+a29q0aaNSpUrJMAx9++23du2vXr2qnTt3SlK60ypJ0hNPPJFujtCsWTOz4J660LB69WpZrVb5+/vrH//4R7rv6e/vryZNmkjK3XPuL7/8Ys7p3LNnz3TbeHh46Kmnnsq077Zt26Y7p3HqGwyuXLli/tl2YeDQoUM6efJkmrihQ4fq0KFDdtMvZOTnn382858RI0akmaZCSrkxo1evXpKk7777zpyyICfHAAAoGrKTI9i+17dv3z7D6W6eeuopeXh4KD4+3m6KnyFDhujjjz/WO++8k+7aik5OTvLz85OUMkVQelxdXdW0adOsHVgusZ37e/bsaV4sT61du3by9/fP8vt5eHiYx//tt9+mOScXL15cv/zyi3bt2mW33oLts2/WrJmqVKmS7ns/9NBD5r7UOUuPHj306aefavr06WnWf7KxHcOtn70tZ/n+++/tpriSUv7O1q9fr59//ll9+vQxt+dWboeih8WgAdj59ddfJSnTk3vz5s31ySefmP9//vx5cz6/2bNna8GCBbft588//9SDDz5ot61SpUrmHX+3si3QmJiYaG47dOiQpJRKe6VKldKNq1u3rry9vc25EW0OHDggSYqNjc30woVtPsMTJ06kuz/13QkAAOQX212KtypbtqwkmesPubq6ytXVVZ07d9bChQu1evVqBQcHm+3XrFmjxMREValSxfxyeKvMzptNmjTRgQMHdPjwYXPbwYMHJaXc/fbQQw9lGGubCzg3z7m2872UMkd1RmxrTPz999+KiYkxv3TbVK9ePd241E95ps5ROnfurM8//1yXL1/WE088oQYNGqh58+Zq3ry5AgMD5eKS9a9htnyndOnSmS7YbMvPYmJidOrUqTQXRbJ7DACAoiGrOYKTk5O5LsPKlSu1fv36DN/TNkPBn3/+aW6rVq1amnP1lStXdPbsWZ08eVKHDx/W3r17Jclcb+BWFStWzPCawJ1w4cIF81pGo0aNMmzXtGlThYaGZuk9PTw81KFDB3333Xf6/PPP9d1336lFixZq1qyZmjdvLh8fn3SP0ZYv7dq1K9N86fr165LsP/uKFSuqYsWKdu0iIyN17tw5nTp1SkeOHNGmTZskpf3su3btqrlz52rdunX66aef1Lx5cz300ENq1qyZ7rvvvkzHmtPcDkUPhQYApsjISPOLdmaPJ6ZeOEhKeULBJjo62m7RoMz6utWtX+pTs90RYKRav952d58tQcpIuXLl0hQabGO2Wq12T0lkxHYyvxWLPgMACoKMzkep735PfQ7t1q2bFi5cqL/++ksHDx5UgwYNJP3/3XRPP/10hn3dutBzarZzcupzq+2cm5iYmOfn3NQ5Slb6tvV/a06SUY6S+vO1LXwpSX5+fvroo4/05ptv6tKlS/r111/166+/atasWfL29lbLli3VvXv3LC2+fPXqVUlp869bpd5v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RF5eXtq1a5ecnZ319NNP68qVK/rwww914MABde3aVZ6enkpMTDS/+Ht5eWnu3Lm67777st13erp37649e/bo+++/15IlS7RkyRJ5enoqKSnJ/Kw8PT01Y8aM2z7RIKXcCHLp0iXNmDFDISEhCgkJkbe3t+Lj4833q1ixov7zn/9kur4GAACZ8fDw0Lx58/Tyyy/rxIkTeu+99/T+++/L09NTUVFRZrvHH3/cLORLKee0MWPGaMKECQoPD1evXr3k5uYmJycns6hQokQJNW/eXOvXr9f58+dltVqztfizl5eXatWqpePHj2v27Nn64osv9MQTT2jSpEk5OmZvb2998skneumll3TmzBn1799fnp6eSk5OVnx8vO655x49/fTTWrlyZZber1ixYvrwww/1wgsv6Pz58woODpaTk5OKFy+uGzdumO1atWqlwYMHm//v5OSkGTNmaOjQodq7d6/mzZunTz75RN7e3nZxjRs31tSpU+36fPPNN/XKK6/oxo0beumll1SsWDG5urqa12Lc3Nz05JNPavXq1YqKitL169fN/GPKlCnq16+fIiIiNGbMGI0ZM8a8pmIrFtWrV0/jxo2z6/NO53YonHiiAUAaVatW1XfffacXX3xR1apVk9VqlbOzs1q1aqWvvvrKnA7B9ticzf3336/vv/9eo0aNUoMGDeTp6an4+HiVLVtWbdq00fz58zVmzJhcH+8LL7ygxYsXKygoSL6+vrp586aqVq2qUaNG6aOPPspwCgQnJye9+eab+vrrr9WpUydVqFBB8fHxKlasmGrVqqXg4GB99913qlKlSq6PGQCAguKRRx6RJNWtWzfDRRBT69ChgxYtWqSHHnpIhmHIw8ND//jHP/Tee+/p008/lbe3d5oYd3d3zZw5U3PnzlW7du1Urlw53bx5U+7u7goMDNRrr72mFStWmNMcZVefPn00cOBA885KNzc3u8WTX3zxRa1evVrdu3dXlSpVZLVaZbFYVL16dT377LP6/vvvzbWfcoPFYtGHH36o6dOnq1WrVvLx8VFiYqJcXFzk5+enAQMGaP369WrRokWW3zM4OFgrV67UU089pYoVKyo+Pl6enp5q0KCBxo4dqzVr1pjrOQAA4Kj77rtPK1eu1Pjx4/XAAw/I29tbN2/eVMmSJdWiRQt9+OGH+s9//pOmSPDMM89o/vz5atGihUqWLKmkpCS5uLiobt26evnll/Xdd9+ZxYnr169rz5492R7bjBkz1KJFC3l5eclqtSoyMjI3Dlm1a9fW6tWrFRwcrJo1a8pqtap48eLq1KmTVqxYoWrVqmXr/Ro0aKDvvvtOAwYMkL+/v9zd3RUbGysfHx898sgjmj59uj755JM0T5GWKlVKCxcu1Pvvv6+HH35YpUuXVmxsrLy9vdWkSRNNmjRJCxculLu7u11c69attXjxYrVr105lypSR1WqVYRjy9/dXv379tGbNGr311ltm3MaNG83YKlWqaO3atRoyZIjq1aun4sWLKzY2VqVKlVKzZs301ltvacmSJWluvrzTuR0KJ4tRUFZgAVAgGIZx27mJFy5cqMmTJ6tu3bpZruoDAICCqXPnzjp+/LgmTJig3r17Z9jOtr7SxIkT1atXr7waHgAAAIBCgCcaANj517/+pdatW6c77YGUsujSt99+KyllmgIAAFB4/fzzzzp+/Li8vLzMhf0AAAAAILuYJAuAncaNG2vlypX66quvVK5cOfXs2dNugcX//Oc/Onr0qDw9PdWvX798Hi0AAMiunTt3yjAMRUREaNq0aZKknj17ppkSEQAAAACyikIDADtPPvmkNm3apK1bt+qDDz7QBx98IG9vb8XFxZkLJnp7e2vq1KmsXQAAQCG0bt06u6kPK1WqpFdeeSUfRwQAAJB969at0zvvvONw/PLly3Xvvffm4oiAuxuFBgB2nJ2d9fHHH2vHjh1asmSJ/vzzT0VERMjT01Ply5fXI488op49e6pChQr5PVQAAOCABg0aaNOmTTIMQ82aNdObb77J0wwAAKDQiYuL0+XLlx2OT05OzsXRAGAxaAAAAAAAAAAA4DAWgwYAAAAAAAAAAA6j0AAAAAAAAAAAABxGoQEAAAAAAAAAADiMQgMAAAAAAAAAAHAYhQYAAAAAAAAAAOAwCg0AAAAAAAAAAMBhFBoAAAAAAAAAAIDDKDQAAAAAAAAAAACHUWgAAAAAAAAAAAAO+z8+SWMguVJEDAAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 1600x1000 with 6 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import pandas as pd\n",
    "import seaborn as sns\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "# Load dataset\n",
    "\n",
    "\n",
    "# Convert smoking_status to categorical data type\n",
    "df['smoking_status'] = df['smoking_status'].astype('category')\n",
    "\n",
    "# Remove missing or NaN values\n",
    "df = df.dropna(subset=['smoking_status'])\n",
    "\n",
    "# Define custom colors\n",
    "colors = ['#ff7f0e', '#1f77b4']\n",
    "\n",
    "# Create subplots\n",
    "fig, axs = plt.subplots(2, 3, figsize=(16, 10))\n",
    "\n",
    "# Plot age histogram\n",
    "sns.histplot(data=df, x='age', hue='stroke', palette=colors, ax=axs[0, 0])\n",
    "axs[0, 0].set_title('Age Distribution by Stroke Status')\n",
    "\n",
    "# Plot BMI histogram\n",
    "sns.histplot(data=df, x='bmi', hue='stroke', palette=colors, ax=axs[0, 1])\n",
    "axs[0, 1].set_title('BMI Distribution by Stroke Status')\n",
    "\n",
    "# Plot smoking status bar chart\n",
    "sns.countplot(x='ever_married', hue='stroke', data=df, palette=colors, ax=axs[0, 2])\n",
    "axs[0, 2].set_title('Stroke Counts by Ever_married')\n",
    "\n",
    "# Plot stroke by gender\n",
    "sns.countplot(x='gender', hue='stroke', data=df, palette=colors, ax=axs[1, 0])\n",
    "axs[1, 0].set_title('Stroke Counts by Gender')\n",
    "\n",
    "# Plot stroke by hypertension\n",
    "sns.countplot(x='hypertension', hue='stroke', data=df, palette=colors, ax=axs[1, 1])\n",
    "axs[1, 1].set_title('Stroke Counts by Hypertension')\n",
    "\n",
    "# Plot stroke by heart disease\n",
    "sns.countplot(x='heart_disease', hue='stroke', data=df, palette=colors, ax=axs[1, 2])\n",
    "axs[1, 2].set_title('Stroke Counts by Heart Disease')\n",
    "\n",
    "plt.tight_layout()\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "1b9c1861",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "85f4c859",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "bc4f7e9d",
   "metadata": {},
   "outputs": [],
   "source": [
    "df[\"Residence_type\"] = df[\"Residence_type\"].apply(lambda x: 1 if x==\"Urban\" else 0)\n",
    "df[\"ever_married\"] = df[\"ever_married\"].apply(lambda x: 1 if x==\"Yes\" else 0)\n",
    "df[\"gender\"] = df[\"gender\"].apply(lambda x: 1 if x==\"Male\" else 0)\n",
    "\n",
    " \n",
    "df = pd.get_dummies(data=df, columns=['smoking_status'])\n",
    "df = pd.get_dummies(data=df, columns=['work_type'])\n",
    "\n",
    "\n",
    "std=StandardScaler()\n",
    "columns = ['avg_glucose_level','bmi','age']\n",
    "scaled = std.fit_transform(df[['avg_glucose_level','bmi','age']])\n",
    "scaled = pd.DataFrame(scaled,columns=columns)\n",
    "df=df.drop(columns=columns,axis=1)\n",
    "\n",
    "\n",
    "df=df.merge(scaled, left_index=True, right_index=True, how = \"left\")\n",
    "df\n",
    "\n",
    "df=df.drop(columns='id',axis=1)\n",
    "\n",
    "df[df.isnull().any(axis=1)]\n",
    "\n",
    "X = df.drop(['stroke'], axis=1).values \n",
    "y = df['stroke'].values\n",
    "\n",
    "X_train1, X_test1, y_train1, y_test1=train_test_split(X, y,test_size=0.30, shuffle=True)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "14ba8511",
   "metadata": {},
   "source": [
    "# SINGLE MODELS WITH ORIGINAL DATASET"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "f0ffe5c1",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "LR\n",
      "              precision    recall  f1-score   support\n",
      "\n",
      "           0       0.96      1.00      0.98      1470\n",
      "           1       0.00      0.00      0.00        63\n",
      "\n",
      "    accuracy                           0.96      1533\n",
      "   macro avg       0.48      0.50      0.49      1533\n",
      "weighted avg       0.92      0.96      0.94      1533\n",
      "\n",
      "[[1470    0]\n",
      " [  63    0]]\n",
      "Accuracy: 0.958904\n",
      "Execution time:  0.1580655574798584 secs\n",
      "ETC\n",
      "              precision    recall  f1-score   support\n",
      "\n",
      "           0       0.96      1.00      0.98      1470\n",
      "           1       0.00      0.00      0.00        63\n",
      "\n",
      "    accuracy                           0.96      1533\n",
      "   macro avg       0.48      0.50      0.49      1533\n",
      "weighted avg       0.92      0.96      0.94      1533\n",
      "\n",
      "[[1466    4]\n",
      " [  63    0]]\n",
      "Accuracy: 0.956295\n",
      "Execution time:  0.06281161308288574 secs\n",
      "GBM\n",
      "              precision    recall  f1-score   support\n",
      "\n",
      "           0       0.97      0.96      0.96      1470\n",
      "           1       0.20      0.22      0.21        63\n",
      "\n",
      "    accuracy                           0.93      1533\n",
      "   macro avg       0.58      0.59      0.59      1533\n",
      "weighted avg       0.94      0.93      0.93      1533\n",
      "\n",
      "[[1415   55]\n",
      " [  49   14]]\n",
      "Accuracy: 0.932159\n",
      "Execution time:  3.9084930419921875 secs\n",
      "KNN\n",
      "              precision    recall  f1-score   support\n",
      "\n",
      "           0       0.96      0.98      0.97      1470\n",
      "           1       0.00      0.00      0.00        63\n",
      "\n",
      "    accuracy                           0.94      1533\n",
      "   macro avg       0.48      0.49      0.48      1533\n",
      "weighted avg       0.92      0.94      0.93      1533\n",
      "\n",
      "[[1439   31]\n",
      " [  63    0]]\n",
      "Accuracy: 0.938682\n",
      "Execution time:  0.22194218635559082 secs\n",
      "SVC\n",
      "              precision    recall  f1-score   support\n",
      "\n",
      "           0       0.96      0.96      0.96      1470\n",
      "           1       0.08      0.08      0.08        63\n",
      "\n",
      "    accuracy                           0.92      1533\n",
      "   macro avg       0.52      0.52      0.52      1533\n",
      "weighted avg       0.92      0.92      0.92      1533\n",
      "\n",
      "[[1410   60]\n",
      " [  58    5]]\n",
      "Accuracy: 0.923027\n",
      "Execution time:  0.9076035022735596 secs\n",
      "ADA\n",
      "              precision    recall  f1-score   support\n",
      "\n",
      "           0       0.96      0.99      0.98      1470\n",
      "           1       0.18      0.03      0.05        63\n",
      "\n",
      "    accuracy                           0.95      1533\n",
      "   macro avg       0.57      0.51      0.52      1533\n",
      "weighted avg       0.93      0.95      0.94      1533\n",
      "\n",
      "[[1461    9]\n",
      " [  61    2]]\n",
      "Accuracy: 0.954338\n",
      "Execution time:  0.7407827377319336 secs\n",
      "DT\n",
      "              precision    recall  f1-score   support\n",
      "\n",
      "           0       0.97      0.95      0.96      1470\n",
      "           1       0.18      0.24      0.21        63\n",
      "\n",
      "    accuracy                           0.92      1533\n",
      "   macro avg       0.57      0.60      0.58      1533\n",
      "weighted avg       0.93      0.92      0.93      1533\n",
      "\n",
      "[[1402   68]\n",
      " [  48   15]]\n",
      "Accuracy: 0.924331\n",
      "Execution time:  0.033911943435668945 secs\n",
      "SGD\n",
      "              precision    recall  f1-score   support\n",
      "\n",
      "           0       0.96      0.97      0.97      1470\n",
      "           1       0.05      0.03      0.04        63\n",
      "\n",
      "    accuracy                           0.94      1533\n",
      "   macro avg       0.50      0.50      0.50      1533\n",
      "weighted avg       0.92      0.94      0.93      1533\n",
      "\n",
      "[[1432   38]\n",
      " [  61    2]]\n",
      "Accuracy: 0.935421\n",
      "Execution time:  0.015437841415405273 secs\n",
      "RF\n",
      "              precision    recall  f1-score   support\n",
      "\n",
      "           0       0.96      1.00      0.98      1470\n",
      "           1       0.00      0.00      0.00        63\n",
      "\n",
      "    accuracy                           0.95      1533\n",
      "   macro avg       0.48      0.50      0.49      1533\n",
      "weighted avg       0.92      0.95      0.94      1533\n",
      "\n",
      "[[1464    6]\n",
      " [  63    0]]\n",
      "Accuracy: 0.954990\n",
      "Execution time:  0.07191610336303711 secs\n"
     ]
    }
   ],
   "source": [
    "\n",
    "#machine learning models\n",
    "\n",
    "##########2\n",
    "start_time = time.time()\n",
    "from sklearn.linear_model import LogisticRegression\n",
    "print(\"LR\")\n",
    "lr = LogisticRegression(random_state=300, solver='newton-cg',multi_class='multinomial',C=1.0)\n",
    "lr.fit(X_train1, y_train1)\n",
    "# calculate accuracy of class predictions\n",
    "y_pred_class = lr.predict(X_test1)\n",
    "print(classification_report(y_test1, y_pred_class))\n",
    "print(confusion_matrix(y_test1, y_pred_class))\n",
    "accuracy = accuracy_score(y_test1, y_pred_class)\n",
    "print('Accuracy: %f' % accuracy)\n",
    "end_time = time.time()\n",
    "print(\"Execution time: \", end_time - start_time,\"secs\")\n",
    "\n",
    "#########3\n",
    "start_time = time.time()\n",
    "from sklearn.ensemble import ExtraTreesClassifier\n",
    "print(\"ETC\")\n",
    "etc =  ExtraTreesClassifier(n_estimators=10,random_state=150,max_samples=0.5, max_depth=50,bootstrap=True)\n",
    "etc.fit(X_train1, y_train1)\n",
    "# calculate accuracy of class predictions\n",
    "y_pred_class = etc.predict(X_test1)\n",
    "print(classification_report(y_test1, y_pred_class))\n",
    "print(confusion_matrix(y_test1, y_pred_class))\n",
    "accuracy = accuracy_score(y_test1, y_pred_class)\n",
    "print('Accuracy: %f' % accuracy)\n",
    "end_time = time.time()\n",
    "print(\"Execution time: \", end_time - start_time,\"secs\")\n",
    "\n",
    "#######4\n",
    "import time    # this is an inbuilt library in Python\n",
    "start_time = time.time()\n",
    "from sklearn.ensemble import GradientBoostingClassifier\n",
    "print(\"GBM\")\n",
    "gbm = GradientBoostingClassifier(n_estimators=100, random_state=50, max_depth=100)\n",
    "gbm.fit(X_train1, y_train1)\n",
    "# calculate accuracy of class predictions\n",
    "y_pred_class = gbm.predict(X_test1)\n",
    "print(classification_report(y_test1, y_pred_class))\n",
    "print(confusion_matrix(y_test1, y_pred_class))\n",
    "accuracy = accuracy_score(y_test1, y_pred_class)\n",
    "print('Accuracy: %f' % accuracy)\n",
    "end_time = time.time()\n",
    "print(\"Execution time: \", end_time - start_time,\"secs\")\n",
    "\n",
    "########5\n",
    "import time    # this is an inbuilt library in Python\n",
    "start_time = time.time()\n",
    "from sklearn.neighbors import KNeighborsClassifier\n",
    "print(\"KNN\")\n",
    "knn = KNeighborsClassifier(n_neighbors=3)\n",
    "knn.fit(X_train1, y_train1)\n",
    "# calculate accuracy of class predictions\n",
    "y_pred_class = knn.predict(X_test1)\n",
    "print(classification_report(y_test1, y_pred_class))\n",
    "print(confusion_matrix(y_test1, y_pred_class))\n",
    "accuracy = accuracy_score(y_test1, y_pred_class)\n",
    "print('Accuracy: %f' % accuracy)\n",
    "end_time = time.time()\n",
    "print(\"Execution time: \", end_time - start_time,\"secs\")\n",
    "\n",
    "#######6\n",
    "start_time = time.time()\n",
    "from sklearn.svm import SVC\n",
    "print(\"SVC\")\n",
    "svm = SVC(kernel='sigmoid', C=2.0, random_state=100,probability=True)\n",
    "svm.fit(X_train1, y_train1)\n",
    "# calculate accuracy of class predictions\n",
    "y_pred_class = svm.predict(X_test1)\n",
    "print(classification_report(y_test1, y_pred_class))\n",
    "print(confusion_matrix(y_test1, y_pred_class))\n",
    "accuracy = accuracy_score(y_test1, y_pred_class)\n",
    "print('Accuracy: %f' % accuracy)\n",
    "end_time = time.time()\n",
    "print(\"Execution time: \", end_time - start_time,\"secs\")\n",
    "\n",
    "########7\n",
    "start_time = time.time()\n",
    "from sklearn.ensemble import RandomForestClassifier, AdaBoostClassifier\n",
    "from sklearn.svm import SVC\n",
    "print(\"ADA\")\n",
    "ada = AdaBoostClassifier(n_estimators=100, random_state=50)\n",
    "ada.fit(X_train1, y_train1)\n",
    "# calculate accuracy of class predictions\n",
    "y_pred_class = ada.predict(X_test1)\n",
    "print(classification_report(y_test1, y_pred_class))\n",
    "print(confusion_matrix(y_test1, y_pred_class))\n",
    "accuracy = accuracy_score(y_test1, y_pred_class)\n",
    "print('Accuracy: %f' % accuracy)\n",
    "end_time = time.time()\n",
    "print(\"Execution time: \", end_time - start_time,\"secs\")\n",
    "\n",
    "########8\n",
    "start_time = time.time()\n",
    "from sklearn.tree import DecisionTreeClassifier\n",
    "dt = DecisionTreeClassifier(random_state=50, max_depth=100)\n",
    "print(\"DT\")\n",
    "dt.fit(X_train1, y_train1)\n",
    "# calculate accuracy of class predictions\n",
    "y_pred_class = dt.predict(X_test1)\n",
    "print(classification_report(y_test1, y_pred_class))\n",
    "print(confusion_matrix(y_test1, y_pred_class))\n",
    "accuracy = accuracy_score(y_test1, y_pred_class)\n",
    "print('Accuracy: %f' % accuracy)\n",
    "end_time = time.time()\n",
    "print(\"Execution time: \", end_time - start_time,\"secs\")\n",
    "\n",
    "\n",
    "###9\n",
    "start_time = time.time()\n",
    "from sklearn.linear_model import SGDClassifier\n",
    "sgd = SGDClassifier(loss=\"modified_huber\", penalty=\"l2\", max_iter=5)\n",
    "print(\"SGD\")\n",
    "sgd.fit(X_train1, y_train1)\n",
    "# calculate accuracy of class predictions\n",
    "y_pred_class = sgd.predict(X_test1)\n",
    "print(classification_report(y_test1, y_pred_class))\n",
    "print(confusion_matrix(y_test1, y_pred_class))\n",
    "accuracy = accuracy_score(y_test1, y_pred_class)\n",
    "print('Accuracy: %f' % accuracy)\n",
    "end_time = time.time()\n",
    "print(\"Execution time: \", end_time - start_time,\"secs\")\n",
    "\n",
    "\n",
    "#########1\n",
    "start_time = time.time()\n",
    "from sklearn.ensemble import RandomForestClassifier, VotingClassifier\n",
    "print(\"RF\")\n",
    "rfc = RandomForestClassifier(n_estimators=10,random_state=150,max_samples=0.5, max_depth=50) \n",
    "rfc.fit(X_train1, y_train1)\n",
    "# calculate accuracy of class predictions\n",
    "y_pred_class = rfc.predict(X_test1)\n",
    "print(classification_report(y_test1, y_pred_class))\n",
    "print(confusion_matrix(y_test1, y_pred_class))\n",
    "accuracy = accuracy_score(y_test1, y_pred_class)\n",
    "print('Accuracy: %f' % accuracy)\n",
    "end_time = time.time()\n",
    "print(\"Execution time: \", end_time - start_time,\"secs\")\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "262aafed",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAABJcAAAHZCAYAAAA7Y9pTAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOzddXQU59fA8e/6xj1BkuDuUtytQKFF6wYt1PvW219dKTVoC3WlLaWCaynu7gS3hABxz2azNu8fmwxJ4yEQaO/nHM4JO8/MPDuZTbJ3772PRlEUBSGEEEIIIYQQQgghKkFb3RMQQgghhBBCCCGEENcuCS4JIYQQQgghhBBCiEqT4JIQQgghhBBCCCGEqDQJLgkhhBBCCCGEEEKISpPgkhBCCCGEEEIIIYSoNAkuCSGEEEIIIYQQQohKk+CSEEIIIYQQQgghhKg0CS4JIYQQQgghhBBCiEqT4JIQQgghhBBCCCGEqDR9dU9ACHH16tevH+fOnSt1jNFoxN/fn4YNGzJo0CBuvvlmdDpdmcc+e/YsCxYsYNOmTZw9e5a0tDSMRiMRERF06NCBESNG0Lp16wrNd8+ePSxatIhdu3Zx9uxZcnNz8fb2pmHDhvTq1YuxY8cSGBhYoWMWx+l0snLlSv7++28OHDhAfHw8TqeTwMBAmjVrxqBBgxg+fDhGo/GSzyWujCZNmgDw+uuvc9ttt1XzbCrmcryW/mnbtm3cfffdACxdupQGDRpc8rynTZvG9OnTCQ4OZtOmTZd8vEt11113sX37doYOHcrUqVPLtU9sbCz9+/cvcbvBYMDHx4fw8HB69+7NyJEjqV27dlVNuYhDhw4RHR3NkCFDLts5rgSbzcYPP/zAuHHj5OeoEEIIcY2Q4JIQokwmkwkfH59it2VlZZGQkEBCQgKbN29m4cKF/Pjjj5hMpmLH22w2PvjgA2bNmoXdbgdAo9Hg4+NDVlYWR44c4ciRI8ycOZO+ffvyxhtvEBYWVur8zp07xyuvvFLoDarZbMbDw4O0tDR27tzJzp07+eabb3j55ZcZMWJE5S4EsH37dl555RXOnDmjPubt7Y1GoyE+Pp74+HjWrl3LV199xZQpU2jZsmWlzyVEaS7Ha0lUnre3N2azWf2/oihYrVZSUlJISUlh//79fPvttzz33HPcfvvtVX7+SZMm8fPPP3Pfffdd08GlI0eO8Oijj3L27Fnuvffe6p6OEEIIIcpJgktCiDINHTqUyZMnF7tNURSOHj3K1KlTWbt2Lbt37+b999/nlVdeKTI2KyuLCRMmsHv3bgB69+7NPffcw3XXXYfRaMRms3H8+HFmzZrF/PnzWbNmDVFRUfzwww80bNiw2PMfPXqUcePGkZycjKenJ+PHj+fGG2+kTp06AGRmZrJhwwamTZvGqVOneP7557FYLJV6c7dw4UL+97//4XA4qF27Ng899BD9+/dXs6ESEhKYP38+3333HdHR0dx55538/PPPtGrVqsLnEldWvXr1APDz86vmmZTP5XgtlcbDw0O9RlWVSRIQEEC9evWqJJvwavDSSy8xatSoIo/n5OSwe/dupk6dyoEDB3jjjTfQarXceuutVXr+lStX4nK5qvSY1eHQoUOcPXu2uqchhBBCiArSKIqiVPckhBBXp/yyuJEjR5YYXMpnt9sZNWoUx44dw8PDg/Xr1+Pr61tozGOPPcbff/+NXq/nrbfeKvaNWL5t27bx2GOPkZ6eTnh4OPPnzy+SPZWVlcWNN97IuXPnCAgI4IcffqBZs2bFHs9isTBu3Dj27t2LwWBgwYIFFSrtOXDgALfddht2u53WrVvz7bfflhiIOHPmDLfccgtpaWlERkayZMkSKe0QVaqqX0vi0svi3n333VK/DzabjYkTJ7JlyxZ0Oh2LFi2qkvLCfPk/rydMmMAzzzxTZce90ubOncv//vc/APbv319iFqwQQgghri7S0FsIUSUMBoP6SXxOTg6HDh0qtD2/RxHAs88+W+qbMIDOnTvzwQcfAO43cNOmTSsy5osvvlB7Qn366aclBpYAPD09ee+999Dr9djtdr744ovyPzngzTffxG634+/vX2pgCaBu3bo8//zzAMTExLBgwYIKnUuI0lyO15K4/IxGIx988AGenp44nU4++eST6p6SEEIIIUSVkeCSEKLKhIeHq18nJSUV2vbtt98CULt2be66665yHa9379707dsXgD/++IPMzEx1W25uLr/99hsAPXr0oFOnTmUer27dutx1113cdtttDBw4sFxzAHej8P379wMwfvz4cpVODR8+nL59+zJx4kS1WTS439w3adKEJk2asH79+mL3Xb9+vTomNjZWfXzbtm00adKEzp07k5mZyQsvvED79u1p164do0aN4osvvqBJkya0b98eq9Va4tzeeustmjRpwvDhw4tsO3XqFK+++ioDBw6kdevWdOjQgdGjR/PFF18Uuv7/tHbtWh599FF69OhBixYt6NSpEzfffDOfffYZaWlpZV6vgvKfZ5MmTTh58mSxY2bNmqWO+afs7Gy++eYbbrnlFtq3b0/Lli3p2bMnjzzyCMuXL6e4hN38Y82aNavYx48dO8aZM2f43//+R+/evWnZsiU9evTg6aef5siRIyU+l9zcXGbOnMmYMWO47rrraN++PXfccQfLli0DoFWrVkW+z2Wp6tdSWfdVTExMmd+TzMxMvvrqK2666Sbat29Pp06duP/++9myZQuJiYnFfq+mTZtGkyZN6N69e7GPP/7447hcLmbNmsXNN99Mhw4d1DnNmDEDm81W4vPdt28fL7/8MkOGDKFDhw60bNmSrl27cu+99/Lbb7+pPaqutJCQEDUYuGrVKrKysoqMSUlJ4fPPP+f222+na9eutGzZkg4dOjB8+HAmT57M+fPnC41/4YUXaNKkiRpo/+abb2jSpEmRe8Nms/Hnn3/y4IMP0qtXL1q1akXbtm3p378/zz33HHv37i12zoqisHDhQiZMmECXLl1o2bIlXbp04a677uLHH38kJyenxOcbHx/P5MmTGTp0KG3atKFdu3YMHz6cDz/8kMTExEJj83825mctAbRu3ZomTZqwbdu2ki+qEEIIIa4K0nNJCFFloqOj1a+Dg4PVr1NSUtQ3LjfccEO5VpPLd+ONN7JmzRpycnJYt24dw4YNA9yNtfPfmA0aNKjcx3vhhRfKPTbf6tWr1a/Ley6DwcCXX35Z4XOVh8vl4uGHH2b79u14eHhgs9lITU1l1KhRfPrpp2RnZ7N69WqGDh1aZF+Hw8HSpUsBijQ2//3333nzzTdxOByAO9vL4XBw8OBBDh48yG+//cYXX3xB8+bNC+03ZcoUvvrqK/X/Pj4+ZGdns2/fPvbt28esWbP46aefqF+/fhVfiaLS09O5/fbbOXHiBAB6vR5PT08SEhJYuXIlK1eu5Prrr+eTTz5Bo9GU+7ibN29m6tSpWK1WDAYDOp2OxMREFi9ezPLly/nmm2/o2rVroX3S0tJ44IEH1HvfYDBgNBrVBvPbt2+v8PO7HK+lfCXdV+Hh4Vy4cKHE48bGxnLfffepTe7NZjOKorBhwwY2bNhQ6abMdrudBx98kHXr1gHuhtk5OTlERUURFRXFunXr+Pbbb9FqC39O9u677/Ljjz+q//fy8gLc127Lli1s2bKFv//+u9h9r4TevXvzyy+/4HA42L59O/369VO37dixg4cffpiMjAzAfc+YTCaysrI4duwYx44dY86cOfz88880bdoUcF+X4OBgUlJScLlceHp64unpWSgIHh8fz/3338+xY8cA0Gq1eHt7k5mZSWxsLLGxsSxatIhJkyYxcuTIQvN95plnWLx4MXCxYXx6ejrbt29n+/bt/PHHH/z8888EBQUV2m/16tU8/fTTWCwWALW8Lf95/PHHH0ydOlUNLup0OoKDg7FarerP9vzfIwaDoQquvBBCCCEuJ8lcEkJUCYvFwsyZMwHw9/enXbt26rbdu3er2SJt2rSp0HG7deumfl3wk/WCZXft27evzJTLLf9c+Q2Iq1tGRgY7d+7k7bffZs+ePezcuZNp06YRFhamXq+FCxcWu+/GjRtJSUlBp9Nx4403qo+vXLmSV199FafTyR133MGqVavYs2cPe/fu5ffff6ddu3bExcUxceLEQllphw4d4quvvkKj0fDMM8+we/dudu7cyf79+/niiy/w8/MjMTGRSZMmXd6Lkmf69OmcOHGCWrVqMXPmTA4ePMiOHTvYvn0748aNA2D58uVq5lB5vffee4SHh/Pjjz+q1+Xzzz/H19cXu93OG2+8UWSf559/nr1796olmXv27GH37t3Mnj2bFi1a8Ouvv5aafVOcy/FaylfSfVVaAMbpdPLII49w5swZQkJC+OKLL9Tn+eOPPxIREVEo0FMRa9euZePGjdx3331s3ryZXbt2sXHjRjVoumnTpiLfxyVLlqjnGz9+PFu2bGH37t0cOHCApUuXqtlbmzZtUksLr7SCDdWPHz+ufp2ZmckTTzxBRkYGLVu2ZM6cORw4cIBdu3axY8cOXnjhBfR6PRkZGYV6Qr388sts2rSJmjVrAnDHHXewadMmpk+fro558cUXOXbsGP7+/nz22WccOHCAHTt2sG/fPqZPn05oaCgul4t333230D25cuVKFi9ejMFg4N1332X//v3s2LGD/fv38+6772I0Gjl58iSffvppoee4f/9+Hn/8cSwWCzfccANLlixh79697Nmzh0WLFtG3b1/S09N59NFH1UBwzZo12bRpEy+99JJ6nNWrV7Np06bL/jNeCCGEEJdOgktCiEtis9nYunUr9957r5q58OSTTxZqwpqQkKB+XaNGjQod39/fXz1WftkHQFxcnPp1aGhoZaZebvnnutznqYghQ4YwduxYNBoNnp6etGzZEkDNOti4cWOx5Wj5QaeePXsSEhICuLOZ8oM/TzzxBK+++qpa4qjRaGjbti0//PADderUITExkW+++UY93pYtWwB3+diECRPULBGdTke/fv149tlnMRgMnDt37oqUIuXP55577qFjx45qdpKfn59a7uXt7V1qKVtxvL29+fnnn+natSsGgwGNRkP//v158MEHATh9+nShFa62bNnC2rVrAfjkk08YMWKEmn3RqlUrZsyYQe3atSv8/C7Ha6mgku6rksybN48jR45gMBj49ttv6devH1qtFo1GQ9euXfnpp5+KNPYvL5fLxcSJE3nuuefUrJjg4GAmT56Mv78/QJHS0p9//hlwZwc9//zz6kp0Go2GBg0aMHXqVLy9vQHUlfautIKr46WkpKhfL1u2jKSkJAwGA59//jktW7ZU719fX1/GjRunvr4rMvfo6Gg2btwIwOuvv86AAQPQ692J6yaTiYEDB/Lss88C7sy/U6dOqftu3rwZgF69ejFq1Ch1YQKDwcCoUaMYP348JpOp0D4AkyZNwm63M3bsWKZMmULDhg3VIGXjxo35/PPP6dChAxaLhY8//rjcz0UIIYQQVy8pixNClGnp0qVs2LChyOM2m43MzEw1k8JkMvHEE08UWWI7v8QDqNQqVX5+fiQkJBTq7ZFfugXu8q3LqWCZ2NWiZ8+exT4+cOBAfH19ycjI4K+//ir0vcjKylJL/AqWxG3fvl0NNtxyyy3FHtfDw4ORI0fy8ccf8/fff6t9UfKDSWfOnGHXrl106NCh0H6jRo1i9OjRV6z8KH8+q1atYtSoUUUCGzNmzKjUyn0DBgwoFBTIVzBDLzk5mYiICMCdQQPQtm1bevXqVWQ/Hx8fJk6cyGuvvVaheVyO11JBJd1XJcl/noMGDVLLtAqqVasWt956K19//XWF5wowduzYIo+ZTCZatGjBpk2bivR2e/311zl79myJGYYeHh5ERkZy6NAhsrOzKzWnS5Uf2AEKzaFv37788MMP5ObmEhYWVuy+jRs3LrJfWYKDg5k5cybnzp0rsddc/nGBQn2g8l9P+/bt4+TJk0VWt3vsscd44oknCpWYRkdH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aGiRcWazmWeffRZwB8buuecetS+M0+lkw4YN3HfffVitVgICAhg3bpy675133gm4Mx+efPLJQtlAZ8+e5amnniI5ORmdTlfuHkc1a9ZU35xOnz6dlStXoigKiqKwZcsW7rzzzmLL9wIDAxkyZAjgDpL99NNPauaTw+Fg/fr1vPXWWwB06NCBiIiIcs2nMnr37q02OX7sscdYvHixep+fOHGC+++/v1C2SEX7C1X1a6myxowZQ4MGDcjNzeW+++5j/fr1arBh37593HPPPZUq/6uMVq1aqYGJt99+u1CWz7Fjx3juuecKBUlycnKuyLxSU1NZtmwZN998M9u3bwfcmVX/vP/ys90WLlzI/Pnz1SBPeno6v/zyC3fffXehgNI/XwP52WiHDh0qFCDKP25MTAyTJ09WXxM2m42VK1cyZswYYmJiij1u/ut7/fr1vPrqq2qZm6IoHD16lEcffRSn04m3t3eh8uEXX3wRrVZLfHw8d9xxB1u3blVfw3v27GH8+PEkJiZiMpmKBNkKBqGrszeWEEIIISpGo1TXcilCiKtev379OHfuXJHV4kqyefNmxo8fj6IoREREsGDBgiIrPtlsNj799FN+/PFH9Y2SVqvF19eX7OzsQm+e+vbty+uvv17mqlqHDh3i6aefLhTYMBgMeHp6kpGRoX5i7+/vz2uvvcbQoUPLfQ3+adGiRbz55ptkZGSoj3l4eKDVagtlTjRq1IgPP/yw2Ebjx44d484771SznwwGA3q9npycHAwGA5MnT+bpp58GYNWqVYSHhwOwbds27r77bsDdSym/30lJcnNz6dGjhzrXqVOnlvrcv/nmG6ZMmaIGBzw9PbHb7er3xMvLi++//159s5rvww8/LFSeZTKZ0Gq16pt3vV7PW2+9xahRo0qdb0Fbtmxh4sSJapaJyWRCURRsNhve3t68+OKLarCvYJAmJSWFu+++m+PHj6uP+fj4YLFY1CBeREQEP/30kxoMBWjSpAkAr7/+OrfddluZj+c7efKkek1/+uknOnfurG5LTk7m7rvvVkv4jEYjJpOJzMxMAAYMGMDKlSsBd/lQcYG/0lTVa6k891VpY86cOcNdd92lliIWfD1otVq1IbTBYCjUzHratGlMnz6d4OBgNm3aVObjBT355JMsXbqUTp068fPPP6uPT5kyha+++kr9v6enJ06nU83GCwsLo2nTpqxbt46mTZsWynC766672L59O0OHDmXq1KnFnvefYmNj6d+/P+AOdhcsZVMUhezs7ELBGk9PT1566aVCpbL5oqKiuPPOO9USMZ1Oh6enp3q/aLVaRo0apfbOmj9/fqGFAt5++231WpjNZiIjI1m0aBGZmZncfPPNhX4++vr6kpWVpb7W+/bty8GDB0lMTOR///sf9957r/ocnn76aZYsWVLoOTgcDvW16enpybRp09Sgeb4FCxbw8ssvq+Pyr03+9TAYDEydOrVQUArcKy0OGDBA/Z75+Pjw+uuvM2zYsGK/B0IIIYS4OshqcUKIKtOtWzduvfVWZs2axdmzZ3nvvfd48803C40xGo0888wz3HHHHcyZM4dNmzZx6tQpMjMzMZvNNGjQgE6dOnHTTTcVWkmpNM2bN2fRokUsX76cFStWcOjQIRISEsjKysLPz4/GjRvTt29fRo0adcmlUMOHD6d3797MnTuXDRs2cOzYMdLS0nA4HISFhdGyZUsGDx7MkCFD1PK3f2rcuDELFy7k66+/Zu3atSQkJODt7U3//v154IEHqFOnziXNMZ/JZGLIkCH8/vvv+Pr6qm+CSzJhwgR69erFzz//zPbt24mPj0ej0VC/fn169uzJuHHjqFmzZpH9nnnmGbp06cIff/zB/v37SUpKQqvVUrduXbp27cpdd91VZiDsn7p27cr8+fP55ptv2LRpE6mpqQQHB9OzZ08eeuihErNOAgMDmT17Nr/++qtaqpWVlYWPjw/16tVj0KBB3H777cX2s6lqQUFBzJkzhx9//JGlS5dy9uxZnE4nnTp1Yvz48QQGBqrBpX8GYcvjcryWKqNu3bosXryYb775hpUrV3L+/HkMBgO9e/fmwQcfJC4ujtWrV+Pt7X3Z5pDvqaeeonHjxsyaNYsjR46Qk5ODt7c3zZo1o3///tx6660cPnyYdevWcfToUc6cOUPdunWr5NxZWVlFeoSZTCZCQ0Np0KAB3bp1Y/To0QQFBRW7f4sWLZgzZw5ffPEF27ZtIzk5GYfDQb169ejQoQN33HEHzZs3Z8uWLZw7d46//vqrUHDpySefxGq1snLlSrKysrBYLNhsNnx8fPj999/58ssvWbVqFefPnycnJ4ewsDCaN2/OqFGjGDBgAC+88ALz5s1j+fLlanBJo9EwZcoUBgwYwPz58zl06BBpaWkYDAbq1KlDz549uffeewuVsua76aab6NChAzNmzGDz5s2cP38eu91OREQEXbp0Ydy4ccX+XAgNDeXTTz/l448/5tSpU2i12ivWFF4IIYQQlSeZS0IIIUQVUxSlzFK3lStX8sgjj+Dv78+2bduu0MyqVnme54wZM5g0aRItWrRg7ty5V2hmQgghhBDiSpKeS0IIIUQVyy8TKq159rx58wBo167dlZpWlXvxxRfp06ePumLkP7lcLrX0rH379ldyakIIIYQQ4gqS4JIQQghRxTp16kRiYiLLly9n8uTJaj8icDc6f+WVV1i5ciU6nY4JEyZU40wvTceOHblw4QIzZ87k66+/LrSK4vHjx3nssceIiorC09OTu+66qxpnKoQQQgghLicpixNCCCEugzfeeINff/1V/b+XlxdOp1NtaGw0GnnllVe4+eabq2uKl8zpdPLII4+wZs0a9TEfHx+sVqvaUNzHx4f333+ffv36Vdc0hRBCCCHEZSbBJSGEEOIy2blzJ7NmzeLQoUPExcWh1WoJCwuje/fu3HrrrRVudH41UhSF9evX8/vvv3PixAni4+MxmUzUqFGDvn37cssttxRamU8IIYQQQvz7SHBJCCGEEEIIIYQQQlSa9FwSQgghhBBCCCGEEJUmwSUhhBBCCCGEEEIIUWn66p6AEEIIIYQQQojiKYqi/hNCiMtNo9Go/ypCgkuXSUZGDk6nq7qnQUCAF6mp2dU9DXENkXtGVJTcM6Ki5J4RFSX3jKioq+We0em0+Pp6VHg/RVFIT08nLS0diyUbiSsJIa4kjQY8Pb3w9/fDz8+vXIEmCS5dJk6nC4ejeoNL+d9/p9Mlv5BEucg9IypK7hlRUXLPiIqSe0ZU1LV+zyiKwoULF8jIyMLLy5vg4FrodFqgYlkEQghROQpOp4vcXAtxcQlYLBZq1qxZZoBJgktCCCGEEEIIcZVIT08nIyOL4OAwdDp5uyaEuPK0Wh0Ggx8eHl4kJcXj6ZmOv79/6ftcmakJIYQQQgghhChLWlo6Xl7eElgSQlQ7nU6Pp6c3aWnpZY6V4JIQQgghhBBCXAUURcFiycZk8qzuqQghBABms2de77fS64wluCSEEEIIIYQQVwH3qnDk9VgSQojqp9NpURQkuCSEEEIIIYQQ14KLb96kebcQ4mrh/nn0rw4uvffeezRp0oQDBw5Uav/Nmzczbtw4OnToQJs2bRg+fDjffvstdru9imcqhBBCCCGEEEII8e90zQaX1qxZw4wZMyq9//z58xk3bhybN2/Gz8+PunXrcuLECT744APuuecebDZbFc5WCCGEEEIIIYQQ4t/pmgwu/f333/zf//0fTqezUvufOHGCl19+GZ1Ox0cffcTq1atZsGABixcvJiIigl27dvHxxx9X7aSFEEIIIYQQQggh/oWuqfUts7Ky+PTTTy8pYwngm2++wW63c+eddzJs2DD18QYNGjBlyhTGjh3LzJkzeeCBB/Dz87vUaQshhBBCCCGEuAJ27drJI49MBGDu3MXUqlWrXPu9+eZrLF26qMTtOp0ODw8PatasRceOnbjnnnH4+wdUao6KovD44w+TkBDPzJm/o9cbih33zTdf8t13XwPw6qtvMnTosGLH5Rsx4gbi4i5w330TmTDhwVLH5h+7Ro2azJ+/pMRxFy6cZ/78uWzfvpWYmBisViu+vj40bNiY/v0HcsMNwzEYip//laYoCvPmzWH+/LlER5/GYDDQqFFjxo69jX79+lfqmFFRB/nllxns3buHzMwM/Pz8adeuPffcM55GjRoXu4/NZmPOnD9YufJvTp8+jd1uIyQklOuu68Rdd91LeHhEofFbt27miSce5b33PqJ3776VmufV4JrJXDpy5AjXX389M2bMwGQy8c4771TqOLm5uSxbtgyA0aNHF9neunVrWrRogdVqZc2aNZc0ZyGEEEIIIYQQ1w4vL29at25b5F/Tps3w8PDg+PFjzJr1C7fdNobz589V6hxz5vzBjh3beOyxJ0oMLCmKwrJlF4M+8+fPrdS5LsXMmT8zduwIZsz4nqNHj+Dj402DBg1xOl3s2LGNyZPf5s47byEmJvqKz604kya9yfvvT+L48aOEh0fg7x/Anj27efHFZ5k27eMKH2/ZsiVMnDieNWtWYbfbqF+/AVarlZUr/2b8+LtYs2ZVkX0yMzOZOHEcn3wyhaiog3h7exMZWYfExAQWLJjH3Xffxo4d2wrt06VLN7p06cbkyW+TlpZa2adf7a6Z4FJsbCxJSUl069aN+fPnM2bMmEod59ChQ+Tm5uLh4UHTpk2LHdOuXTsAduzYUen5CiGEEEIIIYS4tjRu3ISvv/6+yL/vvvuJRYuWM23aF/j5+ZOamspbb71e4eOnpKTw5Zef0bZtO3r06FXiuD17dnP+/DlatWqDl5c3+/fv5fTpU5fwzCrmzTdfY9q0qej1eu67byLLl69h/vyl/PTTr/z99xqmTp1GnTp1iY4+w8MPTyAxMfGKza048+fPZdGiBQQHB/PTT7OYOfMPZs9ewPvvT8VkMjFz5k9s3ryx3MdLSEhg8uR3cDodjB17K0uXruSnn2axZMnf3HjjSOx2O2+++SrJyUmF9vvww8kcOXKYWrVq8+23M1i4cBkzZ/7BkiUr6N9/IBaLhZdeep709PRC+z3yyOOkpaXx2WfTquR6VIdrJrgUGRnJjBkz+OGHH6hfv36ljxMd7Y6qhoeHo9UW//TzUydjYmIqfR4hhBBCCCGEEP8u113Xmf/7v6cA2LNnF9HRZyq0//fff0NWVhbjxk0oddySJQsBaNeuPV26dAVg/vw5FZ9wJSxevJClSxdhMpn58MOPmTDhQXx8fAqN6dq1O1988S3BwcEkJSXx8ccfXpG5FcfpdPLTTz8A8NRTzxcqV+vVqzcTJz4EuK99ea1evYLcXCt16tTlySefwWg0AmA2m3nuuf9Ru3Y4OTk5rFy5Qt0nOTmJFSuWA/Dyy6/TsmUrdZuvry+vvfYWERGRZGRksGRJ4RLMRo0a06NHLxYvXsCpUycreAWuDtdMz6XGjYuvZ6yolJQUAAICSq6P9ff3ByA19dJS0jSaS9r9kuWfv7rnIa4dcs+IipJ7RlSU3DMV983maFYcrd5PhKubTqfF6XRV9zSuKh65aQRmVq4kpyrVzIYga3XP4iJFa8cnPAVPjQ83PvxQdU9H/Et169Zd/fr06VPUqVO3XPslJyexcOE8atWqTadOnUscZ7XmqCVXXbp0Izk5iVWrVrBs2VIeeeT/1EDH5WCxWPjkk48AuPPOu+jYsVOJYwMDA7n//geYPPkd1qxZRUJCPKGhYZdtbiXZu3cP58+fw8fHhz59ivYsuvHGkXz22accPHiACxfOU7Nm2X244uPjAWjQoGGRpBS9Xk/jxk04dy6W+Pg49fE9e3bjcrkIDAyiffsORY5pNBrp3LkrZ8/GcOTI4SLbb7ppJBs2rOOHH77lrbfeLXOOV5trJrhUVXJycgBKfUGazWYArNbK/6YMCPCq9L5VLSjIp+xBQhQg94yoKLlnREXJPVN+q08kE5tmpU6QZ3VPpVrpdNdMwv0V0SZ6BUEZ/+0se0Wrw+nhhdPsCZ5+BESmUCPyEAm+AXgkKwQFPVfdUxT/UpoCn5AoilLu/RYsmI/NZmPgwOsLHeOfVq9ehcViwd/fnzZt2mKz2TCbzWRkpLN69UoGDx56SfMvzZo1q8jMzESn03PLLXeUOX7QoCHo9XratGlXrsDS4sULefvt18s9n/I0ZT94cD8ALVq0KrY6ycfHh3r16nPy5An27t1TruBSWJj7uZw4cRyXy1XouC6XS80uqlGjpvp469ZtmTTp/VJXtc/JseQdo+iYLl264evry5o1q0hOTiIoKLjMeV5N/nPBpfyborQXc/4PiJLK5sojNTW72j9h02jcf7wnJ2dSgZ954j9M7hlRUXLPiIqSe6binE4X4f5mZt3dvrqnUi3kninekvfnkunyofudD1TrPHYtcrec6DC8zmU9j93hID0rk/i0JOJS48jKygGXEUXnILGhma2hbRmn+RofZyqG6EB8Qm6+Ku4ZnU57VX3oLKpGfimURqOhWbPm5d5v1aq/AejatVup4/JXrevbd4C6Sl3Pnr1ZsWI5CxbMvazBpZ07twPQpElTfH19yxzv6enJsGE3lfv4gYFBtG7dttzjTaays7RiY88C7tY3JalRowYnT55Qx5Zl0KAhfPPNV8TERPPJJx/x6KNPYDAYsNvtfPbZJ0RHn8Hf35/rrx+i7hMaGkq/fgNKPKbVamX79q0A1K/foMh2vV5Px46dWL16JWvXrmH06LHlmuvV4j8XXPL0dH/ql5ubW+KY/G0mk+mSzlXdv8zyKcrVMxdxbZB7RlSU3DOiouSeKb/8y/Rfv15yzxSlN5gIb1m09OJKOrja/cYvvEBvkUtlt9tJSkogISGemAuniYs/T25WLhrcHw4rKJiNcKGxN6sC25KsCcas5JCd1oumrSdjbhdBcLAPSUnVH1wS/y4ul4u1a9fw2WefAHD99UMKZa6UJjU1lVOnTqLT6WnRouTXS1zcBXbt2pl3/MHq44MGDWbFiuXs2bOb6Ogz5S7Fq6j8HlINGza6LMfv1q17obLCqpDf+sbPz7/EMfnb0tPTynXMwMBAPvnkM9566zV+/30WS5YsolatcC5cOEdmZibNmjXnpZdew8/Pr9zz/PnnH0lMTESn0zFw4PXFjmndug2rV69k9+6dEly62uX3WkpLSytxTP62wMDAKzAjIYQQQggh/pucTgdJSUkkJsYRHx/H+fhYMlILr6KUpc/C6mGhQW4AHQhkb7NMPg0aTJbGF19XBuOdh7i3eV8CjC2r6VlceV9tOsPfhxOqexqXbFCzUB7oXre6p1HIsWNHmThxfJHHc3IsXLhwnqysLAC6d+/Bc8+9WO7j7t69E0VRiIiIwGAwlDhu6dLFKIpCWFgN2rRppz7etWs3/Pz8SU9PY8GCeTz++JMVeFbll5GRAVzsQ3wtyM11t7MpLTkkf1tpSSb/5OPjQ/PmLYiOPkNWVhbHjh1RtwUHh1So0mnt2tX88MO3AIwefTMREZHFjqtfvyHgvl+uNf+54FKDBu70s/Pnz5c45tw5d3PEOnUub3qvEEIIIYQQ/+Sw2bCkJZc6xumwX6HZVB2n00lKSjKJiXEkJMQTnxBHcnIiiutiepFFZyHVM5VUUyreZDDAEkHHzJ4khCpo6i7GFrIXf2rj7erORK9Ybq3XDQ9du1LOKkTFZGdnsX//3mK3BQYGceONAxkwYFCpDbmLc/68+z1meHhEqeOWLl0MwIABgwq1ctHrDfTr15958+awdOkiHnro0VKDVJWV33/Y6XRU+bEvF40mP8hTduubi2NLd+hQFI8//hBZWVmMGDGKO++8h7CwGsTGnuWHH77l77//Ys+eXXz22dc0adK01GOtW7eGV175Hy6Xi+bNW/Doo/9X4tiICPf9kZqaitWag9nsUa75Xg3+c8Glhg0b4unpSVZWFsePH6dRo6Lpfnv27AGgXTv5RSWEEEL8m3yz5dpbeS02LYdw/2vnj0tx6f7+5E2Sosteiton+MqsyhS15hxnD6QUuy0rJRfvwKLZAi6Xi7S0VBIS4vL+xZOUlFCo0W2uLpcUUwqpJncwKZAE2toyuNHahrrZw1Ey67A/8iivtbex0dCe+5WNDLW2oleTJ7nepx3a//Cykw90r3vVZfz8W7Rr14EvvnAvWa8oChkZGSxevICvv/6C9PQ0fHx8uO66kldQK0lamnslch+fkhe02Lt3j9oTqGAvn3zXXz+EefPmkJaWxtq1q4uUVlWsZ7A72KLT6Qo9GhQUxIkTx0ut9LkUmzdv4scfvyv3+Hfffb/Mxtb5rW9stpKzkmw2G1D+1jcffvgeWVlZDBlyAy+88LL6eL169XnzzUlotVr++mspU6a8z1dffV/icRYsmMf770/C6XTSoEFDpkz5tNTFxQreH2lpadSoce38/v/PBZdMJhN9+vRh6dKl/PHHH7z00kuFtu/fv59Dhw7h5eVF//79q2mWQgghhLgcVhxNvOaCNeH+HgxsElLd0xBXkCU9FQ+/ABp07lXquLCGza7IfM4eSCkxiOQdaCK8ZUCBQFI8CQlxJCYm4CiQXeXUuUgxJZNkSCLNlEa6MZV6zjQ65ObSPtdOC30vtJpx5KbUxunIZUOjA/xSW8suvbs3S2vO0zHiSer7S2WBuHI0Gg1+fn7cccfdRERE8vzzTzNz5k/Y7XaeeurZCh0rIyMTuJgZVJz8rCWAu+++rdTjzZ8/p0hwKf/YdnvZmY05OdZi5xMZWZdt27Zy+vSpMo+R7+TJE0RERJYaNMmXkpJcYmZYcXJzbWWOudhPKb3EMfm9lvLb5JQmMTGRQ4cOAjBu3IRix9x//wP89ddS9u3bW+LKbl999blaCte8eUumTp1WZo+mgplKmZmZ5e7pdTX41waX7HY7MTHu5VlDQ0MLRQAfeOABli9fzi+//ELjxo0ZO9bdKOvkyZM89dRTANxxxx3l6o4vhBBCiGtLuL8Hf9zbsbqnIUSpvAODaX/jrdU9DZV3oInBj7dCURQyMzNISIjP65MUz5aT8dgOF8gY0EOORw7ndOdIMiaRakzFrrPQ0pZLd6uVDpm5tDKEoqs1DIvSH1tcCPbYXOymZFJqzWBePRPfGtyr4HXXx/FA7Sa08ym6spIQV1KvXn245Zbb+O23X/njj1m0atW6xKbMxclf9Sy/Z9M/Wa1WVq1yr0Ln6+tXYoZNbm4uGRnp7N69i5iYGCIjL/buCQoK5tSpk6SmppY5n6SkJMBd6ldQjx49+fPP3zh69AgZGRllvie22+1MnDgeh8PB88+/yNChw0odP2zYjQwbdmOZ86uIunXrAXDhQsmtby5cuABQYq+jguLj3WN1Ol2JK9CFh0eg0+lxOh1cuHChUHDJ4XAwadJb6qp/Xbt2Z9Kk9/HwKPuDraysTPXr8gTrrib/2uBSfHw8Q4e6l2h89913GTVqlLqtadOmPPfcc7z77ru8/PLLfP755/j5+XHs2DGcTiedO3fm8ccfr66pCyGEEEIIcVXIzs4imwRyNRksWnSMhIR4rNYcdbtWp0XxgRT/VE5xkmRjMln6LEwaDW1zHdxkyaRjRi4tnVq0tbuTW783udpuZEUbce1PBxdkeh1iYesjNA1Zhrcui66uBlzwSOb+Ws1p6CFBJXH1ePDBR9m4cQOxsWf54IN36dDhunIvApUfxCmp3GzdujVkZ2eh0Wj46adfS8xYSUiIZ+TIYTidThYunFeof0+DBg3ZsWMbJ08eL3M+R48eBoquCte+fUcCAgJITU3lt99mMnHiQ6UeZ/nyZeq8mzdvUeZ5L4f880ZFHURRlEK9qsCdAXTmzGkAWpZjZUsvL2/A3ScuNTWVoKCgImMSExPVvlReXl7q44qi8M47b7Bs2RIAhg4dzosvvoJeX77QS8H745+Bv6vdvza4VJZ7772XRo0a8f3337Nv3z4SExOJjIxk2LBhTJgw4bI0RxNCCCGEEOJqlZNjUcva8kvcLJZsyGvJkn5Oh9nPDEFazmrPctR1mHRDOmjACz3tHDAyI5EO1lxa5NrQBDXHVu9GbJF9yDC0xHU4C+fWVMjOQcFConkFs1tYWRg0kCRNW27XhPJIRFN8fLrTqZxNd4W4ksxmM//738s88sgDZGRk8MknH/HGG++Ua9/ISHdJZ0JCfLHblyxxZ7l06HBdqaVQoaFhdOnSjU2bNrBkySIefPBh9Hr3e9fevfvw228zOXQoij17dtGuXYdij7F79y6io88A0KdPv0LbDAYDDz30GJMmvcmvv/5Mp05daNu2+F7EcXEX+PzzaQD07dtfzSC60lq3bkNwcDBJSUmsX7+W3r37Ftq+YMFcXC4Xbdu2o2bNWmUer27deurxFiyYy/jxRUvjlixZCEBwcHCh5/3DD9+pgaVbbrmNJ554pkiwqzSJie5VIAMCAkvtz3U1uqaDS0ePHi1xW3h4eKnbAbp370737t2relpCCCGEKKBgE20NoNNpcTpdKKXvdllca/2WxH/DgeXzObR6ifr/XEs2XgGX7xPrqDXnOHMgnlwyyNVkkKtJJ5cMHBrrxUGKBiPeeLjC0GX7YNe5mNXiQxSN+5XrpzXT3qmnY3o212Vn0NhmR2MOwBbRzx1MiuiFUxOE60gqzjUpKAnurAGHM5kY8xz+7BjBXz7Xk6nxw0+TwwMBDu4KHY+vXlfclIWolMzMDNLSSv6ZbzAYC2WdlEeHDtcxePBQ/vprKcuXL2PYsBu57rqyV45r1ao1ADEx0UXKzRISEti5czsAN9wwvMxjjRgxik2bNpCamsK6dWvp338g4G5G3qtXH9avX8vzzz/DCy+8TO/efdSm3S6Xi02bNjB5sjsg1q/fANq0aVvk+MOH38TatavZvHkj//d/D3PffRMZOXKMGuxwuVxs3LieDz98j5SUZEJCQnn66efLnPflotVquffe+/jww/eYPPltgoKC1QylDRvW8c03XwJwzz3ji+wbG3sWh8OBt7c3wcHu/oYajYZ7772fDz+czA8/fEtAQADDh49Ar9ejKArz58/h++/dTd/vu2+iGjyKiYnhu+++BtxBuyefrFhfLoADBw4A7oDZteaaDi4JIYQQ4up3NTXRlubY4moUd/wQNks2oQUadJfVzLsibDYbiYnxap+kM8fOYtdZLg5QwIg3Xq4aaJ0euJxGHHYNDpeT/LXdzgccZaAhhI7piXRKPUc9uwONRoejRgdsjXuTEdEbR0grFEWL63QGrpUpuE7FgUtBwUluymbSAheS2S2J1X59+VNzM2HabB4ONjA6uB4eFVrlSojyueee20vd3qtXH95/f0qFj/v440+xefNGMjIy+OCDyfzyy+9l9scJC6tBnTp1iY4+w/79e+nR4+JrfNmyxbhcLjw9vejbt18pR3Hr1q0HYWE1iI+PY/78uWpwCeCll14jN9fKtm1befHFZ/H19aVmzVooCpw7F0t2trvnU+/efXn11TeKPb5Go+H99z/inXfeZNmyJXz++TS+/voLatashbe3N+fOxZKRkQG4y+ree++jYkvHrqSRI8ewc+cO1q5dzf3330P9+g2w2Wzq6nvjxt1P165FE0seffRB4uIuMHTo8ELXY8yYm4mJieaPP2bx3nuT+OqrzwkLq8G5c7Fq36xbb72DkSPHqPv8/vtMtVTu3LlYJk4sGszK17p1m0Iljfn273evXN+lS9dKXIXqJcElIYQQQlx2+U20NRoIDvYhKSkTpTpSl4S4SulNZq7/v1cu+Th2u53k5ETi4+PyAkpxpKamFBpjwBNvV03qdA4l2ZjMUecR9qdvJMF6sVynpimYdhpfrstKpVP8USJsVjTHwekTjq3RLWRG9sYe3gPF5M6+cCVYcK27gPNwGuS431y5HHFkR8/hYIcE/hwwjOFaA5G6IEYHt6WhwZdB/vXRV6BcRIirRWBgIA899CjvvTeJmJhoZsz4ngkTHixzv+uvH8rXX3/Otm1bCwWX8leJ699/YKHVwkqi0+kYPvwmvv32K3bu3M65c7HUru1uPO3n58fUqdPZsGEdy5cv4/jxY5w9617oKiQklM6du3DTTSPp1KlLqeVaer2B1157i2HDbmLp0kUcPHiA+Pg4zp8/j6+vL126dGXgwMFcf/1gtSyvOul0OiZNep958+awaNH8Qj2Wxoy5hcGDh1b4mE899Sxdu3Zj9uw/iIo6wIkTJ/D19aFHj16MGXMzXbp0KzR+79496tfHjx8r9dg+Pt5FHrNac9i/fx8Gg4F+/QYWs9fVTaMo8qfd5ZCamo3D4arWOcgf8KKi5J4RFSX3jCiPm3/cCSDBJVEp/4V7ZsX0SSSdOcFtH35fof2cTgfJyUkF+iTFk5KSRME/7319/QgNDSM4JAyXt4uzmrNkzwvE6rQyq83FXjGRnuG00wfSMTuLThcOUSvb3fdD0Zux1eqKPbI3tsi+OP3ru78pgJJtx3kkFVdUCkqiu6ROMdiwn91CVsp8dg4OY07Tm9il6QTAA74JPBzeEa328r4RvZruGb1eS0BA+cuunE4nR44cpUaNCLSSzfWvk5aWysiRwzAYjCxevPyaWw1MXF6LFy/k7bdfZ8SIUbzwwsvVPR2Vy+UiLu4sTZs2UUssiyOZS0IIIYQQQlzl3KsWJecFktzBpOTkRFyuix9ment7U7dug7xgUgiZ5iyOZB9iQ8oGDiTvIzPOvcT1zY4XMGqNjAnuSXurlU7xRwk9vQVNXic0R2ATLI1GYovsg73mdaA3q+dQHC5cp9JxRaXgOp0BCmDQ4NTGYt36J5agKHbf2Iifaz/JEY17BadenrlMCKtHWy9Z+U38t/n7BzBixGhmzfqFdevWMHDg9dU9JXEVWbRoPjqdnrvvHlfdU6kUCS4JIYQQ/wIFm2Zfba6WfktCXE3iTxwhatViUBRSYs8U2uZyuUhLS1WzkRIT4wotew1g0JkwOwMxKb6YFD+M+OBK0ZCZaCXxQCa5riRcigvwIpyeNND1x6w1YlbAafXAT3+B23fMdJ/P5Eduw2HYI3pji+yFy7vwakqKoqDE5+CMSsF1JBWsTnd3fj8HtlMbsG77g8zrHOQ8DM5AB1mYOaFpynAfhfvDIqlvluwMIfLdeefdLFgwl1mzfmHAgEEVWklM/HtFRR1k3769DB8+glq1alf3dCpFgktCCCHEv8DV1DT7n6SJthBFndq+gdgDu9DoDShGIz71m7Jx41oSE+NJTIzHbrerY00mM7Vq1SY0tAahoWGEhISx4YfTZKXYcHlbyXRayXXGoeRlHmnQYNKZMOlMeCgazE47OpsFXO4mtOg01A86RXanp7FF9MYR2ga0RUsdlCw7zsN5ZW/JeSvJBRhwGc5iXTcTW8oxUvsZWPJ+f5YYhjJR8yO9g1syJvAWBmqCCDHIWw0h/ikoKJjHHnuC996bxKpVKxgwYFB1T0lcBT777FOCg933xrVKfuILIYQQ/xL5TbOFEFcnRVHIzMwkMTGOczlWLBGN0QUGY7PZyFTg/L5dGAxGQkNrEBISpgaTfH39yHZkE5V6gJUpK9h/YC+tsoajGBX+aD4Zs85MC/9WtA5sSzt9AK1TYvGJ3Yjh/HY0LhsATu+a2CL7YIvIa8RtHoWluDk6XLhOpOM6lILrTKa77M2sgzpa7MfXYJ35Jw7/XOKG+bGgw0iWawaTqfHDT2PHu+a71Ax0rxgl4WQhSjZy5BjWrl3Nl19Op0+fvldFQ2xRfTZt2sDu3Tv54IOp+Pr6Vvd0Kk2CS0IIIYQQQlwG2dlZamlbfnlbTk7OxQGeXgT7BxJWoxahoe5gkr9/ABqNhnRbGgdS9vH3ub/Yf2AvJzOO48LdX8lL7811eg/MOjOfdfiIlulxeJ7dgOHwdHTZ7hXfFJ0Je+2u7oBSZG+cAY3URtz/pCgKygWLu+ztaBrkusveNHW9cTlisK76FfuhfdgaKFj+z5s1dVvzteZhcjUe1NTZeTQkgJGB/nhIA2ohyu2TTz6v7imIq0T37j3ZunV3dU/jkklwSQghhBBCiEuUk2MptGpbYmI82dlZ6natVkdwcAgNGjQmNLQGF3Zu5Oy2ddx43yMYPb1IsiayN2U3+87tYX/KXs5knVb39Tf606NGL1oHtqW1fysaWTJZvseCJiednrMfvNiIO6ARloY3Yovsjb1WZ9CXXiarZNpwHsore0vNBUATYkYT6YHt8Gqs38/GlZGK9Todx95tRIDfMfSk0cwrjEiHkfEhoQz290YvPWOEEOI/T4JLQgghxCW6GpppX639loT4N8rNtaoBpPxgUmZmhrpdo9EQFBRMnTr1cKSasMTqMTq90VzQknMBjmYeJjvlKBrg92kbsCkKdpe7x5KZJnTVtKCvzow5758BDRp7Nhq7hdOOo5xWnGQ4auJnSMPWYCi2yN7YIvrg8qlVwowvUuwuXCfScEalokS7V4/DQ4+2fTAuzQWsy3/B9t1GXHon1iG+7O7XkvmGQezSdOJJz63cXqsbZnM9eiiKNCIWQgihkuCSEEIIcYmuhmba0jRbiMvDZrORlJRQqLwtPT210JjAwCCaNm2h9kkKDg5We6j89ekB7Cm5aP2dWJ3Z5DiyUS7MQ4OCotFjceSg15nxNviowSS9RofGbnH/syRDXt8kAHRmFIM/PgYDtdp2IKPfiDKfg6IoKOey3WVvx9LA5gKtBm0jPzT1PbEfXovl29k4Y6Jx+oHlgZpsalmTBZqhHNG0AKC3t4HOYWMwm00AElgSQghRiASXhBBCiCogzbSFuPY5HHaSkhILBZJSU5MLjfH3D6BRo6Zqs+3g4FCMRmOhMS7FxcmME+xL2UOWNZBck5VZjd8BQOfUcNfZSGx1/IgcMYR24V0JMYegSzmG8ew6jDHrMJzfikaXC2ZweoVhi+iDPbI3toieKOaAcj8fJcOGMyoF56EUSHMHqDRhHuhaBOIyp5G75Hes05dBTg6Ohp7kvFqHrBqnWU5zZmjuR4fCjX4ejA8JpoHZWMbZhBBC/JdJcEkIIYQQQvznOJ1OkpOT8gJJ7mBSSkoSiqKoY3x8fPN6JIXlreAWislkLnosl4PjGcfYl7KX/Sl7OZCyjyyHu+TsZscLGLVGRtW9mdaBbWnm1ZRly5+kWUgz+mp0GLe8j/HsOnRZFwBQtEbstTq7S90i++AMbFJiI+7iKDYnruPpOKNSUM7m9Xzy0qPrGIKmiR+Ow1vJ/H4qjr27UVBw9Isg5QYzyzwi6cpGwjxbcnPA9Si5vtwVFEANo7xdEEIIUTb5bSGEEEIIIf7VXC4XKSnJJCTEqX2SkpKScLmc6hgvL2/q1q2fl5HkDiR5eHgWezyb08bR9MPsS3E3345KPUiO0wKATqOjiV9Td/PtwLaknPBGi5bBTQeiT9iL5sDPAJiOL8Av+xgADv8GWFqPxx7RG1vtrmAo/rwlURQFJTYrr+wtHewu0GnQNvZH2yIQvHPJXbIA68fzcCUlopj0OMa34nzHbBbTgr+5gQyNH+aAe3i0djMAnq3wVRZCCPFfJsElIYQQQgjxr6EoCmlpKYVWbktKSsDhcKhjPDw8iIiIVHskhYaG4eXlXeIxcxw5HE6LUoNJh9KisOf1QTJojTT3b6EGk5r7t8BD7w4OabMusCz3FBp7NkHf34o2N53kXA+gIy6f2mT2Ho8tsjcu34jKPde03Lyyt1TIyCt7q+mJrkUgmsZ+OI9Hkf3Tt9jWrgKnEyJCyH2pM2ci4ljoasFqzSCseFBDDw+HBDMywKdS8xBCCCEkuCSEEOI/5XKs7FbdzbyF+K9SFIWMjPQCPZLiSExMwG6/2ADbZDJRo0YtNSMpNDQMb2+fUhtSZ9mzOJi6j/15ZW5H04/gVNxZTmadB23yAkmtA9vS1K8ZRp27yTUOK4YL2zm0KpYzsb7gzCXTURM/fSZOv7rkRPTml98PAnZcdftgbXlnxZ9zrhPXsTR32du5bPeD3gZ0nULRNg9E46mQu2I5OVP/wHnyBACaXq2xjPAh3XM7LtcG9jKcpZqbaGjSMT4kiMF+3hikQbcQQohLIMElIYQQ/ymXY2U3WalNiMtPURQyMzMLBJHcDbdzc63qGIPBkJeNFKYGk3x9/cpc2SwtN5X9BYJJJzOOo+DuveSt96FTSFc1mNTItzF6rT5/UujSTmKMWYsxZq27EbfDypmkT0h3BOLrmY2PF9Ru3Ya0QUsAcPxyGwCtB48s/3N3KShn88rejqeBQwG9Bm3TAHQtAtBE+uA6dxbLzM/JXbYYJSsLjacXmrv7k9XDwi5HPIvoy536HNqFDOZ+v8G0tjjp4e0pq74JIYSoEhJcEkII8Z8jK7sJcfXLzs7OCyLFkZaWTGzsOXJyLOp2vV5PcHBogUBSGP7+geUKliRaE9mfsof9Ke6AUnTWaXVbgDGAnjX60DqwLW0C21LXpz46jU7drsnNwBC7MS+gtA5d1jkAFK0Be83r3E2419XBW2di0OPdij1/nXad8fQPLHOerhQrrkOpOKNSIMvuPn8tL3QtAtE28Qc92LZuxjrtT+zbtwKgrVsX5YnrSa1/nC3WCyxyjOSwpiUA/YOG0j/QvdpcT6mAE0IIUYUkuCSEEEIIIapVTo6FxMSEQiu3ZWdnqdu1Wi3BwSE0aNBI7ZMUGBiEVqst89iKohCXc0Htl7Q/ZS/nLefU7SHmUAbUGqRmJkV41SkcoHI50SfsdQeTzq5DH7cbTV6JnMOvLjmt7sUW2Qdbra5g9HLvs/FApa+FYnXgOppX9nYhL5jmY0DXJQxt80C0ASZc6WnkzJ6JdcEcXBcugE6HoW8fckfVJtlzA3ty9/OzdTwxmrroULjR34fxwf40MBsrPS8hhBCiNBJcEkIIIYS4wpx2e6El7/9Lcm25JCUmkJiUQGKi+19mVoa6XaPREBgQRER4XsPtkFAaNookPc1KwUvmcjhwFXN8RVGItcRwIGUfB1P3cyB1P0nWi33WannWZkiNobQKaE3LwDaEmWsUCiY57Xa0lngMZzdijN2AMXYjGmua+9gGTywR/bFF9MQW3hOXb2Thk9vcvZ4UlzvLyGGzUR6KS0GJznSXvZ1IB6cCei3a5gHu5twR3mg0GuxHDpH9xWxyV60AWy6awECM4+/E0gdic5ahcf6Nzu6Fr99EEjLrcmegH3cH+VHTaCjXPIQQQojKkuCSEEKIq15VNuGW5tuiukXv2cb67z/5TwSXFI0Wp9kTl4cXTrMnTrMXislcYICC1mZFn5ONzmpBl5ONNteCTVE4B+TnF/1dyfOHA+F4AP8IAhFFAlGsZlY5jtKi8H8P5uTNqOxZ/fpUCRvyglmuZCuuqBSch1Ig272anSY8r+ytsT8aow4lN5fc5cuwzpuN49BBAPSt2qAb04+Mxmc4kbaAv7N6s1wziZcDohlYsz8ttN50d7nw0+lKmIAQ/17nz59n1KhhFdrnvvsmMmHCg5XaF6Bduw588cU3RR632WwsX76UNWtWc+zYEdLS0jAajdSuHU6nTl0YPfpmatWqVeHz5UtLS+X222+me/cevPTSayWOe+ihCezZswutVsvs2QtLPWfBa/DZZ1/ToUPpbQTyjz106HBeffWNEscdOLCPxYsXsnfvHuLi4nC5nAQFBdGiRSuGDbuRrl27l/Fsr5zs7Cx++OE71qxZRXx8HD4+vrRr15577hlPkyZNK3XMuLgLzJjxA9u2bSExMQEPD09atWrN3XePo02btiXut2HDOubM+ZMjRw6RnZ1NaGgYPXv2Zty4+/Hz8ys09rPPPmXu3Nn88stv1KxZ+fuqsiS4JIQQ4qpXlU24pfm2qG7pcedQFIXwlu0xenpV93SqjEtRyHEp5DhdWJwuclwurK7CATSjRoOnTounToOHVouHTotO4wmU3n/IbNJjzXXkncdFpj2D1NwUUm2ppOWmYlfy+hGhwcfgQ4AxkABTIP5G/4sruRWkKGjsWWiz493/LAloFCenrddhUzww6Byg1bv/UbmG154BJvxreBZ5XOfS07R2N2wzj6HE5ZW9+RnRda3hbs7t556vMz4O6/y5WBfNR0lPA5MJ07CbYEQ7UjzWcib9W5al3sAqzTSsGhM1DTqMvo3R6dz3lASWhIAGDRri5eVd5rgaNWoAYDIZad26bZHtqakpnD0bA1Ds9gYNGhZ57MiRw7z88vPExsYC4OvrS/36DcnISOPkyRMcP36M2bP/4IknnmLkyDEVeFYXvf/+u+TkWHjwwUdKHHP+/Hn27t0NgMvlYuHCeaWOr2o5OTm89947/PXXUgCMRiM1a9ZCr9dz7lwsq1atYNWqFfTs2ZvXX38bL6/q/b2YnZ3Ngw/ez/HjxzCZzDRs2Ij4+HhWr17J+vVreeed9+jdu2+Fjrlr1w6effZJLBYL3t7e1KvXgNjYs2zatIEtWzbx8suvM3Ro4aCmoih89NF7zJ79BwA1a9YiICCQmJhofvttJuvWreGrr74nNDRU3efee+9j8eKFvP3263z22deXfjEqSIJLQgghrgnShFv827QbfjMBtetU9zQqxel0kpKSpK7clpAQR0pKMi7XxUI1Hx9fauc12w4JCSMkJAyz2VzKUYtnd+VyXjnDhtOb2Zeyl6jUg1idOQDoNDqa+DVT+yW1DGiNt6H4N5IaWyaG2E0YY9ZhPLsOXW4M6EEJ0GNv1hFbZB+S13dB0ZkY/Hiryl2YEihOBdeZDFxRKbhOZkCyA8XgQtsy0F32VtsLjUaDoijYdm7HOucPbJs3gsuFtnY4Hnfeja1vIAlZs8m2/MkGW2++1XyOAz0NTQbGBwcw2N8bg6z8JkQhTz31XJmZNwUFBQXz9dffF3k8/w07UOz2f9qyZRPPP/80NpuN7t17MHHiw4UyXuLiLvDVV5+zbNkS3ntvEgaDgWHDbir3PAG2bt3M6tUrGT9+AkFBwSWOW7p0EYqi0KVLN7Zu3cySJQu5//4H0OsvfyggOzubiRPHcfLkCWrUqMH99z/I4MFD1XM7HHYWLlzAZ599yoYN63j++af45JPP0VVjcPy99yZx/Pgx2rVrz7vvfoC/fwBOp5Pvvvua77//hjfeeIU//1xAUFBQuY6XlJTI888/jcViYcSIUTzxxNOYzR7Y7XamTv2QuXP/5P33J9GpU2eCgy9++Dlnzp/Mnv0HZrOZN9+cRK9efQCIiYnmueee4syZ03z00Xu8995H6j5eXl6MG3c/U6a8z7JlSxgy5IYqvTZlkeCSEEIIIYQokcvlIjU1uUAgKZ7k5EScTqc6xsvLm8jIeoVWbvPwKJq1Ux45jhyiUg+wP9XdfPtw2iHsLnfvIqPWSHP/lmowqZl/Czz0JWQ0Ki70iQcxxqzDcHYthrhdaFzu7Cenbx1yWt6NLaI39vBuKEb30mnKpso34i6OKzHHXfZ2OBUseWVvkd7usrdGfmgM7jdQrqwsrH8twTpvNs6YaNBoMHTphmnUTWQ3TCQm+RcOJxioo4klJOBG+vvexfYkT+4L8aent2e5VsgTQlwZKSkpvPnma9hsNkaOHMNzz/2vyGu0Ro2avPbaW+j1BhYtms+UKR/StWuPcgcsFEVh+vRP8PDw4Lbb7ix13LJlSwC4+ebbOHbsKImJiWzatKHC2TeV8dFH73Py5AnCw8P5/PNvCA0NK7RdrzcwatQY6tWrxyOPPMDOnTuYP38uo0ePvexzK87ZszGsXLkco9HIG29Mwt/fvbqmTqdj4sSHOHr0MJs2beT333/l4YcfK9cxv/nmS7KysujWrQcvvPCy+rjBYOCZZ55n164dREef4e+/l3P77e7vpdWaw1dffQbAK6+8oQaWACIj6/Dii68yceI4NmxYR1paqjpPgBEjRvHDD9/yxRfTGTBgEAbDleu5J8ElIYQQQggBuN+IpKWlqoGkxMQ4EhMTcDgc6hiz2YPatSPzAknuYFJ5yk5KkmXP5EDKfjWYdCz9CM681dg8dJ60DWpH1/DONDQ3o7FvM4y6klc801gSMZ5dl5edtB5tTrL7eek93Su6RfTGFtkHl3+9Ss+3LIrFgfNIKq6oFJQEd4aVJsCEtl0wuuaBaHwvzt9x6iTWuX9i/XsZ5OSg8fHF49Y70d80gDTDBs4mvcHeC3VYpJnAIU0zXg0z0T4kHIAZvpftKQghLsGXX35GamoKtWuH8/TTz5Ua/H300f9j5crlWCzZLFo0n3vvva9c51i/fi0nThxn6NDh+Pj4lDhu797dnDsXi9lspn37DvTu3Zd582azYMG8yx5c2rdvL0uXLgLgf/97pUhgqaB27TowYMAg/v77L377bWa1BZf++mspLpeLzp27Fio3yzdixGg2bdrIypV/lyu4ZLPZWLVqBQCPPfZEke1arZZHH/0/oqPP0Lx5c/XxDRvWk5mZSfPmLejff2CR/Vq3bsODDz6Ch4cnrn+WnxuNDBlyA7/++jOLFy+odMllZUhwSQghxBVX0Qbd0oS7/HbM+Zm4Y1HVPY1S6fVaHI7i1vn6b8jJSKvuKQDuQFJGRjoJCfEkJsblBZTisdsvrnBmNJqoUaOWmo0UElIDHx+fS8qUSc1N4UDKPjWYdDLjBAruP459DD50DumqZiY18m2MXqcnONiHpKRMivRAd9owxO3EGLMWQ8w6DEnue39H1s0ct7+DYvBCMXiiOD3gpAZOAmQBxWcoZaXk4h1YTI+mMihOF65TeWVvpzPABRi1aFsHuQNKtS5mFykOB7YNa8mZOxtHXh8UXeOmeIwaC72akJTxJ0mp97FNac9izWuc0USgA4b7e9PeJ6DEOQghqp/VamX58mUA3Hrr7WWWnvn5+fH662/j7x9A8+YtSh1b0J9//g7A9dcPKXXckiXu4E7nzl0xm80MGDCIefNms3XrZuLiLlCjRs1yn7OiFi6cB0CTJk3p0OG6MsePG3c/ffv2p23b9uU6/ptvvqYGr8pSo0ZN5s9fUua4gwf3A9CqVZtit7du7X78/PlzJCTElxowAzh0KIqsrCwiIiKpV69+sWN69uxNz569Cz22ffs2gEIZS/9UWiBy0KDB/Prrz8ye/YcEl4QQQvy7VbRBtzThLr+T29bhtNvw9C9fan11UJwanM5//0ppJTGYPfAJqYF3cOl/lFYlRVHIysokMTG+UHlbbq5VHaPXG/ICSGGEhbn7JPn5+V9yyVViTgL7U9yBpP2pe4nOOqNuCzAG0qtGXzWYVM+nPlqNttTjadPPuDOTYtZiOLcZrT0bAJc5EGujm7BF9uXI8oZk5Tjw9q1YoMg70EREq9Kbi+dTFAUloUDZm9UJGtDU8XGXvTXwQ2O4+FxcyUlYF87HunAerqREMBgwDRqCaeRobHWdxCX/RMaZVwGF1Yb7+cExBLNGwx2Bvtwd5Ect45UrbRBCVM7Bg/vVn6sdO3Yq1z4VzSBKS0tl164dmM1m2rUrORBjteawevUqAAYMGARAu3btCQkJJTExgUWL5jNhwkMVOndF7Ny5A4DrrutcrvH16tUvMQBTnMjIyGKbqxcnOLjknlQF5TdfDw8PL3a7n58/np6eWCwWzp49W2Zw6eTJEwDUr98AgCNHDrF06RKio09jNJpo27Y9I0aMKtLEvOB+DoeDFSuWs2XLJlJSUggNDaV//4F0796zxPM2adKUgIBATp48wenTpyp0XS+FBJeEEEJUC2nQffmE1GvMoMdfLntgNdBoKDkLRVQZiyVbDSDlB5Nycizqdp1OT0hICCEhNdTSNn//ALTa0gM7ZVEUhfOWc4WCSRcs59XtoeYwBtS6Xg0mRXhFlh28smXD0Y14HVyGMXotuoxo97k0Ohw1OpAT2QdbZG8cIa0gPzD19wG8A3VV3pgbQMm24zycV/aW5H4TqQk0ob0uFF2zADQ+F8veFEXBcWAfOXNnY1u3GhwOtKGheE54CNOwYWTq9hKT+AGJp0+ykusZ7n09DUPHcp+pDR4pGdwa6EeAXlZ9E+JacebMGQD0ev1le0O/a9dOFEWhadNmGI0llwmvWbMKiyUbT09PevbsBbjLsAYMGMSsWb+waNFCxo+feFmaZ+fk5BAfHwdAw4aNqvz44M7cKW8ZYXmlpqYA7iBSSXx9fbFYLKSnp5V5vPxr4OfnzxdfTOOnn35EKfDHz4YN6/j991+ZMuXTQtcpfz+n08l9993N0aNHCh136dLF9O8/kNdff7vYnkoajYZWrVqzfv1adu3aKcElIYQQQghRNqs1p1A2UmJiHFlZWep2rVZLUFAI9es3VMvbAgKCquQNhaIoRGedKRRMSrJeLHkN94xgaPhwdzApqC01PMpRgqG40CUdxhizBuPZdRgu7ASXHQ/A6RNOTos7sUX2xl67O4rpyjQeUhz/KHtTALMObZtgdC0C0NQo3FRbyckhd8Vycub+gTPvE2hDh+swjxqDvktHUjOWEJM4jnhbNss0N7Fa8xI5GKjpHUhbL3fp20Oh5cugEv9N5m1TMB5bWN3TuGS2xjdi7fzUZTv+I49MLHNMeUumyiMzMwMoPThxqXbv3glA/foNSx2XXxLXs2dvzOaLmeLXXz+EWbN+ISEhni1bNtGjR68qn2NmZqb6tb+/f5Uf/3KxWt0fGJhMJQftTCb3qqcFM39LYrG4M2vXr19DWloaN900krvvHkdISCjHjh1hypQPOXToIE8//X/88svvav+s/P3ee+8dnE4nL7/8On36uDPcVq9exccff8iqVSsICAjgmWdeKPbc9es3YP36tezZs4sxY24u5xW4NBJcEkIIIYS4RuTm5qqlbfl9kjIy0tXtGo2GwMBgIiLqqhlJQUHB6HRV8yefU3FyKuNEXjDJ3Tcp3Zambq/nXZ/ukT3VzKQgc/lKETQ5yXlNuNdhjFmPNscdoFL0ZuwRPTE2u57UoC44/Oq709+uAEVRUOIsOKNScR29WPamreeLtkUg2vq+aPSFM72csWfJmTeb3KWLULKy0Hh6YR41FvPIMSi1vUlO/o3kE69xzunJEs0tbND0wI6WBiYD44MDGOJf+cboQoiiGjRoWOaCA+UtmSoPs9kdeHA6HWWMrLzz593ZoOHhESWOiY+PY/fuXUDRvkxNmzajTp26REefYf78uZcluJR/HYBCK4te7bRaLS6XCyj590x+5pGmjBJucP/OBkhLS2PQoMH873+vqNtatmzNJ598xtixNxEfH8eff/7G+PETiuz38cfT6dKlm7rfjTeOwGg08vrrLzNv3hxuv/1uatWqVeTcERGRAFy4cL7ItstFgktCCCEu2Tebo/lbGnRfEYqicHDFQrJTkord7rDlXuEZicvFbreTmBhfqE9SWlpqoTEBAYE0adKckBD3ym3BwaFVuuyww+XgWPoRNTOJvUFEJrYAPKhJV+poe2PWmTHrzJh0ZnR5f2znAju4AFwo8dgaRw4aezYauwWc+Z8A9wLdQHcTboOXuxH3aQ26GB1OpwWUg+Wad2UbcwMombaLZW8p7teTJtiMtnOYu+zNq/D1VZxO7Fs3kzP3T+zbtwKgq1sP88SHMV0/BJv2AheSZpB2dAmKYsdojCDJ5/9YnV6Ptp5m7gv2p5ePJ9orFDQT/w7Wzk9d1oyff4unnnqODh2uXAl+UJA7UJWRkYHL5brkUuPi5P8e8PEpOWi2ZMliXC4X/v7+dOrUpcj2668fwtdff8GWLZtISEgotDKaVlvRn0XuYItOd/G5+vr6YjQasdlspKWlVfB45fPjj9+xefOmco0NDg5m0qT3yxzn4eFBZmYmNputxDG2vL+zTKayf8fkZzkB3H//A0W2+/j4MGbMLXz77Vds3LhBDS6ZzWYsFgutWrUuFFjKl//9O3/+HFu2bCp2db38LKjLdf2LI8ElIYQQl0wadF85lrQU9iz8rdQxviE1rtBsRFVxOBwkJycWKm9LTU0u1JvB19efRo2aqH2SQkJCMRorF0Apic2Zy+G0Q2owKSrtANa8wI9eo+e2lJfxzPXD6K/BpDOjLeXT3SJcdjR2y8WAEnkrBmp0KEYfdzBJ7wnaS//ztCKNuQEUuwvXyXScUSko0Zlq2ZuuXTDaFoFoQj2K9IZypadhXbII6/zZuC5cAJ0OY+9+mEePRd+mHRbLTqLjnyMjaxMHac1S3SSeCTXTJKgbDdDSLNBKOy8JsgvxbxIZWQcAl8tFdPSZcvW6SUiIR6fTExRUvoU48kvvCpa6/dOyZYsBd2ChR4+SG4s7nU4WLZrPffddLB8smHVUcPXQkuTk5ACFAyngzpw5efIEp06dLPMY4L5mJ0+eoGHDRuVaSCImJob9+/eW69jlXRXPz8+fzMzMUvsppae7s4UDAspevTM/wGMymdVMon/Kb/Z94cI59TFvbx8sFkuJ/ao0Gg316tXj/PlznD9/rtgx+fdH/v1yJUhwSQghRJWQBt1XhqK435A37jmAtjcU/aQKwOTlcyWnJCrI6XSSkpJUqNl2SkpSXiq+m7e3D/XqNVRL20JCQkt9I1FZOQ4LB1MPqMGkI+mHsLvsABi1RpoHtKR1gLvErXlAS9YePw4elK9Rtt2C8dwWDDFrMZ5dhz7tFBhA0WhxhLXHFtkbW0RvHKFtQFty/6fL1QReURSU8xach1LcZW+5LtCCtn6Bsjdd0awD+5FDWOfOJnfVCrDlogkIxOOe8ZhvHIk2JJC09BUknrwdi/UY2+nKUt2XnHSFoHPBCW0I7TQ6DCCBJSH+hZo0aUpISAiJiYns2LG9XMGlH374jnnzZtO1a3emTp1W5vj8DxWysjKL3b5v317Ono0B3Bk7JZVvZWVlkpOTw6JF8xk37n41y8rPzx+DwYDdbic1NbXYfQtKTnZnUv8zONajR09OnjzBzp3byzwGwKFDUdx//z34+fnz5ZfflnntXn31DV599Y1yHbu86tatR2zsWS5cKD7rNi0tVQ2mlRQsKqhOnbp5XyklBszyr7tefzErtk6duiQkxFNaeZ427/dmSdnK+fdHVX8IVRoJLgkhhBDXIL3BhNn7yjQzFpXncrlITU0hISFOLW9LSkoo1IPC09OLyMi6eUEkdzDJ09Pzsswn057BgZT9ajDpWMZRXIp7Lp56T9oFdXAHk4La0di3CUZdyU1Ni1AUdMmH1d5JhvPb0bjcn3o7vWuR0/w2bBG9sYf3QDH7X4ZnV85pZtjcAaVDqSipeWVvoR5oWwSiaxqAxrPon8eKzUbu6pVY583Gcchdmqdv2RrzqDGYevfDpbORkjKPpKMzsdvj2KfpzM+6H7jg8sasaLg90Je7g/2obay6kkUhxNVHo9HQr98Afv99Fn/8MYuRI0eXWqqclZXJihV/AdCoUeNynSMwMJBTp06WWO60dKm7kXd4eDizZ5fc9H358mW89tpLxMXFsXXrFrp1664+h3r1GnDs2BFOnDhe6lySkhJJTHS3Rfhnlk2/fgOZMeMHjh49ws6d2+nYseQMKoC5c2cDYDQaCwRlrqzmzVuyceN6Dh7cX+z2/fvdj9esWUstgSxNixYtAXcPpePHjxX7PY6Jca+AGh4eXmi/HTu2ERVVcil4cfsVlH9/BAZeucUhJLgkhBBCCFEFFEUhPT31Hyu3xeNwXGzsajabqV07okAgKQxv78uXaZaSm8KB/JXcUvZxKvMESl5/DF+DL11Du9E6oC1tgtrRwKchugqWpGmsqRjPrscYsw5DzDp0lngAFJ0Je3hXbBF9sEX2wRnQ8Io14i6OYnfiOp5X9haTt5Kepx5dhxB3llJI8VlEzvg4rPPnYl28ACUtFUwmTMNuwmPUWPSNGmOzxXEheTopKXPJcjnx0XkSFvYIjUwjyD6fxQMhftwe5EegvuqX+hZCXJ3GjbufZcuWEBt7lunTP+aJJ54pNmtFURTef38yWVlZeHp6csstt5fr+JGRddm5cwcJCQlFtlmtVlatWgHA0KE3lnqcvn37M2XKB6Snp7FgwVw1uATQu3cfjh07wuLFC7n77nH4+fkVe4z58+cC7h5LHTpcV2hbkyZNGTx4KH/9tZQPPpjM9OlfERJSfEuELVs2qaV899wz7rL0qiqPvn378fXXn7Np00aSkhIJDi483wUL5gAwZMgN5TpeREQkzZo15/DhQ/z220xeeaVwppXNZmPePPcx+/Tppz4+aNBgfvzxO44dO8Lu3bto375Dof22bdtCdPQZ9Hp9iQ3ZExPd90d+qeaVIMElIYT4F/pmSzQrKtBgu7I0uBs4npUG3ZeNw2Yj9uAunHZ3qVJuCWnw4spSFIXMzAw1iJSfmVSwCajRaCQsrJZa2hYaGoaPj2+5eklUVkJOvJqVtC9lD2ezY9RtgaYgetfslxdMaksd73poy7HazT9pHFY8t32AMWYt+oT9aPKCVY6Axlga3Ygtsjf2Wp1BX70/ExRFQTmXjTMqBdfRNLC7QKdB28jPHVCq64tGV/wbPvuuHVjn/olt0wZwudDWDsfzjrsx3TAcrY8vOTlHOH/2JdLSlpOKNyt097JS24sPwsNo4etHqKKwwicIz2p6gySEqD7+/gE8/fTzvPHGK/z++ywuXLjAhAkPFspaiYmJYfr0j1m/fi0Azz77v3L3XGrZshVz5/5ZbHbN+vVrycrKQqPRMHRo6QEQo9HI0KHDmDXrFzZu3FAomHLbbXeyYME8EhLiefTRB3jppVdp2rS5uq/VmsPcuXP48cfvAJg48aFiM24fe+wJ9u3bS3T0GSZMuIeHHnqM/v0Hotfr1ePMmTObr7/+HEVR6Ny5C6NGFV/yfyXUq1effv0GsHr1Sp577mnee+8jQkJCcDqdfPfd12zatBFPTy/Gjr210H4Oh53Y2FjAXYpY8EOjRx55nEcffZAlSxZRs2Yt7r57HEajkZycHN577x0uXDhPWFgNhg27GAysX78BQ4cOY+nSxbz88gu8885k2rVzB5iOHz/Gu+++BcDo0WPx9y++99OBA+77o3XrNlV3gcogwSUhhPgXqmiD7UsV4e/BAGnQfVmc3rmRLb9+U+Rxo8flKZsSRSmKQnZ2VqFspISEOKxWqzpGrzcQEhKqBpFCQ2vg5+d/WQNJiqJw3nKuUDApLudin4gwjxoMrD2Y1oFtaRPYjtqe4ZWajzbzHMaYtRhj1qJLuwEUJ147P8Fl8sPWYGhe76Q+uHyKLoVcHZT0XJxRqTgPpUC6O9inqeGJrnkA2qYBaDyK//PXlZ1F7rIlWOfPwRl9BjQaDF264TFqLIZOXUCjIStrM4mnfyIraxtx1OQv/f9Y62yD3aWhgcmATuMuf9FoNHjK6m9CVLspU97Hy6vkVdXyeXp68vHH06vsvNdfPwSj0cgbb7zC+vVrWb9+LUFBwYSFhZGens65c+5AhIeHB88880K5M2EAOnXqjFar5eTJE2RnZxV6fkuWuMvgOnS4rlxNrEeMGMWsWb/gdDpYtGgB48bdD7ivx0cffcILLzzD8ePHuPfeOwkJCSUkJJTcXCsxMdHY7XY0Gg0PPPAwY8bcUuzxg4KC+eabH3jqqf/j2LEjvPbaS0ye/Da1a7t/H0VHn1E/lOnffyCvvPJGtWUt5Xv66ec5ceI4hw4dZPTo4dSrV5/ExERSUpLR6fRMmvRekWbeCQmJ3HrraABefvn1QoGijh078cwzzzNlygd8++1X/PHHLGrXDicmJobs7Cx8ff14++13i9ynzzzzAgkJ8ezcuYOHHppAeHgEJpOJU6dOoigKHTt24qGHHi32OTidTg7llXAXt9rc5SLBJSGE+Je6Eg22L1ejXXGRI9fdE6b9TbfhV6M24G7iGNaoWXVO61/NYrHkBZIu9kmyWLLV7TqdjuDgUBo1ClPL2wICAi/7H8QuxUV01hk1mLQ/ZS/JuUnq9nCvSIZGDKdNYDtaBbahhkf5Vscpwp6D4fxWd0Dp7Dr0qScAdyNutCNQDP6kjl6Q14j76vhTUrE5cR1Lc5e9xeZ9r7z06K4LdWcpBZlL3Ndx+iTWubOxLl8KOTlofHzxuPVOzCNHo6tVG5fLRmr6IpISf8aaewLQscXjCT6z9kBxamjjYeK+kAB6+3iilYCSEFeVkydPlGuct3fZAaiK6tu3Py1btmb+/Dls376V6Ohojh49gslkokmTpnTp0pXRo28mNDSsQscNDg6hffuO7Ny5ne3bt9G3b38AEhIS2LHD3Tz7hhuGl+tYderUpX37juzevZOFC+dz7733qR9CNGrUmJ9++pXly/9i9eoVxMbGcvLkcUwmM3Xq1KVNm7aMGjWWBg0aljnf77//iRUrlrNmzSqOHj1CTEw0iqIQFBRM69ZtGD78Jq67rnOFrsPlEhQUxPff/8SMGT+wZs1KTp06iYeHBz169OLee8fTsmXrCh9zzJhbaNmyFb/88hN79uzm5MkTBAeHMHjwEO688x5q1iz64YynpyeffvoFCxfOZ8mShZw86V51r0mTpgwbdiMjRoxWM8D+af/+vVgsFpo1a35F+1dpFEXeDlwOqanZOByusgdeRvKmT1SU3DP/Hjf/uBNAgkv/AofXLGPHnJ+4/snXCGvQtLqnc8mutnvGas1RA0j5mUkFV+DRarUEBQUTElKDsLAwQkJqEBgYhE53+XvoOBUnJzNOFAomZdjT1e31fRrQKi8rqXVgGwJN5SupKEJR0KUcU4NJhvPb0DjdQU2nVxi2iD7YI/tgi+jBsq/dn7aXa7W4KlLSPaMoCsrZLHfZ27F0cOSVvTX0Q9ciEE0dHzTa4oM9isOBbcM6cub+iWPvbgB0jZviMWoMpv6D0JjNOJwZpCTPJil5FnZHIoc1HekS2IJawbcSpwTzXlwS44P9ae9pvqwZaqLirqafM3q9loAAr3KPdzqdHDlylBo1Iqo9g0NcvTZv3sRTTz1Gt249mDLl0+qejrjKvPnmayxduog335zEoEGDL/l4LpeLuLizNG3apNS/f66Oj5uEEEIIIS4zmy2XxMSEQn2SMjIuBms0Gg2BgUGEh0fmlbfVICgouMRPBqua3WXnWPoRNZB0MHU/2Q53Fo4WLY38GnN94BBaB7ajVUAbfI2VXy3Q3Yh7I4azazHGrEOXHQfkNeKu2QlbZB9skb1xBjb5RyPu2Et4hlVDSc3FeSgFZ1QKZLp7kWlqeqJrEYi2iT8ac8nfL1dyEtZFC7AumIsrKRH0ekwDB2MePRZ985ZoNBpstnMknv+F1NT5OFy57NYNYonhVo45fHjNHMIYoy+RwGd1KpkZJoQQl6hbt+40bdqMbdu2kJCQQGhoaHVPSVwlsrOzWb16BRERkfTvP/CKnluCS0IIIUQVseVYsGamlz2wAqxZGVV6vP8Ku91OUlJCoWbbqakphcYEBATSuHEztU9ScHBoqUtGV7VcZy6H06LUfkmHUg+S63JnDOk1epr6N8/rl9SW5v6t8DKUP/uhCJcTfcLevN5J69An7EWjuDOsHf4NsLS+D3tkb2y1uoLh6mvO77I6cOxPxnkwBeV8XtmbtwFd5zC0zQPQBpZc9qYoCo4D+8iZOxvbutXgcKANDcVzwoOYh92ENtCd8WWxHCQx6SfS01diQ8dWw80s1g7jnNOIWdFwW6APXb2vvmsjhPhvmjDhQZ5++v/4/feZPPbYk9U9HXGVmDdvNlarlfHjJ1yRLOuCJLgkhBDV5HKu6HYlm3kLN8XlYsFbT5OTkXZZjq/Vya/skjidDpKSkkhMjCM+3h1ISklJpmDlv6+vHw0bNlYzkkJCQjEaTVd0nhZHNlGpB/KCSXs5knYIh+IAwKQ10Tygpdp8u5l/C0y6S5vfoeVHOLs/CY3dgsZhAcUJ1AVNfRS9J4rBC8XgBcl6SAb2AJTenyQrJRfvwCtz3RSXghKTiTMqhfMnMtxlb3oN2mYB7rK3CO8Sy94AlJwcclcsJ2fenzhPHAfA0L4j5lFjMXbviUavR1FcZGSsIzHpJ7KzdwHg7d2NFcYH+CrVG1+dlgdC/Lg9yI9A/ZX9I10IIUrTvXtPBg68nj///J2xY28tVwNv8e+WkZHBTz/9QJcuXSvUJL6qyF+qQghRTS7nim7h/h4MlNXbrqjc7CxyMtIIiqhHzWYVb/ZYGpOXN0ER9ar0mNcqp9NJSkoyiYkXS9uSk5NwuS72OfT29qFevQYF+iSFYTZf+WBrhi2DA6n78src9nA84zguxQmAp96T9sHX0SawLa0D29LYrykG7SVmTTmsGM5vwxizDuPZdZw79jCZjpr46TNBZ0Yx+KMYPFH0lb8W3oEmIloFXto8y+BKtuI6lILzUCpkucvejHV9cTXxQ9vIH42p9CCPM/YsOfNmk7t0MUpWJhoPT8yjxmIeMRp9vfruc7ispKTMJynpF3Jzz5CmCWat+XXuq9mC2t6NuM3pxNOUyegAXzx10vdGCHF1euaZF9i9exdfffU5r732VnVPR1SzGTO+w+Vy8eKLr1bL+SW4JIQQ1ehKrOgmroycvHK42i3b0faGsdU8m38Hl8tFWlqqunJbQkI8SUmJOJ0OdYyHhyeRkXUJCQlTy9s8PS+hfOwSpOQmsz/lYjDpVOZJdZuvwY+uod3zmm+3pYFvQ3SaS8yEURR0qScwnl2HMWYthnNbLjbi9gxFMfri4wWDHumL4nF5A0KXSrE6cB3NW+3tgsX9oK8BXZcwdC0DCW0YXGpzZsXpxL51MznzZmPftgUAXZ16mCc+hOn6IWjz7gmHI5Xk5D9ISv4NpzOVeE0DVnpMYUVuHey5EGkN4l5v8NXpuCvY/wo8cyGEqDw/Pz+WLPm7uqchrhKPPfZktZZISnBJCCGEqAL55XAevv7VOo9rlaIopKenFWq2nZiYgMNhV8eYTGZq1aqtBpFCQ2vg5eVdbSt1xefEqf2S9qfsIzY7Rt0WZAqmb83+tM4LJtXxrotWc+kZMJrcdAyxG93ZSTFr0WWdB0DRGrHXvA5bZG9skX1wBjXDNe2ge9tVGlhSXAquM5m4olJwnUwHpwIGLdoWeWVv4e7vbWnfXld6GtYli7DOn4PrwnnQ6TD27od51BgM7Tqo90ZubjSJSb+QmroQRcnlvL4Diz0eYL01CMUKrT1M3BcSQB8fzyv07IUQQoh/FwkuCSGEEFUgv5G32cevmmdy9VMUhYyMdOLj4/P6JMWTmBiPzZarjjEajYSFXQwihYbWwMfHt9oCSYqicM4SWyCYtJf4nDh1ew2PmgyqPUTNTKrlWbtq5upyok/crwaT9PF70OSV1jn86pHT6l73ym61uoKxejK2KsqVlIMrKgXn4VTIdmehaSK83au9NfJDYyw7o8tx9DA5c2eTu/JvsOWiCQjE457xmG8ciS40DHB/z7Kz95CY9BMZGWsBBQ+P5oQE30O00pl155Lp4e3JfSH+dPA0V9u9JYQQQvwbSHBJCCGusPxG3tJ0+99l62/fAeAhwaUisrIySUhwB5ASEuJISkrAYrGo2/V6fV5ZW5jaJ8nPL6Ba3+y7FBfRWafV5tv7U/aSkpusbo/wiuSGiBtpE9iOVoFtCPOoUWXn1mbHYYhZ717Z7ex6tLlp7jkZvLHVHeDOTorojcuvDlFrznF2YQpwqshxrmTz7bIoFgeuI6k4D6WgxOe4H/QzoutWA13zADR+Zc9Tsdmwrl6Fde6fOA65s7L0LVtjHjUGU+9+aIxG9zjFSXrGapISf8KScwAXWg56jGehaxBv1a6Lv4eJwYpCYw8PmpivjusjhBBCXOuqJLhkt9vZs2cPx48fJz09nYcffhiAgwcP0rhxY4x5v+wvVVZWFl988QXLly8nLi4OX19fOnbsyIMPPkjz5s0rdcwlS5Ywa9YsDh8+TG5uLrVq1aJPnz488MADBAUFVcm8hRCioIKBJWm6/e/hyusDFBT53268bbFY8kra4tUSN4slW92u0+moUaMGDRo0VvskBQQEotVWb9Nkp8vBycwTeYGkPRxI2UeGPQMADRrq+TSgd42+tA5sS6vAtgSaqrDUzJmL4fwOjDFrMJ5dhz75iLrJHtIKa8Sd2Or0wR7WAXSFm36fPZBSYhDpSjTfLo3iVHCdznCXvZ3KAJcCRi3aloHusrfaXuUKIDrj4kj46VtS/vgTJS0VTCZMN9yIx6ix6Bs3Uce5XDmkpCwgKfkXbLZYHBpPdnk9x3x7Z2KsYNJoOGa10cTDhEGjkcCSEEIIUYUuObg0f/58PvroI5KSktTH8oNLkyZN4syZMzz22GPcdtttl3SerKws7rjjDo4cOYLZbKZx48bExcWxfPlyVq9ezccff8yAAQMqdMzXXnuN3377DYCQkBBq1arF6dOnmTFjBkuXLuWXX36hbt26lzRvIYQojjTy/vfRaLTUbtEWnaFqPlC5Flit1kJBpISEOLKyMtXtWq2WwMBg6tatr/ZJCgoKJizMv9TmzFeC3WXnaPoR9ueVuB1M3Y/F4c6m0mp0NPJtzODAYbQObEvLgNb4Gn2r7uSKgi79NMboNRjOrsN4bgsahzubx+URjLXxKHepW0QvFM/gMg/nHWhi8OOtqm5+l8iVYMEVleoue8vJK3ur44OuRQDahv5oDGUHEhVFwb5rB9a5f2LbtAFcLrS1auNxx92Yhw5D63sxQ9BuTyI5+TeSU/7A6cxAp/PnqN/LfJ7dniSLgo9Wy8QQP24P8iVIL0n7QgghxOVwSb9hv/nmG6ZMmYJS4K/Dgp9AnTt3jpSUFN58803OnTvHM888U+lzvfbaaxw5coTrrruOTz/9lMDAQJxOJ9OnT+fzzz/n2WefZcWKFQQHl/1HGMDff//Nb7/9hk6nY9KkSYwYMQKAuLg4Hn/8cfbt28dTTz3F3LlzKz1nIYQQ4t/CZrPlBZIu9knKyGtiDu7f/wEBQTRtGqmWtwUHh6D/x5v56qp0szqtHE6LYl/yHvan7uVwahS5LnePJ4PWQFO/5rQObEvrwLa0CGiJp75q+xdpbJkFGnGvQ5d5FgBFq8deoyO2yD7YI/vgCG4OVdD4+0pTLHach1NxRaWgJFoB0ASY0HYIQdcsAI1v+YKuruwscpctwTp/Ds7oM6DRYOzSjbBxd5PTtE2ha2O1niQx6WfS0pagKHZyDM1oEPoogYHDseaA1hLPMzX8GRPgi5fu2rumQgghxLWk0sGlI0eOMHXqVAAefPBBbrvtNkaPHk1y8sV+BNOnT2fq1Kls3ryZ7777jm7dutGtW7cKnys6OpqlS5diNBr56KOPCAx0p3jrdDr+7//+j0OHDrF27VpmzJjB008/Xa5jzp8/H4DRo0ergSWAGjVq8NFHHzFgwACioqI4cuQITZs2rfCchRBCiGuV3W4nOTmR+PiL5W2pqSmFxvj7B9C4cbO8QFIYwcGhVVYGXxWy7dlEpR1Qg0lH0w7jUNxZNCatiRYBrdTm2039m2PSVXGJlOJCn3gAY8w6DDHrMMTvQuNyn9/pW4eclvdgi+yNvXY3FKN31Z77ClGcLlynMnAdTMF1JgNcgEmLtnWQu+ytpme5+2Y5Tp/EOnc2ucuXoeRY0Pj44nHrHZhHjEYfHo53sA/WpExcLoXs7J0kJs0gM3MjAOnmvizX38Myiw8fm2rQU+tBe0+FvxrXwaCVJt1CCCHElVDp4NKMGTNwuVxMmDCBJ554otgxrVq14rvvvuOJJ55g+fLlzJo1q1LBpYULF+JyuejRowdhYWFFtt9yyy2sXbuWpUuXlju4FBfnXuGluMBRREQE/v7+pKWlceHCBQkuCSFKld+gu7ykkfelO7phBeei9lb3NApxOezVPYVKcTodJCcnqWVtCQnxpKQkFcpK9vX1o0GDxmppW0hIGCbT1dWvJt2WzsHUfe5gUso+TmQcw4ULAC+9Fx2DO6mZSY38mmDQGso4YvGi1pzj7IGU4jcqTjT2bDR2Cxp7NihOoDZwJ4phIorBE8XgBakGSAX2AZyu1DzyXemm3YqioCTk4DyYgutIKlidoAFtXR+0zQPRNvRDoy9flpDicGDbsA7rvNnY9+wCQNeoCR6jx2LqPwiN2ayOdbnspKYuJTHxZ3KshwENiV63skgzgjXZBly50MrDhEde7y6NRoNB4kpCCCHEFVPp4NL27dvRaDTce++9pY7TaDQ899xzLF++nD179lTqXHv37gWgXbt2xW7Pfzw2Npa4uDhq1Ch7xZYaNWoQFRXFoUOHimyLj48nLS0NgFq1alVqzkKI/46KrvwmjbwvXdSqxWQlJaAzVC5AcDlo9XpC6jWq7mmUyul0kpqanBdIcgeTkpMTcblc6hhvb2/q1m1AaGiYGkwym6++YGiyNYkDajBpL6ezLq6W5mf0p3tYL1oHtqF1YFvq+zZEpyl7efvyKNxAW0HjyLkYTHLmXhyoM6EY/NwBJb0HcHkiHVeqabeSVaDsLTmv7C3IjLZTmLvszbv8r0VXchLWRQuwLpiLKykR9HpMAwdjHjUGfYtWhbKdnM4sUlPnceTor+TmXkCjMRMUeAsr9bfxYaITgO7eHtwXHEBHL3O1rjAohBBC/JdVOriUmJiIr69vuVZUq127Nl5eXmrApqKio6MBiIyMLHZ7QEAAnp6eWCwWoqOjyxVcuuWWW1i1ahXz5s2jS5cuDB8+HIDk5GS1N1Tnzp1p0qRJaYcRQghAGnRXh8CIegx7flJ1T+Oq5XK5SEtLVbOREhPjSExMxJm3qh2Ah4cnERF18wJJ7j5JXl5V22uoqsTlXGB/yl72J+9lf8peYi1n1W1BpmD61RyoZibV8a57+YIMLjs+XjmMbfAZxthNaHQWMIHLHIgtotfFRtxeoZfn/FeQ4nDhOpnuXu3tTCYogFmHtm2wu+wtzKPc11lRFBwH9pMz909s61aDw4E2NBTPCQ9iHnYT2sDCf0/abHEkJf9KSspcXK4sdIYQTvi/xqCwPngbA+iXayfKlsK4YH+aeVxdWXRCCCHEf1Glg0smk4ns7GwcDkeRZp3/ZLPZyM3NrfQfrPl9nAICAkoc4+/vj8ViITU1tVzH7N27N++88w4ffPABzzzzDO+//z6BgYGcPn0am83G4MGDeeuttyo133zV/eFZ/vmrex7i2iH3TOXkX67/4nWr7nvmv3jNi6MoCunpaYVK2xIT47HbL5bqmUxmatWqrWYjhYaG4e3tc8UzPcpzzyiKQmz2WfblreS2P2Uv8Tnx6vaaHrUYHD5UDSbV8qx92Z6HxpaF4dxmDDHrMEavRZf+FADG6NU4anZ0902K6I0jtFWhZtPX6q2pKArKBQvOqBScR9IgN6/srb4vuhaBaOv7lrvsDUCxWrGu+IucOX/iPHEcAEOHjniMGouxe080//gbMifnCImJP5OathxwoDU2Yp/Xo8zOrc+pdBsOLy23BEGk2cAHkUVbJQgB1f+7SQgh/osqHVyqX78++/fvZ/fu3XTq1KnUsUuWLMHhcFCvXr1Knctqdadfl9bfIX9b/tjyqFmzJvXq1WPPnj0kJCSQkJAAgNFoJCQkBKfTWan5AgQEXD2f/AYF+VT3FMQ1Ru6ZitHlrUIUHPzfvW5X+p7R6bTo9dr/5DV3B5LSOX/+POfPn+fcuXNcuHCh0O8/o9FI7dq1qVWrlvovICDgqioZKnjPuBQXJ9JOsDNuJ7vid7ErfhfJ1osLhNTzq8fYiLF0COtAh7AO1PAqO0O50lwuiD8AJ1bBydUQsxVceUG6/2fvvMObKt83/jlZTXeTpgNoy15lLwVkbxGQ6UBBUFDceysuHPhzK34VB4oLZe8NBWTI3rKhk440XWl2zvn9kRKodNPSAudzXV6X5n3znjfJqTm5z3PfT0gMaENAE4Dw4lnU2mBqjjHzynDl2LHsTceyNw1XhhUAdaQ/fh0i8GsbhjKwfGHtjvh4sn7/g+yFCxFzc1H4+aEbOxbd2LvxadSo0FxJkjCZtpCQ8D2mrK0A+AT3YJvfZH4zBZGW7SJY5eapuhHcEWXAoLle3nWZqka+npEBsFqtrFq1nL//3szJkyfJyjKhUqnQ60Np0aIVffr0pWfP3kV+Ry5btoRp094scl2NRkNwcAjNm8dy221D6dmzd5HzOndu7/33wYOHMHXq26Xu+bPPPmLOnN8BuOWWbnz88RdleKWFWblyGW+9NZX//e872rXrUOSclJRkRo0ahiRJdOjQkRkzZpa45nfffcMPP8wkMrIWixYtL3FuSkoKI0cOAWDGjJl06FB0hb/D4WD16hVs3LiBEyeOkZ2dXXAdE8VNN3Vm1Kg7alRUzb//HmXWrO/Zv38fNpuVyMha9OnTj/HjJ+Ln51ehNbds2cT8+XM5duwo+fn5hIdH0L17TyZOnERwcHCRzzly5DC//voz+/fvIy8vl+DgENq1a899991P48ZNCs212+3cddcoGjduwocfflKhPZaFCotLAwcO5MCBA3z88cf8+uuvqIvJvdi3bx/vvfcegiDQr1+/Ch1LqVQiimKJF8UXgkcVirLdTZszZw5vvvkmGo2Gl19+maFDhxIYGMj+/fv54IMP+OWXX9i5cye//vorQUFB5d5zVlY+brdY+sQqRBA8X6qZmXlckssqI1Ms8jnj4btt5QvoTsy2Eh3ii9GYV4W7qplUxzmTcfYkOWmp6KPr3xDvudlsJiMjtVBOktVq9Y6rVCrCwsILVSSFhOgLfWeKImRmmqtj+5chCBCs8+Wfs3s5kLmPA6b9HDIdIM/p+SwFBBoGNaJnZJ+CyqQ26HwuyRSygtFauZ+7YDGiSdyMOiEOTcJmFFYjADstYznpvM8Twq32R8pUY7baCfDzwWhWgPnaPv8kp4h4KscTzh1f8Fp8lSjbG1C21KMI98OO56IUu73EtQAktxvHP9uxzp+L85/tACjr1SfggYfwGXQrCv8A8oC8gr9bUXSQnb2SDOMv2GynACUhIYMIM4xnTn4tPkk1Ea6SeL5WKA81qo09x4KUa8NI2W8kytyY1KTrGaVSUaNuOt9orFu3ho8++sAbzxIcHEK9ep6Ch5SUFNasWcmaNSuJjW3BBx98THh48Zbm1q3bFvpvh8NORkYGmzfHsXlzHCNHjuGFF14ucT9btmzC5XKiUhUvkkuSxIYN68v2AoshIyODjz/+kN69+xYrLAEsX77U+zt67949JCQkFBtFUxUcO/Yvr732IklJSQAEBQXRoEEjcnOzOX36FCdPnmDevL946qlnGDFi9FXbV3Hs2vUPTz/9OC6Xi7CwMGrVqsWZM6f56acf2LhxPTNnzipWDCoKSZL4+OPpzJv3FwC1atVGp9OTkBDPnDm/sWnTRr799sfLzsuVK5czbdpbuN0uAgICaNCgIcnJyaxbt4ZNmzby9tvv0bt3X+98Hx8fHnnkcV5//WWWL1/KbbcNrZw35D9UWFwaO3Ysc+bM4eDBg4wZM4bhw4d775pu27aNlJQUtmzZwvr163G5XNSqVYuxY8dW6Fi+vr44nU7PxU0xOBwOALSXdBYpDpPJxPTp05EkialTpzJ69MUT9aabbuLXX39l1KhRHD9+nB9//LHYbnilUd1fZheQpJqzF5lrgxv9nFlTgYDufk3Dbuj37GqeMzv+nAWANjDounvPrVbLZda2/PyLopBCocRgCCvUuU2nCy3yxkpNem8cbgcnco55bG5Z+zmSdQiLywKAQlDSNLiZR0jStaWlvhWB6sI3dSr9tbidqNP2oImPQ524CXXGIe+QK7QZtqajcMT04vjCYMz5DgICLlZOB+h9iG6pr1Hvb3mQJAkpOR/3URPi8WxwiKAARaNgFC30KOoHIhRUY5b1NYo52diWL8W2aD7i+RRQKtH07I125BjU7Tp4hc4L67ncuZgy52HM/AOXKwOFwg+n7iFWSIN5OLIOvmoVozVuQpRKbgsOxEcpEKBSYrvBv5tkys+Nfj1zozN37hw+/vhDALp0uYUHHphMi0uaBrhcTv7+ewtffPEpR48e4ZFHJvPrr3OKbWIxc+aPRT7+zz87eOGFZ1iwYC4dO95Enz59i5ynVKrIy8tj166ddOlyS7H7PnjwAOnpacWOl4UvvvgEq9XKww8/VuwcSZJYudJTfdS5c1d27NjG4sULePzxp67o2GVl+/atvPjiszgcDm65pRsPPvgITZte7NKemnqeb7/9mpUrlzN9+nuo1WqGDLn9quytKLKzs3j55edxuVw8/vhTjB07DkEQSE9P58UXn+Hff4/y4Yfv8e6708u85vz5c5k37y+0Wi1vv/0ePXr0AiAhIZ4XXniGc+fO8vHH05k+/WPvc9LT0/ngg3dxu12MGXMXjz/+FBqNBpvNxief/B9Llizk7ben0rp1G0JDDd7n9es3gN9+m82XX35K9+49K1RAUxoVFpe0Wi3ffvstkyZN4tixY0yffvFNfOCBB7z/LkkSBoOB//3vfxUuE9PpdOTm5pYYCH5hTK8vvWPK1q1bsVgshIeHFxKWLuDn58f999/Pa6+9xqpVqyosLsnIyFy7yAHdNRfR5Qmk7jXp6WreyZVht9u8AtIFMSkvL9c7LggCoaEG6tatT1hYBBERkej1BpTKyul6VpXY3DaOZh325iUdzT6MQ/TcBFIrNLQOa0VsYCta6drSQtcSX1XFrg/KgyInHk3iJjQJm1AnbUXh9Ih2ok8ItkbDcMT0whnTA7GQ5e4QAXofBj3Rqsr3V9VIuQ7cR0yIR01I2Z7PQgj39eQoNdMh+JX/ktB1/F+sC+ZhX7cGHHYEnR7f++5HO2wEyvDL85AcjmSMxt8wZS1EFK2oVeGYQ19loasLa7LtiLho4JfPPaHBBCqVjNBV/oWvjIzMjcHRo0f47DPPD/L77pvIww8/ftkclUpNr159aNmyFRMn3ktSUiI//zyLhx56pFzHuvnmztx5593Mnj2LBQv+KlZc6tChIzt37mDjxg0likvr168FoEmTZpw4caxcewGPbWvt2tUMGHArMTF1i523b99eUlKSCQ01cMcdd7FjxzZWrFjKlCmPFutKqixMJhNvv/0GDoeDESNG88ILL1/mUoqMrMUbb7yDSqVm6dJFfPLJR3Tp0q1MDcWqgrlz52A2m7nllu7cc8947+Ph4eFMn/4xo0ffzoYN6zh37qy3Oq4kbDYr3347A4DXX3/LKywBxMTU5ZVXpvLggxPZsmUT2dlZhIR48qc3bFiL3W6jbt16PP30c94bjFqtlhdeeJk9e3aRnJzEunVrufPOu71rCoLAhAkP8NJLz/Hzzz9WiYhYYXEJoH79+ixatIjvv/+eRYsWkZZWWGENCQlhyJAhTJkyBYPBUMwqpdOgQQPi4+NJTk4uctxkMmGxeO6A1q1b/B/QBc6fP+9dt6RjgqdcUkZGRkamZhEUURuV5trpEOVwODAa070iUnp6Gjk5hRtQ6PWhNGvWgrAwj7XNYAgrsWy+JmF2mjmcddArJh3P+Re35Mkt1Cq1tNK38YZvx4bEUjvCgNFYxXYVpwVN8nY0CRtRJ2xClXMWAElQ4IpojzWmF46YnrjCWoOi5gt2FUFyuhFP5OA+YkJKLKiA81Oh7BDmqVIKK1t1ZqE1HQ7sG9djWzgX15HDAKhatkY7cjQ+PfsgaC7PZrJYDpNhnE1OzjpARKttQkbQQ8y2NGObyQbYuSXAl/sNOjr5l16BLiMjI1MaM2Z8jtvtpl27DkyZUnz1DoDBEMbkyQ/z3ntvs2zZEiZPnlLmqJULtG7dBoAzZ84UO6dPn37s3LmDzZs38uKLrxR5s0iSJDZuXE9AQACdO3epkLg0a9b3ANx++4gS561YsRSAzp270KnTzQQEBJCVlcXmzXH07du/3MctD998M4OsLBN16kTx7LMvlBh/89hjT7Ju3WoslnyWLl3EhAkPFDu3Klm+fBkAQ4deXj0VHh5B167diIvbwPr1a3nggQdLXW/Lls3k5eURG9uiyPe7des2TJnyKL6+fojixQumC5pLw4aNLjtPVSoVTZo0JTk5ibS01MvW7NatB3p9KAsWzGX8+InlsvCVhSsSlwACAwN5+umnefrpp0lNTSU9PR1JktDpdJXm12zdujUbN25k3759TJw48bLxffv2AVCnTh3CwsJKXS8gIADAG+BdFBdEpQtzZWRkZGRkyoLL5cRozCgkJGVlZRaaExyso3HjZl5rm8EQjqaIH+U1lRxHNgdNB7xi0unck4h4cgb9VQF0CutMa31b2ujb0jioKSrFxcuNKssUlySUmf+iSYjzVCed34VQUC3lDqiNNXasp7NbVDckn8q9mKpJSJKElGTGfSQL8UQ2OEVQCiiahKBooUNRLwhBUf4PwZ2Wim3xAmxLFyNlZ4HGB5/bhuE7cgyqJk2L2IdIXt4WMoyzyc/fA4C/f1fCw8cT4H8zJ3PM7MhI59bgACYaQmjue+2IxTIyMjWbhIR49uzZDcDEiZPK1MyiX78BHD16mC5dbvFmEJUHV0FVdUlOnaZNmxEVFU1SUiL79u2hY8fLm2IdOLCPjIx0Bg8eUqHqodTU8/z992bCwsJp3774rCWbzerNderZszdqtZoePXqzYsVSFi1aUKXiks1mY/XqlQDcddfYUjvPBwcH8+ab0wgJ0REb26JMx7g0RL00HnjgQSZPnlLiHKMxg9RUT4FKq1ZtipzTqlUb4uI2sG/f3jIdd+fOfwAKVSz9l6KEtIgIT2XwqVMnEUWxkMAkiiJnzpwGPJVf/0WlUtG3b3/mzp3DsmVLuOeecWXaa1mpsLi0a9cu1Go1bdu29T4WGRlJZGTRHVxWrFhBRkYG9913X7mPNXDgQD7//HM2bdpEenr6ZYFWf/3lCcC6/fayeTBvvvlmwKMs7969m44dL7e+LFq0qNBcGRkZmRsJl8OO8dxpoJQLLAEsqX7k5FpKnVpZuBw2FDWkosftdpOZaSwQkjxikslkLHRhGhgYVJCRFEF4eCRhYeH4+Fxb1RlGW4ZXSDpo2s8581nvWIgmhG6RPbyVSfUDG6IUrk4lkGA1oUncjCZxE+qEzSgtnrt5ktIHZ1QXHDG9cUT3xK1rdN33JJey7biPmHAfzYLcAttbpJ/H9tY0BMG3/Jd8kiTh3LML24K5OLZuAVFEUbsOvveMRzt4CIqgy0U6UbSRlb0Mo/FX7PZzCIKKgODb2elzL7/n+vB/qgiaCgIDgwNo7asl2qdm/C3LyMhcP2zb9jcAfn7+tG9fNpHBz8+Pl156rcLH3LJlE+DJLiqJvn378fPPs9iwYX2R4tK6dR5LXL9+AzhSUB1aHjZsWI8oinTu3KVEUW3jxvVYLPkFFVKePQ8YMJAVK5aye/dOkpOTqFMnqtzHLwuHDx/EbvdkNRf1HhRFcZ34iuO/4eslUZx+cSlJSYmAJwu6OFterVq1Cs0tjdOnTwHQoEFDXC4Xa9euZvv2rZhMJsLDw+nbtz+33NL9sucNGHAr3333LQkJ8Xz++cc89thTqNVqnE4nM2Z8Tnz8OUJCQhg48NYij9u5cxfmzp3D+vVra464NG7cOMLCwtiyZUuZ5r/xxhsoFIoKiUsNGzZk4MCBrF69mkcffZSvvvqKiIgI3G43X331FXFxcfj7+zNuXOE3x+l0kpCQAHi8kIGBgd71Bg0axKpVq3j66af56KOPvCKS1Wrlww8/5O+//0atVvPQQw+Ve78yMjIy1zp7Fv3O8c1rqnsbxaKLKt0CXdmIoojJlEl6eqo3J8loNCKKbu8cf/8A6tVrUCAieextvr5VnydUmUiSRJo11RO+XSAmJVuSvOMGbRh9aw/wikkx/nXLdFe4UhBdqFL3FmQnxaFKP8hu8xhO2rqBsi+Syg9J7Y+k9oWzApwFsAHlv0AHMJvsBOhrbkWN5HAjHs/22N6S8z0PBqhRdgr32N5CKyZiivlm7CuXY1s0H3f8ORAE1Dd3xXfkaNQ3d0Eowi7icmWRmfkXxsw5uN1ZKBQB+IdOJk55O79nuUjPdROocHPO7qSp1geVIMjCkoyMTJVw4sQJAJo0aVKl9nKHw0F6ehqLFy9k+fKlGAwGJk4s2bLVp09/fv55Fps2beS55168rOokLm49QUFB3HTTzRUSl3bv3glctOkVx/LlHktc7959vZXTnTrdjE6nJyvLxOLFC3nkkctzqiqDc+fOAZ4qmvr1i4+puRKKC1+vKCaTJ8ogODik2DkXLGY5OdllWvOCbc3tdvPAA+M5frywBXLFimX07dufN9+cVqiKTa/X8/nnM3jnnTf4888/WL58KbVrR3H+fDJ5eXk0bx7Lq6++Uazl7YLwdvz4v+Tnm/H3rzynVpnEJZfLhSiKlz0uSRJOp7PE0kFRFDlw4AB5eXll6uRWHFOnTuX48eMcPHiQfv360bhxY9LS0jAajahUKj7//PPLwrzT0tIYPHgwAO+//z4jR470jr377rukp6ezd+9exo8fT506dQgICODs2bM4HA40Gg3Tp0+nWbNmyMjIyNxoOCyeH6qdRt+HopQA6YAALWbz1W0NHla/SZWuL0kS2dmmQp3bjMZ0b9k7eO5eRUXFeCuSwsMjKvUL+mohSRKJ+fGXVCYdIN12MUOxtl8dBkXd5hWTavnWvnpiEqDITUKTWGB1S/obhaOgjb1PMPaGt3H80EjyJB8Cgiq/GixA70N0q9IbhVxNJFFCSjR7wrlPZoNLApWAolkIyhZ6hJjACtneAFxnT2NbMA/76pVIVgtCYBC+d92DdvgolMXcwbbb4zEaf8WUtRRJsqFW1yIi/Hm2KwbyfmoeeaKdMJWSZyNDGa0LIkBZvhwTGRmZovnp+A9sSFlX3du4YvrU7seEppWboWMyGQEKdcqqDEqyWoWFhfHNNz+UekyPNS6KpKQkDh7cT9u2F9c8cGAfRqORoUOHV0gUE0WR/fs9cTENGjQqdl5q6nmvbbB//0Hex5VKJf36DWDu3DksX76UBx98uFTLWkW40LykJKGmpmG3WwHw8Sn+htOFsZI63F+KpeBae/r0d3G73bz22pv06uWp0NqwYT2fffYR69evRafT8dxzLxV6bmBgILGxLYiPP4fZbC6UzWUwhJWYGRYYGEhYWDgZGekcOLCfrl27lWm/ZaFMZ8uPP/7Ip59+WugxQRDIzMykdevWZTqQIAglBmiXhsFgYN68eXz77besXr2aEydO4OfnR+/evZkyZUohe15ZCAgIYPbs2cybN4/Fixdz8uRJ0tPTCQsLo0uXLjzwwAM0bNiwwvuVkZGRuR5o0q0fyhIuLAQBDIbAqg9nrkIkSSI3N6eQtS0jIx2n0+Gd4+PjQ2Rk7QIRySMkBQQEXlWRpbIQJZGzeac5UCAmHTLtJ8txMVy8bkB9hsaMoLW+Da11bQnzDS9htSrAaUWTsh11QkF1UrYnO0ASFLjC22KN6Ykjpheu8DagUCGdOESAD9dFR7eSEE02xKNZuI+aIM8JgFDb/6LtzadiVkTJ5cLx92ZsC+bi3OfJRlI2borvyNH49BuIUMSNQUmSsFj2k2GcTW5uHCDh6xuLO+QBmuh7oFCoicq3Eqqy8KwhlKEhgWgqKHjJyMjIlJcL4cclFUDccksn3G53kWOvvfYmQ4YMu+zx/1qtXC4nOTk5pKQkk5GRwZNPPsqbb06jZcuSv4/69OnP7Nmz2LhxfSFx6UKXuH79BpT4/OLIzs72ChZRUdHFzluxYjmSJBEaaqBDh8LxMAMHDmLu3DlkZhrZsmUTvXsX3fnuSrhQcOJ2u0qZWXMQhNJvjFw438oyFy6KUNnZ2Xz22VeFLJXDhg1Ho9Hw5puvsXDhfMaOHU/t2rUBTyfEJ554GLPZzPDhI7n33vuIiIgkKSmRWbO+Z82aVezbt4cZM2bStGnRhTLR0TFkZKRXevOyMolLEyZM4K+//iIpKan0ycXg4+PDk08+WeHng0dle+6553juuefKND8qKorjx48XO65Wq7n77ru5++67i50jIyMjI3P9IEkSZnPeJRVJqWRkpHu9/+D5brhgabsgJgUFBV+TQhKAW3RxIveEtzLpkOkAZpen+kdAoGFQY3rX7u+pTNK1IcRHd3U3KEkoTcfRJGzyZCel/IPg9lxwuf0jsTa/E2d0LxzR3ZC0V3lv1YxkcyGeyMZ92IR03tMVl0A1ypsjUMTqUOgrXq0lZhqxLV2MbclCxIx0UKnw6T8Q7cgxqFq0KvJ8lyQ3ubkbyciYjcV60LOdwJ5kBU1kpjmSNan5fOnjoEegmnb+vixuHI3iGv27kZGp6Uxo+kClV/xcL4SEhABgMmUWO6d167aXiUsnThzDZiu+Ers4q1VmppFPP/2IdevW8MQTD/PLL3NKzCvq06cfs2fPIi5uI0899RyCICCKIhs3bkCn010m+JSV7OyLN4pKakq1cqWn61m/fv0v61jXsmVrb2XV4sULLhOXytdF76K4p7ykavVCdVdubu5lgdSVxYMP3l/muUOHDmPo0OElzrkQ1O5wOIqdc2GspOqmS9FqtVgsFlq1al1kVtfAgbcyc+b/SElJZvv2rYwaNQaAjz6ajtls5tZbbyuUE1a/fgPefvs9FAoFq1at4JNPPuTbb4s+Zy/EBZXVwldWyiQuaTQavvrqK/7991/vYy+//DKBgYG88sorJT5XoVAQHBxMixYtytTJTUZGRkam7IhuN2Ixd96uaF2x8tesDvLzzV4hyZOTlIbVavGOq1QqDIbwS8K2I9Dp9NeskATgcDs4lnPUKyYdzjqEze0p51YKSpoGN/Na3FrqWhOgDrz6m7SY0JxchTo+Dk3iJpT5ntwBSemDs/bNOKJ74ojpiVvf9LoP4v4vkighxed5bG+ncsAtgUqBIlaHMlaPEBNQ4fNTkiRchw5iWzgXe9wGcLlQhIfjN3kK2iG3o9AXHVIqilZMpsUYM3/F4UhCEDTodKNI8LuHr3O1bE2xAvl08fdFd8kPFVlYkpGRqQ4aNPC4T+Lj44sVL/73v+8ue2zs2DHeTlvlITTUwFtvvcuJE8dJSIhn9uxZvPzy68XOb9asuVfAOXLkMC1btmLfvr1kZhoZMWJUha1oubkeu5lGo7lMNLrAgQP7SUz0ZBL/+ecf/PnnH8Wut3PnP6SkpHgrZuBi1ZHT6Sx1P1ar9bLnAcTEeHIzRVEkPv5cmXKX0tPTUCpVxYZp/5eDB/eXaR5Ap06lh4pfsPDl5OQUO+fCmE5XththAQGBWCwWGjVqXOS4IAjUr1+flJRkUlKSAcjIyODoUU8W18SJk4t83qRJD7Fq1QoOHNhPZqaxSKvmhc/jgkWxsijzmdusWbNC+UMvv/wyPj4+jBgxolI3JCMjI3O1+W57PGuPZ3j/OynbSlSIbzXuqGzY880sfOtpHBZzlR3jWvptaLVayMhIL2Rvy8+/+N4oFAoMhjAaNmxcUJkUiV4fWiV3zK4mVpeVo9mHvWLS0ewjOEXP3TO1QkNsSAuvmBQb0hJflS9HNiaTuMbE35y7avsUXDYEZz6CMx/cdjx3NLuColdBCLcfktoPzgl4tuWkLEHcNT10u6yImTbEIybc/2aBucD2FlVge2sSgqCpeAc+yWbDvnYV1oXzcJ/0BN2q23dEO3IMmlu6IxTzQ8bpNJKZOYdM01+43bkolSGEhz+IIfQuZmcJfJpiQoGVgUH+3B+mI9b32v8cZGRkrn26dLmFb76ZQVaWiQMH9tGuXYcqP6ZSqaRLl64kJMQXKsgojt69+/HLLz+xceN6WrZsxYYNV2aJg4sVMw6Hw5sh/F8uBHn7+PgQVETHzwsYjRmIosiSJQuZMuVR7+MXq45ySq06MhqN3n/X6y8KHE2bNiMsLIyMjAx27dpZJnFp1qwfWLhwHl263MKnn35Z6vwdO/aWOqc81KtXH/DkJOXk5BQZln3+vMdiFh1dvCXxUurWrUd6ehpQ/MW2QuH57r8Q6J2Wdh7wnG9RUUVXx0VFRaNUqnC7XZw/f75Iccls9lSwazSV+71d4YSu9evXF6uIysjIyFxLrD2eUUhQigrxpX/Tml9pacnJwmExo6sTg65O5XdP09WOQaGs/CDHysBut3s7tl2oTLr07osgCOj1BmJi6nmtbaGhoShr6OspD2ZnHoezDnrFpOM5x3BLnkozrdKXNgVCUmt9W5oFx6JRXn5xmXjIVPWijOgqEJMsCC4LFOwRQQmaAMSCzm4oruwzqYmh22VFsroudntLLaioC9ag7BLhqVIKubLPx52UiHXRfOzLlyKZ8xB8/dCOHIN2+ChUJVzM22ynyTD+Qnb2ciTJiUYTTWj44+xQ9KFhiA6VQsGAYCdJDhcTDCHEyF3fZGRkahBNmzajRYuWHDlymB9++I4vv2x/VSqSL2btlB5C2bevR1yKi9vAo48+wcaNGwgNNVyREHZpc6vs7GzCwwtnJtpsNq+Idd9993P//UVXvgA88cQj7Ny5g+XLlzB58hTv7/6GDT1B4U6ns9Sqo+PHPSJbcHBIob0IgkCfPv34888/+OuvPxgxYlShbmj/xWzOY+3aVQA0bly1DV2KIzg42FttdvjwQW65pftlcw4ePAB4rIVloUWLluza9U+JXQETEuIBvELShcYxbrebrKysIiu5MjIyvHlW/v7+Ra6bnZ0NcFlDtCulwld0derUKfdzzGZzif5PGRkZmeoiKsSXvyZUzONe3cS06USbwaOrextVhsPhwGhML2RvuzRXAECn09O0aazX3mYwhFVp++GrSbY9i4NZB7xi0unck0gFF64BqkBuCuviFZMaBzVBVUaxJkDvU7kh2C4r6pSdaBI8nd1UWSdADRICrvDWOGJ64YjphTuyHYZw3TUdAn8lSKKEeDYX8agJ8XSux/amVqBoofd0e4vyv6IfQZLbjfOf7VgXzsO5YxsAyrr10U6egs/AW1EU09FQkiTy83eTYfyZvLy/AfDza4u//j7WuNow25hLuisbu6TiztBgojRqptap+SK8jIzMjcnTTz/HQw9NYvfuncyY8QWPPPJ4iVU2+/fvK6giqRiiKLJr1z8ANG8eW+r8Zs1iqVMniuTkJObO/ROTKZPRo++8omrq8PAItFotNpuN9PS0y8SlTZs2YjabEQSBwYOHlLjW8OGj2LlzBxkZGWzduoUePXoB0KhRY+++f/ttNq+99maRz3c6nd4qqQsd0C5l4sRJrFy5nKSkRL766jNv9tR/kSSJDz/8ALPZjJ+fH3feObYM70TVcKHabPHihZeJS+npaWzfvhWFQsGAAbeWab0BAwbx008/cOLEMfbu3UP79oWFxX/+2U58/DlUKhXduvUAPBVUBoMBo9HI4sULihQIly9fAngaol2ouPovGRkex0ZMTL0y7bWsXPEt3CNHjrB3717y8/Nxu92XpfI7nU5sNhvJycns2LGD3bt3X+khZWRkZGSuU1wuF0ZjxiUZSalkZZkKfbcEB4fQuHFTb0WSwRBeZOn3tUqGLYODpn0cNHkEpXjzWe+YTqOje2QvWuvb0kbflvqBDVGUsStJpSNJKLNOFgRxx6FO3nExiNsvHFuzMR5BKao7ku/FO2PXktWyMhEzrBdtbxbPHUUhJsBje2scjKC+smpwMScb2/Kl2BbNRzyfAgoFmp690Y4Yjbp9x2IFK0lykp2zDmPGbKy2fwGB4KB+KHXjWGiN5o/zOeSJWRhUSp6O0DM4RL5JKCMjU/Np2bI1L774Ch98MI1ff/2ZI0cOM378BG66qbO3CkcURQ4dOsi8eX+yfv1aRFFEq9VSu3b5iigsFgtffvkZp0+fQqlUMnr0nWV6Xu/effn115/59tuvgSuzxIGnIqhFi5bs2bObw4cPXta1bsUKj9jToUMnIiNrlbhWjx49CA01kJlpZNGiBV5xSRAEnnzyGV544RmWLVtCQEAAEyY8QEjIxZyhpKREPv30/4iPP4e/fwCTJ0+5bP2QEB3PPvsib731On/++Qfnz59n8uQphSqTEhIS+Oqrz9i8OQ6A559/ucyZS1XBnXfezfz5c9m8OY7vv/+WiRMnoVQqycjI4KWXnsPhcNC//0BiYmIKPS87O8tbKXSp2NOgQUMGDx7CihXLeO21l3j33Q+8lWsnT57g/fffAWDUqDHe91cQBCZMmMRHH33ArFnfo9PpGDp0OCqVCkmSWLRoPj/+6MkTe+CBB4v87vfcrE1DoVCU2tmwvFyRuPTaa68xf/78Ms2VJOmaDkiVkZGRkalc3G43JpOxUOc2kykTURS9cwIDg2jQoJE3IyksLKJQKOS1jiRJnLemeKuSDpr2k2JJ9o6HacPpV3tAQWVSO6L9Y6r1u1Sw56BO3IImcROahE0ozZ58AUmhwVmrU0F1Uk/coc1vXBXpEiSLC/exLMQjJqR0T7CpEKJB0S7SY3sLunJR1HX8GNYFc7GvWwMOO4JOj+/4iWiHjUQZEVHs89xuMybTQoyZv+N0nkcQtITq78RguBcfn2hmZWQxM8NEjEbN04ZQhoUE4HON55PJyMjcWAwbNpyIiAg++OBd9u3bw759e/Dz8yMyshYqlYrU1PPeEGylUkmfPv147LGnCgVYX0pRHchsNhvx8Wex2+0olUqefvr5Mlu3+vbtz6+//ozFkk9YWDht2rSt8Gu9wM03d2XPnt0cOLCfu+66x/t4eno6u3btBOC224aWuo5KpWbIkKH8/PMsduzYRlpaKhERkQD06NGLp556li+//Jw5c35n3ry/qFMnCn//AEymTFJTPblABoOBjz76DIOh6CrXgQNvRaPR8NZbr7N5cxybN8cRGmogIiKCnJwckpM9nep9fX157rmXuPXW267ovblSDIYwXnvtDV5//WW+//5bFiyYR1hYGGfPnsHhcNCgQUNefPHyZmdz5/7JDz/MBC7PgnruuZdIT09j9+5dPPzwZKKiovHx8eHMmdNIkkTHjjfx8MOPFXrO6NF3kJAQz19//cH06e/x7bdfExERSXJyEmazJ2v0rrvuYcSIol0NBw7sByA2tgVBQUFX+rYUosLi0ooVK5g3b573v4ODg73VS6GhoZjNZm8rR0EQ6NixI6NGjbryHcvIyNxw/Ddwu7KpKQHe5/Zu59CaxWWx6gPgdhbfDrWmIYoiWVmZlwhJaQVhkRe70vn5+RMTU99rbQsPj8DX168ad135SJJEQn58ITEpw5buHa/jF8WtUUMKKpPaEeEbWSEx6cjGZBIPmYodL3PekuhGlX7AKyap0vYiSB7xzxXSAEuriThjeuGo0wXU19dnVVEkt4h4JhfxaBbimRwQAY0CRatQlC10CLWvzPYGIDkc2Deux7ZwLq6CrAZVy1ZoR47Bp2cfhBIq+RzONDKNv5Npmo8omlGpQomIeJRMvxHMyHbztCKUMGCMPpjaGjX9gvxRykKhjIzMNcrNN3dh7tyFbNy4gbi4DRw79i/JyUlIkkRwcAidOjWnffsODBw4uFhR6QL/7UCmUCjw9fUjOjqGtm3bMWLEaG8mUVlo3jyW2rXrkJKSTN++/Srl5tGAAQP55puv2Lt3D06n05tltGrVckRRxN8/gN69+5RprdtvH8ns2T95g70nT37YO3bXXfdw881dWLZsMTt3/oPRmEFKSjI6nZ42bdrSp09/brttCAEBJXek7d27Ly1btmbRovns3LmD+Ph4jh8/ho+PD02bNqNz5y6MGnUH4eHF3yy5mvTp049atWrz008/sH//Pk6dOkVERAQ9e/bm/vsnl/p6/4ufnx9ffPE/lixZxPLlSzh92tOtsGnTZgwZMozhw4vuHvjMM8/TpUtX5s37iyNHDnHq1CmCggLp1q0Ho0ffQefOXYs95j//bAdg0KDB5dprWRCk//rYysiUKVOIi4ujffv2fPrpp0RERPDUU0+xevVqNm7cSGRkJImJiXz00UesXr2aRo0asWDBguvKulASWVn5uFxi6ROrEEEAgyHwhs21kCk/NfWcueOn3VUuAPVvGsbkLpUfil0e1nwxjbRT/xIQGl765AIUSiU333k/kY1L9/dXBUWdM5IkkZ2d5RWRMjJSychIx+VyeZ+n1foWEpHCwyO9IYXXE27Jzdm804XEpGxHtne8XkB9b15Sa31bDNrKybBZ9cWhUgWk6FZ6WvS+vPRfkZ+KOmFTgd1tMwq7Z7+iOgBn1C3e6iQxKOay55aFmvr/mStBkiSk9ALb27EssHpEU6FuoMf21igYQX3lVT/utDRsi+djW7oYKTsLND749B+A74gxqJo2K/G5VuuxgpDu1YALH58GGELHcUbTl1mZ+WwxewLFp9YOY4y+cu9kXinX4zkjU7XUpHNGpVKg0xUdqlsUbrebY8eOExkZfc13M5WpHl599UXWr1/Lu+9Op2/f/tW9HZkahMViYciQAajVGhYuXIafX9luDIqiSGpqIs2aNS2xqVuFK5cOHz6MIAi88sorRBSUXXfo0IHVq1ezY8cOhg8fTnR0NJ9//jmTJ0/m77//Zv78+dx9990VPaSMjMwNzLUcuF0WJEkiKzme0JiGDH7u7ereTpmRJAmTycTJk2dIS7uQk5SG85KqKo3Gh8jI2l4RKSwsksDAwOvSKu0SXZzMPc6BAiHpsOkgZpen3asCBQ2DGtO39sACMakNwZqQKttLmQO7XTbU53d5grgTN6HKPOYdcoa1xhozDmdMT5wRHUB5fYSkVxZSvhP3vwW2N2NBtbbeB0WHcJSxOoTAK7+hJkkSzj27sC2ch+PvzSCKKGrXwXfsOLS3DUVRQitpSZIwm7eTYfwZs9kTNOvv34kww3iOK9rzTloWB6wZKIABQf7cH6ajhW8VdhCUkZGRkalyJk6cxIYN61i6dJEsLskUYt26NVgsFh588L4yC0vlocLiUk5ODkqlkhYtWngfa9y4MZIkcejQIYYPH+59/LHHHmPLli2sXLlSFpdkZGRkisCak4U930zdthWrBrkaeH6o5nkFpAuVSXa7zTtHpVITHh5RkJHkEZOCg0OuSyEJwOG282/OUW9V0pGsw9jcnmwdpaCkaXBzb1VSS11rAtQ1oDpLklBmn0GTEIc6cROa5G0ILs9nKPqGYWs6Ckd0TxzRPZD8DNW82ZqH5CqwvR0xIZ7N9dhYfZQo2oR6ur1F+lXK+S7mm7GvWoFt4Xzc8WdBEFDf3AXfkWNQ39wFoYSKBlF0kJ2zEmPGL9jspwAlIcGD0BnGE+jnqXI0Zudx1GZnjC6ICYYQYnxk4VBGRkbmeqBRo8b07t2XuLgNnDp1kkaNGlf3lmRqAKIo8uefvxMcHMKYMXdVyTEqLC6p1WpUKlWhC6i6dT2WklOnThWa26ZNG1QqlddDKCMjIyNTGFNyPAC6qOq15l2KxZLvFZAuiElWq8U7rlSqMBjCqFs3mqAgPWFhkYSE6K7rMn6ry8KRrMMczPKISf9mH8Upeqq0NAoNsSEtvWJS85AW+KqqP8sLQLDnok7eiibeU52kzPOEZEoKNc5aHXFE98QZ0wuXIRaqq/tcDUaSJKQ0K+7DJsTjWWBzgwCKekEoWuhRNAxCUFXO++Y6ewbbwnnYV61AsloQAoPwvesetMNHoawTVfJz3bmYMudhzPwDlysDhcIPQ+i9+OnvZonZn18Sc/gyxk4zXx/6BwfQ0d+XMPUVNw6WkZGRkalhPPPM8+zevYsZM77g00+/rO7tyNQAVqxYxunTp3jnnfcJDCxfNlRZqfAVhcFgIDExkfz8fPz9PT7iyMhI1Gp1kSKSj48POTk5Fd+pjIzMDcl32+M5m2mhfmjNDAt2WC0cWr0Qp81W+uQSyD6fCICuTvWISzabtVA1UkZGqrfjBHhCK0NDw2jQoJE3J0mnC0WlUtaYXIuqwOzM45DpoFdMOpFzDLfkydPxVfrRVt/OG77dJLgZGmX15QpeGuJtNtkJDAa/3Z97grhT9yAU7NsdVBdry/twxPTEWacrkqYGVFPVUCSzE/dRk8f2ZrIDIIRqUdwUgbK5DiGgcqp9JJcLx9+bsS2Yi3PfHgCUjZvgO3IMPv0GIpTSIdHhSMZo/A1T1kJE0YpaFU5k5FMIQcP5M1vkj7M55LpthKqUnHe6aObrg0oQZGFJRkZG5jrFYAjj2Wdf4I03XmX37p107HhTdW9Jphqx2+1899039OrVh/79B1bZcSp8VdGmTRsSExOZO3cuEyZMADxd4erXr8/Jkyc5d+4c9erVAyA5OZn8/Pwq8fXJyMhc31zoEte/aeUEHVc2qSeOcGTdskpZSxsQhK5O1dvi7Ha719qWkeERk3JzL4r/giCg1xuIjq5XYHGLxGAwoFRe/z9Es+wmDpkOcDBrPwcy93Mm7xRSQfu+QHUgN4d18YpJjYIao1TUnPck8WAGZpODIG02wQoLjR2b8f/nLySVH466fXDE9MQR3RMxpH51b7VGIzlFxNM5uI+YkOLzPLY3rRJlOwOKFnqEcN9Ks3mKmUZsSxdjW7IQMSMdVCp8+g9EO2IMqpatSj2OxXKYDOMv5OSsBUS02iaEGcYTHDyQRdlW3j9lxCZJRGtUPBURyrCQAHyu48pCGRkZGZmLDBx4KwMH3lrd25CpAfj4+LB48YoqP06Fr4qHDx/O0qVL+fDDD0lKSmLSpElERkZy0003ceLECd566y2mT5+OJEm8/vrrADRqVPbWjDIyMjIXqB/qV+2d3IpDEj1dITvfNYmYtp2uaC21jy9KdeXmnjidTjIy0grlJGVnZxWao9Ppado01puTZDCEe1vXXu9kWNO9eUkHTPtIyI/3juk0enpE9vaKSfUC66OoSZYxt+NiEHfCJpTZDxGsgLFBT+I0tMAZ05PsmL9wRnaEaqyouhaQJAnpvAX3kQLbm10EBSgaFNjeGgQhKCvns5ckCdfhQ9gW/IU9bgO4XCjCwvGb9BDaocNR6ENLeb5IXt4WMoyzyc/3VDkFBHQlLGw8acp2BGs1KASBBlo39X3UPBCmo1+QP8rrNPdMRkZGRkZGpmZQYXHplltuYdCgQaxatYrffvuNTp06ERkZyb333sucOXPYsWMHPXv29M4XBIERI0ZUyqZlZGRkahpqrS/agOpt3+1yucjMzCiUk5SVlYl0iV8tKCiERo2aeq1tYWHhaDQ3RncoSZJIsSR7xaSDpv2ct6Z4x8O1EfQr6OTWRt+OKP/oGhdErsg+6+3qpknahuDyZGCJWj2SJghJ7Ydxwl4k//Bq3um1gZTruNjtLavA9hbmi6KFzmN786s8kVWy2bCvXYV14TzcJ08AoG7fAe3IO9Dc0h1BVfIlmSjaycpehtH4C3b7OQRBhS5kKKGh4/hXiuajjGy2mJP4IiaS3kH+tPXT8mfDqBp3DsvIyMjIyMhcn1xRPf9HH31EbGwsv//+O1FRnpDJevXq8d577/H6669jt9u9c4cMGSJ3ipORkZGpJNxuNyaTsVBOkslkRCyopAIICAikfv1G3q5tYWHhaLU1I2D6aiBJEvHmcxfFpKz9GG0Z3vEov2gGRw2ldagngDvSt1Y17rZoBIcZddJWj5iUsAllrqeySlKocEZ0wBnTC0dMT1xhLRG/POIZk4WlEpGcIuLJbI/tLaEgV8xXhbJDGIpYPYrwyv0bcSclYl00H/vypUjmPARfP7QjRqMdMQpV/YalPt/lyiIz8y+MmXNwu7NQKAIIC7sfvf5OttkCePl8FgesKQhA/yB/6mguXtrJwpKMjIyMjIzM1eKKxCWVSsWDDz7Igw8+WOjO+LBhw7jpppvYsGED+fn5tGvXjo4dO17xZmVkZGSqm/PHD2PJNnn/2xhf9V0wRVEkK8tEenqq195mNKbjdru9c/z8/ImJqVcgInnEpBst584tuTmTe6pATPLkJuU4sr3j9QMacEtMd9qEtqOVrg2hWkP1bbY4JBGV8QjqhE1oEuJQp+5GEF0AuAOjsbYY5wnijroFSRPoCfGeYwKOYDbZCdDfGFVo5UWSJKTkfI/t7UQ2OERQCCgaB3tsb/WCEJSVJ8RIbjfOf7ZjXTgP545tACjr1kM7eQo+A29F4V96iLrdHo/R+CumrKVIkg21uhYR4c+j0w1HqfTnm3QTM9JTUQswShfIBEMI9Xxk+6OMjIyMjIxM9VBpSaT/vTsWGRnJ2LFjCz3mcrlQlVL2LSMjI1NTsWSbWPvlu0WOaXwrR8iRJImcnCzS0i6GbWdkpOFyubxztFotdepEXyIkReDvH3DDVSm4RBcnco5585IOZx0k35UPgAIFjYKa0L/2QNqEtqOlrg3BmuBq3nHRCBajtzJJk7gZhdUIgKTyxRHd0yMmxfTCHVwf/vMZJx4yeUWlAL0P0a301fESaixSjh330SzcR0yQ4wBAiPBF2UKPopkOwbdyr0nE3Bxsy5diWzgP8XwKKBRoevRCO3IM6vYdS/0blSQJi2U/GcbZ5ObGARK+vrGEGe5DHdCbRTlWRgq++ALDQgKxiBLjQoPlrm8yMjIyMjIy1c5Vuxo5duwYL730EosWLbpah5SRkZGpVPKzMgFo1KUX0a0vVmOqfXyJaNSs3OtJkkReXm6Bre2ikORwOLxzNBoNERG1C6xtnoqkwMCgG05IArC77RzLPuoVk45mH8bmtgGgElQ0DWlOa11b2oS2o0VIK/zV/tW842JwO1Cn7kGTsAl14ibUGYe8Q67Q5tiajcYR3Qtn7U6gLL0SKUDvw6AnWlXljq8pJIcb8UQ27qNZSIkFtjd/FcqO4Sha6FAYKt8a6jp+DOvCudjXrgGHHSFEh+/4iWiHjUQZEVH6niU3ubkbyciYjcV6EIDAwJ6EhY3HoWnDb6Zcfj+fTK5bRAXcGRpMbY2aZyJLDv+WkZGRkZGRkblalFtc2rZtG3v37iUjI4OwsDB69uxJq1bFX9RKksS3337LjBkzCt15l5GRkbnWsOblABDRqDnRrTqU67mSJJGfby4kIqWnp2Kz2bxzVCo1YWHh3rDt8PAIgoN1N6SQBGBx5XMk67A3M+lYzlGcohMAjUJDrK4lbfTtaK1vS/OQFmiV2mrecfEocuK91UnqpL9ROD0VVqJWh63x7Tiie+KM6YHoH1nNO702kSQJKdHssb2dzAGnCEoBRZMQFC31KOoGIigq9+9Icjiwx23AtuAvXEcOA6Bq2QrtiDH49OqDoCndoiaKVkxZizEaf8XhSEIQNOh1IzEYxmFSRPGlMYcFWQnYJIkotYonI/QMCwms1NchIyMjIyMjI1MZlFlcSkhI4IknnuD48eOFHp8xYwa33XYb7733Hpr/XEidPXuWl156iYMHDyJJ0g37A0lGRub6wJabDYBvUEipcy0Wi7ci6UJOksWS7x1XKpUYDOE0bhzhtbfpdHoUihrU6v4qk+fM5ZDpoLcy6WTuCUTJkyvlp/KjXWgHWuvb0lrfjqbBzVArKq+TV6XjyEeTsh1NwkbUCZtQ5ZwDQBKUuCLbYy2wu7nCWoNCWb17vYaRsuy4j5pwHzVBrkd4FGr5eWxvTUMQtJVfoO1OS8O2eD62pYuRsrNA44PPbUPxHTEGVdOyVTA6nUYyM+eQaZqL252DUhlCePiDhOrvRK32VCOtMWbzuymH5loN94fp6Bfkj0q+jpKRkZGRkZGpoZTpqisvL4+xY8eSmVm4pfUFli9fjkql4oMPPvA+Nn/+fN555x3sdjuSJBESEsIbb7xReTuXkZGRuYo4rBZyUpMB0AYWzu5xOBykpaUU6txmNud5xxUKBaGhBurVa0hERARhYZHo9aEolTe2qGCymzhUUJV0wLSfs3mnkfB8xwSpg+gS3pXW+na00belYWAjlIoanCsjSSgz/0WTEOcJ4j6/C6GgysodUAdr7NiCIO5uSD41M/vpWkGyuxGPF3R7SykQbAPUKG8K93R7C638CjZJknDu2YVt4Twcf28GUURRuw6+Y8ehvW0oiqCyfaY222kyjL+Snb0MSXKi0UQTGfEoOt1Q9lvhvZRsXqvtIlytYrQuiCY+GroE+Mo352RkZGRkZGRqPGW6Uv/hhx8wGo0oFAruuOMOxo8fT1RUFOfOneO7775j2bJlLF68mAkTJtCsWTM+/PBDZs2a5RWi+vbty9tvv01oqJwNICMjUzzfbY9n7fGMQo8lZVuJCqn8jJTy4Ha5WPjmk9jzPfktvsEh3rGkpATWrl3hrUoSBAG9PpSoqBivvS00NExuZgCkW9O8VUkHTftJzE/wjul9QulZqw9t9G1prW9L3YD6KISaXcUlWE1oEjd7xKTEzSgt6QBISh+cUbfgiOmFI7onbl2jy4K4i+PIxmQSD5lKn1jAjdIhThIlpIQC29upbHBJoBJQNNOhbKFHiAmodNsbgJhvxr5qBbaF83HHnwVA3bkrviPHoL65C0IZKg09ltjdZBh/Ji/vbwD8/NoSZhhPQGAPtpjt/HjOxD6LDQHoa7Zwuy6IAKWCroE3VsdHGRkZGRkZmWuXMv3a2bZtG4IgcP/99/Pcc895H2/atCkfffQRSqWSJUuWsGzZMrZt28aPP/4IQGBgIK+99hq333571exeRkbmumLt8YzLxKSoEF/6Nw2rxl2BNTcbe74ZQ71GNL6lD76BwYiiyJ49/7Br13ZUKhWdO3ejdu0oDIZw1OoabNe6SkiSRIoluZCYlGo97x2P8I2kf51B3sykOn5RNb86w+1ElbbPU52UuAlV+kGEgkorl74plsbDcdTthbPWTaCqWPXMpd3fysL13iFONNkQj5hwH80Cc4HtrY4/ytgC25tP1VT/uc6ewbZwHvZVK5CsFoSAQLR3jsV3+CiUUdFlWkOSnGTnrMOYMRur7V9AIDioHwbDOPz927AlL59PTqdwyu5ELcAoXSD3GUKo71N6VpOMjIyMjIyMTE2jTOJSYmIiAOPHjy9y/IEHHmDx4sVs2rSJpKQkANq2bcvHH39MnTp1KmmrMjIyNwJRIb78NaFj6ROvIraCIO/o1h1p3KU3Fks+a9euICkpgdDQMAYNGkJIyPX7A78siJLIubxzBeHb+zhoOkCm3egdj/KP4bboYbTWt6WVvg2RvrWqcbdlR5GbiCZhE5rEONRJW1E4PHZH0ScYe8PbcMb0whHTAzGgdqUd80bv/ibZXBdtb+ctngcD1Sg7R6CM1SPoqqZSS3K5cPy9GdvCuTj37gFA2bgJviPH4NNvIIK2bIKh223GZFqIMfN3nM7zCIKWUP2dGAz3groOPgXVThZR4rzTxURDCPeGBhOulqsbZWRkZCqDPXt28+ijDwKwYMEyatcu+jva7XYzdeorrF+/FoDHH3+ae+4ZB8DDD09m3749REZG8ttvc/H3L74D7b//HmXixHsB2LFjr/fxlJQURo4cAsBdd93DU089W+K+P/roA+bN+4vBg4cydepbZXy1F9m3bw+PPvoQr7/+JrfeOqTIOVarlcGD+2G1WomKimLu3MUl3txbtmwJ06a9CRR+bcXRuXN7AF577U2GDBlW5By3282mTRtZu3Y1R48ewWTKRKlUEhlZiw4dOjJy5BgaNmxU6rGuFgkJCfzww7fs2rWTvLxcQkMNdO/ek4kTJ6HXl//6/9lnn2Dr1r9LnLNp03Z8fEq+3tmzZxePPTaFiIhIFi1aftn45MkTcLlcfPfdT1fNQVHmzKWAgADCw8OLHG/SpAkqlYpTp04hSRKjR4/mzTfflG0gMjIy1wXWS4K8L7XBxca2pnv3XqhUN16lkltyczr3FIey9vPvwUPsTt1DrjPHO94gsCHdI3sVBHC3Qe9zjdiinVY0ydtQF3R2U2WfBkASFLjC22KN6Ykjpheu8LZyEHclIokS4rk8xCMmxNM54JZApUARW2B7iw6osso20ZSJbekibIsXImakg0qFT78BaEfegaplqzIf1+FMI9P4O5mm+YiiGZUqlIiIRwnVjyGPQH7IzOEPUzzf1qtNrK8P/YL86RJQl6AbPHtNRkZGpjoQRZF33nnDKyw9+eQz3H33vZfNS01N5euvv+D551++ouP99dcf9OvXn5YtW1/ROsVhtVp5++03aNq0GYMG3VbsvPXr12K1WgFISkpi166d3HTTzVWyp6JITk7i1Vdf5NixfwHw9w+gXr36WK0WEhMTOXfuLIsWLWDChAeYPHnKVdtXcZw6dZIpUx7AbDYTEhJCw4aNiI8/x9y5c9iwYR0zZ/5InTpR5VzzFACxsS2L1UtKa/BjtVp59923i8zDvsCTTz7DpEkT+OmnH5g06aFy7bGilEn9cblcpSpngYGBZGdn07dvX6ZNm1Ypm5ORkZGpCdjycpCA+EwTx/fuQaVS0b//YJo0aV7dW7tqOEUnJ3KOFVjcDnAk6yD5Lk/OlEJQ0DioCQP1gz2VSbo2BGmCqnnHZUSSUJqOeaqTEjahTvkHQXQA4PaPxNr8ThwxvXFG3YKk1VXzZq8/RKMV8UgW7n9NkO8CQIgOQBmrQ9EkBEFTNcKLJEm4Dh/CtuAv7HEbwOVCERaO36SH0A65HUWoocxrWa3HyTD+Qnb2KsCFj08DwgzPEhIymDSXgo8yclhgiscqSUSpVWS7PR0QlYIgC0syMjIy1YAkSbz//jusWrUCgKeeepa77rqn2PkLFsyjf/+BtG3bvsLHFEWRd999m9mz/6iS+IRZs77n/PkUXn11aok3RVasWAZA585d2bFjG4sXL7hq4tKJE8d55JHJmM1mWrVqw5Qpj9Khw0W3Qk5ONj/99CNz5vzGDz/MBCQmT374quytKFwuJy+88Axms5k777ybxx9/GpVKRV5eHm+88Srbtv3N66+/zI8//lLmNfPy8khLS8XHx4fvvptV4eY+X331GSkpySXOadmyNb169WH27FkMHHgr0dExFTpWeai00qILb8xDD10dVUxGRubapKjQ7gtUR3j3qe1x7F38B5IkFjvHKUpYo5tw7NyZG8YGZ3fb+Tf7iDcv6WjWYeyiHQCVoKJZSKwnfDu0LT0bdcWaI1LCzZOrSqmh2JKI4MxHcFoQnPkguYAwYAyS6j4ktR+S2h/cGjiM5x+SCv6pWm6EgG7J6sK8LQX7PylIaZ67pwRrUHaNRBmrQwiuutcv2WzY163GumAu7pMnAFC374B2xBg03XoglLHiWpIkzObtZBhnYzbvAMDfvxNhhnEEBnZDEBT8npnD/5034gKaaTXcbwihf3AAqpqeLSYjIyNznfPhh++zdOliAJ5++jnuvHNssXMFQUCSJN577x1++WVOqQUXJa1z9uwZZs36ngcfrFzBJD09nTlzfqNVqzZ07HhTsfNSUlLYt28PSqWKyZOnsGPHNjZvjiMrKwudrmpvoNlsNqZOfQWz2Uy3bj14//3/u0xkCw4O4cknnyEwMIiZM7/mp59+pHfvfjRq1LhK91Ycq1atICUlmYYNG/HUU895RbvAwEDefXc6o0YN4+jRI+zYsY3OnbuWac1TpzzXHnXr1q+wsLR37x4WLJiHj48Wu91W4tyJEycRF7eBb76ZwbvvTq/Q8cpDpfvWYmNjK3tJGRmZ64iiQrsvUB3h3WmnjmEz5xLesClCETYni6AgS+GDWxBo3rwlPXr0uS5tcBZXPkeyDnHAtJ+Dpv0cyz6KS/JUkvgofIjVtfSGbzcPaYGP0nNxJQjgr/bHSl51br8QRYViCy5bgaCUD+5LvogVGiSNrkBQ8gOq94f/9RrQLbklxLO5iEdNiKdzsYsSqBUoWuo9trc6/lUa6O5OTsK6cB72FcuQ8nIRfP3QjhiNdsQoVPUblnkdUXSSnbMSo/EXbLaTgJKQ4EEYwsbj5xvLIYuNFggIQCtfH9r5a3nAoKNrgG/ND6yXkZGRuQH45JP/Y+HCeQA888wL3HHHXSXOHzJkGKtXryQhIZ7vvvuGxx57skLHHTFiNAsWzGX27Fn07t2Xxo2bVGidovjtt59xOBzcfvuIEuetXLkMSZJo06YtLVq0pF69+pw7d5bly5dw7733Vdp+iuKPP37l3LmzBAQE8MYb75RYvTV+/H0sWbKQ1NTzzJ07h5dffr1K91Ycy5d7qryGDBl22Xe4r68vAwfeyh9//Mq6dWvKIS6dBKBhw7Jfe1yKzWblvffeQqPRMGHC/Xz77dclzm/atBnNmjVnw4Z1nD17hvr1G1TouGWl0sUlOWdJRkamNGpiaHffR15C7XMxsPdCN7jTBd3g+vTqf13Z4HIduRzKOlAQvr2fkzknEPFUb/mr/Olg6FSQl9SWJsHNUCuuLUEtIETJ8H6HPFa3pL9R2HPAB0RNEM7objiiPdlJYqDcdKIqEdOtnm5v/2aB1SNWKuoGENy5DpYIDairzhYmiSLOHduwLpyH85/tHgtk3XpoH3gQn0GDUfgHlHktlzsXU+Y8jJl/4HJloFD4YQi9F4NhLCp1LbbkWfjxfDJ7LTY+j4mkT5A/rfy0/FhfPr9kZGRkagpffvkZf/31BwDPPfcio0ffWepz6tWrz8SJk/j226/5449f6devP82alb+YYuLESezfv5czZ07z3ntv8/33P1e4cuVSbDYry5cvRa1W06dPvxLnrlzpEUt69uwFQN++/fnhh5ksXrywysWlJUsWATBs2AgCAwNLnKtSqXnllakIArRqVbaMquHDbyM19XzpE6FMgemiKHL06BEAWrVqU+ScVq3a8Mcfv7J/f+lB5xe4KC5VLLB8xowvSUpK4pFHniAqqmxZTwMG3MqxY/8yf/5cnnvuxQodt6zISpCMjIzMf7geu8GZ7JkcNB3ggGkfh0z7OZN32jsWpA6ma0R3r5jUMKgRSuEay4JxWVGn/IMmIQ5lTgcQHQRufAEJAVd4m4tB3BHtQCF/9VUlksWJ+98sxCNZSBke25ug80HRIQxlcx2KYA3+hkCsxrwqsVKKuTnYli/Ftmg+YkoyKBRouvdEO2I06g6dylVB5HAkYzT+hilrIaJoRa0KJzLyKUL1IxEVgazKNvOjMZFTdicqAUbqAmnko6n8FyUjIyMjc0V8880MfvttNoIg8OyzLzJ69B1lfu64cRPYsGEdJ0+e4N1332bWrF/KXcWuVqt45ZWpPPjgRP799yi///4L48ZNKOeruJzt27dhNpvp2LETfn5+xc7bv38vSUlJKBQK+vTpD8CAAYP44YeZJCYmsGfPLjp06HTF+ymK5OQkzp9PASjRtncp5c2Bio1tQXh4RJnmxsSUnj2UkZHutZwVJ+LUquXpfHz+/HlcLleZimxOnvSIS7Vr12Hhwnns3r2L7OwsDIYwbrmlO3379i9WdNy/fx/z5v1Js2bNueeecWzatLHU4wF07tyFL76ADRvWyeKSjIyMzNUkOTmRNWuWX/Pd4NKsqd68pIOmAyTlJ3jHQn0M9K7Vzysm1Q2oh0IouStFjUOSUGadLAjijkOdsgPBbS8Ya4ekCSZ3wAwcUd2RfK9tYfBaQHKLiGdyPd3ezuaCCPgoULQO9djeavlVuS3MdfwY1oVzsa9dAw47QogO33ET0N4+EmVEZLnWslgOk2H8hZyctYCIVtuEMMN4goMHoiio4vs6zcTMjCz8FAITDMHcGxpChFq+rJKRkZGpafzww0x++ukHABo0aMjIkaPL9XyVSsWrr77BAw+M5+TJE8ye/TP33z+p3Pto2bIVd9xxF3Pm/M7338+kZ88+ZRI6SmL37p0AtG7dtsR5y5cvBaB9+w6EhXkiKOrWrUfTps04fvwYixYtqDJxKT7+nPffqyo/6b33PqzU9bKyLmZ3BgeHFDknODgYALfbjdmcR0hIyblVoihy9qzn5u60aW9isVgKja9evZI///ydDz/8lNDQwl2WbTYb7777FkqlkldffaNcVW8NGjQkMDAQkymzyq1xZb4KysrKom/fviWOAyXOEQSBdevWlWN7MjIy1UlJ4dsVpTpCu4sj48wJTv+zCfD8D3/Xru3sKrDBXUvd4CRJItmSdImYtJ80a6p3PNK3FgPrDPaKSbX96lyT+S+CLRt10t9oEuLQJG5CaT7PLvMdnLSNQlLdi6T2R1L7YRYhwN8He+NW1b3l6xpJkpDSrbgPmxCPZYHNDQIIdQNRttCjaBiMoK5a0VJyOLDHbcC2cC6uw4cAULVoiXbkHfj06oOgKXsVkSSJ5OVtIcM4m/z8PQAEBHQlLGw8Af43k+MW+cGYyz2GYPwUCkbrAvERBO4MDSJY7vomIyNzlTH/8B229WurextXjLZvfwIemFxl6//6688sWDDXG8x9+vQpfv11NuPHTyjXOs2aNWfs2HH88stPzJr1Hb1796nQj/QpUx5ly5bNJCcn8f77b/P1199d0TXZ3r2e76sGDYrP8LHZrKxf7/kN3r//oEJjAwcO5vjxY2zatJGcnOxihZQrITc31/vvISGVv35VYLN5qpY0Gk2xn8+l4e52u73UNZOSkrBaPRXddepE8eijT9C6dVtE0c2OHdv54otPOXLkMM8//xTfffdTIQHpm2++IjExgQcemFyhvK769Rty8OB+9uzZXTPEJbfbTXJyye3ugBLnXIs/ZmRkbmRKCt+uKNUR2l0cZ3ZvBUBrCGfVmuVeG9zAgUPQ6WputYsoicSbz3Igcz8Hszxiksme6R2P9o9hSPTttNa3pZW+DRG+5avaqDGIblTpB7xikiptH0JBVz9XSAMsrSZyfNdt5EkqAgIvfsEH6LkuQ7FrCpL5gu3NhJTpufgS9D4oOoWjjNUjBFR9pZ87LQ3bkgXYli5GyjKBxgef24biO2IMqqbNyrWWKNrJyl6G0fgLdvs5BEGFLmQoBsM4fH2bcN7h5OvUTOabcrFKEiEqJWP0QdTSqHkwvGq768jIyMjIXBkXhKVXXnmdI0cOs2jRAmbO/JpOnW6iefPyZSdNmvQQmzZtJCEhnvfee5tvv/0RhaJ8N1G0Wl9efvk1HntsCvv27WXBgnmMGjWmXGtcSkqKx24WFRVd7JyNGzdgseSjVqvp3btwIUj//gP56qvPcDgcLF++jLFj763wXopDq72Yaep2uyt9/apAKKjoL0m/kC7x9gtlcACoVCrGjh1Hbm4OzzzzQiEbY79+A2jePJZx4+7i6NEjrFmzkltvHQLAwYMH+OuvOTRs2IgJE8pfMQcQHR3NwYP7vfbEqqJM4tKIESUnz8vIyFy/1MTw7crE5ReIOaYpGUkJNdYG5xZdnM47xYHMfRzM2s8h0wFynZ67QAICDQIb0TOyd4GY1Ba9z7UrrCjM5z0h3Imb0CRuQWHPBkBUB+Co1x9HTC8cMT0Rgzxl5NL+QwToYdATcpVSVSK5RMTTBba3c7kgAVolijYGlC31CBFV3w1NkiSce3djWzgPx9+bwe1GUas2vo88gXbwEBTlvNvqcmWRmTmXTNMcXC4TCkUAYWETMYTehVodwRmbgx+S0liRbcYFNNFqeMAQwoDgsgeBy8jIyFQVAQ9MrtKKn+sFQRB4+eXXGTp0OH37DmDXrp0kJycxdeorzJ79B76+Zb+B6uPjwyuvvM7DD0/m0KGD/PXXH9x11z3l3lPHjjcxdOhwli5dxIwZX9CtW3ciymnfBrBard5coJJCsi9Y4rp0uYWgoKBCY2FhYbRv34Hdu3exePGCy8Sl8ohnl4otSuXF511q8crOzirXe15WXnnlBYxGY5nmdu16CxMmPFDinAvCj8PhKHbOpWOXVjEVR+3atXniiaeLHa9TJ4oBAwaxaNECNm/exK23DsFut/Puu28hCAKvvvpGiV32SuLC+ZGTk12h55eVMolL77//fpVuQkZGRuZqI4oiKflWrDFNUDldNcoG5xSdHM85xsECMelw1kEsLo8vWyEoaRLUlEEFFreWutYEaYJKWbEG47KhPr/Tm52kMh33DjnDWmONGYczphfOiPagrFmi3/WOJElIqRbcR0yIx7LB7rG9KeoHoWihR9EgCEFV9VldYr4Z++qV2BbMwx1/FgB15674jhiN+uYuCOW0pNnt8RiNv2LKWook2VCra1G71vPodMNRKv298/42W1iSbaajn5YHwnTcElD1ApqMjIyMTOXy7LMvMmzYcMAjGLz++ps88siDJCYm8MknH/Lqq2+Ua722bdszcuRo5s+fy7fffk2PHr0qtK8nn3yaHTu2kpGRwQcfvMunn35Z7jXy8i7azS6tDrqUtLRU9u7dDcDmzXF07ty+2PXi48+xb98e2rXrUOS6DocDTQl28wuWLwAfn4sCUnR0DAqFoiBz6Ay1atUu4VV5yM7Owmq1lmkuwNGjR8rcLa6kKq8LXLAHSpJETk6ON1/pUnJycgBQKlWXiXYVpXHjpgDeCqOZM78mPv4c99wzjtjYFhVeV6v1fB55eXlXvskSkJMnZWRkbjgudINLsVhR2K3cfvtoIqPrVdt+bG4bR7MOe/KSsvZzNOswDtFzN0StUNMsONabl9RC1xI/lX8pK9ZgJAll9mlPCHfCJjQp2xFcnrtuom8YtqajPNVJ0T2QfENLWUymKpDyHLiPZiEeNSGZPBkCgkGLonMEyuY6BP+rI/K5zp7BtnAe9lUrkKwWhIBAtHeOxXf4KJRluDD8L/n5+8kwziY3dyMg4esbS5jhPoKD+wJKtpgtzDamMC0qnEi1itG6INr4aWnjV/QFu4yMjIxMzadr126F/rtt2/bcddc9/P77LyxdupguXW6hT59+5VrzkUeeYOvWLaSmpvLee+/w6KNPlHtfAQGBPP/8y7zwwjNs376VlSuXlXuNS4Ues9lMaKjhsjkrVixDFEWUShV6ffGV7SaTCbfbxaJFCwqJS5eumZ2dVWJHtksrhy6tVgoJ0dGiRUsOHTrIrl07L/tMimLJksV8/fUXNGzYiF9+mVNqBdWiRctLXbM8hIeH4+8fQH6+mfPnU4oUly4IQFFRUeXsRFu8SHeh+utChdKFrKzffvuF3377pcjnpKae94qGM2bMpEOHyx0nZrNHVCpJHKwMZHFJRuYG5r+B3QKeMla3W0SiZoVvVxbJyYmsXr0Uq9VKoMuOdO7fKgkvLA2T3cTCc3+x37SP49n/4pJcAGiVWlrp2njFpGYhsfgoSy+1rckI9tyCIO5NniDuvCQAdubfxUnnl0hqPyS1P7h94Cief0gp+KdkzCY7Afpr+/2pCUhOEfFUDu4jJqT4grtavkqU7QwoWugRwq9O1Y7kcuH4ezO2hXNxFoSUKhs3wXfEaHz6D0Io5s5ssetJbnJzN5KRMRuL9SAAgYE9CQsbj79fe1zAshwzszKyOWl3oBJgv8XGoOAA/JQKWViSkZGRuQ6ZMuVRduzYxpkzp/ngg2m0bNmqzG3sAfz9/XnhhVd55pnH2b17J0uWLKrQPnr06EXfvv1Zv34tn332CR07lq9bW2BgECqVCpfLRXZ2NnXrXj5n5UqP6DJ48G0lVmm9//47LF68kLi4DeTm5norcRo0aOgNQz916mSJ79Px4/8CHitdw4aFA8b79u3PoUMHWbZsMRMm3F/itbfL5WLJkoXe45c316qyaN48lt27d3L48EGaNbvc3XDw4AHA0wWwLHz22cfMm/cnHTp05PPPvy5yzsmTngr+evXqAxAb26LY9zwnJ5v4+HNoNBqaNfPkhwUEFG3dz87OBihRYKwMZHFJRuYGprTA7poUvn2liKLI3r072blzGwpAm3wGck2o1BpUPlf3B+TJnOO8tudFMmzp+Kv86Wi4ySsmNQ5uilpxjdu/JBFV+kE0iZvQJGxClboHQfIEOLqD6mJtdR+O6F4cXxKB2eIoFMZdXgL0PnJ4dwWRJAkpJR/3kSzE41ngEEEBikbBKGJ1Htub8upc0ImmTGxLF2FbshAxPR1UKnz6DUA7YgyqVq3LLWyJohVT1mKMxl9xOJIQBA163UgMhnFotZ4LtrU5Zj5KzSTF6cJXITA+NJhxhhAi1fKlkYyMjMz1jEajYerUt5k06T5yc3N5443XmDHj23KJGF273sKgQYNZtWoFixbNr/Benn32RXbv3kVOTjYbNpSvq7pSqSQqKppz586Snp522fjBgwdISIgH4LbbhpW41ogRo1i8eCF2u52VK5dx551jAU9WT/v2HdizZze///5LiVVHF96Hjh1vIiCgcAbUyJFjmDfvL5KSEvngg3d55533is04/e67/5GUlIhSqWT8+Ikl7rsq6dOnX4F4uJiRI8cUOj+sViurV68E4NZbbyvTeg0bNsTlcrFv315SUlKoXbuw5S89PZ21a9cAHjEO4L33Pix2vQ0b1vHKKy+g14cyc+aPJR47IyMdgJiYemXaa0WRr6BkZG5wLg3sFgQwGAIxGvO4JJPvmueCDe5CN7i6WjUnj+6i5wNPEd6wKeqrKC7Fnd/A9APvICLyQutX6V9nEErh2m9jLuSnoUnYXNDZbTMKWxYAksoPR92+OGJ6eoK4g+td8qRDBOh95DDuq4yU68B91OTp9pbtsV8K4b4oWuhRNtMh+F2dSwNJknAeOoRt4VzsG9eDy4UiLBy/SQ+hHXI7iiLK+0vD6TSSmTmHTNNc3O4clMoQwsMfJFR/J2p1KPlusdB8qyjyWLieu/RBBKuu/b9DGRkZGZmy0axZcyZOnMR3333Dvn17+OWXn7jvvvvLtcbTTz/HP//sICvLVOF96PV6nnrqWd566/VCgdhlpWXLVpw7d5bDhw/Sv//AQmMrVniCvKOiomnbtl2J6zRrFkvTps04fvwYixcv9IpLAI8//hQPPHAfu3fvYurUV3jssScLVdMYjRl8880M9uzZjVKp4vHHn7psfY1Gw8svv84zzzzBxo3reeyxKUyZ8iht217MgMrIyOD7779h8WJP1dKkSQ/RuHGTcr8nlcXgwbcxe/aPnDhxjOnT3+XZZ19Eo9FgNucxdeqrZGWZaNmyFR073lToeWZzntciGBUV5RXR+vcfyPffzyQtLZWXX36OadM+IDra06Dm3LmzvPbaS1gs+dx8c2c6d+5aaa/D5XJy7NgxAFq3blNp6xaFLC7JyMhc1yQnJ7JmzXIslnxvN7gjaxYDEBRRG9+gkKuyD1ES+eXULH4++QM6jZ53OnxArK7lVTl2leC2oz6/G01iHCRvITTtsHfIaWiJLXYsjpieOCM7grJq/d0ypSM53YgncnAfNSElmD0P+qlQdgjzhHOHXT37q2SzkT1vNdmzf8V1wlP+rW7XAe3IMWi69UBQlf/SxGY7TYbxV7KzlyFJTjSaaCIjHkWnG4pC4Uuqw8Xs80bmZeUyq35tWvhq6RPkT7dAP3yrqdxeRkZGRqZ6ue+++/n77838++9RvvvuGzp1urlcocnBwSE8++wLvPbaS1e0j1tvvY21a1ezbdvf5X7uzTd3YdmyJRw4sL/Q43a7nXXrPFUwgwcPLdNaI0aM4oMP3uXMmdMcOLCfNm3aAh7h6a233uXdd99izZpVrFu3htq16xAcHExOTg7JyUlIkoS/fwDTpr1frCDUoUNHvvjia1544Rn279/HlCmTCA4OoVatWlitVhIS4pEkCZVKxeTJU8ot9lU2Wq0vb731Hk899SiLFy9k48b11K5dh/j4c1itVgwGA+++O/2y58XFbWTatDcBWLBgmbdCSav1Zfr0j3jqqcc4fvwYd901yht2fvbsGSRJIja2BdOmXb7mlXDs2L/Y7TbCwsJo1Khxpa79X2RxSUZG5rrkUhucSqWq1m5wVpeV6QensTl1I42CmjCtw3TCfcvu7a8RSBLKnLOeEO6EODTJ2xEKOtjhZ8DWZISnOim6J5Lf9WGlvNaRJAkpKd/T7e1ENjhFUAoomgSjiNWjqBeEoLx63c/cyUnYFs3HtnwpUl4ugq8f2hGj0Y4Yhap+w9IX+A+SJJGfv5sM42zy8rYA4OfXhjDDfQQF9UQQlJyxOfjRmM7y7DxcQBOtBpvouTOsFAR85e5vMjIyMjcsKpWKqVPfZsKEe7Db7Uyd+gqzZ//hbUNfFvr1G8DatavZtGnjFe3lxRdf4e67x2Cx5Jfred2798DPz5+TJ09gMpm8mTqbN8dhNptRKBQMHlw229aAAbfyxRefYbHks3jxAq+4BJ7X2aJFS5YvX8q2bX+TlpZGWloqwcHBNG/egu7dezBs2IhCQd5F0aZNW+bNW8zixQvYtm0rZ8+e5uTJk6jVKurXb0DHjjcxatQY6tatV673oapo06YtP//8Bz/+OJNdu3Zy8uRJ9Ho9/fsPYtKkhwgPDy/Xes2axfLbb3/x66+z2bp1CykpyahUapo3j2XgwFsZNWpMsXbBivLPPzsAGDBgUJXnZwpSRervZEolKysfl0ssfWIVcr1anGQqjzt+8rQmvd5scf+1wQ0cOASd7mIuz9Zfv+H0jk0MfeVDdLXL33WqPKRb03htz4ucyj1Bz8g+vND6VXxV10ZIuuAwo07aWmB124QyNwEASaHCGdkBZ3QvHHV7omvWBaMpv9znzKovDgHItrhKRsq24z5qwn0kC3ILbG+Rfihb6FE0DUHwvXr3lSRRxPnPdqwL5uL8Z7tHpKxbD8O4e3F174PgV3TwZIlrSk6yc9ZhzJiN1fYvIBAc1BeDYRz+/hfLvWdlZPFJmseq0NFPy/1hIXQL8LsqweQylcv18t0kc/WoSeeMSqVApyt7l1e3282xY8eJjIyutiBjmWuLr776nF9//ZnHHnuSe++9r7q3I1ODkCSJUaOGkZ6exrx5i4mMrFWhdURRJDU1kWbNmqJUFh8jIFcuycjcQPy3O9z12g3uvza4S+8ASJLE6R2bAFCpq9audSTrEFP3vEyWw8SExpMY12hizf5hK4mojEfQxMehToxDnboHQfR0sXMHxWBtMc5jdYu6BUnjCWoUBKCcF79HNiaTeMgkd3qrRCSHG/F4tsf2llRw19NfhbJTuMf2Fnp1Q+vF3BxsK5ZhWzgPMSUZFAo03XuiHTEaTcdO6MOCyv2jz+3Ox5S1AKPxd5zO8wiCllD9nRgM9+DjE4MkSWw3W7jJ3xelINDJ35c+gf7cHxYid32TkZGRkbluGTt2HHPn/snSpYtlcUmmELt37yQlJZmhQ2+vsLBUHmRxSUbmBuK/3eGu125wJdngHFbPD28/XSiBYVVnTVudtIJPDk9HKSh5s9279KjVu8qOdSUIlgxvVzdN4mYU1kwAJJUvjmhPCLczphfu4PoFStKVc6mwJHd6qziSJCElmD22t5M54CqwvTUNQdlCj1A3EEFxdcVM1/FjWBfOxb52DTjsCCE6fMdNQHv7SJQRkUD5TyOHM41M4+9kmuYjimZUqlAiIh4lVD8GlSoElySxPDuPH43ZnLA5+DQ6gn7BAbT00/J53cgqeJUyMjIyMjI1B71ez+jRY/jtt1/YunULt9zSvbq3JFND+OOP39BoNFctv6pSxKXjx4+zdu1aTp48SW5uLrNmzQJg/vz5NG/enNjY2Mo4jIyMTCVwaXe464XSbHCXYs3NAaBhp6r54nVLbr479j/+Ovs74doIpnWcTqOg6ut0cRluB+rU3WgSNqFO2ITaeDGI2xXaHFuzMThieuOs1RGUVVdVJHeJqzhilh3xiAn3URPkOQEQavmhbKlH0SQEQXt17xtJDgf2uA3YFs7FddhjdVS1aIl2xBh8evdF0FSsQtBqPU6G8Reys1cBLnx8GhBmeJaQkMEoFD5YRZG5mTn8bMwm2enCVyEwLjSYlnKVkoyMjIzMDcbkyVPYtGkjX3/9JV263CJbKmXYs2c327b9zSOPPE5UVNXGgFzgiq5AHQ4Hb731FgsWLAA8d1EvtXz8/vvvHD16lEGDBjF9+nQ0FbzAvIDZbOZ///sfq1evJjU1laCgIDp27MiUKVMqLGClpKTw7bff8vffnmAyf39/2rVrx+TJk+nQocMV7VdGRqbqKc0G919sBeKSNii40veS78xn2v6p/JOxndiQlrzd4QP0PtVfmaPIOeepTErYhDp5Kwqnp3pL1OqwNb4dR0wvnNE9EP2vsZDxGwjJXmB7O2JCSimwvQWoUd4cgSJWh0J/9QUVd1oatiULsC1djJRlAo0PPoOH4jtyNKqmFQvPlyQJs3k7GcbZmM2eAEp//06EGcYRGNgNQbh4sTwzPYvvjdnolAoeC9dzlz6IYFXxOQAyMjIyMjLXK1qtL6+99haPPDKZ5cuXMHTo8Orekkw1M2PGF8TGtuCee8ZftWNekbj03HPPsXbtWiRJom7duqSkpOByubzjZrMZSZJYtWoVRqORn3/+ucIqqtls5p577uHYsWNotVqaNGlCamoqq1evZsOGDXz22Wf069evXGvu2LGDhx9+GIvFQmBgII0bNyY+Pp6NGzeyadMm3n//fYYPH16h/crIyFQtFekGJ0kS+dke25dvJYtLyflJvLbnBeLN5xhYZzBPt3wBjbJqM52KxZGPJnkbmsQ41AmbUOWcA0ASlLgi22ON7okjpheusFagkH+M11QkUUJKyMN92IR4OgdcEqgEFM11HttbdMBVt71JkoRz725sC+fh+HszuN0oatXG95En0A4egiI4pELriqKT7JyVGI2/YLOdBJSEBA/CEDYeP1/PzaNUp4s/MrN4KEyHn1LBnaHBhKlVjNAF4ivfoZWRkZGRucFp27Yd27btru5tyNQQfvxx9lU/ZoXFpfXr17NmzRqCgoL4/PPP6dKlC926dSMzM9M7Z8mSJXz//fd89dVX7N69m/nz5zNmzJgKHe+NN97g2LFjdOrUiS+++AK9Xo/b7earr77i66+/5vnnn2ft2rUYDIYyrZeens5jjz2GxWLhzjvv5OWXX8bX1xeHw8F7773HH3/8wZtvvknXrl3L3WJQRqY6+W9o96VcLwHeFouFdetWkJgYX6oN7lLWffUe5497bGC+QSGVtp99mXt4a++r5DnzmNLsMcbUv/vqBndLEkrjUTSJcZ7qpPO7EESPXcodUAdr7D0Xg7h9Kr9iqzguBHf/FznIu2TETJvH9vZvFpgLbG91/D3d3pqEIPhcfUFQtORjX7UC24J5uOPPAqC+uQu+I8egvrkLQgmdQ0rC7c4l0zQfo/F3XK4MFAo/DKH3YjCMRaOpDcAZm4Mfjdksz8nDJUE9HzUjdEFEqlWMDb1657OMjIyMjIyMjEzxVFhcmjdvHoIg8OKLL9KlS5ci5/j4+PDoo48C8OWXX7JkyZIKiUvx8fGsWLECjUbDxx9/jF7v+RGpVCp58sknOXr0KHFxcfz88888++yzZVrzyy+/JC8vj549e/L22297H9doNEydOpV//vmHM2fOsHz5ciZOnFjuPcvIVBf/De2+lOshwLu8NrgLSJJE+pkT+IXoqdvuZgz1GlfKfhbHL+Cro5+iVWp5t+P/0Tm8a6WsWxqCNRNN4mav3U1h9QiKkkqLI6obzhhPdZI7pGGlBXGXl+I6wslB3pcjWV0XbW+pFs+DQRqUnSM8VUoh1SPGuc6ewbZoPvaVy5GsFoSAQLR3jsV3+CiUV+Dft1qTSE75FpNpEaJoQa0KJzLyKUL1I1EqgwA4YrUxMz2bDXkeG2B7Py0PhIXQPcCvUl6bjIyMjIyMjIxM5VFhcenQoUMolUpuu+22Uufed999fPnllxw/frxCx1qyZAmiKNKtWzciIi7PBLnzzjuJi4tjxYoVZRKXHA4HK1euBOCFF164bFyhUPD8889z5swZWrWSA2dlrj2ux9DuitjgLsVps+J2OqjVtBWdRl2599gluphx9DMWJyygtl8dpnX4kHqB9a943WJxO1Gn7UWdsAlN4iZU6QcR8PRxd+mbYms60lOdVOsmUNWcQGM5uLt4JFFCPJeLeMSEeDoX3BKoFSha6FG20CFEBVzdCrgL+3K5cGzdgm3BXzj37gFA2agxviPH4NN/EIK24ueXxXIEo3E22TlrARGttglhhvEEBw9EoSgsEu/Lt7EhL59egX48EKajrRzULSMjIyMjIyNTY6mwuJSdnY2/vz/aMlxkBgQEEBQUhMViqdCx9u/fD0C7du2KHL/weFJSEqmpqURGltx6+ODBg+Tl5VGvXj0aNWpU5Jw+ffrQp0+fCu1XRkamcqmoDe5SbHmVF+Sd48jhrX2vsj9zL+1COzC13TSCNZVvz1HkJhZUJm1EnbwNhSMPANEnGHujITije+KI6YEYULvSjy1TdYgZ1ou2N4snp1CIDvDY3hoHI2iqJwdLNGViW7oI25KFiOnpoFLh028A2hFjULVqXWGhS5JE8vK2kGGcTX6+R6zS67sTEjwWf//OCIKAS5JYlZ3H7MwcPo2OoJZGzUh9EF0C/GiorabsMhkZGRkZGRkZmTJTYXEpKCiIrKwsrFYrvr4lZ7hkZ2eTl5dHaGhohY4VHx8PQExMTJHjOp0OPz8/LBYL8fHxpYpLJ06cAPAKS4cPH2bRokWcPXsWjUZDp06duOOOOwgICKjQfmVkZCqPitrg/ou1oEvclQZ5n8s7y2t7XiDFksztdUfxaPMnUSkqqfW704ImeTvqhDhPdVL2GQAkQYErol1BEHdPXOFt5SDuawzJ4sJ9LAvxiAkp3ep5MESDsm0kylgdQnD12N4kScJ15BC2BXOxb1wPLheKsHD8HngI7dDbUYSWLcewKETRTlb2MozGX7DbzyEIKnQhQwkLG0d0dAeMxjwsbpFFplx+NmaT7HThqxA4anNQS6PGT6GQhSUZGRkZGRkZmWuECv8iatGiBX///TerV68utaParFmzkCSJ2NjYCh3rQki4Tqcrdk5ISAgWi4WsrKxS1zt//rx3vU8++YSZM2ciSZJ3fMOGDfz888/MnDmTpk2bVmjPMjKVTUlB3ZdyvYR2l8cGl3b6GLvn/4Lodhe7ntPm+UHvG1hxcWlH+jam7Z+K3W3nqRbPM6zuiAqvBXiCuE3H0MR7xCR1yk4E0QGAO6AW1uZ34YjphTOqG5I25MqOdRW5EOR9owd3S24J8WyB7e1MLogSaBQoWulRxuoR6vhXi+0NQLLZsK9bjXXBPNwnPZZ1dbsOaEeMRtO9J4Kq4oKpy5VFZuZcMk1zcLlMKBQBhIVNxBB6F2p1hDcCbElWHh+dN2Jyi4QoFTwSruNufTAhKlk4lZGRkZGRkZG51qjw1eOIESPYsmULn376KR06dCA6+vJgT1EU+eGHH5g5cyaCIDBs2LAKHctmswGegPDiuDB2YW5J5Od7wkHXrVtHVlYWd9xxBw8++CAREREcPXqUd999l4MHD/LQQw+xZMkSgoKCKrTvavrNcNnxq3sfMpXDuoKg7uhShKPogtDuinzuNeWcsVgsrF170QY3aFDJNrgTW9aRmXCGwLDiqxYFhQJ9dH3CGzYt9+uTJIm/zvzBt8dmEKgOZNpN02ln6FC+RS7sw5qFOmkLmvg41ImbUOaneY6h9MFZp4snN6luL9y6xoU+iJr6Z1zUOZN4uEBYCvUhpqW+2s+nq42YbsF9uMD2ZvUInoq6gShb6lE0CkZQK6ptb+7kJKwL52NbvhQpLxd8fdEOH4XvyNGoGjS8orXt9ngyjL9iMi1Fkmyo1bWoXft59LrhKJX+AJhcbkLVHvHIXyngo1DwcrieEfpA/BTV977I1GxqyneTzLWDfM7IyMjIXH0qLC4NHjyYRYsWsXnzZoYNG0bnzp3Jy/PkgXz66aecP3+e7du3YzQakSSJTp06lSn8uyiUSiWiKJZ4h/dC5ZGiDBenFwSorKwshgwZwjvvvOMda9u2LT/88AMDBgzg/Pnz/PLLL96Od+VBp/Mv93OqitDQwOregkwloFQqqBfqz9pnelb5sarznDl79izz58/HbDbToUMHBg0ahFpdvA1OEkVSjx8irG59xn/4ZaXvx+F28Nb2t1hyegkNghvwVZ+viA4qR5cstwuS98CpdXB6PSTvhYIgbgxNodUoaNQXoe4taNS+XKsmoEvPGaVSSXC4H2PfuLkad3R1cec5sOxPx7InHWeq5waGKswXvx4R+LUPR1VNtjfw/I3kb9mC6fffyd+8BSQJTf366J58guDht6O8Qgt4ds4eEhK+JyNjLSARGNiKujGTCAsbhKLAMnoy38bXienMS81icftGhAJj6kcysl4kaoX860+mbMjXMzLlRT5nZGRkZK4eVxQU8tlnn/HCCy+wbt06Nm7c6BV/Zs6cCVwUfG6++WY+//zzCpf/+/r64nQ6sdvtxc5xODxWkrIEjF+aEfXYY49dNh4UFMS9997Ll19+SVxcXIXEpaysfNxusdzPq0wEwfOlmpmZxyWuP5lrlAvnk9GYV2XHqM5zRhRF9uwpbINr2rQ5OTk2oPiKxMyEs1jzcmlwc49Kf29Mtkym7nmZI9mH6RzeldfavoWvw7/U4yjykj25SQmbUCf+jcKRC4CoCcLZ8FZPdVJML8TAOheflOMCqu6zrSqKOmfcBfbEqjxXawKSS0Q8k4v7sAnxbK5HM/RRoGwTirKFHqGWHw5BwOF0gNFx1fcn5uZgW74M68J5iCnJoFCg6dYD31FjUHfohCgIZNkksJX/c5IkNzm5G8nImI3FchCAoMCehIWNx9+/PYIgYDJZOWix8UNGNhty85GA9n5acnIsEORPlsksfzfJlAn5ekamvNSkc0apVNSom84yMjIyVcUViUt+fn589dVXbNu2jYULF7J//34yMjIQRRGdTkerVq0YNmwY/fv3v6JcCZ1OR25uLtnZ2cXOuTCm15feQSow0HMXQ6vVUq9evSLnXAj7TkpKKtdeL6W6v8wuIEk1Zy8yFefCR3g1Psurfc4U1w2uLHtIPnoAgNrN21Tqnk/mHOf1PS+Rbkvjzgb3MKnpFJSCsuhjuKyok3egSdyEJmETqqyTAEgIuMLbYI3piSOmN66ItnBp+Pd19HdZ6JyRLj52vSFJElKaFfcRE+KxLLC5QQBFvUAULfQoGgYjqBSXzL/6e3SdOI51wVzsa1eDw44QosN33AS0t49EGXHROlqRvYmiFVPWYozG33A4EhEEDXrdSAyGe9FqGxRa+3/pJr5O9+Qg9gr0435DCO38fb02Ffm7Saa8yOeMTHmRzxkZGRmZq0eltDjq2rUrXbt2rYyliqRBgwbEx8eTnJxc5LjJZMJisQBQt27dMq0Hnh8JxYleSqUnE6IkO46MzNXgQpB3TQ3qzklL4dim1UhixSr18pxOzuZZcEoSBh8N0ZKD46sXlvn5KccOolRrCG/QpELHL4pN5zcw/eA03JKbl1q/zoCoWwtPkCSUphNeMUmdsgPB7amsdPtFYG12J86YnjiiuyNpi29EcD1wZEMyyf/meKqVCi7gr8cgb8nsxH3UhHg0CynTU0knhGpR3BSBsrkOIaB6vyskpxN73HpsC+biOnwIAFVsS7Qjx+DTuy+C5soMl05nJpmZc8g0/YXbnYNSGUx4+IOE6u9ErfZ0gnVJEpvy8ukV6I9SEOgR6E+Sw8kEQwiNtdfX+SAjIyMjIyMjI1OYCotLP/30E0OHDiU0NLQy91MkrVu3ZuPGjezbt4+JEydeNr5v3z4A6tSpQ1hYWKnrtWnTBgC73c6xY8do1qzZZXPOnj0LQExMzJVsXUbmirlUWOrftPTz+2pzanscxzevKffzJMARWgtHWG2QRLTn47HnmjhVgT3U73gLSvWVpxWJksgvp2bx88kf0Gn0vN3hfVroWgEg2LJRJ/2NJsHT2U1p9nSdlBQanLVvwhHTC0dMT9z6ZjdUgmjC4cu7wgXofYhuVXoVaU1HcomIp3JwHzEhxed5TlqtEkVbg8f2FuFbbd3eLuBOS8O2ZAG2pYuRskyg8cFn8FBPQHfTorsrlgeb7TQZxl/Jzl6GJDnRaKKJjHgUnW4oCoVH7LaJIouz8vjJmE2S08XH0REMCA6gha8P70ZFXPEeZGRkZGRkKsru3TtZsWI5Bw7sIzPTiEKhQK/X06pVG/r3H0jXrt0Kzf/tt9l8+eVnaDQaVqxYS0BA6bldJ0+eYNy4uwD4/fe5NGjQkLfffoMVK5YC4OOjZdWq9YWiWUpbB2DVqvWEhJTvJmV2dhZjx97BLbd049VX3yh23sMPT2bfvj0oFArmzVtC7dq1i52bkpLCyJFDAJgxYyYdOnQscQ8X1h48eChTp75V7LxDhw6wbNkS9u/fR2pqKqLoJjQ0lBYtWjFkyDC6dLmllFd79cjPNzNr1g9s3LietLRUAgODaNeuPffddz9Nm16uJZSF1NTz/PzzLP75ZzsZGen4+vrRqlVrxo+fSJs2bcu0RlZWFnffPYrs7GwWLFh22ec4Y8YXLFgwj19/nUOtWsV/xpVFhcWlDz74gI8++oju3bszYsQIevfuXWVVPgMHDuTzzz9n06ZNpKenEx4eXmj8r7/+AuD2228v03p169alZcuWHD58mJ9//pn333+/0LjD4WDOnDkA9O/fvxJegYzMlREV4stfE0r+H3l1caFiachL7+MXUjZBwWq1ErdlIynnk9Hp9PTp2ZeQ4JAK78HH/8oDO60uK9MPTmNz6kYaBTVhWrv3qJ13Hs3OT9AkbkKVtg9B8rxWV0gDLK3vxxndE0edLqD2u+LjX8sEh/kx4NHY68J6IEkS0nmLx/Z2PAvsosf2Vj8IRUs9ivpBhWxv1bVH57492BbMxfH3ZnC7UdSqje/Dj6O9bSiKK/hburB+fv5uMoyzycvbAoCfXxvCDPcRFNQTQfBU9ua63fyZmcuvmTmY3G5ClAoeCddxk3/Nq7CUkZGRkbmxcLvdTJv2JitXLgdArw+lfv0G2O12UlPPs3LlclauXE7Xrt14770Pvbm9gwbdxtdff4XD4SAubgNDhpT++3LVKs8xYmNb0qCIzqt2u43t27fSp0+/EtdZt678N2v/y4cfvo/VamHKlOIzg1NSUti/fy/gyTxdsmRhifMrG6vVyvTp77Jq1QoANBoNtWrVRqVSkZycxPr1a1m/fi3du/fkzTen4e9fvZll+fn5TJkyiZMnT+Djo6VRo8akpaWxYcM6Nm+O4913p9OzZ+9yrblnzy6ef/5pLBYLAQEB1K/fkKSkRLZu3cL27Vt57bU3GTx4SKnr/N//vV9idNCECQ+wbNkSpk17kxkzZpZrjxWhwuJScHAwOTk5bNy4kbi4OIKCghg6dCjDhw+nZcuWlblHGjZsyMCBA1m9ejWPPvooX331FREREbjdbr766ivi4uLw9/dn3LhxhZ7ndDpJSEgAIDw83Ju1BPDcc88xYcIEFixYQJ06dXjwwQfRaDRYLBbeeOMNkpOTqVWrFqNGjarU1yIjc72i8QtAGxBU6rzk5ETWrFmOxZJPbGxrunfvhUpVvZaidGsar+15kVO5J+jt14i38jQE/9EfhT0HAFEdgKP+ABzRnuoksTzd4mSuCaRcB+5/sxCPmJCyPBZHIUyLooUeZTMdgn/1W6RFSz72VSuwLZyH+5ynulZ9cxd8R4xG3bkrQoGdu6JIkpPsnHUYM2Zjtf0LCAQH9cNgGIe/f5vL5n+fkc0sYza11CpeCjcwQheIXxk6tsrIyMjIyFQ13333DStXLicyshZvv/0erVtf/B4TRZG1a1fz8ccfsm3b37z33tu8/fZ7AISGhtK5cxe2bt3CmjWrSxWXRFFkzZpVAAwZMuyycaVShdvtYsOGdaWKSxs2rCvvyyzEjh3b2LBhHfffP5nQUEOx81asWIokSXTu3JUdO7axfPkSJk16CJWqUhJzSiQ/P58HH5zI6dOniIyMZNKkKQwaNNh7bJfLyZIli5kx4wu2bNnEiy8+w+eff+2NrKkOpk9/j5MnT9CuXXvef///CAnR4Xa7+eGHmfz443e89dbrzJ27uMyOLqMxgxdffBaLxcLw4SN56qln0Wo9Dcw+/fQjFiyYy4cfvsdNN92MwVC8a2XDhnWlnjP+/v5MnDiJTz75kJUrl3PrrbeV67WXlwqfQVu3bmXTpk0sXryYTZs2kZOTw2+//cZvv/1Go0aNGDFiBMOGDcNgKP7ELg9Tp07l+PHjHDx4kH79+tG4sUcxNBqNqFQqPv/888vCvNPS0hg8eDAA77//PiNHjvSOdenShalTpzJt2jS+/PJLZs+eTXR0NOfOncNsNhMSEsKnn35KwBW2aJaRkfEgiiJ793q6wSmVKvr183SDq1ZcNk6cnscrZ77HJDl4JCubh85uQEDAFd4aa3RPnDE9cUa0B2X1iwsylYvkFBFPZeM+bEJKMHse9FWhbB+GooUORXjNqEhznTuLbeE87CuXI1ktCAGBaO+4G9/ho1BGX7l12+3Ox5S1AKPxd5zO8wiCllD9nRgM9+Djc3H9c3YHv2Xm8FREKP5KBfeEBtPYR8OgkADUN5AVVEZGRkamZmOzWfnrrz8AmDbtfVq2bF1oXKFQMHDgrfj6+vHCC0+zdu1q7r9/MvXq1QfgttuGsXXrFvbs2UVmZmaJosGuXTvJyMjAx8eHAQMGzeoUFAABAABJREFUXjbeoUNHdu7cwbZtf2O32/HxKTqD8PjxYyQmJtCkSTNOnDhW7tcsSRJfffU5vr6+3H33vSXOu1DNdccdd3PixHEyMjLYunVLuatvKsLHH3/I6dOniIqK4uuvvyM8vLB9XqVSM3LkaOrXr8+jjz7E7t27WLRoAaNGjanyvRVFYmIC69atRqPR8NZb73ltikqlkgcffJjjx/9l69a/+fPP33nkkcfLtOZ3332D2Wyma9duvPTSa97H1Wo1zz33Inv27CI+/hxr1qxm7NiiP8vs7Cz+7/8+wMdHi91efFdtgOHDRzJr1vf8739f0a/fgCrNlK6wuKRSqejbty99+/bFbDazatUqFi9ezO7duzl58iT/93//xyeffEK3bt0YPnw4ffr0QXMFgaIGg4F58+bx7bffsnr1ak6cOIGfnx+9e/dmypQptG3bttxr3nPPPbRp04YffviBXbt2ceLECcLDwxk2bBiTJk2iTp06pS8iI3ODkGdMI/308csez04tvaNi4W5wBgYOHIpOVz2ZPII9B+2xuWgS4liZvZ+39IEoJYmPcpz0jBiAuVNPHNE9kHyrPk/uWuLIxmQSD5kue9xsshNcQ0SYsiBJElJyvsf2diIbHCIoBBSNgj3d3uoHISirXyiRXC4cW7dgWzAX597dACgbNcZ3xBh8+g9EKCW3oSw4nWkYjX+QaZqHKJpRqUKJiHiUUP0YVKoQ77zDFhs/GrNZl5uPBLT20zI0JJAItYqhuiu3pMrIyMjIyFQm8fHxWCwWFAoFzZrFFjuve/ce6PWhmEyZHD16xCsude/eg+DgEHJystmwYS1jxtxV7BqrV3usXT179ikynykmJgaTKZNTp07yzz/b6dGjV5HrrF+/FoB+/QZUSFzavDmOU6dOMnjw0EJunf+yf/9ekpOT0Gq1tG/fgZ49e7Nw4TwWL15Y5eLSgQP7vTlUL7/8+mXC0qW0a9eBfv0GsGbNKubM+a3axKVVq1YgiiI339zlsmgegOHDR7F169+sW7emTOKSw+HwftaPP/7UZeMKhYLHHnuS+PhzxMYWf+5+9NF0srJMPPHEM3zxxSclHlOj0XDrrbfx+++/sGzZYkaMGF3qPitKpdS+BQQEMHr0aEaPHk1qaipLlixh6dKlnDx5kri4ODZt2kRQUBC33XYbU6dOrfBxAgMDee6553juuefKND8qKorjxy//MXwpLVu25NNPP63wnmRkbhS2/foNaaeK/rITBAGVpug7MTXGBidJaE4vJ3Dz60jWDD7T6/kpNIgIhR/Tmj9Hw5iB5MnVF8WSeOjy4G6AgFAfGne8/Mu2piHl2HEfzcJ91ATZDgCECF+UsXoUzXQIflVfCl4WRFMmtmWLsS1egJieDkolmr4D8B05BlWr1pUSIG61HifD+AvZ2asAFz4+9QkzPEtIyGAUiouf7558K/9Lz+KffCsAPQP9uN8QQns5U0lGRkZGpgZzwWIliiI7dmyjW7ceRc4TBIH//e87FAoFYWEXr2XUajUDBgxi7tw5rFmzulhxyWazEhe3ASjaEneBvn37c+rUSTZuXF+suLRhw1q0Wi3dunXn66+/KMvLLMTcuX8CMHDgrSXOW77cI+7cfHMXtFot/foNYOHCeezYsY3U1PNERtYq97HLypIlnm7QTZs2o0OHTqXOnzhxEr1796Vt2/ZlWv/SEPXSiIysxaJFy0udd/jwQQBatbo8HgDw2i1TUpJJT08rUTADOHr0CGazmejoGOrXb1DknO7de9K9e89i14iL28C6dWvo3LkrgwffVqq4BDBgwCB+//0X5s37q+aLS5cSGRnJgw8+yIMPPsiJEyf4888/mTNnDjk5Ofzxxx9XJC7JyMhUH+ZMI4FhkXQceXl5pl+IHu1/7tZIksSePf/UCBucIi+FgM2v4HNuHbnaYJ6P7c42azyxIS15u8P76H3kKqWyEKD3YdATrQo9JghgMARiNOZV066KR3K4EU8WdHtLLLC9+alQdgzzVCkZaoZIIkkSriOHsC2Yh33jOnC5UBjC8HvgIbRDb0dRQm5CeY5hNm8nwzgbs3kHAP7+HQkzjCcwsBuCoPDOuyBgHbM52J1vZWhIABMNITTWFi0gy8jIyPw/e/cd3lTZPnD8e5I0Tdp0p4O9956yVKZs2W5BUHn1VV/3iz8H7oXrde+FA2WUlr2nyN5DNrRQoG2atEmbnXN+f4QWanfpAp/PdXldkDznOU/CsU3u89z3LQg1SYMGDYmNjSM19QIvvPB/TJhwG0OGDCu02HaDBg0LnWPEiJuZM+c3DhzYx/nz5wrttLVu3VrsdjtxcXF069a9yPUMGDCIL7/8jD/+2IDH4ymQlnT48CHOnj3LgAGD0OnK/tkkM9PCzp3b0el0dOpUdCDG6XSwZs1qwL9DCqBTp85ER8eQnp7GwoUJ3H//g2U+f2nt2LEdgG7drivV+EaNGhcZgClM/fr1ad++Y6nGlrZ0z9mz/gyNunXrFvp8WFg4QUFB2O12zpw5U2Jw6cQJf1/s3Gvx8OFDLFmymKSkU2i1gXTs2JnRo8cWWcQ8KyuLGTPeJCgomP/7v+cLHVOYFi1aEhERyYkTxzl16mSZ3teyqJRbtSaTiaVLl7Jy5Up27dqFz+cDKHaLniAINZeiKDhsWdRq0YZ67bqUOL7GpMHJPnQHfiR4y9uoPDkcbzqExwJtJNmTuKnOUJ5oOw2tuvzpukLNoygKyplsfIfMyEezwCODWkLVPNwfUGoYgqSqGTvUFKcT1+oVOObNwXfMv8s2oFMXdGPGo73+RqQKKKwpyx4ys5ZiMv2E03kMUBMWNoRo490EBbXJG+eUZRZk2vjJlMWXDWtRWxvA2IgQ+oUEUVsr6o0JgiAIVw+NRsPTTz/DtGlP4nA4mDnze2bO/J7o6Gg6depKp06d6NbtOurWLbpBS4sWLWnatBnHjx9j5coVTJx4T4Exud3Ohg8fWezO4vr1G+TNtX37Nnr16p3v+dWr/UWZBwy4qRyvFnbu3IGiKLRs2arYMjRr167Gbs8hKCiI66/37+ZSqVQMHHgTs2b9zMKFC5gyZWqlFM92OBykpl4AoGnTZhU+P/g7o91zz70VOqfF4i8JEVZMJ97Q0FDsdjtZWZklzpf7HoSFhfP55x8zc+YPKJe1W964cT2///4r77//UaHv03vvzcBszuC//32W2Ng4MjMtpXodkiTRrl17NmxYx86dO2p+cCk7O5uVK1eycOFCtm7diizLKIqCSqWid+/ejB07lkGDBlXU6QRBqEIehx3Z60EfGl7i2JqSBqfO+IuQtf8lIHU3vpC6rO3zNM+nzMVmt/Gvlg9zS6PbKyTFSKgZlEwXvoNmf9qb1QOAVCvIn/bWIhxJXzPS3gB8KWdxJszDuXghis0Kej260ePQjRmPppC7quU6h89KhnkeJtOveL3pqFRBGKPuwmi8A6320t1Xq8/HbLOVn0xZmH0+wtQqTrjc1NYGoFep0GtF9zdBEISaaP/qsyTvK1gL8WpTv30k7QYUvivkSvTpcwMff/wFb7/9OklJpwFIT09nxYqlrFixFIBmzZozZcr99Os3oNA5hg8fyYcfvs/KlcsKBJcyMjLYvn0rkiQxfHjRKXG5+vfPTY1bVSC4tGbNKoKCgujVqzdmc9n/TXddrM3YuHHTYsflpsRdf/2N+XZIDR48lFmzfiYtLZXNmzcVmUZ4JWy2Szvcw8PDK3z+yuJ0+otlBwYWHbQLDNQBlFhYG8BuzwFgw4a1ZGZmMmrUGCZOnEx0dAxHjx7m/fff5dChAzz55KP8/PPv+TbnbNiwnhUrltK5c1fGjCl7R/vGjZuwYcM6du/eyfjxt5T5+NK4ok/bHo+H9evXs3DhQtatW4fb7c6LvDVq1IgxY8YwatQoYmOL3x4mCELN5rBmAqALCStyTI1Jg/M6CN7+Ifo9X4AiY+8wlV9rN+eTI58SqA7k9a4z6BHTu+R5hBpPcfmQj2b6095S/L+sMQSg7h6DqnUkqihd9S7wMoos49m2Bce8OXi2/gmKgrp+A3RT7idwyHBUFdSZ1O1OwWT6BbMlAVm2E6CJIS7uUaIix6FWh+YbO9ucxfsXMsiRFeICNEyLjmJsRChBahFQEgRBEK5+nTt3YdasuezevZMNG9axffs2Tp48kff8sWNH+b//e5pRo8bwf//3QoHjhwwZzqeffsSxY0cLpBKtWLEUn89Hly5dqV275CZQAwYM5KuvPmPDhvVMm+bNqwv111+HSEk5y003DUWnK9/nlnPnzgEUuxMrNfUCu3btBArWZWrZshUNGjQkKek0CQnxlRJcuvy15WY1XQ1UKhWyLANF35DOjX/klhgojsvlAiAzM5ObbhqS77pr27Y9H374KRMmjCI19QJz5vzGlCn3A2C1Wpkx43UCA3U8++wL5bpBXu9ih+Hz58+V+djSKndw6YUXXmD58uV5UUhFUQgNDWXIkCGMHTu2XN3bBOGf4uvNSaw8kl6qsWczHdQNr97aMM5sKwC6kNBCn68paXABZzdhWDcNTdZpPMY2ZN74Jh+a1pB4+CNqB9XhtS4zaBjSqMrXVZmK6uJW0Qor5l0dFFlBSb6Y9nYsE7wKaCRULcNRt4lEql9z0t4AZGsWziWLcCbMQ045CyoV2j43oBs7gYAu3Sps95zdfpB000yyslYCMjpdc6KNEwkLG4xKdWnn4Hm3h1oX09yMGg1xARomG8MZFhZCQA163wRBEITitRtQt1J2/FxrVCoVXbp0yysgbbFY2LFjGxs3bmDNmpV4vV4SE+fTqlUbRo8em+/YiIgIevXqw4YN61i5cjlTp16qR5SbEldcIe/LNWjQkCZNmnLixHF2796ZV3do1aoVwKUaSOWRmxoVElL0jarFixchyzLh4eF0796jwPODBw/lq68+Z/PmTaSlpeXrjKYq8+cDf7BFfdnNqtDQULRaLW63m8zMzDLOVzo//PAtf/65qVRjjUYjb7wxo8Rxer0em82G2+0ucozb7Q8YBQaW/Dk5d5cTwH33/avA8yEhIYwffyvffPMlf/yxMS+49MEH72AymfjPf54oNohYnNxdUJX1/sMVBJfmzJkD+P+H7dmzZ17aW3F5noIg+K08kl7qoFHdcD2DWkRXwaqKJl+8w6AuJL0tfxpcO66/vl+Vp8FJTgvBm15Df/h3FI2O7J7PkdrqFl7e9xK7M3bSMaozL3Z6nTBt0TuvrlZFdXGraIbIQOq1q4a6WRfJZifyQTO+QxbIvpj2VjsYdZuLaW+BFV8f4Ep4jx7BET8H16rl4HIhhYWjv+sedKPHoo6Nq5BzKIqMzbaRdNNMcnL8dyMNhp5EGydiMPTIF7g6YHfynSmTVdYcZjauQ8cgHX1DgugbEoRKpIcKgiAI/xAREREMGjSYQYMGc//9/+LRRx/i3LkU4uPnFAgugT94tGHDOlasWJYXXDp16iRHjhwmONhQZEpdYQYMGMSJE8dZs2Z1XnBp7drVGAwGevToWe7XZLNdvAlcTDHwpUsXAf7AQp8+RRcf9/l8LFyYwL33Ts177PJdRx5P0UGWXA6Hv8vs5YEU8O+cOXHieL7dY8WRZZkTJ47TtGmzUt2MS05OZt++PaWau7Rd8cLCwrHZbMXWU8rKygL811ZJcgM8gYG6vJ1Ef5db7Pv8+RQANm3ayNKli2nTpi233XZHqdZdmNzrI/d6qQzlDi6JtDdBuDJ1w/XMvqdrdS+j3GpEGpyiEHh8AYaNL6JymHDXvR5b3zc5pYbntj7AOXsKo+qP5aHWj6FR1ZyaOxWtsC5u1wLF6UU+cjHt7bzd/2BIAOoesf60t4jq30l1OcXjwbVuNc74uXgvtq7VtG6LbuwEAvsNQKqgmy+y7MKSuQiT6SdcrtNIkoaI8JEYjXej1ze/tB5FYXOOg+/SM9ma4/+gd70hCP3FD2giqCQIgiBci6ZPf5YDB/YzZcr9xe4sqlevPv/617958cXnSE5OKnRMr159iIiI5OzZM/z11yFatWrN0qX+FvYDB5atu1v//gP56qvPWb9+LU8//QyHD//FuXMpDBs24oo2aGi1/s9D2dmFd+7du3cPZ84kA/4dO0Wlb2Vn23A4HCxcmMDkyfehUvnHhYWFExAQgMfjwWIpuYB0RoYJgKio/N2Y+/S5nhMnjrNjx7ZSva5Dhw5y332TCAsL54svvimxCPX06S8zffrLpZq7tBo2bMTZs2c4f/58oc9nZlrygmlFBYsud6k7oVJkwCz3fc+9WZ9b8P3gwQP06lX0d8exY0cAcO+9U7n//gcKPJ97feReL5Wh3N+2li5dWpHrEAThKlIT0uBU1rMY1v8fgclrkXURWAf+D1fzcWxJ38zre17E4XPyaJunGNWg4F0ooeZSZAU5yYZ80Ix8PAt8CmhUqFpH+NPe6hlqXCF2X1oqzgXzcS5IQLGYQaslcNhI9GPHo6nAgKvXayEjYw4Z5t/wes2oVAaioydjjLqNgICCN3k+TDXzrSkTNTA8zMDk6HBa6GpWQE4QBEEQKprdbufcuRQ2b95UYtpabkv6oopMazQaBg8eym+//cLq1Stp1ao1q1evBEqfEperYcNGealx+/btYePG9cCVpcQBREZGcvLkiSLTnZYs8Rfyrlu3LnPnLihynuXLl/Lii89x4cIFtmzZnFd4XJIkGjVqwtGjhzl+/FixazGZ0klP95f++Hu3s/79B/Hjj99z5MhhduzYRteuRe+gAoiPnwuAVqu9LChTtVq3bssff2zgwMWbhn+3b5//8Vq1ahMVZSxxvjZt2gL+2kvHjh2lWbPmBcbkBjrr1vWnvdavX5/27TsWOp/P5+XgwQMAtGrVmoAALXFxhe+Qz70+IiMr7zvbtXsrXxCESlHtaXCyD/2+7wjeOgPJ68DZYhzZvacj6yKZfWoWXx3+FEOAgRndPqCz8erdGfZPI5scyAct+P4yQ44XAKnuxbS35uFI2pqV9qYoCp7dO3HGz8X9x3rw+VDVqoX+wUfQDR+JqpiWtWXlciVjMv2M2bIARXESEFCLWrWeIjJiDGp18KVxssyyrGxGhIegliQGhxmwyzKTjOHU0VZ9x0ZBEARBqA6DBg3mjz82sG7dGnbt2knnzl2KHLtqlT9Q1KNHryLHjBhxM7/99gvr169l0KDBpKScpUGDhrRr16HMa+vffyAnThxn3bo1bNiwntDQULp3v67M81yufv2G7NixnbS0tALPOZ3OvGDYsGHFB8P69RvA+++/Q1ZWJomJ8fm62t14Y1+OHj3MokULmDhxMmFhhZeaSEiIB/w1lnLrXOVq0aIlQ4YMY9myJbzzzlt88smXREcXXvpj8+ZNeal8kyZNztvNU9X69evPV199xqZNf2AypWM05l9vYuI8AIYOHV6q+erVq0+rVq35669D/PbbL7zwQv6dVm63m/nz/XP27dsfgHvuuZd77rm30PkyMy0MGeJPzXz99RnUrl270HEA6en+66N+/QalWmt5lCq4dNtttwFQp04d3nvvvXyPldVvv/1WruME4Vrx9eYkTmXYaRQVVN1LKdTx7VtY/uXHKPKlTg6yz4cCnExN5dT+/dWWBqdOP0jIuv8SkLYXX2h9bDe+iaf+jbh9bj7Y9zrLU5bQwNCQ17rMoE7wtVfksrDi3TWl0HZ5KA4v8mGLP+0t1b+lmDAt6p5xqFtHIIXXvNcl23NwLV+KM34OvtOnAAi4rif6MeMJ6NELSV1xQbCcnD2km2Zita4FFPT61kQbJxEWNgBJuvTr2+bz8bvZys8ZWWR4fQSqVAwJM9BKH0grffXWaxMEQRCEqjZw4E3Mnz+XPXt288QTjzB58n2MGjWG8PBLNXHMZjMzZ37H/PlzCQ0NY+LEKUXO17RpM1q0aMmRI4f54YdvgbLvWsrVv/9Avv76CxYsSMRuz2HkyNFXfJO2bdt2xMfPKXR3zYYN68jOzkaSJIYNKz4AotVqGTZsBLNm/cwff2zMF0y5/fa7SEycT1paKg8//C+ee246LVu2zjvW6XQQHz8v7/2ZOvVBgoIKftd55JHH2Lt3D0lJp7n//kk8+OAjDBgwKK97ntPpYN68uXz11WcoisJ11/Vg7NgJ5X5vrlSjRo3p338ga9as4r//fZK3336P6OhofD4f3377FZs2/UFQUDATJuSPjXi9Hs6ePQv4d8cZDCF5zz300H94+OEHWLx4IbVq1WbixMlotVocDgdvv/0658+fIzY2rtzXWFH27/dfH+3blz0oWlqlCi7t2bMH8LfA+/tjZVHTUhkEoTrkdomr7iLdRTl37DBOWxbGhk1RB/jzv71AmkbHydTU6kmD8zgI3v4++j1fAWDv9AA53Z6AgCDMrgym7/w/DmUe4LronjzX8WUMARXT1r2mKax4d3UX2i4rxacgn7b6095OWEFWIECFqk0k6raRSHWCa+TvCu/pUzjnz8W1bAmKPQfJEILultvRjx6HuhQ59qWlKD6s1nWkm37Ebvd/CAgJuYFo40SCg7vke2/SPV5+yshijtlKtiwTq1HzdFwUNxhqZuBaEARBEKqCWq3m3Xf/x/Tpz/Hnn3/w+eef8NVXn1O7dh1CQkKx2aycPXsGRVGIjY3jtdfeLHbHB8Dw4Tdz5Mhh1q5djVqtLvVOlb9r1KgxjRs3yStqfaUpcQDdu1+HSqXixInj5ORkExx86XPw4sX+NLguXbqVqoj16NFjmTXrZ3w+LwsXJjJ58n0ABAUF8d57H/LMM09x7NhR7rnnLqKjY4iOjsHlcpKcnITH40GSJP71r38zfvythc4fFWXk66+/54knHuXo0cO8+OJzvPXWa9SpUxdJkkhKOp3XmW3AgEG88MLL1bZrKdeTT07j+PFjHDp0gHHjRtKoUWPS09MxmzNQqzW88cbbBYp5p6Wlc9tt4wB4/vmX8gWKunbtzlNPTeP999/hm2++ZPbsWdSpU5fk5GRycrIJDQ3jtdfezPfveKV8Ph+HDvnT54rbpXelShVcGj16NJIk5du2lvuYIAhl1ygqiPt7Vt6WxIpw/aSHCYmOrfY0uIAzGwlZ9wxqaxKe6HZk93sHb7Q/X/lY1hFe2PkMac5Ubml0B/e3fBC1VLPSpyra1Vq8W053+Lu9/WUB+8W0t/oGf9pbszCkgJr376Z4vbg3bcQZPwfPrh0AqJs2Qz9mAoGDBiPpS1/EsySy7MBsScRk+gW3+wySpCUyYixG413odIUXsPw5I4vvTZk0CgxgmjGK4WEhBJS5XbAgCIIgXHsMhhDef/8jtm7dwtq1q9i7dw9ms5nz588RGhpGhw4dufHGfowaNbbQHTZ/N3jwED7++AM8Hg89evQskB5VFv37D+TkyROEh4fTpcuVl3AwGqPp3LkrO3ZsY9u2rXkd7NLS0ti+3V88e/jwkaWaq0GDhnTu3JVdu3awYEEC99xzb953/mbNmjNz5q8sX76MNWtWcvbsWU6cOEZgoI4GDRrSoUNHxo6dQJMmTUtc73ffzWTlyuWsXbuaI0cOk5ychKIoREUZad++AyNHjsrrqFfdoqKi+O67mfz44/esXbuKkydPoNfr6dPnBu65Zwpt27Yv85zjx99K27bt+PnnmezevYsTJ45jNEYzZMhQ7rprErVqFR/sLKt9+/Zgt9tp1ap1pdavkhRFUSpt9n8wiyUHr1eu1jVIEhiNIZhMNsS/cs1xyw/+L6k1sVOcJMGhFfPYnjiX0dM/4Gjy6bxucH37DqrSNDjJYcaw6RV0R+aiaPTkXPc0jvZT4GLXtw3n1/LWvlfxKT6eaDuNwXWHVdnaqsuyj/YD1KjgUnE/ZxS7F99hC/IBM0q6P+1NCtf6dym1jkQKrZjuaRVNtphxLkzAmRiPnJYGajXavgPQj52Apl37Cr2x4vFkkJHxGxnm2fh8WajVYURF3UpU5K0EBOTvsnLQ4eKXjEyerRWNQa0i3eNlv8NF35Cgq6rzm/jdJJSVuGaEsqpJ14xGoyIiIrjkgRf5fD4OHz5CXFy9at+xIVw9/vxzE0888Qi9evXh/fc/qu7lCDXMK6+8yJIlC3nllTe46aYhZT5elmUuXDhDy5YtUBdTAqLcBb3PnTuHWq0mNrZgh5rC7Nmzh9TUVAYPHlzeUwqCUEVktYZVG9ZwPvV81afBKQqBR+Mx/PEyKqcZd/0bsd34JnJo/YtPK/x0/Ht+OPYNEdpIXunyJm0iak6w5Z9O8cnIJy+mvZ2yggxoVajaRfm7vdUOqpG7XhVFwXtwP874ubjWrQaPB5UxmqApU9GNHI3KWHIHkLJwOk9iMv2EJXMRiuJBq61HXOxDRESMRKW6tCNKURS25Dj4Lj2TLTn+AN0NIcEMCTMQHaChf4DoyyEIgiAI/3S9evWmZctWbN26mbS0NGJiYqp7SUINkZOTw5o1K6lXrz4DBgyq1HOV+1Np//79iY6OZuPGjaUaf9999xEYGCiCS8I/0tebk/JqLZ3NdFA3vOLSaUor7cQRDqxaSEm38EyWDOyNWpOTer7K0+BU1mRC1v8f2uT1yPoorIM+xtVstP8WJOD0OXl772usv7CGpqHNeLXL28TqC2+3eTUorEB3cWpq8W5FUZBT7fgOXEx7c/pAAqlBCOrWkaiahiEF1My7r4rLiWvVChzxc/EdPQyApmNn9GPHo72+L5Km4oI3iqKQk7ODdNNMbDb/786goA5EGycRGnoj0t9SOv+w2fk41cwhpws1MDzMwOTocFroat41IAiCIAhC9br//gd48slH+f33X3jkkcerezlCDTF//lycTidTptxf7K6jinBFn5pLm1HnL06Vk1ecSxD+aVYeSc8LKtUN11dLMe+T2zZydv9OVJoACts4ogCuiBickXFIKPTrO5DWbSqvm0A+shf93m8I3vYukteJs+UtZPd+AUV3qThemiOV53dO47j1KDfE9WVa+xfQa6o+SFeRCivQXZyaVrxbyfHg+8tC6uGjeFPtAEiRgai6xaBuFYEUUjPT3gB851Jwzp+Hc/ECFJsV9Hp0o8ehGzMeTeMmFXouRfGSlbWKdNNMHI5DgERo6ACijXcTHNwx/7oUBfXF/0HPuD2cdLm5PTKUScZw6mirrtaZIAiCIAhXl969r2fQoMHMmfM7EybcVqoC3sK1zWq1MnPm9/To0bPcRejLolTBpa+++oqZM2cWeNxisdCnT59ij5VlmaysLADq1r32WoMLQmnVDdfXiDpLE17/jMC/dR+w2+2sWrWEM2eSiImJYdCg4YSHV00QQ5O+H8OapwkwHcAX2gBb37fx1Mv/c+WQ5QAv7HwGi9vMxKZTmNhsCiqpZu6EKaurrUC34pWRT1iRD11Me1NA0mlQd4hC1SYSKa5mpr0BKLKMZ9sWHPPm4Nn6JygK6voN0E25n8Ahw1EZKrbLoM+Xg9kSj8n0Kx7PeSRJR1TkrRiNdxIYmL/DXLZPZrY5i1lmKz80qk0dbQBjIkIYHGYgUlPzip0LgiAIglDzPPXUM+zatZMvv/yMF198tbqXI1SzH3/8FlmWefbZ6VVyvlIFl+644w5++OEHzOb86Rs+nw+TyVSqE0mSxNSpU8u+QkEQKtXfu8GNGXMzWVnOyi+A6bETvO099Hu/BiTsnR8ip9tj8LfdSCvOLuW9A2+hQsX0Tq/Rt1b/Sl6Y8HeKoqBcsOM7aEY+kpmX9qZqFIq6TSQx3euQkZVT7UVTiyJbs3AuWYQzYR5yyllQqdD2uQHd2AkEdOlW4cEwjycVk2kWGea5yHI2Gk0ksbEPERU5AY0mPN9Yk8fLzxlZzDZbsckyMRo1Z90e6mgD0KlU6K6NGKogCIIgCFUgLCyMxYtXVPcyhBrikUcer9IUyVIFlwwGA++99x47d+7Me+yTTz4hKCiIKVOmFHusSqUiLCyMjh070qZNmytbrSAIFUZRFHbu3JrXDW7gwGG0bNmKgIAAwFmp5w5IXkfIuv9DbTuDJ6YDtn7v4DO2zjfGp/j49sgX/HbyF6J1Mbza5W2ah7Wo1HUJ+Sk2N76/LMgHzShmFwCSUYfqulh/2luwP8WyptZT8h49giN+Dq5Vy8HlQgoLR3/XPehGj0UdW/G1uhyOI6SbfiIzcxngJTCwEUbjE0SED0elKpj6+JMpk/+lmnErCo0CA3jaGMWIsBACVDVz55cgCIIgCIIgFKXUNZd69uxJz5498/6eG1x6+OGHK2VhgnC1urx4d67qKuLtzLZyYssGZJ+XjLOn8x6/PA2uKrvBSY4MDH+8hO7ofBRNENl9XsbR7h5Q5U/7yfHk8M3vvxOYXI+71S8So4vl5AE3J9lf6WusSjWxQLfikZGPZ+E7ZEZJsvmLcenUqDsZ/WlvMfoam/YGoHg8uNatxhk/F++BfQBoWrdFN2Y8gf0GIAVW7PutKArZ2ZtJN80kO3sLAMHBXYk2TiQkpA/S39I3TzrdNNb5a1HV0wbQUqdlSnQE/UKCUNXg91UQBEEQBEEQilPugt4zZ868uMNBEITLXV68O1e1FfHeupGdCb/k/V2jDSTNlM6qNcvz0uCqpBucohB4ZC6GP15G5crE1WAA2Te+gRxSp8DQc/YUntvxX65LvpUIVyyhUXokrs0v3TWlQLeiKCjncvAdtCAfsYBbBhWoGoeiahOJqnEokrpm7k7K5UtLxblgPs6FCShmM2i1BA4dgW7seAJati55gjKSZQ+ZWUsxmX7C6TwGqAkLG0K08W6CgvLv0lUUha05Dr5Nz2RLjoOZjWrTKVjPjSFB3BhSc2tUCYIgCIIgCEJplTu41L1794pchyBcU2pK8W6fzwvA9fc8TGhsbY4mJ7Fw8fy8NLgWLVpV+hpUWacJWfcM2rN/IOujsd70Oa6mIyisZd3ujJ28vOs5bB4bQwIjCTMEXVXFrq82itWN75AZ+ZAFxXIx7S1aj6ptJOqW4UhBNfsGgqIoeHbvxBk/F/cf68HnQ1WrFvoHHkY3/GZU4eEVfk6fz0qGeR4m0694vemoVEEYo+7CaLwDrbZ2/rGKwmprDt+ZMjnocKEChoYZCL9YoFsElQRBEARBEIRrRamCS7///jsAoaGhDB06NN9jZXXrrbeW6zhBEMpPGx7Jpt07L0uDG0FERFTlntTnQb/3K4K3vY/kc+FofTs5PZ9D0YUXOnxB0nw+PvQ+gepAXusyg6zjoZW7vn8oxeNDPpaF76AZJTnb/2CQBnWXaFStI1HFVH36ZlnJ9hxcy5fijJ+D7/QpAAK690A3dgLaHr2Q1BXfXc3tTsFk+hWzZT6ybCdAE0Nc3KNERY5DrS78Wn33QgY/Z2QRKEncGhnKJGM49bQ1O2AnCIIgCIIgCOVRquDSiy++iCRJNGrUKC+4lPtYWUiSJIJLglDFvEEGlq1bg9PlrLI0OE3qHkLW/hdNxiG84Y3J7vsWnjq9Cl+f7OXTQ/8jMTmeWkG1ea3LDBqFNGbZNVZfqTopioKSkoPvgBn5aCZ4ZFBJqJqF+dPeGoYiqWv+Lhrv6VM458/FtWwJij0HyWBAd8vt6EePQ12vfqWc024/SLppJllZqwAfOl1zoo0TCQsbjEqV//+jbJ/MwkwbEyJD0UgSoyNC0Ksk7owKI0pT7o3CgiAIgiAIglDjlfrTrlJIj+nCHivrHIIgXJmsCyk4rJkFHlcUhWNnknHUb4HG66maNDh3DsHb3kG/7zuQVOR0fRR7l0dAoyt0uNVt5eXdz7E7YycdIzvzYufXCdOGVe4a/0GULBe+gxZ8h8yQ5QZAitWjbhOJqmUEkr7mBzwUrxf3nxtxzpuDZ9cOANRNmqIfewuBgwYj6St+p5WiyNhsf5Bu+pGcHH+XVIOhJ9HGiRgMPQrcWDF5vfxiyuJ3sxWbLBOhUTMkzEALXSAtdDWrYLsgCIIgCIIgVIZSfbM4fPhwqR4ThJqusE5uFa0qO8M5bFkkvv40/C1wK6s1OGs3wmcIQ+VyMOSm8TRoXrmBJe3p1RjWP4s6OwVPbGds/Wbgi2pZ5Pik7NM8t+NpztlTuLn+GAak3cbmL5Lznq+JndSuBorbh3w005/2djbH/2CwBnXXGFRtIlAZa37aG4BsMeNcmIgzMR45LRXUarQDbkI/djyadh0qpV6RLLuwZC7CZPoZl+sUkqQhInwERuNE9PrmBcafcXn4ISOTBIsNt6LQUBvA09FR9A8JrvC1CYIgCIIgCEJNVvNvWwtCBSqsk1tFq8rOcB6nAxSFWi3bU7+Dv4C4JTub/cnJ+Lxe6kRG0r5ZT+o3KzrIc6UkezqGP15CdywROcCA7YbXcLa5G1RF173ZmraZ1/ZMx+Fz8mibJxnVYBzLPtqfL6BUUzqpXQ0URUE5k43voBn5aBZ4ZVBLqFqE+9PeGoQgqWp+2puiKHgP7scZPxfXutXg8aCKMhI0ZSq6kaNRGY2Vcl6v10JGxhwyzL/h9ZpRqQxER0/GGHUbAQGxRR43z2JlttlKO30g90aH0y8kGJUo0i0IgiAIgiD8A1VacMnhcHDy5EnCwsKoW7duZZ1GEMqspnRyq0hR9RrSvM9Adu7cyq79+6umG5yioPvrd4L/fBWVKwtXw5vIvvE1ZEPtYg5RmHNqFl8d/ozggGBmdPuAzsZL/xaGyEDRHa4MFIsL3yEzvoNmsHkAkGoF+dPeWoQj6a6O+weKy4lr1Qoc8XPxHfXvitV07Ix+7Hi01/dFqqR6RS5XMibTz5gtC1AUJwEBtahV6ykiI8agVufffaQoCttyHPyaYeW1utGEqNXcZQyjtyGIrsE60flNEARBEARB+Ee74k/sS5cu5fDhwzz++ON5jy1atIhXXnkFm80GQNeuXXnnnXeIi4u70tMJglAIj8/HwoXzqqwbnDrzJIZ109CmbMYXFEPWkC9xNx4GxXzBdvvcfHBgBstTllA/uAGvd32HOsEi8FxWisuHfORi2tu5i2lvhgDU3WP8u5QiC69vVRP5zqXgnD8P55IFKFYr6PXoRo1FN3YCmsZNKu28OTl7SDfNxGpdCyjo9a2JNk4iLGwAkpT/16JPUVhrzeFbUyYHHC5UwLacEAaEBmPUaDAaro4AniAIgiAIgiBUpiv6VPzoo4+yYsUKDAZDXnDp1KlTPPPMM3i93rxx27dvZ9KkSSxcuBCtVntlKxaEfyhFUfB5PPke83k8eIMM7E1NxyPLld8NzucmaPeXBO34H5LPhaPNXeT0/D+UwOKLcJtdZl7c9X8ctOyne3RPnu/4MoYAQ+Ws8RqkyApKss2f9nY8C7wKaCRUrSJQt45Eqm+4KtLeABRZxrNtC474OXi2/AmKgrp+A3ST7ydwyHBUhsq5LhTFh9W6jnTTj9jt+wAICbmBaONEgoO7FLrzaGVWNh+lmjnt9qCVJG6NDGVSVDj1Aiu326IgCIIgCBXv66+/4NtvvwJg+vRXGDZsRJFjR48ezoUL5ws8rlarCQwMJCrKSKtWrRkyZDi9evUu9RpeeeVFlixZCMDnn39Np05dyvgq8ktOTmLixNuZOHEyU6bcX+gYRVEYN+5mzp1LISgomMWLV6AvpiHKzp07eOihqQDExy+idu2isxLg0nt1771Tuf/+B4oct2XLnyxbtoT9+/dhMvlr4EZHR9O+fSfGjBlLu3YdSnq5VSYjw8Q333zJpk1/YDZnEBERSffu1zF58n3UrVuv1PNcfs2VJC6uFgkJi4sdc/r0KSZOvB23282WLbsKPP/8889w4MA+fv75dwyGkFKvs6KUO7i0YsUKli9fDkCzZs3wer1oNBp+/fVXvF4vYWFhvPnmm8iyzGuvvUZycjK//vor99xzT0WtXRBK5fIi3lVZbLuirf7sLc79tS/v7wrgjqqFu34LVIpS6Wlwmgs7CVn7XzTmI3gjmpLd9208ta8r8bhjWUd4YeczpDlTmZj9NLHHm/LH5lMFxokC3gXJGU7kQ2Z8hyyQfTHtrU6wP+2teThSYNF1rWoa2WbFtXghjoR5yClnQaVC2/t6dONuIaBLt0pLK5NlB2bLAkymn3G7zyBJWiIjxmI03oVO17jAeI+sEHAxUGf2+sjw+rg/Opw7osIwVlJ6niAIgiAIlUtRFJYuvfTFPSEhvtjgUq7Y2DhiYy9l3yiKjN1u59y5FFasWMaKFcu48cZ+vPzy6+h0xe8edzgcrFu3Ot8ariS4JMsyL7/8AqGhYdxxx91Fjtu1ayfnzqUAYLfnsGLFMkaNGlPu85aVxWLhpZeeY+vWLQDodDrq1q2H1+vl3LkUlixZyJIlCxk9eixPPTWt8m6Sl1JaWhr3338PqakXCA420LRpM86dS2Hx4oWsXbuGjz76jLZtS1fGIy4ujvbtOxY75sCBfciyXGIpIX9c5SXcbneRYx566D/ceutYPvjgXV544eVSrbEilfuT8oIFC5AkiXvuuYdp06blPb569eq8x/v37w+AVqtl6tSprFixQgSXhCp3eRHvqiy2XdEyz58lMNhAnTad8MgKyU43bp+MTqVi4IAhldYNTnJnE7zlLXT7fwSVhpxuj2Pv8jCoSw4EbTi/lrf2vYpP8TGt/fMo8fWKDCKJAt5+itOLfDgT3yEzynm7/8HQANQ9Yv27lCKurgCc99hRHPFzcK1cBi4XUlg4+rvuQTdqDOq4WpV2Xo8ng4yM38gwz8bny0KtDiMmZipRkbcSEFAwZdTk9fJrRhZzzVZ+aVKXetoARkeEMDw8BINaVWnrFARBEASh8u3evYtz51Jo164DJ0+eYN++PZw6dZJGjQreaLrciBE3F7obx+v1snbtat55503Wr1/L9OnP8tZb76JSFf2ZYc2aVdjtdnr06MnWrVtYt24NWVlZhIUVnwFQlMTEeA4ePMBzz00vNrCVu1OqR49ebNnyJ4mJ8VUWXEpLS+XeeyeRnp5G48ZN+Ne//s0NN/TNu6nocDj4/fdf+fbbr0hIiMftdjN9+itVsraiPP/8M6SmXmDAgEE8//xL6PV6XC4X7777FgsXJvLcc9OYPXs+gYElfyYfOXI0I0eOLvL52bN/Y9++PURERPLSS68VO9evv/7EgQP7ix1Tq1Ztxo27hVmzfmbkyFF07Ni5xDVWpHIHl/bt8++g+Pe//5332IkTJzh37hySJNGvX7+8x3v37o1arebkyZNXsFRBKL9rpYh3SHQtGg0YyYoVi7H7/Glwffr0IyCgciL82lMrMGx4DnX2eTy1umHr+za+yIIt2f9OURR+Ov49Pxz7hghtBC93eYu2Ee1Yxn5RtLsQiqwgn7YiH7Qgn8gCnwIBKlRtLqa91TNcVQWjFY8H9/o1OObNwXvA/7tC06oNurETCOw3AKkUv4zLy+k8icn0E5bMxSiKG622HrGx/yYy4mZUqoK7Fs+4PfxoyiTBYsOlKDTUBmDyeKmnDSBQpeLqCuUJgiAIglCYxYsXANCpU2diYmJYvXolCQnzePzxp8s1n0ajYdCgwdSqVZsHHriXDRvWsWzZkmJ3Qy1e7A/y3HhjP6xWK4cOHWTp0kXcdtudZT6/0+ngq6++IC4ujqFDiz6nw+Fg7Vr/bqn77vsXO3Zs49Chgxw9eoTmzVuU+bxloSgKr7wynfT0NFq3bstHH31aIFVLr9dzzz33Ehsbx8svv8CSJYsYOHBwmVINK9LOndvzgj0vvPASOp3/s2NgYCDPPPM8f/11iOPHj7FkyULGjBl/Rec6duwon3zyPwCeffYFjMaiN0AkJyfx9ddfEBiow+VyFjvvXXdNYu7c3/noo//x3Xczr2iNZVXu27EWi4XQ0FBCQi5dIFu2+Le6hYaG0rLlpdbnarWaoKAgsrOzr2CpgvDPpgCZmkASE+fgdrsZOHAY/frdVCmBJSknldBl/yJsyRQkdza2G98kc8y8UgWWnD4nr+6Zzg/HvqFJSDM+6/0tbSNEMKkwssmBd10K7q8O4p1/CvloJlLtYDRD6qN9oA0BQxqgqh9y1QSWfOlp5HzzJebxI7G9/ALeo4cJHDqCsK9/IPyr79ENGVYpgSVFUcjO3s6p049w9NhYzJb56PWtaFD/fVo0T8AYdWuhgaWv0yyMOJrM72YrzXRaPqgXS0KzenQKvjpTZwVBEARBKMjpvBRg6dGjF337+rNrli5dUmyKUWm0bduOsWMnAPD9998UOe78+XPs3r3zsjUMACAxcX65zpuQEI/FYmb48JvRFJO2v3btaux2O7Vq1aZt23Z07dr94nnjy3Xesli+fCk7dmxHrVbz0kuvFVsDaOjQ4bRr1x6A3377pdLXVpTFixcBMGjQ4LzAUi61Ws3NN/t3fK1ateKKzqMoCm+++Sput5sBAwZx/fU3FjlWlmVefdWfDjd1atE1rXJFRUXRp88NHDp0gC1b/ryidZZVuXcuabVacnJy8j22adMmAK67Ln8dlpycHGw2W7m3/AnCP53dbiczMg53gI7IiCiGDKmkbnCKDDu+J2LFdFRuK67GQ8m+/hVkQ+nSl9IdaTy/cxrHrEe4Ia4v09q/gF4jvqhfTrF7kQ9b/GlvqQ7/g2Fa1L3iULeOQAq7uvbKKIpCzpatZP0wE/fG9eDzoapVC/0DD6MbfjOq8PBKPLeXrKxVpJtm4nAcAiRCQwcQbbyb4OCOha71oMNF2yD/1vEWei09DHruNUbQLVh31QTxBEEQBEEovTVr/AGW8PBwOnToiNvtRqfTYbVmsWbNKoYMGXZF848aNYbZs2dx5kxykal2S5YsQlEUmjdvQa1atRk4cBCfffYRp06dZO/ePXTo0LHU51MUhXnz5gAweHDxa8/dsXXjjX0BGDjwJrZs+ZPly5fyyCOPFQigVKQFCxIAuOGGvtSvX7/E8Y8++iRWaxbt25eusPeDD96fF7ArSadOXfj8869LHHfg4o773EDX37Vv7398//59eTWny2PZsiUcOnSQwEAdjz76RLFjf/vtV/bv38uYMePp3Ll0mTg33TSEtWtXM2fO7/To0atcayyPcgeXmjVrxt69e9m1axedO3fGZrOxefNmJEnihhtuyDc2Pt4fGW3atOmVrVYQrgKmpBNsnf098mUdE6+EUx1Ahj4EX2AQBq+b8ePvqJTdSmrLcULWTYNzW1GC48ga8D7uxkPynj+4NoUz+81FHu+SXaQ5UumkjKGfNoLw4+Gs/+N4vjH/1KLdik9BPmVFPmhGPmkFWQGtClXbSNRtIpHqBF91gQ3ZnoNr+VKc8XMwnfYXaA/o3gPd2Aloe/RCUldesXGfLwezJR6T6Vc8nvNIko6oyFsxGu8kMLDghxdZUVhry+Hb9Ez2O1z82Kg2nYP13BASzA0hwZW2TkEQBEEQql9uzaF+/QaiVqvR6/Vcf/2NrFy5nMTE+CsOLjVp0hSDwUB2djZ79uwqNLi0dKl/R8zAgYMBqF27Dm3btuPAgf0kJsaXKbh05MhhzpxJpk6dusUGbS5cOM+uXTvznbdv337MmPEG2dnZrFq1ghEjRpX6vGXhdrvZt28PQN5uqZKUtkh2riZNmuLz+Uo9tiSyLJOS4i98XlRHuLiL9ULdbjdpaWkldtIrjMvl4vPPPwHglltuIyYmtsixZ84k8+WXnxEbG8fDDz9KcnJSqc7RrVt31GoNW7ZsJicnh+Dgqvm8W+7g0oABA9izZw9PPfUU99xzD6tWrcLhcKDT6Rg0aBAAJpOJxMREPvjgAyRJyntcEK5lZ/fvIiPpBMGRRlTq8neXUoBsfQi2oFAkFMJtGXTo0qPiA0s+N0G7PiVox8cge6Db/WR2egI5IP/W1TP7zUUGh7K92WQ4TQBE62II1hT+A+yfVrRbTrMjHzTj+ysTHP5go1TfgLptJKqm4UgBV1+haO/pUzjnz8W1bAmKPQfJYCBy0kSUwSNR12tQqef2eFIxmWaRYZ6LLGej0UQSG/sQUZET0GjCC46XFRZl2fguPZPTbg9aSeKWyFDiAkTXN0EQBEH4J7hw4Tw7d+4AYPDgSzdNb7ppCCtXLmf37l0kJZ2mQYOGV3SeuLhaHD9+jNTU1ALP7dmzi7NnzyJJEjfdNPiyNQzlwIH9rF69iscffzpfuZni7NixDaDEHT65u6Xq1KmbF7gxGELo1asP69atISEhvtKCSykpZ/FevNHetGmzSjnHU09NK3lQGdhsVnw+/5rDwsILHXP541lZmeUKLq1YsZS0tFS0Wi233XZHkeMUReH111/G5XIybdpzZQoQGQwhNG7cmGPHjrJ372569epT5nWWR7k/Yd95550kJCRw4sQJ3nzzTRRFAfwFvnPT3z777DNmzZqFoig0a9aMO+4o+s0ThGuFw5YFwPD/vo7OEFquOex2O6tWLcF2JonISGOlpcFpzm8nZO00NJajeCNbkN3vbcLb9UMx2fzRrb/5ezFun+Lj2yNf8NvJX4jWxfBql7dpHla5xQFrOsXuwfeXBfmgGSXdX3BPighE1SUadasIpFBtNa+w7BSvF/efG3HGz8WzczsA6iZN0Y+dgO6mIUTXi8FksqEUcs1UBIfjKCbTTCyZywAvgYGNMBqfICJ8OCpV0TvhZlww8ZvZikGl4j5jOHdGhWEUgSVBEARB+MfIDbDExsbRoUOnvMd79uxFWFg4WVmZJCbO5z//efyKzhMU5P/in5WVVeC53ELe7dp1yNv5Av4UtQ8/fB+Xy8myZYuZMOG2Up0rdzdS48ZNih23ZMml+kGXGzx4KOvWreHAgf2cOHG8VLt6yspqteb9ObwSSyRUJKfzUqHswMDCP69LkoRWq8XtdpdYWLsov/8+C4AhQ4YTFWUsctzs2bPYs2c3w4aNKFeB88aNm3Ds2FF27txR84NLQUFBzJo1i48//pgtW7YQHBzMuHHjmDBhQt6YJk2aoFKpGDZsGM8++yxa7dX3pUoQysphzURSqQkMMpTr+JSUM/5ucPacSusGJ7msBG95C/2BmSgqLTnXPY2904NImtL/P5rjyeH1PS+yJf1PWoe34ZUubxEZWAl1oK4Cilf2p70dMCOfsvoDc4EqVO2j/GlvtYKuurQ3ANlixrkwEWdiPHJaKqjVaPsPQj9uApp2HZAkicp6Wf4i3ZtJN80kO9vfLCI4uCvRxomEhPRBkgru+srweplvsTHJGE6AJHFrZBi1AzRMiAzDoL76dokJgiAIQlF2L57LqR2bq3sZV6xR1550Gn5lXbeKkxtgGTjwpnyfxTSaAPr3H8D8+fNYsmQhDz748BV93vZ6PQAFPu85nU5Wr14F+HdLXS4yMpJu3bqxZctmEhLiSx1cOneu+NQtgD17dnP27BnAH0y6XO/e1+el8SUkxPPkk/8t1XnLQqfT5f25tKlr1S3/Z8uiP+Dmbqop7LNoSXbt2snx48cAuOOOu4ocl5Jyls8//4TIyCgeffTJMp8HoF49f8rkhQvny3V8eVzRLdzQ0FCee+65Ip8fNmwYw4YNIyIi4kpOIwhXFactC11IKJKqbD9wFEVh586tbNv2J2q1hoEDh9GiRasKX5/25FIMG55HnZOKu/Z1ZPedgS+i+Dsff3fOnsJzO/5LUvYpBtUZwpNtp6FV/7NqKSmKgpLqwHfQjHzYAk4fSCA1CEHdJhJVk7CrMu1NURS8hw7gjJ+La+0q8HhQRRkJmjIV3cjRqIxF32GpCLLsIStrGemmmTidxwA1YWFDiDbeTVBQm0KPOeP28KMpkwSLDZeiUF8bwE1hBprqtDTViZsagiAIgvBPVFyAJfex+fPnkZmZybp1awrs8CmL3K7oISH5by77u7XloFZrGDCgYImYwYOHsmXLZk6cOM6BA/to27bwQtKXy8y0XDxX0Wl0ubulmjVrXqAGlFarpV+/ASxcmMiyZYt56KH/5AsGqVRlvXPoD7aoL6u3GRV16YZzZmZmGecrnXfffZujR4+Uamzz5i1KTKMLCrpU3NztdhU6RlEUPB5/IDGwHB2Q16xZCUCrVq1p2LBRked4/fVXcDqdvPjiq+VuipZ7feReL1WhUvMDRFBJ+CdyWDPRh4aX6ZjcNLgzlZgGp8o+j2HjCwSeXIYcGIat3wycrW6DYqLulxfxzq23tCdjFy/teg6bx8rUFv/m1sZ3XpW7cspLyb4s7S3jYtpblA5VtxjUrSORDBVfbL0qKC4nrlUrccTPwXf0MACajp3Rjx2P9vq+SOXshlFaPp+VDPM8TKZf8XrTUamCMEbdidF4B1ptnUKPOeJ08W16JsuzspGBNvpA7jWG0z9UFOkWBEEQrm2dho+v1B0/14LcXUsAEyfeXuzYhIR55Q4uud3uvN1EDRrkDxjkrsHn8zJ06IAS1hBfquCSzWYD8u8OupzT6WTNGv9uqWPHjtKjR+di51qzZhXDho3Ie+zyDnIej7vE9Tgc/s/DgYGX1hMZGUVISAg2m42TJ0/QuXOXUszjIC0ttdT1r06cOJ5XNLwk6lI0mgkKCiYgIACPx0NWVha1ahWsp5SVlZn35/LEOjZu3ABA//4Dixwzb95sdu3aQf/+A+nXr/hrpji5/46510tVqJBvC3v37iUxMZF9+/ZhNpuRJImoqChatmzJkCFD6NWr6trfCUJ1czvshETHlXr8uXNnWbFiMTk52ZWTBqfI6A7+TPDmN1G5bTibjiS7z8sowTElHnp5EW9DZCD2+mk8ve0ltKpAXusyg56xZc//vRopXhn5eBbyITPy6Yv1qHRqVB2N/rS3WP1VG2DznUvBOX8eziULUKxW0OvRjRqLbsx4NJWQg/93bncKJtOvmC3zkWU7Gk00cXGPEhU5DrW6+Jply7OyWZqVTc9gPVOiw7ku+Or9dxAEQRAEoeL409H8u0RCQ8OK3GXicrmwWrPYtWsnycnJxXZfK8qhQwfyildfHhxKTb3Azou1KiMiIotsW+9w2PO6tz3++FMEBxdfWkOr1eJwOPJ2S/3dunVryMnJRpIkjMboIuexWrNwuVwkJMTnCy5dXgfIYrEUG+xxuVzYbNaLx126Ma5SqejZszcrVixjx45tjB9/S7GvCeCPPzbwwgv/R3R0NL/8MofQ0OI/B37++dclzlkWKpWK+vUbcOLEcc6fP0fLlgUzSM6f96eYBQbqiI4u+bvU5Y4cOUxq6gWAQnex5cpNo1yzZlWxgcHc555//iVGjLi5wPPZ2f6gUlWWJrqi4JLb7Wb69OkkJiYCl/IPAVJSUti/fz9z5sxh+PDhvPbaa0VGVwXhWlOar7cF0+CG0qJF6wpdh9p8lJC1/yXgwg58hlpkDfwId6OydW00RAYy8OFWfPrXhyQmzaOWvjavdZlBo5CCbVavJYqioJy34ztkRj6cCS5/2puqUSiqNpGoGociaa6+tDcARZbxbNuCI34Oni1/gqKgrlcf3eT7CRwyHJWhfPXCysJuP0i6aSZZWasAHzpdc6KNdxMWNgSVqmBwVVYU1trs/JaRxXv1YwlVq7krKpwBoQba6P9ZKZmCIAiCIBRv/fq1eQGWmTN/zVdI+3JpaamMGTMCn8/HggXzefjhR8t8rtwUtJYtW+ULTi1duhhZlgkKCmb+/IX5dgRdbt++vUydOhmn08myZUsZN25CoeNyRUZGkZJytsh0s9zdUl26dOWTT74scp4ffviWL774lH379nDq1Mm89LmYmBhCQ8OwWrM4fvwYHTt2KnKOY8eOIMsyULAr3IABg1ixYhkbN24oVUe++fPnARAbG1diYKmytG7dNi9FsbBdQ/v27QWgTZu2qMpYAiV3l1WdOnWpXbvwXfkATZo0LbJOlcNh59ixowC0b98R8F8Phcm9Pop6vjJcUXDp6aefZsWKFSiKQlxcHNdddx2xsbHIssz58+fZtm0b6enpLF68GEVReO+99ypq3YJwVav0NDifi6AdHxO061OQvdjbT8F+3X9RtGUPGsiKzDPbn2BXxg46Rnbmxc6vEaYNr7i11jCKzY3v0MW0N4s/31oy6lD1iPV3ewu+OtPeAGSbFdfihTgS45HPngGVCm3v69GNnUBAl25lrhNWVooiY7P9QbrpR3Jy/J1ODIaeRBsnYjD0KHTXkUdWWJRl43tTJqdcHgIk2Gt3cn1IMJEaNZGakrc5C4IgCILwz5Ib8OnSpVuRgSWAmJhYevToxaZNG1m8eCEPPPBvNJrSf9Y7cGB/XjBn4sQp+Z7LfXzAgEFFBpYA2rfvQJMmTTlx4jiJifElBpfq129ASspZ0tLSCjyXlpbKjh3bABg+vOBulsuNHDmKr7/+Ep/PS2JiPI899lTeczfccCOLFi1gzpzfGD16TJHvSW5AqF69+gWCSzfe2I+OHTuxZ89uXn/9FT744KMid2UlJMxj164dAEyefF+x665M/fsPYOHCBJYvX8r99z+Q799NlmUWLJgPwNChw8o89+HDfwH+wFRxiqsN9ddfh5g82V8I/Kuvvit2nvR0//VRv36DsizzipQ7uLRmzRqWL1+OWq3mv//9L3fffXeB6J3P52PmzJm88847LFmyhDFjxtCnT9W0wROEmqqy0+ACzm3FsPa/aDJP4I1qia3vDLxxRW+pLI5H9pDmTGVXxg5G1h/DI60fR6O69lq5Kx4Z+XgmvoMWlKSLecl6NerORlStI5Firu50K++xozji5+BauQxcLqSwcPR3TkI3eizqYj5wVRRZdmHJXIzJ9BMu1ykkSUNE+AiMxono9c2LPG6hxcb/UjNI8/owqFRMMYZzV1QY0QHX3jUoCIIgCELFSEtLuyzAMrLE8aNHj2XTpo1YLGbWr19XbMpSLpfLxcqVy/nww/fw+XwMGDCI/v0v7XTZv38vyclJpV7DqFFjef/9GRw9eoRDhw7SunXhTUwA2rZtx+bNmzhwYF+B5y7fLdWvX/9izxkVZeT6629g3bo1LFmymH//+z95KVRTpz7ImjWrSEo6zWOPPcLTTz+Tb+eRzWbjp59+yAviPfZY4R3Npk17jgceuI99+/YwdeoU/v3vR+jVq0/e52qr1covv/zITz/9CMDNN4+hd+/ri113ZerRoxetW7fl0KEDPPfcM7z88msYDCG4XC7effctTpw4TlxcHEOGDM93nNPp4MIFf8pbXFxcocHE3OLjzZu3qPwXAnnXR/v2HarkfHAFwaW5c+ciSRIPPPAAkyZNKnSMWq1m8uTJ2Gw2PvvsM+bOnSuCS0Kl+3pzEiuPpOf9/Wymg7rhRd8tKC3T6eNkpZ4rcZx8Mef67yo7DU5yZRH85xvoD/2Cog4ku8czODr+C9RlD1wdXJPCkT0pOC0+PDovj7Z5klENxlXYWmsCRVFQUnL83d6OZoJbBhWomob5094ahSBdxe3rFY8H9/o1OOLn4t3v38KradUG3djxBPYbiFSODhdl5fVayMiYQ4b5N7xeMyqVgejoyRijbiMgILbQY+w+maCL77tTUZCBx2IjuSUylJBSFGMUBEEQBOGfbenSRaUOsAD06tWH2Ng4UlMvkJAQny+4tGjRArZv35b3d1n2kZ2dzdmzZ/LqLA0ceBMvvPByvjlzgy5169YrNq0s19Chw/n0049wuZwkJMQXG1y67rqefP31F4UWsy7tbqlcY8aMY926NVitWaxZs4ohQ/w7cmJiYnnnnQ94/vln2LFjG7feOpZatWoTERFJTo7/9ft8PjQaDc8883yRAaFGjRrz5Zff8vjjj3DixHGefPJRDAYDtWvXxefzcvr0aXw+L5IkMWHCbUUGqaqKJEm8+OIrPPjg/WzatJGbbx5K/foNOHcuBavVSlBQEDNmfFBgY8DBgwd56KGpAHz66Vd06dK1wNwmk//7aXE76SpKRoaJs2fPotVqS1VMvaKUO7i0b98+JEkqMrB0uUmTJvHFF1+wb1/B6KogVLSVR9LzBZTqhusZ1KLoYnaloSgKyz98FV8pOiYABOiD8v29UtPgFAXticUYNk5HbU/DXacX2X3fwhdevppIiqJwYNcpfFlqbPoMmraPY2CDbhWz1hpAsbrxHTTjO2SGTP+/pxSjR90mElXLCKSgq3tXjC89DWfifJwL56OYzaDVEjhkuD/1rVXF1vQqisuVjMn0M2bLAhTFSUBALWrVeorIiDGo1YV3cjvr9vCjKZMFmTbmNqlHvcAARoeHcHO4gcBKTtcTBEEQBOHaUdYAi1qtZuTIUXzzzZfs2LGNlJSzec+lpl7IK8IM/uCDXq+nXr36tGnTlqFDRxQIJLhcrrxi4sOGlbxrCfxt4wcOHMTixQtZtWo5jz76BMHBhX9matu2HXXr1uPs2TMcPvxXXuHpAwf2kZR0GijdbimA7t17UKdOXVJSzpKYGJ8XXAJ/SuEvv8xh6dJFrF+/jgsXznPs2BEMhhCaNm1G9+49GDNmXLH1gwAaNmzErFlzWbx4IRs3ruP48WOcPHkctVpN7dq16dixM2PHjqdVFX1OLUmDBg2ZOfNXvvvuGzZt2sjx48cICQlh0KDB3HvvVBo2bFTyJH+jKApWq7/weUxM4TdYK9LWrVsA6NPnBgyGkEo/Xy5JubwKdxm0bduW4OBgtm7dWqrx1113HQ6H44oCTNnZ2Xz++ecsX76cCxcuEBoaSteuXXnggQdo3bpiLsZp06aRkJDAww8/zCOPPFLueSyWHLxeuULWVF6SBEZjCCaTjfL9K1+dbvnBn687+56CEePyUhSFnx65g+jGLWg7qOQf1tGNmqEz+AvRVWYanMp2DsOG5wk8vQI5MIzs3tNxtbzF/49fDh7ZzWfHPiBwXisCVAEMfqQtdYPrVchaq5Pi9iEfy8J30Ixy5mJnjSAN6lYR/l1K0Ve+s606KYqCZ88unPPm4P5jPfh8qOJqoRs9Dt3wm1GFh1fauS//OZOdvYd0009YrWsABb2+NdHGSYSFDUCSCg/aHXG6+C49k+VZ2fiAVjot02tH0zZINIC4Vv1TfzcJ5SeuGaGsatI1o9GoiIgoPEhQGJ/Px+HDR4iLq1fmgsHCP8e8eXN45503GTduAk8//X/VvRyhhnnwwfvZvXsnX3/9Pe3aXXlanCzLXLhwhpYtW6AuJpOg3LfoDQYDNpsNu91OUFBQsWPtdn97xSup+p6dnc2dd97J4cOH0el0NG/enAsXLrB8+XLWrFnD//73PwYOHFju+QHWrVtHQkLCFc0hXNuCwsKp1650Wwv9aXDb2LZtU8Wnwck+dAdmErzlLVSeHJzNRpHd5yWUoPLv0DK7zLy46/84aNnPJE0XonXRV3VgSVEUlLPZF9PessAjg1pC1fxi2lvDUCTV1VtHCUC25+BavhTn/Ln4Tp0EIKB7D3RjJ6Dt0QupCtLIFMVHWtpyTpz8Arvdf/MgJOQGoo0TCQ7uUmytqo9SM/g6PROAHsF6pkSH0yP46q5vJQiCIAiCUNlGjhzFDz98w4oVy/jPf54gsArKHQhXhzNnktmzZxddu3arkMBSWZQ7uNSmTRv+/PNP5s2bx913313s2Dlz5uDz+WjVqlV5T8eLL77I4cOH6datGx999BGRkZH4fD4++eQTPvvsM55++mlWrlyJ0Wgs1/w2m43p06eXe32CcLnKTINTZ/xFyNppBKTuwmeoQ9ZNn+FuWLBVZlkctx7l+R3TSHOmMqn1JGKPV/52zcqiZLoupr1ZwHox7S0uyJ/21iIcSX91p70BeJNO44yfg2vZEhR7DpLBgG7CbehHj0NdRR0hZNmB2bIAk+ln3O4zSFIAkRFjMBrvRqcrPCVTVhS25zjofjGA1CVIT1KohynREbTRiw9FgiAIgiAIpaHVapk0aQrvvvs2CxcmMH78rdW9JKGG+O23X1AUhfvu+1eVn7vc37JGjx7Npk2beOedd4iJiWHw4MGFjlu2bBnvvfcekiRx883Ft0MsSlJSEkuWLEGr1fLee+8RGRkJ+PNjH330UQ4dOsS6dev48ccfefLJ8hUBe+ONN0hNTUWn0+F0Oss1h3Bt8Xk85FhM/r+UYUt1paXBeZ0E7fiIoN2fgSJj73A/Od2fAm3pt1oXZsOFdby19xV8io9p7Z/jrk638dPCP8v0mqub4vIhH830p72l5PgfNASg7hbj36UUdfWnWCleL+4/N+KMn4tn53YA1E2aoh87gcBBQ5D0VZPa5/FkkJHxGxnm2fh8WajVYTRs+DBB+jFoNIUHUD2ywuIsG9+bMjnp8vBdo9p0C9bTOySI3iHF73wVBEEQBEEQCho7dgIrVizn22+/ZujQEUXWaBL+OZKTk0lMnM+YMePo2LF83cKvRLmDSyNGjGD27Nls376dxx57jFatWtGrVy9iY/07Hi5cuMDmzZv566+/UBSFzp07lzu4tGDBAmRZpk+fPnnzX+7WW29l3bp1LFmypFzBpQ0bNhAfH0+PHj0IDAxk/fr15VqnUH0u7xBXUd3h1nwxg/NHDuR7TKUu+n+ZykyDC0j5E8PaaWiyTuGNao2t3wy8sR2vaE5FUfj5+A98f+xrIrQRvNz5TdpFta+Q9VYFRVZQzlxMezuWCV4FNBKqFuGo20Yi1Q+56tPeAGSLGefCRJyJ8chpqaBWo+0/CP3Y8Wjad6yyFDKn8yQm009YMhejKG602nrExv6byMibiY2JKbSuhd0nM9diZaYpk1SvD4NKxRRjOI20FVNzTBAEQRAE4Z9KpVLxwgsvcffdt/HLLzOZOvXB6l6SUM2++OITjMZoHn74sWo5f7mDS5Ik8fnnn/Pvf/+bbdu2cejQIf766698Y3JrheemspW3KN2ePXsA6NSp8DaOuY+fPXuWCxcuEBcXV+q5s7OzmT59Onq9ntdee43XXnutXGsUqtflHeIqojscgD3LQmCwgWa9/SlnEhINu/YqfGwlpcFJTgvBf76O/q/fUNSBZPd8FkeH+0F9ZV/OnT4nM/a9zrrzq2kS0oxXu75FnL7y22JWBNnsRD5kwXfQDNkeAKTawajbRKBqHo6ku/rT3hRFwXvoAM74ubjWrgKPB1WUkaAp96MbOQZVOdN/y7OOnJydpJtmYrNtACAoqAPRxkmEht6IJKmLrR3/7oUM5lisRGnUPBYbyS2RoYRUQR0oQRAEQRCEf4J69eqzbt2f1b0MoYZ4440Z1Xr+K/oWZjAYmDlzJitXrmTx4sXs27cPs9mMoihERkbSrl07RowYwaBBg67o7npSUhIA9evXL/T5iIgIgoKCsNvtJCUllSm49NZbb3H+/HmeffZZ6tW7eosXC1A3XF+hHeIA9KHhdL75tmLHVEoanKIQeHwhho3TUTlMuOtej63vm8hhDa9sXiDdkcbzO6dxzHqE62P78kyH59FranZqkuL0Ih+5mPZ23u5/MCQA9XWxqFpHoIq8+tPeABSXE9eqlTjnz8F75DAAmg6d0I+bgPb6vkiaqgmcKYqXrKxVpJtm4nAcAiRCQwcQbbyb4OCORR53zu1hrsXKgzGRBEgSd0WF0VKvZVR4CIGi440gCIIgCIIgXLMq5JvKoEGDGDRoUEVMVaiMjAzAH0QqSnh4OHa7HYvFUup5N23axJw5c+jUqVOJRckF4e8qKw1OZUvBsP5ZApNWI+sisA78H67m4yh2i0gp/ZV5kBd2PoPZlcHEplOY2GwKKqlmfulXZAUlyeZPezueBb6LaW+tI1C3jkSqb7hmuor5zqXgTJiHc/ECFKsVdDp0o8agGzMBTZOmVbcOXw5my3xMpl/weM4jSTqiIm/FaLyTwMDCg/sAf2U7ePdMKssys/EBbfQ6BoQG01inpbFOW2XrFwRBEARBEAShelwV+SO5BbaLa7GY+1xpi3FnZ2fz/PPPo9Vqef3118udslec6v7em3v+6l5HVch9iZXxWgub0263s3LlpTS4oUMrIA1O9qHb/z3BW2Ygeew4W4wjp890FH0UFfGyVp5dxjv730KFxPROr9KvdsEOc/leq1Q9145scl7s9maGHK9/KXWDUbeJRN08HCnw2kirUmQZz7atOOJn4978JygK6nr10U2+H93Q4agMhipbi8eTSrppFhkZc5HlbDSaSOJiHyIqagIaTXiRx+3OcfJ1uoUNNv9ush7Beu6NCadHsP4f8XNHKJ9/0u8moWKIa0YoK3HNCIIgVL0yBZcOHjzId999x7Zt28jKysJoNHLDDTdw7733VmpKmVqtRpblYncp5NZ3Km2QaMaMGZw7d44nnniCJk2aVMg6LxcRUXOq9UdFhVT3EirVh6uOcTLDTrMYA0Zj2V6rz+vh9xefwZJ6vsBzruxsIuvULTCnxWJhzpyfsdlsdO7cmSFDhqDVXuHujAv7YcF/4NwuCG8AIz5A13QAV5rspSgKu9J28ctfv7AyaSU3XBhL15z+eE7qWMGhIo/LNrsIiw4q8/tZXrLdg31vOjk7U/GczQZAHRFIUI/aBHeOQRNVNZ3QqoIvK4vM+fPJnDULT1IyqFQY+vcn4o7bCe7ZE6kK08ds2YdJTv6G1NSFKIqXoKAm1K//LHGxo1Griw7m59plzWajzc6I6DAerh9Lx9CanV4p1CzX+u8moeKJa0YoK3HNCIIgVJ1SB5fmzJnDyy+/jM/nywvknDt3jt9//50FCxbw4Ycfcv3111fKIvV6PR6PB5fLVeQYt9sNgE5X8tfxzZs3M3v2bFq3bs29995bYeu8nMWSg88nV8rcpSVJ/l+qGRkFuzhdSxJ3nwWgf9MoTCZbmY7NSD7F+eNHCDHGElzIzqMGna7LN6fL5WTu3FnYbDb69x9M69ZtsVpdQNHXZrG8DoK2/Q/97i8AcHR6AHv3JyAgCMr4Wi7n8rlYfW4l80/P4bj1GADXRfek27GBOCxeNFG+Io9Vq9UYIgOp0yqszO9nWSg+Bfm0Fd8BM/JJqz/tLUDl36HUNhKpbjAeSSJT8V7Re1FTeI8dxRE/B+eKZeByIYWHo79rEvrRY1HH1cIJOM05lb4ORVHIzt5MWvpMsrO3ABAc3JWY6ImEhPRBklRYLG7Ane84j6ywJMvG7xlWPm9UizC1mnFBega2qEeX2lFkZNgq9XoRrh3/lN9NQsUR14xQVjXpmlGrVTXqprMgCEJlKVVw6dSpU7z00kv4fD5UKhVdunQhNjaWCxcusHv3bux2O0888QRLly7FWAldjCIiIrBarWRmZhY5Jve5yMjIYufKycnhueeeQ61W88Ybb6CpxAK51f3LLJei1Jy1VAYFaBQVxH09G5T5dZrP+ovFdx59Bw06di98/otz+nw+li1bhMViplevG2nVqu0Vva8BZ/4gZN001NYkPNHtyO73Dt7othdPWr450xypLEiez6LkRKyeLPTqIEY1GMeYBuOob2jIss37MUSqGfJIu0KPlyQwGkPy2spXxnUjpzuQD5rx/WUB+8W0t/oG1K0jUTULQ9JeSnu72q9bxePBvX4tjvg5ePfvBUDTqg26seMJ7DcQ6WI6b1W8Tln2kJW1jHTTTJzOY4CasLAhRBvvJiiozaU1/20tdp/MPIuVmRlZXPB4CVZJHLK76GEIIkytJlyjzjvuav/3EqqWuGaEshLXjFBW4poRBEGoOqWKrPz222/4fD7q1avHF198kS+N7NChQ0ydOpWMjAzmzp3LAw88UOGLbNy4MUlJSaSkpBT6vNlsxm731/xo0KBBsXMdOHAgb57Ro0cXOe6TTz7hk08+oU6dOqxZs6Z8CxdqPMu5ZAAi6xR/3SiKwsaNazhzJonWrdvTsWOXcp9TclowbHoF3eE5KBo92b2n42g/BVTlC3QqisJ+y17iT8/hj9QNyIqP2kF1uLvpPQyuOxxDQNXV7ilyjXYvvsMW5INmlDSH/8FwLepOcf7i3KHXVtFnX3oazsT5OBfORzGbQaslcMhwdGMnENDqyou+l2ktPisZ5nmYTL/i9aajUgVhjLoTo/EOtNo6xR4725zFR6lmsnwykWo1j8ZGcktkKKHqa6PulSAIgiAIgiAIFaNU32Z37NiBJEm8/vrrBeoTtW7dmqeeeopnnnmGrVu3VkpwqX379qxdu5bdu3czefLkAs/v3r0bgDp16hAdHV3sXCEhIXTu3LnI50+cOEFWVha1atWiVq1aJc4nXN0sKUloAnUYoor/d967dycHD+6jbt363HBD//J1KVMUAo8lYPjjJVSODNz1b8R245vIoUV34SqOy+dizbmVzE+6lPrWzXgdYxqOp3t0z2rvAqf4ZOSTVuSDZuRTVpABrQpVu0jUbSKRagdfM93ewB/k8+zZhTN+Du6N68HnQxVXC/0DD6EbPgpVeHiVrsftPofJ9Atmy3xk2Y5GE01c3KNERY5DrQ4t8rhMry9vN5IaiRCViv/ERnJzeAi6KqwHJQiCIAiCIAjC1aNUwaWUlBQCAgLo3r3wtKEBA/xdp06cOFFxK7vM4MGD+fDDD1m/fj1paWnExMTke3727NkAjBo1qsS5WrduzaxZs4p8/l//+hfr1q1j3LhxPPLII1e2cKHSfb05iVMZdhpFXSoknH7qGAdWLkCRS655lX7qOJH1GhZbRPnkyeNs2rSeiIhIhgwZibocuzZU1jOErP8/tMnrkPVRWAd9jKvZ6HK1MSkp9a06KYqCknYx7e2wBRz+2k5SgxDUbSJRNQ1DCri2AhSK3Y5z+RKc8+fiO3USgIBu16EbdwvaHr2QqniXj91+kHTTT2RlrQR86HTNiTbeTVjYEFSqgCKPO+Z08b0pk2VZ2cxvWo8GgVpujghhVEQImmsoCCgIgiAIgiAIQsUrVXApJyeHkJCiuy2EhIQQEhKC1WqtsIVdrkmTJgwePJjly5fz0EMP8cknnxAbG4vP5+OTTz5h3bp1BAcHc/fdd+c7zuPxkJzsT3uKiYkp9jUIV6eVR9IBGNTi0s6jUzs2cWbfDlSagFLEbiQadCg8aAqQnp7KypWL0ev1jBgxlsDAMvZvk73o935L8LZ3kbwOnC1vIbv3Cyi6iDJNU9NT35QcD76/Lqa9mZwASBGBqLrEoG4dgRRybaW9AXiTTuOcPxfX0sUo9hwkgwHdhNvQjx6Hun7xaZYVTVFkbLY/SDfNJCdnBwAGQ0+ijRMxGHoUu0NsV46D70yZrLf5U4u7B+twXixQESCCSoIgCIIgCIIglEKpgksejwdVCekQgYGBZGdnV8iiCjN9+nSOHDnCvn37GDhwIM2aNSM1NRWTyYRGo+HDDz8sUMw7NTWVYcOGAfDmm28yduzYSlufUH0aRQVxf8+CX+bHvvwhQWFlC+JcLjvbxuLFCSiKwtChowgNDSvT8Zr0/RjW/peA9P34Qhtg6/s2nnp9yjRHTU59U7x/S3tTgEA1qg5R/rS3uKBrKu0NQPF6cf/5B874OXh2bgdA3bgp+nETCBw0BEmvr9L1yLILS+ZiTKafcLlOARoiwkdgNE5Er29e4vFvnzfxc0YWEjAwNJgpxnDaBZUxgCoIgiAIgiAIwj9e5bVKq2BGo5G5c+fy5Zdfsnz5co4ePUpQUBD9+vXjgQceoGPHjtW9ROEa4na7Wbx4Pjk52QwaNIxatYovfJyPx07wtvfQ7/0GAHvnh8jp9hhoSh94qKmpb4qioFyw4ztoQT5iAacPJFA1DEXVJgJVkzAkzbWV9gYgW8w4FybiTIxHTksFtRpt/0Hox45H075jlQfRvF4LGRlzyDD/htdrRqUyEG28hyjj7WgDYos8zqMo/GGz0zfEH/i7ISQIuyxzjzGcRoHX3u4yQRAEQRAEQRCqxlUTXAJ/+t1TTz3FU089VarxdevW5ciRI2U6x5dfflmepQnXEFmWWblyCSZTOt2796J581alPjYgeT0h6/8PtTUZT0wHbP3ewWcsXXewmpz6ptjcl9LezC4ApCgdqu6xqFtFIBmKruVztVIUBe+hgzjj5+Bauwo8HlRRRoKm3E/gyNGojVVf7N/lSsZk+hmzZQGK4iQgoBa1aj1FZMQY1OrgIo+zyzLzLVZ+NGVx3uPl24a16W7Q09MQRE9DUJHHCYIgCIIgXG3OnTvH2LEjCn1Oo9Gg1+uJi6tFx46dGTVqDE2bNisw7sEH72f37p1lPnd8/CJq165dqrGKovCf//ybtLRUfvnldzSawj9Pf/31F3z77VcATJ/+CsOGFf7aco0ePZwLF85z771Tuf/+4ptt5c4dF1eLhITFRY47f/4cCQnxbNu2heTkZJxOJ6GhITRt2pwBAwYxfPhIAgJqxvcBRVGYP38eCQnxJCWdIiAggGbNmjNhwu307z+gXHMePHiAn3/+kT17dmOzWQkLC6dTp85MmjSFZs0KzxZwu93MmzebVatWcOrUKTweN9HRMXTr1p27776HunXr5Ru/ZcufPPbYw7z99nvceGO/cq2zul1VwSVBuFxhxbwBzuwv+y+Cy/355wZOnz5B8+at6Nq1R6mOkdw2DOufQ3c0HkUTRHafl3C0mwyqkos5V2Tq28G1KZzZby7y+WyzC0NkYKnmUjwy8oksfAfNKEk2f9qbTo2qoxF120ikGP01l/YGoLicuFavwhk/G++RwwBoOnRCP3Y82hv6IWmq/sdmTs5e0k0zsVrXAAp6fWuijRMJCxuIJBW9nkyvj1nmLH7NyCLTJxOpVvNobCQt9WKXkiAIgiAI174mTZoSHHzpBq3P58Vms3Hy5EmOHTtKfPwc7r13KlOm3F/gOJ/PV2C+ffv2AFCvXn0iIiILPB9Yhp3g8+bNZvv2rbz77v+KDCwpisLSpZeCPgkJ8SUGlyraL7/8xOeff4zX60WlUhETE0OdOnW5cOE827dvZfv2rcya9TPvvPMB9au47mhh3njjFRYuTESSJBo3boLL5WL37l3s3r2LO++cyCOPPFam+ZYuXcxrr72Mz+fFYDDQuHETUlJSWLVqBevXr+WVV96gX7/8QSubzcYjjzzA4cN/ARATE0tISAjJyUkkJs5n5crlvP32e3Trdl3eMT169KJHj1689dZrdOjQkfDw8pd3qS4iuCRctQor5u11u8gxmwAI0JW9/s2BA3vZu3cntWrVoX//m0oVPJHc2YQtvIuACztxNehP9g1vIIfWLfG4ykh9O7PfXGwAyRAZSL12BX8R5lIUBVeSFc+ms/iOWMAlgwpUjUNRtYlE1TgUSX3tpb0B+M6l4EyYh3PxAhSrFXQ6dKPGoBszAU2TplW+HkXxYbWuI900E7t9LwAhITcQbZxIcHCXUl2b/0vNYJ7FRt0ADY/ERnJzeAi6EurnCYIgCIIgXCueeOK/dOnStcDjOTk5zJr1M9999zVfffU5gYE67rzzUnOop56aVuh8PXp0BmDSpCmMGHFzuddlNpv54otP6dixE3363FDkuN27d3HuXArt2nXg5MkT7Nu3h1OnTtKoUeNyn7ssXnnlRZYsWYhOp2PSpCncdtud+Zpkbd68if/97z2Skk7z73/fz/ff/0J0dNXv7s+VkBDPwoWJGI1GPvjgk7xdRRs2rOeFF57hl19m0qVLV3r1Kl0d3LS0NN5663V8Pi8TJtzGI488hlarxel08v7777BgwXxeeWU67dt3ICrKmHfcu+++xeHDf1G7dh1eeeUN2rZtB4DVauXtt19n9eqVPPfcNObMSSQs7FJd34ce+g8TJ97Op59+zHPPTa/Ad6ZqlDq4ZLFYGDCg6G1kFosFoNgxkiSxatWqMixPEIr392LeiiwDUKd1RwLK2NktOfk0GzasJjQ0jKFDb0atLvl/D8mdTdiiuwm4sBN7pwfJ6fksxbWoq4rUN0NkIEP+065MxyhWN75DZuRDFtItF9PeonWo2kT6096CasY214qmyDKe7VtxxM/Bs3kTKArqevXR3XMfgUOGo6qGDpOy7MBsWYDJ9DNu9xkkKYDIiDEYjXej0xX/QeK4081ci5UnY6MIUEncYwznumA9g8IMaK7BXWaCIAiCIAjlERwczH33/Yvg4GA+/PB9PvvsY/r27UedOiXfIK4I3333NdnZ2UyefH+x4xYvXgBAp06diYmJYfXqlSQkzOPxx5+u9DUuWrSAJUsWEhio4913/0fXrgU7bPfs2ZsWLVoxceJtmEwm/ve/d3n99bcrfW2F8fl8zJz5PQBPPDEtX7raDTfcyNSpD/Lxx//ju+++LnVwac2albhcTho0aMjjjz+V1+RMp9Px3//+Hzt3bicl5SyrVq3k1ltvByAjw8TKlcsBeP75l/ICSwChoaG8+OKrHD16hDNnklm8eCF33HFX3vPNmjWnT58bWLQokdtvv5PGjZtc2ZtSxUodXPL5fKSkpJQ4rrgx12IKjVAz6crY2S0jw8Ty5QvRarWMGDEGvb4UdWjcOYQumkTA+e3YO/6r2MBSbupb/Ok5nLBdnvo2ge7RPaql65vi8SEfu5j2lnyx06Neg6F3bdxNDEjR124tHtlmxbVkEY6Eechnz4BKhbb39ejGTiCgSzekatjd4/FkkGH+nYyM2fh8majVYcTETCUq8lYCAqKKPXaP3cm36RbW2ewA9DLouSEkmIaBWhqKQt2CIAiCIAiFuu22O1m6dDFHjx7hxx+/59lnX6j0c2ZkmFiwYD61a9ehe/frihzndDpYu3Y14E+ZysgwsXr1SpYuXcJDDz2KVlt5n/HsdjsffvgeAHfddXehgaVckZGR3Hffv3jrrddZu3Y1aWmpxMQU3WCmsuzZs5tz51IICQmhb9+CNYtuvnkMn376EQcO7Of8+XPUqlVybazU1FTAnyap+tv3A41GQ/PmLUhJOUtq6oW8x3fv3oUsy0RGRtG5c5cCc2q1Wq67ridnziTnpc1dbtSoMWzcuJ7vv/+GV199s8Q11iSlCi6NGTOmstchCNXGbs9h8eL5eL1eRo4cR0RE8V/kAfDYCVs8Ee35rdg7TCWn1/OFBpbSHKkkJsWz+MyCGtH1TVEUlJQcfAfNyEcywSODSkLVLAxV60jUjUMJjw3FZLKhKFW+vErnPX4UR/xcXCuWgsuFFBaG/s6J6EaNRV2KXzCVwek8icn0E5bMxSiKG622HrGxDxIZcTMqVfGpnZuz7XyRZmGX3YkEDAwNZooxnHZBZdu1JwiCIAiC8E8kSRIjR47ivfdm8McfG6rknImJCbjdbgYNGlzs5os1a1Zjt9sJDw+nQ4eOuN1udDodVmsWa9asYsiQYZW2xrVrV2Oz2VCrNdx6650ljr/ppqFoNBo6dOhUqsDSokULeO21l0q9ntIUSj9wYB8Abdq0KxAIAn9zsEaNGnPixHH27NldquBSbKz/tRw/fgxZlvPNK8syJ0+eACAurlbe4+3bd+SNN2YUWrMrl8NhvzhHwTE9evQiNDSUtWtXk5FhypduV9OVKrj05ptXV8RM+Ofyeb1lGu/1eliyJBGbzUq/fjdRt279kg/y2AlbPAntua3Y299LTu8X8gWWFEVhn2UP80/PrTFd35QsF76DFnyHzJDlBkCK1aNuE4mqZQSS3v+j4FrcXKh4PLjXr8URPwfvfn/tIk2r1ujGTiCw30CkwNIVOK/QNSkKOTk7STfNxGbzf5AJCmpPtHESoaF9kaSiC8EripL3QWR3jpN9DidjI0K4xxhOI7FLSRAEQRAEoUzat+8IgNmcQVLSaRo0aFip51u9egUAPXv2KnbckiULAejXbyBqtRq9Xs/119/IypXLSUyMr9Tg0o4d2wBo0aIloaGhJY4PCgpixIhRpZ4/MjIq730vjdIUSj979gzg7xhflLi4OE6cOJ43tiQ33TSUr7/+kuTkJD788D0efvgxAgIC8Hg8fPrphyQlnSY8PJzBg4fmHRMTE0P//gOLnNPpdLJt2xaAQtPeNBoNXbt2Z82aVaxbt5Zx4yaUaq01gSjoLVyViuoUd3TjSuBS7aXiKIrC6tXLSU09T6dO3WjduhR1ijwOwhbfgzZlM/Z2k8np81JeRKampb4pbh/y0Ux/2tvZHP+DwRrUXaP9xbmNZS94fjXxpafhXJCAc8F8FHMGaLUEDhmGbswEAlq3qZY1KYqXrKxVpJtm4nAcAiRCQwcQbbyb4OCOxR5rl2XmW6zMMVv5oVEdwjVq7jSGMS4ylNgA8aNcEARBEAShPC7fwZKamlqpwSWLxcLJkydQqzW0aVP0d48LF86zc+cOAAYPHpL3+E03DWHlyuXs3r2rUgNhSUmnAWjatFmlzN+rV2969epdoXOazf6O2WFh4UWOyX0uKyuzVHNGRkby4Yef8uqrL/L777NYvHghtWvX5fz5FGw2G61atea5517MV5S7JD/99APp6emo1WoGDRpc6Jj27TuwZs0qdu3aIYJLglDZCusUB/5ucQDNevcvcY5t2/7k+PEjNG7cjJ49ry/5pF4HYUsmo035E0e7SeRc/wpIUqGpb6MbjGd0g3HUN1RxO05FIVwBz9Ik5KNZ4JVBLaFqHu4PKDUMQVJdg9uTLlIUBe+e3TjiZ+PeuB58PlRxtdA/8BC64aNQhYdXy7p8vhzMlvmYTL/g8ZxHknRERd6C0XgXgYHF75bL9PqYZc7i14wsMn0ykWoVJ1xuumj0hKnVhBW9yUkQBEEQhGuUe9N5vH9ZqnsZV0zTKgJt71olD6xEQUGXblaXNuhQXrt27UBRFOrVq0dAQNENc5YsWYSiKMTGxtGhQ6e8x3v27EVYWDhZWZkkJs7nP/95vFLWabVaAQivps/O5eFyOQEILCYrIfc5l8tV6nlDQkJo3boNSUmnyc7O5ujRw3nPGY3RhabgFWXdujV8//03AIwbdwv16hX+PaBxY3+n6l27dpR67ppABJeEq9bfO8VdLig0othjDx8+yI4dW4iJiWXgwKElF5v3Oghbci/as3/gaDsRW59XC6S+1QmqW22pb4rFhe+QmZ5eGR0gH7Ig1Qryp721CEfSXdv/qyt2O87lS3DOn4vv1EkAArpdh27sBLQ9eyOpqycC4/GkYsr4jYyMOchyNhpNJLGxDxEVOR6NpvhrFOBHUyafpppxKAp1AjQ8FBPJ6IgQdNVQcFwQBEEQBOFa5PV68v5c2Q2ozp3zN7+qW7deseOWLFkEwMCBN+Vbk0YTQP/+A5g/fx5LlizkwQcfLjZIVV46nb9+p89XtpIj1UnKyxIpvnN3/rHFO3ToIP/5z4NkZ2czevRY7rprErGxcZw9e4bvv/+GFSuWsXv3Tj799CtatGhZ7Fzr16/lhRf+D1mWad26DQ8//GiRY+vV818fFosFp9OBTnd1ZJxc2984BaEQ586dZe3aFRgMBoYNG13yD2Svk7Al96E9swFL69tZ2KgH8ZsmV3vqm+LyIR+5mPZ2Lifv8SSVRNOJLVBFXftFnb1Jp3HOn4tr2WKUnBwkgwHdhNvQjx6Hun4V7xq7jMNxFJNpJplZy1AUL4GBjTAanyAifDgqVfE1ni54vMRdTHMLVauoFxjAvcZwbgozoLkWi2IJgiAIglBm2t61qn3Hz7UiOzs7788hISGVeq7MTEuJ59mzZ3deTaDLa/nkGjx4KPPnzyMzM5N169YUSK0qy04a8Adb1H+7ERsVFcXx48fIzMwsw1yl9+efm/jhh29LPf7NN2eUWNg6dwea2130riS32197trjdTZd79923yc7OZujQ4TzzzPN5jzdq1JhXXnkDlUrFsmVLeP/9GXz55XdFzpOYOJ8ZM97A5/PRpElT3n//o2K7/V1+fWRmZhIXJ4JLglDjZGZaWLIkEbVazfDhYwgOLmGHkddJ2NL7MJ/7g5+b9WK+9wDWA5uqLfVNkRWUZBu+gxbk45ngVUAjoWoZgbpNBGsTT4Mk0fwaDiwpXi/uP//AOX8unovFBtWNm6IbOx7doCFIQUElzFBJ61IUsrO3kG6aSXb2ZgCCg7sSbZxISEifEu+Q7LE7+TbdwgabnYRm9WgUqOXm8BBGh4dU+l00QRAEQRCEf6rTp0/l/bmyi3lbrTbg0s6gwuTuWgKYOPH2YudLSJhXILiUO7fH4ynskHwcDmeh66lfvyFbt27h1MWMgNI4ceI49erVLzZokstszmDfvj2lntvlcpc45lI9pawix+SmPUZElJxBkJ6ezqFDBwCYPPn+Qsfcd9+/WLZsCXv37imys9uXX36WlwrXunVbPvjg4xJrNF2+U8lms+XrRleTieCScFX5enMSK4+kczbTQd3wskVwnU4HixfPx+12MWzYaIzGmGLHK14nJ5bdzRznMdbUr4PPe7baUt/kDCdpS5PQpzrI/dGfKcEFtUQaEr4TVjhhJdvixhBZ9d3PqoJsseBclIgzMR459QKo1Wj7D0Q/dgKa9h2rLQAjyx6yspaRbvoJp/MooCYsbAjRxrsJCiq+cLiiKGzMtvNteia77P5f7v1DgvOeV4ugkiAIgiAIQqXat8/fTTg6OrrSv8Tndj27fLfU5ZxOJ6tX+xsUhYaGFbnDxuVyYbVmsWvXTpKTk6lf/1LtnqgoIydPnsBiKbkml8lkAvzd2y7Xp8/1zJnzG0eOHMZqtZbYMc7j8TB16hS8Xi/Tpj3LsGEjih0/YsTNjBhxc4nrK4uGDRsBcP78uSLHnD9/HqDIWkeXS031j1Wr1UV2oKtbtx5qtQafz8v58+fzBZe8Xi9vvPFqXte/nj1788YbM9DrS/4Om51ty/tzaYJ1NYUILglXlcsDS38v5l0cn8/HsmULycy0cP31/WjYsHGRY10+F2vOLiHxwIccVbkhOIhuxu6MaXhLlaa+KU7vpbS383YiALuscFqj4oJKwlFI4MEQGUi9dpFVsr6qoCgK3kMHcc6fg2vNKvB4UEUZ0U++D93NY1AbS38NVDSfz0qGeR4m0694vemoVEEYo+7EaLwDrbZOqeZ49ZyJORYrGglGh4cw2RhOY93V8wtEEARBEAThaqYoSt5OoUGDhpQw+srlBnGKSjdbv34tOTnZSJLEzJm/FhnsSktLZcyYEfh8PhYsmJ+vfk+TJk3Zvn0rJ04cK3E9R478BRTsCte5c1ciIiKwWCz89tsvTJ36YLHzLF++NG/draupK3PueQ8ePICiKAVuPNtstrxdam3bltwlPDfDxefzYbFYiIqKKjAmPT09ry5VcPClG8SKovD66y+zdOliAIYNG8mzz76ARlO68Mvl18ffA381mQguCVeduuF6Zt/TtdTjFUVh/fpVpKScoV27jrRv37nQcZe6viVi9VgJUmRuUddiWO8PqB/SsIJWX8JaZQX5tA35oBn5RBb4FNCoULWOYOeRLDI1MOTR9rSoktVUH8XlxLV6Fc742XiP+DsyaDp0RD92Atob+iGV8gdzZXC7z2Ey/YLZMh9ZtqPRRBMX9yhRkeNQq4u/q+OQZVZbcxgeZkCSJIaGGdCrJO42hufVWRIEQRAEQRCqxq+//sTZs2cIDNRx663Fp6BVhPoXa4KmpaUW+vzixf5dLl26dCt2F1VMTCw9evRi06aNLF68kAce+Dcajb+O7I039uW3337h0KGD7N69k06duhQ6x65dO0lKOg1A3775O20HBATw4IOP8MYbr/Drrz/RvXsPOnbsVMgscOHCeT777GMA+vUbkLeDqKq1b98Bo9GIyWRiw4Z13Hhjv3zPJybGI8syHTt2olat2iXO17Bho7z5EhPjmTKlYGrc4sULADAajfle9/fff5sXWLr11tt57LGnypRlkZ6eBkBERGSl1wGrSOLbjHDN2717O3/9dYD69RvSp0/+HzKKolzs+jaHP1I3Iis+6hHAgxkWhsT1RxnwEagqv9OYbHIgHzTj+8sCOf7ot1Q32N/trXk4klZN5rH9lb6O6uY7l4IzYR7OxQtQrFbQ6dCNGoNu9Hg0f7ujUtXs9oOkm34iK2sl4EOna0a0cSJhYUNQqYovCp/l9THLnMWvGVlYfDJGjZoehiC6GfR0M1wdBfoEQRAEQRCuFbk7cn766QcAHnnkUWJj4yr9vO3atQcgOTmpQLpZWloaOy7WEx0+fGSJc40ePZZNmzZisZhZv34dAwYMAqBTpy7ccENfNmxYx7RpT/HMM89z441984p2y7LMpk0beeut1wHo338gHTp0LDD/yJGjWLduDX/++QePPvpv7r13KmPGjM8LdsiyzB9/bODdd9/GbM4gOjqGJ5+cVv435wqpVCruuede3n33bd566zWioox5O5Q2blzP119/AcCkSVMKHHv27Bm8Xi8GgwHjxcwISZK45577ePfdt/j++2+IiIhg5MjRaDQaFEUhIWEe3333NQD33js1L3iUnJzMt99+BfiDdo8//nSZX8v+/f7vfe3bdyjzsdWpQoJLa9euZcWKFRw7dgyr1cqKFSsA+PLLL2ncuDEDBgwoY9V6QagYx48fZfPmjURGGhk8eETedejyuVhzbiXxp+dc6voW1Z07M87T79Qm3M3HYBvwv0oNLCkOL/Jhiz/tLdXhfzBMi7pnHOo2EUhh12btpL9TZBnP9q044ufg2bwJFAVV3XoE3XMfgUOGo6rGaL2iyNhsf5BumklOzg4ADIYeRBsnYjD0LPEOxAWPl5mmTOZarDhkhdoBGh6IiaRD0LVbcF0QBEEQBKGmeP/9Gfka+Hg8brKysjh//hyKoqBWa3j44UcYP/7WKllPbGwcDRo0JCnpNPv27aFPnxvynlu6dBGyLBMUFEy/fv2LmcWvV68+xMbGkZp6gYSE+LzgEsBzz72Iy+Vk69YtPPvs04SGhlKrVm0UBVJSzpKT46/5dOON/Zg+/eVC55ckiRkz3uP1119h6dLFfPbZx3z11efUqlUbg8FASspZrFYr4E+re/vt9wpNHatKY8aMZ8eO7axbt4b77ptE48ZNcLvded33Jk++j549exc47uGHH+DChfMMGzYy3/sxfvwtJCcnMXv2LN5++w2+/PIzYmPjSEk5m1c367bb7mTMmPF5x/z++y95qXIpKWeZOrVgMCtX+/Yd8qU05tq3bzcAPXr0LMe7UH2uKLhktVp59NFH2bJlC0CB3MalS5dy5MgROnbsyOeff054ePgVLVb4Z8ot4g2UWMhbuezPqannWbVqKXp9EMOHj0GrDSTVcYEFSfNZfGYBVk/Wpa5v9UbR9s+3CTy1CWez0RUaWDq4NoUz+80ASIpCpAJxsoxRARXgBdIkiQsqiawcL+xI9//3N9lm1zVVrFu2WXEtWYQjYR7y2TMgSWh7X49uzHgCunZHqsaAtCy7sGQuxmT6GZfrJKAhInwERuPd6PWlT0r8Is3MPIuNZoFapkSHMzjMQIAo0i0IgiAIglAlTpw4nu/varWa4OBgWrZsRefOXRk1amy+YthVYfDgYXz11Wds3bolX3Apt/bTgAGD8nULK4parWbkyFF8882X7NixjZSUs9Sp4y88HRYWxgcffMLGjetZvnwpx44d5cyZZACio2O47roejBo1hu7dexR7s1SjCeDFF19lxIhRLFmykAMH9pOaeoFz584RGhpKjx49GTRoCIMHD8lLy6tOarWaN96Ywfz581i4MCFfjaXx429lyJBhZZ7ziSeepmfPXsydO5uDB/dz/PhxQkND6NPnBsaPv4UePXrlG79nz+68Px87drTYuUNCCjaIcjod7Nu3l4CAAPr3H1TIUTWXpCiKUvKwgmRZZtKkSWzfvp2AgAC6devGrl27cLlc/PWXvzDYbbfdxp49e5AkiaZNmzJ37twiK95fayyWHLxeuVrXIElgNIZgMtko379yzXDLDzvyBZUGtYjm/p4NCh27dfb3HNmwgiHPzmDRskW43W5Gj55AqjY1X+pbnaC6jG4wzt/1TRVI6MqHCTyxGGezUdgGfgiqissYXfbRflSZLhqHBBArK2jxB8EsElxQSaRLEnIpAw712kXSpl/pikWXR1VcM97jR3HEz8W1chk4nUhhYehGjEI3aizqUuQ/VyavN5MM8xwyMmbh9ZpRqQxERY4nyng72oDYEo/fa3cy12zlhdrRaFUSyS4Pp91urjcEVVs3u8p2rfycEaqOuGaEshLXjFBWNema0WhUREQElzzwIp/Px+HDR4iLqycyP65RmZkWxowZQUCAlkWLll9V3cCEyrdo0QJee+0lRo8eyzPPPF/dywH8sZ8LF87QsmWLvPTKwpT7G/SCBQvYvn07sbGxfPvttzRt2pQ+ffrgcrnyxvz2228kJCTw4osvcvz4cX799VcmT55c3lMK/2ClLeLttGWhqNWsXr8Gh8NOTNfavHDs/y6lvhmvY0zDCZe6vsleQlY+4g8sNRlRoYElxe7B95eFrh4fIcEakBWkiEBUrSNQt46kVqiWym12WnMoHg/u9WtxzJ+D92K7V02r1ujGjCew/yCkag46u1zJmEw/Y7YsQFGcBATUolatp4iMGINaXfwHQkVR+CPbzrfpmey0OwEYGmagV0gQ9QMDqB9Y/XdxBEEQBEEQhJohPDyC0aPHMWvWz6xfv5ZBgwZX95KEGmThwgTUag0TJ159cZMrCi5JksTzzz9P06ZNixw3evRo7HY7r7zyCsuWLRPBJaFS2a2ZuOo1I9ts4pjxGPMy5l1KfWswjvqGy3Y8yV5CVj2K7vhCXE2GYxv08RUHlhSfjHzS6u/2dsoKMuiBFJVEw1uaItW+dnewFMaXnoZzQQLOBfNRzBmg1RI4ZBi6MRMIqKY2pZfLydlLumkmVusaQEGvb32xSPdAJKnka2G1NYfP0swcdbrRAKPCQ5hsDKeJTtyBEgRBEARBEAp3110TSUyMZ9asnxk48KZ/1PcDoWgHDx5g7949jBw5mtq1Ky9bpbKU+5v0oUOHUKvV9O3bt8Sx48aN47XXXuP48eMljhWE8sjt+pbkduIzRHPacJqMGDMPNXzUn/oW8Ld8VtlHyKrH0B1LxNV4KNZBn4C6fDtMFEVBSXPgO2BGPmwBpw8kkBqEoG4TyfrlZ5AlicZ1Sr8l+mqmKArePbtxzJ+De8M68PlQxcahf+AhdMNHoarm2muK4sNqXUe6aSZ2u38XVUjIDUQbJxIc3KXEX+6yoqC6OOao08UZt4e7o8KYGBVOnFY04BQEQRAEQRCKFxVl5JFHHuPtt99g9eqVDBx4U3UvSagBPv30I4xG/7VxNSr3N6Hs7GyCgoIICCj5C3lgYCAGgwGHw1He0wn/MH8v4t1Km83W37/j7yXCfIqPlJwznLKdxKsYCDc0B082YwbfSo/YXv7Ut7+TfYSsfhzdsQRcjQZjvenTcgWWlGx/2pt80IyS4U+HcuvUnFH5i3O7U+yQYifb4r6mCnEXRbHbca5YinP+XHwnTwAQ0O06dGMnoO3ZG6mY/NyqIMsOzJYFmEw/43afQZICiIwYg9F4Nzpd4xKPz/L5+C3DynyLlVlN6hKhUXN3VDh3RIYRpqne1yYIgiAIgiBcXcaMGc+6dWv44otP6Nu3X40oiC1Un02bNrJr1w7eeecDQkNDq3s55VLu4FJERAQmkwmbzUZICa3CU1NTsVqtxMaWXBBXEABWHknPK+JdN1xPn/RNHDm0t8jx0cFhOOo1RXI56dKoKdfF9Sl8oOwjZM2T6I7G42p4E9bBn4O69ClMildGPpGFfNCCfNrqr8ytU6PqYETdNpK1vx8nO8uTL5hkiAykXrvIUp/jauNNTsIZPwfXssUoOTlIwcHoJtyGbvQ4NPULL7xelTyeDDLMv5ORMRufLxO1OoyY6PuJirqVgABjicenerz8ZMpkjsWKXVaoHaDhjNtDhEaNQS0KbQqCIAiCIAjl8+GHn1X3EoQaonfv69myZVd1L+OKlDu41LFjR1atWsX8+fOZOHFisWM//vhjADp06FDe0wn/QJcX8U58dRY+YwwN7r2FxWcWsDVtMzIytfS1GRQ+BMceG4FqNSPH3kZMrSLyUxWZkLVPozsyF1fDQViHfFGqwJKiKCjn7fgOmZEPZ4LLn/amahSKqk0kqsahSJqLQQZJwhAZyJD/tKugd6FmUrxe3H/+gXP+XDw7tgGgbtwU3djx6AYNQQoKquYVgtN5CpPpJyyZi1AUN1ptPWJjHyQy4mZUqpLbuwJ8kWbmy3QLXgWaBmq5NzqcwWEGAkRevCAIgiAIgiAIQp5yB5duu+02Vq5cySeffEL79u3p2LFjgTFZWVl88MEHzJ07F0mSGDdu3JWsVfiHynFYyUo7T3od+GT/0wB0q+3v+tYmqC3x835DlmVGjhxHbO26hU+iyBjWPo3u8GxcDQaUKrCk2Nz4Dl1Me7P4uyBKRh2qHrGoW0UgBf/ztq7KFgvORYk4E+ORUy+AWo22/0D0Y8aj6dCp2osRKopCTs5O0k0zsdk2ABAU1J5o4yRCQ/siSSWnr512uWkY6L824gI0tNfruDc6nOsN/6xi7IIgCIIgCIIgCKVV7uBS7969GTt2LPHx8dx+++00a9aMzMxMAJ588kkuXLjAgQMHcLvdAAwePJgbb7yxQhYt/DP4VGa+Pvw5f+5bRD8llAvBOfm6vnk8HhISfic728aAAUOoXVxgad009H/9jqt+P6xDvgR14TWQFI+MfDwL30EzSpLN/6BejbqTEVWbSKQY/T8ywOA5dBBn/Gxca1aBx4MUGYV+8n3obh6D2hhd3ctDUbxkZa0m3fQjDschQPp/9u47OqqiDeDwb0s2m03vAZIAAUJvUkWkCIgoioCKioCiCIqonx1B7KAoFkRBEKRLk15EOiIiRTqETiAJKZuebLL1fn/ERGJ6SCDI+5zDOeHO3LlzN5PN3jcz7+Dh0Q1/v0G4urYoxfkKuzJMzEpIYb8pm1V1QwjT6+jj5c6D3jfnmmchhBBCCCGEuF6uaWujDz/8EHd3d+bNm8fp06cBUKlUrF+/Pl/i5b59+/Lee+9dU0fFf5tDcfDbqQ388ecRolKycFddRq2PZu9OhXoZOfmKnu34JvUa3wHkBAM2b95AfHwcrVu3p0GDIra1Vxy4bR+Ny4mfsIR2Jq3XDNDq81dRFJSYTOzHk3CcSgGLA9SgrnPVsrcicusc3xbN5aNJef/PSDL/Z5J3K+ZszFs2k71iKbaIkwBom7fApe/D6Dp1QVWKZP6VzW7PJCl5BUbjAqzWK6hUenx9HsHP7wmcnUNLPN+mKPyamsEsYwqnsi1ogQe83NGpcwKIt2IgUQghhBBCCCHK6pqCSxqNhtGjR/PYY4+xcuVKDh06REJCAg6HA29vb5o2bcoDDzxA48ZFPPgL8beIlBP88dMMqie6UD3vqG/eVyqVihq1G+b9f8+eXZw/f4a6devTtm2HwhtVFNx2jMHlxAIsIZ1J7TUzX2BJSbPkBJROJKGk5MywUwW4oG7sg6aBNypDyT8el48m5Qso/ReSd1uiosmYNYfstatQ0tJAr0f/QF/0fR9CW7feje4eAFZrHMbERSQmLsXhyECr9SEwcCS+Pg+h1XqXup13oxNYnZKOi0rFE76eDPb1pJruxgfNhBBCCCGEEOJmck3BpVy1atXi5ZdfroimxC0q256Nk12NWavmQN1mjGjXAl/9Pzt5GTy9MXjlBG1OnDjKX3/tJTCwGt269Sx8domi4LZzLC7H52EJvpPUe38ArR7Fasdx+u9lb5cz/m5ci6aVf84sJf/SJXq+2n8hgbficGDd9yfZy5eS8MfvoCiog0MwPPkMzvfch7qEHSGvl6ys0xiNc0lJ/QVFseHsXBs/v1fw9roPtbrkGWOpdjsbUzN42NsDlUpFP293gnVaHvPxxEtbcj4mIYQQQgghhBAFVUhwSYiKYtdoSXLrRos2rQstj4q6xI4dm3F39+Dee/ug1RYyy0RRcPvtHVyOzcFS4w5Ses1EuWLHfvwSjtMpYHWARoU63BN1Ix/UtTxQaW7N5U+O9HTMG9aStWIZjqjLObvddemC5v6+aFu1RaUufDng9aQoChkZe0gwziUj4w8AXF1b4e83BHf3jqhUJfcxzmpjnjGFpclpmBwKoTon2rsZaOXqQivXsgcUhRBCCCGEEEL8o9zBpX379pXrvDZt2pT3kuIWl5ycxC+/rEar1XLffX0xGFwLVlIUXHe9h8vR2WQF3EuK7zvY51yEtL+XvQUZ0DT2QV3fC5XLrRtbtZ09TdbyZZg3/QLZ2ag8PXEZOBiXB/sR2LQ+RmM6V6VNuyEcDiupqRtJMM4lO/s0oMHT8x78/QZhMJRuqe15s4XZCSmsSU3HpkBdZyeG+nlLQEkIIYQQQgghKlC5n64HDRpU5mS3KpWKEydOlPeS4j8ozZJGmjWVuKRLaOxFj6esLBNr167AYrHQu3c/fH39ClZSFAw7P0Y5dIk47bdYL9WES4ngqkXTJiBn2ZuvvuB5twjFasWyYxtZK5ZiO3IYAG2Dhuj7PYzzXT1QOTtTFfJX2+1pJCb9jNG4EJstAbXaBT/fgfj5PY5OV6NMbc01prAiJZ3bDHqG+nlxp7sBdVW4SSGEEEIIIYT4D7mmqRtKKac2aLVavLy8ruVS4j9kxh+RbDqVgENlIsnvHdyyFPptr44POtJ0BR/87XYbGzasJi0thc6duxEaWitfuaIoKJHpqLbvICWxOwq9QVGhru+JprEPqpruqNQVE1C4GXeHsxsTyF61guzVK1CSEkGnw/mee9H3fRinRlUn2b7FEoPRuJCk5OU4HCa0Wn+Cgl7Cx6c/Wo1HiecrisLujCyWJ6cxITgQnVrFM/7ePODlzm0yU0kIIYQQQgghKk25g0vr168vsszhcJCRkcHZs2dZtmwZR44c4bnnnmPgwIHlvZz4D9l0KoGolCyq+WaCyopbZk3UQJyXK+cDutCjvn9eXUVR2Lr1V65ciaZ581Y0adIir8yRbMZxPAn7iSRItwIhODlfRunQCnWjAFT6il/2drPsDqcoCrZDB8lasRTLzu1gt6MODMJl+Ej09z2A2rv0O6pVNlPWCRIS5pKaugmwo9fXw99vMJ6e96BWl7xzm01R2JSawSxjChHZFjTAYVM2bdxcCNY5ESy7vwkhhBBCCCFEpSr303dYWFiJdVq0aEH//v0ZMWIE48ePp1GjRrRs2bK8lxT/IcFeLnzZrzaDdsBdoS1g3yHu69qXRt3uy1fvwIE/OX36JLVqhdGhQyeUbBuO0ynYjyejxGQCoNZl4apZjS4onsx+X6Po3Cq171V5dzjFZCL71w1kr1iG/fw5AJzatEPf9yF0HTqi0lSNHdEUxUF6+i4SjHPJzNwPgJtbe/z9BuPmdnupl9yuSUnnu7gkoqw29CoVA309GezrSXUJKAkhhBBC3JJiYmLo1693sXV0Oh1eXt7UrVuPBx/sR6dOXQrUWbt2NR999F6pr/vyy6/y6KNlm0yxYcNa3n9/HFOnzqBly1aF1omJiaZ//wdQFIVWrVrz7bfTi21zxoxpzJw5naCgaqxcua7Yule/Vt9+O51WrQrfVMlisbBx43q2bdvK6dMRpKSkoNPpqFEjmLZt29O//yNUr169FHd8fZw8eYIff/yBQ4cOkp2dRVBQNe66qzuDBz+FwWAodTvPPTeMgwcPlKruvffez7hx7xdZ7nA4ePbZpzh37izbtv1eoNxsNvPoo/2pVy+ciRO/KHUfq5JKz2isUql444032LFjBzNnzmTKlCmVfUnxH3HmTAR//vk7fn7+dA/vhH39JRznUsGmgFaFuoEXrupNeJz7EFtIS1Lvn1/pgaWqynYpkuwVyzBvWIuSmYnK1RX9QwPQ930IbWjNG929PA6HmeSUdRiN8zGbzwNavL164+c3CBeX+qVqw6ooOP0dfIqx2Eh3OHjO35vHfD3x1laN4JkQQgghhLjx6tSpi6trweeDzMwMLl2KZPfuXezevYvHHx/Eiy/+r8h2mjVrUeK1/P0DytS3hIQEJk2aSNeu3YoMLAGsW7cmLx3NX38d4NKlS4SGhpbpWtciIuIkY8e+SVRUFAAeHh6EhdUlLS2Fc+fOcubMaZYtW8LLL79C374PXbd+FWXfvj/53/9GYbPZ8Pf3p1q1apw/f47Zs2eybdsWpk//EU9Pz1K1VadOXex2e5HlJlMmZ8+eASA4OLjYtqZOncKxY0dxcSk8XYezszPPPz+Kd94Zzbp1a7jvvvtL1ceq5Lpsl1WnTh1cXV3566+/rsflxH9AbGwMWzb/gkHrQo/kxrD6Mg5AVcM1Z7e3ep64HvoC1wOTsQa1JLX3PBSd+43u9nWl2O1Ydu8ie8UyrPv+BEATVgd9v4fR97gHVRmi8pXNZkshMWkpiYk/YbMloVa74e/3JL5+j6FzCixVG/FWG/MSU1iTksHyuiH4aDUM8vVkkK8nBo26ku9ACCGEEELcbF555Y0iZ+Okp6fz1Vefs27dGhYunMcdd9xZZN3p02dVeN8mT/6CrKwsnnvuhSLrKIrChg05s4/at+/Anj27WbVqOaNGvVzh/SnMH3/8zptvvorFYuGOOzry7LPPU79+g7zy2NgrfP/9d2zYsI5PPx2Pk5MTvXv3uS59K0xKSjKjR7+OzWZj1KiXefzxnE3I4uPjefPNVzh58gQTJ47n448/LVV7r732ZrHlo0e/ztmzZ7jtttYMGTK00DoOh4Np075l3rzZJV6ve/e7WbBgLt988yV33tkZD4+S885WJdcluGSxWMjOzsZms12Py4kbaO2llcw8PR1FcQD/LG3Kttmx2nMi7g5fBbVKxXO/q6kf6YbT2WN59ZQsGymHL7Pur7WoHAp3ZzXB1d0FTXvvnOTcXjm5jgx/fp4TWApoQer9C1CcK+cHryom8HYkJ5O9bjXZK3/GERcLGg26rt1w6fcw2uYty7yLY2Uymy9jNM4nKXkVipKNk1M1qlV7FR/vvmg0pZtldtFsYbYxhdUp6VgVqOvsRJzVho9WI0ElIYQQQghRLu7u7rz11liOHTtKZORFVq1aXmRwqaKdPHmCTZs2cvfdvQgtZpXBwYN/ERMTja+vH4888ih79uxm/fo1jBgxEienyk0DkZSUxAcfvIvFYqFv34d4443RBZ4zgoKq8e67H6LVOrFmzUq++OJzbr+9I76+vpXat6IsXbqIjIwM7rjjTgYOHJx3PCAggE8/ncRDD/Vh69bNXLx4gVq1al/TtVau/Jlt27bg5ubGe+99iKaQ9CMxMdFMmPAR+/6eCFASlUrFk08+zVtvvcacObOuWxCxolyX4NKsWbOw2+3UrFl1lueIynEk6RCplhQaeTVBp9blHT8em4bN5kCvzQkGeBt0VPfQUysjA7XZQqPwbtRKrE3694dYr9lHtsrC3dU6UK1tE1TBbvneyAx7v8B1/1dYA5qT+kDlBZagaiXwtp44TvbyJZi3bgarFZWPLy5PPYP+gb5o/PxLbuA6ysw8jNE4j9S0LYCCi74h/v5D8PTsjkpV+redL2ITmW1MQQFaGvQ87efFne4G1FUogCaEEEIIIW5OTk5OtGnTlsjIi5z/O1/p9fDjjz8A0KdP32LrrV+/BoD27W+nTZt2uLm5kZyczM6d2+nWrUel9nHatG9JTk6iRo1gXn31jWL/gP3CCy+xefNGTKZM1qxZyZNPPl2pfSvKunVrAbj//oKzpwICAunQoSPbt29ly5ZNPP30s+W+TmKikcmTvwTguedGERBQcCXG+vVr+eSTj7BYLAQEBPLwwwP49tvJJbbdsWMnfHx8Wb58KYMHP1XqJXxVQbmDS4sXLy62PHfHuAMHDrBjxw5UKhU9elTuD4CoOr5oNwWd5p/g0iOz9+MJLHnyn78GOBKyiNy/Ge8Qb1ysbjguZ7PV/QQpVhMd2t1JvdZtC7Rr2PcVrvu+wOrf9O8ZS5X/w3YjE3gr5mzMWzaTvWIptoiTAGibNcel3yPoOnVBVcl/sSgLRbGTlraDBOMcTKbDALi734m/32BcXVuXakaVoihEZFto6JITzKun19HJ3cBQPy9ucy18fbIQQgghhBDll/MZNTevUWWLjb3Crl078fcP4Lbbis61lJ2dxdatWwDo3LkrTk5OdOrUlfXr17By5fJKDS5lZ2ezceMGAB599HG02uLDBp6enrz33kd4eXnTqFHjUl2jffvbSt2fp59+lmHDRhRbx2hMIDb2CgBNmzYvtE7Tps3Zvn0rBw9eW7qeadO+w2QyUa9eOH379i+0zqlTJ7Hb7fTt+xAjR47i1KlTpWpbq9XSrVsPli5dxNq1qxk4cNA19fV6Kndw6d133y318htFUahRowZPP31jIpii6lBMNuwRyTiOJ6HEZ1GdENKVZNTtA9ideYToMwk0atSMFq3aFDjXsH8yrns/x+rXhNQHFqLova7/DVwn9isxZK/8mex1q1FSU0GvR/9AX/R9+6OtG36ju5ePw5FFUvJqjMb5WCyXUamc8PHui5/fIPT6kneVBLArCpvSMpmVkMzJbAsr6oZQV6/jfi937ve6tXJpCSGEEEKI68NisbBr1w4AGjVqcl2uuXXrFhwOB+3bF79D8rZtWzCZMnFzc6N9+w4A3H13T9avX8P+/XuJjo6iRo3ik0iX17FjRzCbswFoXcgf/AvTuXPXMl2jNEnScwUFBZVYJyrqMgAuLi5FLsurVq1avrrlcebMadatWw3A88+PQq0uPE1H+/Yd6N//kWKXPRalffvbWbp0EVu2bLo1gktQcnRXp9MRGBhI586dGT58+E2XkEpUDMXu4DaLijuzVVi+PwYOQKdG3dSHoxe3cOzIrzQzvMqJQ8cJDg6lU6e7CrzRuhyYguufE7H6NSa1z08oeu8bczOVSHE4sO77k+wVy7Ds3gWKgjo4BMPgoTj36o3avWoFWazWRBKTFpOYuAS7PQWNxpMA/2H4+g7AycmvVG2YHQ5WpaQz25jCZYsNvUrF4z6eeEguJSGEEEIIUYmMxgQmTpxAbGwsOp2Oxx4beF2uu3//XgCaNSt8dk2udetylsR17doNnS5nRUibNu3w9vYhOTmJVatW8PzzoyqljxcvXgRyZtHUrl26PxaXVUUnSU9KSgbA09OryDq5S8xSU1PKfZ2FC+fhcDioVy+c22+/o8h6xZWVJDfwdurUSTIzMwrd8bAqKndwKSIioiL7If4Dxv+2kc3pvwIwcN4BVDjRJVvFwyY1/1M0OFCwB2o5n3YYoyoWx3kHiZfOY3Pz5PfdO/D29uGee+4vkAzN5a/vcNvzCTbfRqT2WVRpgaV/J++G65PA25GejnnDWrJWLMMRdRlUKnQdOqLv+xBObdqhKiIafqNkZ1/AaJxHcspaFMWCThdCYOBz+Hg/gFpdtqVr70QnsCE1A0+NmhH+3jzu64m3tmAyPCGEEEII8Y8//9zN6dM3//NYeHgD2rXrUGntf/HFxAIP5na7jdTUFKKjo1EUBVdXN9599wPCwuoU2U5JS7iWL19L9erVS+yPw+Hg0KGDAISF1S2yXmzsFQ4c2A9Ajx735B3XaDR07343S5cuYt26NTz77HMlLlkrj/T0NKD4QE1VYzZnAeDsXPSzW26Z2Wwu1zUSE41s3vz38+5VCcMrmru7O/7+ASQkxHP48CE6dOhYadeqSOUeiVu2bCE8PJyQkJCK7I+4ie2K3wQuoLEFAhpcHTAoU02mCpYY7Kgb+tAgdQ/H96xFrXVCpQKbswvZwfVwcXGhd+9+ODvr87XpcnAabn+Mx+bbgJRKDCxBweTdULkJvG1nz5C9YhnZv26A7GxUnp64PD4IfZ9+aKrXqJRrlpeiKGRmHiDBOJf09J0AGAzN8PcbgodHF1Sq0gWEEqw21qVmMMTXE5VKxeO+njR1caa/t4fs/CaEEEIIISrUuXNniyxr1ao1t99+B/fd9wDe3sU/Y5S0hMvZWVdsea6UlBRMpkwAgoOLfo5ev34diqLg6+tXYAe7nj3vYenSRSQmGvnttx107dqtVNcuC70+55nMbr95dntXqUp+lshdeVWauoVZseJnrFYrAQGBdO9+d7naKK2QkFASEuKJiYmp1OtUpHIHlz777DMuXbrE/Pnzue220ifjEv99y3vNwd3JA9v+eOw7YjDcE8qgRjkBmt/n/QLAgE++x2yzsWzZQtTZWfTq1QcPj/zJuV0OTcdt90fYfOqT0mcxikvl79JW2cm7FasVy87tZC1fgu1ITtJrbYOG6Ps9jPNd3VH9K7h2oymKjdTULSQY55CVdQJQ4eHRDX+/Qbi6tih1OxfNFmYbU1idko5VgYZ6He3cDLQw6GlhqFr3LIQQQghR1bVr16FSZ/z8V3z77fS84IzNZiUi4iRTpnzNoUMHSUhIoF2720sMLEHFLeFKSUnO+9rNreilThs25Ox61r17jwKrOpo0aUZwcDBRUVGsWrW8QHCpqBxAhfsnzY3mqj/0+vrmpLhIS0vD4XCUsc3SefbZoaWue//9D3D//Q8WW8dgMAA5ebSKkltW3Oym4mzduhmAHj3urpQZY1dz/zslyrUs4bveyv2KXLlyBZ1OJ4ElUShFUbAfNoKLBnW4V97xrPRUNE46FLWadetWkpmZQY8e91KtWv6ZOi6Hf8Dt9w+weYf/HVgqPCnbzcJuTCB79QqyV61ASUoEJyece/ZC3+8RnEq5o8L1ZLdnkpi0AqNxAVbrFVQqPb4+j+DnNxBn59InpTuelc3MhBQ2p2WiAM1dnHna35s2svObEEIIIYS4jrRaJ5o0acbkyVMZOfJZjh49wqhRI5g+/cdyJV0uj7S0nOVmOp2uQNAo1+HDh7h8+RIAixf/xOLFPxXZ3t69fxITE5NvSV7urCOr1Vpif7KysgqcB+S9Hg6Hg8jIi6XKuxQfH4dGoy0ymfa/HTlyqFT1ANq0KTmpeO4SvtTU1CLr5JaVJqD4b1FRlzl//hwAd91VeTv15cr9fuQuUbwZlDu45O7uTmpqKmazudyRP/HfpUSmQ4oFTdsAVNp/It1ZaSnoPbzYtGkDRmM8bdt2IDy8Yb5z9Udm4bbrPWze9Uh5cDGKoXTJoasaRVGwHT5I1vKlWHZuB7sddWAQLsNHor/vAdTleFOrbFZrHGfPTuVy1AIcjgw0Gm8CA57H1/dhtNqy9/fnpHQ2pWVyp5uBp/29uM2gL/Uuk0IIIYQQQlQ0nU7Hhx9O4IknBpCSksKYMW8yc+bcvKTZlSn3udlisWCxWAq9Zm4ib2dn5wIrO65mNCbgcDhYvXoFI0aMzDv+z6yj1BJnHRmNxryvfXz+eeaqX78B/v7+JCQksG/f3lIFl378cSYrVizj9tvv4Msvvymx/p49f5VYpyxq1aoNgMmUSWpqal7y7qtduZKzxKw8qX1++y1nV8GgoGo0blz5OwtmZKQDoNPdPLGWcgeXnnjiCb766is++eQT3nnnnUqZKvdvGRkZTJ06lY0bNxIbG4uHhwetW7dmxIgRNGrUqMztORwOVqxYwcqVK4mIiCArKwsfHx/atGnDM888Q8OGDUtuRAAwbsdSMrlEbvzdfjDnjUrT/J83qZiTR0iOikRVtymxF88RHt6Q1q3b52tHf3Q27r+Nw+ZdN2fGksH/mvtWWKLuwlRk8u7sjRvIWjgX+9/Rbac27dD3fQhdh46oivgrxY2UlX0GY8JcUlI3oCg2nJ1r4+f3Ct5e96FWl+41sSsKm9IyWZmcxtehQTir1Tzr780AXw/q62+eN0UhhBBCCPHfFhRUjVGj/seECR9y5sxpZs6cznPPvVDp1/Xx+SfNR0pKCgEBAfnKs7Oz2bp1EwBDhgxl6NBhRbb14ovPs3fvHtatW82wYSPyZkLVqZOTKNxqtZY46+jUqZNAzqyfq/uiUqm4667uLF78E0uW/ETfvv1xcnIqsp2MjHQ2bcpJf1KvXniR9SqTp6dn3nLBY8eOcMcddxaoc+TvtCRNmjQrc/u555ZmFlVFSElJAfKPmaqu3MGlbt26cfz4cRYtWsSOHTto3749tWvXxs3NrdhA04ABA8p1vYyMDAYOHEhERAR6vZ7w8HBiY2PZuHEjW7du5auvvqJ79+6lbs9isTBy5Eh27sxJTuzr60v16tWJjIxk7dq1bNy4kfHjx/PAAw+Uq7+3Eovdwq6Mr9C4KGjRo0tX4TifhjrMA5XHP9H4XXO/w6HVkenkTGBgNe666+58s1j0R+fgvnMsNq8wUvssRnENKOxyZVZYou7CVETybkVRME39hqyf5qNydUX/0AD0fR9Ce52m2paFoihkZOwhwTiXjIw/AHB1bUXdOiNQlFZA6QLGZoeDVSnpzDGmcsliRa9ScSLLTEtXF4J0WoLK/zYjhBBCCCFEpejTpy+//LKegwcPsGDBXO65595SzdC5FgEBgej1erKzs4mPjysQXNqxYxsZGRmoVCruvbd3sW09+GB/9u7dQ0JCAr///hudOnUBoG7detSoEUx0dBQLFsxl7Nj3Cj3farXmzZLq0qVrgfKnnnqGDRvWERV1mSlTvuLll18rdAWCoihMnPgJGRkZGAwGBgx4vBSvROXo2rU78+bNZtWqFQWCS/Hxcfzxx++o1WruvrtXmduOiMgJxF2PWUsACQkJAISG1rou16sI5X7quzrocuXKFVasWFHiOSqVqtzBpXfffZeIiAjatGnD5MmT8fHxwW63M2XKFL777jtef/11Nm3ahJ9f6ZZQffvtt+zcuRMvLy8mTpxI586dgZxo8eeff868efN4++23adKkCWFhlfsmc7Nz4ACVgpO5MT/d+ymavenYAU3L/N8Lu80KfkEA3HZbGzSaf4af/th83HeOweZZm9QHl+BwDazQPlZ2om4AxWYj4/MJmNetQdukKR6fTEJdBbfvdDispKZuJME4l+zs04AGT897/k7S3Rg/P3eMxnQUpcSmWJKUynfxySTa7Hho1Az39+ZxX098tFVvdpYQQgghhBBXe+ON0Qwe/BhWq5WJE8fz3XczKjWFg0qlonHjJhw4sJ9jx47QpEn+55P163OCPa1atSEoqFqxbXXq1AlfXz8SE42sXLk8L7ikUql46aVXeOONV1i7djVubm48+eTTeHn9k+IiKuoyX375GZGRF3F1dWPYsBEF2vfy8ubVV9/k/fffYfHin7hy5QrDho3INzPp0qVLTJnyFTt3bgfg9ddHlzrnUmUYMOAxfv55KTt3bueHH77nqaeeQaPRkJCQwFtvvYbFYqFHj56EhobmOy8lJTlvplDu8rqrpaen5y2pCw9vUOn3ER8fR3x8HGq1usAYqcrKHVxSSvPkWQHnAERGRrJ+/Xp0Oh2TJk3Kmxqm0Wh46aWXOHHiBNu3b2fOnDm8+uqrJbZnsVhYuHAhAKNHj84LLEFO4qwxY8Zw6tQp9u7dy8KFCxk7dmy5+n2rUTtc8dZ4YTl6HJWXDlVN93zlKpUKu5cfTk5OhIb+80OrP74A9x1vYfOs9XdgKeh6d/2aKWYz6e+PxfLbDpzad8DjgwmoXKpW0mq7PY3EpJ8xGhdisyWgVrvg5zsQP7/H0elqlNzA37IcDlz+np2YanOgAV4P8uUhbw8MmspfHiuEEEIIIURFqF07jMcfH8ScObM4ePAv1q1bTe/efSr1mu3adeDAgf0cPnyIRx8dmHc8Pj6effv2AnDfffeX2I5W60Tv3vczZ86P7Nmzm7i4WAIDc56jOnXqwssvv8o333zNokULWbZsCTVqBOPq6kZSUiKxsVcA8PPz4/PPv8LPr/BUJD179kKn0/H++++wc+d2du7cjq+vH4GBgaSmphIdHQWAi4sLr732Fr163XdNr8218vPzZ+zYd3nnndH88MP3LF++DH9/fy5cOI/FYiEsrA5vvvl2gfOWLl3MzJnTgcJzQRmNCXlflxT0qwiHDx8CoFGjxnh4eFT69SpKuYNLERERFdmPYq1evRqHw0HHjh0JDCw4o2XAgAFs376d9evXlyq4FBERQVpaGiqVip49exYoV6lUdO3alb1793Ls2LEKuYdbheN0CmTZUbcNLBD1t2ucyFapCa9dN2/rRv2Jn3Df/iZ2j5o5gSW3yv9hrWiOjAzSRr+G7dBfOPfoidvb76Kq5K0py8JiicFoXEhS8nIcDhNarT9BQS/h49Mfrab0b1aXzFZ+NKawMTWDNeEh+Gq1POHnyZN+XjipJUm3EEIIIYS4+Tz11DNs3vwr0dFRfPPN13Ts2CnfLJ+KdvfdPZk2bQp//XUAq9Wal8vol1/W4XA4cHV1o2vXu0rVVp8+/Zg7d3ZeYu9hw57LK3v00YG0a3c7a9euYu/ePzEaE4iJicbb24fmzVtw1109uO++3ri5uRdzBejatRtNmjRj5cqf2bt3D5GRkZw6FYGzszP16zegffvb6d//EQICKnblSXnddVd3qlWrzuzZMzl06CBnz54lMDCQzp27MnTosBLvtzApKckAODk5lWunubL688+clCX33HNvpV+rIpXqCXjw4MF4eXkxefLkyu5PoQ4dOgRAy5YtCy3PPR4VFUVsbCxBQcXPfAkJCeHbb78lOTkZlyJml5hMJiAn6bcons1hy/vafsgIWhWaxv/kLlIcDhIvncfs4gZA3bo5UymdTy7Gbdsb2D1qkvLgUhxu1bnZOJISSX3tJexnTqPv/wiuL76C6jokty8NU9aJv5N0bwLs6PX18PcbjKfnPajVRSfk+7fjWWZmJSSzOS0TB9DMxZlkmwNfLXkzmIQQQgghhKgKqlevXqadyPR6PT//vLrA8d69H6B374rPvxsUVI2uXbuxZcsmdu7cTrduOdvaDx78FIMHP1WmtqpXr8Effxwosrx27TBGjfrfNfUXwN/fn2HDRhS6fK4qatiwEZ9+OqnU9Uu6t5YtW13z7natWrUuVRsmk4mtWzfj6enFvfeWPIOtKilVcGnv3r2lzmVUGSIjIwEKrI3M5e3tjcFgwGQyERkZWWJwydvbu9jk34qisHXrVgDq1q1bzl7fOsb+NhOA2hYvlCsm1E18ULn8M7Sijh9k2/efY67VEDUKoaG10MYfxn3b6zg8Qkh5cAkO95svsGSPiSb11RdxRF3G8PRwXIYMrdQ12qWhKA7S03eRYJxLZuZ+ANzc2uPvNxg3t9vL3L+PYxJYlJQGQEc3A0P9vWht0N/w+xRCCCGEEOJm9dRTz7B162bWrFmZF1wSAmDz5l8xmUw8++wQDAbDje5OmVSdtTvFSExMBCh2CpqXlxcmk4nk5ORrvt6KFSs4fvw4AH36VO6a2/+CM4nJ4ApPWe4GQNMifyDSYsrE4aTD4eJKWM3aaNRq3Ha8DahIvXcmDvfS5/upKmznz5H2yigcSYm4vvIGLn0fuqH9cTjMpKSsJ8E4D7P5PKDFy6s3/n6DcHGpX+p27IrCnpQMckOqtxn0pNodPO3nRX2X4nfbE0IIIYQQQpSsbt16dO3aje3bt3L27Bnq1q13o7skqgCHw8HixQvx9PTi4YcfvdHdKbObIriUnZ0NgLNz0Q+3uWW5dcvr4MGDfPDBBwDcddddtGvXrtxt3ejJHbnXr+x+qAA3uwtNUwyoqhnQBOWPsKpUYPXIWSbXqGkL9CcW4hR/mKwWz+Lwa0ilv0wV/DpYjx4h9fX/oWRn4f7eR+hv4F8bbLYUEhOXYkxchM2WiFrthr//k/j5PoZOV/p1zxaHwuqUdH5MSCHSYmVFvWDq6Z2519ude73Lvi5Z3Dqu1/uM+O+QMSPKSsaMKCsZM+Jm8Morr7N//z6+/XYyX375zY3ujqgC1q9fy7lzZ/nwwwm4u998z2A3RXBJo9HgcDiKXYqTuxOd+hpywPz11188++yzZGVlERwczPjx48vdlre3a7nPrWi+vpU7MFUqFd1TbkdlA6+Owbj65b9enJsem7s3TlotLcKroZ36KbhXw6XXOFycK/+HRqPRAODnd+3XytixA+P/Xga1mpDvp+F2xx3X3GZ5mEyRXL78IzFXluJwZKN3rk7tWmOoXv1htNrS32e6zc6caCPToxKIt9jw0mr4X81AwgO88NXdFG8Pooqo7PcZ8d8jY0aUlYwZUVYyZkRV5ufnz6uvvsG7745h//69tG7d9kZ3SdxAZrOZGTOm0aXLXfToUXDTsZvBTfH06OLigtVqxWw2F1nHYrEAOQnZymP79u3873//w2QyERQUxI8//nhNmeCTkzOx229sMnCVKueXamJiOn/H3iqF4nBwX8qdOPQqTDX0ZBnT88ocdhtX4hJxuLhSw9cP2y/j0GYlk3b3t1jSgfT0ohuuIHa7HQCj8dqulf3rL6R//D4qV1c8P/+a7PqNyb7GNssqM/MwCcZ5pKZuARRcXBri7z8EL8/uqFRaUlIASt+nVyJj+TUtk0CthteDfHnY14PQAE8SE9MxVuKYEf8d1+t9Rvx3yJgRZSVjRpRVVRozGo26Sv3RWVQtPXv2omfPXje6G6IKcHZ2ZtWq9Te6G9ek1MEls9nMypUrr/mCDz74YJnP8fb2Ji0tjZScJ+dC5Zb5+PgUWacoixYt4oMPPsButxMaGsqPP/5IcHBwmdv5txv9yyyXolRsX2b8EcmmUwl5/29giCLYEoiphR4XjTrvWqmx0aybOIZMd28ICCbEYEd/4icsNe7AXPcBKGefjm+L5vLRpFLXz0gy4+bjfE2vQdayxWR+PQl1QAAek75BW6v2dfv+KoqdtLQdJBjnYDIdBsDd/U78/Qbj6to6b0Zfafpz2WxlbWo6I/y9UalUPOnnRUd3A7093XFSq/Kmj1f0mBH/fTJmRFnJmBFlJWNGlJWMGSGEuH5KHVzKyMhg9OjR13QxlUpVruBSWFgYkZGRREdHF1qelJSEyWQCoGbNmmVq+8svv2TatGkANGnShOnTp+Pr61vmPt5KNp1KIColi2AvFwDuS+6EAwcerfK/9hmJCdgsZvCrhkalol3yIhS1loxOH13TIvjLR5PyAkal4ebjTEjTsgcdIWe5pWnmdLLmzEQTWhOPL75BE1j8boQVxeHIIil5NUbjfCyWy6hUTvh498XPbxB6fViZ2jqZZWaWMYVfUzNwAG1cXWjt6kJTg56mhvLN9hNCCCGEEEIIIaCMy+KUGxT6b9asGdu2bePgwYM89dRTBcoPHjwIQI0aNfD39y91u1cHljp27MjkyZNxdZVpq6UR7OXCkidbo6RZyJqh5rxvLI29bitQz6FzxqLW0CRQh2fsEUwtn8Puc+27Ibj5OHPPi02vuZ3iKHY7mV9+Rvaq5WgbNMRj4leor2GpZGlZrYkkJi0mMXEJdnsKGo0nAf7D8PUdgJOTX8kNXGVfZhY/JCSzOyMLgDvcXHja35tWElASQgghhBBCCFFBSh1c8vb2ZunSpZXZlyL17NmTr7/+mh07dhAfH09AQEC+8iVLlgDQp0+fUre5atWqvMBSz549mTRpEk5OThXX6VuE/UgiGtQcqHGWxoWUW91zZgw1T1yF3a0ama1fvq79Ky/FYiH9o3exbNuCU6s2uI+fiNpQuYHH7OwLGI3zSE5Zi6JY0OmCCQwcgY93H9Rql3K1uTE1gz0ZWfTydGOonxcNXEo320sIIYQQQgghhCitUgeX1Go1NWrUqMy+FKlOnTr07NmTjRs3MnLkSKZMmUJgYCB2u50pU6awfft2XF1dGTRoUL7zrFYrly5dAiAgICBvO7+0tDQ+/PBDAJo3by6BpXJSbA7sRxK54pTAeZ/YQuvYPLzRYSfMeoqMu74DXdWfGaaYTKSNeQPr/r3outyF+zsfoNLpKudaikJm5gESjPNIT98BgMGlGf7+Q/Dw6IJKpSl1WxaHwpqUdFanpPN9rWro1Wqe9fdmiJ8XIToZ30IIIYQQQgghKsdNsVscwLhx4zh16hRHjhyhe/fu1KtXj7i4OIxGI1qtlq+//rpAMu+4uDjuvfdeACZMmEC/fv2AnJlO6X/vUpaWlsbgwYOLvG5ISAgTJ06spLu6ueQm8o5KySLIN41Z6ybxRFYP1gX8Bv9KoWTOzODXWZNxhDWmuvks9rp3Yqlz3zX34fi2aNISsvHwr5xlXY6UFNLeeBnbyRPo+/TF9X9voNKUPsBTWopiIzV1CwnGOWRlnQBUeHjc9XeS7hZlaivD7mBpUirzElNJsNlxV6s5k22hqUFPgNNN8yMuhBBCCCGEEOImddM8efr5+bFs2TK+//57Nm7cyOnTpzEYDHTt2pURI0bQokWLUre1f//+vK8vXLjAhQsXiqybG4QS+RN5h4WcpeWJMMwqC8eqXeIB/4fy1U2OuYTN3QuAZuozZHSafk1JvHPl7hJX3gTdxbHHxZH26ijskRdxGTIUw9PD83Ziq7Br2DNJTl5JgnE+VusVVCo9vj6P4Oc3EGfnsiWjB5htTGF6fDLpDgcBWg2vBfnykLcHrhp1hfZbCCGEEEIIIYQoyk0TXAJwd3fntdde47XXXitV/eDgYE6dOlXgeG6uJVF2uYm8dxxJoHFWNZLq2JnafXahdW0ePugc2dRr14Nsr7LtblYcD389jbtW7BJNW+RF0l4ZhSM+DtcXX8Hl4UcrtH2rNQ5j4iISE5ficGSg0XgTGPA8vr4Po9WWLUl4qt2O59+zqWyKgq9Ww+v+vtzn6Y5OXbHBMCGEEEIIIYQQoiQ3VXBJVB3B53LyVyXWt1OtkPK0xBgczi5Us14iu/Un17dzZWQ9eYK0119CycjAbez76Hv2qrC2s7LPYEyYS0rqBhTFhrNzbfz8XsHb6z7U6rIl1z6ZZWaWMYUdaZmsDw/Fz0nLYF8vnvLzQlPBM6yEEEIIIYQQQojSKlVwacKECTg7yy5TIoeSbaNapIFT+ouY/QoLLUHc8a2AL/4BNcGpfDudXQ+W/XtJe/t1cDjwmPA5utvvuOY2FUUhI/NPEhLmkpGxGwBX11b4+w3B3b0jKlXpl6wpisK+zGxmGpPZnZEFwB1uLmQ4HPiBzFQSQgghhBBCCHHDlSq41Ldv38ruh6jiZvwRyYVEEzX91Ozatpq29jDWBuykBwPy1Uu8fIGzv/7EqXRnVCorHtWal/oax7dF5+VUKkpGkhk3n4oJdJq3bSb9g3Go9C54fP4FTs1K39fCOBxWUlM3kmCcS3b2aUCNp2dP/P0GYTA0KVeb70QnsColHTXQy9ONp/y8aOgigV4hhBBCCCGEEFWHLIsTpbLpVAIATWomUP2oK2maDP7wOsJAlxfz1Tu5dR1nTpzFHNYYp+R43AOCSn2Ny0eTSgweufk4V0gy76yVP5P5xUTUPr54TJqMtk7dcrdlt6eTmPQzicaFWG3xqNUu+PkOxM/vcXS6suWGsjgU/sw0cae7KwCd3A04q1U86etFiLNTufsohBBCCCHErWb//r2sX7+Ow4cPkphoRK1W4+PjQ9OmzenRoycdOnQssQ2Hw8GuXTvZsmUTJ0+eID4+DofDgaenF3Xq1KVjxzvp3fsB9PrCV2u0b39bocc1Gi16vZ6AgACaNGnG/ff3odk1/rH70qVIBg9+jMGDn2Lo0GGF1lEUhf79HyAmJhqDwZV1637FxaXolSYHDuxn5MhnAVi+fC3Vq1cvtg8PPngfsbFXePrpZxk2bESR9fbs2c0vv6zn6NEjGI05z5r+/v40a9aSvn370bTptb0WFSkx0cgPP3zP77/vIikpEW9vH9q2bcdTTz1DcHBImdv7/PNPWLZsSbF1Fi36mVq1ahdb55tvvmTBgnn8+ON8GjZsVKB87Ni3OHbsCPPnL8bNzb3M/SwrCS6JUqvta6Cfl4ZgiysXwlNYcvcaXLT534jUSWexeeQkqO75+DCCw8oWtHHzceaeF5tWWJ//TVEUsubOwvTD96hrBOP5xTdoqpcvObjFEoPRuJCk5OU4HCa0Wn+Cgl7Cx6c/Wo1HmdrKtDtYmpzGPGMK8TY7y+oGU1/vzN2ebtzt6Vau/gkhhBBCCHErstvtfPTRe2zYsA4AHx9fatcOw2w2Ext7hQ0b1rFhwzo6dOjI+PET0ev1hbZz+vQpPvhgHGfPngHAxcWFatWqo9friY+PZ8+e3ezZs5vZs2fywQcTuO22VkX2KSQkFG/vf/5I7nDYycjIIDo6igsXzrNmzUr69n2I119/C7W67Ds/OxwO3n//HTw8PHn88UFF1vvrrwPExEQDYDJl8uuvv9Cnz/VbqZScnMx7743hzz/3AKDX6wkODsFmsxETE8369WtYv34NDz7Yj9deexOt9sb+gT0+Pp5hw54kLi4WV1c36tatR0xMNOvWrWHbtq1MnvwdTZqU7fk1dzzVqxeOi4uh0DpFjclcu3btZNGihcXWGTnyRQYM6MeXX37OO++8X6Y+locEl0SZBJzW4cCBsZ6NBv8OLGVcQZN4EqtPJwwuLoTUqrgd4iqC4nCQOeUrspcuQlO3Hp6TJqP28S1zO6asE38n6d4E2NHr6+HnNwgvz16o1WV780u02ViQmMqixDTSHQ78tRpeCfShhpPMUhJCCCGEEKI8ZsyYxoYN6wgKqsYHH4zPNyPI4XCwadNGJk2ayO7duxg//gM++GB8gTaOHTvCiy8+j8lkolat2owYMZIOHTqi0+ny6hw/foxvv53MX3/t53//e4EffphDvXrhhfZpyJCh9O79QIHjZrOZNWtW8c03X7JixTI0Gg2vvfZmme951arlHD9+jDFjxhUbmFi/fg0A7dt3YM+e3axatfy6BZfi4+N4+ukhJCTEExZWh+HDn6dTpy6o/t6cKCsri8WLFzJz5nRWrlyOxWJh3LgPrkvfijJ27FvExcXSrVsPxo59DxcXF8xmM59//glr1qxizJg3WbJkRZlyVJ87dxaASZMmExAQUOY+bdu2hffeG4vdbi+2XrVq1enf/xF++mk+99/fhxYtCp9FV1HKHhIVtywfO3hFaTngeoJs94ID2XX3R2RpXFCc9YSFhZcr4l5ZFJuNjI/fJ3vpIrTNW+L5zfdlCiwpioO0tJ2cO/8MZ88+TkrqL7i5taF2re+oV3cJPt4PlDmwBPBRjJEZCSn4ajW8V92fX8Jr8pS/N26aqvPaCSGEEEIIcbPIzs5iyZKfAPjoowkFlpqp1Wp69uzF2LHvAbBp00YuXryQr47JZGL06DcwmUy0bt2W2bPn06XLXfkCSwCNGzdh8uTvaNeufV7AoaycnZ156KFHeO+9jwBYtmwxBw8eKFMb2dlZTJ8+jaCgIHr16l1kvaysLLZt2wLAM88MR6vVcuLEcU6fPlXmfpeVoih88ME4EhLiadSoCdOnz6Jz5655gSXImRn25JNP8/bb4wBYv34tu3f/Xul9K8qBA/s4cuQQ3t4+vPPOe3nLB52dnXnrrbHUrVuPuLjYvIBdacTGXiE9PR0PD48yB5YyMzP56qvPGT36dcxmc6nOeeKJITg5OTF58ldlulZ5yBOsKFFOMu9MOtmMqBQVa7x3FqjjOLuVC/t3E2OoB0CdOvWudzeLpGRnkzb6dcy/bkDXsROek75G7Va6pWYOh5mkpBWcPvMQFyNfJDPzEF5evalXdzFhtafh7t4h3xtiSU5lmZkUa8ShKAA86+/NlyGBrKwXQn8fD9n9TQghhBBCiGsQGRmJyWRCrVbToEHBPDS57ryzEz4+viiKwokTx/OV/fTTfBIS4vHw8OSjjyYUmU8JQKvV8tprb6FSqTh8+BCRkRfL1e+uXbtx552dAZg164cynbty5XKSk5O4774H0GqLXpy0bdsWTCYT1apVp0mTprRu3RbImfVU2TZu3MD+/fvQaDS8995HxeYA6tXrPpo2bQbAokULKr1vRVm3bi0APXr0LDAGNBoNDzyQM+Nr8+ZfS91m7pK4sLA6ZerLmTOnefjhB1m0aCHOzs6MGTOuVOf5+vrSsWMnTpw4xp49u8t0zbKSZXGiRJtOJeDsGkHXrAZccTJywO04D2qH/FPBbuHUsi/YG9OAzDpeqGxWqlUrXx6jiuZITyPtjVewHTuCc6/euL3xNqpi3nBz2WwpJCYtJTFxETZbImq1G/5+T+Lr9xg6p8Ay9UFRFPabspmZkMzvGVkAdPNwo4VBT0MXZ9n9TQghhBBCiAqSG1xxOBzs2bObjh07FVpPpVIxdeoM1Go1/v7/zCBRFIWVK3OCLf36PYSXl3eJ1wwJCWXw4KeoUSMYn3Kk3cjVp09ffvttB3/9dYDMzExcXV1LPEdRFH7+eSkAPXveW2zddetWA9C5cxcAune/mz17drNx4wZGjXq52CDatVq9eiUAnTp1ITQ0tMT6L730KmlpqaVOcv7cc8NKPeOrZctWTJ06o8R6x44dAcgLdP1bs2Y5x48ePYLNZis2sJcrN7hUp4wbSsXERJOUlEibNu147bU3qVmzFh9/XLolg3fffQ/btm1h6dLFtG/foUzXLQsJLolSucc1GZ9MTyKbZvJZi8k082mRV+Zy+AfspjQc+kAUnZ76deqhKcUPVmWzGxNIe/VF7OfP4fLoExieH1XiLCOz+TJG43ySklehKNk4OVWjWrVX8fHui0ZT9sTaO9IymZ6QzJEsM2rgHk83nvLzopEElIQQQgghhKhwNWvWIjAwiLi4WN55ZzQPP/wo99xzb6EzRWrWrFXg2Jkzp0lIiAcoMjBVmOeee6Hcfc7VrFkLAOx2G0ePHi5VIODUqQguX75EjRrBxQZtYmOv8NdfOcGX7t17AtClS1cmThxPRkYGmzf/Su/efa75HgpjsVg4cuQQQN5sqZKUNUl2nTp1S8xBdHXdkjgcDqKjcxKfF7UjXFBQNSDn/uLj40vcSQ9yxhdAaGgtfvllPX/88TtGYwJeXt60adOWe++9v8Dyy9w+fPvt97Rq1abEa/xbmzZt0Wi07NnzR6mDluVx4yMAosqzq430Sq+LTWWn3u3tUBn+GTbq9Bhc932JQ1cfmyYnqt+4edG7JFwv9qjLpL7yAo4rVzCMeAHDwMHF1s80HcGYMJfUtC2Agou+If7+Q/D07I5KVbYfE0VR8oJYuzJMRGRbeMTHgyd9vQhxlkTdQgghhBBCVBatVsvrr7/Fm2++SlZWFnPn/sjcuT/i7+9Py5atadmyJW3atCsyYJCbfyhnWV3D69l1PDw8cHV1IzMzg7i4uFKds3//XoASZ/isX78WRVGoUSM4L3Dj5uZOhw4d2b59KytXLq+04FJ0dBQ2mw2AunUrJ31KeZKgFyc9PQ27PafPnp5ehda5+nhqakqpgku5M5e+//5bTCZTvrItWzaxcOF8Pv/8K0JDa+YrK+tMp6u5ubkTFhbGmTOnOXz4IB06dCx3W8WR4JIoUaDmGE2yupMcZsfVkH/IuP3+PipbFpbqt2NNVWEwGAgKKvmHqjLZTp8i9bWXUFJTcHtrLPr7Cu7KAKAodtLSdpBgnIvJdAgAd/c78fcbjKtr6zLlUgLItDtYlpzGupR05obVQK9WMzzAm+H+3vg5yY+aEEIIIYSoGFeuTCM5ZeON7sY18/bqSbVqIyq83Y4dO/HNN9P49NOP83IgJSQk8OuvG/j11w1AzjbwQ4cOo2vXbvnOTUpKBMDT07NUy5wqmsFgIDMzg9TU1FLVz52NVFIOn/Xr/8kfdLWePXuxfftWjh07yrlzZ68piFGUtLS0vK+9vLwqvP3KkJ2dnfe1s3PBmUSQs7RSp9NhsVgwm7MLrXM1s9lMVNRlADw8PBk79j3atGmHVqvl4MG/+OabL7lw4TwvvTSSefN+KjYvVVmFhdXhzJnTHDiwX4JL4saw2C30yMqZNufXrn6+MqdLO3A+t47s2vcQf0mPooNaIbXKHJSpSNaDf5E2+lUUqxX3Dz/BuVOXAnUcjiySk9eQYJyHxXIZlcoJb++++Ps9gV5ftsRqAIk2GwsSU1mUmEa6w4GfVsMFs5WGLs74VYHlgUIIIYQQQtxqbrutFT/9tIyDBw+wc+d29u3by/nz5/LKz5w5zejRr9OnT19Gj34n77jD4QByViMU5YUXRuTNGPq3e++9n3Hj3i93v202KwClfaSKiSl+6RbAoUMH84IaPXv2yld2xx134ubmRkZGBitXLufVV98oR6+Lp9fr874u7dK1G02lunrvs6K/GbnjJH/9wpnNZh5/fBDx8XGMGvUyfn7+eWUdOtxB48ZNGDToUa5ciWHJkkUMHTqs3P3/t5CQnCWTsbFXKqzNf5MnX1GoGX9EsulUAmqnQ0xLa8lZp1QaVbtqbabdjNvOsShaF/ZrehAVvx98gwirXbrgzPFt0Vw+mpTvWEaSGTef8uciMv+2g/T3xqDSOuHx+dfoWuZfnme1JpKYtJjExCXY7SloNJ4E+A/D13cATk5+5brm1PgkZiakYFYUauqceMXPl/u93HBWy0aMQgghhBCiclSrNqJSZvz816jValq1apOXpyY5OZn9+/fy22872bp1EzabjVWrVtCwYWMefLAf8M/MmtTU1CKTNNetWxeLxZLvWExMFEaj8Zr7nJGRAYC7e+lmraSkJJdYf926NUDObK3atcPylel0Orp27caaNav45Zd1jBz5Yr5gkLrMu1nnBFs0Gk3eEV/ff5Kcp6SklLG90vn880/zljSWJDy8fonL6AyGf5KbWyzmQusoioLVmhMMdHYu+TnWw8ODkSNfLLLc09OT/v0fZurUKezcub1Cg0u54yN3vFQGCS6JQm06lUBUShaPeqfhouiJDnGh8VXhc8PB6WhTL5DR/i0ST6Vh8/DGWaslNKx0a2gvH00qEExy83EmpKlPufqbvW4NGRM/RuXhiefnX6Ot3+CfsuwLGI3zSE5Zi6JY0OmCCQwcgY93H9Tqsu+IkGC14f/3MjdnlYq6eh1D/bzo5uGK5gbO2hJCCCGEEEIUzdvbmx49etKjR0+GDRvOSy+NJCYmmuXLl+YFl8LCcpaFKYrCpUuRhS43e/nl1woc+/zzT1i2bMk19S86OiovWFFYsvHCpKenA/lnB10tOzubrVs3Azmztdq3v63YtrZu3cy99/bOO3b1DnJWq6Ww0/LJyspZHubs/E9/fHx8cXd3Jz09nfPnz3HbbSXn6M3KyiI+Pq7Ur8O5c2fzkoaX5OrAV1EMBlecnJywWq2kpqZSrVrB1C+pqSl5X3t7l7yrYGnUq5ezWujKlYqdYZT7fcwdL5VBgkuiSEE+KfRKbUSW1kKP3q3zjqvTLmM48DU2rzpktXiW5H3foDg507Bx8zItiXPzceaeF8u2C0BhTAvnYZr6Deqganh+8Q2akFAURSEz8wAJxnmkp+8AwODSDH//IXh4dEGlKvkN5WqKorDflM2shBT2ZmbxS3go/k5aBvt58ZSf1w1dCiiEEEIIIYTIMW7c2xw7dpShQ4fRu3fhuVchZ5nQ8OHP8+67Y7h0KTLveKNGjfHw8CQtLZVt27aUmMuoIuUGR5ycnKhfv3TJxHU6HVlZWXkznv5t+/atZGZmoFKp8i3D+re0tFTMZjMrVy7PF1zy9f1nhUdycnKxwR6z2Ux6etrf5/0zW0mtVnP77Xfw66+/sH//Xh566JES72vXrp28885o/P39WbBgKR4eHsXWnzp1RoltloVarSY0tCbnzp3lypWYQpO75waAnJ31+PsHlLpts9lczEynnJlfThWcszcjIyeoVNhOdBVF1u6IItVTnSHUEkR2fR0qp3+Gituu91DZssno9BFodCT9neysbr0GRTVVKRRFIfO7yZimfoOmdhie381AHVydlJSNnD03kPMXniE9fSceHndRJ2w2devOxdOzW5kCSw5FYUtaJk+cj2bohRh+zzDRxd2A5e+1tVqVSgJLQgghhBBCVBEmk4mYmGj++OP3Euv6+eUETq5OMq3VaunTpy8AP/+8lOTkyltG9G+5y9c6duyEwWAo1Tk+PjlBnKKWm+Um8m7VqjVr1vxS5L+nnnoGyAlwXbhwPu/8gIAAPDw8gX92OivKmTOn8nJW/XtXuG7degDw228785KsF2fFip8BCAwMKjGwVFkaNWoCwLFjRwotP3LkMACNGzdBXYq0KIsWLaBz59sZNOjRIuvkLu2rVat2WbtbrNzxkTteKoMEl0ShFMzcbcoZeAFt/wka6S5uwfnCRrLr3o815E4URSFDrUXjsBMQEHj9+mezkfHpR2T9NB9tk6a4Tf6SZNUmIk7dz6XLb5KdfR5fn0eoH76SWjW/wNW1Rbmu82ZUPC9fiuVktpmHvD1YUy+ESaFB1NA5VewNCSGEEEIIIa5Z7m5o27dvzdtJrSibN28CoH37DvmODxnyFP7+ASQlJfLOO6PzZn0UJT4+jsOHD5W/08DWrVvYv38fKpWKQYOeLPV5uVvWx8fHF9qv3MTj9xWxg3au++/vg0aTM1tm1arl+co6deoMwNKli/ISjhcmNyAUEhJaILjUuXNXWrRoid1u4+OPPyAzs/CZVgArV/7MX3/tB8gLet0Id92Vs5Pgxo0byM7OylfmcDhYvXoFAL163Vuq9urWrYfZbObSpUiOHj1coNxkMrFyZc5rnxuMqygJCTnjI3e8VAYJLol8ZvwRySOz92OzHeT2jCYkBJpQ+/y9XtaWjdtv41C0BjLvyNlR4difu3BotHiqKTCD5/i2aH6ZfLTQfxlJhSdFKw3FbCZ93GjM69ag6tqKrLcbcTr6EWKufIbDkU1gwPM0bLCBGjXextm5bD88mXYHG1P/eaO7x9ONoX5ebAyvybs1/KlZxDaUQgghhBBCiBuve/e7/w5i2HnllVHMmTOrQBLjpKQkvvrqc1asWIaHhyeDBw/NV+7m5s5nn32Jh4cn+/fvZdCgx1i3bg0mkylfvUuXIvnuu2949NH+nDlzGoDatcs24yQzM4OFC+fz3ntjAHj88Sdo1Khxqc9v0iQnzUhhs2s2bFiHw+HAYHCla9e7im3H19ePO+/sBMD69evyJSx/9tnnMBgMREZe5OWXRxWYeZSens53332TN/Pq5ZdfLfQab745Bk9PL44cOcSzzw7l999/y7crX1paGlOnfsPEiRMAeOCBvtxxx50lvAKVp337DjRq1ASj0ciYMW/lBRnNZjMTJnzIuXNnCQoK4p577st3XnZ2FhcvXuDixQv5glKtWrXJ+96+++5YIiJO5JXFx8fz+usvExt7hTp16tK7d58KvZfc8dGsWfMKbfdqKqW4PRZFuSUnZ2KzOW5oH1Qq8PNzx2hMp7Tf5Udm7ycqJYtnPQ7zWHJH7L2rYaifMyPJsO9LXPdOIqPDWLJa5uxOsXL+D0SnptKiehB39B2Yr63cIFJRO8CFNPWhcdcaZbonR0YGaaNfIyt+P1mDgsisGYuCDWfnWvj5DcLb6z7U6sKT2RUnyWZnQWIqi5JSSbM7WFInmIYu5d+57mZVnjEjbm0yZkRZyZgRZSVjRpRVVRozWq0ab2/Xkiv+zW63ExFxiqCgkFItsxGFy8hIZ9y4MezevQvISeBcvXoN3N09SE9PIyrqMoqiEBgYxEcfTaBp08IfuC9fvsT48R9y8GDODCgnJycCA4Nwd3fHaEwgISEhr26jRk144YWXCiSrzk2gHRISirf3P5sX2Ww20tPTiI6OwuFwoFKpGDDgMV588ZUyfe+PHTvKM88MwcvLi19+2ZqvbMCAfkRGXuT++x9kzJhxJbb1559/8NJLIwF4772PuOeef2bkHDiwj7Fj38pbJlitWnW8vX3IzMwgKuoydrsdrVbLW2+NLTbX1cWLF/jf/0Zx5UoMAG5ublSvHozdbuPixYvY7TZUKhUPPTSAl19+tVTJtytTZORFnntuGElJiRgMBkJDaxITE01aWhoGg4Fp02YSHl4/3zkHDuxn5MhnAfj22+m0avVP/uKYmBheeGE4MTHRqFQqatSogYuLgfPnz2O32wgODmbKlO8JCqpWYt9yx9aPP86nYcNGRdZLTDRy3313o9PpWL9+E25upduJMJfD4SA29jINGtQv9vshCb1FAdV9E+iZ2JQ0fRZ+9XISk6lTIzEcmILNO5ysZk8DOTmPEjIyUFmyqd/q9kLbqqik3QD2RCPx3wwj7Y6LmBsrQBSurq3w9xuCu3tHVKqy/wKOtliZY0xhRXI62YpCiE7Ly4G+hDnLsjchhBBCCCFuRm5u7nzxxWT+/HMP27Zt5vDhQyQlJXHlSgweHp40b96Czp270qdPv2JzG4WEhDJ16gwOHjzAr79u5MiRQ1y5EsOVK1fw8PCgUaMmtGjRkrvu6kaTJs2K7dPly5e4fPlS3v/VajUGg4E6derSrFlz7r//wUKTRpekSZOmBAeHEBV1mYiIk3ltHDt2JG+G0X333V+qttq2bU+NGsFER0exatXyfMGlVq3asGDBUjZsWMuOHduJjb3CmTOncHNzp27derRt256+fftTvXrxkwdq1arNTz8tY926Nfz223bOnj3D+fNn/w4AVqdFi9vo1++hYoMl11PNmrWYO3chs2b9wO+//8bZs2dwd3enR4+ePP30s2XOjVS9enXmzl3ITz8tYPv2rURFRaFWq6hduzZ33dWdxx57AheXsu9oXpw//9wD5OTyKmtgqSxk5lIluZlnLjVT/87rCZ1JaaMlsFNOEjOPdU/ifHEzKQ8uwVojZ01yTEwUK1YsRme8Qr+hI/ENyf+D9cvkowDXHFxyOKwkRy4i/tw3WAMtoKjw9OqBv99gDIYm19T2y5di2ZKWSUO9jqf9venu4YrmFk7QXZX+0iduDjJmRFnJmBFlJWNGlFVVGjMyc0lcDz//vJTPPptA//4P8/rro290d0QV89xzwzh48AAzZvxY5Cy94pR25pK8Y4l8HCoT92TUwKayE9A6J5G37sKvOF/cTHa9B/MCSwBnz+asK9amJVVKX+z2dOITZhNxoifRGZOweVnwSmlLgwZrqRk6scyBJUVROJCZxYcxCTj+/qTxXIA302tVY3GdYHp6ut3SgSUhhBBCCCHEzef++/vg7+/Pr7/+gtlc/ty24r/n8uVLHDr0F61btylXYKksJLgkgH8SebtYj9A0qy7GUDMqgxaVORW3397F4eSWl8QbcqKXZ89EoDJnozZnFWjv+LZo0hKyy9UXiyWGmJjPORnRk9jYr3CkJuO+2ok66e8Teud0dLoy5mlSFLalZTLofDRPXohhaVIax7Ny3nTr65253c1QIBm5EEIIIYQQQtwMdDodQ4YMJT09nTVrVt7o7ogqZNGiBSiKwjPPDK/0a0nOJQHAplMJRKWYeM0tJ4l1UPtGqCwZeK4ZhCb9MumdPsLhGphX/8qVaLKys9ClJ6EC3Hz887V3+WjObKaQpj6UlinrJMaEOaSkbgLsONur47LYgcshHZ4ffIauTbsy39eGlHS+T0jmnNmKkwoe8vbgST9P2fVNCCGEEEII8Z/Rr9/D/PrrRmbOnEGvXr1xdS39ckzx33Tp0iVWrVpB3779adHitkq/nsxcEnlq+cbSNb0pRo90dAE6PNYNwSnuL0y3jSS7yZB8dc+ePQWANi2Znv97F2dXtwLtefjrS9wNTlEcpKX9xrnzwzh79jFSUn/Bza0NNRKH4vNyEq5H3PCaNLVMgSXHVYvrD5nMxFntDPXzYmN4Td6t4S+BJSGEEEIIIcR/ilqt5p133iMry8SCBXNvdHdEFTBt2hT8/Px54YWXr8v1ZOaSyNPenoDBEY61uQdevzyDLuZPTM2Gktn+rZzMiH9zOBycO3cGg05X6JK40nA4zKSkrCfBOA+z+TygxcurN/5+g2DdITK/noQmIACPSd+gLWUG/mSbnYWJqfySmsHiusEY1GpGBHjzQqA37jd4C0shhBBCCCGEqEwhIaFs3777RndDVBHjx0+8rteT4JIAwEE696SHkaUxUyduCrrLO8lqNJDMju/nCyxBzi5xWVkmavn5kVjG69hsKSQmLSUxcRE2WyJqtRv+fkPw9XscJ20AppnTyZozE01oTTy++AZNYFCJbcZYrMwxprI8OY1sRSFEpyXaYqWe3hlvrQSVhBBCCCGEEEKIyiTBpVvYjD8i2XQqAYAg6wlqWu4g3mcv+ku/kF2/PxldJhQILAH8uX0/AMlHz+X8f9l5dC7WfHUyksy4+Tjn/d9svozROJ+k5FUoSjZOTtWoVu1VfLz7otG4odjtZE76lOxVy9E2aIjHxK9Qe3uXeA+TYo3MM6ZiBxrqdQz196aHh6vs+iaEEEIIIYQQQlwnEly6heUk8c6ihpczDzo8AGiY8QPZ9XqTftckUBVMyeVwOIhPjkRtzcKRcgYAtcZQoJ6bjzMhTX3INB3BmDCX1LQtgIKLviF+/oPx8uyOSuUEgGKxkP7Ru1i2bcGpVRvcx09EbSg8AZ2iKFy22Ah1zjnXT6ultasLQ/29uN3VRXZ9E0IIIYQQQgghrjMJLt3igr1ceKuLlfo/NyJOdwT/sCak9fgG1IUPjejoyzjUDnRpSbTu+wShLdvh5uOXr46i2ElL20GCcRLnzh0CwN39Tvz9BuPq2jpfAEgxmUgb8wbW/XvRdbkL93c+QKUrmHDboSjsSDcxy5jCsaxsfgmvSaCTlkG+ngzx86qw10MIIYQQQgghhBBlI8GlW52ikPjbH2i5Cz/fU6TdMxU0TkVWv3qXODe/gHyBJYcji+TkNSQY52GxXEalcsLbuy/+fk+g19cp0JYjJYW0N/6H7eRx9H364vq/N1D9K/G2VVFYn5LOj8YUzpmtOKmgj5d7XrlaZioJIYQQQgghhBA3lASXbmWKwmP2WTROG0CqNgn//mNA41xkdbvdzvnzZ9DatGgs2XnHbbYkjImLSExcgt2egkbjSYD/MHx9B+Dk5Fd4W3FxpL06CnvkRVyGDMXw9PBCl7S9cimW7ekmXNUqnvLz4glfTwKcZNgKIYQQQgghhBBVhTyl38IGWxfjqcnG1+ZFdFMTAc4FcyflsmZnceLgDpydL+LpUKOunomVE0RF/0Jy8hoUxYJOF0xg4Ah8vPugVrsU2ZYt8iJpr4zCER+H64uv4PLwo3llyTY7O9IzedA7JwfUwz4eNDfoecTHAw+N7PwmhBBCCCGEEEJUNRJcuoVcvTtcuP0sU6yL2Gr7AqvKRugdrYo9d8/imdirraFZ87i8Y5l8SWYSGFya4e8/BA+PLqhUxQeArCdPkPb6SygZGbiNfR99z14AxFiszDGmsjw5jWxFob7emYYuznRyd6WTe+HJvYUQQgghhBBCCHHjSXDpFpK7O1ywlwut7YfY7VyPxqnhRAYnEe5a9HI4AHNmJjq9gt2mJe7AHXhV86BO28YYDA1xdW1equtb9u8l7e3XweHAY/xn6Dp05Ey2mR+NKaxPycAONNDrGOrnRT19waTeQgghhBBCCCGEqHokuHSLCfZyYcmTrfFc/SVrY3tTBwho16DE8zJRoVOpUBw6MD1D+/ualum65m1bSP/gHVR6Fzw+/wKnZjkBqW/jk9mSlklbVz1D/bzp4OZSaO4lIYQQQgghhBBCVE0SXLoV2S3ExB+nSeYLxLklE1Kz5JlH6YoKb0CFusyXy1q1nMxJn4KvH4c//ZrNBnc+UhTUKhWjAnwY6udFM4O+HDcihBBCCCGEEEKIG02CS7cgbfwRDtGZ1g4XUpo5580UUhQFu9VaoL7dbicdBZViB0o/q0hRFLLm/UjazBls63k/i/s9zjmLgtaawSBfLxq6OFNHlr8JIYQQQgghKkhMTAz9+vUuto5Op8PLy5u6devx4IP96NSpy/XpXDktWDCXb775ipYtWzF16owb3Z1ys1qtbNmyiR07tnHqVASJiUZAhbe3F/XrN6RTpy707NkLrfa/H6b44IN3Wb9+DQ899AivvfbWje5Ohfjvf9cEM3ZH8utV+ZYcl38jIOtuTOosarZqA8DxbdEc3fAtFtOFgg34Gmjb5yhOThZs2e6luqbicJA55SuWxcQzf8IU4jy8MCjwpJ8nT/h6EegkQ08IIYQQQghReerUqYurq1uB45mZGVy6FMnu3bvYvXsXjz8+iBdf/N8N6OGt48CBfXz00ftcuRIDgJubG8HBIWi1Wq5cucKOHdvYsWMbs2fP5NNPJxEWVucG91iUlTzh3wKuTuTdo74/f104R0NLV86FGfHW5QyBy0eTsGYnoNK44GzI/4NsDcrAyclCdqof2Vf6ENLUp9jrWa1Wsj/5CPOvG7j03KtYvLwZ5efNAF8PPDXF7yYnhBBCCCGEEBXhlVfeoFWr1oWWpaen89VXn7Nu3RoWLpzHHXfcWWRdcW127NjG22+/id1uo0mTpjz77PO0atUazd/Phg6HgwMH9jF58pecOXOa554bxvz5i/H397/BPa88zz//AoMHP4m7u8eN7kqFkeDSLSI3kTd2M3sPNwMgpEOLfHVUKvANDabXq2PyjtntNhYt+giAmuEDCOw4rMhrXLFYmROXyOboK/y4fSueHTvx0oP384Zej15d9lxNQgghhBBCCFEZ3N3deeutsRw7dpTIyIusWrVcgkuVIC4ulvfffwe73cY999zLO++8nxdUyqVWq2nTph3ffz+LZ599irNnz/Dtt1/z3nsf3aBeVz4/P3/8/P5bwTN54r/FXI7YSOPMVlxyv4h7oF+J9S9duoi1kDxMVzuXbWFMVDz3nr7EgtRM3JKTSH2gH+4ffoKnwSCBJSGEEEIIIUSV4+TkRJs2bQE4f/7cDe7Nf9OMGdMwmUyEhtZk9Oh3CgSWrmYwGHjppVcA2Lp1MxkZ6derm6ICyMylW8ylw5cJIBR9w9Il0j579nSx5R/GJLAkKQ2AlpfO8+jKxXRq3gzXF1/OSxQuhBBCCCGEEFXTP5sb/ZvJZGLFip/ZtWsHFy6cJz09AxcXPSEhoXTpchcDBjyGXu+SVz83mXhwcDBLlqxk2bIlrF27mkuXLqLVamnUqAmPPTaQ22+/o9Ce7N79O4sWLeD06QgsFguNGjVm6NBni+291Wpl1arlbNz4C+fOncVmsxIQEEj79h144onBBAVVy1d/7drVfPTRe/Tt258RI0Yyc+YMduzYRnJyEv7+AfTs2YuhQ59Bq3Vi166dzJ8/h9OnTwHQqFETRox4niZNmpXqlc3MzGDTpo0ADBw4GGdn5xLPad26Lf37P0yzZi3Qap3yjs+YMY2ZM6dzxx0dmTRpcoHzcu8rLKwOCxcuLVD+559/sHTpYo4fP0p6ejre3j60bt2GJ54YQp06dQvUN5lMLFq0gF27dhIVFYXZbCYgIIDWrdvy+ONPEBISmq++oiisX7+WDRvWEhl5kZSUFLy8vGjSpBkPPfQIrf7OdZyrsITe1zp+du7czuLFCzl37iwWi4Xw8Po88cQQXFwMjBz5bKUnhJfg0q1CUdg262uaGVuSQSqHf9vBoV0784rTjVk47Ka8/2dnnycq+jPc3E/RpIlyVTMKp80W6utz3hjCnJ24y0nFw9O+pMH+PzGMeAHDwMHX776EEEIIIYQQohwsFgu7du0AcgInVzMaExg5cjiRkTkP9sHBIQQEBBEbG8PJkyc4efIEu3b9xrRpPxSYjeNwKIwe/To7dmzDw8OTmjVrcfnyJfbu3cPevXsYN+4D7r03/452M2ZMZebMnAf/gIBAgoKqcfToEV54YTjNmjUvtP+pqam89NLzREScBCA0tCYGg4ELF86zbNli1q9fy4QJE2nX7vYC58bHxzNkyOPExcVRu3YYarWa6OgoZs2aQXx8HDVr1uLbbyfj4eFBcHAokZEX2L9/LyNHHmb27AXUrh1W4uu7f/8+zGYzKpWKjh3vLLE+gEql4vXXR5eqbml98cVnLFnyEwDe3t7UqxdOdHQUGzasY9OmjYwZ8y69et2XV99sNvP888OIiDiZ973X6Zy5fDmSFSuWsXHjer79djoNGzbKO+fzzz/h559zglo1agRTt249rlyJYdu2LWzbtoU33nibfv0eKlV/yzN+Jk/+koUL5wEQFBREYGAQx48f47XXXr5uuyFKcOkWoXHYcJxKwi3Qg2MZO7BiyVeuOKxonDwJbnYbCQnziI37BofDglrtjrOzKxpdXXYp7VlwNooLFgsbwmsS5KTlEWMc97z+EkpqCm5vjUV/3wM36A6FEEIIIYQQonSMxgQmTpxAbGwsOp2Oxx4bmK988uQviYy8SNOmzfnkk8/x9fUFwG63s3z5UiZNmsjRo4fZu3dPgZkkMTHRGI0JvP32OO6/vw8qlYrMzAzeeut19u37k6lTv6FXr/vyVnocOLCPmTNnoNFoeeutt7n//gcBSE1N4d13x7Jnz+5C72HcuNFERJykevUajB//KQ0a5AQ70tPT+eyzT/j11w2MHv0G8+b9RI0awfnO/f333wgKqsa8eYuoW7ceADNnTmfGjGmsW7cGgOHDn2fIkKGo1Wri4+MZMeJpYmKiWbZscakCQLkzngICAvH1LTklS2VYtmwxS5b8hI+PL6NHj+XOOzsDYLPZ+Omn+Xz33Td8/PH7hIXVoX79BgCsWbOKiIiT1KxZi2++mUpAQCCQ87q+885b7NnzB99+O5kpU6YBcOHCeX7+eSnOzs58/fW3tGhxW941ZsyYxpw5s5gy5Wvuvfe+fDPdilLW8bN9+1YWLpyHk5MTY8e+R8+evQBISkrivffGsnPn9gp9TYsiwaVbhIJCPY+W2BUbLbpraHXHl/nKf5l8FI0+HkOdhVyJPYDF4sWJE12p17g/R6rXZ64xhZgEGwa1lYE+nuhUKqwH/yJt9KsoVivuH36C83WKiAohhBBCCHGr6x0RWejxb2tXo6azjkizhZEXrhRaZ22DmgDsSsvkkxhjgfJQnRPfhVUHYEFCCj8lphaoc4e7gdE1chIST4hO4Pd0U4E6j/l6MtDfC4Dnz8dwyZI/l2tuPyrLF19MxNXVLd8xu91GamoK0dHRKIqCq6sb7777AWFh/+yYbTabOXz4EABvvTUmL7AEoNFoePjhR1m1agVnz57h/PlzhS5TeuKJITzwwIN5/3d1dWPkyBd58smBJCQkEBMTnRfwmTPnRwAeeeTRvMASgKenF+PHT+SRRx7EaMz/fTp8+BB//rkHjUbDpElf55tJ5O7uznvvfUhMTBTHjh1l9uxZjBkzrkAf33jj7bzAEuQsXZs1awZ2u52OHTvx1FPP5JUFBATQu/cDTJ8+ldOni0+dkispKREg3+t3PVkslrzZYB999Am33dYqr0yr1TJo0JNcvnyZ1atXMHv2TCZM+AyAc+fOANC+/e15gSXIeV1feulVFOVzatasnXf87Nmc+qGhNfMCS7nXGD78ec6ePY2XlzepqamlCi5B2cbPzJnTAXjmmeF5gSUAHx8fJkz4jEcf7U9CQnyprnstbqrgUkZGBlOnTmXjxo3Exsbi4eFB69atGTFiBI0aNSq5gULs3r2bGTNmcOTIEWw2G6GhofTp04chQ4bg5ORUcgM3iQCuEOhSh4u2QzSuczu2q8oURcFQfSsedRaSmWkmJfk2jh8Pp1WrTszyCeb3K0Z8NGpGBfgwwNcDT40G8287SH1vDCqtEx6ff42uZasiry2EEEIIIYQQ19u5c2eLLGvVqjW3334H9933AN7e3vnKnJ2dWbVqPdnZ2ej1+gLn2mxW3N3dAcjOzi60/Y4dOxU4VqvWPwEJk8n09/lZHDx4AKDAUifISXJ999298pY85fr9998AaNOmbaFL1NRqNQMGPM6xY6PZdVU6lKvvsW3btvmO6fV6vL29MRqNtG9fcCmdj4/v333PLFBWGIfDARSezyrXQw89QFRUVKFlTz/9LMOGjSjVtQpz9OiRv3NJ+ecLLF3tnnvuZfXqFezZsxubzfb3MricfEpr1qymdu0wunbtjqenJwC1a4fx9dff5WsjJCQEgDNnTjNlytf06/cQ1avXAHK+D4XliCpJacdPXFwsZ86cRqVS8eCD/Quc4+rqyn333c/s2TPL3IeyummCSxkZGQwcOJCIiAj0ej3h4eHExsayceNGtm7dyldffUX37t3L1ObKlSt58803AahRowbu7u6cPn2azz77jK1btzJ79mx0utIlvq7qutjMAKRl/4HN/58pn1ZrHJej3ser/m5s2T6cShzI9vRgBjX3pU2b27FlZNHF3ZUHvd3zdn3LXreGjIkfo/LwxPPzr9H+PX1QCCGEEEIIcX2UNOunprOuxDodPVxZ6+FabJ2B/l55s4+KkjuDqTi5M6Gup2+/nU6rVq2BnIBQRMRJpkz5mkOHDpKQkEC7drcXCCxdTa/Xk5CQwLFjR7h8+RJRUVFcuHCeM2dO5QWVcgMo/+bvH1Boe7ns9pw/91+5cgWr1YpKpSoyj1G9euEFjl26lDNzrX79hkX2P7csOTmJjIx03Nzc88p8fHzzJczOlXvMy6vg66LV5oQPigsWXc3LywvIWZ5VlAYNGuHjk3/J3MWL50lLSyvVNYpz/nxOcDE9PZ1nnx1aaB2rNSddTFZWFgkJ8VSrVp0HHniQVauWc+lSJJ988jGfffYJDRo05Pbb76Bjx040aJD/NW/QoBHduvVgy5ZNzJ8/h/nz5xAaWpN27W6nY8c7adWqdaGvdXFKO34uXDifVz83APZv9a/T8/pNE1x69913iYiIoE2bNkyePBkfHx/sdjtTpkzhu+++4/XXX2fTpk34+ZVuLefZs2cZO3YsGo2GiRMn0rt3TpT43LlzDB8+nAMHDvDVV1/xxhtvVOZtXRe1Eg/STWlKiiUexSkNNE4oikJKynpiYj7B7kjnZFRvVuh6cjIgCEeQmhfDaqBSqejgbqDDVW2ZFs7DNPUb1EHV8PziGzT/ypIvhBBCCCGEEFWNVutEkybNmDx5KiNHPsvRo0cYNWoE06f/SGhowSBcfHw8X389ie3bt2K32/OOe3h40KZNOyIjL+YFeArj5FT8o3ZufCY9PR0AnU6XF7z5t9xZUlfLzMyZPfTvZX9Xc3U15H1tMpnyBZdcXIpfnqX+e2LBtQgLy9mFzWg0kp6eXuh9fPTRJwWOvfrqi/z++65rvn5GRgaQM7vsyJFDpa7v7u7OrFlzmTt3Nr/+uoHY2FiOHz/G8ePH+OGH7wkLq8Mbb4zOtwTuww8n0KpVG1atWs6pUxFcuhTJpUuRLF26CG9vb5599jn69i1dQm8o/fhJTc1Zslrc97O4MVKRborgUmRkJOvXr0en0zFp0iR8fHyAnPWuL730EidOnGD79u3MmTOHV199tVRtzpgxA6vVyhNPPJEXWAKoU6cOX3zxBQ8//DALFixg+PDhRUYAbxb3JSWj99FzLH07PvVqYrMlERX9MWlpWzivacPitGc4FpITlKtryeJ/dWvTwCX/NpGKomCaNoWshfPQ1A7DY9JkNIVEU4UQQgghhBCiqtLpdHz44QSeeGIAKSkpjBnzJjNnzs23YsVsNjNq1AgiIy8SGBhEnz79aNCgIbVr16ZatZwZWC+99HyxwaXS8vDwyLumzWYtdIaL2WwucMxgyAkcZWZmFNl2brDk6vrXU9u27dFoNNjtNn77bUehy/7KqqhJU4UtT8wNuLRu3TYv+XZpubm58/zzo3j++VGcP3+O/fv35e3Wdv78OV5++QWWLFmRl5NJrVbTr99D9Ov3EAkJCezf/yf79u1j9+7fSE5O5tNPx+Pt7UOXLneV7YZLkHuPucvkCpOVVXRZRbr2cOR1sHr1ahwOBx07diQwMLBA+YABAwBYv359qdozm81s2LABgP79C65LbNasGY0bNyY7O5tt27ZdQ89vPIfDQbhbC8xKNl2qzSakez1One5PWtoWPD26s93wDsc8/ahljOFFYyQ/t2hEJw/XvMzzAIrNRsanH5G1cB7aJk3xnPK9BJaEEEIIIYQQN6WgoGqMGvU/ICdPTm5C5Fw7d24nMvIiHh6ezJ69gKFDn6FDhzvyAkuQM7Opovri7Oz8d1/OFFrn/PlzBY7VrFkLgFOnThbZdkRETpmXl1e+WUvXi7e3N127dgNg3rzZhQbJSkujyZkXY7EU3obRmFDgWGhoLQAiIy8U2W5aWhp//XWAK1di8pb7JScnc+jQQVJSkgEIC6vDI488yueff8Xixcvx8vIiOzubHTtyYgUmk4mIiJNERl4EwN/fn169ejNu3PusWrWBli1zZjht3Lih7DdegtyllAkJ8aSmphRaJzfheGW7KYJLhw4dAqBly5aFlucej4qKIjY2tsT2Tpw4gdlsxsXFhQYNCl9/mNvmvn37ytHjquPwX3/irQvgvGMvkU2cmZd6iEmO56gR/AkhIRNpe+E0A/Ztpv+xSJ7u1KXA9EfFbCZ93GjM69bg1L4Dnl9MQe1xc8/kEkIIIYQQQtza+vTpS8u/NyVasGBuXu4ayNkKHnICP4XlZDp69HBe/auXzJWHXq+nXbuc5NnLly8tUG6xWAoNStxxx50A7Nu3N1/fczkcDpYtWwxA+/YdCpRfL88//yIGg4ELF84zfvwHWCyWYutfuHCes2cLJmL38MgJjkVGRhbIc+VwONi9u+AyuhYtWuLq6kZCQgJbt24p9Ho//vgDzz8/jOeffzav3TfffJURI55m3bq1BepXq1ad4OCQvOsCzJ37I08+OZDJk78sUN/Z2ZmmTZvnq1+RQkJC83Y6XLt2TYFyq9XKL7+UbhLOtbopgkuRkTnTDUNDC8/v4+3tnTfNL7duadoLDg4uci1p9eo5UelLly6Vub9VSeLvF0j0P8GmbvE84T+V71Qvc0zVCqO+Kzt2bCH5xGFqZLoQ6Gha4LVwZGSQ+tpLWH7bgXOPnnhM+BxVCWtzhRBCCCGEEOJm8MYbo3FycsJmszFx4vi8mSshITk5mM6ePZ0vKOFwONixYxtvvPFPKpaidosri2eeGY5Go2XNmlXMmzc7LwiRmZnB+++/Q1TU5QLnNG/egrZt22O323n11ZeIiDiRV5aRkc6HH77L0aNHMBgMDB067Jr7WF7Vq1fno48+xdnZmY0bN/D004PZunULVqs1X73Tp0/x6afjGTz4MeLiYtFotPlyYTVvnjP5IyEhntmzZ+V7jT755GNOnz5V4NoGg4GBAwcDMH78+2zfvjWvzG63s3jxTyxatACAgQMHo9FoAOjZsxcAs2bN4MCB/JNN1q9fy4kTx1Gr1bRt2x6Au+++B7Vaze+//8bixQvzBRwjIk6yZs1KAG6/vXKCfLnf3+nTp+YbrxkZ6bz33lguX74+MY2bIudSYmIiQLGZ/L28vDCZTCQnJ5fYXm62+pLaA0rVXlGuWll2Q/z0/VYuNoxltVcr0lXtcLVl0fl8HG0uJfGnspt0XTwuVk/cksJBb8L8y7qrzlbIWroY2+lTuDz0CK4vvoKqApK6iaotd8ze6LErbh4yZkRZyZgRZSVjRpSVjBlRWrVrh/H444OYM2cWBw/+xbp1q+nduw+dOnWmUaPGnDhxnLfffp1q1arj5eXFlSsxpKSk5M1GOXr0MAkJ1748Ljy8Pm+++Taffvox3347mZ9+WkBQUBAXLpwnKyuLzp275i3Butr773/M//73AhERJ3nyyScIDa2ZN0vIbDbj7u7O++9/XGjC8uupQ4c7mDZtJh9//D5nzpzm7bdfx9lZT1BQEHq9nvj4uHzP3W3btmfUqJfz7ZJXr144d9/di19/3cD06d+xYsVSfHx8iYy8iMVi4ZlnhvPDD98XuPaTTw7l8uVINmxYx1tvvYa/vz9+fv5530uA/v0f5qGHHsk7p2/f/uze/Ru//76LkSOHExgYhI+PDwkJ8RiNRgCGD38+b0laWFgdRox4ge++m8yXX37OzJkzqF69OhkZ6URFRQFw++130Lv3AxX+2gJ07343hw79xbJlS3j77dcJCgrC29snbxw0aNCQiIiTecGzynJTBJdyo8G5a1ELk1tWmshxVlYWQL6kbf+Wu81feSPR3t7Fb+l5Pfg7/cpfXoE4OWx0ubSXOlFxODnsZPydI845ywX/K36olXj8zh8gfUPB6ZZ+L47C77nn8uVgEv99vr7Xf022uLnJmBFlJWNGlJWMGVFWMmZEaTz11DNs3vwr0dFRfPPN13Ts2AkvL2+++246CxfOZ8uWTcTERJOUlIi/fwCdO3flsceeIDU1leHDh7Jv316ys7PzbRNfHg888CBhYWHMmzeHo0ePcO7cOerUqcuTTw5FUZRCg0ve3t5Mn/4jK1cu59dfN3D+/HnsdjtBQdXo2LETjzzyKIGBQdfUr4rSsGEj5s1bxO7du9iyZTPHjx8lLi4Wm82Gp6cXzZu34LbbWtOjR8+8ZV7/Nm7c+zRu3Jh169YQGXkRs9lMq1atGTLkaby9vQsNLqnVat5990O6du3OqlU/c+LEcU6fPo2rqytt27bnwQf7cddd3QucM2HC5/z88xI2b/6VixcvYjQa8fLyonPnrjz88ABat26b75zBg58kJCQkb7e4M2fO4OpqoGXLVtxzz73cf3+fCtmBryivvfYWTZs2Z9myJZw7d4bU1FQaNmzMU089w8mTx4mIOHnNY7QkKkUpKt961dGkSROsVitLliyhefPmhdbp2bMnFy9e5LPPPuOBB4qPCE6dOpWvvvqKO++8kx9++KHQOmvXruXVV1+lZs2a/Prrr2Xuc3JyJnZ7xa+pLIvs9ET+XDcZbYoWH3dfNF7BeWVqlYrqbh5oihngaj9fnBo0uh5dFVWESpXzQSwxMb3InRiEuJqMGVFWMmZEWcmYEWVVlcaMRqMu0x+d7XY7ERGnCAoKqdQHUSHErWPKlK+ZP38Offr0ZfTod8p8vsPhIDb2Mg0a1C929tNNMXPJxcUFq9VabHb53MRgpYnG5eZnKq693LLiZkuV5Eb/MtO7+9L/hS8wGsv/i/VG34O4MRRFvveibGTMiLKSMSPKSsaMKCsZM0KIW8GAAf3w8PDknXfeLzRP9Z49uwGoX79hpfbjpgiH5+ZGyl0TWZjcMh8fn+venhBCCCGEEEIIIcT1FhwcwtGjh5ky5SvS0tLyjmdmZvLZZxM4e/YM3t7edOvWvZhWrt1NMXMpLCyMyMhIoqOjCy1PSkrCZDIBULNmycnK6tTJWcMZExNTZJ3ca5WmPSGEEEIIIYQQQojr7YUXXuLYsaPs3Lmd++/vSXBwCADR0VFkZ2fj6urGe+99jKenV6X246aYudSsWTMADh48WGh57vEaNWrg7+9fYnt169bFYDCQkZHBmTNnim2zZcuW5emyEEIIIYQQQgghRKWqXTuMn35axlNPPUNoaE3i4+OIiYkmICCQAQMeY+7chbRr177S+3FTzFzq2bMnX3/9NTt27CA+Pp6AgIB85UuWLAGgT58+pWrP2dmZLl26sH79epYsWcKYMWPylR85coQTJ07g6upKt27dKuYmhBBCCCGEEEIIISqYj48Pw4c/z/Dhz9+wPtwUM5fq1KlDz549yc7OZuTIkcTFxQE5uyl8/fXXbN++HVdXVwYNGpTvPKvVyrlz5zh37hzp6en5yoYPH45Go2H+/PksXbo07/i5c+d45ZVXABg4cCAeHh6VfHdCCCGEEEIIIYQQN6+bYuYSwLhx4zh16hRHjhyhe/fu1KtXj7i4OIxGI1qtlq+//rpA8u24uDjuvfdeACZMmEC/fv3yyho0aMAbb7zBhAkTGDt2LN999x2enp6cPn0au91Ou3btePHFF6/rPQohhBBCCCGEEELcbG6KmUsAfn5+LFu2jGHDhhEUFMTp06exWq107dqVBQsWcOedd5a5zSeffJJZs2bRsWNH0tPTOXv2LKGhoYwaNYoZM2bg5ORUCXcihBBCCCGEEEII8d+hUhRFudGd+C9KTs7EZnPc0D6oVODn547RmI58l0VpyJgRZSVjRpSVjBlRVjJmRFlVpTGj1arx9nYtdX273U5ExCmCgkJQq2+aeQBCiP8wh8NBbOxlGjSoj0ajKbKevGMJIYQQQgghRBWgUqn+/koiqUKIqiLn/eif96fCSXBJCCGEEEIIIaoAlUqFSgV2+41dASGEELnsdgcqlQSXhBBCCCGEEOKmoFKpMBhcMZtNN7orQggBQHa2CYPBVYJLQgghhBBCCHGz8PLyJDMzA7vddqO7IoS4xdntNkymDLy8PEusq70O/RFCCCGEEEIIUQqenp6YTCaMxjgMBjf0egMajRooftaAEEJUDAW73UF2tgmTKQMPDzc8PSW4dMPk/AKoGqpSX8TNQcaMKCsZM6KsZMyIspIxI8qqKoyZ8vRBpVJRrVo1DIZUUlJSMRpjbviud0KIW4tKBQaDK0FBAXh6epa4JA5ApSjyViWEEEIIIYQQVZGiKHn/hBCisuVsLKAqVUAp33kSXBJCCCGEEEIIIYQQ5XXj54oKIYQQQgghhBBCiJuWBJeEEEIIIYQQQgghRLlJcEkIIYQQQgghhBBClJsEl4QQQgghhBBCCCFEuUlwSQghhBBCCCGEEEKUmwSXhBBCCCGEEEIIIUS5SXBJCCGEEEIIIYQQQpSbBJeEEEIIIYQQQgghRLlJcEkIIYQQQgghhBBClJsEl4QQQgghhBBCCCFEuWlvdAdE6WRkZDB16lQ2btxIbGwsHh4etG7dmhEjRtCoUaNytbl7925mzJjBkSNHsNlshIaG0qdPH4YMGYKTk1MF34G43ip6zDgcDlasWMHKlSuJiIggKysLHx8f2rRpwzPPPEPDhg0r4S7E9VQZ7zP/9uabb7Jy5UpeeOEFRo0aVSFtihunMsZMTEwM33//Pbt27SIuLg5XV1datmzJsGHDaNWqVQXfgbjeKmPMrFu3jp9++omTJ09iNpupXr06Xbp0Yfjw4fj6+lbwHYiq4NNPP2XWrFksW7aMpk2blvl8+QwshBAVT6UoinKjOyGKl5GRwcCBA4mIiECv11OnTh1iY2NJTEzEycmJr776iu7du5epzZUrV/Lmm28CUKNGDdzd3Tl9+jQOh4NWrVoxe/ZsdDpdZdyOuA4qesxYLBZGjhzJzp07AfD19cXf35/IyEiysrJwcnJi/PjxPPDAA5V1S6KSVcb7zL9t376d4cOHA0hw6T+gMsbMnj17eO655zCZTLi7uxMSEkJkZCSZmZmo1WomTJjAgw8+WDk3JCpdZYyZd999l0WLFgHg7++Pt7c3Fy5cwGq14u/vz/z586lVq1Yl3I24UbZt28bIkSOx2+3lCi7JZ2AhhKgkiqjyXnnlFSU8PFwZOHCgkpiYqCiKothsNuWrr75SwsPDlRYtWigJCQmlbu/MmTNK48aNlYYNGypr1qzJO3727FmlW7duSnh4uPLpp59W+H2I66eix8wXX3yhhIeHK23btlW2b9+edzwrK0v58MMPlfDwcKVx48bKuXPnKvxexPVR0WPm39LS0pQ777xTCQ8PV8LDw5XJkydXVNfFDVLRYyYuLk5p1aqVEh4errzzzjuKyWRSFEVRzGaz8u677yrh4eFK8+bNlbi4uEq5H1H5KnrMbNy4UQkPD1caNmyorFixIu/4lStXlIcfflgJDw9X+vbtW9G3IW6gjRs3Kk2bNs37XXLkyJEynS+fgYUQovJIzqUqLjIykvXr16PT6Zg0aRI+Pj4AaDQaXnrpJbp06YLJZGLOnDmlbnPGjBlYrVYee+wxevfunXe8Tp06fPHFFwAsWLCA1NTUir0ZcV1U9JixWCwsXLgQgNGjR9O5c+e8Mr1ez5gxY2jbti1WqzWvnri5VMb7zL+NHz+euLg49Hp9RXVb3ECVMWa++eYb0tPT6dy5Mx988AEuLi4A6HQ6xo0bR1hYGFlZWaxbt65S7klUrsoYMytXrgSgf//++Wa0BQUFMWnSJACOHz9OREREhd2HuDEyMjIYP348o0aNwmw2l7sd+QwshBCVR4JLVdzq1atxOBx07NiRwMDAAuUDBgwAYP369aVqz2w2s2HDBiDnw9i/NWvWjMaNG5Odnc22bduuoefiRqnoMRMREUFaWhoqlYqePXsWKFepVHTt2hWAY8eOXUPPxY1S0WPm33bu3Mny5ctp37497dq1u6a+iqqhoseMxWLJ+930xhtvFChXq9W8/vrrvP766+XKryJuvMp4n4mNjQWgQYMGBcpCQkLw8q8Z4u0AAB96SURBVPIC4MqVK+XosagqIiIi6NmzJ3PmzMHZ2ZmPP/64XO3IZ2AhhKhcElyq4g4dOgRAy5YtCy3PPR4VFZX3Ias4J06cwGw24+LiUuiHsavb3LdvXzl6LG60ih4zISEhfPvtt3z44Yd5Mwn+zWQyATlJv8XNp6LHzNUyMjIYN24cLi4ufPTRR6hUqmvqq6gaKnrMHDlyhPT0dGrVqkXdunULrXPXXXfxzDPP0Lp16/J1WtxQlfE+ExQUBOR8tvm3uLg4UlJSAKhevXoZeyuqkqioKIxGIx06dGDlypU89NBD5WpHPgMLIUTlkt3iqrjIyEgAQkNDCy339vbGYDBgMpmIjIzM+6BVUnvBwcGo1YXHFnM/hF26dKm83RY3UEWPGW9v72ITrCqKwtatWwGKfCgUVVtFj5mrffLJJ1y5coW3336bkJCQCumvuPEqesycPn0a+Oc95NixY6xcuZILFy6g0+lo06YNjzzyCG5ubhV4F+J6qoz3mQEDBrBlyxZWrFhB+/btuf/++wFITEzktddeA6Bdu3bUr1+/gu5C3AihoaHMmTOH9u3bX1M78hlYCCEqlwSXqrjExEQg50NXUby8vDCZTCQnJ5fYXlJSUqnaA0rVnqh6KnrMlGTFihUcP34cgD59+lxze+L6q6wx8/vvv7N06VJatmzJoEGDrrmfouqo6DGTu2zJ29ubL774gunTp6NctZnt1q1bmTNnDtOnT5dAwU2qMt5nOnfuzMcff8xnn33Ga6+9xsSJE/Hx8eHChQtYLBbuuecePvzwwwrpv7hxwsPDK6Qd+QwshBCVS5bFVXHZ2dkAODs7F1kntyy3bnGysrIAit1iNTfhbmnaE1VPRY+Z4hw8eJAPPvgAyFmyIvl0bk6VMWYyMjIYO3YsOp2Ojz/+uMi/EoubU0WPmczMTAA2b97M999/z8MPP8zmzZs5evQoixcvplmzZsTGxjJ8+HDS0tIq4A7E9VZZv5uqVatG7dq1AYiPjyciIgKz2YyTkxP+/v7Y7fZr6LX4L5HPwEIIUbnk034Vp9FoAIrNU5L7193SPLzl1qmo9kTVU9Fjpih//fUXw4YNIysri+DgYMaPH1/utsSNVRljZuLEicTExPDCCy9Qp06da++kqFIqeszkPsglJyfTu3dvPvzwQ0JCQtDpdLRo0YKZM2fi7e3NlStXmDdvXgXcgbjeKuN9ZtGiRTz99NOcOHGC0aNHs3v3bo4ePcq8efOoV68e8+bNY8iQIRKQFIB8BhZCiMom75xVXG4C5eK2XbVYLACl2uLbYDCU2F5uWXF/XRRVV0WPmcJs376dp59+mvT0dIKCgvjxxx+LnWYuqraKHjN//PEHS5YsoVGjRjz99NMV00lRpVT0mLl6s4AXXnihQLmHhwdPPPEEkPP+I24+FT1mkpKS+PTTT1EUhXHjxvHkk0/i6+uLTqejbdu2zJ8/n7CwME6dOsWsWbMq5ibETU0+AwshROWS4FIVl/vAnrvjSWFyy3x8fK57e6Lqqezv8aJFi3j++ecxmUyEhoayYMGCIhO0iptDRY6ZzMxMxowZg0ajYfz48Wi1ktrvv6ii32fc3d2BnKBCrVq1Cq2Tm+w7Kiqq9B0VVUZFj5nff/8dk8lEQEBAobuHGQwGhg4dCsAvv/xS9g6L/xz5DCyEEJVLgktVXFhYGADR0dGFliclJeVtA1+zZs0S28tdnhITE1NkndxrlaY9UfVU9Ji52pdffsm7776L3W6nSZMmLFq0iODg4GvrsLjhKnLMHDt2jOjoaGw2Gw8++CD169fP9y931smUKVOoX78+d911V8XdiLhuKvp9Jrc9RVGKXLKSu6zKycmpzP0VN15Fj5ncJPC57RZ3zeI+84hbh3wGFkKIyiXBpSquWbNmQE7i5MLkHq9Rowb+/v4ltle3bl0MBgMZGRmcOXOm2DZbtmxZni6LG6yix0yuL7/8kmnTpgHQsWNH5s6di6+v7zX2VlQFFTlm3N3due2224r85+npCeQk4b3tttto0qRJBd6JuF4q+n2mefPmQM6SlIiIiELrXLhwASh6K3tRtVX0mHFzcwNykngXJTeIkFtX3NrkM7AQQlQuCS5VcT179gRgx44dhX6AWrJkCVD6LeCdnZ3p0qVLvnOvduTIEU6cOIGrqyvdunUrZ6/FjVTRYwZg1apVeYGlnj17Mm3aNFxdXSugt6IqqMgx06hRI3766aci/+V+YO/fvz8//fQTkydPrsA7EddLRb/P1KxZMy/QOGfOnALlFouFRYsWAdCjR49y9VncWBU9ZnJ3Jz1//jz79+8vtM7KlSvz1RW3NvkMLIQQlUuCS1VcnTp16NmzJ9nZ2YwcOZK4uDgA7HY7X3/9Ndu3b8fV1ZVBgwblO89qtXLu3DnOnTtHenp6vrLhw4ej0WiYP38+S5cuzTt+7tw5XnnlFQAGDhyIh4dHJd+dqAwVPWbS0tL48MMPgZzZBZMmTZJlKf8xlfE+I/7bKmPMvPbaawAsX76cKVOm5CV3NplMjBkzhujoaKpVq0b//v2vwx2KilbRY6ZOnTrcc889APzvf//jzz//zCvLysri/fffZ9euXTg5OTF8+PDrcIeiqpDPwEIIcWOolNw9N0WVZTQaGThwIBcvXkSn01GvXj3i4uIwGo1otVqmTZvGnXfeme+cqKiovL+6TJgwgX79+uUrnz17NhMmTACgevXqeHp6cvr0aex2O+3atWPmzJkSQLiJVeSY+eGHH/jss88AqF27drG7woWEhDBx4sRKuitRmSrjfaYww4cPZ/v27bzwwguMGjWqUu5FXB+VMWYWLFjARx99hMPhwNPTk5CQEC5evEhGRgZeXl5Mmzbt/+3dd1CU1x7G8S8gRYrGgtxYYkdHYzfjWGKFaNRgi4nGelW8MVFTLNHEYYxxLEnE3mOJHYMdEBvXiogFFTWC0bVgIdgFQUS4fzD7XjcsigQ1Mc9nJjPsvu85nPO+a3SfOef3arvK31hef2YSExPx9fXlyJEjQOaWOldXV0wmE6mpqTg4ODBx4kRat2794iYpL0SlSpUACAwMpFq1ahbH9G9gEZGXQ4/x+RsoWrQogYGBzJ07ly1bthAbG4uzszPNmjXj448/pmbNms/cZ+/evalYsSILFy7k2LFjJCQk8MYbb9C2bVt8fX31l+rfXF5+Zh7fbmAymYy6J9Zo9crf1/P4/4y82p7HZ6Zbt27UqFGDBQsWcPDgQWJjYylWrBg+Pj7069ePEiVK5P1E5IXJ68+Mq6srS5YsITAwkA0bNnDmzBl+//133N3dqV+/Pn379jWKOIuY6d/AIiLPh1YuiYiIiIiIiIhIrqnmkoiIiIiIiIiI5JrCJRERERERERERyTWFSyIiIiIiIiIikmsKl0REREREREREJNcULomIiIiIiIiISK4pXBIRERERERERkVxTuCQiIiIiIiIiIrmmcElERERERERERHJN4ZKIiIiIiIiIiORavpc9ABERsa558+Zcvnz5mdrExMT86d8bFxdHixYtAJg/fz6NGzf+030+DwcOHKBnz57ZHs+XLx8ODg64u7tTtWpVWrVqxTvvvIONjc0LHGVWI0aMYN26ddSoUYPVq1dnOR4aGkqpUqWoWrWq8d7jcw0JCaF8+fIvbLzP4mn3BMDW1hYnJyc8PDx488036dGjBzVq1Hgu44mIiCA9PZ0GDRo8l/5FREREJJPCJRGRvzhHR0fc3Nxe9jD+0goWLIi9vb3FexkZGaSkpHDhwgUuXLhASEgIjRs3Ztq0aeTPn/8ljTR7iYmJDBgwgMjISObPn/+yh/OnWbsnAGlpady7dw+TyYTJZCI4OJgRI0bQq1evPP39gwYNYuvWrYwePVrhkoiIiMhzpnBJROQvrnXr1kyYMOFlD+Mvbfr06dSrV8/qsfj4eH744Qc2bdrE7t278ff355tvvnnBI/w/d3d3ypYtS4kSJSzev337NpGRkVbb5M+fn7JlywLg4ODw3MeYF550T1JSUti5cydjx44lISGBiRMnUqtWLapXr55nv3/r1q151peIiIiIPJlqLomIyCvNw8OD77//ntq1awOwatUq7t2799LGM2TIEEJDQ5k8eXKO21SvXp3Q0FBjy9zfnZOTE61atWLatGnY2try6NEjfv7555c9LBERERHJJYVLIiLyyrO1taVTp04ApKamcvTo0Zc7IAGgdu3aRm2pI0eOvOTRiIiIiEhuaVuciMgrLDU1lQ0bNrBjxw5OnTrFrVu3sLOzo0iRItSpU4ePPvqImjVr5ri/jIwMNm3axKZNm4iOjiYxMRFXV1cqVqxIixYt+PDDD7OtZxQfH8+iRYvYvXs3ly9fxtbWlpIlS9KkSRN69eqFu7t7Hs3aun/961/Gz3fu3MlyPCYmhqVLlxIREUF8fDwODg6UKVMGb29vunfvjqurq9V+d+7cSWBgIEePHuXWrVu4uLhQpkwZmjRpQrdu3XjttdcszrdW0PuPxdt9fX0BGDhwIIMGDbJa0Hvu3Ln4+/vj4uJCeHg4Tk5OVsf33XffsWzZMjw9Pdm0aZPFsXPnzrF48WL2799PfHw89vb2lClTBi8vL7p37/5Can2VLFmS6OhoEhISrB6/evUqK1asYP/+/Vy6dInExEScnZ0pVaoUTZs2pXv37hQuXNg4v0ePHhbbC0ePHs3o0aPp0KFDlu2l+/btY9WqVURFRXH79m1cXFyoUqUKPj4++Pj4YGdn93wmLSIiIvKKUbgkIvKKio+Pp1+/fsTGxgKZq3dcXV25d+8ecXFxxMXFsWnTJsaNG0eHDh1y1OfQoUMJCgoCwMbGBjc3N+7cuUNkZCSRkZGsXr2apUuXUqRIEYt2YWFhDBkyhPv37wOZRcoBYmNjiY2NZfXq1UyePJmGDRvm1fSzuHr1qvFz0aJFLY4tXLiQSZMmkZaWBoCrqyupqamcOHGCEydOsHLlSmbPnk2VKlUs2vn7+zN37lzjtZubG0lJSRw7doxjx46xcuVKlixZQrly5Z44tkKFCnH//n1u3boF/L8YtrOzc7Zt2rdvz5QpU0hKSiIsLIzWrVtnOSctLY2QkBDj/McFBAQwZswYY87Ozs6kpaUZc161apXVOee1CxcuAFgNFzdv3szw4cNJTU0FMutNOTg4cPfuXU6ePMnJkydZu3YtAQEBeHh4AJnXrmjRoly/fh3IvJdOTk4W4WBaWhp+fn6sWbPGeM/NzY3ExETCw8MJDw9nzZo1zJgxI0s4KCIiIiJZaVuciMgr6uuvvyY2NpbXXnuNmTNnEh0dzcGDBzl27BgzZsygWLFipKenM378eOPL+5Ns376doKAg7O3tGT9+PMePH+fgwYMcP36c8ePH4+DgwNmzZ5k2bZpFu+PHjzN48GDu379PmzZtCA4O5ujRo0RFRbFp0yaaNWvGnTt3GDhwIL/99ttzuRZpaWmsWrUKyAwRatWqZRxbt24dEydOJC0tjRYtWhAaGsrhw4c5evQoc+bM4fXXX+fatWv4+voSHx9vtDt16hRz587FxsaGoUOHcuTIEQ4dOsTx48eZPXs2BQsWJCEhgXHjxj11fGvWrCEwMNB4/eOPP7Jv3z769u2bbRsPDw/jKWgbN260es7evXu5efMmdnZ2+Pj4GO9v374dPz8/Hj16RLdu3dixYwdRUVEcPXqUgIAAatWqxbVr1+jfv78R0jwP4eHhnDp1CoAmTZpYHIuLi2PEiBGkpqby9ttvExISQnR0NFFRUezbt4/+/fsDmaHh4wHfjBkz2Ldvn/F66NCh7Nu3j1GjRhnv/fDDD6xZswY3NzdGjhxJZGQkhw4dIioqimnTplGsWDEOHjzIZ599RkZGxnObv4iIiMirQuGSiMhfXEhICA0bNnzif2PHjrVoc+HCBfbu3Qtkbgvy8vIiX77MxaqOjo54e3szbNgwIHOL2Llz5546jvDwcAAaN25Mx44djaeW2dvb07FjR/r06YOjo2OWvsaNG8fDhw/p3Lkz/v7+VKhQAVvbzL9+PD09mTVrFnXq1OH+/ftMmTIl9xfKirS0NKKiovjPf/7DiRMnAOjfv7+xciolJYUff/wRgKZNmzJz5kzjqWx2dnY0a9aMZcuW4ebmxvXr15k5c6bR9/79+wGoVKkSvr6+uLi4GO2aN2/OsGHDsLe35/Llyzx8+DBP52VmXnG2d+9ebt++neW4OXR6++23jZVBaWlpRuD1+eef4+fnR8mSJYHM1Wg1a9Zk0aJFlC5dmoSEBObPn5/n475x4wbLly9n8ODBALz22msMGDDA4pxffvmFlJQUChUqxPTp0ylfvrxxrGjRogwZMsQI156lXpPJZGLJkiUAzJ07l969e1OwYEEgc2VUy5YtWbBgAfb29kRERBAWFvan5ioiIiLyT6BtcSIif3EPHjzgwYMHTzwnMTHR4nXRokVZvnw5ly9fxtvb22obT0/PbNtbYw5Pjh07xtmzZy2+7AMMGjSIzz//HBsbG+O9CxcuEBUVBUCXLl2s9mtra0uXLl04fPgwu3btIiUlJdv6QdkZNGgQ9vb2Fu89evSIxMREi2Dngw8+MOoZARw4cMBYmfPFF19YjN2sZMmSdO3alXnz5hEUFISfnx/58uUzrsf58+c5fPgwderUsWjXsWNHOnXqZARpz4O3tzcFChTg7t27hIaGWlzjxMREIxh5fEtcZGSkUd/pww8/tNpv/vz56dChA1OmTGHr1q2MHDnymcdm7Z4AJCUlkZycbLwuXbo0U6dONba1mX3wwQfUqVMHe3v7bOt4eXp6Eh4eTlJSUo7HtX79etLT0/H09Mxyzx7v96233iI8PJytW7fSokWLHPcvIiIi8k+kcElE5C/OWiHip3FxcaFu3brUrVvXeC81NZW4uDjOnz9PTEyMsRIJID09/al9+vj4sGjRIq5fv857771HzZo1adCgAQ0aNKB69erGyqjHmYMlgH79+mVbINlc9yc1NZWLFy9aBF85Ya1AtzkAKl68ONWqVaNdu3YW1wMygzKAwoULU7ly5Wz7b9CgAfPmzSMpKYlz587h6enJO++8w6RJk7h79y4fffQRVatWpVGjRtSvX586deoYK7ueJ0dHR959910CAgIICgqyCJe2bt1KcnIyBQsWtAhHHr8nbdu2zbZvc6B55coVkpKSjDAtp6zdEzMXFxe8vLxo2rQp3t7eVkOoEiVKUKJECYv3bt++zaVLlzh37hzR0dFs27YNyAwSc8r8pECTyfTEGl/mwPXMmTM57ltERETkn0rhkojIK2z//v2sWbOGqKgorly5YhEiPb6iJid1ZSpWrMiMGTMYNWoUCQkJHD58mMOHDzN9+nTc3Nxo3LgxnTt3pn79+kabx58AZi5W/TRPCiWys2TJEurVq/fM7W7evAmQZdXMHz1+3NymcOHC/PTTTwwfPpzz588bBabnzp1L/vz5qV+/Pu3bt6dly5bPPK5n0aFDBwICAjh06BBXrlyhePHiwP+3xLVp08Yi6Hr8nuS0ntKdO3eeOVx6/J6kp6eTkJDAunXrmDVrFklJSdy+fZt69epZDZbMUlJS+OWXX9i2bRunT5/O8tnIzaow8/wfPnyYo/nn5vMoIiIi8k+jcElE5BX17bffsmLFCiCzlk7x4sWpUKECFStWpEaNGhQrVizbbVHZadq0KWFhYezevZuwsDAiIiK4fPky9+7dIzg4mODgYLp27cro0aMBy9AqOjr6hazmeRY5WbEFlvN4fOtcjRo1CAkJISIigh07dhAeHo7JZCI5OZmwsDDCwsJo3rw506dPt7qyKy/UqlWLsmXLYjKZCAoKon///sTHx3PgwAGALE8CNM/Z3d3dqMv1vNna2uLh4cHHH39MjRo18PX1ZdeuXfTs2ZOlS5dSuHDhLG2uXbtG7969MZlMADg5OVGlShXKlStH5cqVqVOnDtu2bWPhwoXPNBbz/Nu0aYO/v/+fn5yIiIiIKFwSEXkVbd682QiWevTowSeffJLlC/zx48dz1beDgwNeXl54eXkBmU/12rNnD0uXLuXs2bOsXLmStm3bUrduXQoVKmS0u3r1KqVLl87ljJ6PIkWKAFg8Bc6aq1evZmljZmdnZxRWh8yVMfv27WPFihUcO3aMsLAwgoKCLOoe5bUOHTrg7+9PSEgI/fv3Jzg4mPT0dCpUqED16tUtzjXfk1u3buWqvtWfVb9+fb766ivGjh3Lb7/9xmeffcbixYuzbJn08/PDZDLh5ubGhAkTaNKkSZZVTtk9Je9JChUqhMlksrinIiIiIvLn6GlxIiKvoNDQUCCzWPKoUaOsrgyJiYkxfs7Jtri1a9fy/fffG09JMzMXvF6+fLnx5d9cy6hatWrGeXv27Mm278WLF+Pt7U2fPn24f//+U8eSV8zBy82bNzl9+nS255nrU+XPn5833ngDyKxpNHnyZEJCQizOdXd3p3379ixbtsx4Qltug7ycat++Pba2tvz666/ExcURFBRkvP9H5nuSlpaW5V4+bty4cbRq1YrBgwfn6PPxLHr06GHUgYqMjGT27NkWx5OSkti9ezcAffr0wcvLy+r2udjYWCBnn18z8/xPnDiR7VbNjIwMunTpQrt27bKMTURERESyUrgkIvIKMj89K7sv3ffu3WPevHnGa3NB7SdZvHgxCxYsyHYbko2NjbHlyPxo98qVKxvFuefNm2f1y/yNGzf46aefuHjxIg4ODjg7Oz91LHmlQYMGxkqkyZMnW71ecXFxBAQEANCiRQtja9+6deuYM2cOc+bMsXginZm16/Ekj6/cyel2PTMPDw8aNGgAwM8//8zJkyexs7OjXbt2Wc5t1KiRETZOnTrV6pMITSYTAQEBmEwm3N3drT5F788aO3asce1nz57NyZMnjWPJycnGvcjuM/zf//6Xw4cPA1i9/uZ6TH+8lj4+PkBm8fjJkydb7XvDhg1ERUVx+vRpypUr9yzTEhEREflHUrgkIvIKqlmzJgAXL15kwoQJxpOvUlNT2b59O++//z4XL140zk9JSXlqn927dwdg9+7d+Pn5GduKMjIyiImJYeDAgTx69AhXV1e8vb2Ndl9//TW2trbEx8fTrVs3IiIiyMjIICMjg6ioKPr06UNCQgKOjo588skneXUJcsTR0ZEvv/wSgJ07d/Lpp59y/vx5IPMJZDt37qRHjx4kJiZSqFAhhg8fbrQ1X4+YmBi++OILzp07Zxy7dOkSX375JTdu3MDOzs4INJ6kQIECxs+5Welkrq20fPlyIDM4K1asWJbznJycGDZsGAC//vorvXr14sSJE0DmnPfs2UPfvn1JSUmhUKFC/Pvf/37mseRE4cKFGTNmDJAZbn711VekpqYCULRoUUqVKgVkhpq7du0yQqLff/+dWbNmMWjQIKMva59f8/WMjo62CKjefPNN41oFBATwzTffcO3aNaOfFStW4OfnB2T+OXr8SXsiIiIiYp1qLomIvIJ69epFcHAw586dY9GiRSxatIgCBQqQmJhofElv1qwZJ06cICEhgbi4uKf22blzZyIiIggODiYgIICAgACcnZ1JS0szQgFnZ2emTp1qsVKnfv36TJgwgVGjRnH27Fl69epl1PkxhwL29vZMmjQpS32gF+H9998nISGBqVOnsmPHDnbs2IGbmxsPHjww5lWiRAmmTJli8dS4hg0b4uvry/z589m2bRvbtm3D0dERW1tbkpOTAciXLx/fffcdZcuWfeo4XFxcqFSpEjExMcycOZPFixfz3nvv8e233+ZoHt7e3hQoUIC7d+8C0LFjx2zP7dixIzdu3MDf35+oqCg6deqEs7MzDx8+NFYBubi4MGfOHEqWLJmj358bXl5e+Pj4sHHjRs6cOcOUKVOMAG/UqFF8+umn3L17l/79+2Nvb4+Dg4OxKs/R0ZH27duzfv167t27x507dyw+d7Vr1yYsLIx169axZcsW3nrrLWO13ujRo7l//z5btmwhMDCQwMDALH8+ypcvz+zZs59bIXYRERGRV4lWLomIvILc3NwICAigb9++lClTBgcHB5KTk/Hw8KBFixbMnDmTOXPm0KhRIwC2bNny1D5tbGzw9/dn8uTJNGnSBHd3dx4+fEi+fPmoWLEiffr0ITQ01Ojzce3atWPz5s307NmTChUqYGtry6NHjyhVqhSdO3dmw4YNFqudXrQBAwawdu1aOnToQIkSJXjw4AHOzs7UrFmTkSNHsnHjRqvB19ChQ1mwYAEtW7bk9ddfN4KJMmXK0LVrVzZu3PjEkOePpk6dSqNGjXBxcSE9PZ3bt2/nuK2joyPvvvsukLlq52krbnx9fVm/fj2dO3emdOnSpKenY2NjQ7ly5Yxw0rwC7nkaNWqUscJq0aJFxla3pk2bsnLlSry9vSlSpAjp6elkZGTg6elJjx492LhxI2PGjDGCyq1bt1r0O2bMGFq2bEmBAgV49OgRd+7cMY45OTkxbdo05syZg7e3N8WKFSM5ORknJyeqV6/OsGHDWLNmjdVaZSIiIiKSlU1GXlfpFBERERERERGRfwytXBIRERERERERkVxTuCQiIiIiIiIiIrmmcElERERERERERHJN4ZKIiIiIiIiIiOSawiUREREREREREck1hUsiIiIiIiIiIpJrCpdERERERERERCTXFC6JiIiIiIiIiEiuKVwSEREREREREZFcU7gkIiIiIiIiIiK5pnBJRERERERERERyTeGSiIiIiIiIiIjkmsIlERERERERERHJNYVLIiIiIiIiIiKSa/8DKoUGLqoyhWIAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 1000x470 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    " #Get the predicted probabilities for each classifier on the test data\n",
    "from sklearn.metrics import accuracy_score, roc_auc_score\n",
    "lr_probs = lr.predict_proba(X_test1)\n",
    "etc_probs = etc.predict_proba(X_test1)\n",
    "gbm_probs = gbm.predict_proba(X_test1)\n",
    "knn_probs = knn.predict_proba(X_test1)\n",
    "svm_probs = svm.predict_proba(X_test1)\n",
    "ada_probs = ada.predict_proba(X_test1)\n",
    "dt_probs = dt.predict_proba(X_test1)\n",
    "rfc_probs = rfc.predict_proba(X_test1)\n",
    "sgd_probs = sgd.predict_proba(X_test1)\n",
    "\n",
    "# Get the true positive rate and false positive rate for each classifier at different probability thresholds\n",
    "lr_fpr, lr_tpr, _ = roc_curve(y_test1, lr_probs[:, 1])\n",
    "etc_fpr, etc_tpr, _ = roc_curve(y_test1, etc_probs[:, 1])\n",
    "gbm_fpr, gbm_tpr, _ = roc_curve(y_test1, gbm_probs[:, 1])\n",
    "knn_fpr, knn_tpr, _ = roc_curve(y_test1, knn_probs[:, 1])\n",
    "svm_fpr, svm_tpr, _ = roc_curve(y_test1, svm_probs[:, 1])\n",
    "ada_fpr, ada_tpr, _ = roc_curve(y_test1, ada_probs[:, 1])\n",
    "dt_fpr, dt_tpr, _ = roc_curve(y_test1, dt_probs[:, 1])\n",
    "rfc_fpr, rfc_tpr, _ = roc_curve(y_test1, rfc_probs[:, 1])\n",
    "sgd_fpr, sgd_tpr, _ = roc_curve(y_test1, sgd_probs[:, 1])\n",
    "\n",
    "# Calculate the area under the ROC curve for each classifier\n",
    "lr_auc = roc_auc_score(y_test1, lr_probs[:, 1])\n",
    "etc_auc = roc_auc_score(y_test1, etc_probs[:, 1])\n",
    "gbm_auc = roc_auc_score(y_test1, gbm_probs[:, 1])\n",
    "knn_auc = roc_auc_score(y_test1, knn_probs[:, 1])\n",
    "svm_auc = roc_auc_score(y_test1, svm_probs[:, 1])\n",
    "ada_auc = roc_auc_score(y_test1, ada_probs[:, 1])\n",
    "\n",
    "dt_auc = roc_auc_score(y_test1, lr_probs[:, 1])\n",
    "rfc_auc = roc_auc_score(y_test1, rfc_probs[:, 1])\n",
    "sgd_auc = roc_auc_score(y_test1, sgd_probs[:, 1])\n",
    "\n",
    "\n",
    "# Plot the ROC curves\n",
    "plt.figure(figsize=(10, 4.7))\n",
    "plt.plot(lr_fpr, lr_tpr, label=f'LR (AUC = {lr_auc:.2f})')\n",
    "plt.plot(etc_fpr, etc_tpr, label=f'ETC (AUC = {etc_auc:.2f})')\n",
    "plt.plot(gbm_fpr, gbm_tpr, label=f'GBM (AUC = {gbm_auc:.2f})')\n",
    "\n",
    "plt.plot(knn_fpr, knn_tpr, label=f'KNN (AUC = {knn_auc:.2f})')\n",
    "plt.plot(svm_fpr, svm_tpr, label=f'SVM (AUC = {svm_auc:.2f})')\n",
    "plt.plot(ada_fpr, ada_tpr, label=f'ADA (AUC = {ada_auc:.2f})')\n",
    "\n",
    "plt.plot(dt_fpr, dt_tpr, label=f'DT (AUC = {dt_auc:.2f})')\n",
    "plt.plot(rfc_fpr, rfc_tpr, label=f'RF (AUC = {rfc_auc:.2f})')\n",
    "plt.plot(sgd_fpr, sgd_tpr, label=f'SGD (AUC = {sgd_auc:.2f})')\n",
    "\n",
    "plt.plot([0, 1], [0, 1], linestyle='--', label='Random Guessing')\n",
    "plt.xlabel('False Positive Rate')\n",
    "plt.ylabel('True Positive Rate')\n",
    "plt.title('ROC Curves using Original Dataset')\n",
    "plt.legend(loc='center left', bbox_to_anchor=(1, 0.5))\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "7e7ecff8",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "id": "ab1f38a1",
   "metadata": {},
   "source": [
    "# ENSEMBLE USING STACKING TECHNIQUE"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "767a41ff",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "              precision    recall  f1-score   support\n",
      "\n",
      "           0       0.96      0.99      0.98      1470\n",
      "           1       0.00      0.00      0.00        63\n",
      "\n",
      "    accuracy                           0.95      1533\n",
      "   macro avg       0.48      0.50      0.49      1533\n",
      "weighted avg       0.92      0.95      0.94      1533\n",
      "\n",
      "[[1462    8]\n",
      " [  63    0]]\n",
      "Accuracy: 0.953686\n"
     ]
    }
   ],
   "source": [
    "from sklearn.model_selection import train_test_split, cross_val_predict\n",
    "from sklearn.tree import DecisionTreeClassifier, ExtraTreeClassifier\n",
    "from sklearn.ensemble import RandomForestClassifier, StackingClassifier\n",
    "from sklearn.pipeline import make_pipeline\n",
    "from sklearn.preprocessing import StandardScaler\n",
    "from sklearn.metrics import accuracy_score\n",
    "\n",
    "# Load the Stroke Prediction dataset\n",
    "#data = pd.read_csv('stroke_data.csv')\n",
    "\n",
    "\n",
    "# Define base classifiers\n",
    "dt = DecisionTreeClassifier(random_state=42)\n",
    "et = ExtraTreeClassifier(random_state=42)\n",
    "rf = RandomForestClassifier(n_estimators=100, random_state=42)\n",
    "\n",
    "# Define the stacking ensemble\n",
    "estimators = [('dt', dt), ('et', et), ('rf', rf)]\n",
    "stacked = StackingClassifier(estimators=estimators, final_estimator=RandomForestClassifier(random_state=42))\n",
    "\n",
    "# Define the pipeline for preprocessing and classification\n",
    "pipeline1 = make_pipeline(StandardScaler(), stacked)\n",
    "\n",
    "# Use cross-validation to fit the stacking ensemble\n",
    "stacked_preds = cross_val_predict(pipeline1, X_train1, y_train1, cv=5)\n",
    "\n",
    "# Evaluate the ensemble on the test set\n",
    "pipeline1.fit(X_train1, y_train1)\n",
    "stacked_test_preds = pipeline1.predict(X_test1)\n",
    "\n",
    "print(classification_report(y_test1, stacked_test_preds))\n",
    "print(confusion_matrix(y_test1, stacked_test_preds))\n",
    "accuracy = accuracy_score(y_test1, stacked_test_preds)\n",
    "print('Accuracy: %f' % accuracy)\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "db1237bb",
   "metadata": {},
   "source": [
    "# ENSEMBLE USING HARD VOTING"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "id": "af3ae7ad",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "              precision    recall  f1-score   support\n",
      "\n",
      "           0       0.96      0.99      0.98      1470\n",
      "           1       0.18      0.05      0.07        63\n",
      "\n",
      "    accuracy                           0.95      1533\n",
      "   macro avg       0.57      0.52      0.53      1533\n",
      "weighted avg       0.93      0.95      0.94      1533\n",
      "\n",
      "[[1456   14]\n",
      " [  60    3]]\n",
      "Accuracy: 0.951729\n"
     ]
    }
   ],
   "source": [
    "# Create individual models\n",
    "model1 = DecisionTreeClassifier(random_state=42)\n",
    "model2 = ExtraTreeClassifier(random_state=42)\n",
    "model3 = RandomForestClassifier(n_estimators=100, random_state=42)\n",
    "# Create ensemble model with Voting Classifier\n",
    "ensemble_model_h = VotingClassifier(estimators=[('svm', model1), ('dt', model2), ('rf', model3)], voting='hard')\n",
    "\n",
    "# Fit the ensemble model to the training data\n",
    "ensemble_model_h.fit(X_train1, y_train1)\n",
    "\n",
    "# Predict on test data using the ensemble model\n",
    "y_pred = ensemble_model_h.predict(X_test1)\n",
    "print(classification_report(y_test1, y_pred))\n",
    "print(confusion_matrix(y_test1, y_pred))\n",
    "accuracy = accuracy_score(y_test1, y_pred)\n",
    "print('Accuracy: %f' % accuracy)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "85f5c63d",
   "metadata": {},
   "source": [
    "# ENSEMBLE USING SOFT VOTING"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "id": "dd738b36",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "              precision    recall  f1-score   support\n",
      "\n",
      "           0       0.96      0.99      0.98      1470\n",
      "           1       0.18      0.05      0.07        63\n",
      "\n",
      "    accuracy                           0.95      1533\n",
      "   macro avg       0.57      0.52      0.53      1533\n",
      "weighted avg       0.93      0.95      0.94      1533\n",
      "\n",
      "[[1456   14]\n",
      " [  60    3]]\n",
      "Accuracy: 0.951729\n"
     ]
    }
   ],
   "source": [
    "# Create individual models\n",
    "model1 = DecisionTreeClassifier(random_state=42)\n",
    "model2 = ExtraTreeClassifier(random_state=42)\n",
    "model3 = RandomForestClassifier(n_estimators=100, random_state=42)\n",
    "# Create ensemble model with Voting Classifier\n",
    "ensemble_model_s = VotingClassifier(estimators=[('svm', model1), ('dt', model2), ('rf', model3)], voting='soft')\n",
    "\n",
    "# Fit the ensemble model to the training data\n",
    "ensemble_model_s.fit(X_train1, y_train1)\n",
    "\n",
    "# Predict on test data using the ensemble model\n",
    "y_pred = ensemble_model_s.predict(X_test1)\n",
    "print(classification_report(y_test1, y_pred))\n",
    "print(confusion_matrix(y_test1, y_pred))\n",
    "accuracy = accuracy_score(y_test1, y_pred)\n",
    "print('Accuracy: %f' % accuracy)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "87ae7f40",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "id": "eeca265a",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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Ro6c9W7bto358+fnei6UK1eOgQMHsn79evGDyWStz3ncLQWGm1i9ejUdO3ZkxIgRYi5miX8XkliWkMhBx44defPNNwHjDHALFy7MVaZt27ai3+rSpUvZvHlzvnUGBQXxySefYDAYKFu2LGPGjMlVZvjw4aLf56RJk/JNB5aSksK4cePQarWoVCrGjRtnbfcA47TCSqWSlJQUPv7443x97G7evCkOlfr4+JgF2bm7u4svF1NwVE6ysrLYtWtXodpmiZw5l9esWcONGzdQKBT07NkzV9mWLVuKL9DvvvvO4sfOgwcP2LRpEw8ePKBkyZKi9ffPP//kxx9/5Mcff7SYGk4mk4lD9NbMfGhquwlLxyguLi5PC/8333zD77//nucU4zmFgCn9WHFgOs5BQUGcPXs213qNRsMvv/xSpLqL414qKqZ+Hjx40OLMfsnJyblmRSwurBkpWLp0qZhHuDBW+eeBWq1m4sSJaLVabGxs+PDDD83Wm9qflwi+ceOGWV7pp+83k3X46eC/gupNS0szC8DMeVxWr17Nzz//nOe1aun+rlatmuhL/9NPP1k0LiQkJLBq1SrCwsKwsbExyzSU08pdmEBGiX8ekliWkHiKKVOmiIFkv/32G+fPn89VZu7cuTRu3Bi9Xs+0adMYNWoUZ86cER/6giBw69YtZs2axdChQ0lOTqZkyZKsWLHCYposJycnlixZgoODAzExMQwcOJBvv/2WBw8eiA/Z1NRUtm3bRq9evbhx4wYymYwZM2ZY7Xdsok6dOkyZMgUwzrL1xhtvsHbtWrPh56ioKJYtW8aAAQNISUkR25cz57RSqaRly5aA0af5jz/+ENt67do1hg0bRkxMTKHalhcmy7tpspjmzZtbzBVtZ2cn5lm9efMmb7/9tuhXqdfrOXnyJO+88w7Z2dm4u7uLk3sADBkyBDBapj755BMza214eDjjx48nISEh1yQo+VG6dGnxZbts2TIOHTqEIAgIgsCZM2cYMmSIRXcRDw8PunbtChhF/2+//SZapnU6HSdOnODrr78GoGHDhmKat+KgTZs2YtDTxx9/zO7du8Xr/N69e7z77rtm1rzC+uc+73upqPTp04dKlSqhVqt55513OHHihCierly5wttvv10kd5OiULt2bVFozZo1y8wKe+fOHT777DMz0ZffNM3Pk6SkJPbt20e/fv3EWRun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\n",
      "text/plain": [
       "<Figure size 800x400 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    " #Get the predicted probabilities for each classifier on the test data\n",
    "pipeline1_probs = pipeline1.predict_proba(X_test1)\n",
    "ensemble_model_s_probs = ensemble_model_s.predict_proba(X_test1)\n",
    "#ensemble_model_h_probs = ensemble_model_h.predict_proba(X_test1)\n",
    "\n",
    "\n",
    "# Get the true positive rate and false positive rate for each classifier at different probability thresholds\n",
    "pipeline1_fpr, pipeline1_tpr, _ = roc_curve(y_test1, pipeline1_probs[:, 1])\n",
    "ensemble_model_s_fpr, ensemble_model_s_tpr, _ = roc_curve(y_test1, ensemble_model_s_probs[:, 1])\n",
    "#ensemble_model_h_fpr, ensemble_model_h_tpr, _ = roc_curve(y_test1, ensemble_model_h_probs[:, 1])\n",
    "\n",
    "\n",
    "# Calculate the area under the ROC curve for each classifier\n",
    "pipeline1_auc = roc_auc_score(y_test1, pipeline1_probs[:, 1])\n",
    "ensemble_model_s_auc = roc_auc_score(y_test1, ensemble_model_s_probs[:, 1])\n",
    "#ensemble_model_h_auc = roc_auc_score(y_test1, ensemble_model_h_probs[:, 1])\n",
    "\n",
    "\n",
    "\n",
    "# Plot the ROC curves\n",
    "plt.figure(figsize=(8, 4))\n",
    "plt.plot(pipeline1_fpr, pipeline1_tpr, label=f'Ensemble via Stacking (AUC = {pipeline1_auc:.2f})')\n",
    "plt.plot(ensemble_model_s_fpr, ensemble_model_s_tpr, label=f'Ensemble via Voting Classifier (AUC = {ensemble_model_s_auc:.2f})')\n",
    "#plt.plot(ensemble_model_h_fpr, ensemble_model_h_tpr, label=f'H (AUC = {ensemble_model_h_auc:.2f})')\n",
    "\n",
    "plt.plot([0, 1], [0, 1], linestyle='--', label='Random Guessing')\n",
    "plt.xlabel('False Positive Rate')\n",
    "plt.ylabel('True Positive Rate')\n",
    "plt.title('ROC Curves using Original Dataset')\n",
    "plt.legend()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "id": "9e97bb71",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Stacked ensemble accuracy (train): 0.9435280961699748\n",
      "Stacked ensemble accuracy (test): 0.9536855838225701\n"
     ]
    },
    {
     "data": {
      "image/png": "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MkXjued8vPaal/PPD5KTo/Lww07OPtvNggV2srLkF+NQptWXtBEjRnDXXXexYsUKFi1axMknn4zFYmH37t088cQTnHLKKVx77bUsW7asUSug5jJ16lQAli9fTkFBQb3lb7/9NkCdkY9NYbPZmD9/Pk8++WSDom/t2rWsX7+e1NTURpt3fv75ZwCOPPLIJveVkZERqeP84IMPGlznpZdeAmDs2LH07t27Wa9B0nGEa+wUJXop0H/+087bb9sZN07nwQf9XWrE2/jxBgsW+FAU0Zi0dm3zXea7g21RebkY+wiyUzxWCTf8dKcJP+3R2PPpp9bIKNpnn/UxYkTruvAGDza45ZYgH3/s4eab/fToYfD223YuvtjN9dc7+eorC1ps9C1KOpA2x0ysVitTpkzhueeeY8WKFdx+++0MHz4cTdP48ssvuf766znxxBN59NFHI96SLWXw4MFMnToVv9/PddddR35+PgC6rvPUU0/x1Vdf4Xa7ueKKK+o8LxQKsXPnTnbu3EllZWXkcbvdHmm4ue+++yLbA/j222+54YYbANEI5Gqg0KWioiKSrh85cmSTx64oSsTC6K233uLll1/GqG6l1TSNv/3tb7z88suoqsott9zSkrdF0kGUlkZ3FNtbb9n45z/tjByp8/jjvi7ZFHLkkQZPP+3DZoObb3ayZk3zRWZXtS0yTcjPV9i2TSUuzsTt7uwjkjRFd2r4CTf2OJ3Ri5a/846NefOc9Ohh8txzPgYNarvFg9sNF1yg8dprPp591suUKSE2bLBwxx1xnH++i3/+00ZRUde9uZS0DMVsJ1+c3bt389lnn7F06VI2bdoUqT088sgjufjii5kxY0aL6g2Lioq47LLL2LNnD3a7naFDh5Kfn09RURFWq5Xnn3+eE044oc5zcnJy+NWvfgXAww8/zPnnnx9ZVlxczCWXXEJWVhZ2u51Bgwbh8XjIzs4G4Morr+T2229v8Fh27NgREahff/11pEGnMUzT5C9/+QvvvfceIGyS+vbtS05ODmVlZVitVubNm8d5553X7PejNqWlHjStG/u/dCLBIGzapOBwiNqutvLpp1bmzXMyYIDB8897qZ4P0GXZulVl9uw4fD546CE/J5zQvGyF1yvMgEeO7BpG5IYhotj79olmnq4UcT6UCQTEd3j06K7dgJWfr5CVFb3671desfH88w769zd4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iVIOHjyYZ555BqvVynfffcemTZvq7DMcwRw2bFjr3gSJRCKRSCSSLkKLHbJTU1P5wx/+wKeffsobb7zB+eefT1xcHIFAgCVLlkQim48//jg//fRTVA7y448/xjAMjj/++Abtjy666CIAlixZ0qztffPNN4RCIZKSkrjwwgvrLU9NTeXMM8/ENE0+/vjjyOPfffcdAJMnTyY5Obne8w477DAGDRoEUE9gbtu2DZACUyKRSCQSSfenTe6848aNY9y4cdx1110sWbKE9957jw0bNgDw2muv8dprr9GvXz/OPPNMZsyYweDBg1u1nx9++CGyv8aOAyAnJ4e8vDx69erV5PZyc3MBGD58ODZbw15yAwcOBKgjki+55BLGjx9P7969G922x+MBRANRmPz8fEpLS3G5XPTt27fJY5NIJBKJRCLp6kRl/IPL5WLmzJnMnDmT3bt388477/Dxxx9TVFTE3r17ee6553juuecYOXIk77//fou3n5WVBUD//v0bXJ6SkoLL5cLr9ZKVlXVQgRmOslqtjb/8UCgE1IhREIK0qaamX375JbL+0KFD6zwOMGTIEDZv3sxHH33E9u3bsVqtjBw5kgsvvFBOPZJIJBKJRNJtiPp8sYEDB3Lrrbdy00038eWXX/Luu++yatUqNE1jy5YtrdpmcXExIIRkYyQnJ+P1eiktLT3o9sJibtu2bei6jsVSf3bvjh07AKioqGjWMRqGwfz58yPbrx1tDddf7tixg/PPP7/O81asWMGLL77I3XffHUn1SyQSiUQikXRlWlyD2VwsFgtTpkzh+eef58svv2Tu3LmNRiAPht8vJlo4HI1PsQgvC6/bFJMmTSIuLo6ioiLeeuutesuzs7P59NNPgZpI5sF49NFH+fbbbwG49dZb64jWsMAMBoNcc801LFu2jI0bN7JkyRIuuOACQqEQ9957L8uWLWvWviQSiUQikUhimXYTmLXJyMjg6quvZunSpa16flisNWU8HHZbaswcvTbJyclcddVVgLAPev755ykqKiIQCLB69WquuuoqXC4xFrGpNHqYxx9/nJdffhmAK664gtNPP73O8mOPPZYLLriAxx57jBtvvJF+/fpht9sZPHgw8+fP59JLL8U0TR599FGa4RolkUgkEolEEtN0iMBsK2Gz80Ag0Og6wWAQAKezeWPVZs2axa9//Ws0TWPBggUc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\n",
      "text/plain": [
       "<Figure size 700x400 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "from sklearn.datasets import load_iris\n",
    "from sklearn.model_selection import train_test_split, learning_curve, cross_val_predict\n",
    "from sklearn.tree import DecisionTreeClassifier, ExtraTreeClassifier\n",
    "from sklearn.ensemble import RandomForestClassifier, StackingClassifier\n",
    "from sklearn.pipeline import make_pipeline\n",
    "from sklearn.preprocessing import StandardScaler\n",
    "from sklearn.metrics import accuracy_score\n",
    "\n",
    "\n",
    "# Split the data into training and testing sets\n",
    "\n",
    "# Define base classifiers\n",
    "dt = DecisionTreeClassifier(random_state=42)\n",
    "et = ExtraTreeClassifier(random_state=42)\n",
    "rf = RandomForestClassifier(n_estimators=100, random_state=42)\n",
    "\n",
    "# Define the stacking ensemble\n",
    "estimators = [('dt', dt), ('et', et), ('rf', rf)]\n",
    "stacked = StackingClassifier(estimators=estimators, final_estimator=RandomForestClassifier(random_state=42))\n",
    "\n",
    "# Define the pipeline for preprocessing and classification\n",
    "pipeline = make_pipeline(StandardScaler(), stacked)\n",
    "\n",
    "# Use cross-validation to fit the stacking ensemble\n",
    "stacked_preds = cross_val_predict(pipeline, X_train1, y_train1, cv=5)\n",
    "\n",
    "# Evaluate the ensemble on the test set\n",
    "pipeline.fit(X_train1, y_train1)\n",
    "stacked_test_preds = pipeline.predict(X_test1)\n",
    "\n",
    "# Print the training and testing accuracy\n",
    "train_accuracy = accuracy_score(y_train1, stacked_preds)\n",
    "test_accuracy = accuracy_score(y_test1, stacked_test_preds)\n",
    "print(\"Stacked ensemble accuracy (train):\", train_accuracy)\n",
    "print(\"Stacked ensemble accuracy (test):\", test_accuracy)\n",
    "\n",
    "# Plot the learning curves\n",
    "train_sizes, train_scores, test_scores = learning_curve(pipeline, X_train1, y_train1, cv=5, train_sizes=np.linspace(0.1, 1.0, 10), scoring='accuracy')\n",
    "train_mean = np.mean(train_scores, axis=1)\n",
    "train_std = np.std(train_scores, axis=1)\n",
    "test_mean = np.mean(test_scores, axis=1)\n",
    "test_std = np.std(test_scores, axis=1)\n",
    "plt.figure(figsize=(7, 4))\n",
    "plt.plot(train_sizes, train_mean, color='blue', marker='o', markersize=5, label='Training accuracy')\n",
    "plt.fill_between(train_sizes, train_mean + train_std, train_mean - train_std, alpha=0.15, color='blue')\n",
    "plt.plot(train_sizes, test_mean, color='green', linestyle='--', marker='s', markersize=5, label='Testing accuracy')\n",
    "plt.fill_between(train_sizes, test_mean + test_std, test_mean - test_std, alpha=0.15, color='green')\n",
    "plt.grid()\n",
    "plt.xlabel(' Training samples')\n",
    "plt.ylabel('Accuracy')\n",
    "plt.legend(loc='lower right')\n",
    "plt.ylim([0.88, 1.02])\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "7e6b16e4",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "286d805d",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "id": "3a2f2981",
   "metadata": {},
   "source": [
    "# SINGLE MODELS ON SMOTED DATA"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "id": "c4b504ee",
   "metadata": {},
   "outputs": [],
   "source": [
    "from imblearn.over_sampling import SMOTE\n",
    "X_train1, X_test1, y_train1, y_test1 = train_test_split(X_resampled, y_resampled, test_size=0.3)\n",
    "sm = SMOTE(random_state=2)\n",
    "x_train_res, y_train_res = sm.fit_resample(X, y.ravel())\n",
    "X_train1, X_test1, y_train1, y_test1 = train_test_split(x_train_res, y_train_res, test_size=0.3)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "id": "10e3fe73",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "LR\n",
      "              precision    recall  f1-score   support\n",
      "\n",
      "           0       0.82      0.73      0.77      1492\n",
      "           1       0.75      0.84      0.79      1425\n",
      "\n",
      "    accuracy                           0.78      2917\n",
      "   macro avg       0.78      0.78      0.78      2917\n",
      "weighted avg       0.79      0.78      0.78      2917\n",
      "\n",
      "[[1087  405]\n",
      " [ 233 1192]]\n",
      "Accuracy: 0.781282\n",
      "Execution time:  0.471738338470459 secs\n",
      "ETC\n",
      "              precision    recall  f1-score   support\n",
      "\n",
      "           0       1.00      0.95      0.97      1492\n",
      "           1       0.95      1.00      0.97      1425\n",
      "\n",
      "    accuracy                           0.97      2917\n",
      "   macro avg       0.97      0.97      0.97      2917\n",
      "weighted avg       0.97      0.97      0.97      2917\n",
      "\n",
      "[[1412   80]\n",
      " [   0 1425]]\n",
      "Accuracy: 0.972575\n",
      "Execution time:  0.12369918823242188 secs\n",
      "GBM\n",
      "              precision    recall  f1-score   support\n",
      "\n",
      "           0       1.00      0.95      0.97      1492\n",
      "           1       0.95      1.00      0.97      1425\n",
      "\n",
      "    accuracy                           0.97      2917\n",
      "   macro avg       0.97      0.97      0.97      2917\n",
      "weighted avg       0.97      0.97      0.97      2917\n",
      "\n",
      "[[1410   82]\n",
      " [   0 1425]]\n",
      "Accuracy: 0.971889\n",
      "Execution time:  4.984637260437012 secs\n",
      "KNN\n",
      "              precision    recall  f1-score   support\n",
      "\n",
      "           0       1.00      0.89      0.94      1492\n",
      "           1       0.90      1.00      0.95      1425\n",
      "\n",
      "    accuracy                           0.95      2917\n",
      "   macro avg       0.95      0.95      0.95      2917\n",
      "weighted avg       0.95      0.95      0.95      2917\n",
      "\n",
      "[[1334  158]\n",
      " [   0 1425]]\n",
      "Accuracy: 0.945835\n",
      "Execution time:  0.5325472354888916 secs\n",
      "SVC\n",
      "              precision    recall  f1-score   support\n",
      "\n",
      "           0       0.64      0.63      0.64      1492\n",
      "           1       0.62      0.62      0.62      1425\n",
      "\n",
      "    accuracy                           0.63      2917\n",
      "   macro avg       0.63      0.63      0.63      2917\n",
      "weighted avg       0.63      0.63      0.63      2917\n",
      "\n",
      "[[945 547]\n",
      " [537 888]]\n",
      "Accuracy: 0.628385\n",
      "Execution time:  11.657976150512695 secs\n",
      "ADA\n",
      "              precision    recall  f1-score   support\n",
      "\n",
      "           0       0.88      0.73      0.80      1492\n",
      "           1       0.76      0.89      0.82      1425\n",
      "\n",
      "    accuracy                           0.81      2917\n",
      "   macro avg       0.82      0.81      0.81      2917\n",
      "weighted avg       0.82      0.81      0.81      2917\n",
      "\n",
      "[[1089  403]\n",
      " [ 154 1271]]\n",
      "Accuracy: 0.809050\n",
      "Execution time:  1.1522822380065918 secs\n",
      "DT\n",
      "              precision    recall  f1-score   support\n",
      "\n",
      "           0       1.00      0.94      0.97      1492\n",
      "           1       0.94      1.00      0.97      1425\n",
      "\n",
      "    accuracy                           0.97      2917\n",
      "   macro avg       0.97      0.97      0.97      2917\n",
      "weighted avg       0.97      0.97      0.97      2917\n",
      "\n",
      "[[1409   83]\n",
      " [   0 1425]]\n",
      "Accuracy: 0.971546\n",
      "Execution time:  0.04790830612182617 secs\n",
      "SGD\n",
      "              precision    recall  f1-score   support\n",
      "\n",
      "           0       0.64      0.79      0.71      1492\n",
      "           1       0.71      0.53      0.61      1425\n",
      "\n",
      "    accuracy                           0.66      2917\n",
      "   macro avg       0.67      0.66      0.66      2917\n",
      "weighted avg       0.67      0.66      0.66      2917\n",
      "\n",
      "[[1176  316]\n",
      " [ 668  757]]\n",
      "Accuracy: 0.662667\n",
      "Execution time:  0.02492666244506836 secs\n",
      "RF\n",
      "              precision    recall  f1-score   support\n",
      "\n",
      "           0       1.00      0.95      0.98      1492\n",
      "           1       0.95      1.00      0.98      1425\n",
      "\n",
      "    accuracy                           0.98      2917\n",
      "   macro avg       0.98      0.98      0.98      2917\n",
      "weighted avg       0.98      0.98      0.98      2917\n",
      "\n",
      "[[1422   70]\n",
      " [   0 1425]]\n",
      "Accuracy: 0.976003\n",
      "Execution time:  0.09175324440002441 secs\n"
     ]
    }
   ],
   "source": [
    "\n",
    "#machine learning models\n",
    "\n",
    "##########2\n",
    "start_time = time.time()\n",
    "from sklearn.linear_model import LogisticRegression\n",
    "print(\"LR\")\n",
    "lr = LogisticRegression(random_state=300, solver='newton-cg',multi_class='multinomial',C=1.0)\n",
    "lr.fit(X_train1, y_train1)\n",
    "# calculate accuracy of class predictions\n",
    "y_pred_class = lr.predict(X_test1)\n",
    "print(classification_report(y_test1, y_pred_class))\n",
    "print(confusion_matrix(y_test1, y_pred_class))\n",
    "accuracy = accuracy_score(y_test1, y_pred_class)\n",
    "print('Accuracy: %f' % accuracy)\n",
    "end_time = time.time()\n",
    "print(\"Execution time: \", end_time - start_time,\"secs\")\n",
    "\n",
    "#########3\n",
    "start_time = time.time()\n",
    "from sklearn.ensemble import ExtraTreesClassifier\n",
    "print(\"ETC\")\n",
    "etc =  ExtraTreesClassifier(n_estimators=10,random_state=150,max_samples=0.5, max_depth=50,bootstrap=True)\n",
    "etc.fit(X_train1, y_train1)\n",
    "# calculate accuracy of class predictions\n",
    "y_pred_class = etc.predict(X_test1)\n",
    "print(classification_report(y_test1, y_pred_class))\n",
    "print(confusion_matrix(y_test1, y_pred_class))\n",
    "accuracy = accuracy_score(y_test1, y_pred_class)\n",
    "print('Accuracy: %f' % accuracy)\n",
    "end_time = time.time()\n",
    "print(\"Execution time: \", end_time - start_time,\"secs\")\n",
    "\n",
    "#######4\n",
    "import time    # this is an inbuilt library in Python\n",
    "start_time = time.time()\n",
    "from sklearn.ensemble import GradientBoostingClassifier\n",
    "print(\"GBM\")\n",
    "gbm = GradientBoostingClassifier(n_estimators=100, random_state=50, max_depth=100)\n",
    "gbm.fit(X_train1, y_train1)\n",
    "# calculate accuracy of class predictions\n",
    "y_pred_class = gbm.predict(X_test1)\n",
    "print(classification_report(y_test1, y_pred_class))\n",
    "print(confusion_matrix(y_test1, y_pred_class))\n",
    "accuracy = accuracy_score(y_test1, y_pred_class)\n",
    "print('Accuracy: %f' % accuracy)\n",
    "end_time = time.time()\n",
    "print(\"Execution time: \", end_time - start_time,\"secs\")\n",
    "\n",
    "########5\n",
    "import time    # this is an inbuilt library in Python\n",
    "start_time = time.time()\n",
    "from sklearn.neighbors import KNeighborsClassifier\n",
    "print(\"KNN\")\n",
    "knn = KNeighborsClassifier(n_neighbors=3)\n",
    "knn.fit(X_train1, y_train1)\n",
    "# calculate accuracy of class predictions\n",
    "y_pred_class = knn.predict(X_test1)\n",
    "print(classification_report(y_test1, y_pred_class))\n",
    "print(confusion_matrix(y_test1, y_pred_class))\n",
    "accuracy = accuracy_score(y_test1, y_pred_class)\n",
    "print('Accuracy: %f' % accuracy)\n",
    "end_time = time.time()\n",
    "print(\"Execution time: \", end_time - start_time,\"secs\")\n",
    "\n",
    "#######6\n",
    "start_time = time.time()\n",
    "from sklearn.svm import SVC\n",
    "print(\"SVC\")\n",
    "svm = SVC(kernel='sigmoid', C=2.0, random_state=100,probability=True)\n",
    "svm.fit(X_train1, y_train1)\n",
    "# calculate accuracy of class predictions\n",
    "y_pred_class = svm.predict(X_test1)\n",
    "print(classification_report(y_test1, y_pred_class))\n",
    "print(confusion_matrix(y_test1, y_pred_class))\n",
    "accuracy = accuracy_score(y_test1, y_pred_class)\n",
    "print('Accuracy: %f' % accuracy)\n",
    "end_time = time.time()\n",
    "print(\"Execution time: \", end_time - start_time,\"secs\")\n",
    "\n",
    "########7\n",
    "start_time = time.time()\n",
    "from sklearn.ensemble import RandomForestClassifier, AdaBoostClassifier\n",
    "from sklearn.svm import SVC\n",
    "print(\"ADA\")\n",
    "ada = AdaBoostClassifier(n_estimators=100, random_state=50)\n",
    "ada.fit(X_train1, y_train1)\n",
    "# calculate accuracy of class predictions\n",
    "y_pred_class = ada.predict(X_test1)\n",
    "print(classification_report(y_test1, y_pred_class))\n",
    "print(confusion_matrix(y_test1, y_pred_class))\n",
    "accuracy = accuracy_score(y_test1, y_pred_class)\n",
    "print('Accuracy: %f' % accuracy)\n",
    "end_time = time.time()\n",
    "print(\"Execution time: \", end_time - start_time,\"secs\")\n",
    "\n",
    "########8\n",
    "start_time = time.time()\n",
    "from sklearn.tree import DecisionTreeClassifier\n",
    "dt = DecisionTreeClassifier(random_state=50, max_depth=100)\n",
    "print(\"DT\")\n",
    "dt.fit(X_train1, y_train1)\n",
    "# calculate accuracy of class predictions\n",
    "y_pred_class = dt.predict(X_test1)\n",
    "print(classification_report(y_test1, y_pred_class))\n",
    "print(confusion_matrix(y_test1, y_pred_class))\n",
    "accuracy = accuracy_score(y_test1, y_pred_class)\n",
    "print('Accuracy: %f' % accuracy)\n",
    "end_time = time.time()\n",
    "print(\"Execution time: \", end_time - start_time,\"secs\")\n",
    "\n",
    "\n",
    "###9\n",
    "start_time = time.time()\n",
    "from sklearn.linear_model import SGDClassifier\n",
    "sgd = SGDClassifier(loss=\"modified_huber\", penalty=\"l2\", max_iter=5)\n",
    "print(\"SGD\")\n",
    "sgd.fit(X_train1, y_train1)\n",
    "# calculate accuracy of class predictions\n",
    "y_pred_class = sgd.predict(X_test1)\n",
    "print(classification_report(y_test1, y_pred_class))\n",
    "print(confusion_matrix(y_test1, y_pred_class))\n",
    "accuracy = accuracy_score(y_test1, y_pred_class)\n",
    "print('Accuracy: %f' % accuracy)\n",
    "end_time = time.time()\n",
    "print(\"Execution time: \", end_time - start_time,\"secs\")\n",
    "\n",
    "\n",
    "#########1\n",
    "start_time = time.time()\n",
    "from sklearn.ensemble import RandomForestClassifier, VotingClassifier\n",
    "print(\"RF\")\n",
    "rfc = RandomForestClassifier(n_estimators=10,random_state=150,max_samples=0.5, max_depth=50) \n",
    "rfc.fit(X_train1, y_train1)\n",
    "# calculate accuracy of class predictions\n",
    "y_pred_class = rfc.predict(X_test1)\n",
    "print(classification_report(y_test1, y_pred_class))\n",
    "print(confusion_matrix(y_test1, y_pred_class))\n",
    "accuracy = accuracy_score(y_test1, y_pred_class)\n",
    "print('Accuracy: %f' % accuracy)\n",
    "end_time = time.time()\n",
    "print(\"Execution time: \", end_time - start_time,\"secs\")\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "id": "7060c351",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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1axevRqVSoW7uztJSUnycahQKOjbty/jxo3LMfDXu3dvvvvuO3nb7D7Lb775JgkJCSxcuFA+x97/GfD39+fXX3/NdcDRpn///hw6dIgNGzawfPlyli9fjqurKyaTSb7QdnV15fvvv5czl5o2bUrPnj1Zv349Bw4coHPnzuh0OoxGo3xuqVatGl5eXhw9erRQhnhlVKFCBSwWC5MmTWLq1Kk4OzvLn1EvLy9mz55dpDXARo4cyaVLl9iwYQOzZs1izpw5uLu7k5CQgCRJtG7dmmPHjsnfHw/Tgxxb06ZNIykpiUOHDjFx4kQ+//xznJ2d5RsAarWaCRMm0KRJk4f6HB7El19+SVJSEgcOHOCTTz7hs88+w8nJCb1ej1KppFWrVhw4cCDLdlqtlo8//pixY8cSFRXFSy+9lOn7tVSpUowdO1YuMZCRv78/8+bN4/XXXyc8PJxx48bx6aef4uTklOk3x5AhQ3jppZce6vMXBEEQSiYRXBJKpFatWvHiiy+ydOlSbty4wfTp05k8eXKmdbRaLe+//z4vvfQS//zzD/v37+fKlSskJSXh7OxMtWrVaNasGc8++yx169bN1X5r167NunXr2LJlC9u2bePs2bNERkai1+vx9PSkZs2adOzYkb59+z7wUKhevXrRvn17Vq5cyd69e7lw4QLx8fGYTCZKly5N3bp16datG927d3f4Q79mzZqsXbuWX375hd27dxMZGYmbmxudO3dm5MiRVKpU6YH6aGMrBrx8+XI8PDzo3LlztusPHz6cdu3asXDhQg4fPkxERAQKhYKqVavStm1bBg8eTJkyZbJs9/7779OiRQv++usvTp48SXR0NEqlksqVK9OyZUteeeUVu3VWstOyZUtWr17NvHnz2L9/P3Fxcfj5+dG2bVtef/11h9kNPj4+rFixgiVLlrBt2zYuX76MXq/H3d2dKlWq0LVrVwYOHChP6f4w+fr68s8///D777+zceNGbty4gdlsplmzZgwZMgQfHx85uJTdFOX2tG3bls2bN7N+/Xr27dvH2bNniY+Px2Aw4OXlRYUKFejQoQN9+vTJ14Vxjx495CDM008/neftwVoA+aeffuLkyZOsWbOGI0eOcPPmTZKSkvDw8KBatWq0adOGvn37ZhtALkhpaWl2h306kp8C925ubkydOpWhQ4eycuVKDh06RFhYGElJSbi6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02dgEZGCoWN8HgLFixdn1apVzJw5k23bthEYGIiTkxPNmjXj3XffpVatWrlus1u3blSuXJm5c+dy7NgxIiIi8PX15ZVXXqFXr176pfqQs+ScuXu7QXBwsCnviTlavfLwyo/3GXm05cec6dSpEzVr1mTOnDkcOnSIwMBAvL29ad26NT179qRMmTKWH4g8MJaeM0WLFmXhwoWsWrWKdevWce7cOa5fv46XlxcNGzakR48epiTOIkb6DCwikj+0cklERERERERERPJMOZdERERERERERCTPFFwSEREREREREZE8U3BJRERERERERETyTMElERERERERERHJMwWXREREREREREQkzxRcEhERERERERGRPFNwSURERERERERE8kzBJRERERERERERyTMFl0REREREREREJM9sC7oDIiJi3nPPPceVK1dydc/Zs2fv+3FDQ0Np3rw5ALNnz+bZZ5+97zbzwx9//ME777yTZbmtrS329vZ4eXlRvXp1XnjhBZ5//nmsrKweYC8z+/TTT1mzZg01a9Zk5cqVmcq3bt2Kj48P1atXN127e6ybN2+mYsWKD6y/uXGv1wTA2toaR0dHSpQoweOPP06XLl2oWbNmvvTnwIEDpKWl0ahRo3xpX0RERETSKbgkIlLIOTg44OLiUtDdKNTc3Nyws7PLcM1gMJCQkEBISAghISFs3ryZZ599lilTplCkSJEC6mnWYmJieO+99zh48CCzZ88u6O7cN3OvCUBKSgrR0dEEBwcTHBzMpk2b+PTTT+natatFH3/AgAFs376dL774QsElERERkXym4JKISCH30ksvMWbMmILuRqH23Xff0aBBA7Nl4eHhfPPNN2zYsIE9e/YwYcIEhg4d+oB7+P+8vLyoUKECZcqUyXD99u3bHDx40Ow9RYoUoUKFCgDY29vnex8tIbvXJCEhgV27djFy5EgiIiIYO3YstWvXpkaNGhZ7/O3bt1usLRERERHJnnIuiYjII61EiRKMGzeOJ598EoDly5cTHR1dYP35+OOP2bp1KxMnTszxPTVq1GDr1q2mLXMPO0dHR1544QWmTJmCtbU1qampLFiwoKC7JSIiIiJ5pOCSiIg88qytrenQoQMASUlJHD16tGA7JAA8+eSTptxSf/31VwH3RkRERETyStviREQeYUlJSaxbt44dO3Zw+vRpbt26hY2NDcWK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Ll26ZKqfkJBwzzY7d+4MwJ49exg+fLhpW5HBYODs2bP079+f1NRUihYtSsuWLU33ffbZZ1hbWxMeHk6nTp04cOAABoMBg8HAkSNH6N69OxERETg4ONC3b19LPQU54uDgwEcffQTArl276NevHxcvXgTSTyDbtWsXXbp0ISYmBg8PDwYPHmy61/h8nD17lg8//JALFy6Yyi5fvsxHH33EjRs3sLGxMQU0suPq6mr6e15WOhlzKy1ZsgRID5x5e3tnqufo6MigQYMAOHPmDF27duXkyZNA+ph/++03evToQUJCAh4eHvznP//JdV9ywtPTk6+++gpID25+8sknJCUlAVC8eHF8fHyA9KDm7t27TUGi69ev8/333zNgwABTW+bmr/H5PHHiRIYA1eOPP256rlasWMHQoUMJCwsztbN06VKGDx8OpP87uvukPRERERExTzmXREQeQV27dmXTpk1cuHCBefPmMW/ePFxdXYmJiTF9SW/WrBknT54kIiKC0NDQe7bZsWNHDhw4wKZNm1ixYgUrVqzAycmJlJQUU1DAycmJyZMnZ1ip07BhQ8aMGcOwYcMICgqia9eupjw/xqCAnZ0d48ePz5Qf6EF47bXXiIiIYPLkyezYsYMdO3bg4uJCYmKiaVxlypRh0qRJGU6Ne/rpp+nVqxezZ8/m559/5ueff8bBwQFra2vi4+MBsLW1ZcSIEVSoUOGe/XB2dqZKlSqcPXuWadOmMX/+fF599VW+/PLLHI2jZcuWuLq6cufOHQDat2+fZd327dtz48YNJkyYwJEjR+jQoQNOTk4kJyebVgE5OzszY8YMypYtm6PHz4sWLVrQunVr1q9fz7lz55g0aZIpgDds2DD69evHnTt36N27N3Z2dtjb25tW5Tk4ONC2bVvWrl1LdHQ0UVFRGebdk08+yc6dO1mzZg3btm2jXr16ptV6X3zxBXFxcWzbto1Vq1axatWqTP8+KlasyPTp0/MtEbuIiIjIo0Qrl0REHkEuLi6sWLGCHj16UL58eezt7YmPj6dEiRI0b96cadOmMWPGDBo3bgzAtm3b7tmmlZUVEyZMYOLEiTRp0gQvLy+Sk5OxtbWlcuXKdO/ena1bt5ravFubNm3YsmUL77zzDpUqVcLa2prU1FR8fHzo2LEj69aty7Da6UF77733WL16Ne3ataNMmTIkJibi5ORErVq1GDJkCOvXrzcb+Bo4cCBz5syhVatWlCpVyhSYKF++PG+99Rbr16/PNsjzT5MnT6Zx48Y4OzuTlpbG7du3c3yvg4MDL774IpC+audeK2569erF2rVr6dixI+XKlSMtLQ0rKyv8/PxMwUnjCrj8NGzYMNMKq3nz5pm2ujVt2pRly5bRsmVLihUrRlpaGgaDAX9/f7p06cL69ev56quvTIHK7du3Z2j3q6++olWrVri6upKamkpUVJSpzNHRkSlTpjBjxgxatmyJt7c38fHxODo6UqNGDQYNGsRPP/1kNleZiIiIiGRmZbB0lk4REREREREREfnX0MolERERERERERHJMwWXREREREREREQkzxRcEhERERERERGRPFNwSURERERERERE8kzBJRERERERERERyTMFl0REREREREREJM8UXBIRERERERERkTxTcElERERERERERPJMwSUREREREREREckzBZdERERERERERCTPFFwSEREREREREZE8U3BJRERERERERETyTMElERERERERERHJMwWXREREREREREQkz/4PFr9iOJ5FWpoAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 1000x470 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    " #Get the predicted probabilities for each classifier on the test data\n",
    "lr_probs = lr.predict_proba(X_test1)\n",
    "etc_probs = etc.predict_proba(X_test1)\n",
    "gbm_probs = gbm.predict_proba(X_test1)\n",
    "knn_probs = knn.predict_proba(X_test1)\n",
    "svm_probs = svm.predict_proba(X_test1)\n",
    "ada_probs = ada.predict_proba(X_test1)\n",
    "dt_probs = dt.predict_proba(X_test1)\n",
    "rfc_probs = rfc.predict_proba(X_test1)\n",
    "sgd_probs = sgd.predict_proba(X_test1)\n",
    "\n",
    "# Get the true positive rate and false positive rate for each classifier at different probability thresholds\n",
    "lr_fpr, lr_tpr, _ = roc_curve(y_test1, lr_probs[:, 1])\n",
    "etc_fpr, etc_tpr, _ = roc_curve(y_test1, etc_probs[:, 1])\n",
    "gbm_fpr, gbm_tpr, _ = roc_curve(y_test1, gbm_probs[:, 1])\n",
    "knn_fpr, knn_tpr, _ = roc_curve(y_test1, knn_probs[:, 1])\n",
    "svm_fpr, svm_tpr, _ = roc_curve(y_test1, svm_probs[:, 1])\n",
    "ada_fpr, ada_tpr, _ = roc_curve(y_test1, ada_probs[:, 1])\n",
    "dt_fpr, dt_tpr, _ = roc_curve(y_test1, dt_probs[:, 1])\n",
    "rfc_fpr, rfc_tpr, _ = roc_curve(y_test1, rfc_probs[:, 1])\n",
    "sgd_fpr, sgd_tpr, _ = roc_curve(y_test1, sgd_probs[:, 1])\n",
    "\n",
    "# Calculate the area under the ROC curve for each classifier\n",
    "lr_auc = roc_auc_score(y_test1, lr_probs[:, 1])\n",
    "etc_auc = roc_auc_score(y_test1, etc_probs[:, 1])\n",
    "gbm_auc = roc_auc_score(y_test1, gbm_probs[:, 1])\n",
    "knn_auc = roc_auc_score(y_test1, knn_probs[:, 1])\n",
    "svm_auc = roc_auc_score(y_test1, svm_probs[:, 1])\n",
    "ada_auc = roc_auc_score(y_test1, ada_probs[:, 1])\n",
    "\n",
    "dt_auc = roc_auc_score(y_test1, lr_probs[:, 1])\n",
    "rfc_auc = roc_auc_score(y_test1, rfc_probs[:, 1])\n",
    "sgd_auc = roc_auc_score(y_test1, sgd_probs[:, 1])\n",
    "\n",
    "\n",
    "# Plot the ROC curves\n",
    "plt.figure(figsize=(10, 4.7))\n",
    "plt.plot(lr_fpr, lr_tpr, label=f'LR (AUC = {lr_auc:.2f})')\n",
    "plt.plot(etc_fpr, etc_tpr, label=f'ETC (AUC = {etc_auc:.2f})')\n",
    "plt.plot(gbm_fpr, gbm_tpr, label=f'GBM (AUC = {gbm_auc:.2f})')\n",
    "\n",
    "plt.plot(knn_fpr, knn_tpr, label=f'KNN (AUC = {knn_auc:.2f})')\n",
    "plt.plot(svm_fpr, svm_tpr, label=f'SVM (AUC = {svm_auc:.2f})')\n",
    "plt.plot(ada_fpr, ada_tpr, label=f'ADA (AUC = {ada_auc:.2f})')\n",
    "\n",
    "plt.plot(dt_fpr, dt_tpr, label=f'DT (AUC = {dt_auc:.2f})')\n",
    "plt.plot(rfc_fpr, rfc_tpr, label=f'RF (AUC = {rfc_auc:.2f})')\n",
    "plt.plot(sgd_fpr, sgd_tpr, label=f'SGD (AUC = {sgd_auc:.2f})')\n",
    "\n",
    "plt.plot([0, 1], [0, 1], linestyle='--', label='Random Guessing')\n",
    "plt.xlabel('False Positive Rate')\n",
    "plt.ylabel('True Positive Rate')\n",
    "plt.title('ROC Curves using SMOTE Oversampling Technique')\n",
    "plt.legend(loc='center left', bbox_to_anchor=(1, 0.5))\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "e8552fe4",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "id": "ca240ef3",
   "metadata": {},
   "source": [
    "# ENSEMBLE USING STACKING TECHNIQUE ON SMOTED DATA"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "id": "67d9953c",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "              precision    recall  f1-score   support\n",
      "\n",
      "           0       1.00      1.00      1.00      1492\n",
      "           1       1.00      1.00      1.00      1425\n",
      "\n",
      "    accuracy                           1.00      2917\n",
      "   macro avg       1.00      1.00      1.00      2917\n",
      "weighted avg       1.00      1.00      1.00      2917\n",
      "\n",
      "[[1491    1]\n",
      " [   0 1425]]\n",
      "Accuracy: 0.999657\n"
     ]
    }
   ],
   "source": [
    "from sklearn.model_selection import train_test_split, cross_val_predict\n",
    "from sklearn.tree import DecisionTreeClassifier, ExtraTreeClassifier\n",
    "from sklearn.ensemble import RandomForestClassifier, StackingClassifier\n",
    "from sklearn.pipeline import make_pipeline\n",
    "from sklearn.preprocessing import StandardScaler\n",
    "from sklearn.metrics import accuracy_score\n",
    "\n",
    "# Load the Stroke Prediction dataset\n",
    "#data = pd.read_csv('stroke_data.csv')\n",
    "\n",
    "\n",
    "# Define base classifiers\n",
    "dt = DecisionTreeClassifier(random_state=42)\n",
    "et = ExtraTreeClassifier(random_state=42)\n",
    "rf = RandomForestClassifier(n_estimators=100, random_state=42)\n",
    "\n",
    "# Define the stacking ensemble\n",
    "estimators = [('dt', dt), ('et', et), ('rf', rf)]\n",
    "stacked = StackingClassifier(estimators=estimators, final_estimator=RandomForestClassifier(random_state=42))\n",
    "\n",
    "# Define the pipeline for preprocessing and classification\n",
    "pipeline1 = make_pipeline(StandardScaler(), stacked)\n",
    "\n",
    "# Use cross-validation to fit the stacking ensemble\n",
    "stacked_preds = cross_val_predict(pipeline1, X_train1, y_train1, cv=5)\n",
    "\n",
    "# Evaluate the ensemble on the test set\n",
    "pipeline1.fit(X_train1, y_train1)\n",
    "stacked_test_preds = pipeline1.predict(X_test1)\n",
    "\n",
    "print(classification_report(y_test1, stacked_test_preds))\n",
    "print(confusion_matrix(y_test1, stacked_test_preds))\n",
    "accuracy = accuracy_score(y_test1, stacked_test_preds)\n",
    "print('Accuracy: %f' % accuracy)\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a8f9a933",
   "metadata": {},
   "source": [
    "# ENSEMBLE USING HARD VOTING ON SMOTED DATA"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "id": "3f54e692",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "              precision    recall  f1-score   support\n",
      "\n",
      "           0       1.00      0.98      0.99      1492\n",
      "           1       0.98      1.00      0.99      1425\n",
      "\n",
      "    accuracy                           0.99      2917\n",
      "   macro avg       0.99      0.99      0.99      2917\n",
      "weighted avg       0.99      0.99      0.99      2917\n",
      "\n",
      "[[1460   32]\n",
      " [   0 1425]]\n",
      "Accuracy: 0.989030\n"
     ]
    }
   ],
   "source": [
    "# Create individual models\n",
    "model1 = DecisionTreeClassifier(random_state=42)\n",
    "model2 = ExtraTreeClassifier(random_state=42)\n",
    "model3 = RandomForestClassifier(n_estimators=100, random_state=42)\n",
    "# Create ensemble model with Voting Classifier\n",
    "ensemble_model = VotingClassifier(estimators=[('svm', model1), ('dt', model2), ('rf', model3)], voting='hard')\n",
    "\n",
    "# Fit the ensemble model to the training data\n",
    "ensemble_model.fit(X_train1, y_train1)\n",
    "\n",
    "# Predict on test data using the ensemble model\n",
    "y_pred = ensemble_model.predict(X_test1)\n",
    "print(classification_report(y_test1, y_pred))\n",
    "print(confusion_matrix(y_test1, y_pred))\n",
    "accuracy = accuracy_score(y_test1, y_pred)\n",
    "print('Accuracy: %f' % accuracy)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "5e19889e",
   "metadata": {},
   "source": [
    "# ENSEMBLE USING SOFT VOTING ON SMOTED DATA"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "id": "93f7e251",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "              precision    recall  f1-score   support\n",
      "\n",
      "           0       1.00      0.98      0.99      1492\n",
      "           1       0.98      1.00      0.99      1425\n",
      "\n",
      "    accuracy                           0.99      2917\n",
      "   macro avg       0.99      0.99      0.99      2917\n",
      "weighted avg       0.99      0.99      0.99      2917\n",
      "\n",
      "[[1460   32]\n",
      " [   0 1425]]\n",
      "Accuracy: 0.989030\n"
     ]
    }
   ],
   "source": [
    "# Create individual models\n",
    "model1 = DecisionTreeClassifier(random_state=42)\n",
    "model2 = ExtraTreeClassifier(random_state=42)\n",
    "model3 = RandomForestClassifier(n_estimators=100, random_state=42)\n",
    "# Create ensemble model with Voting Classifier\n",
    "ensemble_model_s = VotingClassifier(estimators=[('svm', model1), ('dt', model2), ('rf', model3)], voting='soft')\n",
    "\n",
    "# Fit the ensemble model to the training data\n",
    "ensemble_model_s.fit(X_train1, y_train1)\n",
    "\n",
    "# Predict on test data using the ensemble model\n",
    "y_pred = ensemble_model_s.predict(X_test1)\n",
    "print(classification_report(y_test1, y_pred))\n",
    "print(confusion_matrix(y_test1, y_pred))\n",
    "accuracy = accuracy_score(y_test1, y_pred)\n",
    "print('Accuracy: %f' % accuracy)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "id": "07030b7f",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 800x400 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    " #Get the predicted probabilities for each classifier on the test data\n",
    "pipeline1_probs = pipeline1.predict_proba(X_test1)\n",
    "ensemble_model_s_probs = ensemble_model_s.predict_proba(X_test1)\n",
    "#ensemble_model_h_probs = ensemble_model_h.predict_proba(X_test1)\n",
    "\n",
    "\n",
    "# Get the true positive rate and false positive rate for each classifier at different probability thresholds\n",
    "pipeline1_fpr, pipeline1_tpr, _ = roc_curve(y_test1, pipeline1_probs[:, 1])\n",
    "ensemble_model_s_fpr, ensemble_model_s_tpr, _ = roc_curve(y_test1, ensemble_model_s_probs[:, 1])\n",
    "#ensemble_model_h_fpr, ensemble_model_h_tpr, _ = roc_curve(y_test1, ensemble_model_h_probs[:, 1])\n",
    "\n",
    "\n",
    "# Calculate the area under the ROC curve for each classifier\n",
    "pipeline1_auc = roc_auc_score(y_test1, pipeline1_probs[:, 1])\n",
    "ensemble_model_s_auc = roc_auc_score(y_test1, ensemble_model_s_probs[:, 1])\n",
    "#ensemble_model_h_auc = roc_auc_score(y_test1, ensemble_model_h_probs[:, 1])\n",
    "\n",
    "\n",
    "\n",
    "# Plot the ROC curves\n",
    "plt.figure(figsize=(8, 4))\n",
    "plt.plot(pipeline1_fpr, pipeline1_tpr, label=f'Ensemble Stacking (AUC = {pipeline1_auc:.2f})')\n",
    "plt.plot(ensemble_model_s_fpr, ensemble_model_s_tpr, label=f'Ensemble Voting Classifier (AUC = {ensemble_model_s_auc:.2f})')\n",
    "#plt.plot(ensemble_model_h_fpr, ensemble_model_h_tpr, label=f'H (AUC = {ensemble_model_h_auc:.2f})')\n",
    "\n",
    "plt.plot([0, 1], [0, 1], linestyle='--', label='Random Guessing')\n",
    "plt.xlabel('False Positive Rate')\n",
    "plt.ylabel('True Positive Rate')\n",
    "plt.title('ROC Curves using SMOTE Oversampling Technique')\n",
    "plt.legend()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "id": "1dab3790",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Stacked ensemble accuracy (train): 0.9995591476855253\n",
      "Stacked ensemble accuracy (test): 0.9996571820363387\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 700x400 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "from sklearn.datasets import load_iris\n",
    "from sklearn.model_selection import train_test_split, learning_curve, cross_val_predict\n",
    "from sklearn.tree import DecisionTreeClassifier, ExtraTreeClassifier\n",
    "from sklearn.ensemble import RandomForestClassifier, StackingClassifier\n",
    "from sklearn.pipeline import make_pipeline\n",
    "from sklearn.preprocessing import StandardScaler\n",
    "from sklearn.metrics import accuracy_score\n",
    "\n",
    "\n",
    "# Split the data into training and testing sets\n",
    "\n",
    "# Define base classifiers\n",
    "dt = DecisionTreeClassifier(random_state=42)\n",
    "et = ExtraTreeClassifier(random_state=42)\n",
    "rf = RandomForestClassifier(n_estimators=100, random_state=42)\n",
    "\n",
    "# Define the stacking ensemble\n",
    "estimators = [('dt', dt), ('et', et), ('rf', rf)]\n",
    "stacked = StackingClassifier(estimators=estimators, final_estimator=RandomForestClassifier(random_state=42))\n",
    "\n",
    "# Define the pipeline for preprocessing and classification\n",
    "pipeline = make_pipeline(StandardScaler(), stacked)\n",
    "\n",
    "# Use cross-validation to fit the stacking ensemble\n",
    "stacked_preds = cross_val_predict(pipeline, X_train1, y_train1, cv=5)\n",
    "\n",
    "# Evaluate the ensemble on the test set\n",
    "pipeline.fit(X_train1, y_train1)\n",
    "stacked_test_preds = pipeline.predict(X_test1)\n",
    "\n",
    "# Print the training and testing accuracy\n",
    "train_accuracy = accuracy_score(y_train1, stacked_preds)\n",
    "test_accuracy = accuracy_score(y_test1, stacked_test_preds)\n",
    "print(\"Stacked ensemble accuracy (train):\", train_accuracy)\n",
    "print(\"Stacked ensemble accuracy (test):\", test_accuracy)\n",
    "\n",
    "# Plot the learning curves\n",
    "train_sizes, train_scores, test_scores = learning_curve(pipeline, X_train1, y_train1, cv=5, train_sizes=np.linspace(0.1, 1.0, 10), scoring='accuracy')\n",
    "train_mean = np.mean(train_scores, axis=1)\n",
    "train_std = np.std(train_scores, axis=1)\n",
    "test_mean = np.mean(test_scores, axis=1)\n",
    "test_std = np.std(test_scores, axis=1)\n",
    "plt.figure(figsize=(7, 4))\n",
    "plt.plot(train_sizes, train_mean, color='blue', marker='o', markersize=5, label='Training accuracy')\n",
    "plt.fill_between(train_sizes, train_mean + train_std, train_mean - train_std, alpha=0.15, color='blue')\n",
    "plt.plot(train_sizes, test_mean, color='green', linestyle='--', marker='s', markersize=5, label='Testing accuracy')\n",
    "plt.fill_between(train_sizes, test_mean + test_std, test_mean - test_std, alpha=0.15, color='green')\n",
    "plt.grid()\n",
    "plt.xlabel(' Training samples')\n",
    "plt.ylabel('Accuracy')\n",
    "plt.legend(loc='lower right')\n",
    "plt.ylim([0.88, 1.02])\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "2c7797be",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "id": "8bbb8e6c",
   "metadata": {},
   "source": [
    "# SINGLE MODELS USING ADASYN DATA"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "id": "a2347135",
   "metadata": {},
   "outputs": [],
   "source": [
    "from imblearn.over_sampling import SMOTE, ADASYN\n",
    "adasyn = ADASYN(random_state=2)\n",
    "x_train_res, y_train_res = adasyn.fit_resample(X, y.ravel())\n",
    "X_train1, X_test1, y_train1, y_test1 = train_test_split(x_train_res, y_train_res, test_size=0.3)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "id": "0d2ebf37",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "LR\n",
      "              precision    recall  f1-score   support\n",
      "\n",
      "           0       0.81      0.74      0.77      1491\n",
      "           1       0.75      0.82      0.79      1431\n",
      "\n",
      "    accuracy                           0.78      2922\n",
      "   macro avg       0.78      0.78      0.78      2922\n",
      "weighted avg       0.78      0.78      0.78      2922\n",
      "\n",
      "[[1097  394]\n",
      " [ 251 1180]]\n",
      "Accuracy: 0.779261\n",
      "Execution time:  0.22440218925476074 secs\n",
      "ETC\n",
      "              precision    recall  f1-score   support\n",
      "\n",
      "           0       0.96      0.92      0.94      1491\n",
      "           1       0.92      0.96      0.94      1431\n",
      "\n",
      "    accuracy                           0.94      2922\n",
      "   macro avg       0.94      0.94      0.94      2922\n",
      "weighted avg       0.94      0.94      0.94      2922\n",
      "\n",
      "[[1379  112]\n",
      " [  58 1373]]\n",
      "Accuracy: 0.941821\n",
      "Execution time:  0.09973382949829102 secs\n",
      "GBM\n",
      "              precision    recall  f1-score   support\n",
      "\n",
      "           0       0.94      0.92      0.93      1491\n",
      "           1       0.92      0.94      0.92      1431\n",
      "\n",
      "    accuracy                           0.93      2922\n",
      "   macro avg       0.93      0.93      0.93      2922\n",
      "weighted avg       0.93      0.93      0.93      2922\n",
      "\n",
      "[[1367  124]\n",
      " [  93 1338]]\n",
      "Accuracy: 0.925736\n",
      "Execution time:  8.034685850143433 secs\n",
      "KNN\n",
      "              precision    recall  f1-score   support\n",
      "\n",
      "           0       0.99      0.85      0.92      1491\n",
      "           1       0.87      0.99      0.93      1431\n",
      "\n",
      "    accuracy                           0.92      2922\n",
      "   macro avg       0.93      0.92      0.92      2922\n",
      "weighted avg       0.93      0.92      0.92      2922\n",
      "\n",
      "[[1270  221]\n",
      " [   8 1423]]\n",
      "Accuracy: 0.921629\n",
      "Execution time:  0.5315847396850586 secs\n",
      "SVC\n",
      "              precision    recall  f1-score   support\n",
      "\n",
      "           0       0.66      0.64      0.65      1491\n",
      "           1       0.64      0.65      0.64      1431\n",
      "\n",
      "    accuracy                           0.65      2922\n",
      "   macro avg       0.65      0.65      0.65      2922\n",
      "weighted avg       0.65      0.65      0.65      2922\n",
      "\n",
      "[[958 533]\n",
      " [503 928]]\n",
      "Accuracy: 0.645448\n",
      "Execution time:  8.783185720443726 secs\n",
      "ADA\n",
      "              precision    recall  f1-score   support\n",
      "\n",
      "           0       0.90      0.87      0.88      1491\n",
      "           1       0.87      0.89      0.88      1431\n",
      "\n",
      "    accuracy                           0.88      2922\n",
      "   macro avg       0.88      0.88      0.88      2922\n",
      "weighted avg       0.88      0.88      0.88      2922\n",
      "\n",
      "[[1299  192]\n",
      " [ 151 1280]]\n",
      "Accuracy: 0.882615\n",
      "Execution time:  1.1429829597473145 secs\n",
      "DT\n",
      "              precision    recall  f1-score   support\n",
      "\n",
      "           0       0.93      0.91      0.92      1491\n",
      "           1       0.91      0.93      0.92      1431\n",
      "\n",
      "    accuracy                           0.92      2922\n",
      "   macro avg       0.92      0.92      0.92      2922\n",
      "weighted avg       0.92      0.92      0.92      2922\n",
      "\n",
      "[[1362  129]\n",
      " [  99 1332]]\n",
      "Accuracy: 0.921971\n",
      "Execution time:  0.07799005508422852 secs\n",
      "SGD\n",
      "              precision    recall  f1-score   support\n",
      "\n",
      "           0       0.80      0.62      0.70      1491\n",
      "           1       0.68      0.84      0.75      1431\n",
      "\n",
      "    accuracy                           0.73      2922\n",
      "   macro avg       0.74      0.73      0.72      2922\n",
      "weighted avg       0.74      0.73      0.72      2922\n",
      "\n",
      "[[ 928  563]\n",
      " [ 235 1196]]\n",
      "Accuracy: 0.726899\n",
      "Execution time:  0.026731252670288086 secs\n",
      "RF\n",
      "              precision    recall  f1-score   support\n",
      "\n",
      "           0       0.96      0.92      0.94      1491\n",
      "           1       0.92      0.96      0.94      1431\n",
      "\n",
      "    accuracy                           0.94      2922\n",
      "   macro avg       0.94      0.94      0.94      2922\n",
      "weighted avg       0.94      0.94      0.94      2922\n",
      "\n",
      "[[1371  120]\n",
      " [  64 1367]]\n",
      "Accuracy: 0.937029\n",
      "Execution time:  0.12267136573791504 secs\n"
     ]
    }
   ],
   "source": [
    "\n",
    "#machine learning models\n",
    "\n",
    "##########2\n",
    "start_time = time.time()\n",
    "from sklearn.linear_model import LogisticRegression\n",
    "print(\"LR\")\n",
    "lr = LogisticRegression(random_state=300, solver='newton-cg',multi_class='multinomial',C=1.0)\n",
    "lr.fit(X_train1, y_train1)\n",
    "# calculate accuracy of class predictions\n",
    "y_pred_class = lr.predict(X_test1)\n",
    "print(classification_report(y_test1, y_pred_class))\n",
    "print(confusion_matrix(y_test1, y_pred_class))\n",
    "accuracy = accuracy_score(y_test1, y_pred_class)\n",
    "print('Accuracy: %f' % accuracy)\n",
    "end_time = time.time()\n",
    "print(\"Execution time: \", end_time - start_time,\"secs\")\n",
    "\n",
    "#########3\n",
    "start_time = time.time()\n",
    "from sklearn.ensemble import ExtraTreesClassifier\n",
    "print(\"ETC\")\n",
    "etc =  ExtraTreesClassifier(n_estimators=10,random_state=150,max_samples=0.5, max_depth=50,bootstrap=True)\n",
    "etc.fit(X_train1, y_train1)\n",
    "# calculate accuracy of class predictions\n",
    "y_pred_class = etc.predict(X_test1)\n",
    "print(classification_report(y_test1, y_pred_class))\n",
    "print(confusion_matrix(y_test1, y_pred_class))\n",
    "accuracy = accuracy_score(y_test1, y_pred_class)\n",
    "print('Accuracy: %f' % accuracy)\n",
    "end_time = time.time()\n",
    "print(\"Execution time: \", end_time - start_time,\"secs\")\n",
    "\n",
    "#######4\n",
    "import time    # this is an inbuilt library in Python\n",
    "start_time = time.time()\n",
    "from sklearn.ensemble import GradientBoostingClassifier\n",
    "print(\"GBM\")\n",
    "gbm = GradientBoostingClassifier(n_estimators=100, random_state=50, max_depth=100)\n",
    "gbm.fit(X_train1, y_train1)\n",
    "# calculate accuracy of class predictions\n",
    "y_pred_class = gbm.predict(X_test1)\n",
    "print(classification_report(y_test1, y_pred_class))\n",
    "print(confusion_matrix(y_test1, y_pred_class))\n",
    "accuracy = accuracy_score(y_test1, y_pred_class)\n",
    "print('Accuracy: %f' % accuracy)\n",
    "end_time = time.time()\n",
    "print(\"Execution time: \", end_time - start_time,\"secs\")\n",
    "\n",
    "########5\n",
    "import time    # this is an inbuilt library in Python\n",
    "start_time = time.time()\n",
    "from sklearn.neighbors import KNeighborsClassifier\n",
    "print(\"KNN\")\n",
    "knn = KNeighborsClassifier(n_neighbors=3)\n",
    "knn.fit(X_train1, y_train1)\n",
    "# calculate accuracy of class predictions\n",
    "y_pred_class = knn.predict(X_test1)\n",
    "print(classification_report(y_test1, y_pred_class))\n",
    "print(confusion_matrix(y_test1, y_pred_class))\n",
    "accuracy = accuracy_score(y_test1, y_pred_class)\n",
    "print('Accuracy: %f' % accuracy)\n",
    "end_time = time.time()\n",
    "print(\"Execution time: \", end_time - start_time,\"secs\")\n",
    "\n",
    "#######6\n",
    "start_time = time.time()\n",
    "from sklearn.svm import SVC\n",
    "print(\"SVC\")\n",
    "svm = SVC(kernel='sigmoid', C=2.0, random_state=100,probability=True)\n",
    "svm.fit(X_train1, y_train1)\n",
    "# calculate accuracy of class predictions\n",
    "y_pred_class = svm.predict(X_test1)\n",
    "print(classification_report(y_test1, y_pred_class))\n",
    "print(confusion_matrix(y_test1, y_pred_class))\n",
    "accuracy = accuracy_score(y_test1, y_pred_class)\n",
    "print('Accuracy: %f' % accuracy)\n",
    "end_time = time.time()\n",
    "print(\"Execution time: \", end_time - start_time,\"secs\")\n",
    "\n",
    "########7\n",
    "start_time = time.time()\n",
    "from sklearn.ensemble import RandomForestClassifier, AdaBoostClassifier\n",
    "from sklearn.svm import SVC\n",
    "print(\"ADA\")\n",
    "ada = AdaBoostClassifier(n_estimators=100, random_state=50)\n",
    "ada.fit(X_train1, y_train1)\n",
    "# calculate accuracy of class predictions\n",
    "y_pred_class = ada.predict(X_test1)\n",
    "print(classification_report(y_test1, y_pred_class))\n",
    "print(confusion_matrix(y_test1, y_pred_class))\n",
    "accuracy = accuracy_score(y_test1, y_pred_class)\n",
    "print('Accuracy: %f' % accuracy)\n",
    "end_time = time.time()\n",
    "print(\"Execution time: \", end_time - start_time,\"secs\")\n",
    "\n",
    "########8\n",
    "start_time = time.time()\n",
    "from sklearn.tree import DecisionTreeClassifier\n",
    "dt = DecisionTreeClassifier(random_state=50, max_depth=100)\n",
    "print(\"DT\")\n",
    "dt.fit(X_train1, y_train1)\n",
    "# calculate accuracy of class predictions\n",
    "y_pred_class = dt.predict(X_test1)\n",
    "print(classification_report(y_test1, y_pred_class))\n",
    "print(confusion_matrix(y_test1, y_pred_class))\n",
    "accuracy = accuracy_score(y_test1, y_pred_class)\n",
    "print('Accuracy: %f' % accuracy)\n",
    "end_time = time.time()\n",
    "print(\"Execution time: \", end_time - start_time,\"secs\")\n",
    "\n",
    "\n",
    "###9\n",
    "start_time = time.time()\n",
    "from sklearn.linear_model import SGDClassifier\n",
    "sgd = SGDClassifier(loss=\"modified_huber\", penalty=\"l2\", max_iter=5)\n",
    "print(\"SGD\")\n",
    "sgd.fit(X_train1, y_train1)\n",
    "# calculate accuracy of class predictions\n",
    "y_pred_class = sgd.predict(X_test1)\n",
    "print(classification_report(y_test1, y_pred_class))\n",
    "print(confusion_matrix(y_test1, y_pred_class))\n",
    "accuracy = accuracy_score(y_test1, y_pred_class)\n",
    "print('Accuracy: %f' % accuracy)\n",
    "end_time = time.time()\n",
    "print(\"Execution time: \", end_time - start_time,\"secs\")\n",
    "\n",
    "\n",
    "#########1\n",
    "start_time = time.time()\n",
    "from sklearn.ensemble import RandomForestClassifier, VotingClassifier\n",
    "print(\"RF\")\n",
    "rfc = RandomForestClassifier(n_estimators=10,random_state=150,max_samples=0.5, max_depth=50) \n",
    "rfc.fit(X_train1, y_train1)\n",
    "# calculate accuracy of class predictions\n",
    "y_pred_class = rfc.predict(X_test1)\n",
    "print(classification_report(y_test1, y_pred_class))\n",
    "print(confusion_matrix(y_test1, y_pred_class))\n",
    "accuracy = accuracy_score(y_test1, y_pred_class)\n",
    "print('Accuracy: %f' % accuracy)\n",
    "end_time = time.time()\n",
    "print(\"Execution time: \", end_time - start_time,\"secs\")\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "d9b2113c",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "id": "6b7f4784",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAABJcAAAHZCAYAAAA7Y9pTAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOydd3gU1duG79me3um9hd57kY6KKIjiJ4oFBOz4EwtWbKigiCIgVgQFEZRepIfeIXTpPQnpPdlsm++PzU52k900AgQ893Xl2t2Zc86c3czOzjzzvs8rybIsIxAIBAKBQCAQCAQCgUAgEJQC1a2egEAgEAgEAoFAIBAIBAKB4PZFiEsCgUAgEAgEAoFAIBAIBIJSI8QlgUAgEAgEAoFAIBAIBAJBqRHikkAgEAgEAoFAIBAIBAKBoNQIcUkgEAgEAoFAIBAIBAKBQFBqhLgkEAgEAoFAIBAIBAKBQCAoNUJcEggEAoFAIBAIBAKBQCAQlBohLgkEAoFAIBAIBAKBQCAQCEqNEJcEAoFAIBAIBAKBQCAQCASlRnOrJyD479CrVy+ioqIKbaPT6QgMDKRevXr069ePRx55BLVaXeTYV65cYdmyZezYsYMrV66QkpKCTqejevXqtGnThkGDBtG8efMSzTcyMpIVK1Zw4MABrly5Qk5ODr6+vtSrV4+77rqLIUOGEBwcXKIx3WG1WtmwYQPr1q3j6NGjxMbGYrVaCQ4OplGjRvTr14/7778fnU533dsS3BzCw8MB+PDDDxk6dOgtnk3xOXfuHP379wcgMDCQrVu3otfrC+0zbdo0pk+f7nadSqVCr9cTFBREeHg499xzD/379y/RvrxlyxZGjx4NQIMGDVixYkWx+9psNtasWaN8txITE5EkieDgYBo3bkyPHj3cfrfeeOMNli9fDsD48eN5/PHHi7Wtxx57jMjISPR6PYsWLaJ+/frs2bOHJ598EoB7772Xb775psix3nrrLZYsWUKLFi1YuHBhsd9vfhITE1m8eDHbt2/nwoULJCUlodVqqVy5Mi1btuT++++nU6dOpR5fcOtwfO9CQ0PZsWNHkcvLE1evXqV3796l7n/q1KkynE3hlNV3saQ4zpdGjRrF66+/ftO2KxAIBALB9SDEJcFNR6/X4+fn53ZdRkYGcXFxxMXFsXPnTpYvX87s2bM9XuCaTCa+/PJL5s+fj9lsBkCSJPz8/MjIyODkyZOcPHmSefPm0bNnTz766CMqVqxY6PyioqJ4//33XU7MDQYDXl5epKSksH//fvbv389PP/3Ee++9x6BBg0r3QQB79+7l/fff5+LFi8oyX19fJEkiNjaW2NhYNm/ezA8//MCUKVNo2rRpqbclEBTF33//rTxPSUnhn3/+KdH+HRoa6vLaarWSmZlJdHQ00dHRRERE8MsvvzBlyhTq169frDEXLVqkPD99+jT79++nbdu2Rfa7du0aL7zwAsePHwfyjguSJBEVFcXVq1dZt24d3333HVOmTKFFixZK3/fee4/du3cTFxfH5MmT6dGjB1WrVi10e3PmzCEyMhKAsWPHun1///zzD/369VMEvBuFLMv88MMP/PDDD2RlZSnL/fz8yMrK4ty5c5w7d45FixbRqlUrPv30U+rWrXtD5yQQOFCr1QWOFQ6SkpKw2WyFnicIBAKBQCAonwhxSXDT6d+/PxMnTnS7TpZlTp06xddff83mzZs5ePAgX3zxBe+//36BthkZGYwaNYqDBw8C0L17d5566inatWuHTqfDZDJx5swZ5s+fz9KlS4mIiOD48eP8+uuv1KtXz+32T506xfDhw0lMTMTb25sRI0bwwAMPULNmTQDS09PZtm0b06ZN4/z584wbN46srCwee+yxEn8Oy5cv5+2338ZisVC1alWef/55evfurURDxcXFsXTpUn755RcuXbrEsGHD+P3332nWrFmJtyW4udSuXRuAgICAWzyT4mM2m1m2bBkAvXv3ZuPGjfz5558lEpc8RUrExsaydu1apk6dyunTpxk+fDh//vkn1apVK3S8pKQkNm3aBNjv5G/atIn58+cXKS6ZTCaGDx/O+fPnqVmzJm+88QZdunTB29sbsB87tm7dypdffsnVq1cZOXIkf//9t/I9DwgI4JNPPuHZZ58lKyuL999/n1mzZnnc3qVLl5SIpI4dO/LUU095bPvxxx/ToUMHQkJCCn0PpcVisfDqq6+ybt06AFq1asXIkSPp1KkTPj4+WCwWLl26xF9//cWCBQuIjIzkkUce4fvvv6ddu3Y3ZE6Cm0dQUBC1a9cuk6jaG0XlypU9HiscETuFnSf8F6hevTo6ne6GHScEAoFAILgRCM8lQblCkiQaNmzI9OnTadCgAWCPXEhLSyvQ9u233+bgwYNoNBo+//xzfvzxR7p06aKkuOh0Opo0acKECRP45ZdfCAgIIC4ujmeffZb09PQC42VkZPD888+TmJhIUFAQf/zxBy+//LJywQn2O//9+/dn0aJFtGzZEoDPPvuMc+fOleh9Hj16lHfeeQeLxULz5s1ZsmRJgTS7ChUqMHr0aBYsWEBgYCDZ2dmMHTsWk8lUom0Jbj5r1qxhzZo1NzxCpSyJiIggMTERX19fXn31VcCeGvrvv/9e99gVK1bkySefZO7cufj4+BAfH1+sVI9ly5ZhNpupX7++kl64du1aEhMTC+23ePFizp8/j5+fH/PmzaNv376KsAT26MD+/fvzyy+/4OPjQ1paWoHUvh49evDggw8CdtHsr7/+crstWZZ55513MBqN+Pv7M3HiRCRJ8ji35ORkxo8fX+R7Ly1ffvmlIiy98sorzJ8/nz59+uDj4wOARqOhbt26vPXWW/z5559UqVKFjIwMXnzxxSLTlgXln2HDhrFmzRr++OOPWz0VwXUwZ84c1qxZw/Dhw2/1VAQCgUAgKDZCXBKUS7RaLY8++igA2dnZnDhxwmW9w6MI7P4ogwcPLnS8Dh068OWXXwJ2v4dp06YVaDNz5kzl4urbb7+lUaNGHsfz9vZm0qRJaDQazGYzM2fOLP6bwx69YDabCQwM5Oeffy40wqVWrVqMGzcOgMuXLyvRJQJBWeJIP+vRowf169enSZMmAMyfP7/MttGoUSNee+01wC5cbd68uVhz6t27N507dyY0NBSz2eySvueOPXv2ANC2bVvCwsI8tqtTpw4DBgwAYNu2bQXWv/vuu0oa7aRJk4iNjS3Q5vfff2f//v0AvP/++1SuXNnj9nr06AHYj18OT6ey5N9//2X27NkAPPHEE7zwwguFCl3h4eHMnDkTjUZDamoqn332WZnPSSAQCAQCgUDw30CIS4Jyi3PKTEJCgsu6n3/+GYCqVavyxBNPFGu87t2707NnTwAWLlzoEr2Uk5PDn3/+CUDXrl1p3759kePVqlWLJ554gqFDh9K3b99izQHsF9VHjhwBYMSIEcVKnbr//vvp2bMno0ePVsyiwS6UhYeHEx4eztatW9323bp1q9Lm6tWryvI9e/YQHh5Ohw4dSE9P56233qJ169a0atWKwYMHM3PmTMLDw2ndujVGo9Hj3D755BPCw8O5//77C6w7f/4848ePp2/fvjRv3pw2bdrw0EMPMXPmTLfRYw42b97MSy+9RNeuXWnSpAnt27fnkUceYcaMGaSkpBT5eTnjeJ/h4eEeI8zmz5+vtMlPZmYmP/30E//3f/9H69atadq0Kd26dePFF19k7dq1yLJcoI9jrPzCjGP56dOnuXjxIm+//Tbdu3enadOmdO3alddee42TJ096fC85OTnMmzePhx9+mHbt2tG6dWsef/xx/vnnHwCaNWtW4P9cHGJjYxVx5d577wVQ0uFWrFhBRkZGicYrjCFDhhAYGAjA0qVLPbY7fPgwZ86cUeak0WgUIWjBggXYbDaPfbOzswG4ePFioe0AHn74YcaMGcPLL79c4H/p5+fHhAkTAHtK7AcffOCy/sqVK3z99dfKHB944IFCt/W///1PSZn89NNPiYuLK7R9SXEcF729vRkzZkyx+jRs2FCJCtu4cSMXLlwAYOXKlYSHh9OwYUOio6M99p81a5ZyHMkfVRkbG8vEiRPp378/LVq0oFWrVtx///1MnjyZ+Ph4t+P16tWL8PBwIiIiWLhwIb1796Zp06b06tXL5ft04MABXn/9dXr27EnTpk1p27YtAwcO5Msvv3QrAjo4d+4cEyZM4IEHHqBdu3Y0adKEDh06MHToUH755RcXjyoHb731FuHh4UyePBmj0ch3333HfffdR4sWLejUqRPPPfccR48eVdovXbqURx55hFatWtGqVSueeOIJt2lgixcvJjw8nIEDBwLw559/MnDgQFq0aEHXrl155plnihRg8zNt2jTCw8Pp0qWL2+VjxozBZrMxf/58HnnkEdq0aaMc8+fMmVNoZOzJkyd544036N27N82aNaNnz558/PHHJCQk8OOPPxIeHs5bb71VovmWltLsWw6OHTvGu+++S79+/WjevDlt27Zl2LBhLF682O3x3IHJZOKXX35h0KBBtGzZknbt2vHoo4+yePFit+2feOIJwsPDmTt3LhkZGUyZMoV7772X5s2b0759e0aMGMGGDRvc9nV8DyZPnlxgnc1mY+nSpTz++ON06NBB+R1wjNWhQwfCw8MVkR2u71zBgSzLrF69mlGjRtGpUyeaNm1Kly5deO655zy+D4FAIBD8txCeS4Jyy6VLl5TnzuafSUlJHDp0CID77ruvWNXkHDzwwANERESQnZ3Nli1blIvVvXv3KhfQ/fr1K/Z4pTmRdnjIlGRbWq2W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bLbrNq4vCR06dOCPP/7gzz//xM/PT/mtUavVvP322y4egTebdu3a8e677/Lpp5+ybt061q1bh7+/P9nZ2ZjNZqpWrUpAQAAnTpwoE9PxwriefevJJ58kJiaGWbNm8fvvvzN37lz8/PxIT09XftcHDx7Ms88+e0Pfw/XwxBNPEBcXx48//sisWbOYPXu2y/7StWtXj4U0SnuuoFKpmDp1Ki+//DL79u3jhx9+4Mcff1S266Bt27Z88cUXN+y9CwQCgaD8I8QlQbmlc+fOPProo8yfP58rV64wadIkPv74Y5c2Op2O119/nccff5xFixaxY8cOzp8/T3p6OgaDgbp169K+fXsGDhxY7LtpjRs3ZsWKFaxdu5b169dz4sQJ4uLiyMjIICAggAYNGtCzZ08GDx583alQ999/P927d2fx4sVs27aN06dPk5KSgsVioWLFijRt2pR77rmHe++91+NJe4MGDVi+fDk//vgjmzdvJi4uDl9fX3r37s2zzz5bZtEYjtSYBQsW4O/vX8DINz+jRo3irrvu4vfff2fv3r3ExsYiSRJ16tShW7duDB8+vIDAAPbIi44dO7Jw4UKOHDlCQkICKpWKWrVq0alTJ5544okiL4Tz06lTJ5YuXcpPP/3Ejh07SE5OJjQ0lG7duvH88897jFQIDg7m77//5o8//mD9+vWcO3eOjIwM/Pz8qF27Nv369eOxxx4rtER3WRESEsKiRYuYPXs2q1ev5sqVK1itVtq3b8+IESMIDg5WxKXC7rrHxMSwc+dOAO69994iK1U5kCSJQYMGMX36dJKSklizZk2B6LH8pr4qlQqDwUCNGjVo3Lgxffv2pV+/fgUu2g8cOKBEqZUkNc3b25u7776bJUuWcOrUKQ4cOKCkszRr1oylS5eydu1atm3bxuHDh0lKSiIjIwNfX1+qVKlCt27dePDBB6lVq1axt3kjUavVTJo0iQcffNBFACopKpWKESNGMGjQIJYuXcqWLVs4c+YMqampaLVa6tWrR+vWrbnvvvvo2LFjsccdPHgwX331FSqVym1KrDMDBw6kTZs2zJkzh507dxIdHY3ZbKZ69ep07NiR4cOHl/h77ODxxx+nWbNmzJ07l4MHDxIXF4fValX87B577LECwsKjjz5K1apVmT17NseOHSM9PR1vb2+aNGlCt27deOyxxzCbzUolz927dxcw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\n",
      "text/plain": [
       "<Figure size 1000x470 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    " #Get the predicted probabilities for each classifier on the test data\n",
    "lr_probs = lr.predict_proba(X_test1)\n",
    "etc_probs = etc.predict_proba(X_test1)\n",
    "gbm_probs = gbm.predict_proba(X_test1)\n",
    "knn_probs = knn.predict_proba(X_test1)\n",
    "svm_probs = svm.predict_proba(X_test1)\n",
    "ada_probs = ada.predict_proba(X_test1)\n",
    "dt_probs = dt.predict_proba(X_test1)\n",
    "rfc_probs = rfc.predict_proba(X_test1)\n",
    "sgd_probs = sgd.predict_proba(X_test1)\n",
    "\n",
    "# Get the true positive rate and false positive rate for each classifier at different probability thresholds\n",
    "lr_fpr, lr_tpr, _ = roc_curve(y_test1, lr_probs[:, 1])\n",
    "etc_fpr, etc_tpr, _ = roc_curve(y_test1, etc_probs[:, 1])\n",
    "gbm_fpr, gbm_tpr, _ = roc_curve(y_test1, gbm_probs[:, 1])\n",
    "knn_fpr, knn_tpr, _ = roc_curve(y_test1, knn_probs[:, 1])\n",
    "svm_fpr, svm_tpr, _ = roc_curve(y_test1, svm_probs[:, 1])\n",
    "ada_fpr, ada_tpr, _ = roc_curve(y_test1, ada_probs[:, 1])\n",
    "dt_fpr, dt_tpr, _ = roc_curve(y_test1, dt_probs[:, 1])\n",
    "rfc_fpr, rfc_tpr, _ = roc_curve(y_test1, rfc_probs[:, 1])\n",
    "sgd_fpr, sgd_tpr, _ = roc_curve(y_test1, sgd_probs[:, 1])\n",
    "\n",
    "# Calculate the area under the ROC curve for each classifier\n",
    "lr_auc = roc_auc_score(y_test1, lr_probs[:, 1])\n",
    "etc_auc = roc_auc_score(y_test1, etc_probs[:, 1])\n",
    "gbm_auc = roc_auc_score(y_test1, gbm_probs[:, 1])\n",
    "knn_auc = roc_auc_score(y_test1, knn_probs[:, 1])\n",
    "svm_auc = roc_auc_score(y_test1, svm_probs[:, 1])\n",
    "ada_auc = roc_auc_score(y_test1, ada_probs[:, 1])\n",
    "\n",
    "dt_auc = roc_auc_score(y_test1, lr_probs[:, 1])\n",
    "rfc_auc = roc_auc_score(y_test1, rfc_probs[:, 1])\n",
    "sgd_auc = roc_auc_score(y_test1, sgd_probs[:, 1])\n",
    "\n",
    "\n",
    "# Plot the ROC curves\n",
    "plt.figure(figsize=(10, 4.7))\n",
    "plt.plot(lr_fpr, lr_tpr, label=f'LR (AUC = {lr_auc:.2f})')\n",
    "plt.plot(etc_fpr, etc_tpr, label=f'ETC (AUC = {etc_auc:.2f})')\n",
    "plt.plot(gbm_fpr, gbm_tpr, label=f'GBM (AUC = {gbm_auc:.2f})')\n",
    "\n",
    "plt.plot(knn_fpr, knn_tpr, label=f'KNN (AUC = {knn_auc:.2f})')\n",
    "plt.plot(svm_fpr, svm_tpr, label=f'SVM (AUC = {svm_auc:.2f})')\n",
    "plt.plot(ada_fpr, ada_tpr, label=f'ADA (AUC = {ada_auc:.2f})')\n",
    "\n",
    "plt.plot(dt_fpr, dt_tpr, label=f'DT (AUC = {dt_auc:.2f})')\n",
    "plt.plot(rfc_fpr, rfc_tpr, label=f'RF (AUC = {rfc_auc:.2f})')\n",
    "plt.plot(sgd_fpr, sgd_tpr, label=f'SGD (AUC = {sgd_auc:.2f})')\n",
    "\n",
    "plt.plot([0, 1], [0, 1], linestyle='--', label='Random Guessing')\n",
    "plt.xlabel('False Positive Rate')\n",
    "plt.ylabel('True Positive Rate')\n",
    "plt.title('ROC Curves using ADASYN Oversampling Technique')\n",
    "plt.legend(loc='center left', bbox_to_anchor=(1, 0.5))\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "114e0076",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "id": "ece2a201",
   "metadata": {},
   "source": [
    "# ENSEMBEL STACKING USING ADASYN DATA"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "id": "374a7502",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "              precision    recall  f1-score   support\n",
      "\n",
      "           0       0.97      0.96      0.96      1491\n",
      "           1       0.96      0.97      0.96      1431\n",
      "\n",
      "    accuracy                           0.96      2922\n",
      "   macro avg       0.96      0.96      0.96      2922\n",
      "weighted avg       0.96      0.96      0.96      2922\n",
      "\n",
      "[[1433   58]\n",
      " [  49 1382]]\n",
      "Accuracy: 0.963381\n"
     ]
    }
   ],
   "source": [
    "from sklearn.model_selection import train_test_split, cross_val_predict\n",
    "from sklearn.tree import DecisionTreeClassifier, ExtraTreeClassifier\n",
    "from sklearn.ensemble import RandomForestClassifier, StackingClassifier\n",
    "from sklearn.pipeline import make_pipeline\n",
    "from sklearn.preprocessing import StandardScaler\n",
    "from sklearn.metrics import accuracy_score\n",
    "\n",
    "# Load the Stroke Prediction dataset\n",
    "#data = pd.read_csv('stroke_data.csv')\n",
    "\n",
    "\n",
    "# Define base classifiers\n",
    "dt = DecisionTreeClassifier(random_state=42)\n",
    "et = ExtraTreeClassifier(random_state=42)\n",
    "rf = RandomForestClassifier(n_estimators=100, random_state=42)\n",
    "\n",
    "# Define the stacking ensemble\n",
    "estimators = [('dt', dt), ('et', et), ('rf', rf)]\n",
    "stacked = StackingClassifier(estimators=estimators, final_estimator=RandomForestClassifier(random_state=42))\n",
    "\n",
    "# Define the pipeline for preprocessing and classification\n",
    "pipeline1 = make_pipeline(StandardScaler(), stacked)\n",
    "\n",
    "# Use cross-validation to fit the stacking ensemble\n",
    "stacked_preds = cross_val_predict(pipeline1, X_train1, y_train1, cv=5)\n",
    "\n",
    "# Evaluate the ensemble on the test set\n",
    "pipeline1.fit(X_train1, y_train1)\n",
    "stacked_test_preds = pipeline1.predict(X_test1)\n",
    "\n",
    "print(classification_report(y_test1, stacked_test_preds))\n",
    "print(confusion_matrix(y_test1, stacked_test_preds))\n",
    "accuracy = accuracy_score(y_test1, stacked_test_preds)\n",
    "print('Accuracy: %f' % accuracy)\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "7ebe0a86",
   "metadata": {},
   "source": [
    "# ENSEMBLE USING HARD VOTING ON ADASYN DATA"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "id": "739c5c7d",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "              precision    recall  f1-score   support\n",
      "\n",
      "           0       0.97      0.95      0.96      1491\n",
      "           1       0.95      0.97      0.96      1431\n",
      "\n",
      "    accuracy                           0.96      2922\n",
      "   macro avg       0.96      0.96      0.96      2922\n",
      "weighted avg       0.96      0.96      0.96      2922\n",
      "\n",
      "[[1415   76]\n",
      " [  44 1387]]\n",
      "Accuracy: 0.958932\n"
     ]
    }
   ],
   "source": [
    "# Create individual models\n",
    "model1 = DecisionTreeClassifier(random_state=42)\n",
    "model2 = ExtraTreeClassifier(random_state=42)\n",
    "model3 = RandomForestClassifier(n_estimators=100, random_state=42)\n",
    "# Create ensemble model with Voting Classifier\n",
    "ensemble_model = VotingClassifier(estimators=[('svm', model1), ('dt', model2), ('rf', model3)], voting='hard')\n",
    "\n",
    "# Fit the ensemble model to the training data\n",
    "ensemble_model.fit(X_train1, y_train1)\n",
    "\n",
    "# Predict on test data using the ensemble model\n",
    "y_pred = ensemble_model.predict(X_test1)\n",
    "print(classification_report(y_test1, y_pred))\n",
    "print(confusion_matrix(y_test1, y_pred))\n",
    "accuracy = accuracy_score(y_test1, y_pred)\n",
    "print('Accuracy: %f' % accuracy)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "6d7f657a",
   "metadata": {},
   "source": [
    "# ENSEMBLE USING SOFT VOTING ON ADASYN DATA"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "id": "d587be84",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "              precision    recall  f1-score   support\n",
      "\n",
      "           0       0.97      0.95      0.96      1491\n",
      "           1       0.95      0.97      0.96      1431\n",
      "\n",
      "    accuracy                           0.96      2922\n",
      "   macro avg       0.96      0.96      0.96      2922\n",
      "weighted avg       0.96      0.96      0.96      2922\n",
      "\n",
      "[[1415   76]\n",
      " [  44 1387]]\n",
      "Accuracy: 0.958932\n"
     ]
    }
   ],
   "source": [
    "# Create individual models\n",
    "model1 = DecisionTreeClassifier(random_state=42)\n",
    "model2 = ExtraTreeClassifier(random_state=42)\n",
    "model3 = RandomForestClassifier(n_estimators=100, random_state=42)\n",
    "# Create ensemble model with Voting Classifier\n",
    "ensemble_model_s = VotingClassifier(estimators=[('svm', model1), ('dt', model2), ('rf', model3)], voting='soft')\n",
    "\n",
    "# Fit the ensemble model to the training data\n",
    "ensemble_model_s.fit(X_train1, y_train1)\n",
    "\n",
    "# Predict on test data using the ensemble model\n",
    "y_pred = ensemble_model_s.predict(X_test1)\n",
    "print(classification_report(y_test1, y_pred))\n",
    "print(confusion_matrix(y_test1, y_pred))\n",
    "accuracy = accuracy_score(y_test1, y_pred)\n",
    "print('Accuracy: %f' % accuracy)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "id": "0dfb2a66",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAtQAAAGjCAYAAAAM4oIUAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOzdd3gUVRfA4d/upldCh9BLQHrvCEiVIh2pUkTgwwqiqCCKUkVQBEVAem8aOqEjRXoJvYSeQEjvZbM73x9xx4T0TSNw3udBYefOzNmdndkzd27RKIqiIIQQQgghhDCLNrcDEEIIIYQQIi+ThFoIIYQQQohMkIRaCCGEEEKITJCEWgghhBBCiEyQhFoIIYQQQohMkIRaCCGEEEKITJCEWgghhBBCiEyQhFoIIYQQQohMkIRaCCGEEEKITLDI7QDyqjfeeANvb+9Uy1hZWZEvXz4qVKhAu3bt6NOnDzqdLs1tP3r0iK1bt3L8+HEePXpEcHAwVlZWlCxZkrp169KtWzdq1KiRoXgvXLjA9u3bOXfuHI8ePSImJgYHBwcqVKjA66+/Tu/evcmfP3+Gtpkcg8HA/v372bt3L5cvX8bX1xeDwUD+/Pl57bXXaNeuHV26dMHKyirT+xI5o1KlSgB8++239OvXL5ejST8vLy86duwIQL58+fj777+xtrZOdZ158+Yxf/78ZJdptVqsra1xcXGhUqVKdOjQgY4dO2bou3zkyBFGjBgBgJubG9u3b0/3ukajkT179qjnVkBAABqNhvz581OlShVatmyZ7Ln12WefsW3bNgAmTZrEgAED0rWv/v37c+HCBaytrdmyZQsVK1bk1KlTvPPOOwC8+eab/Pzzz2lu64svvuCvv/6iZs2abNy4Md3v93kBAQH8+eefHDt2jHv37hEYGIilpSXFihWjVq1adOnShcaNG5u9fZF7TOddwYIFOX78eJqvv0geP35M69atzV7/5s2bWRhN6rLqXMwoU7703nvvMW7cuBzbb06ThDqTrK2tcXR0THZZeHg4z54949mzZ5w4cYJt27axfPnyFH/UY2NjmTVrFuvWrUOv1wOg0WhwdHQkPDycGzducOPGDdasWUOrVq2YPHkyRYoUSTU+b29vvv7660QXIxsbG2xtbQkODubs2bOcPXuWxYsXM3HiRLp162beBwGcPn2ar7/+mvv376uvOTg4oNFo8PX1xdfXl8OHD7Nw4ULmzJlDtWrVzN6XEGnZvHmz+vfg4GB2796doe93wYIFE/3bYDAQERGBj48PPj4+HDp0iCVLljBnzhwqVqyYrm1u2bJF/futW7c4e/Ys9erVS3O9p0+fMnr0aK5evQr8d13QaDR4e3vz+PFj9u7dy2+//cacOXOoWbOmuu7EiRM5efIkz54948cff6Rly5a4urqmur8VK1Zw4cIFAMaOHZvs+9u9ezft2rVTb1qyi6IoLFy4kIULFxIZGam+7ujoSGRkJF5eXnh5ebFlyxZq167N1KlTKV++fLbGJISJTqdLcq0wCQwMxGg0pponiJeHJNSZ1LFjR2bMmJHsMkVRuHnzJj/99BOHDx/m/Pnz/PDDD3z99ddJyoaHh/Pee+9x/vx5AFq0aMHgwYOpX78+VlZWxMbGcvv2bdatW4e7uzuHDh3i6tWrLFu2jAoVKiS7/5s3bzJ06FACAgKws7Nj2LBhvPXWW5QuXRqAsLAwjh49yrx587h79y7jx48nMjKS/v37Z/hz2LZtG19++SVxcXG4urryv//9j9atW6u13s+ePcPd3Z0lS5bw4MEDBg4cyKpVq6hevXqG9yVyVtmyZQFwdnbO5UjST6/Xs3XrVgBat27NgQMHWL9+fYYS6pRqxHx9ffHw8GDu3LncunWLoUOHsn79ekqUKJHq9gIDAzl48CAQX2Nz8OBB1q1bl2ZCHRsby9ChQ7l79y6lS5fms88+o2nTptjZ2QHx146///6bWbNm8fjxY4YPH87mzZvV89zZ2Znvv/+ekSNHEhkZyddff83SpUtT3N+DBw/UmudGjRoxePDgFMt+9913NGzYkAIFCqT6HswVFxfHmDFj2Lt3LwC1a9dm+PDhNG7cGHt7e+Li4njw4AGbNm1iw4YNXLhwgT59+vD7779Tv379bIlJ5BwXFxfKli2bJU9Ps0uxYsVSvFaYamZTyxNeBSVLlsTKyirbrhMvDEWYpVWrVoqbm5syfvz4NMvGxsYqnTt3Vtzc3JSaNWsqISEhScp88MEHipubm1KlShVly5YtqW7v5MmTSv369RU3NzfljTfeUEJDQ5OUCQsLU2Ns2LChcu3atRS3FxERofTp00dxc3NTqlatqty5cyfN95SQp6enUrVqVcXNzU3p1auXEhwcnGLZe/fuKQ0aNFDc3NyUNm3aKDExMRnalxDp4eHhobi5uSl16tRRbt26pbi5uSlubm6pngeKoii//PKLWjYt165dU2rXrq24ubkpb7/9dprlly5dqri5uSmdOnVSjhw5op5v/v7+qa63bt06xc3NTalbt67y7NmzFMt5eXmp8YwbNy7J8vHjx6vvbePGjcluw2g0Kv3791fc3NyUevXqKT4+PomWnzx5Ut2G6c/o0aNTjd+03969e6daLjnTpk1T9/Prr78qRqMxxbI3btxQWrZsqbi5uSn169dXHj9+nOH9idxhOu+aNGmS26FkqYzkCTkhM+eiSJt0SswBlpaW9O3bF4CoqCiuXbuWaLmpzTHEt3fs0aNHqttr2LAhs2bNAuLbb82bNy9JmQULFqhtvH/55Rdee+21FLdnZ2fHzJkzsbCwQK/Xs2DBgvS/OeJrqfR6Pfny5eOPP/5ItSazTJkyjB8/HoCHDx+qtYhCZCVT04qWLVtSsWJFqlatCsC6deuybB+vvfYan376KRDfR+Hw4cPpiql169Y0adKEggULotfrEzVNSc6pU6cAqFevHoUKFUqxXLly5ejcuTMAR48eTbJ8woQJahOxmTNn4uvrm6TMqlWrOHv2LABff/01xYoVS3F/LVu2BOKvX6Y22lnp+vXrLF++HIBBgwYxevRoNBpNiuUrVarEggULsLCwICQkhGnTpmV5TEIIkRJJqHNIwsfB/v7+iZb98ccfALi6ujJo0KB0ba9Fixa0atUKgI0bNxIWFqYui4mJYf369QA0a9aMBg0apLm9MmXKMGjQIPr160fbtm3TFQPEJxKenp4ADBs2LF3NArp06UKrVq0YMWKE2uEN4m8OKlWqRKVKlfj777+TXffvv/9Wyzx+/Fh9/dSpU1SqVImGDRsSFhbGF198QZ06dahduzY9evRgwYIFVKpUiTp16hAdHZ1ibN9//z2VKlWiS5cuSZbdvXuXSZMm0bZtW2rUqEHdunXp2bMnCxYsSPT5P+/w4cN88MEHNGvWjKpVq9KgQQP69OnDr7/+SnBwcJqfV0Km91mpUiW8vLySLbNu3Tq1zPMiIiJYvHgxb7/9NnXq1KFatWo0b96c999/Hw8PDxRFSbKOaVvPJ6Om12/dusX9+/f58ssvadGiBdWqVaNZs2Z8+umn3LhxI8X3EhMTw5o1a+jVqxf169enTp06DBgwgN27dwNQvXr1JMc5PXx9fdWE8s033wRQm3ps376d8PDwDG0vNb179yZfvnwAuLu7p1ju0qVL3L59W43JwsJCTX43bNiA0WhMcd2oqCgA7t+/n2o5gF69evHRRx/x4YcfJjmWjo6OTJkyBYhv7vXNN98kWv7o0SN++uknNca33nor1X198sknanOgqVOn8uzZs1TLZ5TpumhnZ8dHH32UrnUqV66sdpw9cOAA9+7dA2DHjh1UqlSJypUr4+Pjk+L6S5cuVa8jsbGxiZb5+voyY8YMOnbsSM2aNalduzZdunThxx9/xM/PL9ntvfHGG1SqVIlDhw6xceNGWrduTbVq1XjjjTcSnU/nzp1j3LhxtGrVimrVqlGvXj26du3KrFmzkr3xMfHy8mLKlCm89dZb1K9fn6pVq9KwYUP69evHkiVLErU5N/niiy+oVKkSP/74I9HR0fz222906tSJmjVr0rhxY0aNGsXly5fV8u7u7vTp04fatWtTu3ZtBg0alGwThz///JNKlSrRtWtXANavX0/Xrl2pWbMmzZo14913303zpvN58+bNo1KlSjRt2jTZ1z/66COMRiPr1q2jT58+1K1bV73mr1ixIskxTOjGjRt89tlntG7dmurVq9OqVSu+++47/P39WbRoEZUqVeKLL77IULzmMue7ZXLlyhUmTJhAu3btqFGjBvXq1WPgwIH8+eefyV7PTWJjY1myZAndunWjVq1a1K9fn759+/Lnn38mW37QoEFUqlSJ1atXEx4ezpw5c3jzzTepUaMGDRo0YNiwYezfvz/ZdU3nwY8//phkmdFoxN3dnQEDBtCwYUP1d8C0rYYNG1KpUiW1YgEylyuYKIrCrl27eO+992jcuDHVqlWjadOmjBo1KsX3kRZpQ51DHjx4oP49YQeGwMBALl68CECnTp3SNQqIyVtvvcWhQ4eIioriyJEj6g/06dOn1aShXbt26d6eORcPU5vQjOzL0tKS33//PcP7Sg+j0cjo0aM5ffo0tra2xMbGEhQURI8ePfjll1+IiIjg4MGDyXakiouLY9euXQBJ2tpu2LCB7777jri4OCD+Rz4uLo4rV65w5coV1q9fz4IFC6hSpUqi9ebMmcPChQvVfzs6OhIREcGlS5e4dOkS69atY+XKlZQrVy6LP4mkQkJC6N+/P3fu3AHAwsICOzs7nj17xv79+9m/fz/t27dn7ty5qdYEPu/EiRP89NNPREdHY2lpiU6nw8/Pjx07duDh4cHixYuTjL4QHBzMyJEj1e++paUlVlZWaifZ06dPm/0+//rrL3VkmRYtWgDQuXNnfvjhByIjI9m6dWu6RrpIDysrK5o0acKuXbs4efIkiqIk+9mZaqFfe+01KleuDECPHj1Yvnw53t7e/P3332qN7/OqVKnCoUOHuHfvHhMnTmTs2LEpdoKqUaNGqiMAvf766/Ts2ZMtW7Zw6NAh9u/fT5s2bQD45ptviIyMpHDhwnz77bfpeu8zZ86kX79+BAcHM2nSpCw7rw0GA0eOHAGgVatWODk5pXvdLl26sGrVKhRFYe/evYwcOZK2bdvi5OREaGgoO3bsUEdaeZ6ppr1Tp06JRks5ePAgn376qZqgmjqW37p1i1u3brFx40Z++umnJImfyZYtW9i3bx86nQ4rKyu8vb0pU6YMEH8DPHnyZDX5sbe3Jzo6Wu2Evm7dOhYvXkzdunUTbXP58uXMnDlTvcmytbXFwsKC4OBgzp8/z/nz53F3d2fDhg1qe/uEQkJC6N27N7du3cLCwgJLS0sCAwM5dOgQJ06cYPXq1axdu5a//vpLjSsiIoLTp09z9uxZFixYkOJ3duLEiWzatAkAJycnAgICOHbsGMeOHWPgwIFMmDABrTbz9Xl6vZ5Ro0ap3xUHBweioqK4evUqV69e5ciRI/zxxx9J9uXu7s6ECRPU67mTkxO+vr6sWbOGPXv20KRJk0zHll6Z+W7Nnz+fX3/9Vf0OmH5fzpw5w5kzZ/Dw8GD+/PlYWlomWi80NJS+ffty9epVNBoNdnZ2hIaGcuHCBS5cuMDZs2dTfMLj6+tL165defz4sbpuSEgIx48f5/jx43z88ceMHj06Xe89KiqKsWPHqnmEhYUFNjY26u/AmDFj0vchZlBERARjxoxRvzcQ/x0ICgri0KFDHDp0iPbt2zNr1qw0R4ZKSGqoc0BkZCRr1qwB4ofvql27trrs/Pnz6oU0Yc/89Eh40psSEyBRk5I6deqYE3K6mfZl6jyS20JDQzl79ixTpkxRLwzz5s2jSJEi6ueV0uPpY8eOERgYiE6nS1Q7t3//fiZNmoTBYGDAgAEcOHCACxcucPHiRTZs2EDt2rV5+vQpI0aMSPT04dq1ayxcuBCNRsO4ceM4f/48Z8+exdPTkwULFuDs7Iyfn1+OPZqeP38+d+7coXjx4qxZs4YrV65w5swZTp8+zdChQwHw8PBQa4jTa+bMmZQoUYLly5ern8tvv/2Gk5MTer2eyZMnJ1ln/PjxXLx4UW1udOHCBc6fP8/mzZupWrUqa9euTbV2KTWmGpauXbuqPyT58+dXh7bKymYfgDqiRFBQULK1SVFRUeqNWs+ePdXXK1WqpHbKXbt2bYrb79evHy4uLkB8YtaiRQveeecdfv/9d86ePUtMTEyG4v3qq6/UphzTpk0jOjqabdu2cfz4cTQaDdOmTVNr3dNSs2ZN9btz6NChFGu3Mur27dvqU5+MDhFao0YNHBwcgP+ui9bW1urTipSGKrxz5w7Xr18HoHv37urrnp6efPTRR0RGRtKpUyd27tzJxYsX1aFIW7VqRUhICB988IF6s/q8ffv28cYbb/DPP/9w4cIF1qxZQ6NGjfD392fq1KkoisLQoUM5efIk58+f5/Lly6xZswZXV1ciIiKSdGS/cOECM2bMwGg00rVrVw4dOsTFixe5dOkSBw8eVJsN3rp1K8Xv+6ZNm3jw4AGTJ09WE6lFixZhY2NDTEwM7777Llu3bmXUqFGcOXNGPT8LFSqE0Wjkl19+SXa7t2/fZtOmTbz++uvs37+fM2fOcOLECbXZ4+rVq9UnqJl1+PBhjh07xrvvvsuJEyc4d+4cx44dUytMjh8/nuR65unpyRdffEFcXBwtW7ZUYzx9+jSffvopwcHBGRrOMjMy893avHkz8+bNw2g00qNHDw4fPszZs2e5ePEi48ePR6PRcPjwYX777bck+7137x43b95k7NixnD17lvPnz7N//361I++WLVsS5RQJ/fHHH4SHhzNlyhT1xm379u24ubkB8Ouvv/L06dN0vf+ff/6ZgwcPotVqGTt2LGfOnOHcuXNs27aNmjVr8vPPP6f69Ndc48eP58iRIxQuXJjp06dz/vx5zpw5o+YOjo6OeHh4pKtiISFJqLNRbGwsJ0+eZMiQIepQcmPGjEl0x5PwMWnRokUztP18+fKp20o4JnbCL3PhwoXNCT3dTPvK7v1kxJtvvknv3r3Vu2fT8HymH8ljx44l29TClGg3b95cbasaFxenJryffPIJkyZNUpvvaDQaatWqxbJlyyhdujR+fn4sXrxY3d4///wDxCdO7733Hvb29kD8MEtvvPEGn332GZaWlnh7e6vDJGYnUzyDBw+mXr16ak2qs7Oz2kTGwcEh1WYayXFwcGDVqlU0btwYS0tLNBoNrVu3ZtSoUUD8xfvRo0eJ4jA9+p07dy7dunVTE9/q1auzYsWKNId1S8np06fVp0HP90UwJbO3b9/mzJkzZm0/OQlHIAgMDEyyfM+ePYSHh2Npaak+RXo+pqNHj6bYtKVQoUIsXrxY/Uzi4uI4deoUP/30EwMGDKBu3boMGjSIP/74I9XmASYODg5MnToViL9u/Pjjj/zwww8A9O/fn+bNm6fjXf/n448/VofVmzZtWrp/TFOT8H2k1o47ORqNRj1/E14XTee/qebveab+HBUrVkw0+tC0adPQ6/X07t2bOXPmUKFCBbXG083Njd9++426desSGRmZ4rjctra2zJgxA2dnZzQajXr+nT17Fr1ej5OTE1988YV642QqM2XKFHQ6HdHR0Yk+k9WrV6MoCm5ubsyYMYPixYury1xdXZk6dapaA24aOep5iqLw5Zdf0rdvX6ysrNBoNLRo0UL9joaGhjJo0CDGjBmjPiGoXr06w4YNA+IrDEzNkRIyGAzUqVOHBQsWULJkSSC+wmXy5MlqRcXcuXPNvmFOyGg0MmLECD7//HN1BImCBQsyY8YM9abw+SYBM2fORFEU6tSpw2+//abG6ODgwIgRI3KsmQeY/93S6/VqP6quXbsyffp09TyxtrZm2LBh6o3uqlWrkv19+fLLLxk5cqR681myZEl+/PFH9Vp87NixZGM2Go38/PPP9O7dW33y4ebmpv5OxsXFpWvM8KdPn7Jq1SoAPvzwQ0aOHKlur1KlSixfvpzSpUtjMBjS3FZGHD9+nH379mFjY8Pq1avp0aOH+ttsZ2dH7969mTt3LhBfOZOR30NJqDNp165dNG3aNMmf+vXrU6NGDQYPHsylS5ewtrZm/Pjx6l26SWhoqPp3c8apNLVZTnhhMz3GApJ91JeVEjaBeFGklBCYHvvq9Xr27NmTaFl4eLj62Clhc4/Tp0+rP8pvv/12stu1tbVVf6xNnUsB9SS9f/8+586dS7Jejx498PT0ZPfu3UkeyWUHUzwHDhxI9L0zWbFiBefOnWPs2LEZ2m6bNm2SHdYq4ZOYgIAA9e87d+4EoFatWrz++utJ1nN0dEzxkXxaTE0rqlevrtaYmDRr1kz90cnKWuqExy4iIiLFmFq3bq0mTCadO3fG1tYWo9HIhg0bUtxH9erV2b59O5999pnaZMREr9dz+vRpZs2aRbt27ViwYEGqbScBmjZtSp8+fYD4H1w/Pz/Kli3L559/nvqbTYaVlRXTp0/HwsKCsLAwJkyYkOFtPC+z10VTMpXwuli7dm31KdrzNZCKorBjxw4g8fn/4MEDdTzu56/dJlqtVl125MiRZPtoVK9ePdn+JaZzMiwsDA8PjyTLGzdujKenJwcPHkw058AHH3zAggULmDp1arJNJ7RarXqTk9x3EuIfr5vaOyeUsO9Fwpp6E9MTGUVRCAkJSXbbY8eOxcIiaYtSU1OA4OBgTp48mey6GdW7d+8kr1lbW6sdkRM+NfT19VWvxaNHj062ieWAAQMyXLlljsx8t06ePKlWCqXUvGLgwIGMHj2aiRMnJsoJIP6cTe5zK1q0qHrjnlKfCFdX12QnUKpWrZraTCrh9T4l+/fvx2AwYGNjk+zQnHZ2dvzvf/9LczsZZWrC1LhxY3Vo0ec1bdpUXZbwNz0t0oY6k2JiYlJ95NqoUSOaNm1K165dk52EJeFFJ6OPbuG/i6Wtra36WsKxHkNDQ7N17McCBQpw//79ZBO03JJS0xPTY98NGzawY8eORBexvXv3EhUVhbOzc6JZr0wXPCBJ7WJCpmPn4+NDREQE9vb2tGvXjtmzZxMaGkr//v2pWrUqzZo1o3HjxtStWzfHZ4vs2bMnFy9e5PTp07Ro0UL9bjZu3Jjy5cubHU9K7b8TtntNWENiGkWiYcOGKW7TnDaMCZOShE0rTLRaLd27d+e3335j7969BAQEZMm5kbCToylBMrl//776fpOLydHRkfbt2+Pu7s7mzZv58MMPUzwO9vb2DB8+nOHDh+Pr68upU6c4e/Ysp06dUp+ARUdH8/PPP+Pn58ekSZNSjXv8+PEcP34cb29vLCwsmDVrFjY2Nhl566rq1aszfPhwfv/9d44dO8bGjRvVhN0c2XFdhPgEcc6cOezcuZOxY8eqT2lOnz6Nj49PkuZeCc//4cOHp9jHxZSwxMbG8vDhwyQ3cyldkxo2bEiJEiV4/PgxH330EeXLl6d58+Y0btyY+vXrY29vn2xiWrZs2STbDAgI4OHDh3h5eeHp6ak+hUmphs/V1TXZihBTjSWg1t4mlPA78nyiBvGJUEpNDcuWLUuhQoXw8/PD09Mz2RvqjLCxsUnxaZbpRuz5a4+iKGi12hTHKdfpdDRo0CBbRq5JKDPfLVOn0UKFCqlPIp7n6urKxx9/nOyyEiVKpNg2uFChQty/fz/FztspTZqk0WhwcHAgMDAwXU8fTJNUvfbaa0mumyYZfVqWHqamLCdOnEixzwOg3iym1IwrOZJQZ1L37t0TDdgeGRnJiRMn1Ekf7t+/z/Dhw1Oc0TDhxcDX1zfJhTg1oaGh6g9Hwu0kHFrLz88vWxNq076eH7kkNyX8QXhe9+7d2bBhA2fPnsXHx0d9VJpSZ6SEbWLT+x5DQkKwt7cnf/78/PHHH3z++efcv39f7SizcOFCbG1tady4Md26daN9+/bmvM0M69OnD0FBQfz6669ERkZy8OBBtVa+ePHitG7dmv79+2e4g2RKF8OEnfMSjk5hqvlIbQg4c2qIduzYodbgfPvtt6m2f9Pr9WzatEltlpIZCZt5PN9ZMOGQeO+9916a2/Hw8Eh2hJnnFSlShLfeektN/ry9vdm4cSPLly8nOjqaNWvW0K1bt1TbHzs4ONCgQQP++usvihQpkulJlt5//30OHTrEzZs3mTFjBk2bNjW76c7z18WMUBRFXef5/Xfr1o2ff/4Zb29vzp07p06qYzr/mzVrlqj5WsLzPygoKF37T67WNqVrkpWVFX/88Qfjxo3jypUr6qyPy5cvx9LSkvr169O5c2e6du2aJLEODQ1l7dq1HD58mFu3biWpiU6r019q10kTc56cFSlSJNXO9QULFsTPzy9LfjNSuvbAf+8/4dMa07XHyckp1ZvHnKihzsx3y1QDnNo1NDWpHXvTdTulp1wZ/cxTYjr+KXWwhvgKO2tra7NuqlNi+tzTqgw1ychIXJJQZzE7OzvatGlDo0aNGDhwINevX+d///sfP//8s9qbPqGEd/Lnzp3L0B1ZwrZxCTs0Pr/N5x8Rp+T06dOcPHmSBg0aUKdOnXTVWNauXZs9e/YQEhLC7du30z0F84YNG4iKiqJhw4apjpH9vLSGDQNSHaHC9Nj33r17am9/U20fJH3EadpfoUKFUmxTlpqaNWuqI0AcOHCAEydOcO/ePaKiotSE9o033mDevHnJ1kSZI7XPaOTIkfTp04f9+/dz5MgRTp8+TUhICD4+PqxatYp169Yxffr0NIdMSygjI4LAfzVGqcWZngvy8xJO650eGzduZMSIEZkebeDKlStAfCKR8MfBYDCkOpRectatW5cooY6KisLHx4fAwMBUZ/5zdXVlzJgxNG7cWH18un///gx36MsMKysrZsyYQZ8+fYiIiGDChAksW7bMrG1VrlwZOzs7IiMjOXfuXIqPxJNz584dNfF4vqO3qXPysWPH2L59O/Xq1SM2NlZ9rPv8+Z/we3j58mWzn+Kk9h0rW7YsW7Zs4dy5c+o14saNG+j1ek6cOMGJEyfYsGEDS5cuVROhGzduMHz4cDU5sLOzo0aNGpQvX57XXnuN+vXrs2jRolQ7GGfV9eZ5aY1UZfpMs6KZW3Zce8C8609GZea7ldk+Nxn93LJqXXO2Y2lpaVZCndIxNr0+YsQIdR6BrCJtqLOJg4MD8+fPJ1++fOj1esaNG8fNmzeTlCtSpIg6HNLWrVuTfYSWElPtl62trTo8GMQ/QjHVzCQc1i4tmzZt4tdff2XYsGHpHqs34ZjVhw4dStc6RqORhQsXMn369ERtNhOeYCld0LJiDGHTj6Zp5IWdO3diNBqpUKFCkgTE1OY1KCgo1fGrU6PT6WjatCmTJk1iz549HDt2jJkzZ6o/9gcPHlTbb6YlKz4jFxcXevfuzfz58zl58iR//fUXH330Ec7OzsTFxfHdd9+l2O4yK5hqVVIbXzWtsVefd/PmTfUx6M8//4ynp2eKf0xPlLy9vRMNm2SOsLAw9RHi881Ujhw5or6PTZs2pRrThx9+CMTfACfsMLdv3z46duzIwIED0zXOc6NGjdQ2sLnx1KhKlSpqrf8///yT6uglqbGyslIrIPbv359iW93kmK6LGo0m2aE8Tee/h4cHBoOBQ4cOERoamqS5F5CozfuTJ08y/D4yom7dunz++ee4u7tz8uRJ5s6dS7NmzYD4ccxXrFihlh03bhx+fn4UK1ZM7fuwadMmZsyYweDBg6lSpUq2nsOpSet7Z3p6kBsd2U03vOHh4cl2qDTJiXMnM98t07ppXSfv3LmTpePuZyXT70BqT6Cio6OT/R5n5nfQ9Nllx/ksCXU2KlGihDqRQlRUFJ988kmyd1qmR8E+Pj6JRolIzYkTJzhw4AAQ3ynj+XFaE45oYRrdITUPHz5UazNatWqVbCez5Li6uqoTx/zxxx/penS1fft2taNfr1691NcT3qGndDJkpD1TSrp164ZWq+X69es8fvw42c5IJqbH4HFxcal+jtOmTaNDhw589NFH6gm+d+9efvrpJzVxNylUqBDdunVj9erV6kXFNDlOWsz9jAIDA1mzZg2TJ09OlJhptVqqVKnC+++/z/Tp04H4JPHu3bvpiscctWrVAv5rS52c1JYlx5REOTo60rp1a6ytrVP806FDB/WxZWY7J65fv14dP/b5UUVMMZUrV44aNWqkGlOPHj3UH4mEMSV84vP89yglpmuMuc0tMmvUqFHqeOw//vhjohFeMuLdd99Fq9USGRmpjmiQltu3b6tDsr3xxhvJNl8ydU4OCgri7Nmz6vnfsWPHJLWECZvBJDf7pMny5ctp27Ytw4YNS3YylZQcP36cefPmJbnxyJcvHx06dOCPP/5QO9eZrhF37txRJwkaM2YMjRo1SrYG3HRjlhO1rQkFBweneP24deuW+huR2hOX7GK69hiNxhRHPwGS7USe1TLz3TKNXOXn55fi6EC+vr506tSJunXrpjj5SW4yHYvr16+neMN84cKFZL+/mckVTJ/7yZMnU6zAjI6Opn379vTo0UMdTz09JKHOZm3btlU7I929e5c5c+YkKdOqVSu1He28efPYuHFjqtu8cOECY8aMwWg04urqmuwsYkOHDlXbgY0fPz7VoV9CQkL45JNP0Ov1WFpa8sknn6T37QHx06Wbpvv98MMPU61Nun79ujpkV8mSJRM9ynVxcVEfAyZ3QYuKisqS8UETjkm9YsUKrl69ik6nS7bHe7NmzdSbi7lz5yZ7Q3Tv3j02bNjAvXv3KFSokJoY/fXXX/z+++/8/vvvyT6i02g06uOn9MwwaYrdJLnPyM/PL8UnBVOnTmXt2rUpTvee8MKV3nGIzWH6nC9cuJBsT//Y2FiWLl2a7u3FxsaqbWDbtm2b5qNTW1tbOnToAMT/kJmb8F27do358+cD8b3CE85I6u/vr9Z+d+rUKc1tFS9eXO2kuXXrVrVW5rXXXlNHS5k/f36iGeySs3v3bu7fv49Op0u1E212srCwYMaMGVhaWhIZGZnhmyOTypUrM2TIECC+hj+lcY9N7t27x6hRo4iOjsbJyYmvvvoq2XIJx6TeuXOnmmw8f0NkisHUr2XRokXJVhgEBATwxx9/8PDhQ6ysrDI04tGhQ4fUyTmSSww0Go16XpquEQlr7FJKltesWaMOX5iRp55ZJeFkVgmZzpeSJUtmeN6FrGC6uYX4GJNrFrBz504ePnyY7bFk5rvVtGlT9fuQUiWc6cbS3t4+yaRALwJTxYZer092QihFUVL8HmUmVzA1Z/Tz80vxd2bJkiVqv6eMNEmVhDoHfPXVV2rnt5UrVyY7Bu6MGTNo0KABBoOBr7/+mlGjRvHPP/+oiZiiKNy4cYMpU6YwaNAggoODKVSoEAsXLkx2WCkHBwd++eUX7Ozs8PX1pV+/fsyePZt79+6pvb5DQ0P5888/6datmzpj0jfffJPudtAmNWrUUH+8zpw5Q/fu3dWhuEx8fHyYP38+ffv2JSQkRI0vYU9jCwsL9RHnhg0b2LRpkxrr5cuXGTJkSIY7KKXEVINvmnCnSZMmyT6CtLGx4bPPPgPibwYGDx6stpk1GAwcPXqUd999l+joaFxcXNSxPyF+2CKIb44wZsyYRLU2jx49YuzYsQQEBCQZWSA1xYoVUy/C8+fPZ//+/SiKgqIo/PPPPwwcODDZpin58+dXk4i5c+eycuVK9Qc8Li6Ov//+m++//x6If/ScXO/+rNKiRQt12KUPP/yQHTt2qN/zO3fuMHz48ETNo9Jqa3fgwAG140h6OvTBf8c/reHqnqcoCnfv3uW3335jwIABREdHU6hQIfUm0cTd3V1NZDIaU0RERKIRBr799lucnJwICwujX79+TJs2jatXryYaveHOnTvMmjVL/a6+9957KQ4JlRMqVarE+++/n+ntjBs3Tp2k49dff6Vfv34cPHgw0Xf83r17zJ07lx49evD48WPs7e2ZP3++Ol58ckyf9ebNm4mOjqZ8+fIptjf/6quv0Gq1+Pr6MmDAAHVGTEVRuHDhAsOGDcPPzw9ra+t0zxBn0rdvXywsLPD392fUqFFcvXpVTfL8/Pz45ptv1MmzTDFXrFhRTax++eWXRJODPXr0iGnTpqnnMpBq04bs4u7uzuTJk9UOu35+fowfP14dhefrr7/Osra4GfX555+j0Wg4deoUH3/8sVrDGxMTw7p16/jyyy/Vstkdo7nfLTs7Oz744AMgPnGeMmWK2lExIiKCxYsXq8lowjkQXiSOjo7qTIhLly5l5syZamWcr68vY8aMSfGpcGZyhbZt26qVF3PmzGHOnDnqzUxYWBi//vor8+bNA6B9+/bq04D0kE6JOcA0kcKwYcMwGo18+eWXbN26NdGX3M7OjiVLlvDLL7+wfPlydfpLrVaLk5MTERERiWo5W7Vqxbfffptqb+SaNWuyZs0aPv30U+7evcuiRYtYtGgRlpaW6lSjpgtxvnz5+Oabb5Kdkjs9BgwYgJOTE9999x3e3t5MmTKFKVOmYGtri1arTVSrUrFiRX788cdkO0uOHTuW8+fPExISwsSJE5k8eTIWFhZERUVhaWnJjBkzsqQjQcKpiCH52imTHj16EBAQwJw5c7hw4QI9e/bEzs4OvV6vHhN7e3t+//33RD/iTZs25b333mPx4sXs27ePffv2YW1tjVarVX/kLCws+P777zM0y+RXX33FiBEjiIyM5P3338fa2hpFUYiNjcXBwYHJkycnWzs3YcIEbt68ye3bt5k6dSpTp07F0dGRyMhI9WJkGtw/u82ePZt33nmHO3fu8Omnn/Lll19ibW2tzorVpk0b9u/fD6TdecnUtKJQoUKpDsWXUL169dThyrZs2cJHH32UpGb7+SGV4uLiCA8PT1TjV6lSJebNm5dk8hFTB8nq1aunO7Ft164dkydPJjIyknXr1tGvXz8gviZr6dKlfPXVV9y6dYsVK1awYsWKZK8NlpaWvP/++8k+tcppI0aMYP/+/eoNqDl0Oh2zZ8+mevXqzJs3j/Pnz/O///0PjUaDo6Mj0dHRiYboqlOnDlOmTElxaC+ThJ2TIfnmXiaNGzdmxowZTJw4ES8vLwYPHqyOEGFK7C0tLZk9e3aGO4FWqFCBr776iu+//54zZ87Qo0cPLC0t1dp9iE/qPvroI/Um1M7OjvHjx/PNN9/g7e1Nv379klxXnJycaNKkCXv27OHJkycYjcYsmeo7vRo2bMjatWtZv349jo6O6m+NTqfjyy+/TNTnJ6fVr1+fCRMmMHXqVPbu3cvevXtxcnIiKioKvV6Pq6srzs7OXLt2LdvnB8jMd+udd97hyZMnLF26lFWrVrF69WocHR0JCwtTf9d79OjByJEjs/U9ZMagQYN49uwZixYtYunSpSxfvjzR96VZs2YpDgZgbq6g1WqZO3cuH374IWfOnGHhwoUsWrRI3a9JvXr11Amv0ksS6hzSpEkT+vbty7p163j06BEzZ87ku+++S1TGysqKcePGMWDAALZs2cLx48e5e/cuYWFh2NjYUL58eRo0aEDXrl3TfddUpUoVtm/fjoeHB/v27ePatWs8e/aM8PBwnJ2dcXNzo1WrVvTo0SPTj/m7dOlCixYt+PPPPzl69Ci3bt0iODiYuLg4ihQpQrVq1ejQoQNvvvlmihcqNzc3tm3bxqJFizh8+DDPnj3DwcGB1q1bM3LkyCyrdUs4JrWTk1OSzkjPe++993j99ddZtWoVp0+fxtfXF41GQ7ly5WjevDlDhw5Ndka3cePG0ahRIzZu3Iinpyf+/v5otVrKlClD48aNGTRoUJo//s9r3Lgx7u7uLF68mOPHjxMUFETBggVp3rw5//vf/1KskcqfPz+bN29m7dq17Nu3Dy8vL8LDw3F0dKRs2bK0a9eO/v37mz0WcUYUKFCALVu2sHz5cnbt2sWjR48wGAw0aNCAYcOGkT9/fjWhTq125cmTJ5w4cQKInyEzrREGTDQaDd26dWP+/PkEBgayZ8+eJE8Jnu+YpNVqsbGxoVSpUlSpUoW2bdvSrl27JInKuXPn1KcRGWl2YWdnR/v27fnrr7+4efMm586dUx/VVq9eHXd3dzw8PDh69CiXLl0iMDCQ8PBwHBwcKF68OM2bN6d79+4pjkub03Q6HTNnzqR79+6ZmhVPq9UybNgwunXrhru7O0eOHOH27duEhIRgaWlJhQoVqFOnDp06daJRo0bp3m6PHj2YPXs2Wq022eZeCXXt2pW6deuyYsUKTpw4gY+PD3q9npIlS9KoUSOGDh2a4fPYZMCAAVSvXp3Vq1dz/vx5nj17hsFgUPun9O/fP0ky1bdvX1xdXVm+fDlXrlwhLCwMOzs7qlatSvPmzenfv786gVVISAgnT540a2x3cy1YsID169ezefNmHj9+TNGiRalXrx7Dhg1T29fnpkGDBlG9enWWLl3KuXPnCAkJoXDhwrRt25b//e9/jBs3Dkj92pNVMvPdGj9+PK1bt2b16tWcO3eOoKAgnJycqF69Ov369Ut2ZLEXzaeffkqTJk1Yvnw5Fy9eJDo6mmrVqjFw4ECqV6+eYiVfZnIFFxcXVqxYwc6dO9m2bRvXrl0jJCQER0dHKleuTOfOnenVq1eGR8LRKDndY0EI8UpTFCXNR6n79+/n/fffJ1++fOqQhkKIF9eff/6pNpfw9PRMceKQvKBbt25cv36diRMnMmjQoNwO55Xl5eWlJtQrV65M9xPI3CJtqIUQOWrevHk0a9Ys1WYJpulhE05fLoQQmREXF0ft2rXp2LGj+mTredevX1c78ac046MQyZGEWgiRoxo0aICfnx8eHh7MmDEj0TB+jx494uuvv2b//v3odLo0ZxcUQoj0srCwoGrVqnh5eTFp0iSOHz+u9h+JjY1l//79jBgxAkVRaN68uTpkoRDpIW2ohRA5qlGjRvTv35+1a9eybNkyli1bhr29PQaDQe2IY2Vlxddff/1CDvckhMi7Jk2axJAhQ3j06BHDhg1Dp9Ph4OCQqJN+rVq1mDlzZi5HKvIaSaiFEDnum2++oVOnTqxbt45r167x9OlTLCwsKF++PE2bNqVv375md/ISQoiUuLm5sWfPHjZv3szevXvx9vYmKCiIQoUKUaFCBTp37kzXrl2zbWp28fKSTolCCCGEEEJkgrShFkIIIYQQIhMkoRZCCCGEECITJKEWQgghhBAiE6TVfTYJDY3CYDDmyL5cXOwJCopIu6B4YckxzPvkGOZ9cgzzNjl+eV9OHkOdTouTk22WbU8S6mxiMBiJi8v+hNo04ZzBYES6l+ZNcgzzPjmGeZ8cw7xNjl/el9ePoTT5EEIIIYQQIhMkoRZCCCGEECIT8nRCPXPmTCpVqsTly5fNWv/EiRMMHTqUunXrUrNmTbp06cIff/yBXq/P4kiFEEIIIcTLKs8m1IcOHWLFihVmr+/u7s7QoUM5ceIEzs7OlClThjt37jBr1iwGDx5MbGxsFkYrhBBCCCFeVnkyod67dy8ff/wxBoPBrPXv3LnDxIkT0el0zJ49m4MHD7J161Z27NhByZIlOXfuHD///HPWBi2EEEIIIV5KeSqhDg8PZ9q0aXz44YfExMSYvZ3Fixej1+vp168fnTt3Vl8vX748c+bMAWDNmjWEhIRkOmYhhBBCCPFyyzMJ9Y0bN2jfvj0rVqzA2tqaqVOnmrWdmJgYdu/eDUDPnj2TLK9RowZVq1YlOjqaQ4cOZSpmIYQQQgjx8sszCfXjx4/x9/enSZMmuLu706tXL7O2c+3aNWJiYrC1taVy5crJlqlduzYAZ86cMTteIYQQQgjxasgzE7uUKlWKFStW0KhRo0xt58GDBwCUKFECrTb5+4nixYsD8PDhw0ztSwghhBBCvPzyTELt5uaWJdsJDAwEwMXFJcUy+fLlAyAoKChL9imEEEIIIV5eeSahzipRUVEAWFlZpVjGxsYGgOjo6EztyzSNZnYy7SMn9iWyR5YeQ8WIJiYUTWwoCedu1Rj1aGJC4v/oI9PYhoImNgxtTAia2DBQjFkQGGDUo9FH/vcnLoo8Ob9scjSApQ4nvQFSfEsKKAY0xjgwGkCJQ2M0gDEu/nWDHpR//200oFHiXp7PJ6/QashvlM88r1K0GlxSOX6K+p9Er5Dk5WRWTOtbkWS5kvCvacSUShCp7VdJ/J/0r2vW+1FSX57csnS+HwU4b6PjgIMVbymNces/P43oXkyvXEJtauahSSV7Uf794qTUJCQ9XFzszV7XHAUKOObo/oQZ9FEQ4p04QQ19DBEB4A0F0lo/LgqigiDCH3yvwtPLEJdwtBsFYsOzLgHOVhqwtAWNLrcDyVIp36b/S6sFrSVoLf79o/vv7xZ2oLP4798aHWjyTDeXF0bC5MWUAyjqv5X//v1cUpFoGQnzByVJ+f+2qyTdT2rL/n0h6XbSEUOSshmP778YU44h0bIk21WeK2v6ezIxJPhPSstSji/BsnTsS2QPzb//0fz7L436ovq/+Fc1Cf6dcLnmuWXPbc/0d3+dkbFFw9ACtSxcaJxH85lXLqG2s7MDSHXYPdMya2trs/cTFBSBwZD9iY1GE59MBwSESWXWC8LKaxeWj46hC7qDxhg/66YmKgBdyH00WZTsKjpr4gq+hmLllPh1S3sUm3wYrZ0SJ6taCxRrZ4zWTiiW9vx3iUuGRoNi6YBi44xi5YiSVUmv1gLF0g7Fwg4sbHLksYryb3JgVOL/nvD/RiU+STH936AoyS/7d/3nyxsTbE8BHJ1sCQ6O/Hc7YDAqKDy/z1TiIOl2Tf83qPtMJQ6Srpda+UT7Ie3yynP7SW57qa73737SKpfses99PiluX5KsLKcBtJr4SqiE/9dqNGgS/h9N0nLapOV0z6+n0aAlHdtPpZxWA1qtBhtrS/SxcUnXM5Unje0/Xz7h/0l9veQ+C61Wk+i1JPEkeh9p7yv+s0sjDlJ470k+s5TeZ+oVjllBURTO+p8mzhhH4yJNKQqMe7SDOgXrUK1kpRzLZ3Q6bZZWfr5yCbWp7XRwcHCKZUzL8ufPn6l95WSCqyg5u7+8TsniDyswUs/NZ+FobvzFW3e/AUCvsSRKG3+nHa2z54l9MwKsXDFo/jvtIrWOBFkWwdLKgtjY1CcqitNYEqlzIkLnTJBlEYyaFE5fA5Bcq46w9L0XJWHSZDRgxJA0aUkx8UwhyVHL+5u5XtLEOH4dSa5yWpKkh39/oLWJ/53WD7q6nkaDhTZpeV1yP/b/JkUpJzWJExJ1mTZ969nbWREdrU+Q0GQgGSGF5Oj5BCjZxOr5JCm966UV3/OfdRqJawrl8gKNBgoWdMTfXyqXMiu7Pr/4RPoUK24v4VrwVUrYl6JhoSZoNBreLNFZrWPJq/nMK5dQly9fHgAfH58Uy3h7ewNQunTpHIlJpE1RFGLijARG6gmKjOVuQCRRegNReiOPgqLUBDA8Jo6wmDgiYgwYUzgjjQo8DgpL8wmCFiMuhFFAE4oVcemKc4zFZtDBVH1/VhjaE4tlht9r+vhl03YzJqUkKe3akYwlV4lrbZImDxlKrlJJ8HRaTTLrpZEkEV8T5ehgTWRkbKKkJM0kJr1J0r/ldFrz1kvus0kuYX1ZkitzSEImRPZQFIXTfidZeWcp14OvYqGxoEvJbvSrMOiluqa8cgl1hQoVsLOzIzw8nNu3b1OxYsUkZS5cuAD8Nx61yB6KonDzWTj7bvrzt5c/BqOCpe6/NqMWip4SijclYu9jExtIXILOJhoUnDXhlCaQshpjgtfBUqeNT8r+fc2ZMAooQVj8mxRrMVLC8ikWluZNXZ/m+9JY0Gf4ZPpo03d6aTSQv4ADgQHhL8wPecIkTKd99ZKrjJJkTAghkhcRF8GUi5OINcbyVqnu9Cs/iCK2RXM7rCz3yiXU1tbWtGzZkl27drFx40YmTJiQaLmnpyfXrl3D3t6e1q1b51KUeVtkrAEv/wgi9fEJq1FRuOgdir2lDp/QaDx9QomJM/IsKJi+ukO00l5iiMYX4N/aSQ06DBRW/LHg36RX9++f9EpQ+azorDE6FEHR2fy32K4h0fZF0tiIBqONC4ptARQLmzTK/sfgUoF8DrbpLq/RQH57K4xRlpKMCSGEyNMUReGfZ8cJjAmgc6muOFg6MKHWt5RzrEBh27R+d/Oulzah1uv16sQshQsXxtHxv16jI0eOxMPDg9WrV+Pm5kbv3r0B8PLyYuzYsQAMGDAAJyenpBsWAETrDVz0DuHC4xB0Wg1PQ2MIj4njyh0vSmqe4aRJ2oi3kCaYdtrzfK67izPh2NjEAmDQWGDIVw6NVpegq5wGg1MtYvJXwlCgEgb7Ykk6sSlWjhgdXVG0aTSr0FnnSAc4IYQQ4lWlKAonnh1j5e2l3A69ST6rfLRzfRMrnRWNCjfN7fCy3UubUPv6+tKxY0cApk+fTo8ePdRllStX5vPPP2f69OlMnDiR3377DWdnZ27duoXBYKBhw4Z89NFHuRX6CyU4Ss+2y0/5534gNpY6rI3RGB+foqpyB0uNAWfim1C00d6ghuYutv8mySlRNFriClZFsS1AtLUzBpcKRNV8D8XKIWfekBBCCCGyTHwifZQVt5dyJ/QWllorepTpzdvlBmKlS3Mw0ZfGS5tQp2XIkCFUrFiRpUuXcunSJfz8/ChVqhSdO3fmvffew9IyuzqT5Q1RegOnHwQxbus1AKpo7vOV5VKqae5hZZG07bFRZ0Nc8UZEOZXG4FQSxcaF54dmUyztiC3RDMU2c6OnCCGEEOLFYFAM/Hb9FwKi/elZ5m36lhtAAZuCuR1WjtMoWT1+mADix6GOi8uZcaizsjPUL0fu8qfnEyL+HcKtmuYuP9iu4jXlDgCxJV9HX7I5+mL1/x3POJ7BsQRY2mU+gFeQdGjL++QY5n1yDPM2OX45x6gYOeb7N3dD7zDEbTgA14KuUNSuGPmt05yiLEU5fQwtLGQcapFNwmPi2HLpCZF6Aw1KOmMb5cOK8IlgjO/YF9zTnbhC1XM7TCGEEELkMKNi5OjTw6y6s4y7YV7Y6uzoWbYPjpZOVHGpltvh5TpJqAUA/uExvLnwFKAwseQ1hsRtwCI8vlbaaFuAoD57MDoUy90ghRBCCJGjFEXhyNODrLq9jHvhd7HR2dCnbH/6lOuPo6UM3mAiCbXAOySKURs8AfhY9yfD/bagaHREVR2IvkhtYst1QLF2zuUohRBCCJEb/rq/mSdRT+hbbgC9y/bDxVr6Qj1PEupXXJTewODVFwiJjqNr9aJ86HcJgiGkyxr0JZvldnhCCCGEyEEGxcDhJwc453+Gz6p/hUaj4dPqX+Bs5YyzVb7cDu+FJQn1K8pgVBjrfoWzD4OJNSg421jwZZuKaJfGT2mtL/HyjxkphBBCiHgGxcAhn/2svrOchxEPsNXZ8U6FYRS1K0Yph9K5Hd4LTxLqV9T0/bc5cS8IgE9bladtpUJYRj5FGxOC0dpZJkIRQgghXhEHvPey4s5SHkc8xM7CjoEVhtCrTF+crKSNdHpJQv2KuvA4BIDVg+pQqXD8pCqawDAA9MUa5lpcQgghhMhZp/1PEhQTwKAKQ+lZ5m1JpM0gCfUraNc1Xx4GRVG+oJ2aTCcUV7BKLkQlhBBCiOxmMMaxz8eDAz57mV5vNhZaC0ZUGs0HVT6RUTsyQRLqV5CnTygAA+qWyOVIhBBCCJET4oxx7PPew2qv5TyJ9MHBwpH74Xep4OT2Ss5smNUkoX4FhUbHAdC8nPkzGgkhhBAib9jv7cGyW4t5EuWDo6UjQyu+R/cyvXGwTPqUWphHEupXzLWnYey76Ue1Yo4428rhF0IIIV5GiqKg+XeAgYcRD4iIC2eY2wi6l+6NvWXWTbkt4klG9QqJjTPy7rqLAAyqV0I90YQQQgjxctAb9ex5vJOtD7Ywp+GvOFk50bfcAN4uO0AS6WwkCfUrIiI2jql7bxNnVLCx0FKnRL4kZSz84mdLRGeds8EJIYQQIlNiDbHsfryDdV6reBbti5OlM/fCvaiZvzZ2FpJIZzdJqF8BK08/4vcT99EbFMrkt2XlwDrYWuqSlLPwvw5AbKnXczpEIYQQQpjpoM8+Ft74Fb/oZzhb5eO9Sv+jW+me2FrY5XZorwxJqF9ysXFG5h29B8DnrSvQtlKhZJPphIw2+XMiNCGEEEKYyaAY0Gnif8+jDdHojbGMqPw+XUt1l0Q6F0hC/ZLzj4gFwN5KR+9axXM5GiGEEEJkRqwhhh2PtrHx7lpmNZhLSYdStHN9k1bF2mBrYZvb4b2yJKF+yUXHGQDoUaNYLkcihBBCCHPFGGLY8dCd9XfXEBDjj4tVfp5E+VDSoRQWWgsstJLS5Sb59F9yHjf8ADAoSi5HIoQQQghz/P3kEL9cm0NgTAD5rQsw+rWP6VyqKzY6m9wOTfxLEuqXmH94DOvOPQbgzdcK53I0QgghhEivGEMMVlorNBoNDpaOaNDwQZVP6FSyK9YyGtcLR5vbAYjs89ux+0TpjfSv64pbYZkNSQghhHjRRcVFseHuWvof6sGFgHMA1C5QlzUtN9OjTB9Jpl9QUkP9krr1LJwdV32pXyofn7QoJ5O4CCGEEC+wqLhItj74k4331hIcG0whm8JEGSIB0Gg0WOmscjlCkRpJqF9SS089BODj1yWZFkIIIV5kJ58dZ6bnVEJigylsU4SPq47jzRKdJYnOQyShfkk9C4ulgL0VlYqk0tTDEINGHwWALuwx2jDvHIpOCCGEeLVFxkVgpbXGQmuBq11J7HR2DKs2gvauHSWRzoOyJKHW6/VcuHCB27dvExISwujRowG4cuUKbm5uWFnJFyM3JKmY1kdi+eQ0Vg//xurREXTB99AYY5Osp1hIr2EhhBAiO0ToI/jrwSY231vPyMof8GbJzpR0KMWqlhvRaqRrW16V6YTa3d2d2bNn4+/vr75mSqinTZvG/fv3+fDDD+nXr19mdyUyKd+2flg+je/goOis0RetgyFfWUADRgNY2hJbqhWKXaHcDVQIIYR4yYTrw/nr/iY2319PmD6MorbFsEswo6Ek03lbphLqxYsXM2fOHJQEYxwnbK/r7e1NYGAg3333Hd7e3owbNy4zuxPmMMZhc3U11vf3Yfn0HIrWitC2vxBbth3IIyUhhBAi210MOM+kc18SHhdGMbvijKr8IW1dO8hkLC8Rs2+Hbty4wU8//QTAqFGjOHLkCAULFkxUZv78+TRp0gRFUViyZAknTpzIXLQiQ2ooN3BZ3xbHvydi9fAIMWXbE9RnF7EVOksyLYQQQmSjcH0YEfoIAMo5VqCoXTE+rzGBFa+v582SnSWZfsmYnVCvWLECo9HI8OHD+eSTTyhSpEiSMtWrV2fJkiW0b98eRVFYt25dpoIV6WepxLLEMBGLoNsYHIoRMPA4oR2XYChQObdDE0IIIV5aYfpQlt1aTL9DPdh4by0ATlZOLGy6jA4lOkki/ZIy+6iePn0ajUbDkCFDUi2n0Wj4/PPP8fDw4MKFC+buTmRQ12h3AGLKdSC0w+JkeigKIYQQIquExoay+f56/rq/iYi4CErYlaSsYzl1uQxh+3IzO6H28/PDycmJAgUKpFnW1dUVe3t7goODzd2dyABNbBi9ozcRhBNxbedLMi2EEEJko1shNxh76gMi4yIpaV+Kj6p+yhvF2qCT2uhXhtlH2tramoiICOLi4rCwSH0zsbGxxMTEYG9vb+7uRAZown2xI4rdFq15XYbAE0IIIbJcSGwweqOegjaFKOdYgWouNWhbvAMti7dGp9Hldngih5ndhrpcuXIYDAbOnz+fZtmdO3cSFxdH2bJlzd2dyIDgAB8AHJzTfnoghBBCiPQLjgli0Y3f6HeoJ4tvLgDAQmvBjPpzaO3aTpLpV5TZCbWpo+Hs2bPR6/Uplrtw4QLTpk1Do9HQpk0bc3cnMsDh/h4AHrs0zuVIhBBCiJdDUEwgC2/8Sv/DvVh/dzVFbIvSuHCz3A5LvCDMbvLRv39/1q9fj6enJ71796Zbt25ER0cDcOLECXx8fDh69CgHDhwgLi6OYsWK0b9//ywLXCRPExtOgftbeWAsjI9dpdwORwghhMjzvCMe896xd4g2RFPGoSzvVHyX14u2lMlYhMrshNrGxoaFCxcyfPhwbty4wcyZM9Vl7777rvp3RVEoWLAgCxYswM7OLrlNiSxk8fQcFrEhrDIMAK1lbocjhBBC5EmBMQGE68Mo5VCG4nauvFGsLfULNaS5JNIiGZn6RpQtWxZ3d3dGjhxJ4cKFURQl0R9nZ2cGDhyIu7s7lSvL+Mc5QRfsBcAzJR8tK0gbaiGEECIjAqL9+fXaXPof6snsyzNRFAWNRsO4Gl/SotgbkkyLZGV6PBdHR0fGjBnDmDFjePr0Kc+ePUNRFFxcXChVqlRWxCjSyxCL/dl5hFnkZ390XYZay3A9QgghRHoERPuz7u5qdjx0J9YYSwWnivQu2ze3wxJ5hNkZ15kzZ7C0tKRWrVrqa0WLFqVo0aLJlt+1axd+fn4MHjzY3F0SHh7OggUL8PDw4OnTpzg5OVGvXj1GjRpFlSpVzNrmzp07WbduHdevXycmJobixYvTsmVLRo4cma4xtl8klk/Poo3y41ShoUSG28jw00IIIUQ6hMaGMujI20Qboqjg5MbgisNoUri5TMYi0s3shHrQoEEUKlSIo0ePpqv8N998g1arNTuhDg8PZ8CAAdy4cQMbGxvc3Nx4+vQpHh4eHDx4kJ9//jnDo4h88803rF+/HoBChQpRvHhx7t27x4oVK9i1axerV6+mTJkyZsWbG3SBtwA4HlseW0stRRxlDGohhBAiOX5Rz3gW7UtVl+o4WTnRt9wAKji50bhwU0mkRYalqyFQXFwcsbGxif5AfIdDvV6fZFnCP9HR0Zw6dYqwsDBiYmLMDvSbb77hxo0b1K9fn0OHDvHnn39y9OhRRo8ejV6v57PPPsPf3z/d29u7dy/r169Hp9Mxc+ZMjh07xvbt29m/fz81a9bEz8+PsWPHmh1vbroTEEvVYk5YaOWCIIQQQiT0LMqXuVd+ZOCR3ky7NJk4YxwA71QcRpMizSSZFmZJVw310qVL+emnnxK9ptFoCAgIoEaNGunakUajoVy5cmkXTMaDBw/YtWsXVlZWzJ49m/z58wOg0+n4+OOPuXbtGocPH2bFihV8+umn6dqmu7s7AD179qRbt27q60WLFmX27Nm0adOGq1evcuPGjTzXoTLWoFCjuFNuhyGEEEK8MHyjnrLOaxW7H+9Ab9TzWr6qvFNhmEzEIrJEumqohwwZgqura5JRPDLyx8rKio8//tisILdt24bRaKRZs2YUKVIkyfK3334biG+nnV5Pnz4FSDZZLlmyJPny5QPgyZMnZkSc+xqVdsntEIQQQogXQqwhlpHHhrLt4V9UdHJjRv05zG+8iIaFG0uNtMgS6aqhtrKyYv78+Vy/fl197csvv8TR0ZGvvvoq1XW1Wi3Ozs5UrVqVQoUKmRXkxYsXAahdu3ayy02vP378mKdPn6bYMTKhokWLcvXqVa5du5Zkma+vL8HBwQAUL17crJhzg6IoABR2tKKWq9RQCyGEeHU9jXyCV9gdmhZpjpXOihGVR1PIpjD1CjaQJFpkuXR3SqxcuXKi2twvv/wSa2trunfvni2BJfTgwQOAFIfhc3Fxwc7OjsjISB48eJCuhPrtt9/mwIED/PXXXzRq1IguXboAEBAQwLhx4wBo2LAhlSrlndkGY/RGANwKOcjFQgghxCvJJ9KbtXdW4uG9CxudDetbuWNvaU/Hkl1yOzTxEjN7lI8DBw6g0+VMu6OAgAAgPnFOSb58+YiMjCQoKChd22zRogVTp05l1qxZjBs3jh9++IH8+fNz7949YmNj6dChA99//32WxJ9T9Pr4Tp/WltIeTAghxKvlUdgj5l36DQ/v3RgVA9VdajK44rvYWcgszSL7mZ1Qu7q6Znid8PBwHBwcMrxedHQ0ANbW1imWMS0zlU2PYsWKUbZsWS5cuMCzZ8949uwZEN/EpVChQhgMhgzHmlBOVBKb9qHRgLXfJQDCHcvJGNR5SMJjKPImOYZ5nxzDvE5h1L5RPAx7SM38tRlccRi1CtSRp7V5SF4/BzM9ld7Vq1c5f/48ERERGAwGtR2viV6vJzo6Gm9vb06ePMnZs2czvA+dTofRaEz1xDDtV6tN35Sg69ev59tvv8XKyoovv/ySLl264OjoyMWLF5kxYwarVq3i9OnTrF69GienjLdHdnGxz/A6mVEgvwP6Z6e4ZiyNfcHiFCzomKP7F5lXoIAcs7xOjmHeJ8cw73gQ+oAzT8/Qy60XAOMbjMfWwpb6RevncmQiM/LqOZiphHrixIls2bIlXWUVRTH7TtHW1ha9Xp/qONamsbFtbNKezCQwMJCZM2eiKAqTJk2iV69e6rIGDRqwevVqevbsyc2bN1m6dCmffPJJhmMOCorAYDBmeL2M0mjiv3xBdy/jEu3PKWNdFH0c/v5h2b5vkTVMxzAgIIzn7kdFHiHHMO+TY5h3PAp/yKo7yzngvReAKra1KGJXhNdLvE5AQJj8/uVROX0O6nTaLK38NDuh3rVrF5s3b1b/7ezsrNZSFyhQgPDwcLX5hUajoV69evTs2dOsfbm4uBAaGqqOvJEc0zLTGNWpOX78OJGRkRQuXDhRMm1iZ2fHsGHDmDhxInv27DEroQZy9qKsj/+sgxRHCljq5AchD1KUHP7OiCwnxzDvk2P44noYfp/Vd5Zz0Gc/RozULVCfdyoOo5BNEfWYyfHL+/LqMUxf+4hkbNu2DYA6depw5MgRTp06pU79vXnzZi5evMi+ffto3749iqIQHBxMp06dzNqXaUIYb2/vZJcHBgYSGRkJQOnSpdPcnmls6dQmmjEt8/HxyVCsLwJb6ZQohBDiJTP78kz2++yldsG6/NLod2Y1nEv1/DVzOywhgEwk1FeuXEGj0fDVV1+pk63UrVsXgJMnTwLxE6TMnTuX5s2b4+Xlle7mIc8zzcZ44cKFZJebXnd1dU3XWNemjpGmTojJMSXS5nSizA2amBAA4tBiJwm1EEKIPO5e2F1W3F6i/vt/r33IL40XMqvBXKrlT98szULkFLMT6pCQEHQ6HVWrVlVfq1ixIoqicPny5URlP/jgAxRFYffu3Wbtq3379gAcOXIk2SR448aNAHTt2jVd22vYsCEAd+/eTbGTpGlqclPZF531rb8AOGKsSeUieeMmQAghhHjevTAvvrvwNcOPDmLF7SXcCb0FQOV8VajmUj2XoxMieWYn1JaWltjZ2SXqaGhqbnHnzp1EZWvWrImFhQVeXl5m7at8+fK0b9+e6Oho3n//fXx9fQEwGAzMnTuXw4cPY29vz6BBgxKtp9fr8fLywsvLi7CwsETb69ChAwBjxozh1KlT6rKoqCgmT57MsWPHsLS0ZOTIkWbFnNOs7+3jvrYUQY6Vcba1zO1whBBCiAy5G+rFt+cn8O7RQRx+coD6hRrxa5PFVHByy+3QhEiT2Z0SCxYsyKNHj4iIiMDePr6XZNGiRbG0tEw2cba2tiYkJMTsQCdNmsTNmzfx9PSkTZs2VKxYEV9fX/z9/bGwsGDu3LlJOiT6+vrSsWNHAKZPn06PHj3UZVOnTuXZs2ecP3+ed955B1dXVxwcHNSJXaysrJg5c2ai2SFfaIYYgjTFcjsKIYQQwizr7q7i76eHaFSoCYMqDuO1fFVyOyQh0s3sGuqaNeM7AmzatEl9TaPRULZsWQICArh//776ure3NxEREVhZWZkdaMGCBdm8eTPvvfceRYsW5datW+j1elq1asWaNWto3rx5hrbn4ODAypUr+fbbb6lduzYhISHcvXuXggUL0rNnT9zd3dVkXAghhBBZyyv0Nj9fmUWcMQ6AoW7vsaDJEqbV/1GSaZHnmF1D3a1bN7Zv384PP/zA48ePGT58OEWLFqVBgwbcunWLyZMnq2M9f/311wBUqFAhU8E6Ojoybtw4xo0bl67yJUqU4ObNmykut7S0pF+/fvTr1y9TcQkhhBAifW6H3GTlnWUc9/0bgGZFWlCvUAOK27mCXcZnYRbiRWB2Qt20aVM6dOjAnj17WLNmDfXr16do0aIMHDiQ9evXc/LkSVq0aKGW12g0dO/ePUuCFkIIIUTecivkJitvL+HEs2MANC3yOu9UGEpF50q5HJkQmWd2kw+AH3/8kbFjx1KkSBFKlCgBQJkyZZg2bRpWVlYoiqL+6dSpk9QECyGEEK+oo08PceLZMZoXacmiZsv5vu4MSabFSyNTU49bWFgwYsQIRowYgZJgWpu33nqLBg0acPDgQSIiIqhduzb16tXLdLBCCCGEyBtuBF9jw921fFp9PA6WjvQu25+WxdpQ3ilzzT+FeBFlKqFOKOHweRA/4kf//v0TvRYXF4eFRZbtUgghhBAvmOvBV1lxeymn/f5Bg4YWxVrRslhrnKyccLJyyu3whMgWOZbd3rhxgy+++EKdMEUIIYQQL4+bwddZdnsxp/1OokFDq2KtGVhhKGUdy+V2aEJkuwwn1CdOnOD8+fP4+flRqFAhWrRoQfXqKc9cpCgKCxcu5NdffyUuLi5TwQohhBDixXQ79BZn/E7xRrG2DKwwhDKOZXM7JCFyTLoT6ocPH/LRRx8lGYbu119/pVOnTmpHxITu3bvHF198gaenJ4qiJGkWIoQQQoi86XLgJVbfWc5HVT/F1b4E7Ut0pEb+mpRyKJPboQmR49KVUIeFhdG/f38CAgISdT402blzJxYWFsyYMUN9bcuWLXz//ffExMSgKAr58uXjm2++ybrIhRBCCJHjLgVeYOXtpVwIOIcWLRcCzuFqXwJLraUk0+KVla6EesmSJfj7+6PVaunTpw/vvPMOJUqU4P79+yxevJgdO3awdetWhgwZQuXKlfnhhx9YtmyZmny3bt2a7777jgIFCmTrmxFCCCFE9rgVcoPfb8znYsB5tGhp5/omA8oPpqRDqdwOTYhcl66E+sSJE2g0GoYNG5ZolsJKlSrx448/otPp2LZtGzt27ODEiRMsXboUiJ/ZcOLEiXTt2jV7ohdCCCFEjgiJDcEz8BLtXTsysMIQXO1L5HZIQrww0pVQP3r0CIB33nkn2eXvvvsuW7du5ciRIzx+/BiAWrVqMXv2bFxdZRpRIYQQIi9RFIULAedYeWcpQyoOp1aBOtQr2IA1LTdRxLZobocnxAsn3W2oHRwcKFy4cLLL3dzcsLCw4M6dOyiKQq9evfj2229lzGkhhBAiD1EUhfMBZ1l5eymXgy6h0+i4HXqLWgXqoNFoJJkWIgXpynjj4uKwtrZOtYyjoyPBwcG0bt2aKVOmZElwQgghhMgZd0JvMffqbK4GXUan0dGxZBcGlB9MMbviuR2aEC+8LKtC1ul0AIwcOTKrNimEEEKIbKQoCgoKWo0WS60Vt0Ju0rlkV/qXf4eidsVyOzwh8owsb5NRpUqVrN6kEEIIIbKQoiic9jvJyjtLeatUd9qX6EhphzJsemObTA8uhBmyPKGWdtNCCCHEi0lRFE75nWDl7WXcCLmGpdYSv+hn6nJJpoUwj2S/QgghxCvgftg9Znp+z82QG1hqLelauif9yw2ikG3yAw4IIdJPEmohhBDiJaUoCnFKHJZaS1ysXXga9ZTupXvRt/wgCtkUyu3whHhppDuhDgoKonXr1qkuB1Ito9Fo2L9/fwbCE0IIIURGKYrCcd+/WXlnGU2LNGdwxXdxtsrH+lZ/Ya1LfdQuIUTGpTuhNhgMeHt7p1kutTIajSa9uxNCCCFEBhkVI8d9j7Ly9lK8wm5jpbWiSeFm6nJJpoXIHulKqLt3757dcQghhBAiE55E+vD1uS+4G3YHa601vcv25e1yA8hvXSC3QxPipZeuhHr69OnZHYfILGMcBo02t6MQQgiRg4yKkWhDFHYW9hS0KYRBiaN32X7/JtL5czs8IV4Z0inxZWA0otVHEGVhm9uRCCGEyAFGxcjfTw+x6vYy3JwrM77mRCy1lvzRfBU6jS63wxPilSMJ9ctAHwFAlEYSaiGEeJkZFANHnhxk1Z3lPAi/h43OlqZFX0dRFDQajSTTQuQSSahfBjHhgCTUQgjxMguOCeKTk6N5GPEAW50d/coNok+5fjhb5cvt0IR45UlC/TKIjU+o/WItwSqXYxFCCJFlDIqBkNgQ8lvnx9kqH0Vsi9K8aAt6le2Hs5VzbocnhPiXJNQvg5gwAAL01ljYSsdEIYTI6wzGOA482cfqOysoaFOQOQ3no9FomFF/jgxBK8QLSBLql8G/NdTh2NC2ksx8JYQQeZXBGMd+n72svrMc78jH2FvY06pYawzGOHRaC0mmhXhBSUL9MoiN75QYodjgZCE11EIIkRfFGGJ479hgHkc8xN7CgXcqDKNn2T44WjrldmhCiDRIQv0y+LdTYgQ26LRSeyGEEHlFnDEO36inuNqXwFpnTZ0CdWlTvB09yvTGwdIxt8MTQqSTJNQvg9j4NtQR2EpCLYQQeUCcMQ4P712svbMSrUbL8tfXotNa8Em1z3I7NCGEGbIkob558yb79u3j9u3bhIaGsmzZMgC2bNnCa6+9RpUqVbJiNyIlphpqxQattK8TQogXlt6ox+PxTtZ4rcQ36ilOlk70KtsXg2JAJ3VcQuRZmTp7Y2NjmTx5Mn/++SeAOrC8ydq1a7l27RodOnRg5syZWFnJmG7ZQu2UaCsJtRBCvKCMipGRx4ZwP/weTpZOvOs2km6le2FvaZ/boQkhMilTCfW4cePYt28fiqJQunRpfHx8iIuLU5eHh4ejKAp79uzB39+fFStWoNVKp7ksl6CGWicfrxBCvDBiDbHcC/OiUr7X0Gq0tHFtD0C30j2xs5BEWoiXhdnp14EDB9i7dy+Ojo4sW7YMDw8PnJ0TDzK/bds2PvzwQwDOnj3Lli1bMhetSJ7ahlqafAghxIsg1hCD+/0tDDrSh89Of0K4Pv463b/8O/Qv/44k00K8ZMxOqDdv3oxGo2H8+PE0btw42TLW1ta8//77fPDBByiKwrZt28wOVKQi4SgfklALIUSuiTXE8Nf9zQw80odfrs1Gb4ylf4V3sNBa5nZoQohsZHaTj8uXL6PT6ejUqVOaZQcPHsy8efO4efOmubsTqYmLwajREYcF0qJGCCFyz9hTH3It+AouVi6MqvwBXUp1x9bCNrfDEkJkM7MT6uDgYOzt7bGxsUmzrIODA05OTkRGRpq7OyC+TfaCBQvw8PDg6dOnODk5Ua9ePUaNGmX2SCI+Pj4sXLiQY8eO4evri729PbVr1+a9996jbt26mYo3Z8XXTEuTDyGEyDkxhhg8Ay9Sv1BDALqX7kWLoq3oUro7Nrq0fx+FEC8Hs+sznZycCA0NJSoqKs2ywcHBhIWFkS9fPnN3R3h4OAMGDOCPP/7Az88PNzc3ADw8POjTpw/79+/P8DZPnjxJp06dWL9+PSEhIVSsWBG9Xs+hQ4cYOHAg7u7uZsebW6TJhxBCZL9oQzSb7q1nwOFefHl2HN4RjwFo7dqO3uX6STItxCvG7IS6atWqQHxCm5Zly5ahKEqmxqP+5ptvuHHjBvXr1+fQoUP8+eefHD16lNGjR6PX6/nss8/w9/dP9/aePXvGBx98QGRkJG+//TZHjx7lr7/+4uTJk/Tr1w+j0ci3337Ls2fPzI45N2hlYhchhMg20YZoNt1dx4BDvVhw/Rc0aBj92ocUtCmU26EJIXKR2Ql19+7dURSFn376iUePHiVbxmg0snjxYhYtWoRGo+Gtt94ya18PHjxg165dWFlZMXv2bPLnzw+ATqfj448/pmXLlkRGRrJixYp0b3PevHmEhYXRokULvvvuO2xt49u4WVlZMWnSJMqVK0dUVBQ7d+40K+bcIjMlCiFE9vnuwtcsuDEPrUbLB1XGsKblJnqU6YO1zjq3QxNC5CKz21B37NgRd3d3/v77b9566y0aNWpEWFj8sEA//fQTT5484Z9//sHf3x9FUahfv366OjAmZ9u2bRiNRpo1a0aRIkWSLH/77bc5fPgwu3bt4tNPP01ze7GxsezevRuAzz//PMlyrVbLZ599xt27d6levbpZMec8BQCd5NNCCJFlouIiOe57VB0/uk/ZfjQo2IiOJTtjJUm0EOJfmZrY5eeff+bzzz9n//79HDp0SJ0lcdGiRUD8zIkADRs2ZO7cuYlmUcyIixcvAlC7du1kl5tef/z4MU+fPqVo0aKpbs/T05OwsDDKlClDhQoVki3zxhtv8MYbb5gVb26STolCCJF5UXGRuD/YwsZ76wiJDaaIbVGq569JrQJ1qFWgTm6HJ4R4wWQqobazs2P+/PmcOHGCv/76i4sXL+Ln54fRaMTFxYXq1avz1ltv0bZtW7OTaYhv8gFQqlSpZJe7uLhgZ2dHZGQkDx48SDOhvnXrFoCaTF+5cgV3d3fu3buHlZUV9evXp0+fPjg4OJgdc26RNtRCCGG+yLgI/roXn0iH6kMobFOEMdU+p5Lza7kdmhDiBZaphNqkSZMmNGnSJCs2layAgAAgPnFOSb58+YiMjCQoKCjN7T158kTd3pw5c1i0aJFamw5w8OBBVqxYwaJFi6hUqVImo88BihHl32HzpMmHEEKYb/7Vuex+vIMitkUZXmkk7Ut0wlImZRFCpMHshHr58uV06dKFAgUKZGU8yYqOjgbiZ15MiWmZqWxqIiIiANi/fz9BQUH06dOHESNGUKRIEa5du8bUqVPx9PRk5MiRbNu2DScnJ7PizonWFxoNEBdFnDZ+iCadVpMj+xVZx3S85LjlXXIM865wfTh7Hu+ke5meAPQt35+qLtVoV+JNSaTzEDkH8768fgzNTqhnzJjBjz/+SPPmzenevTutWrXC0jJ7Lj46nQ6j0ZhqsxFTDbM2HVMFmpLuoKAgOnfuzPfff68uq1WrFkuWLKFdu3Y8efKEVatW8f7772c4ZhcX+wyvYzZ9FIZ/Z+JyyWdPwYKOObdvkWUKFJDjltfJMcw7QmNDWXN9DauurSIsNowyBUvQoVAH6pSpTp0yeaUzunienIN5X149hmYn1M7OzoSEhHDo0CEOHz6Mk5MTXbp0oVu3blSrVi0rY8TW1ha9Xk9MTEyKZWJjYwHSNXOjaYg8gA8++CDJcicnJwYOHMi8efM4fPiwWQl1UFAEBoMxw+tllEYDBfSRxGria+jDw6Lw9w/L9v2KrKPRxF9AAgLCSNDySOQhcgzzjnB9GFvubWTTvQ1ExIVT3M6V0ZU/orZD/EyHcgzzJjkH876cPoY6nTZLKz/NTqiPHz/OkSNH2Lp1K0eOHCEkJIQ1a9awZs0aKlSoQPfu3XnrrbcoWLBgpoN0cXEhNDSU4ODgFMuYlpnGqE6No2P83Y+NjQ1lypRJtoypw+Ljx48zFGtCOXZSx0ai18Yn1Jqc3K/IUooixy6vk2P44lvvtZY1XitwtSvBB1U+oU3xdui0FupjZjmGeZscv7wvrx5DsxNqCwsLWrduTevWrQkPD2fPnj1s3bqVs2fPcvv2bWbNmsWcOXNo1qwZ3bp144033sDKysqsfZUrV44HDx7g7e2d7PLAwEAiIyMBKF26dLq2B/HNRFJqRqLT6QCyrRlLltJHEaeJ77ApE7sIIcR/QmND+evBJnqWeRsHSwd6lulDSftStC7eFp02S/rlCyGE+TMlJuTg4ECvXr1YtWoVhw4dYuzYsVSoUIG4uDgOHz7MmDFjaN68Od99951Z269RowYAFy5cSHa56XVXV1cKFUp7+teaNWsCEBMTw40bN5Itc+/ePSDlofpeKPr/aqgloRZCCAiJDWHJzd/pf7gHK24vweNx/Ky3+axdaFfiTUmmhRBZKksS6oSKFi3KiBEj2L59O9u2bWPAgAFotVpCQkJYt26dWdts3z5+hqojR47w7NmzJMs3btwIQNeuXdO1vdKlS6vtvJObrjw2Npb169cD0LZtW7NizlH6KGL/HeVDJnYRQrzKQmKD+ePm7/Q/1JM1XispYF2Qr2p+Q7cyvXI7NCHESyzLE2oAf39/Vq1axZQpU9iwYQMGgwH4r+1yRpUvX5727dsTHR3N+++/j6+vLwAGg4G5c+dy+PBh7O3tGTRoUKL19Ho9Xl5eeHl5qdOim4wbNw6AP//8k/nz56udGiMjI5kwYQLe3t4UK1aMnj17mhVzjjEawBBDrObfYfMkoRZCvMKOPDnEWq+VFLYtzIRa37L09TW0cW2PTqPL7dCEEC+xLHvmFR4ezr59+9i+fTunTp3CaDSiKAparZamTZvSo0ePTNX2Tpo0iZs3b+Lp6UmbNm2oWLEivr6++Pv7Y2Fhwdy5c5N0SPT19aVjx44ATJ8+nR49eqjLGjduzKRJk5gyZQrz5s1j5cqVlCxZkvv37xMeHk6+fPn46aefXvzZEuPihwDUm2qos+UWSQghXkxBMYFsvLeOziW74mpfgg4lOuFs5Uyzoi0kiRZC5JhMJdR6vZ4jR46wfft2Dh8+TGxsrDoedNmyZenevTtdu3alSJEimQ60YMGCbN68mYULF+Lh4cGtW7ews7OjVatWjBo1ilq1amV4mwMGDKBmzZosWbKEM2fOcOvWLQoXLsxbb73F8OHDcXV1zXTc2U1j1AMQR/wPhzT5EEK8CgJjAtlwdw3bH/5FtCEaC40F71YaiZXOihbF3sjt8IQQrxizE+qvv/4aDw8PtSmFoig4OTnRoUMHevToYVaCmxZHR0fGjRunNtdIS4kSJbh582aqZapVq8ZPP/2UFeHlKtMIM9LkQwjxMotPpFez7cFfxBhjKOdYnkEVhtK8aMvcDk0I8QozO6HetGkTED8zYePGjdUmHeYOjScyxzRmozT5EEK8zG6H3GTTvfWUd6zIoIpDaVbkdbQaufAJIXKX2Ql1VjfpEJmj/FtHLTXUQoiXSUC0P+vurqZF0VZUz1+TBoUaMavBXGoXqCuJtBDihWF2Qr179+6sjENkklpDLQm1EOIl4Bftx3qvVex4tA29MZY4o57q+Wui0WioW7B+bocnhBCJyMj2L4n/mnxIQi2EyLsCYwJYfWcFO/9NpCs6VWJwxXdpXLhpbocmhBApSldC3bdvXyB+JsLZs2cnei2jTBOmiKxlavJhITXUQog8LCQ2hK0PtuDmXIl3KrxLo8JN0Mh1TQjxgktXQn3x4kUAQkNDk7yWEXJRzH7SKVEIkZf4Rj1lndcqquevSevi7SjrWI4FTZdS0clNfjOEEHlGuhLqbt26odFoKFSoUJLXxIvBKG2ohRB5yNOoJ6y7s4rdj3cQp8QRGRdB6+LtAHBzrpTL0QkhRMakK6GeMWNGul4Tucc0oY5O2lALIV5ggTGBLLu1CI/Hu4hT4qiSrxqDK75LvYINcjs0IYQwm9mdEn18fNDpdOkeMu/ixYv4+vrSvn17c3cpUmGa2EVqqIUQLzItGg747KVyviq8U2EYdQvWl6edQog8z+yE+o033qBQoUIcPXo0XeWHDx+OtbW1JNTZxDTKh05+l4QQLxCfSG/W3FlBCfuS9Cs/iHzWLvzRfBXFbItLIi2EeGlkatg8UzODtDx8+JCIiAhiY2MzszuRCtOxkGHzhBAvAu+Ix6y+s5x9Ph4YFQNNi7yuLitu55qLkQkhRNZLV0K9aNEiVq5cmeT1oKAgmjVrluq6RqORkJAQAEqUKGFGiCI9pMmHEOJFEBobyoLrv6iJdK38dXin4jBqFaiT26EJIUS2SVdC3b9/f5YvX05gYGCi1w0GA/7+/unakUajYcSIERmPUKSbNPcQQuQWRVHQaDTY6Gw4H3CWmvlr8U7FYdTMXzu3QxNCiGyXroTawcGB2bNnc+7cOfW1+fPnY2dnx7Bhw1JdV6vV4uzsTK1atahatWrmohUpUhRp7iGEyHkPw++z+s5ybHS2jK0+HiudFQubLiOftUtuhyaEEDkm3W2oGzduTOPGjdV/mxLqDz74IFsCExmjKAo6ae4hhMghD8Lvs+r2Mg492Y+CQsNCjTEqRrQarSTTQohXjtmdEleuXImlpWVWxiIyQUHGoBZCZL+ouEh+vDyDw08OoKBQv2BD3qk4jKou1XM7NCGEyDVmJ9QNGsgg/C8SRZEOiUKI7BNnjMNCa4GNzpYnkT7UL9SQdyoMo4pLtdwOTQghcl26EuoNGzYA4OTkxJtvvpnotYx6++23zVpPpM6oKEgFtRAiq90N9WLlnaVExIUzq8FcNBoNsxvOw9bCNrdDE0KIF0a6EupvvvkGjUZD2bJl1YTa9FpGaDQaSaizkTT5EEJkFa/QO6y6s5S/nx4GoFGhJsQYYrDWWUsyLYQQz0l3k4/kJnFJ78Qu5pYX6acgTT6EEJlnMMbx/cVJaiLduHAz3qkwlEr5XsvdwIQQ4gWWroT6xo0b6XpN5J74NtS5HYUQIq+KiovE1sIOndYCrUZH0yLNGVRhGG7OlXI7NCGEeOFlaupx8eJQFEWafAghMuxWyA1W3l7Ko4iHLH19DTqNjq9qfoOFVn4ehBAivbLtihkVFcXdu3dxdnaWKcdzgDT5EEJkxM3g66y4s5STz44D0LxIS8L14ThbOUsyLYQQGZTpq+bu3bu5ceMGY8aMUV/bsWMH3333HWFhYQDUq1ePWbNmUbRo0czuTqRAUaRTohAibYqi8P3FSRx+cgCA14u2YlCFoZR3qpDLkQkhRN6VqYT6448/Zu/evTg4OKgJ9b179/jiiy+Ii4tTy505c4bBgwezfft2rKysMhexSJaCDJsnhEhZUEwgLtb50Wg0FLUtRstirRlUYQhlHcvndmhCCJHnmZ1Q7927Fw8PDwAqVqxIXFwcFhYWrF27lri4OJydnZk+fTpGo5EpU6bw8OFD1q5dy5AhQ7IqdpGA1FALIZJzNegyK28v5UbINda2/BN7S3veq/S/DA97KoQQImVmJ9Tbtm1Do9EwZMgQxo8fr75+4MAB9fU33ngDACsrK0aMGMHevXsloc4m0oZaCJHQlUBPVtxZwjn/M2jQ0KpYG6INUdhb2ksyLYQQWczshNrT0xOA0aNHq695eXnh4+ODRqOhVatW6utNmzZFp9Nx9+7dTIQqUqMooJMfSSEEMPPSFDy8d6FFS5vi7RhYYQilHMrkdlhCCPHSMjuhDgoKwsnJCUdHR/W1kydPAvFTlFeuXFl9XafTYWdnR3h4eCZCFalRFAWtNPkQ4pXlHfEYV/v4EZWquFTDoBj+TaRL53JkQgjx8jM7obaysiIiIiLRa8ePxw+/1LBhw0SvR0REEBYWhrOzs7m7E2lQAJ3k00K8ci4GnGfl7aVcDrrEqhYbKWpXjC6lutGlVLfcDk0IIV4ZZifUFStW5NKlS5w/f546deoQFhbGP//8g0aj4fXXX09U9s8//wSgQgUZlim7KIoibaiFeEUoisLFwPhE+lLgBbQaHW2Lt0er0eZ2aEII8UoyO6Fu3bo1Fy9eZNy4cQwZMoT9+/cTFRWFjY0Nbdu2BcDf35+tW7fy008/odFo1NdF1lNAmnwI8YqYd+0n3B9sRqvR0aFEJwaUH6w29xBCCJHzzE6oBwwYgLu7O15eXkyfPh1FUYD4Toqmph2//fYb69atQ1EUKlasSP/+/bMmapGENPkQ4uWlKAo3Q65TOV8VABoWakyMIZoBFQZT3M41l6MTQghhdkJtZ2fHunXrmDdvHidPnsTe3p6ePXvSu3dvtUz58uXRarV07NiRr776SiZ1yUaKIsPmCfGyURSFs/6nWXlnKVeDLvNLo9+plr8GDQs3pmHhxrkdnhBCiH9laqZEJycnJkyYkOLyjh070rFjR1xcXDKzG5EOMsqHEC8PRVE443+KlbeXcC34KhYaCzqX7Eph2yK5HZoQQohkZCqhTosk0jlHASwkoRbipbD01kLWeK3EQmNBl1Ld6Vd+IEVti+V2WEIIIVKQJQn1pUuX2Lp1K56engQGBqLRaChQoACVK1emQ4cONGnSJCt2I1IhTT6EyLsUReGc/xlqF6yLTqOjVbG2hOnD6Fd+EEVsi+Z2eEIIIdKQqYQ6NjaWSZMmsXXrVgC1YyKAt7c3ly9fZtOmTXTq1IkpU6ZgY2OTqWDDw8NZsGABHh4ePH36FCcnJ+rVq8eoUaOoUqVKprZtMn78eNzd3fnggw/48MMPs2SbOUFBQSqohchbFEXh5LMTrLyzhJshN/iq5je0cW1POafyfFLts9wOTwghRDplKqH+7LPP2Lt3L4qiULRoURo2bEiRIkUwGo08efKE06dP4+fnx86dO1EUhdmzZ5u9r/DwcAYMGMCNGzewsbHBzc2Np0+f4uHhwcGDB/n5559p06ZNZt4Ohw8fxt3dPVPbyC2KAjrJqIXIExRF4cSzY6y6vYxboTew1FrRrXQvahaok9uhCSGEMIPZCfXBgwfx8PBAp9Px+eefM2jQILTaxJMKGAwGVq5cyaxZs9i1axfdu3enWbNmZu3vm2++4caNG9SvX59ffvmF/PnzYzAYmD9/Pr/99hufffYZ+/bto2DBgmZtPywsjEmTJpm17otCmnwIkTdsureO32/Mx1JrRY8yvelbbiAFbQrldlhCCCHMZPa0Wps3b0aj0TBq1CgGDx6cJJkG0Ol0DB06lFGjRqEoCps3bzZrXw8ePGDXrl1YWVkxe/Zs8ufPr27/448/pmXLlkRGRrJixQpz3w7Tpk3D19c3081ScpNUUAvxYjIqRo49PUKEPgKAtq4d6FXmbda03MQHVcZIMi2EEHmc2Qm1p6cnGo2GwYMHp1nWlHB7enqata9t27ZhNBpp1qwZRYokHTbq7bffBmDXrl1mbf/vv//mzz//pFGjRjRs2NCsbbwIpMmHEC8Wo2Lk7yeHGHFsCJPOf4n7g/hKBRfr/Iyu8rEk0kII8ZIwO6EODg7G0dERJyenNMs6Ozvj6OiIv7+/Wfu6ePEiALVr1052uen1x48f8/Tp0wxtOzw8nEmTJmFra8uUKVPQ5OFmE9LkQ4gXg1ExcuTJQUYcG8y3FybgHfGI3mX78WbJLrkdmhBCiGxgdhtqBwcHwsLCiIyMxM7OLtWykZGRhIeHpyv5Ts6DBw8AKFWqVLLLXVxcsLOzIzIykgcPHlC0aPqHmZoxYwZPnjzhq6++omTJkmbF96LQSUItxAthv7cHMzy/x0Znw9vlBtCnbD9crPPndlhCCCGyidk11FWrVsVoNLJly5Y0y27atAmDwcBrr71m1r4CAgKA1CeKyZcvHwBBQUHp3u7x48fZtGkTtWvXZtCgQWbF9iJJphm7ECIHGBQDu+/t5mnkEwBaFnuDwRXfZU3LzYys/L4k00II8ZIzu4a6W7duHD9+nFmzZlG4cGHat2+fbLk9e/Ywe/ZsNBoNb731lln7io6OBsDa2jrFMqZlprJpCQ8PZ+LEiVhZWTF16tRkO1VmVk5UGCfch4VWkyP7FFnLdMzk2OU9BsXAYZ8DrLqznAfh9+lWugcfVxuHtYU1Q9zeze3wRAbIeZi3yfHL+/L6MTQ7oe7cuTMbN27kzJkzfPLJJ7z22ms0adJE7TT49OlT/vnnH65fv46iKNSpU8fshFqn02E0GlNt32yaVCa9ifEPP/yAj48PY8eOpXz58mbFlRoXF/ss32ayouLUv9rbWVOwoGPO7DeHKIqi/nmZGQwG8uVLvemUeHEYjAb2PdzH0itLuR9yHzsLO0ZWG0n/1/rjbC3HMa+S8zBvk+OX92XkGGo0GvXPi8DshFqj0bBgwQJGjx7N6dOnuXbtGtevX09UxpQEmcaONrcW2NbWFr1eT0xMTIplYmNjAdI17N0///zDxo0bqVKlCu++mz21SEFBERgMxmzZdkLamHBMD5NjYvT4+4dl+z6zm6IoREVFEBUVQWxs+p445HVarRajMfu/LyJrxBhisYqxZnSx0diVtMfOwg4LnQXeXj5445Pb4QkzyXmYt8nxy/vMOYZWVjbY2tpja2ufoeRap9NmaeVnpmZKdHBwYOXKlezbt4+dO3fi6elJYGAgiqKQP39+qlevTufOnWnbtm2m7iBcXFwIDQ0lODg4xTKmZaYxqlMSERHBhAkT0Ol0TJs2DQuLTH0EqcqJStWE+9CiyZF9ZidFUQgNDSQ2Nho7O0ecnPL/eyP2YtyBZhcLCy1xcfJD8KJSFIUwfRhWWktsLGxRFAVHfX4cLZzQaXWAHMOXgRzDvE2OX96XsWOoYDQaiYmJIjw8hNjYGJyc8udajXWWZJNt27albdu2WbGpZJUrV44HDx7g7e2d7PLAwEAiIyMBKF26dKrbunLlirqdbt26pVhu/vz5zJ8/H1dXVw4ePGhe4DlM9xJ0SjTVSufPXxSdTpfb4eQYrVYrnUpfQIqiEKoPISAmAL0xFgcLR1yt4ms08usKJCorxzDvk2OYt8nxy/syegy1Wh0WFpbY2NgTGPiUqKgI7Owcsi/AVGRf9WwWqlGjBocOHeLChQsMHTo0yfILFy4A4OrqSqFCqU+U4OjoSJ06dVJc7uXlRUhICMWKFaNYsWJpbu9F8jKMQx0dHYGdneMrlUyLF8/zibQWHQWsC+JiJaN1CCHEi0an02Fn5/hvDpEHEuqrV6+ydOlSTp8+TUhICAULFuT111/n3XffzdYxnNu3b8/cuXM5cuQIz549o3DhwomWb9y4EYCuXbumua0qVaqwbt26FJePHDmSw4cP07NnTz788MPMBZ7DtHl8pkRFUYiNjcbJSZIWkbtijTE8jXqCFh0FrQuRz8pFbdohhBDixWNtbUtYWDCKouRKs490V6xv2rSJt99+m127duHn50dsbCw+Pj5s2LCBrl27cvTo0WwLsnz58rRv357o6Gjef/99fH19gfjeoHPnzuXw4cPY29snGUtar9fj5eWFl5cXYWF5v7NeWnR5O5/O8EgtQmQVo2IkOCaIcH38dcJaZ0NxW1fKOZangE1BSaaFEOIFF5875N6oYOmqob537x7ffvstBoMBrVZL3bp1KVKkCE+fPuXChQtERkYyduxYdu/eTcGCBbMl0EmTJnHz5k08PT1p06YNFStWxNfXF39/fywsLJg7d26SDom+vr507NgRgOnTp9OjR49sie1F8TI0+Yj3srwP8aIzKkZCY+ObdsQpemx1djhYxg896Whl3syuQgghckPu5g7pSqjXr1+PwWCgZMmS/P7774nGbb527RojRowgICCAzZs3M2rUqGwJtGDBgmzevJmFCxfi4eHBrVu3sLOzo1WrVowaNYpatWply37zEl0eb/IhRE55PpHWaf5t2mGd8mysQgghREo0Sjrqxnv27Mm1a9dYsWIFDRo0SLLc3d2dL774gsaNG7Ns2bJsCTSvCQqKyJHhe7QxwRT4oxpr41rxpPE03mmQfW3Zs5vRaOTZs0cULlzylWv2IcM95aw4Yxx3w7zQarS4WOXHxTofWk3mmnXIMcz75BjmbXL88r7MHMOM5hAWFrkwDrW3tzeWlpbJJtMArVu3BuJHyBC5J693ShQiuxgVIyGxIWiAfNYuWGgtKGFfAhudTaYTaSGEECJdCXVERASOjilPae3o6IijoyOhoaFZFpjIOMmnX21PnvjQu/dbGVpn6ND3ePfdkdkUUe6LT6SDCYwJIE6Jw0prjbNVPjQaDTc8r/PRR6OwtbVl3770d6r+4IMRXLx4ntGjP6Z//0Fpr5BJYWFhuLtv4cSJozx69JDw8DCcnJxxdXWlYcMmdO3aExeXlJuq3Lt3l7Jly2V7nMlp1qweAH/8sZLKlaukWT6nP9vMmD79O44dO8K6dX/h5JR8e/tdu7YzbdpkAN59dyRDh76X6jZN7//NNzszYcK3qZZNuO1jx86mWC4oKIjt2//in3+Oc//+PSIjI7C3d6BMmbK8/npL3nqrB3Z2L8503QcO7GPz5nXcuXMb0FCmTBm6dOlOly7dzBq54caN66xevZxLly4QGRlBsWLFadasBW+/3R8Xl+RHlDIYDOzYsZWdO7dx795dLC0tKVu2HN269aR163ZJaj/v3vVi6ND+vP/+x/Tp09+cty1eAulKqPV6fZrV59bW1oSHh2dJUMI8upemU6LIrHLlymNvn/ZYnEWKFM2BaHLe84m0TmNBIZvC5LNyybVZtMzh6XmRr776jODgICwtLXF1LUmxYsXx9/fj6tUrXL7syfr1q5k4cTLNmrVItG5QUBDz5/+Ep+clNm3amkvv4OV04sQxdu7cxpgxn6WYTEN80muyY8dWBg9+N0ebs+3du5tZs6YTFRWJRqOhQIGCFCtWnGfPfPH0vIin50XWr1/DlCkzqVatRo7FlZJlyxazZMlCAEqVKo1Op+P69Wtcv36Ns2dPM3nytAydvzt2uDNr1nQMBgM2NjaULVsePz9fVq9ezs6d25g1ay6VK7+WaJ3Y2Fi+/HIcp06dAKBw4SK4uOTn+vWrXLp0gf37PZg8eTo2NjbqOuXKladLl278/vuvNGzYhNKly2T+wxB5Tp6Y2EWkjzT5ECaffPIZderUy+0wclVgTAAAhWyKkM8qH1pN3mqXHxQUyPjxYwkLC6Vv34EMHTo80U3S06dPmD//Zw4fPsCkSV+yaNEKKlSoqC6/ePEcHh67KFq0WG6Eb5aJE78jJiY61Rr33BYTE8NPP82ieHFXunbtmWK5J098uHTpAkWLFsPa2poHD+5z6tQJGjduliNxLlmykGXLFqPT6ejTpx/9+w9ONArXlSuXmTdvDlevXmbMmPf5/fdllC9fIUdiS86ZMydZsmQhtrZ2zJw5R71+XbniyfjxYzh4cB+1atWhR4/e6dre9etX1WS6TZv2fPbZl9jbO2A0Gtm0aR3z5//Mp59+wNq1W3B2zqeu99tvv3Dq1AmsrKwYP34i7dvHjxQWFBTEt99O4Pjxo8yePSPJE4ShQ99jz56dzJnzA3Pn/pYln4nIW/LWL4xIVV4fh1oIcxkVI4ExAfhFPwNAq9Hial+Sso7lyW+dP88l0wDu7lsICwulQYPGfPDBJ0meOBQtWoxvv53Ka69VITY2llWr8n6H8KJFi1K6dBmcnJxzO5QU/fnnJp488WbgwCFYWKRcJ7V79w4URaFq1eo0bdocgG3b/sqRGM+fP8uKFUvQarVMmPAtH330aZIhbatVq84vvyygfPkKREVFMWPG9zkSW0pWrFgKwLBhIxJVBlSrVoNx474EYOXKpRiN6euwtnLlUgwGA9Wq1eDrr79Tzx+tVsvbbw+gTZv2hISEsHTpInWdoKBAtm7dAsCHH45Vk2kAFxcXJk+ehoODA3v27OTGjWuJ9legQEE6d+7GuXOn+eefY2Z8AiKvy3u/MiJFL8841EKkjymRvhvmhV/0M8JiQzEq8T+48R0O8+4l7ubN6wBUrVotxTIWFha8+WYXAK5du5ojcb3KYmNjWbt2Jba2drRp0z7Vsnv27ASgUaMmtGgR33H/xIlj+Pv7Z2uMiqIwa9Y0jEYj7dq9Sbt2b6ZY1trahvff/wSIr9G9fPlStsaWkidPfLh48TwajYaOHTsnWd6yZWvy5cuHv78fnp4X09yewWDg7NnTAPTtOwCdLmnH4969+wKwd+8eNUk/d+4Mer0eR0cnunTplmSdfPny0aZNBxRFwcNjd5Llb70Vv87y5UvSjFG8fKTJx0tEmnyIzDB1anR1LcG6dX/y558b2bVrOw8fPsDCwoLXXqvK228PoFGjJknW9fK6w9q1K7h+/RpPnz7FysqKsmXL0qpVG7p27Ym1tXWSdUJDQ1i/fg1Hjx7Gx8cbrVZHmTJlad/+Tbp27YmlpWWi8lOnfsvu3Tv49tuplClTjkVLfuXypUvExMRQrERxevXpS9eOPVCMChu3rGX7dne8vR9jZ2dPw4aN+N//PqJgwULJvvfIyEiWL/+DAwf2EhQUSKFChWnevCUDBw4hX7586f4MM/qeUmOq/Tx16h+GDBmebFIA0L79m9SoUStRM4levbrw9OkTIL5piKlzYMLOa8HBwWzZsoGTJ0/w+PGjRJ3VWrduR9euPZKtgQ0NDcXdfTMHD+7Hx8cbo9FAmTLl6NChI9269Uq11tbE0/Min376IVFRUfTq9TaffPIZkHynxPPnz/LRR6OoW7cBP/zwE+vWrWL/fg98fHywsbGhZs1aDBw4NNkbD6PRiIfHLtzdt/DgwT0AqlSpztChw3n06CHTpk1OVwdAk0OH9hMUFEjbth1S7ch38eJ5fHy80el0NG7cjHz58lGsWHGePPFh5874ttTZ5eLF8zx69BAgXR0769dvyBdfTKRKlWqULVs+zfKm45Fev/zye5rNz65c8QTi200nbH5hotFoqFKlOidOHOXixfPUqlUn1e2FhAQTFRUFQKVKryVbplSpMgCEhYXy+PFDSpUqo54z5ctXSPF7XKpUaQCuXbuSZFm5chUoX74CV69e5saN60naZ4uXW7oT6qCgIHV4vJSWA6mW0Wg07N+/PwPhiYyQTokiKxiNChMnjufvvw/h5ORMqVJlePToIWfOnOLMmVNMmPAtb775Xy3SxYvnGTv2Q2JjY3BycqZMmbJERkZy+bInly97cvjwQX755fdEP1BeXncYN+4j/PyeYWFhQcmSpVAUhRs3rnH9+lX279/LrFlzkx1d6Ny5M/GjG2igqGtxgv0DeeB1n9nTZ2CpWHLs2BGOHfubwoWLULJkKe7e9cLDYzfXrl1lxYr1WFlZJdqewWDk449Hcf36NYoUKUqZMmW5e9eL9etXc+DAXubPX4Sra4k0P7c7d24zZsyHZr2n5NSv34jDhw9y7doV3n//PXr37kfjxk2TJHL29g6J2k4DVK5cRW23a2VllSSpuH//Hh9/PIqAgACsra1xdS2BRlOEJ0981M5qnp4XmDx5eqL17t69w/jxY3nyxAedTkeZMuXQ62O5ceMaN25c48KFc0yZ8kOqHcdu3LjGZ599nCSZTktMTDQffTSKq1cvU6BAAcqUKcP9+/c5evQIJ04cY/bsedSr99/QrnFxcXz//SQOHNgLQIkSJbGxseXcudOcO3eahg2T3him5eDBfQA0bNg41XK7d+8AoF69huoNWevW7Vi9ejk7dmzlnXeGZVvn2HPnzgCQP38BypVLu020RqOhc+du6d6+g4MD1avXzFD5tHh7PwZI9TwrWrRoorKpSfjZppQY6/V69e9PnjyhVKky6nqp3RTGxcWv9/SpT7LLGzRojJfXHQ4e3CcJ9Ssm3Qm1wWDA29s7zXKplclLvevzoldsLhSRTZ488SYgwI8vvphIp05d0Wg0RESEM2HC55w9e5qFC3+lQ4dO6vn8668/ExsbQ58+/Rg9+mP1x+jKlct8+ukHeHpe5MCBvWp7xMjISL744lP8/J7Rvn1HPvporFor9fDhfb7++kuuXPFk5swpTJkyEwCDYiDGEA3A9u3uNGjQiK8mTCJ//oIY4gx88cWnnDp1gh9+mIqtrS0//PAzTZrEd/66dOkCH300ikePHnLs2N+88UabRO83NjaGO3duM2nSFNq16wCAr+9TvvrqM27evM7330/i99+XpvqZRUZG8vnnYzP0ntLSsWMX9u7dzaVLF7hyxZMrVzz/fVJQhVq16lK7dl1q1qydbO3/lCkzOXRoP19//QX58xdgwYLEj6BnzPiegIAAWrRoxZdffqMmPTExMSxbtpjVq5dz4MA+hg0bqY5YoNfr+eabr3jyxIe6deszceJkChUqDMDly5f47LOPOXLkEO7uW+jevVey7+n27VuMGfMBERER9OrVl08+GZeuzwLiazEdHZ2YPv1HmjdvCUBAgD9jx36Il9dtFi9ekCih3rJlAwcO7MXBwZHvv59B/foNgfiEbOLEzzlxIv1DJUL8b+DFi+cBUk0oo6OjOXToAABt2/7XLKRduw6sXr2cJ098OH36ZJpJubkePLgPxI88kR3c3Con+T5lVlBQIECytdMmpmUhIcFpbs/ZOR/29vZERERw+/Yt9Xua0L17/82bER4eBkDx4q5A/DB4BoMh2adC9+7dBSAsLPlRzapXr8m6dau4cCHloQzFyyldCXX37t2zOw6RBV6VGurF/zxg302/3A4j09pWKsR7jUtny7bT80i2aNFibN68Pdll/fu/k6jWyt7egf/97yPefXcg/v5++Ph4q7VJXl53AHjzzc6JanaqVavOkCHvcfWqJ5aW/9UKb9/+F0+eeFOnTj2+/vq7RPstVaoM06bNYtCgPhw+fIBbt29SoGQBgmIDif43obaxsWHSpClqzZ/WUkvfvv05deoERqORoUPfU5NpgJo1a1OrVh3OnTvD7ds3kyTUAMOHj1KTaYgfTnDatFn069eDK1c8uXTpAjVr1k7xs9y+/S98fNL3nry87qRrNAVLS0t+/PEXFi78FXf3zcTFxREXF6fW/K9atUxtyztixOh0j4zx7JkvDx8+wMrKis8/n5CoBtHa2pqRI9/H3X0L4eFh3L17R02oDx8+wL17d8mfvwDTps1K1EmyevWavPfe//jpp1ns3r0j2YT6/v17jBnzPmFhofTu3Y+PP/40XfEm9P77H6vJNMR3BBs27D0mTPic69evEhcXh4WFBQaDgZUr42+CPv10vJpMQ3wt6MyZPzFgQC+1WUB63Lp1g4iICGxtbdXEKzmHDx8gMjICa2trXn/9v1hNzQG8vO6wfftf2ZZQh4XFzweRWnL6oomOjj+3n396lJCVVfyNY0xMTJrb02q1NGrUlAMH9rJq1VIaNGiUpNbZ9P2A/2qr69atj42NDYGBAWzb9leS77G392P1iYeppvp5phuZW7duEhkZgZ1d1s3EJ15s6Uqop0+fnnYhket00oZa/Cs941AXKFAwxWWmUQkSKlOmjPr3yMhI9e8lSpTk7l0vZs+eyYgRo6lZs7Zas9Ov38Ak2zl69AhAip26XF1LULVqdS5cOMeuI9t5s3cnLDWW2FrEN3WoWrVGknbNRYr8NzRcgwZJE5X8+Qv8G3dEkmU6nS7Z4c+KFClKgwaNOHbsb/755//t3XV4U9cbwPFvkjZ1owZUKFbcbdhw2WA4P4bDcN2GDhkwYLCNIcNluLv7cHcoLjWo0paWuiX5/ZEltDT1FOg4n+fZ87BcOzc3Sd977nvecynDgDo753T58sUslyczMTHhhx/G0KtXX86ePc3Vq5e5d+82MTHq84iLi+Xgwb2cP3+av/5anib1QxcHB0eOHDlFQkI8RkbGaZYnJCRgaWlJdHSUNtAB9YA6gMaNm+n8bH39dRuqVKmGk5NLmmV+fq9YtGg+ERHhtGvXKUfBNEDdul+mea1IkaKAOl86Pj4ec3Nz7t+/x9u3b7GwsKRx42ZptnFwcKR+/YacOJF2YFl6AgLUj/gLF3bK8Gnr0aPqwYh16tRPE0w1bdoST8/FXLx4njdvwrSfS33S1EdWKBR633de0dTmzvgptioL67zTt+8ALl48x/37Howb9wNDhoygaNHiBAUFsm7d39y+fRMLC0uioiK1wbalpRXduvVizZqVLFgwh6ioSFq3bouZmTkeHneYO/cPTExMSExMTDctpHBhJ6RSKQqFguDg4I82qZLw4YlBif8hn0uVjwG1i+RZz+5/RW7rUOt6RJoy+Er5x3rgwGFMmjSWBw88GDlyMObm5lSrVoPatetSt+6XaWYj0zxq3b59szbX9H1+fq8ACPYPpKBJISwNrZBL1b1Xjo6OadZPOdhPV0+t5o+fSqVKs6xQocLp5nkWK1aCixfPawe0pSc75/TqlW+G+9KlQAFbOnToTIcOnVEoFDx79oTr169y/PgRXr705e3bt/z00yi2bdubpUGBoL6e/v5+PH78ED+/VwQE+OPl5Ymn53Ntj13K90uTu1qihO6bARMTk3RzdmfPnq7tWYyICM/yeadkYGCg89qmTHlRKJIBdW84QNGixdIdzOnuXipbAbWm3ebm6efABwcHaR/1N2vWMs3yZs1asnLlEpKTkzl8+CA9e/ZJtTw7k75ors3722iC9KykRuTEs2dPmD9/TpbX//HHsbi7l85wHRMTE0BdRSU9mmW6Upx0cXMrysyZvzNlykSuX7/K9etXtcvkciPGjZvEnj07iYqKxMzs3Y1Pnz79CQkJ4eDBvaxcuZSVK5em2uf48T8zceKYdHuepVIppqZmREdH5dk1ED5NIqD+D/lcAmoh7xkYZFaN4l2gVa/elyxfvoZNm9Zx9eploqOjOXfuDOfOnUEmk9G4cTNGjRqvHYynmVFVk+uZEUmCBCu5darXUs5QpnObbJbKy6hag2ZZyp5aXbJzTrmdUVYmk1GmTDnKlClHz559Wbt2FWvXriIoKJArVy6mSolIj7e3F4sXL9DOBqdRoIAtX37ZkDt3bvPmTViqZZGRbwEwMcn+NNUJCQk0bNiY8+fPcvbsKc6dO02DBo2ztY+sVEjRxP9ZaWtWZhJNSZNKoatXX+PYscPaEmwTJ2acH37o0D569OidqsdV89nOKLDUiI+P09keTRUKzU1FVrx86YO9vaM2sM1IdHR0tsrrZeXznpX8aM0ya+usT/pTu3Y9tm7dzf79e3j8WF1WsmTJUrRu3RYnJ2ftrIx2du86EKRSKePHT6JZsxacOHGUwMAALC2tqFnzC5o3/0pbts/eXnfFIFDfIERHR2k/M8LnQQTU/yEyMShR+EjKlCnHr7/OISEhAQ+Pu9y+fZMrVy7x4sUzTp48RlxcLL/9Ng/Q/LGJZsmSvylfoQLhiW8ITwhHiQJDqRwXUxcMZennUupbbGz6ebSa1IqMeiUh9TlVqlQ51226c+cW8+erq2WsX78t3fWkUin9+g3in3+O8+rVS225tIyEh79hxIhBRESE4+ZWlK+/boO7eync3Ipqywp27dohTUBtbKwOtuLiYtPsMzOanOm//prLzp1bmTfvd6pUqZ7htN25oWmrrhQfjeyehyaHNyYm/QBRU3va3Nw83WA+OTmZ8PA3+Pv7cfPm9VT53Zo0rIiIiEzbo6lnbWubOm2kTp36LF68gPDwN1nO158wYQz+/n707Tsg05J+VatWT1V+UR/c3NRpO5qydbpoljk7u2Zr33Z29vTrNyjN6+HhbwgJeY1MJtPehKRUtWp1nU/5nj17ApBhiUHNIEfNZ0b4PIgQ7D9E9FALH5q6+o+ftvqBkZERNWrUYtCgYaxbt4VRo8YDcPHieW3etYuL+o/Xw+ceeEV5EpYQioFURkGTwhQ1L4ahTM6TJ494/vxZhgGRvgQHB6Y70OnZs6dA5hUTNOfk4+OV7jrZOSdTU7N/0y9eaKsKZEQTiGVlINqhQweIiAjH1bUIq1ZtoFu3nlSvXlMbTCsUCsLCwtJs5+yszo328vJMswwgKiqKgQP7MGXKhDTn2KKFenKRAQOG4ODgSFhYGIsWzcu0rTmlyVv18fFON5f4xYvn2dpngQLq1KX0elHv37+nvaH5/ff57N17ROd/u3Yd0N6gHTy4L9U+NCkzXl4vdKYnpfT0qTqwez9gdnUtQokS7gBs2bIh0/O6ffsmvr4+JCcnU7p02UzXzwua4/r4eOu8YVGpVDx8eB9QD3bOiitXLrJly4Z0r/OlS+f/3V9FbRpJbGws+/btZuPGtem+/5cuqavDpJdSl5iYqB3sqvnMCJ8HEVD/h3wuVT6ET0dgYABdurTj+++HaEtfpVS9eg3tv5VKJSqVSluB4+ihw0hUUMikMG7mxbCSWyGRSAgLC2X48IH07duN06fzvm59UlISJ0+mzaV99eolN29eA3QP0kxJc0779+8mOTk5zfLsnlPJku7a6hqLFy/QuU+NoKBAHj16iEwmo1q1d2XjNLm17wcGgYHq0qZubsV0PuI/ffqkNiBOGYxqJvQ5c+aUzhSY8+fP8OjRAx4/fphufqmpqan2Juvo0UNcvXpZ53q5ValSFaysrIiKiuTChbNplkdGvuX8+bSvZ0TTixkWFqpz+usjR9S5887OLhkOYDUyMtbeYFy4cFY7hwOoP0cymYzw8Dfa3m5d/Pxecfu2ut60ZhbGlIYP/wGAEyeOcuZM+p+3qKgo5s1Tl3EsXbpsnlUeyYyjY0HKli2PQqHg8OEDaZafOXOKt2/fUqiQExUrVs7SPs+cOcXSpQvZs2dHmmWJiYls27YZgA4d/qd93cDAgIUL57FixRJtAJ/S3bu38fC4i7W1DU2aNNd53JCQ14D6+5fd3nQhfxMB9X+IqEMtfGjOzi6UKVMOhULB9Ok/Exb2blrl6OhoVqxYAkC5chWIM4jFO8qTtu07UqCALd4vPFk7ZxWKGKU2j9Tf34+xY38gPj4eBwdHnQO78sLChfO5du2K9v9fvXrJhAmjUSgU1K/fMNNBVR06dKZAAVuePXvK1KkTUgVJOTknqVTK8OE/IpPJuHbtMiNGDOLevbupgmOlUsn161f54YehJCYm0KnTt9rJL+Bd/nBk5NtUVVk0vek3blxNNY1zUlIShw7t448/ZmlfSxk4N2vWksKFnQgJec2UKT+lSku4d+8OixcvAKBLl24Znlu9el/SsKE6f3rOnFl58hRCLpfTrVsvAP78c7b2CQqoUyUmThyrfSyfVSVLlkIuNyIuLg5Pz9S9ngkJCZw5o570pWXLVpnuq23bDoD6PT969F3pSicnZ22A9+efszlwYG+afOp79+4wduz3JCcnU6ZMuVS1rjWqV69Ju3YdUalUTJ06kaVLF6aZ8vzOnVsMHdoPHx9vTE3NmDz5lyy8C3mnT5/+AKxYsUTbCwzqevZz56orjXXv3ivNINOgoCB8fX0ICgpK9bpm8qnDhw+kunkKDw9n8uTx+Ph4U7p02VRlNOVyOU2bqgPlP//8TRscg7onf8qUCf+2tV+6+eaaWR+LFy+RpZx04b9D5FD/h4iUD0FjwYI5WRp0ZWpqxty5C3N1rJ9//oWBA/ty48Y1OnX6BicnFwwMDPDze6kuY2ZhTpeh3XiTEIZcaoSZhRmzZs3hp59Gce7cGS5dukDRosVISkrm1StfFAoF1tbWzJ27KMsj+nPD1bUIBgYGjB49QjubnpfXC5RKJaVLl2XChJ8z3YeVlTW///4nY8f+qLdzql27LlOmzOTPP2dz//49hg3rj6WllTZoDggI0AaFbdq0Z+jQkam2L1asOAYGBsTFxdG1awfs7OxZsGAp33zTjj17dhAYGMDQof1xcXHFxMSUgAA/oqOjMTe3wN29NM+ePSEkJFi7PyMjI379dQ5jxozg8uWLtG//FUWLFicqKkrb692kSfNUPX7p+eEH9SRBwcFBLFu2mNGjx2fpPcmOLl26c//+PS5ePM/w4QNxdnbF1NQUL68XSKVSihcviafn83SrgLzP0NCQKlWqce3aZTw87lKyZCntsvPnzxAdHY1UKqVly9YZ7EWtWLESlC9fkQcPPDhwYJ82+AcYPHg4kZFvOX78CH/88SuLFy+gUKHCGBgYEBwcqL2RqVChIrNmzU23jNzo0T9hZmbOli0b2LJlA9u3b8bBoSDW1lYEBQVpnygVKlSYGTN+0+Yxfyx16tSjc+eu7Ny5lfHjf8TZ2RVDQwNtylOLFl/Rrl3a8pYzZ07RTke+fPnf2terVKlGp05d2LVrOxMnjqFQISfMzc3w9fUhMTERN7eizJmzIM37N2TICDw87vLixTO6dGmHq6sbsbExBASoP+NdunSnU6dv0z0PzU1qTmbiFPI3EVD/h4iUD0EjvTzX92VlWuDMuLq6sXr1RjZvXs+tWzfw93+FVCrF3tGBslXL07Lj19jbOWJrZIeFoQUSiYTy5SuyYcN2tm/fwuXLF3j50heVSkXhwk7Url2Xbt16Y2eXfp1sfTIxMWXBgqWsWLGECxfO8Pp1MC4urrRo8TVdunTLsKpDShUqVNL7OTVp0ozq1Wtw+PBBrl+/wsuXvvj6+iCVSrG1taNRoyZ89VVrnY/B7ezs+fnnGaxZs4KAAH9tvnvp0mVYvXoj69ev4erVSwQFBSKVSnF0LESrVm3o0qU7d+/eZvr0n7l8+SJDhozUBh0lS7qzbt1Wtm7dyMWL5/Hx8UYmk1KhQkXatOmQakr6jNjZ2TFo0HDmzv2Nfft20bRp8wzTJHLCwMCAX3+dw759uzh8+CAvX/ogk8moUaMW/foN5sCBPXh6Ps+0akxKzZu35Nq1y1y/fpWOHbtoX9fUnq5SpXqqpwQZadtWPWmQn99Lbt++qc3JNTIy4uefp9OyZSuOHz/C48cPCQ4OJCkpCTs7e8qWLc/XX39DvXoNMiyRKJFIGDJkBI0bN+PQof14eNwhICCA16+DMDMzp0qVajRo0IhWrdp+Mj2p338/mvLlK7B79w6eP3+GQpFMiRLutG7dhvbtO2d7fz/8MJayZcuzd+9OXrx4Tmjoa5ycXGjUqAldu/bQmZpkY1OAlSvXs2HDGs6fP4OPjxfGxsZUr16TDh3+l2qynvepVCpu3FCniaWcKEr4PEhUmY18EHIkPDyG5OS0eXb6Jk2IwPbv8mxJbkTBzkuoUDhvRs1/CEqlktevX+Hg4JKteqz/BQYG0g/yeclrSpUS6b9l68IT3vA2MQJbIzvM/w2k/8v+K9fwczFlygROnz7JwIFD6dXrOyDza5iUlESXLu0ICwtl9+7DH+ymT8iaj/0dvH37JiNHDqZmzS+YN2/xR2tHfpaba5jdGMLAQIqNjf5mstRL1HLmzBkmTJhAp06daN78XaL+ihUrOHnypM4BHIL+ScVMicJHkqxM5nVcMJ6RL0hSqnM+reU2FDEvioXc8j8fTAufltjYWNq1+4rhwwfqrIOckJDAnTu3ADLNj0/J0NCQbt16olAo0p3AR/h8HT68HyDT0oPCf1OuAurIyEj69u3L0KFD2bdvHw8ePODVq1fa5UePHmXkyJF07949S3U1hdyRiZhF+MCSlUm8jgvGK8qT8MQ3GEoNUSjVlSEkEokIpIWPwtTUFEtLS+7evc3y5YtSDa4MDw9n+vTJhIe/wdW1CNWr18xgT2l98017HBwc2bt3Z7rlFoXPT3BwEGfOnKZatZp6T18S8occB9RKpZJhw4Zx5coVDAwMqF27dppcNGNjY1QqFXfv3qVnz57ixyePiUGJwocUnvAGrygvwhPfIJfKKWzqTBFzN4wNPo18TOHz9sMPYzEyMmLfvt20adOCvn270aPH/+jYsRXnzp3B1taOX36ZleWp2jWMjIwYP34yr18Hs2tX+pPuCJ+Xv/9ejlQqYdy4iR+7KcJHkuOA+sCBA9y4cQNHR0f27t3LmjVr0gxw2rZtG7/99htyuZwXL16wZcuWXDdYSJ9I+RDyWrLyXT1kQ6khcqkcp38DaYvPIE9ayD+qVq3Opk076dTpWxwdHfH39yckJBhnZxd69fqOdeu2pKrUkR21atXmm2/as3HjOu0058Lny9PzBcePH2Hw4OE4OTl/7OYIH0mOq3wcOHAAiUTC5MmTKVEi/alN27VrR2xsLNOnT+fYsWP07ds3p4cUMiGqfAh5JUmZxJuEMN4mvsXFzBUTAxPMDMwxMzcXQbTwySpUqDA//DAmT/Y9fvwkxo+flCf7FvKX4sVLcP789Y/dDOEjy3EP9aNHj5DJZDRs2DDTdTt27IhUKuXFixc5PZyQBaKDWtC3JGUSwXFBeEd5EpEYjpHsXQ1lkSMtCIIgCGo57qGOjo7G1NQUQ0PDTNc1MjLC3NxcO7+9kDdkIqIW9CgiMYLXcUGoUGEsM8HWyA4zAzMRRAuCIAjCe3IcUNvY2BAaGkpUVBQWFhYZrhscHExkZCSOjo45PZyQBWJQopBbScokDCQGSCQSjGXGGMuMsTWyw1QE0oIgCIKQrhynfFSuXBmAvXv3ZrruokWLAKhUqVJODydkgeigFnIqSZFIUGwg3lGeRCWpp7M2lhnjau6GmaHIkxYEQRCEjOQ4oP72229RqVQsXryYu3fv6lzn7du3TJs2jV27diGRSOjYsWNODydkgYGIqIVsStQE0tFevE2KwFhmgqE0xw+uBEEQBOGzlOO/nHXr1qVDhw7s2bOHrl27UrJkSe3kLaNHjyYoKIgHDx6QmKieNa1FixY0aNBAL40WdBNl84TsiEyMJDAuAFBhIjP9N7XDVPRGC4IgCEI25aorasaMGVhYWLBx40aePXsGqEf+HzlyBJVKpV2vffv2TJs2LVcNFTIncqiFzCQqEjGQypBKZJgamGJmYEoBI1tMZCKQFgRBEIScylVALZPJmDBhAl27dmXfvn3cvXuXkJAQlEolNjY2VKhQgTZt2lCuXDl9tVfIgKhDLaQnUZFIWEIokUmR2BnZY2tsi4HUAGcz14/dNEEQBEHI9/SSLOnm5sYPP/ygj10JuSDNcUa88F+VoEjgTUIYkUmRgApTmRmmYmpwQRAEQdArMfroP0T0UAspxSRF4xfrhyaQtjVW50gLgiAIgqBfOQ6ob9y4kaPtatSokdNDCpkQOdRCgiIBqUSKodQQEwNTLAwtsJHbYCICaUEQBEHIMzkOqHv27JntQUwSiYRHjx7l9JBCJkSVj89XgiKBx74PGd5rYLa269t3AP36DcqjVn3abt++yciRgzExMeHkyQtZ3m748IHcvXuboUO/p1u3nnpv15Mnj+jfvxcAf/65kC++qJPpNsnJybRr9xUREeGMGjWeDh065/j4Pj7euLkVTfVaXp+zPoWHh3Pw4F6uXLmEj483sbExmJmZ4+ZWlC+/bEibNh0wNU17g9mp0zcEBQUyY8ZvNGrU9CO0POsy+uyGhoayaNFcbt26QWxsLNbWNvz550LGjfvhkzu/iIgIevXqQu3adZkwYUq662k+f1KplO3b91GoUOF01w0MDKBz5zYALFy4nKpVq2fYBs2+v/qqNZMmTUt3vQcPPDh8+CAeHncICgpEqVRSoIAt5cpV4Ouvv8nS9/RDiYmJZv36NZw9e4rXr4OxsLCkUqUq9OrVF3f30tnen0Kh4NCh/Rw+fABvby8MDQ0pWrQY7dp1pEmT5kjTyTcNDQ1l06a1XLp0kbCwEGxt7ahYsRLdu/emWLESadZftmwR+/btZv36rRQsWCjb7fzYcpXykbKSR4YHMTDA2to6N4cC1NOdL1u2jOPHjxMUFISlpSXVq1dn8ODBlC1bNtv7UyqV7N27l3379vHkyRPi4uIoUKAANWrUoH///pQpUybXbf6QZCKe/uwkKOIJSwgjKimKmORo7evFihXHzMw80+0dHQvmZfOEHChduizFihXHy8uTf/45nqU/1NevXyUiIhy5XE7Tpi1ydNy4uDhWrlzKnj07OHfuWo728bGdOHGUOXNmExcXi0QiwdbWjkKFCvP6dTAeHnfx8LjLtm2bmTnzd8qXr/ixm6t3KpWKceN+4NmzJ8jlctzcipGQEJ9hAPox/fmn+loNHDg03XUCAwO4d+8OoP6bffDgvgzX17e4uDj+/HMWx48fBUAul1OwYCEMDAwICPDn9OmTnD59knr1vmTKlBmYmpp9sLbpEhsbw7BhA3nx4hlGRkYUL16S16+DOXv2FBcvnmP69N/48suGWd5fYmIiEyaM4dq1ywA4ODhiY1OAx48fcu/eHf755zi//DIbY2PjVNs9efKIMWNGEhERgVQqpVixEsTHx3P8+FH++ecE48ZNolWrNqm26d37O44cOcisWb+wcOHyXL8XH1qOA+ojR46ku0ypVBIdHc2LFy/YtWsXHh4eDBkyhO7du+f0cERHR9O9e3eePHmCsbEx7u7uBAUFcfz4cU6fPs2CBQto2jTrd92JiYkMGzaM8+fPA2Bra0vhwoXx9fXl0KFDHD9+nFmzZtGmTZtM9vSxqW9qJCDKnn1m4pLjeBnjC6gwMzBHbuKsXfbDD2Mz7ZkRPl1fffUNS5Ys4MKFsyQkJGBkZJTh+sePHwagfv0GWFpa5uiYvr7e7Ny5VeeyyZOnk5AQj42NTY72/SGsXr2CtWtXIZPJ+N//utKtW2/s7Oy0yx88uM+iRfN4+PA+P/44jOXL11K8eNpesvygbNnybN68K81v/qtXvjx79gRQ986mvGn4669lJCcnY29v/0Hbmp5r165w9uwp+vTpj62tXbrrHT16CJVKRa1adbh27TJHjhzku+8GYmCQ90PAYmNjGDz4O7y8PHF0LEi/foNo3vwr7bGTk5M5dGgfy5Yt4uLF80yYMIZ58xYjk8nyvG3pmTNnNi9ePKNy5arMnPkH1tbWKBQK1q5dxbp1fzNjxhS2b99LgQK2Wdrf0qULuXbtMnK5nPHjJ9OixdeA+knQtGmTuHTpAnPn/paqdz82NoYJE8YQERFBiRLuzJz5O87OLgDcunWDSZPGMXv2dAoVKpzq75SpqRl9+/Zn3rw/OH78iPZY+UWO60IUK1Ys3f9KlChB5cqV6dSpE1u3bqV+/frMmjWLO3fu5LihU6dO5cmTJ9SoUYMzZ86wZ88eLly4wNChQ0lKSmLs2LGEhoZmeX9Llizh/PnzWFtbs3LlSi5fvsz+/fu5evUqPXv2JCkpiYkTJ+Ll5ZXjNn8QKiUASsnH+wILH068Ip4ERQKgnhrcRm6Dq5kbzmYuGBsYZ7K1kF+0aPEVMpmMmJgYrly5mOG6sbExXLyo7hho1aptnrSnYMGCFCnihqWlVZ7sP7du377J+vWrkUqlTJo0jZEjR6cKpgHKl6/AwoXLKF68BHFxcfz224yP1NrcMzY2pkgRN1xdi6R6PTw8AlA/FS5XrkKqZU5OzhQp4vbRe1BB3ZO+dOlCTExM6NIl/Y42lUrFsWPqm8VOnbpQoIAtoaEhXL6c8XdCX+bPn4OXlydOTs4sW7aar7/+JlUgb2BgQLt2nfj99/lIpVJu3brBgQN7P0jbdPHze8WpUyeQy+VMnTpTmxkgk8no338wderUIy4ulh07dN84vy88/A379+8GYMSIUakCXBsbG375ZRbm5uYcO3aYJ0/epfMeOrSfkJDXmJub8+efC7XBNEC1ajUYOnQkAAsWzElzzHbtOmBjU4AVK5aQlJSU7ffgY8rzQmsSiYRx48ahUChYvXp1jvbh6+vLkSNHkMvlzJ07lwIFCgDqD8n3339Pw4YNiY2NZf369VnaX2JiIlu2bAFgwoQJqWZwNDY2ZtKkSdSsWZOkpCTtep8spQIAlUTUzPsvi1fE4x/jh2+0NyHxrwH1d8vBxBETUQbvP6dAAVttqsc//xzPcN0zZ06RkJCAg4Mj1avX/BDN+6SoVCrmzJmFUqmkefOvaN78q3TXNTIyZtiwHwB4/Pgh9+/f+0Ct/DAUimQADA0NP+knlhcunMPT8zkNGzbBwsIi3fXu3btDQIA/xsbGVK1aTZuqcPBg3getHh53OXr0EADjx0/GwcEx3XUrV65K48bNANi+/ePFDMePH0GpVFKz5hfY2zukWd6mTQcATp06maX93bp1g6SkJCwsLPnmm3ZplltbW9O0aUtUKpU2JQbg6tUrALRo8XWaG1uA1q3bYmJiipeXJ8+fP021TC6X06LF17x+Hczhwwey1M5PxQcpm1e8eHHMzMy4fft2jrY/cOAASqWSevXq4eiY9kPdpUsXzp49y5EjRxg9enSm+3vy5AmRkZFIJBJatEibbyiRSGjUqBHXr1/nwYMHOWrzhyJRqQNqZd7fGwkfQXxyPGEJoUQnRwFgbmCBrVH6j0dzQzOYx8nJma1b97Bnzw6OHDnIy5e+GBgYUKZMObp06a4zp9fT8wVbtqzn8eNHBAUFIZfLKVq0KI0aNaVt2446UxYiI9+ybdtmLlw4S0CAP1KpDDe3orRo8RVt23bE0NAw1fq//jqNo0cPMW3arxQtWpy1a1dy9+5t4uPjcXUtwrff9qB5869QKBTs3r2dgwf34e/vh6mpGbVqfcGQISOxs9P9uDs2NpZ16/7m1KkThIe/wd7egfr1G9KjR59sjf/I7jll5Ouvv+HSpQtcvnyJ2NiYdHsWjx9Xp9+1bNkq1eCg2NgYdu/ewZkzp3j1yhelUkmhQk7Ur9+Ab7/tjpXVu/PSDMzSqFdP/Rh2584DFCpUWOegRM3AuGrVavLHH/PZunUj//xznICAAIyNjalUqTI9evSlXLnyadqsVCo5fvwI+/btxtfXG4CyZSvQt29/Xr16yaxZv2Q6SEzj7t3bvHr1EiBLAyZr1KjFTz9NpmzZ8hQtWjzT9UGdnnD48AEePrxPeHg4EgkUKGBHlSpV6dq1J0WLFkuzzcWL59i/fw/e3l6EhYVibm5BmTJladWqDQ0aNE6zfna+Q+8PSkw5EA/Ueb+aazhx4lS+/vqbDAddvn4dzJYtG7l69RKvXwcjl8spUcKd1q3b0rz5V2kGnWk+D4sWreDKlUscPLiP5OQkihQpysKFy3UO+kxp9+4dADRv3jLD9Y4cOQhAjRpfYGRkTOPGzdi3bzfXrl0hKCiIggXzbgzIoUP7AXB3L52l9LnevfvRqFETKlaskqX9a37PsqJgwULs2nUw0/UePrwPkO74gAoV1K8HBvrz+nVwhjcJAEFBgQAUL14i3RQbzVOSR4/exUrBwertSpXSPQ5NKpXi7OzM8+fPePjwASVLlkq1vFmzlmzbtom9e3fSrl3HDNv4KfkgAXViYiLx8fEkJyfnaPu7d+8CUKWK7g+q5nU/P78sfclcXFxYsmQJ4eHhmJjo7t2LjY0F1D/8n7R/B4aqRMrHf06iIhHfGB9ApQ2kP0Rah1KpYvLk8Zw/fwZLSytcXd149eolN25c48aNa0yaNI2vvmqtXf/u3duMGjWCxMQELC2tcHMrSmxsLPfve3D/vgdnz55m4cLlqX6QPT1fMGbMSEJCXmNgYICLiysqlYonTx7x+PFD/vnnBHPm/KWz9+rWrRvMmvULEokEV9civH4dzLNnT5k+/WcSExO5ePEcFy+ex8HBERcXV7y8PDl+/CiPHj1k/fptyOXyVPtTKJR8//1gHj9+hKNjQdzciuLl5cm2bZs4deoEixevxMnJOU073vfixXN+/HFEjs5Jl7p1v8Ta2pqIiAjOnTuT6j3XeP06WBsIpxzgExDgzw8/DCUgwB+JRIKbW1EMDAzw8vJk48a1HDlykDlzFmhH/BcvXuLfcS/PAKhQoRJAmvdKl4SEeEaOHMzDh/extbXFzc0NHx8fLlw4x+XLF5k7d1GqnvPk5GRmzJjCqVMnAHB2dsHY2IRbt65z69Z1atXKXrWEW7fUJVwLFLDVWTngfRKJhNat22V5/wsW/MmuXdsA9YCsYsWKExERTlBQAEeOqAelLV68itKl3wUPW7ZsYOnShdptihcvqU1VuHz5Ij169GHw4OHa9XPyHUpJLpdToUIlYmKi8fLyRCqValM+bGwKZHh+t2/fZOLEMURHRyOXG+HiUoSEhHju3r3N3bu3OXfuNNOn/6bzZnDlyiXcv+9BkSJuJCQkYGJikmkwHRERwe3bN/696aqa7nrx8fGcPXsagKZNmwPqnmB7ewdCQl5z+PD+PK1QdPPmdYAsP/UpWrSYzhur9Li4uGq/Z5nJKMc8JT+/VwDp/l5ZWVljYmJKXFwsfn6vMg2oNU85MspXT05Wp2UEBQVka7ukpOR/twtMs8zdvRQ2NgXw9Hyhs+rQp+qDBNRr1qxBoVBQpEiRzFfWwdfXFwBXV93TJNvY2GBqakpsbCy+vr6ZBtQ2NjYZDmBUqVScPq3+Ipco8YkPWlGJlI//kvjkOJSoMDUwRS6TY29sj6mBGcayD5cfHRjoT1hYCD/9NJlWrdoikUiIiYlm0qRx3Lx5nRUrltCyZSvtj+aSJQtITEzgf//rytCh32t/RB88uM/o0cPx8LjLqVMntPl3sbGx/PTTaEJCXtOixdeMHDlK21v68qUPP/88gQcPPPj995nMnPl7mvYdPLiPmjW/YMoUdY5gUlISP/00mmvXLvPHH79iYmLCH38soE6deoD6sfHIkYN59eolFy+ep3Hj1N/9xMQEXrx4zpQpM7U9ZsHBQUycOJanTx8zY8YUli9fk+F7Fhsby7hxo3J8TroYGBjQtGlLdu3axj//nNAZUJ84cRSlUknlylW1f0STk5MZN+5HAgL8KVWqDNOm/YqLi/q3MzQ0hJkzp3Lz5nXGjx/Fhg3bsbCw4Mcfx6Uq17dsWdbT8x488MDCwpLZs/+kfv2GAISFhTJq1Ag8PZ+zatWyVEHJ7t3bOXXqBObmFsyY8Rs1atQCwN/fj8mTx3H5ctZLGAL4+voA6so2+nb9+lV27dqGkZERs2b9Sa1atbXLnj9/xsSJYwgMDGDr1g388stsACIjI1m1ahkA06f/pv28qVQq9u3bzdy5v7F160bateuoLQ2W3e/Q+2xt7Vi2bLW259rIyChL1/D162AmThxLdHQ0Xbv2pF+/QdpqDY8ePWDy5PFcuHCOlSuXMmzY92m2v3/fg59+mqy9QYmIiMj0mLdv30SlUlGqVJkMb9jOnj1FbGwMJiam1K37JaDu2WzcuBnbt2/m8OED9OnTP08GAMbFxfH6dTAAJUqU1Pv+AXr1+o5evb7T6z7Dw8MBUj19ep+lpSVxcbG8fRuR6f4KF3YCwMvLE4VCofO99vZWjzOLiopOtZ2PjzfPnz/TmYKVkJBAQIA/ANHRUWmWSyQSypevwIUL57h9++Z/P6Devn17hss1lT5u3brFuXPnkEgkNGvWLEfHCgsLA8hwhLm1tTWxsbHaD1Ru7N27l4cPHwLQtm3eDPLRG01A/RmlfJjemI/R88wff33qEkp+Q2yNHwF1xY7gmNfEJEdjJDWiiHlRJBIJBYyyNhL7fSNHDs50nYweI3br1itVL56ZmTlDhoykX78ehIaGEBDgrw3gPD1fAPDVV61T9UiUL1+BPn0G8PChB4aG7/5wHjy4l8BAf6pWrc7PP09PdVxXVzdmzZpDz57/4+zZU3h6vkhTicHY2FgbTIM6X/Tbb7tx7dpllEolffsO0AbTAJUqVaFy5arcunWD58+fpgmoAfr3H5zq8bOjY0FmzZpD164dePDAg3v37lCpUvqPcg8e3EtAQM7PKT2tWn3Drl3buHnzGhEREWnST06cUOctfv31N9rXTp8+iY+PF+bmFsyZsyDVaH47O3tmz55Lr17fEhjoz+7d2+nTp3+W2pKRYcO+1wbToA7wvvtuAJMmjePx44ckJydjYGCAQqFgwwb1zcno0eO1wTSoe9V+/30+3bt3Ii4uLsvHjoqKBDIOInLq6tVLGBgY0KHD/1IF0wAlS7rTqVMXFi2aj5eXp/b1ly99tXmnjRo10b4ukUho374TDx/eR6VSEhUVpQ2os/sd0pctWzYSHR3F119/kyZgLlu2PNOm/crQof3ZvXsH3br1SvM3uHjxEql+J7KSHnXnzi2ATNNtNOkQ9es3SFWSrXnzr9i+fTOvXwdz9epl6tatn+kxsytlkJcXn6u8kpAQD4Bcnn5VIE3qUEJCQqb7q1atBsbGxrx5E8aBA3tp375TquX+/n7aJ02anmqAOnXqc/nyRQ4d2s///tc1TT73tm2bSExUHz+9gYdFixbnwoVz3LlzK1d19T+kHAfUU6dOzfKgB5VKhZOTE/369cvRseLj1R+SjEpHaZZp1s2pO3fuMH26+g9i48aNqVWrViZbpO9DjAmR/FvlQ4X0gxwvL+X39udEXHIcYQmh/9aQlmBhaImtkW2uBxRlpQ51Ro8Rdf2RcnNz0/5bkxIF6kf2Xl6ezJ37OwMHDqVSpSranoyuXXuk2c+FC+cA0q2X7OTkTLlyFbhz5xaXL19ME3yWK1cxzR9uR8d3kwDUrJk68AG0QWVsbEyaZTKZjLZt0+bpOToWpGbNL7h48TxXrlzKMKDO7Tmlp2TJUpQo4c6LF884c+afVH/Qnj17gpeXJyYmpqlyYi9dUvfwNmnSTGdpLBMTE9q0ac+KFYu5dOmCXgJqTQ9iSkWKqHuVlEol8fHxmJubc//+Pd6+fYuFhaV2EFdKDg6O1K/fUHujkBWaYEuhUOSw9ekbOXI0w4f/mO6+jYzUx46PfxecFC5cGJlMRlRUJLNnT+fbb3uk6j2fPPmXNPvJ7ndIXy5eVH9umzXT/bmtWLEyhQoVJjAwgFu3rqf5fFeoUDnbxwwMVPdMOjunn0YVHBykDbzfb1upUqUpUsQNX18fDhzYkycBtea6Qt58rvKKVCpFqVRm+PdDM39IepOxpGRpaUW3br1Ys2YlCxbMISoqktat22JmZo6Hxx3mzv0DExMTEhMTU90IfvVVa3bu3Iqvrw8jRgzi++/HULVqdWJjYzly5ABr1qzEysqKt2/fppsWonmqljKVJKskko8TT+TpxC5yuRxHR0caNGjAoEGDclwfVSaT6fVDkp7bt28zcOBA4uLicHZ2ZtasWTnel43NBypNpPr3iy+VYWeXtdzMT5VCoSAkRIqBgTTD65hYezSJtTMffPqpUygVvAp/hgoVVnIr7EzsMTbIuN5wRmSyd+/Z6NHjqVYte3WoU25fsGBBDAxSXwODFNOXSyRK7fIhQ4bz009jePDAg5EjB2Nubk716jWpU6ce9ep9qa3Ko6F5RLh9+2ZtSaz3aQaZ+fn5ao+j+f4XLOiYpm3Gxu/eNzs72zTLNfmfEgnaZZrzLVSoMNbWun+bSpQoycWL53n50idNO2Qyifa1nJ5TVrRu/Q0LFszl1KnjdO78P+3rJ08eA6Bp02ZYWLz7vfHzUx+nTJmy6R5HMxGWn9/LNO8HkGY7XeesWd/AwAB7+7SBu6mpSYrt1Z+XV698AHXZVSMj3QM0S5cuw4kTR5FIJFl6nzRVBCIj32brfU2PTCZ9bz9SEhIU3Lt3C29vb/z8Xv1b7/kpISEhAKhU774PDg72dO3ag02b1nPkyEGOHDmIo2NBatWqTd269ahVq3aaSTCy+x1K71pldA3fP7/Y2Fht/uqyZYtYu/ZvnetrngCk/KxoPg8ODvbZfs81qQZWVpbpbqupVmFtbU3t2nXSrNeixVesXLmMq1cv8+ZNKA4O73pADQ3fpSWkvZZpacIKAwOZdt0CBayRy+UkJiYSFaWfz9X71q1bzeXLl7K0rp2dHbNm/ZHpeiYmJkRFRaFQJKXb5qSkxH/XNc7SefXvP5CwsBD279/LypVLWblyqXaZm1tRJk6cwvjxozEzM9Puz8DAhLlz/+LHH0fw6tVLxo5N/fSjfXv1INtt27Zgbm6u42+NFCsr9W+yOujO2vuvVKpjQFtb849SCzzHAfWTJ0/02Y4MmZiYkJSUlOEjisRE9Yfk/R+qrDp79iw//vgjsbGxFCxYkLVr1+ZqEoPw8BgUirwf0GgQHok1oEBKaGjaXKT8RKlUolQqSU5Wkov7ok9aXHIsyapkLAwtAQkFTQpiJDPGzMiE5GT1uedUys+bQpH9faXcXiKRZbh9yrbWrl2f5cvXsGnTOq5evUx0dDRnz57m7NnTyGQyGjduxqhR47WD8TSPUzW5rxmJiorWHkdz02xkZJymbSnbrlSSZrlmW6VSpV2m2cbU1DTdczU2VgeFcXFxadqhULzbV07PKSuaNGnJ4sV/ce/eXfz9A3B0LIhCoeDECXVA3bLlN6n2FxOj7oU3MUn/vIyM1OcVGxub5v2A9N+/lOesWd/Q0FDncVLuLylJ/XnR1Ek2Nk6/bSYmptpjZuV9cnZW92R5e3tl+X19+dIHe3tHnYPSU353VCoVW7ZsYNu2zYSHv9GuI5PJKFmyFCVLltbmfKc89uDBIyhZshS7d+/gwQMPgoODOHBgLwcO7MXU1IyuXXvQp09/bWCa3e9Qetcqo2v4/vm9fRupfe3Zs6c6100pKioqzXfAwECe7d+ZyEj1cQ0NjdLd9sgRdbpHREQE9eqlPyhQoVCwf/9e+vYd8G97pBik6JSIj0/ItH2xser0Irk8dXtcXFzx9HyBp+eLLJ2jUqnE0/MFJUqUzNITRl9fXzw87ma6HqjT87LSBisra6KioggPD093/bdv3wJgaWmd5Ws3duwkmjRpwYkTRwkMDMDS0oqaNb+gefOvtOdgZ2efan8FCzqxbt1WDh8+wM2b14mNjcHJyZkWLb6mYsXKTJ/+MwC2tqm3MzCQkpysxNBQfR0jIyOz3E5NDBEWFp2lzlWZTKrXzs8cB9SnTp3C3d0dFxeXzFfOJRsbGyIjIzMc8KBZ9v6dfFZs27aN6dOno1AocHV1Ze3atRk+jsqqLM7Mnrtj/FuFRCWRfpDj5aX83v6MxCbHEhYfSqwiBpnEAHMDCyQSCZbyT3OijOwqU6Ycv/46h4SEBDw87nL79k2uXLnEixfPOHnyGHFxsfz22zxAfYMcHR3NkiV/U6lS5Y/bcN79QdVFE5yam2f89Ccvz8nGxobatetx4cJZTp06SbduPbl58zphYaE4O7umOZ6myoKm7brExET/2+6MKzLom+YGRVfqjUZcXGy6y3SpU6c+ixcvIDz8TZbz0ydMGIO/vx99+w6gd+/0UxHXrFnJ2rWrkEqlfPNNO6pWrU7RosVxdS2CXC7n5Mlj6Q6ibNKkOU2aNOft2whu3brJ7ds3uHTpAiEhr1m9egWmpqapJjXJzndIHzTXAmDPnsOZVnzQF81AxOjoaJ3LPTzuap+y2NrapRsYRUdHERcXx6FD++ndu592PSsrKwwNDUlKSiIiIvMxVWFh6gnh3k+PqlOnPp6eL7h580aWzuvx40cMGtQHKysrliz5O9OBdJMmTctSWcjsKFLEDT+/VwQG6k6TiIiI0I5PSDnZSlZUrVpdZ/lAzcycunLijYyM6NChs84c6Hfb6a6MoumkMDLK/tgBlerjxBM57gecM2cOLVq0yHFt6ewoVkz9hvv7++tc/ubNG21OZ3YricyfP5+pU6eiUCgoX74827Zt00sw/cH8O7ELosrHJyk2OZZX0S95FeNLrCIWS0MrXMxcP+lJF7JDoVDg7++nLd1mZGREjRq1GDRoGOvWbWHUqPEAXLx4XvsddXFRf0d9fNKfhfTJk0c8f/4sw8BLX4KDA9N9+qXpucusgkRen1OrVupBh2fO/AOgHQikeV1XW54+fZzu/jTLsvtHNbc0fzx9fLzTzU198eJ5tvbp6lqEEiXcAXW5uszcvn0TX18fkpOTKV26bLrrJScns23bZgDGjZvI+PGTadasJSVKlNQGhSEhr9Nsl5CQgKfnC54/V5cgtLKypnHjpowZM4Fduw5q85A1Txhy8h3SBwsLC21JPR8f73TXu3fvLl5entoBb7mlCVzTqzJx9Kg6ZcrJyZn9+4+xd+8Rnf+NHTsJUOdbX7t2Rbu9RCLRfs48PTP+LIWGhhIaqk7bKV48dTUPzYDSZ8+eaEszZmTfvl2Auqf7/RksP5QyZcoB6uowujx4oJ7IqFChwlkqxRcbG8u+fbvZuHFtuim+mjEbKYPt58+fsmPHVu0Mru/z9/fDx8cbudwo3dKBms+HjU3OBuZ/DDmOwgIDA5HL5VStmn4dSX2pWFFdjDy9qcs1rzs5OWFvr3viBl3mz5/P8uXLAahXrx4bNmzA1jb/XDxIMbGLqEP9yVGqlATG+msD6aLmRSlkWhgjWc7zpD81gYEBdOnSju+/H5LqkbhG9eo1tP/W1HTXVODYv3+3ztr0YWGhDB8+kL59u3H69D951PJ3kpKSOHky7SC4V69ecvPmNUD3IM2U8vqcvviiLjY2BXjy5BFBQYFcunQemUxGy5at0qyraeupUyd48yYszfL4+HgOHlRPWpGycoUkxU15ZuNjcqpSpSpYWVkRFRXJhQtn0yyPjHzL+fNpX8/M8OE/AOqqJ5qbDl2ioqKYN09dtrB06bJpKnekpO7Ni/133XJpliclJWkn1Ul5c3DixFF69/6WmTOnpNlGJpNRubL6b6by386QnHyH9KV27boA7Nqlu2rX8+fPGD58AL16dUk3SMsuzQ2f7puReM6cUc/ip6tMZEoNGzbGykr9hO/96b41FWcOHz5AZOTbdPdx4MAeACwsLNP0vrq7l6ZFC3XJt7lzf9MG3rpcvXpZO3aiR48+uRrLlRsNG6pvAq5cuUhoaGia5Zr3Kb3yi+8zMDBg4cJ5rFixRDtpTEp3797Gw+Mu1tY2NGnSXPv6ixfPWbhwLsuWLdT5W7J+vbqk49dff5Numq5mfMLHujnJiRxfdQsLCxQKRZZKr+SWZjbDc+fO8fp12i/hjh3qWZeyU+Ju//792mC6RYsWLF++HDOzDzSQUJ/+rfKBCKg/OpVKRWxyDOEJ6j+KUomUgiaFKGpejEKmhZH/hwJpDWdnF8qUKYdCoWD69J+1j09B/Uh3xYolgHrmLnNzddWRDh06U6CALc+ePWXq1AmpSl36+/sxduwPxMfH4+DgSLNmGc+kpi8LF85P1cv16tVLJkwYjUKhoH79htoJUNKT1+dkYGBA8+ZfoVKpWLx4Pm/fvqVGjVo6pxdu3LgZRYsWIzo6mrFjf9BO9gDqHrmJE8cSGOiPnZ09nTt31S5LmU+sa7IFfZDL5XTrpq51/eefs1PNzqhpm666tJmpXr0m7dp1RKVSMXXqRJYuXZgmoLhz5xZDh/bDx8cbU1MzndU2UrK2ttam+mzatC5VD62/vx/jx/+oLXeXsrpUgwaNMDIywtPzBUuX/pXqb6S/vx/bt6t7vb/4Qh3M5uQ7pC89evTB2NiYy5cvMHfu76menjx//pSJE8egUqkoU6Ys1arVyGBPWaeZOVNXgH7+/Fmio6ORSCS0bJlxQC2Xy7XrXL58IdX17tKlOw4Ojrx9+5aRI4fw5EnqpzXx8fFs27ZJW8Kxf//BOiekGTr0ewoVKszLl74MGtSXEyeOpbphjo+PZ+vWTUycOBaVSkXNml+kKS33Ibm5FaVhwyYkJCQwYcJo7U2AQqHg77+Xc/nyRUxNzejYsUuq7ZKTk/H19cHX1ydVKo5cLtdOqvPnn7+lugm6ffsmU6ZMAKBPn36pfj/q12+IubkFvr4+rFixRPueJSYmsnr1Co4cOYiZmRm9e6dfh1vz+Uhv1sdPUY5zqHv06MGCBQv47bff+Pnnn/P0jqx48eK0aNGC48ePM2zYMBYvXoyjoyMKhYLFixdz9uxZzMzM6Nkz9bSzSUlJvHypzsVycHDQDuiIjIxkxowZAFSqVIm5c+dma0rgT0qKsnnCx6EOpGMJSwglThGLFCmWhlbIpDLMDPX7BzCrFiyYk2nZPABTUzPmzl2Yq2P9/PMvDBzYlxs3rtGp0zc4OblgYGCAn99L4uPjsbCwZOzYidr1raysmTVrDj/9NIpz585w6dIFihYtRlJSMq9e+aJQKLC2tmbu3EUZlsrUF1fXIhgYGDB69AjtrH1eXi9QKpWULl2WCRN+znQfVlbW/P77n4wd+2OenVOrVt+wfftm7exxX3/dRud6BgYGzJ49l1GjhvP06WO6du1A0aLFkMlk2gka7O0dmDVrTqryg4UKFcbCwpKoqEj69etJ4cJOTJw4Ve8TpnTp0p379+9x8eJ5hg8fiLOzK6ampnh5vUAqlVK8eEk8PZ9ne5T+6NE/YWZmzpYtG9iyZQPbt2/GwaEg1tZWBAUFaXt/CxUqzIwZv2Wa42pgYEC/foP4668/+eef41y9egknJxdiYqK1NynVqtXk1q3r2nxeExMTLC2tmDhxKlOnTmTLlo3s378HJydn4uPj8ff3Q6FQ4O5emh49emuPld3vkL64uhZh6tSZ/PLLZPbu3cmRIwdwcytGTEwM/v6v/i1568zs2frL3a5R4wukUileXi+IiYlO9TulqT1dtWqNLE0r3rZte7Zv34xCofh35kT14ERTU1P++GMBEyeO4cWLZ/Tv3xN7ewfs7OxJSIjn1auXJCUlIZFIGDBgCB07/k/n/tUT5qxh3Ljv/52NdTJz5vxK4cLOSCQSXr700RZEaNSoKZMnT/tovdMao0aNw9PzOY8fP+R//2uLm1sxQkNDePMmDJlMxowZv6UpuBAS8pru3dU3Apqp6jWGDBmBh8ddXrx4Rpcu7XB1dSM2NkY7MUuXLt3p1OnbVPszNzdn3LhJ/PLLJDZtWsehQ/txdCyIv78f0dFRmJiY8uefC3V2CID6BkAzlfkXX6T/FOlTk+OAukmTJjx8+JBt27Zx7tw5vvjiC4oWLYq5uXmGH6guXbqkuywjU6ZM4enTp3h4eNC0aVNKlixJcHAwoaGhGBgY8Ndff6UZkBgcHMzXX6sfbcyePZsOHToA6h7tqCh1L0hkZCS9evVK97guLi788Ufm5Wo+GjFT4kfzfiAtQYKVoTUFjGyRST/uE4OUE01kRB89Xq6ubqxevZHNm9dz69YN/P1fIZVKKViwEF98UYdu3XqlydcrX74iGzZsZ/v2LVy+fIGXL31RqVQULuxE7dp16datt7YcWl4zMTFlwYKlrFixhAsXzvD6dTAuLq60aPE1Xbp0S1WTNiMVKlTK03MqVqwEpUqV4enTx1haWlGvXtrazxrOzi6sXbuZnTu3ce7c6X8DQAlubsVo2LAxHTp0TjNhhaGhIb/++geLF8/Hx8ebgAB/AgL89B5QGxgY8Ouvc9i3bxeHDx/k5UsfZDIZNWrUol+/wRw4sAdPz+fZrtgkkUgYMmQEjRs349Ch/Xh43CEgIIDXr4MwMzOnSpVqNGjQiFat2uqs7qFL587f4uzswtatG/Hx8cbT8zkWFpbUrPkFrVu3o3Hjpnz7bXv8/F5x+fIF7WPvJk2aY2NTgF27tvPw4X08PV9gYmKCu3tpGjduRseO/0s1S2BOvkP6Ur9+Q9av38b27Zu5fv0q3t5eSCTqfPcvv2zEt9/20GvPuJ2dHVWqVOfWrevcvHmdBg0aA+qgTjPd99dfZ9w7reHq6kaVKtW4c+cWhw7t57vv3tVUL1GiJGvXbubkyWOcOXMKf38/PD1fYGxsjKurGxUrVqZ9+46ZTldvZ2fHypXrOXXqBGfPnuLp0ye8eqX+btva2lG+fEVat26b5SnK81qBArasWrWBjRvXcvbsKby9PTE2NqFu3fr07Pkd5ctXyNb+bGwKsHLlejZsWMP582fw8fHC2NiY6tVr0qHD//jyy4Y6t2vcuCkODo5s2rQWD497vHjxDFtbOxo1akqPHr3TnR4d4P79e8TFxVK6dFlcXd2y1d6PSaLKYbJcmTJlsn8wiYRHjx7l5HCAOv9txYoVHD9+nMDAQExNTalatSqDBw+mcuXKadb38/OjSRN1TlHKgHrw4MGcOXMmS8csWbIkhw4dynZbw8NjclUCLavk/pex2vc/lhgP4n/9Mu9J+5QplUpev36Fg4PLR7/LzwqVSoVvtA+JygQsDa0oYGSLXJaz2cw0pYKE/EtcQ/2YMmUCp0+fZODAoXqfmjkz4hp+GFeuXGLs2O+pXbsuc+b8pbf9iuuX/xkYSPnllykcPXqIqVNnZitFLrsxhIHBJ1I2LydxeG4HulhYWDBmzBjGjBmTpfWdnZ15+jRtfU1N7vR/giblQ+RQ5zlNjnRsciz2Jg5IJOo60jKJDMMcBtKC8DmJjY2lW7eOODu78Ntv89L0fCYkJGhnyMssb13Iv2rXrkupUmW4fv0qISGv0330L3x+YmJiOHPmH5ydXXXOpvopyxcTuwgZ+DflQyJSPvKMSqUiJjmGsIRQ4hVxSJBgbWSDodQQY4OsPToWBEGd22ppacndu7dZvnwRw4f/qE3tCA8P588/ZxEe/gZX1yKfzCN0IW/06zeIceN+YMeOrQwb9n3mGwifhb17dxEfH0/fvv0/ymyHuZGlgLpXr15YW1uzcGHuBi8JeUDkUOep6KTo1IG03IYCRrYYSvPpIFZB+Mh++GEsY8d+z759uzlx4hhOTk4kJSUTEOBHYmIitrZ2/PLLLAwMctzfI+QDderUo0mT5uzevZ2OHbtkaRCi8N8WGRnJhg1rqVmzdpZL+31KshSFXb9+/YNM4CLkQIqZEgX9e5sYQYIiHmu5DUUtiuNoUlAE04KQC1WrVmfTpp106vQtjo6O+Pv7ExISjLOzC716fce6dVsoWbLUx26m8AGMHq2eTn3VqqUfuynCJ2DjxrUolUp++mnyx25KjogugHxOM7GLqEOde+rUjmiikqIoaFIIiUSCvbEDDhJHEUQLgh4VKlSYH37I2lgY4b/L0tKK/fuPf+xmCJ+IYcO+5/vvf8y3A0tFQJ3faSZ2+chl2vIzTSAdGh9KgjIeCVJsjApgLDPOcdUOQRAEQRA+HyKgzu9EDnWuRCdFpQ6k5QUoYFQAA9EjLQiCIAhCFomAOr8TU4/nSmxyLInKxH8DaVsMpOIrIQiCIAhC9mQ5ekhISGDfvn25PmC7du1yvQ/hHYny3xxqkfKRKZVKRXRSFBGJETiZOSGVyChgZCsCaUEQBEEQciXLUUR0dDQTJkzI1cEkEokIqPVNm/IhAur0aALpsIRQEpQJSJESr0jA1MBUBNKCIAiCIORatqKJ3M50KOifStNDLXKodYpOiiIkPoTEfwPpAnJbbIwKiEBaEARBEAS9yXJUYWNjw86dO/OyLUIOqJQih/p9KpUKiUQCQKIyiWRlkgikBUEQBEHIM1mOLqRSKU5OTnnZFiEHVMpk9T9EDjUqlYqopEjeJLzBycwZQ6kh1nJrLA0tRSAtCIIgCEKeEVFGPqf8t4da0yP7OVKpVEQmRfImIZREZSJSpCQoEjCUGiKVSJGKdBhBEARBEPKQCKjzuXc51J9nD3V0UjQh8cH/BtIybI3ssJEXQCZ67AVBEARB+EBEQJ3PaVI+JJ9RAJkyR1qFimSlQgTSgiAIgiB8NCKgzue0gxI/g0BSndrxlrCEMAqZFMbEwARzA3OKWRQXgTQQGBhA585tMlxHLpdjbW1D8eIlaNOmPfXrN/wwjcuhLVs2snTpX1SuXJXFi1d+7ObkWFJSEmfO/MP582d4+vQpYWGhSCRgbW1DqVJlqF+/Ac2atcTA4L//k/zrr9M4evQQHTp0ZtSo8R+7OYIgCHqRpV/v2bNnY2RklNdtEXJAhbqUoeQ/nCesUql4m/SWN/FhJKkSkUlkJCuTABMkEgmyzzTdJSPFihXHzMw8zeuxsTG8fOnLlSuXuHLlEt9+24Phw3/48A38jNy+fZPZs6cTGBgAgLm5Oc7OzhgYGBIUFMj582c4f/4M69evYdasORQrVvwjt1gQBEHIriwF1O3bt8/rdgg5pCkNLv2PjkmMSYohOC6QJFUSMokMOyN7rOU2okc6Ez/8MJaqVavrXBYVFcWiRfM4cuQg27Ztok6deumuK+TO+fNn+fnn8SgUCsqVq0D//oOpWrU6Mpn686tUKrl9+yaLFy/gxYtnjBgxkPXrt2FnZ/+RW553Bg0aTo8efbCwsPjYTREEQdCb/2635mdCqdL0UH/khuiRUqXUTiIkk8hQosTOyJ6i5sWxNbYTwXQuWVhYMHbsRFxdiwBw4MDej9yi/6bg4CBmzJiCQqGgRYuvWLr0b2rUqKUNpkFdjrR69ZosXfo3xYuX5O3btyxbtvAjtjrv2dnZUaSIGwUK2H7spgiCIOiNCKjzOU0Ptew/EFEnKhKJTY7FN9qb6KQoAIwNjClmUUIE0npmaGhI9eo1AfD29vrIrflvWr16BXFxsbi4uDJu3ORUgfT7TE1NGTHiRwDOnDlFdHT0h2qmIAiCoAf//REw/3GayeDzcx3qREUiR/0OstNrG2OKjMEcG5S8m+Ze1JHOG+8+M6o0y2JjY9m/fw+XLp3Hx8eLqKgoTExMcHZ2pUGDRnTu3BVjY2Pt+poBkU5Ozmzduoc9e3Zw5MhBXr70xcDAgDJlytGlS3e++KKOzrZcuXKJHTu28Pz5UxISEilbthx9+vTPsP1JSUkcOLCXf/45hqenJ8nJSTg4OFKrVm26du1FwYIFU61/5MhBZs36hbZtOzBw4FDWrv2b8+fPEBERjp2dPc2bf0WfPv0xMDDg0qULbNmygWfPngJQtmx5BgwYQvnyFbL03sbERPPPPycA6NatV5bGoFSrVoP27TtToUIlDA3f/TSvXr2CtWtXUadOPf74Y0Ga7TTnVbRoMTZu3JFm+fXrV9m9ezsPHz4gOjoKG5sCVK1ane7de1GsWIk068fGxrJjxxYuXTqPv78/CQnx2Ns7Ur16Db79tgfOzi6p1lepVBw7dphjxw7j6+vD27cRWFlZU758BTp0+F+adCJdgxJz+/m5cOEsO3duw8vrBQkJibi7l6Jbt16YmJgwcuTgfD+oVRCET58IqPM5TcpHfs2h9nhzl5l3pxIaH4KDkQMWhhYUMS+KgczwYzftPy0xMZGLF88DUKZMuVTLQkNDGTlykDaYcXZ2wcHBkcDAQJ48ecSTJ4+4fPkCixevStPrqlSqmDx5POfPn8HS0gpXVzdevXrJjRvXuHHjGpMmTeOrr1qn2kYTMAI4ODji6FiI+/c9+P77IVSoUEln+yMj3/Ljj8N5+vQxAC4urpiamuHt7cXu3Ts4evQwM2f+Ts2aX6TZNiQkhO++68Hr18G4uRVFJpMREODPunV/8/p1MEWKuLFs2SIsLCxxcXHBx8eHW7euc//+Pdas2YSbW9FM399bt26SmJiARCKhTp16ma4P6huc0aP1W/ViwYI/2bVrG6CuKFKihDv+/n4cP36EU6dOMGHCFFq0+Fq7fkJCAiNGDOLp08faay+Xy3n16iX79u3m+PGjLFq0nNKly2q3mTfvD/bu3QlA4cJOFC9ekqCgAM6ePc3Zs6cZM+Yn2rXrlKX25uTzs3jxArZt2wSAo2NBHBwK8ujRA8aP/5H69Rvk6v0TBEHIKhFQ53NK7aDE/BNRJyoSUAFGMiMKmzohk8gYXHo4rZ3bEvkmFKmo2pGnQkNDmTt3NsHBQcjlcv73v26pli9ePJ+XL32pUKEiv/46R5vrqlAo2LdvF/Pnz+H+fQ9u3LiWpscwMNCfsLAQfvppMq1atUUikRATE82kSeO4efM6K1YsoWXLVtre8du3b7J2rTowHzt2Iq1btwXg7dsIpk+fwrVrl3Wew7Rpk3j69DGFCjkxY8ZvlC5dBlAPuJw373dOnjzG5MnjWbt2M05Ozqm2vXz5AgULFmLduq0UL67uoV27dhWrV6/g6NFDAAwYMISePfsilUoJCXnN0KEDCAz0Z/fuHVkKep8/V/ds29s7YGtrl+n6eWH37h3s2rWNAgVsGTduEvXqfQlAcnIy27dvZvnyxcyePZ2iRYvh7l4agMOHD/D06WNcXYuwYMFSHBwcAfX7OnXqRK5fv8KyZYv566+lgDpdaO/encjlRsyfv5hKlapoj7F69Qo2blzL0qWLaNmydaonGunJ7ufn3LkzbNu2CUNDQyZMmErz5i0BCA9/w/TpP3Phwjn9vqmCIAjpEAF1PpefcqgTFAkcermPbV6b6Vi0C98W646dsT2bGu5UDz5UKonM4r76nu+u8/WZ1X7HycwZ/xg/Jt/SHfis/XIzADdCrrL08aI0ywubOvFr9T8A2Oezm/0v96RZp7pdTYaV/R6AJY/+4mbo9TTrtHXtQDu3jgBMujmOgFh/ne3ICwsWzElTNk+hUPD2bQQBAf6oVCrMzMyYPPmXVGXaEhIS8PC4C8DYsRNTDRyTyWR07NiFAwf24en5HC8vT52P4Lt160Xr1u20/29mZs6QISPp168HoaEhBAT4a4PcjRvXAtCp07faYBrAysqaGTN+o2vXDoSFhabav4fHXa5fv4pMJuOPP+ZTtGgx7TILCwt+/nk6AQH+PHx4n40b1/LTTz+naePo0T9pg2l1m3uybt3fKBQK6tatT+/e/bTL7O0daNXqG/7+ezkvXjxN+2br8OZNGAC2th9n4F1iYiLr1v0NwC+/zKJKlWraZQYGBnTv3hs/v1ccPLiPDRvWMHOm+vPu6fkcgFq16miDaVC/ryNG/MiiRSpcXd20r2vWd3Utog2mNccYMGAInp7Psba24e3bCIyNU6fgpCc7nx/Nk43vvhuoDaYBbGwK8Ouvf9C9e2dCQl5n6biCIAi5IQLqfE5TDeNTTjOOV8Rz8OU+tntt5k1CGAWMbLEytNIuF3Wk9c/LyzPdZVWrVueLL+rw1VffYGNjk2qZkZERe/YcJiEhHiOjtD2KycnJ2nJnCQnxOvdft279NK+5ublp/x0bGwtAfHw8d+/eBkjzGB/UA/WaNWupfZyvcfnyRQCqVauZKpjWkEqldO78LQ8f3ufSpQtplsvlRtSoUSvVa0ZGxlhb2xAWFkrNmrXTbKO5sYiJiUmzTBflv4+OVGnT07W6dGmHv7+fzmV9+w6gX79BWTqWLg8eeBAe/gY7O/tUwXRKzZt/xcGD+7h27QrJycn/pni4Auqeaje3ojRq1ARLS/V3tWjRYsybtzjVPjTrv3jxjKVLF9KuXUcKF3YC1NdBV853ZrL6+QkODuLFi2dIJBLatu2QZhtTUzO++qo1GzasyXYbBEEQsksE1Pncp55D/eztUybcGE144htsjewYXvYHWrm0xUiWu4mCMuvddTJzznSdGvZfsNY+bY5tSu3cOmp7mdOj6anOiKbH+0NZuHC5djBYcnIyT548Ztmyhdy7d4eQkNfUqPFFmmA6JSMjY0JDQ3j48D4vX74kIMAPHx8vnj9/Rny8OpBWambpfI+9vYPO/WkoFAoAgoICSUpKQiKRpJuXXLKke5rXXr3yBaBUqdLptr9UKXUKSHj4G6KjozE3f9dbb2trq3NGQkNDdd6+tXXa90WzviqjCDkFa2tr4F1PtS6lS5dJUzrOx8ebqKisPqdJn7e3+oYqOjqKIUP66VwnKSkJgLi4OEJDQyhYsBCtW7flwIE9vHr1kjlzZjFv3u+UKlWGL76oQ926X6Z5z0uXLkPjxs04ffokW7ZsYMuWDbi4uFKrVm3q1KlP1arVsz37Y1Y/Pz4+3tr1NUH/+zL6jAiCIOiTCKjzOc2fdymfTkQdlxxHkjIJS7klRczdsDd2oEeJPrRy+QZ5LgNpIfsMDAwoX74C8+cvYeTIwTx44MGPPw5l6dLV2lrUKYWEvGbRovmcO3daG7wAWFhYUr16TXx9fXj16mUGx8tsQKn6U6sJHA0N5ekGXebmaSf/0PQSm5mZpXsEU1NT7b9jY2NSBdSZ5fJK9XB3WrSoOo0mLCyUqKgonZOY/PLL7DSvjRv3g7YHPjc0Zffi4+O5f/9elte3sLBg1aoNbNq0jpMnjxEcHMSjRw949OgBa9aspGjRYowZMyFVese0ab9StWo1DhzYx7NnT3j16iWvXr1k167tWFvb0L//YNq1y/imNKWsfn7evn0LgImJSbprmpqm/xkRBEHQJxFQ53PamRI/gS7quORY9vvuYYf3FhoUasL35UZjJDNiWd3V+bqs33+FXC5n2rRZ9OnzLREREUyZMoGVK9chl8u16yQkJPD990N4+dIXBwdH2rRpT6lSZShatBgFCxYCYNSo4RkG1Fml6VVMTEzQphy8LyEhIc1rmiApo/SLmJh3dZw/RlClmcBFoVBw8eI5nSkt2ZVe77jmiUFKmiCzWrWa2gGEWWVubs7gwcMZPHg4Xl6e3L59Q1tlw9vbi9GjR7Bly25tjrVUKqVdu060a9eJ0NAQbt68zq1bN7hy5SIREeH8+edsbGwK0KBBo2yeccZMTNQ3RpoUEF3i4uL0ekxBEIT0fMKZt0JWqLQpHx8vYI1NjmGL5wa6ne3EyqdLkUuNKGn57lG9CKY/HQULFmTYsB8Add6rZlCXxoULZ3n50hdLSytWr95Enz79qV27rjaYBnj9Wj+DvAoWLIhcbqRtiy6a1IWUNL3qT58+SXffT56ol1lbW6fqnf5QbGxsaNiwMQCbN2/QeWOQVZrShImJiTqXh4aGpHnNxUX9Hvn6eqe738jISO7cuUVQUKD2dyQ8PJx79+4SEREBQLFixenU6Vt+/30+W7bsxtramvj4eC5cOAuog9mnT5/w8qUPAHZ29rRs2YpJk6axe/dhKleuCsDJk0ezedaZ0zwFCAl5zdu3ETrX0QyaFARByGsioM7nNFmsHytm9Y/xo9uZTvz9dDlGUiN+LD+ODQ2287XLNx+nQUKmvvmmnTbQ2bp1Y6qZEgMDAwB1sKsrx/rBAw98fNTrp0wHyQkjI2Nq1VLnsO/duyvN8sTERE6ePJbmdU1d51u3ruuc5VGpVLJnj3qCk1q10g4w/FAGDx6BiYkpPj5e/P77zHQDYg1vby9evEgbAFpYWALw8qVvmrx1pVLJlStpU0QqVaqCmZkZoaEhnD17Sufx1q9fzYgRgxgxYpB2vxMnjmHYsP7a8oEpFSxYCCcn9aQuCoV6/U2b1tGvXw8WL/4rzfpGRkaUL18x1fr65Ozsoh2UeuRI2vYmJSVx/Lj+A3lBEARdRECdz2l6lmQfMKCOSYohOC4IUJeYq1CgIqPKj2Njwx1849oOuUyeyR6Ej23MmAkYGhqSnJzM3Lm/aT9HLi6aqg3PUwViSqWS8+fPMmHCGO1r6VX5yI7vvhuITCbj8OEDbN68XhvYxcREM2PGFPz8XqXZpmLFytSoUQuFQsG4cT/y5Mlj7bLo6Gh+/XUaDx54YGJiSu/eGc+2mJcKFSrM9OmzkcuNOHHiKAMH9uHs2VPawYAaz58/5c8/Z/Pdd915/ToYmUym7WEGtPnKISGv2bBhTar3aM6cWTx/nrZ339TUlK5dewLw228zOHfujHaZQqFg585t7NixBYCuXXtqe8GbN/8KgHXrVnH79s1U+zx69BCPHz9EKpVqJ8xp2rQFUqmUy5cvsGPH1lQ3WU+fPuHQof0A6c5wmFt9+gwA4O+/l6X6vEZHRzN9+s/4+eU+NUkQBCErRA51PqeZ2OVDpFVEJ0Wz12cnu3y2Uc66ArNq/IlEImFGtd/z/NiCfrm5FeXbb3uwceNa7t69zZEjB2nVqg316jWgTJmyPH78iMmTx1OoUGGsrKwJCgogIiICudyIChUqcv++h15SP0qWLMXYsROYM2c2y5YtYvv2LTg6OuLj401cXBz16zfUphekNGXKTMaMGcnTp4/p379nqpkSExMTMDe3YOrUGToHXX5ItWvXZenSVcyePYMXL54xefJ4jIyMKFiwEEZGxrx+HUxERLh2/Ro1ajFs2A+UKFFS+1qJEiVp1qwlJ08e4++/l7Nv324KFLDl5UsfEhMT+e67gaxZk3Za7V69vuPVq5ccP36ESZPGYmdnj52dvfZaArRv35kOHTprt2nbtgNXrlzk8uWLjBw5GAcHRwoUsCUk5LW2HviAAUO0VVmKFSvOwIFDWb58MQsXzmXdur8pVKgw0dFR2pKAX3xRh1at2uj9vQVo0qQZ9+7dZs+enUyePB5Hx4LY2BTAx8eLhIQESpUqw9Onj5HJxJ86QRDylviVyee0gxLzMJ6OTopij89OdnlvJzo5ikImhalfsCEqlUrkR+djffr049SpEwQE+LN06V/Urfsl1tbWLFq0km3bNnHmzD8EBPgTFhaGg4MD9es34ttvu/P2bQRDh/bn1q0b6darzo7Wrdvh5laczZvX8/Dhfby8PClWrAS9evVFpUJnQG1jY8OyZas5cGAPJ08ex9vbi9evgylUqBB169anY8cuODpmbSKRvFa6dFnWrdvClSuXOHPmHx4+vE9wcBDJyclYWVlRsWJlqlSpRpMmzVNNspPSpEnTKFOmHEePHsTX15eEhASqVq1Oz559sbEpoDOglkql/PzzdBo1asKBA3t59Oghz58/xczMnBo1atGmTXsaNWqaZpuZM9VTiZ86dRJfX2/CwkKxtrbmyy8b0bHj/6hWrUaqbXr06IOLiyv79+/l2bMnvHjxDFNTMypXrkqLFl/TqlUbpNK8exg6atR4ypevxN69O3jx4gWRkW8pXbosvXv348mTRzx9+hhjY1FdSBCEvCVRZbWwqpAt4eExJCfrP2/wfYGnFlDxyZ8crrKGmnWa633/bxMj6Hm2C9HJURQ2daJ78d40c2qJgVT/92JKpZLXr1/h4OCSp3+AP0UGBtIP8nkR8o64hp+epUsXsmXLBr75pj3jx0/KdH1xDfM3cf3yv9xcw+zGEAYGUmxs9FcFSvRQ53MqNDMl6q+nOCopktD4EIpaFMdKbk0zpxa4W5WmaeHmyPIgkBYEQciJ7t07YWlpycSJ07T5/yldu3YFgFKlSn3opgmC8Jn5vLoB/4P0mfIRmRjJmmcr6XamIzPvTEWpUt8ljig3ihbOX4tgWhCET4qTkwv373uwdOlfREa+m2EyNjaGuXN/x9PzOdbWNmlSWwRBEPRNREj5nGZQYm5mSnyb+JZd3lvZ67uL2ORYnM1c+bZ4D23vtyAIwqdoyJARPHzowYUL57h27StcXNRl/fz9/YiPj8fMzIypU2dgZWX9cRsqCMJ/Xr4KqKOjo1m2bBnHjx8nKCgIS0tLqlevzuDBgylbtmyO9nn58mVWrVqFh4cHycnJuLq60rZtW3r37o2hYWZT4H582oldcvisIUGRQJ/zXXmbGIGLmSs/lvuOhoWbIJPI9NhKQRAE/StatBibNu1k167tXLp0gaCgQBSKZOztHfjii7p06tQFJyfnj91MQRA+A/lmUGJ0dDTdu3fnyZMnGBsbU7x4cYKCgggLC8PQ0JAFCxbQtGn2Huvt27eP8ePHA+Dk5ISFhQXPnj1DqVRSrVo11q1LPS1zdnyoQYm+x+dR/cU8TtdaT4XqTbK0TURCOL4xPlQqoK5vu81rM/bG9jQs9HEDaTEoUQymyc/ENcz/xDXM38T1y//y86DEfBO1TJ06lSdPnlCjRg3OnDnDnj17uHDhAkOHDiUpKYmxY8cSGhqa5f29ePGCyZMnI5PJmDt3LqdPn2b//v0cOnQIFxcXbt26xYIFC/LuhPRE87HLytTj4QlvWPFkCd3OduKX25OIS44D4Nti3WlSuLnolRYEQRAEQciBfBFQ+/r6cuTIEeRyOXPnzqVAgQIAyGQyvv/+exo2bEhsbCzr16/P8j5XrVpFUlISXbt2pXXr1trXixcvzrx58wDYvHkzb9++1e/J6JnmAUNG9aDDE96w/PFiup/txHavzRQyKcTIcmMwkonarIIgCIIgCLmVLwLqAwcOoFQqqVevHo6OjmmWd+nSBYAjR45kaX8JCQkcPXoUgI4dO6ZZXrFiRcqVK0d8fDxnzpxJs/xToknYSW/qcaVKyfArA9nhvYXCpk5MrTKTVfU30LBQY6SSfHH5BUEQBEEQPmn5YlDi3bt3AahSpYrO5ZrX/fz8CAoKomDBjGdIe/ToEQkJCZiYmFC6dOl09/nw4UNu3LhBu3btctz2vKbU1KFOEVC/SQjjwRsPvizUCKlEynclB2Iok1PP8UsRRAuCIAiCIOhZvgiofX19AXB1TVu4H9TTEJuamhIbG4uvr2+mAbVmf87OzukmrhcuXBiAly9f5rTZH4Ty3yRqmURCWHwoW702cejlPlSoKGtTHjtje5o46X8GxbyVL8bJCoIgCILwyfi4sUO+CKjDwsIAdeCcHmtra2JjYwkPD890f2/evMnS/oAs7e9jUgHBMhnb3h7k/NlpJCkTKWHpTu+S/bA1svvYzcsWTR64UqlEKhUDJAVBEARByBqlUglIMhxTlpfyRUAdHx8PgJFR+oPoNMs062YkLk5d3SKjknjGxsZZ3l96Psg1VakY5WCHR/QV3K1K07vkd9R2qPvRPlC5IZFIkMuNSUiIw8Dg068BLgiCIAjCpyEhIQ653AipPqaOzoF8EVDLZDKUSmWGQeK7CU4yzxHWrKOv/emiz9qGGXH9oi0tTt6gd+ORNCvRMl8G0ikZGCgICnqNubk5Mlm++HjqjYGByG/P78Q1zP/ENczfxPXL/3JyDRWKZOLjYyhY0AFra4s8aFXm8kXEYmJiQlJSEgkJCemuk5iYCLzrWc6IqakpQIb70yzLqFc8I+HhMSgUeV9g3tzBnV4jjxIWFkVYWHSeHy+vqVRSDAzkvH4diKmpBUZGJv/e1OTvG4XMiAkJ8j9xDfM/cQ3zN3H98r/sXUMVSqWShIQ4YmOjkMuNSUqSEhoalaWtZTL9TuySLwJqGxsbIiMjiYiISHcdzTJNjerM9pdym9zuLz0fcg5KlerDHi/vSLC0LEBcXAzx8TFERUXwsQcafAhSqfTf/C8hvxLXMP8T1zB/E9cv/8v+NZQglxthZmaFiYkZIPlosVC+CKiLFSuGr68v/v7+Ope/efOG2NhYAIoUKZLp/ooXLw5AQEBAuutojpWV/Qn6JZFIMDU1x9TUHJVKpU2/+a+SSMDW1pywsOj/yE3R50dcw/xPXMP8TVy//C8n11Ai+XiDEN+XLwLqihUrcubMGe7cuUPfvn3TLL9z5w4ATk5O2NvbZ7q/EiVKYGpqSnR0NM+fP6dkyZLp7jO92tfCh/EpfVnyikSiHicglUrFH4J8SlzD/E9cw/xNXL/8L79fw3yRvd+iRQsAzp07x+vXr9Ms37FjBwBt27bN0v6MjIxo2LBhqm1T8vDw4NGjR5iZmdGkSZMctloQBEEQBEH4HOSLgLp48eK0aNGC+Ph4hg0bRnBwMAAKhYK//vqLs2fPYmZmRs+ePVNtl5SUhKenJ56enkRFpU5SHzRoEDKZjE2bNrFz507t656enowaNQqA7t27Y2lpmcdnJwiCIAiCIORnElU+SVANDQ2le/fu+Pj4IJfLKVmyJMHBwYSGhmJgYMDy5cupX79+qm38/Py0PcyzZ8+mQ4cOqZavW7eO2bNnA+qZEa2srHj27BkKhYJatWqxevVqDA1zVg85PDzmg4w2lkjAzs6C0NCofPmIRBDX8L9AXMP8T1zD/E1cv/zvQ19DAwP9VvnIFz3UAHZ2duzatYsBAwZQsGBBnj17RlJSEo0aNWLz5s1pgums6NOnD2vWrKFevXpERUXx4sULXF1dGTFiBKtWrcpxMC0IgiAIgiB8PvJND3V+I3qohawS1zD/E9cw/xPXMH8T1y//Ez3UgiAIgiAIgvAZEwG1IAiCIAiCIOSCCKgFQRAEQRAEIRfyxcQu+ZFM9mHvVT708QT9E9cw/xPXMP8T1zB/E9cv//tQ11DfxxGDEgVBEARBEAQhF8StnCAIgiAIgiDkggioBUEQBEEQBCEXREAtCIIgCIIgCLkgAmpBEARBEARByAURUAuCIAiCIAhCLoiAWhAEQRAEQRByQQTUgiAIgiAIgpALIqAWBEEQBEEQhFwQAbUgCIIgCIIg5IIIqAVBEARBEAQhF0RALQiCIAiCIAi5YPCxGyC8Ex0dzbJlyzh+/DhBQUFYWlpSvXp1Bg8eTNmyZXO0z8uXL7Nq1So8PDxITk7G1dWVtm3b0rt3bwwNDfV8BoK+r6FSqWTv3r3s27ePJ0+eEBcXR4ECBahRowb9+/enTJkyeXAWn7e8+B6+b/z48ezbt4/hw4czYsQIvexTeCcvrmFAQAArVqzg4sWLBAcHY2ZmRpUqVRgwYADVqlXT8xl83vLi+h0+fJitW7fy+PFjEhISKFy4MA0bNmTQoEHY2trq+QwEXX7//XfWrFnDrl27qFChQra3/9TjGYlKpVJ97EYI6h+Q7t278+TJE4yNjSlevDhBQUGEhYVhaGjIggULaNq0abb2uW/fPsaPHw+Ak5MTFhYWPHv2DKVSSbVq1Vi3bh1yuTwvTuezpO9rmJiYyLBhwzh//jwAtra22Nvb4+vrS1xcHIaGhsyaNYs2bdrk1Sl9dvLie/i+s2fPMmjQIAARUOeBvLiGV69eZciQIcTGxmJhYYGLiwu+vr7ExMQglUqZPXs27dq1y5sT+szkxfWbOnUq27ZtA8De3h4bGxu8vb1JSkrC3t6eTZs24ebmlgdnI2icOXOGYcOGoVAochRQ54t4RiV8EkaNGqVyd3dXde/eXRUWFqZSqVSq5ORk1YIFC1Tu7u6qypUrq0JCQrK8v+fPn6vKlSunKlOmjOrgwYPa11+8eKFq0qSJyt3dXfX777/r/Tw+Z/q+hvPmzVO5u7uratasqTp79qz29bi4ONWMGTNU7u7uqnLlyqk8PT31fi6fK31fw/dFRkaq6tevr3J3d1e5u7urFi5cqK+mC//S9zUMDg5WVatWTeXu7q76+eefVbGxsSqVSqVKSEhQTZ06VeXu7q6qVKmSKjg4OE/O53Oj7+t3/Phxlbu7u6pMmTKqvXv3al8PDAxUde7cWeXu7q5q3769vk9DSOH48eOqChUqaH/3PDw8srV9folnRA71J8DX15cjR44gl8uZO3cuBQoUAEAmk/H999/TsGFDYmNjWb9+fZb3uWrVKpKSkujatSutW7fWvl68eHHmzZsHwObNm3n79q1+T+Yzpe9rmJiYyJYtWwCYMGECDRo00C4zNjZm0qRJ1KxZk6SkJO16Qu7kxffwfbNmzSI4OBhjY2N9NVtIIS+u4aJFi4iKiqJBgwZMnz4dExMTAORyOVOmTKFYsWLExcVx+PDhPDmnz0leXL99+/YB0LFjx1RPEQoWLMjcuXMBePjwIU+ePNHbeQhq0dHRzJo1ixEjRpCQkJDj/eSXeEYE1J+AAwcOoFQqqVevHo6OjmmWd+nSBYAjR45kaX8JCQkcPXoUUP+IvK9ixYqUK1eO+Ph4zpw5k4uWCxr6voZPnjwhMjISiURCixYt0iyXSCQ0atQIgAcPHuSi5YKGvq/h+86fP8+ePXv44osvqFWrVq7aKuim72uYmJio/S0dN25cmuVSqZSxY8cyduzYHOWECqnlxXcwKCgIgNKlS6dZ5uLigrW1NQCBgYE5aLGQnidPntCiRQvWr1+PkZERv/76a472k5/iGRFQfwLu3r0LQJUqVXQu17zu5+en/XHIyKNHj0hISMDExETnj0jKfd64cSMHLRbep+9r6OLiwpIlS5gxY4a2R+x9sbGxgHrgopB7+r6GKUVHRzNlyhRMTEyYOXMmEokkV20VdNP3NfTw8CAqKgo3NzdKlCihc53GjRvTv39/qlevnrNGC1p58R0sWLAgoP67+L7g4GAiIiIAKFy4cDZbK2TEz8+P0NBQ6tSpw759++jUqVOO9pOf4hlR5eMT4OvrC4Crq6vO5TY2NpiamhIbG4uvr6/2ByKz/Tk7OyOV6r5n0vx4vHz5MqfNFlLQ9zW0sbHJcOCNSqXi9OnTAOn+oReyR9/XMKXffvuNwMBAJk6ciIuLi17aK6Sl72v47Nkz4N137MGDB+zbtw9vb2/kcjk1atTgf//7H+bm5no8i89XXnwHu3TpwqlTp9i7dy9ffPEF33zzDQBhYWGMGTMGgFq1alGqVCk9nYUA6mu4fv16vvjii1ztJz/FMyKg/gSEhYUB6h+L9FhbWxMbG0t4eHim+3vz5k2W9gdkaX9C5vR9DTOzd+9eHj58CEDbtm1zvT8h767hpUuX2LlzJ1WqVKFnz565bqeQPn1fQ00agI2NDfPmzWPlypWoUhTGOn36NOvXr2flypUiINODvPgONmjQgF9//ZU5c+YwZswY/vjjDwoUKIC3tzeJiYm0bNmSGTNm6KX9wjvu7u562U9+imdEyscnID4+HgAjI6N019Es06ybkbi4OIAMS8hoBkVlZX9C5vR9DTNy584dpk+fDqgfN4t8XP3Ii2sYHR3N5MmTkcvl/Prrr+n2sAj6oe9rGBMTA8A///zDihUr6Ny5M//88w/3799n+/btVKxYkaCgIAYNGkRkZKQezuDzlle/o4UKFaJo0aIAvH79midPnpCQkIChoSH29vYoFIpctFrIS/kpnhG/7p8AmUwGkGFepaZXJCt/kDXr6Gt/Qub0fQ3Tc/v2bQYMGEBcXBzOzs7MmjUrx/sSUsuLa/jHH38QEBDA8OHDKV68eO4bKWRI39dQ8wc6PDyc1q1bM2PGDFxcXJDL5VSuXJnVq1djY2NDYGAgGzdu1MMZfN7y4ju4bds2+vXrx6NHj5gwYQKXL1/m/v37bNy4kZIlS7Jx40Z69+4tbog+UfkpnhHR1CdAM+gso7IyiYmJAFkqt2Vqaprp/jTLMuoJELJO39dQl7Nnz9KvXz+ioqIoWLAga9euzfAxmJA9+r6GV65cYceOHZQtW5Z+/frpp5FChvR9DVMOCB4+fHia5ZaWlvTo0QNQfz+F3NH39Xvz5g2///47KpWKKVOm0KdPH2xtbZHL5dSsWZNNmzZRrFgxnj59ypo1a/RzEoJe5ad4RgTUnwBNUKQZbayLZpmmLueH3J+Qubx+z7dt28bQoUOJjY3F1dWVzZs3pztwR8gZfV7DmJgYJk2ahEwmY9asWRgYiOEqH4K+v4cWFhaAOnhLbyY9zYBFPz+/rDdU0Enf1+/SpUvExsbi4OCgs8qEqakp3333HQDHjh3LfoOFPJef4hkRUH8CihUrBoC/v7/O5W/evNGWSCtSpEim+9M8Wg4ICEh3Hc2xsrI/IXP6voYpzZ8/n6lTp6JQKChfvjzbtm3D2dk5dw0W0tDnNXzw4AH+/v4kJyfTrl07SpUqleo/TW/m4sWLKVWqFI0bN9bfiXzG9P091OxPpVKl+8hZk6ZgaGiY7fYKqen7+mkGlWr2m9ExM/p7KXw8+SmeEQH1J6BixYqAerCZLprXnZycsLe3z3R/JUqUwNTUlOjoaJ4/f57hPtOr9ylkj76vocb8+fNZvnw5APXq1WPDhg3Y2trmsrWCLvq8hhYWFlStWjXd/6ysrAD1YKmqVatSvnx5PZ7J50vf38NKlSoB6kfK6c2k5+3tDaRf6k3IOn1fP005w9evX6e7jiZQE6UPP035KZ4RAfUnQDMT3rlz53R+8Xfs2AFkvTyakZERDRs2TLVtSh4eHjx69AgzMzOaNGmSw1YLKen7GgLs379fG0y3aNGC5cuXY2ZmpofWCrro8xqWLVuWrVu3pvuf5oe/Y8eObN26lYULF+rxTD5f+v4eFilSRHuzo2u668TERLZt2wZAs2bNctRm4R19Xz9NBSQvLy9u3rypcx3N1OSiWtKnKT/FMyKg/gQUL16cFi1aEB8fz7BhwwgODgZAoVDw119/cfbsWczMzNLUsE1KSsLT0xNPT0+ioqJSLRs0aBAymYxNmzaxc+dO7euenp6MGjUKgO7du2NpaZnHZ/d50Pc1jIyM1NZGrVSpEnPnzhWPlPNYXnwPhQ8rL66hZvKPPXv2sHjxYu2guNjYWCZNmoS/vz+FChXSOS2ykD36vn7FixenZcuWAPz4449cu3ZNuywuLo5ffvmFixcvYmhoyKBBgz7AGQrp+S/EMxJVyir1wkcTGhpK9+7d8fHxQS6XU7JkSYKDgwkNDcXAwIDly5dTv379VNv4+flp78hmz55Nhw4dUi1ft24ds2fPBtQzCVlZWfHs2TMUCgW1atVi9erVIkjTI31ew7///ps5c+YAULRo0Qyrebi4uPDHH3/k0Vl9XvLie6jLoEGDOHv2LMOHD2fEiBF5ci6fq7y4hps3b2bmzJkolUqsrKxwcXHBx8eH6OhorK2tWb58+Ud/3Pxfoe/rFx0dzYABA7h9+zagThcxNzfXTuwil8v5/fff+frrrz/cSX6mNJMf7dq1iwoVKqRa9l+IZ8TQ80+EnZ0du3btYsWKFRw/fpxnz55hampKo0aNGDx4MJUrV872Pvv06UPJkiVZs2YN9+7dIyQkBFdXV1q3bs2AAQM++ofvv0af1zDl40lvb29tnqYuoldUf/Lieyh8WHlxDbt3706lSpVYvXo1N27c4NmzZzg4ONCmTRv69++Pk5OT/k/kM6Xv62dubs6GDRvYtWsX+/fv5/nz57x+/Rp7e3tq165Nv379RI34fCA/xDOih1oQBEEQBEEQckHkUAuCIAiCIAhCLoiAWhAEQRAEQRByQQTUgiAIgiAIgpALIqAWBEEQBEEQhFwQAbUgCIIgCIIg5IIIqAVBEARBEAQhF0RALQiCIAiCIAi5IAJqQRAEQRAEQcgFEVALgiAIgiAIQi6IqccFQchzjRs3xt/fP1vbPH36NNfH9fPzo0mTJgCsWrWKL7/8Mtf7zAvXrl2jV69e6S43MDBALpdjb29PuXLlaNmyJc2bN0cikXzAVqb1008/sXfvXipVqsSOHTvSLD927BguLi6UK1dO+1rKcz1y5MgnO+1zZtcEQCqVYmxsjKOjI+XLl6dnz55UqlQpT9pz9epVlEolderUyZP9C4KQOyKgFgThgzEyMsLCwuJjN+OTZmVlhaGhYarXVCoV8fHx+Pr64uvry5EjR/jyyy9ZuHAhJiYmH6ml6YuOjmbIkCFcv36dVatWfezm5JquawKQnJxMVFQU3t7eeHt7c/jwYX766Sd69+6t1+OPGDGCEydOMG3aNBFQC8InSgTUgiB8MF9//TW//fbbx27GJ23RokXUqlVL57Lg4GDmzJnDwYMHOX/+PPPmzWPSpEkfuIXv2NvbU7RoUZycnFK9HhERwfXr13VuY2JiQtGiRQGQy+V53kZ9yOiaxMfHc/bsWWbOnElISAi///47VapUoWLFino7/okTJ/S2L0EQ8obIoRYEQcgnHB0d+eOPP6hatSoA27ZtIyoq6qO1Z/To0Rw7doz58+dneZuKFSty7NgxbTpIfmdsbEzLli1ZuHAhUqkUhULB+vXrP3azBEH4wERALQiCkI9IpVI6duwIQGJiInfv3v24DRIAqFq1qjZX/Pbt2x+5NYIgfGgi5UMQhHwhMTGR/fv3c+rUKR49ekR4eDgymQxbW1uqVatGt27dqFy5cpb3p1KpOHjwIAcPHuT+/ftER0djbm5OyZIladKkCV26dEk3Pzk4OJi1a9dy/vx5/P39kUqlODs706BBA3r37o29vb2ezlq3ggULav/99u3bNMufPn3Kxo0buXr1KsHBwcjlctzc3GjWrBk9evTA3Nxc537Pnj3Lrl27uHv3LuHh4ZiZmeHm5kaDBg3o3r071tbWqdbXNSjx/QGoAwYMAGD48OGMGDFC56DEFStWMG/ePMzMzLh8+TLGxsY62zdjxgw2bdqEu7s7Bw8eTLXMy8uLdevWceXKFYKDgzE0NMTNzY2mTZvSo0ePD5K77+zszP379wkJCdG5PDAwkC1btnDlyhVevXpFdHQ0pqamuLi40LBhQ3r06EGBAgW06/fs2TNV6sy0adOYNm0a7du3T5M6denSJbZt28adO3eIiIjAzMyMsmXL0qZNG9q0aYNMJsubkxYEARABtSAI+UBwcDD9+/fn2bNngLqX1tzcnKioKPz8/PDz8+PgwYPMmjWL9u3bZ2mfY8aM4dChQwBIJBIsLCx4+/Yt169f5/r16+zYsYONGzdia2ubarvTp08zevRoYmNjAfVAS4Bnz57x7NkzduzYwfz586lbt66+Tj+NwMBA7b/t7OxSLVuzZg1z584lOTkZAHNzcxITE3nw4AEPHjxg69atLFu2jLJly6babt68eaxYsUL7/xYWFsTExHDv3j3u3bvH1q1b2bBhA8WKFcuwbTY2NsTGxhIeHg68G9Bnamqa7jbt2rVjwYIFxMTEcPr0ab7++us06yQnJ3PkyBHt+ilt376d6dOna8/Z1NSU5ORk7Tlv27ZN5znrm6+vL4DOG6qjR48ybtw4EhMTAXX+uFwuJzIykocPH/Lw4UP27NnD9u3bcXR0BNTvnZ2dHaGhoYD6WhobG6e6IUpOTmbKlCns3r1b+5qFhQXR0dFcvnyZy5cvs3v3bhYvXpzmhkgQBP0RKR+CIHzyJk6cyLNnz7C2tmbJkiXcv3+fGzducO/ePRYvXoyDgwNKpZLZs2drA5aM/PPPPxw6dAhDQ0Nmz56Nh4cHN27cwMPDg9mzTk8IQQAADzZJREFUZyOXy/H09GThwoWptvPw8GDkyJHExsbSqlUrDh8+zN27d7lz5w4HDx6kUaNGvH37luHDh/PixYs8eS+Sk5PZtm0boA6cqlSpol22d+9efv/9d5KTk2nSpAnHjh3j1q1b3L17l+XLl1OoUCGCgoIYMGAAwcHB2u0ePXrEihUrkEgkjBkzhtu3b3Pz5k08PDxYtmwZVlZWhISEMGvWrEzbt3v3bnbt2qX9/z///JNLly7Rr1+/dLdxdHTUVq84cOCAznUuXrzImzdvkMlktGnTRvv6P//8w5QpU1AoFHTv3p1Tp05x584d7t69y/bt26lSpQpBQUEMHDhQG5jmhcuXL/Po0SMAGjRokGqZn58fP/30E4mJidSvX58jR45w//597ty5w6VLlxg4cCCgvlFKeVOzePFiLl26pP3/MWPGcOnSJSZPnqx9bc6cOezevRsLCwsmTJjA9evXuXnzJnfu3GHhwoU4ODhw48YNvv/+e1QqVZ6dvyB87kRALQjCB3PkyBHq1q2b4X8zZ85MtY2vry8XL14E1I+8mzZtioGB+uGakZERzZo1Y+zYsYA6/cHLyyvTdly+fBmAL7/8kg4dOmirTRgaGtKhQwe+++47jIyM0uxr1qxZJCUl0blzZ+bNm0eJEiWQStU/o+7u7ixdupRq1aoRGxvLggULcv5G6ZCcnMydO3cYNGgQDx48AGDgwIHaHvL4+Hj+/PNPABo2bMiSJUu01TRkMhmNGjVi06ZNWFhYEBoaypIlS7T7vnLlCgClSpViwIABmJmZabdr3LgxY8eOxdDQEH9/f5KSkvR6XhqaJwsXL14kIiIizXJNoF2/fn1tD3BycrI2yP/hhx+YMmUKzs7OgPqpQ+XKlVm7di1FihQhJCQkT0r4hYWFsXnzZkaOHAmAtbU1Q4YMSbXOzp07iY+Px8bGhkWLFqWqvW1nZ8fo0aO1NxTZyb/29vZmw4YNAKxYsYI+ffpgZWUFqHvAW7RowerVqzE0NOTq1aucPn06V+cqCEL6RMqHIAgfTEJCAgkJCRmuEx0dner/7ezs2Lx5M/7+/jRr1kznNu7u7ulur4smYLx37x6enp5pJhcZMWIEP/zwQ6qJU3x9fblz5w4A3377rc79SqVSvv32W27dusW5c+eIj49PNx84PSNGjEhT81ihUBAdHZ0qmP3f//6nzU8G9UQkmh7YH3/8UeekL87OznTt2pWVK1dy6NAhpkyZgoGBgfb98PHx4datW1SrVi3Vdh06dKBjx47am4e80KxZMywtLYmMjOTYsWOp3uPo6GhtMJgy3eP69evafO0uXbro3K+JiQnt27dnwYIFnDhxggkTJmS7bbquCUBMTAxxcXHa/y9SpAh//fWXNmVD43//+x/VqlXD0NAw3bx8d3d3Ll++TExMTJbbtW/fPpRKJe7u7mmuWcr91qhRg8uXL3PixAntREeCIOiXCKgFQfhgdA2myoyZmRnVq1enevXq2tcSExPx8/PDx8eHp0+fanucAZRKZab7bNOmDWvXriU0NJRvvvmGypUrU6dOHerUqUPFihW1PeApaYJpgP79+6c7yEuTx5uYmMjLly9TBftZoWuQoSboLVy4MBUqVKBt27ap3g9Q3xwAFChQgNKlS6e7/zp16rBy5UpiYmLw8vLC3d2d5s2bM3fuXCIjI+nWrRvlypWjXr161K5dm2rVqn2QetFGRkZ89dVXbN++nUOHDqUKqE+cOEFcXBxWVlapAsKU16R169bp7ltzExcQEEBMTIz2BiKrdF0TDTMzM5o2bUrDhg1p1qyZzsDbyclJZ63uV69e4eXlxf379zl58iSgvnnKKk2FF29v7wxz9jU3mc+fP8/yvgVByB4RUAuCkC9cuXKF3bt3c+fOHQICAlIFzil7TrOSJ1qyZEkWL17M5MmTCQkJ4datW9y6dYtFixZhYWHBl19+SefOnaldu7Z2m5SVGzQD7jKTUSCWng0bNqQ7iUhG3rx5A5Cmd/R9KZdrtilQoAB///0348aNw8fHRztIbsWKFZiYmFC7dm3atWtHixYtst2u7Gjfvj3bt2/n5s2bBAQEULhwYeBdukerVq1SBfcpr0lW86Pfvn2b7YA65TVRKpWEhISwd+9eli5dSkxMDBEREdSqVUtnMK0RHx/Pzp07OXnyJE+ePEnz2chJ77/m/JOSkrJ0/jn5PAqCkDUioBYE4ZP3yy+/sGXLFkCdG1u4cGFKlChByZIlqVSpEg4ODuk+8k9Pw4YNOX36NOfPn+f06dNcvXoVf39/oqKiOHz4MIcPH6Zr165MmzYNSB2o379//5Ob5S8rPfOQ+jxSpoVUqlSJI0eOcPXqVU6dOsXly5fx9vYmLi6O06dPc/r0aRo3bsyiRYt09uDrQ5UqVShatCje3t4cOnSIgQMHEhwczLVr1wDSVHDRnLO9vb02zz6vSaVSHB0dGTx4MJUqVWLAgAGcO3eOXr16sXHjxlRl7zSCgoLo06cP3t7egHoymLJly1KsWDFKly5NtWrVOHnyJGvWrMlWWzTn36pVK+bNm5f7kxMEIcdEQC0Iwift6NGj2mC6Z8+eDB06NE3Q4uHhkaN9y+VymjZtStOmTQF1NYYLFy6wceNGPD092bp1K61bt6Z69erY2NhotwsMDKRIkSI5PKO8oSnvl7J6hy4pS+69XxJQJpNpB4eCugf00qVLbNmyhXv37nH69GkOHTqUpmydPrVv35558+Zx5MgRBg4cyOHDh1EqlZQoUSLNdN6aaxIeHp6jfPXcql27NuPHj2fmzJm8ePGC77//nnXr1qVJB5oyZQre3t5YWFjw22+/0aBBgzS92elVN8mIjY0N3t7eqa6pIAgfh6jyIQjCJ+3YsWOAesDX5MmTdfYAPn36VPvvrKR87Nmzhz/++ENb3UJDM2hv8+bN2oBHk5tcoUIF7XoXLlxId9/r1q2jWbNmfPfdd9pa1R+CJth88+YNT548SXc9Tb65iYkJrq6ugDpHef78+do6zxr29va0a9eOTZs2aStr5PTmJavatWuHVCrl8ePH+Pn5aWuF6wriNdckOTk5zbVMadasWbRs2ZKRI0fqvXRcz549tXnd169fZ9myZamWx8TEcP78eQC+++47mjZtqjM1RFNjPTvt05z/gwcP0k1DUqlUfPvtt7Rt2zZN2wRB0B8RUAuC8EnTVD1IL9CIiopi5cqV2v/XDArMyLp161i9enW6j9glEon2cbqmDFnp0qW1AwxXrlypM4AJCwvj77//5uXLl8jl8gwnM9G3OnXqaHuc58+fr/P98vPzY/v27QA0adJEm7ayd+9eli9fzvLly3WWxdP1fmQkZQ9tVlNRNFLWpF6/fj0PHz5EJpPRtm3bNOvWq1dPe4P1119/6awg4+3tzfbt2/H29sbe3l5n9ZPcmjlzpva9X7ZsGQ8fPtQui4uL016L9D7DZ86c4datWwA6339NfvX776WmHndiYiLz58/Xue/9+/dz584dnjx5kumkPIIg5JwIqAVB+KRpphN/+fIlv/32m7ZiQWJiIv/88w+dOnXi5cuX2vXj4+Mz3WePHj0AOH/+PFOmTNE+MlepVDx9+pThw4ejUCgwNzdPVapv4sSJSKVSgoOD6d69O1evXkWlUqFSqbhz5w7fffcdISEhGBkZMXToUH29BVliZGTEqFGjAPUU4sOGDcPHxwdQV444e/YsPXv2JDo6GhsbG8aNG6fdVvN+PH36lB9//DFV/e1Xr14xatQowsLC0kyqkh5LS0vtv3PSo63Jld68eTOgvllwcHBIs56xsbG2Bvnjx4/p3bu3tka3QqHgwoUL9OvXT1sDum/fvtluS1YUKFCA6dOnA+obuvHjx2snGLKzs8PFxQVQ38idO3dOGxi/fv2apUuXMmLECO2+dH1+Ne/n/fv3UwXl5cuX175X27dvZ9KkSQQFBWn3s2XLFqZMmQKov0eiZJ4g5B2RQy0Iwietd+/eHD58GC8vL9auXcvatWuxtLQkOjpaG5g0atSIBw8eEBISgp+fX6b77Ny5M1evXuXw4cNs376d7du3a6er1gRCpqam/PXXX6l6ZGvXrs1vv/3G5MmT8fT0pHfv3tq8XU0gZGhoyNy5c9Pk+34InTp1IiQkhL/++otTp05x6tQpLCwsSEhI0J6Xk5MTCxYsSFXto27dugwYMIBVq1Zx8uRJTp48iZGREVKpVFtn2cDAgBkzZmgni8mImZkZpUqV4unTpyxZsoR169bxzTff8Msvv2TpPFLWpAZ1Hez0dOjQgbCwMObNm8edO3fo2LEjpqamJCUlaXt7zczMWL58uXbSl7zQtGlT2rRpw4EDB3j+/DkLFizQ3rRMnjyZYcOGERkZycCBAzE0NEQul2ufvhgZGdGuXTv27dtHVFQUb9++TfW5q1q1KqdPn2bv3r0cP36cGjVqaJ/KTJs2jdjYWI4fP86uXbvYtWtXmu9H8eLFWbZsWZ4NJhUEQfRQC4LwibOwsGD79u3069cPNzc35HI5cXFxODo60qRJE5YsWcLy5cupV68eAMePH890nxKJhHnz5jF//nwaNGiAvb09SUlJGBgYULJkSb777juOHTum3WdKbdu25ejRo/Tq1Us7U6JCocDFxYXOnTuzf//+dCeg+RCGDBnCnj17aN++PU5OTiQkJGBqakrlypWZMGECBw4c0BnsjxkzhtWrV9OiRQsKFSqkDcbc3Nzo2rUrBw4cyDCwfd9ff/1FvXr1MDMzQ6lU6pz9MD2amtSg7p3NrGd1wIAB7Nu3j86dO1OkSBGUSiUSiYRixYppb8g0Tzry0uTJk7U96WvXrtWmcTRs2JCtW7fSrFkzbG1tUSqVqFQq3N3d6dmzJwcOHGD69Onam7MTJ06k2u/06dNp0aIFlpaWKBSKVOXvjI2NWbhwIcuXL6dZs2Y4ODgQFxeHsbExFStWZOzYsezevVvn2ANBEPRHotL3CA1BEARBEARB+IyIHmpBEARBEARByAURUAuCIAiCIAhCLoiAWhAEQRAEQRByQQTUgiAIgiAIgpALIqAWBEEQBEEQhFwQAbUgCIIgCIIg5IIIqAVBEARBEAQhF0RALQiCIAiCIAi5IAJqQRAEQRAEQcgFEVALgiAIgiAIQi6IgFoQBEEQBEEQckEE1IIgCIIgCIKQCyKgFgRBEARBEIRcEAG1IAiCIAiCIOTC/wFb8VMSXySnkQAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 800x400 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    " #Get the predicted probabilities for each classifier on the test data\n",
    "pipeline1_probs = pipeline1.predict_proba(X_test1)\n",
    "ensemble_model_s_probs = ensemble_model_s.predict_proba(X_test1)\n",
    "#ensemble_model_h_probs = ensemble_model_h.predict_proba(X_test1)\n",
    "\n",
    "\n",
    "# Get the true positive rate and false positive rate for each classifier at different probability thresholds\n",
    "pipeline1_fpr, pipeline1_tpr, _ = roc_curve(y_test1, pipeline1_probs[:, 1])\n",
    "ensemble_model_s_fpr, ensemble_model_s_tpr, _ = roc_curve(y_test1, ensemble_model_s_probs[:, 1])\n",
    "#ensemble_model_h_fpr, ensemble_model_h_tpr, _ = roc_curve(y_test1, ensemble_model_h_probs[:, 1])\n",
    "\n",
    "\n",
    "# Calculate the area under the ROC curve for each classifier\n",
    "pipeline1_auc = roc_auc_score(y_test1, pipeline1_probs[:, 1])\n",
    "ensemble_model_s_auc = roc_auc_score(y_test1, ensemble_model_s_probs[:, 1])\n",
    "#ensemble_model_h_auc = roc_auc_score(y_test1, ensemble_model_h_probs[:, 1])\n",
    "\n",
    "\n",
    "\n",
    "# Plot the ROC curves\n",
    "plt.figure(figsize=(8, 4))\n",
    "plt.plot(pipeline1_fpr, pipeline1_tpr, label=f'Ensemble Stacking (AUC = {pipeline1_auc:.2f})')\n",
    "plt.plot(ensemble_model_s_fpr, ensemble_model_s_tpr, label=f'Ensemble Voting Classifier (AUC = {ensemble_model_s_auc:.2f})')\n",
    "#plt.plot(ensemble_model_h_fpr, ensemble_model_h_tpr, label=f'H (AUC = {ensemble_model_h_auc:.2f})')\n",
    "\n",
    "plt.plot([0, 1], [0, 1], linestyle='--', label='Random Guessing')\n",
    "plt.xlabel('False Positive Rate')\n",
    "plt.ylabel('True Positive Rate')\n",
    "plt.title('ROC Curves using ADASYN Oversampling Technique')\n",
    "plt.legend()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "id": "38deb45e",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Stacked ensemble accuracy (train): 0.9527720739219713\n",
      "Stacked ensemble accuracy (test): 0.9633812457221081\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAApgAAAGICAYAAADlD5DPAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAA9hAAAPYQGoP6dpAACqiElEQVR4nOzdd1yVdf/H8dfZh8Ne4gAVUVxZNiw1KzPLPUrL1OrOshz9KrO9brPU1l1a2c605V5pWWZppmXm1lwoCgIKstcBzrp+fxzPkSMbAUE/z8fDgGt+rwPB+3ynSlEUBSGEEEIIIWqI+kIXQAghhBBCXFwkYAohhBBCiBolAVMIIYQQQtQoCZhCCCGEEKJGScAUQgghhBA1SgKmEEIIIYSoURIwhRBCCCFEjZKAKYQQQgghapQETCGEEEIIUaMkYAohhBBCiBqlvdAFEOcvJ6cAu91xoYshhBBCiIucRqPGz8+rwuMkYF4E7HYHNpsETCGEEELUD9JELoQQQgghapQETCGEEEIIUaMkYAohhBBCiBolAVMIIYQQQtQoCZhCCCGEEKJGScAUQgghhBA1SgKmEEIIIYSoURIwhRBCCCFEjZKAKYQQQgghapQETCGEEEIIUaMkYAohhBBCiBolAVMIIYQQQtQoCZhCCCGEEKJGScAUQgghhBA1SgKmEEIIIYSoURIwhRBCCCFEjZKAKYQQQgghapQETCGEEEIIUaMkYAohhBBCiBolAVMIIYQQQtQoCZhCCCGEEKJGScAUQgghhBA1SgKmEEIIIYSoURIwhRBCCCFEjZKAKYQQQgghapQETCGEEEIIUaMkYAohhBBCiBolAVMIIYQQQtQoCZhCCCGEEKJGScAUQgghhBA1SgKmEEIIIYSoURIwhRBCCCFEjWrQAfPNN9+kbdu27Nu3r1rn//XXX4wZM4arr76aK664gkGDBvHFF19gtVrLPMdisfDpp5/Sv39/OnXqxHXXXcdDDz3Eli1byr1XXFwcTz31FNdffz2XXXYZvXr1Ytq0aaSnp1er7EIIIYQQ9ZVKURTlQheiOjZs2MAjjzyC3W5n6dKldOrUqUrnr1y5kmeffRaAZs2a4evrS0xMDA6Hg6uvvpp58+ah1+s9zrHZbIwbN47Nmzej1WqJjo4mMzOTU6dOoVKpeOmll7jnnntK3Ovw4cOMHj2a3NxcAgMDadq0KcePH8dsNhMaGsqCBQuIiIio9muRmZmPzeao9vlCCCGEEJWh1aoJDPSu8LgGWYP5yy+/8Pjjj2O326t1/tGjR3nppZfQaDS88847rF+/nu+//54ffviBiIgIduzYwaxZs0qc98EHH7B582Zat27N2rVrWbFiBRs2bODVV18FYMaMGRw6dMjjHKvVysSJE8nNzeW+++5j8+bNLF++nI0bN3LTTTeRmprKE088Ua3nEEIIIYSojxpUwMzLy2PGjBk8+uijFBUVVfs6n3/+OVarlZEjRzJw4ED39qioKN59910AvvvuO7Kzs937cnNz+fbbbwF44403CA8PB0ClUjFixAhGjRqF3W7ns88+87jXqlWrSExMJDo6mhdeeAGtVguAn58fs2bNIiQkhH379rFp06ZqP48QQgghRH3SYALmoUOH6NOnD1999RUGg4Hp06dX6zpFRUX89NNPAAwbNqzE/ssvv5yOHTtSWFjIhg0b3NvXrVtHXl4ebdu2LbU5fsSIEQCsX7+ewsJC9/aVK1e676VSqTzOMZlMDBo0CIA1a9ZU63mEEEIIIeob7YUuQGUlJiaSlpZG9+7defnll2nVqhUvvvhila9z4MABioqK8PLyol27dqUec+WVV7J//362bdvG0KFDAdi9e7d7X2mio6Px9vYmPz+ff//9l2uuuQaHw8HevXvLPe/KK69k7ty5bN++vcrPIkRpjh1TMX++joQENRERDkaNstKqVYPsau3hYn0ukGdrqOTZGp6L9bmg/j1bgwmYzZs356uvvqJr167ndZ34+HgAwsPDUatLr8Bt2rQpACdOnChxXvPmzUs9R6VS0bRpU44cOcKJEye45pprSElJcddmljWIx3WvpKQkbDabuwldiOpYsEDLE08YUalAUUClgtmz9cyaVcjdd9sudPGq7WJ9LpBna6jk2Rqei/W5oH4+W4NpIo+Ojj7vcAmQkZEBQGBgYJnHBAQEAJCZmXle5xWfgqis81zn2O12cnJyyi+8EOU4dkzFE08YcThU2O2qYh9h0iQjx46pKr5IPXSxPhfIszVU8mwNz8X6XFB/n+2Sqy4rKCgAKDEFUXFGoxHAoy+l6zyDwVDmea59rvNcH/V6fYn+l+feCzivgUvi0mSzQWqqilOnVLz/vp7SJx1ToSgKI0d60aaNA0XhzD+V+3PHmVmuin999rjS/qlK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\n",
      "text/plain": [
       "<Figure size 700x400 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "from sklearn.datasets import load_iris\n",
    "from sklearn.model_selection import train_test_split, learning_curve, cross_val_predict\n",
    "from sklearn.tree import DecisionTreeClassifier, ExtraTreeClassifier\n",
    "from sklearn.ensemble import RandomForestClassifier, StackingClassifier\n",
    "from sklearn.pipeline import make_pipeline\n",
    "from sklearn.preprocessing import StandardScaler\n",
    "from sklearn.metrics import accuracy_score\n",
    "\n",
    "\n",
    "# Split the data into training and testing sets\n",
    "\n",
    "# Define base classifiers\n",
    "dt = DecisionTreeClassifier(random_state=42)\n",
    "et = ExtraTreeClassifier(random_state=42)\n",
    "rf = RandomForestClassifier(n_estimators=100, random_state=42)\n",
    "\n",
    "# Define the stacking ensemble\n",
    "estimators = [('dt', dt), ('et', et), ('rf', rf)]\n",
    "stacked = StackingClassifier(estimators=estimators, final_estimator=RandomForestClassifier(random_state=42))\n",
    "\n",
    "# Define the pipeline for preprocessing and classification\n",
    "pipeline = make_pipeline(StandardScaler(), stacked)\n",
    "\n",
    "# Use cross-validation to fit the stacking ensemble\n",
    "stacked_preds = cross_val_predict(pipeline, X_train1, y_train1, cv=5)\n",
    "\n",
    "# Evaluate the ensemble on the test set\n",
    "pipeline.fit(X_train1, y_train1)\n",
    "stacked_test_preds = pipeline.predict(X_test1)\n",
    "\n",
    "# Print the training and testing accuracy\n",
    "train_accuracy = accuracy_score(y_train1, stacked_preds)\n",
    "test_accuracy = accuracy_score(y_test1, stacked_test_preds)\n",
    "print(\"Stacked ensemble accuracy (train):\", train_accuracy)\n",
    "print(\"Stacked ensemble accuracy (test):\", test_accuracy)\n",
    "\n",
    "# Plot the learning curves\n",
    "train_sizes, train_scores, test_scores = learning_curve(pipeline, X_train1, y_train1, cv=5, train_sizes=np.linspace(0.1, 1.0, 10), scoring='accuracy')\n",
    "train_mean = np.mean(train_scores, axis=1)\n",
    "train_std = np.std(train_scores, axis=1)\n",
    "test_mean = np.mean(test_scores, axis=1)\n",
    "test_std = np.std(test_scores, axis=1)\n",
    "plt.figure(figsize=(7, 4))\n",
    "plt.plot(train_sizes, train_mean, color='blue', marker='o', markersize=5, label='Training accuracy')\n",
    "plt.fill_between(train_sizes, train_mean + train_std, train_mean - train_std, alpha=0.15, color='blue')\n",
    "plt.plot(train_sizes, test_mean, color='green', linestyle='--', marker='s', markersize=5, label='Testing accuracy')\n",
    "plt.fill_between(train_sizes, test_mean + test_std, test_mean - test_std, alpha=0.15, color='green')\n",
    "plt.grid()\n",
    "plt.xlabel(' Training samples')\n",
    "plt.ylabel('Accuracy')\n",
    "plt.legend(loc='lower right')\n",
    "plt.ylim([0.88, 1.02])\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "f8dae853",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "d0fa6bbf",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "b47983f7",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "dd52e02a",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "5de3ceed",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "1b6959ff",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "250a039d",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "ec7c0a0c",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "ded41ad3",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "02a6ba74",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "6344a395",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "b73f841f",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "890ace16",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "5edfdee7",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "90615725",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "59a5dddc",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "1666e7ac",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "94ebb3f5",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "a5ed041c",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "5bc6e520",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "bb185b13",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "b259224f",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "29d6e14a",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "cfa9470f",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "4da5a8cf",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "df064c31",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "c71ebe64",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "87a0dc7d",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "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.9.13"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
